KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > outerj > daisy > frontend > util > ByteArrayXMLizable


1 /*
2  * Copyright 2004 Outerthought bvba and Schaubroeck nv
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.outerj.daisy.frontend.util;
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.ByteArrayInputStream JavaDoc;
27 import java.io.IOException JavaDoc;
28
29 public class ByteArrayXMLizable implements XMLizable {
30     private byte[] data;
31
32     public ByteArrayXMLizable(byte[] data) {
33         this.data = data;
34     }
35
36     public void toSAX(ContentHandler JavaDoc contentHandler) throws SAXException JavaDoc {
37         SAXParserFactory JavaDoc parserFactory = SAXParserFactory.newInstance();
38         parserFactory.setNamespaceAware(true);
39         SAXParser JavaDoc parser = null;
40         try {
41             parser = parserFactory.newSAXParser();
42         } catch (ParserConfigurationException JavaDoc e) {
43             throw new SAXException JavaDoc("Error creating SAX parser.", e);
44         }
45         parser.getXMLReader().setContentHandler(contentHandler);
46         InputSource JavaDoc is = new InputSource JavaDoc(new ByteArrayInputStream JavaDoc(data));
47         try {
48             parser.getXMLReader().parse(is);
49         } catch (IOException JavaDoc e) {
50             throw new SAXException JavaDoc(e);
51         }
52     }
53 }
54
Popular Tags