01: /*--
02:
03: Copyright (C) 2000 Brett McLaughlin & Jason Hunter.
04: All rights reserved.
05:
06: Redistribution and use in source and binary forms, with or without
07: modification, are permitted provided that the following conditions
08: are met:
09:
10: 1. Redistributions of source code must retain the above copyright
11: notice, this list of conditions, and the following disclaimer.
12:
13: 2. Redistributions in binary form must reproduce the above copyright
14: notice, this list of conditions, and the disclaimer that follows
15: these conditions in the documentation and/or other materials
16: provided with the distribution.
17:
18: 3. The name "JDOM" must not be used to endorse or promote products
19: derived from this software without prior written permission. For
20: written permission, please contact license@jdom.org.
21:
22: 4. Products derived from this software may not be called "JDOM", nor
23: may "JDOM" appear in their name, without prior written permission
24: from the JDOM Project Management (pm@jdom.org).
25:
26: In addition, we request (but do not require) that you include in the
27: end-user documentation provided with the redistribution and/or in the
28: software itself an acknowledgement equivalent to the following:
29: "This product includes software developed by the
30: JDOM Project (http://www.jdom.org/)."
31: Alternatively, the acknowledgment may be graphical using the logos
32: available at http://www.jdom.org/images/logos.
33:
34: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
35: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
36: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37: DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
38: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
39: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
40: LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
41: USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
42: ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
43: OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
44: OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
45: SUCH DAMAGE.
46:
47: This software consists of voluntary contributions made by many
48: individuals on behalf of the JDOM Project and was originally
49: created by Brett McLaughlin <brett@jdom.org> and
50: Jason Hunter <jhunter@jdom.org>. For more information on the
51: JDOM Project, please see <http://www.jdom.org/>.
52:
53: */
54: package sax;
55:
56: import java.io.IOException;
57:
58: import org.xml.sax.InputSource;
59: import org.xml.sax.SAXException;
60:
61: import org.jdom.Document;
62: import org.jdom.JDOMException;
63: import org.jdom.output.SAXOutputter;
64:
65: /**
66: * An XMLReader wrapper for JDOM documents.
67: */
68: public class DocumentReader extends XMLReaderBase {
69:
70: private final Document doc;
71:
72: /** Creates new DocumentReader */
73: public DocumentReader(Document doc) {
74: this .doc = doc;
75: }
76:
77: public void parse(InputSource input) throws SAXException,
78: IOException {
79: SAXOutputter outputter = new SAXOutputter(this , this , this ,
80: this , this );
81: try {
82: outputter.output(doc);
83: } catch (JDOMException ex) {
84: throw new SAXException(ex);
85: }
86: }
87: }
|