KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > cocoon > xml > StringXMLizable


1 /*
2  * Copyright 2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.cocoon.xml;
17
18 import org.apache.excalibur.xml.sax.XMLizable;
19 import org.xml.sax.ContentHandler JavaDoc;
20 import org.xml.sax.SAXException JavaDoc;
21 import org.xml.sax.InputSource JavaDoc;
22
23 import javax.xml.parsers.SAXParserFactory JavaDoc;
24 import javax.xml.parsers.SAXParser JavaDoc;
25 import javax.xml.parsers.ParserConfigurationException JavaDoc;
26 import java.io.IOException JavaDoc;
27 import java.io.StringReader JavaDoc;
28
29 /**
30  * XMLizable a String
31  *
32  * @since 2.1.7
33  * @author Bruno Dumon
34  */

35 public class StringXMLizable implements XMLizable {
36     private String JavaDoc data;
37
38     public StringXMLizable(String JavaDoc data) {
39         this.data = data;
40     }
41
42     public void toSAX(ContentHandler JavaDoc contentHandler) throws SAXException JavaDoc {
43         SAXParserFactory JavaDoc parserFactory = SAXParserFactory.newInstance();
44         parserFactory.setNamespaceAware(true);
45         SAXParser JavaDoc parser = null;
46         try {
47             parser = parserFactory.newSAXParser();
48         } catch (ParserConfigurationException JavaDoc e) {
49             throw new SAXException JavaDoc("Error creating SAX parser.", e);
50         }
51         parser.getXMLReader().setContentHandler(contentHandler);
52         InputSource JavaDoc is = new InputSource JavaDoc(new StringReader JavaDoc(data));
53         try {
54             parser.getXMLReader().parse(is);
55         } catch (IOException JavaDoc e) {
56             throw new SAXException JavaDoc(e);
57         }
58     }
59 }
60
Popular Tags