KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > xquery > xdbc > XMLDocumentImpl


1 /*
2  * This file belongs to the XQuark distribution.
3  * Copyright (C) 2003 Universite de Versailles Saint-Quentin.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.
18  * You can also get it at http://www.gnu.org/licenses/lgpl.html
19  *
20  * For more information on this software, see http://www.xquark.org.
21  */

22
23 /*
24  * XMLDocumentImpl.java
25  *
26  * Created on 12 juin 2002, 14:46
27  */

28
29 package org.xquark.xquery.xdbc;
30
31 import org.xml.sax.SAXException JavaDoc;
32 import org.xml.sax.helpers.AttributesImpl JavaDoc;
33 import org.xquark.xml.xdbc.XMLDBCException;
34 import org.xquark.xml.xdbc.XMLResultSet;
35
36 public class XMLDocumentImpl extends AbstractXMLDocument
37 {
38     private static final String JavaDoc RCSRevision = "$Revision: 1.1 $";
39     private static final String JavaDoc RCSName = "$Name: $";
40     
41     private XMLResultSet xmlResultSet = null;
42     private String JavaDoc namespace = null;
43     private String JavaDoc localName = null;
44     private String JavaDoc qName = null;
45     
46     /** Creates a new instance of XMLDocumentImpl */
47     public XMLDocumentImpl(XMLResultSet xmlResultSet, String JavaDoc namespace, String JavaDoc localName, String JavaDoc qName)
48     {
49         super(true);
50         this.xmlResultSet = xmlResultSet;
51         this.namespace = namespace;
52         this.localName = localName;
53         this.qName = qName;
54     }
55     
56     /**
57      * Returns the document content as a SAX2 event flow.
58      * This method uses the various SAX2 handlers set by the setXXXHandler() methods.
59      * <P>*** ONLY FOR SAX2 ***</P>
60      * @throws XMLDBCException if a data source access error occurs
61      * or if the user has not set a content handler.
62      * @throws org.xml.sax.SAXException if a handler exception occurs.
63      */

64     public void getAsSAX() throws XMLDBCException, SAXException JavaDoc
65     {
66         if (contentHandler != null)
67             xmlResultSet.setContentHandler(contentHandler);
68         if (errorHandler != null)
69             xmlResultSet.setErrorHandler(errorHandler);
70         if (lexicalHandler != null)
71          xmlResultSet.setLexicalHandler(lexicalHandler);
72         contentHandler.startDocument();
73         contentHandler.startElement(namespace, localName, qName, new AttributesImpl JavaDoc());
74         while (xmlResultSet.hasNext())
75             xmlResultSet.nextAsSAX();
76         contentHandler.endElement(namespace, localName, qName);
77         contentHandler.endDocument();
78     }
79     
80 }
81
Popular Tags