diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-02 00:42:32 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-02 00:42:32 +0000 |
commit | 795e6e36d7ac5de19f2eddace76e1036519860e5 (patch) | |
tree | d6f5216c5e8b86e821ab50a8cb46c7eec16e0a52 /libjava/org/xml/sax/helpers/ParserAdapter.java | |
parent | deac3726d786d71a31243f1348e467cb0251a522 (diff) | |
download | ppe42-gcc-795e6e36d7ac5de19f2eddace76e1036519860e5.tar.gz ppe42-gcc-795e6e36d7ac5de19f2eddace76e1036519860e5.zip |
* external/w3c_dom/Makefile.am: New file.
* external/w3c_dom/Makefile.in: New file.
* external/sax/Makefile.am: New file.
* external/sax/Makefile.in: New file.
* external/Makefile.in: New file.
* external/Makefile.am: New file.
* external/README: New file from Classpath.
* configure, aclocal.m4, Makefile.in: Rebuilt.
* configure.ac (AC_CONFIG_FILES): Create new Makefiles.
* Makefile.am (SUBDIRS): Added external.
(toolexeclib_LTLIBRARIES): Removed lib-org-xml-sax.la,
lib-org-w3c-dom.la, lib-org-ietf-gss.la.
(BOOTCLASSPATH): New variable.
(AM_GCJFLAGS): Use it.
(gnu_xml_source_files): New variable.
(libgcj_la_SOURCES): Use it.
(libgcj_la_LDADD): Include new convenience libraries.
(lib_org_ietf_jgss_la_SOURCES): Removed.
(lib_org_ietf_jgss_la_DEPENDENCIES): Likewise.
(lib_org_ietf_jgss_la_LIBADD): Likewise.
(lib_org_w3c_dom_la_SOURCES): Removed.
(lib_org_w3c_dom_la_DEPENDENCIES): Likewise.
(lib_org_w3c_dom_la_LIBADD): Likewise.
(lib_org_xml_sax_la_SOURCES): Removed.
(lib_org_xml_sax_la_DEPENDENCIES): Likewise.
(lib_org_xml_sax_la_LIBADD): Likewise.
(all_java_source_files): Updated.
(property_files): Likewise.
(libgcj-@gcc_version@.jar): Include classes from external/.
(javax_source_files): Updated.
(ordinary_java_source_files): Updated.
* javax/xml/XMLConstants.java,
javax/xml/datatype/DatatypeConfigurationException.java,
javax/xml/datatype/DatatypeConstants.java,
javax/xml/datatype/DatatypeFactory.java,
javax/xml/datatype/Duration.java,
javax/xml/datatype/XMLGregorianCalendar.java,
javax/xml/datatype/package.html,
javax/xml/namespace/NamespaceContext.java,
javax/xml/namespace/QName.java, javax/xml/namespace/package.html,
javax/xml/parsers/DocumentBuilder.java,
javax/xml/parsers/DocumentBuilderFactory.java,
javax/xml/parsers/FactoryConfigurationError.java,
javax/xml/parsers/ParserConfigurationException.java,
javax/xml/parsers/SAXParser.java,
javax/xml/parsers/SAXParserFactory.java,
javax/xml/parsers/package.html,
javax/xml/transform/ErrorListener.java,
javax/xml/transform/OutputKeys.java,
javax/xml/transform/Result.java, javax/xml/transform/Source.java,
javax/xml/transform/SourceLocator.java,
javax/xml/transform/Templates.java,
javax/xml/transform/Transformer.java,
javax/xml/transform/TransformerConfigurationException.java,
javax/xml/transform/TransformerException.java,
javax/xml/transform/TransformerFactory.java,
javax/xml/transform/TransformerFactoryConfigurationError.java,
javax/xml/transform/URIResolver.java,
javax/xml/transform/package.html,
javax/xml/transform/dom/DOMLocator.java,
javax/xml/transform/dom/DOMResult.java,
javax/xml/transform/dom/DOMSource.java,
javax/xml/transform/dom/package.html,
javax/xml/transform/sax/SAXResult.java,
javax/xml/transform/sax/SAXSource.java,
javax/xml/transform/sax/SAXTransformerFactory.java,
javax/xml/transform/sax/TemplatesHandler.java,
javax/xml/transform/sax/TransformerHandler.java,
javax/xml/transform/sax/package.html,
javax/xml/transform/stream/StreamResult.java,
javax/xml/transform/stream/StreamSource.java,
javax/xml/transform/stream/package.html,
javax/xml/validation/Schema.java,
javax/xml/validation/SchemaFactory.java,
javax/xml/validation/TypeInfoProvider.java,
javax/xml/validation/Validator.java,
javax/xml/validation/ValidatorHandler.java,
javax/xml/validation/package.html, javax/xml/xpath/XPath.java,
javax/xml/xpath/XPathConstants.java,
javax/xml/xpath/XPathException.java,
javax/xml/xpath/XPathExpression.java,
javax/xml/xpath/XPathExpressionException.java,
javax/xml/xpath/XPathFactory.java,
javax/xml/xpath/XPathFactoryConfigurationException.java,
javax/xml/xpath/XPathFunction.java,
javax/xml/xpath/XPathFunctionException.java,
javax/xml/xpath/XPathFunctionResolver.java,
javax/xml/xpath/XPathVariableResolver.java,
javax/xml/xpath/package.html: New files, from GNU JAXP.
* org/w3c/dom/Attr.java, org/w3c/dom/CDATASection.java,
org/w3c/dom/CharacterData.java, org/w3c/dom/Comment.java,
org/w3c/dom/DOMException.java, org/w3c/dom/DOMImplementation.java,
org/w3c/dom/Document.java, org/w3c/dom/DocumentFragment.java,
org/w3c/dom/DocumentType.java, org/w3c/dom/Element.java,
org/w3c/dom/Entity.java, org/w3c/dom/EntityReference.java,
org/w3c/dom/NamedNodeMap.java, org/w3c/dom/Node.java,
org/w3c/dom/NodeList.java, org/w3c/dom/Notation.java,
org/w3c/dom/ProcessingInstruction.java, org/w3c/dom/Text.java,
org/w3c/dom/ranges/DocumentRange.java,
org/w3c/dom/ranges/Range.java,
org/w3c/dom/ranges/RangeException.java,
org/w3c/dom/traversal/DocumentTraversal.java,
org/w3c/dom/traversal/NodeFilter.java,
org/w3c/dom/traversal/NodeIterator.java,
org/w3c/dom/traversal/TreeWalker.java,
org/xml/sax/AttributeList.java, org/xml/sax/Attributes.java,
org/xml/sax/ContentHandler.java, org/xml/sax/DTDHandler.java,
org/xml/sax/DocumentHandler.java, org/xml/sax/EntityResolver.java,
org/xml/sax/ErrorHandler.java, org/xml/sax/HandlerBase.java,
org/xml/sax/InputSource.java, org/xml/sax/Locator.java,
org/xml/sax/Parser.java, org/xml/sax/SAXException.java,
org/xml/sax/SAXNotRecognizedException.java,
org/xml/sax/SAXNotSupportedException.java,
org/xml/sax/SAXParseException.java, org/xml/sax/XMLFilter.java,
org/xml/sax/XMLReader.java, org/xml/sax/package.html,
org/xml/sax/ext/DeclHandler.java,
org/xml/sax/ext/LexicalHandler.java, org/xml/sax/ext/package.html,
org/xml/sax/helpers/AttributeListImpl.java,
org/xml/sax/helpers/AttributesImpl.java,
org/xml/sax/helpers/DefaultHandler.java,
org/xml/sax/helpers/LocatorImpl.java,
org/xml/sax/helpers/NamespaceSupport.java,
org/xml/sax/helpers/NewInstance.java,
org/xml/sax/helpers/ParserAdapter.java,
org/xml/sax/helpers/ParserFactory.java,
org/xml/sax/helpers/XMLFilterImpl.java,
org/xml/sax/helpers/XMLReaderAdapter.java,
org/xml/sax/helpers/XMLReaderFactory.java,
org/xml/sax/helpers/package.html: Moved to external/.
* external/sax/README,
external/sax/org/xml/sax/AttributeList.java,
external/sax/org/xml/sax/Attributes.java,
external/sax/org/xml/sax/ContentHandler.java,
external/sax/org/xml/sax/DTDHandler.java,
external/sax/org/xml/sax/DocumentHandler.java,
external/sax/org/xml/sax/EntityResolver.java,
external/sax/org/xml/sax/ErrorHandler.java,
external/sax/org/xml/sax/HandlerBase.java,
external/sax/org/xml/sax/InputSource.java,
external/sax/org/xml/sax/Locator.java,
external/sax/org/xml/sax/Parser.java,
external/sax/org/xml/sax/SAXException.java,
external/sax/org/xml/sax/SAXNotRecognizedException.java,
external/sax/org/xml/sax/SAXNotSupportedException.java,
external/sax/org/xml/sax/SAXParseException.java,
external/sax/org/xml/sax/XMLFilter.java,
external/sax/org/xml/sax/XMLReader.java,
external/sax/org/xml/sax/package.html,
external/sax/org/xml/sax/ext/Attributes2.java,
external/sax/org/xml/sax/ext/Attributes2Impl.java,
external/sax/org/xml/sax/ext/DeclHandler.java,
external/sax/org/xml/sax/ext/DefaultHandler2.java,
external/sax/org/xml/sax/ext/EntityResolver2.java,
external/sax/org/xml/sax/ext/LexicalHandler.java,
external/sax/org/xml/sax/ext/Locator2.java,
external/sax/org/xml/sax/ext/Locator2Impl.java,
external/sax/org/xml/sax/ext/package.html,
external/sax/org/xml/sax/helpers/AttributeListImpl.java,
external/sax/org/xml/sax/helpers/AttributesImpl.java,
external/sax/org/xml/sax/helpers/DefaultHandler.java,
external/sax/org/xml/sax/helpers/LocatorImpl.java,
external/sax/org/xml/sax/helpers/NamespaceSupport.java,
external/sax/org/xml/sax/helpers/NewInstance.java,
external/sax/org/xml/sax/helpers/ParserAdapter.java,
external/sax/org/xml/sax/helpers/ParserFactory.java,
external/sax/org/xml/sax/helpers/XMLFilterImpl.java,
external/sax/org/xml/sax/helpers/XMLReaderAdapter.java,
external/sax/org/xml/sax/helpers/XMLReaderFactory.java,
external/sax/org/xml/sax/helpers/package.html,
external/w3c_dom/COPYRIGHT.html, external/w3c_dom/README,
external/w3c_dom/org/w3c/dom/Attr.java,
external/w3c_dom/org/w3c/dom/CDATASection.java,
external/w3c_dom/org/w3c/dom/CharacterData.java,
external/w3c_dom/org/w3c/dom/Comment.java,
external/w3c_dom/org/w3c/dom/DOMConfiguration.java,
external/w3c_dom/org/w3c/dom/DOMError.java,
external/w3c_dom/org/w3c/dom/DOMErrorHandler.java,
external/w3c_dom/org/w3c/dom/DOMException.java,
external/w3c_dom/org/w3c/dom/DOMImplementation.java,
external/w3c_dom/org/w3c/dom/DOMImplementationList.java,
external/w3c_dom/org/w3c/dom/DOMImplementationSource.java,
external/w3c_dom/org/w3c/dom/DOMLocator.java,
external/w3c_dom/org/w3c/dom/DOMStringList.java,
external/w3c_dom/org/w3c/dom/Document.java,
external/w3c_dom/org/w3c/dom/DocumentFragment.java,
external/w3c_dom/org/w3c/dom/DocumentType.java,
external/w3c_dom/org/w3c/dom/Element.java,
external/w3c_dom/org/w3c/dom/Entity.java,
external/w3c_dom/org/w3c/dom/EntityReference.java,
external/w3c_dom/org/w3c/dom/NameList.java,
external/w3c_dom/org/w3c/dom/NamedNodeMap.java,
external/w3c_dom/org/w3c/dom/Node.java,
external/w3c_dom/org/w3c/dom/NodeList.java,
external/w3c_dom/org/w3c/dom/Notation.java,
external/w3c_dom/org/w3c/dom/ProcessingInstruction.java,
external/w3c_dom/org/w3c/dom/Text.java,
external/w3c_dom/org/w3c/dom/TypeInfo.java,
external/w3c_dom/org/w3c/dom/UserDataHandler.java,
external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java,
external/w3c_dom/org/w3c/dom/css/CSS2Properties.java,
external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java,
external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java,
external/w3c_dom/org/w3c/dom/css/CSSImportRule.java,
external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java,
external/w3c_dom/org/w3c/dom/css/CSSPageRule.java,
external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java,
external/w3c_dom/org/w3c/dom/css/CSSRule.java,
external/w3c_dom/org/w3c/dom/css/CSSRuleList.java,
external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java,
external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java,
external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java,
external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java,
external/w3c_dom/org/w3c/dom/css/CSSValue.java,
external/w3c_dom/org/w3c/dom/css/CSSValueList.java,
external/w3c_dom/org/w3c/dom/css/Counter.java,
external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java,
external/w3c_dom/org/w3c/dom/css/DocumentCSS.java,
external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java,
external/w3c_dom/org/w3c/dom/css/RGBColor.java,
external/w3c_dom/org/w3c/dom/css/Rect.java,
external/w3c_dom/org/w3c/dom/css/ViewCSS.java,
external/w3c_dom/org/w3c/dom/events/DocumentEvent.java,
external/w3c_dom/org/w3c/dom/events/Event.java,
external/w3c_dom/org/w3c/dom/events/EventException.java,
external/w3c_dom/org/w3c/dom/events/EventListener.java,
external/w3c_dom/org/w3c/dom/events/EventTarget.java,
external/w3c_dom/org/w3c/dom/events/MouseEvent.java,
external/w3c_dom/org/w3c/dom/events/MutationEvent.java,
external/w3c_dom/org/w3c/dom/events/UIEvent.java,
external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java,
external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java,
external/w3c_dom/org/w3c/dom/html2/HTMLElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java,
external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java,
external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java,
external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java,
external/w3c_dom/org/w3c/dom/ls/LSException.java,
external/w3c_dom/org/w3c/dom/ls/LSInput.java,
external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java,
external/w3c_dom/org/w3c/dom/ls/LSOutput.java,
external/w3c_dom/org/w3c/dom/ls/LSParser.java,
external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java,
external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java,
external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java,
external/w3c_dom/org/w3c/dom/ls/LSSerializer.java,
external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java,
external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java,
external/w3c_dom/org/w3c/dom/ranges/Range.java,
external/w3c_dom/org/w3c/dom/ranges/RangeException.java,
external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java,
external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java,
external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java,
external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java,
external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java,
external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java,
external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java,
external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java,
external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java,
external/w3c_dom/org/w3c/dom/views/AbstractView.java,
external/w3c_dom/org/w3c/dom/views/DocumentView.java,
external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java,
external/w3c_dom/org/w3c/dom/xpath/XPathException.java,
external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java,
external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java,
external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java,
external/w3c_dom/org/w3c/dom/xpath/XPathResult.java: New files
from Classpath.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94577 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/org/xml/sax/helpers/ParserAdapter.java')
-rw-r--r-- | libjava/org/xml/sax/helpers/ParserAdapter.java | 1026 |
1 files changed, 0 insertions, 1026 deletions
diff --git a/libjava/org/xml/sax/helpers/ParserAdapter.java b/libjava/org/xml/sax/helpers/ParserAdapter.java deleted file mode 100644 index ca66a9e2dc7..00000000000 --- a/libjava/org/xml/sax/helpers/ParserAdapter.java +++ /dev/null @@ -1,1026 +0,0 @@ -// ParserAdapter.java - adapt a SAX1 Parser to a SAX2 XMLReader. -// http://www.saxproject.org -// Written by David Megginson -// NO WARRANTY! This class is in the public domain. - -// $Id: ParserAdapter.java,v 1.8.2.4 2002/01/29 21:34:14 dbrownell Exp $ - -package org.xml.sax.helpers; - -import java.io.IOException; -import java.util.Enumeration; -import java.util.Vector; - -import org.xml.sax.Parser; // deprecated -import org.xml.sax.InputSource; -import org.xml.sax.Locator; -import org.xml.sax.AttributeList; // deprecated -import org.xml.sax.EntityResolver; -import org.xml.sax.DTDHandler; -import org.xml.sax.DocumentHandler; // deprecated -import org.xml.sax.ErrorHandler; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -import org.xml.sax.XMLReader; -import org.xml.sax.Attributes; -import org.xml.sax.ContentHandler; -import org.xml.sax.SAXNotRecognizedException; -import org.xml.sax.SAXNotSupportedException; - - -/** - * Adapt a SAX1 Parser as a SAX2 XMLReader. - * - * <blockquote> - * <em>This module, both source code and documentation, is in the - * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em> - * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a> - * for further information. - * </blockquote> - * - * <p>This class wraps a SAX1 {@link org.xml.sax.Parser Parser} - * and makes it act as a SAX2 {@link org.xml.sax.XMLReader XMLReader}, - * with feature, property, and Namespace support. Note - * that it is not possible to report {@link org.xml.sax.ContentHandler#skippedEntity - * skippedEntity} events, since SAX1 does not make that information available.</p> - * - * <p>This adapter does not test for duplicate Namespace-qualified - * attribute names.</p> - * - * @since SAX 2.0 - * @author David Megginson - * @version 2.0.1 (sax2r2) - * @see org.xml.sax.helpers.XMLReaderAdapter - * @see org.xml.sax.XMLReader - * @see org.xml.sax.Parser - */ -public class ParserAdapter implements XMLReader, DocumentHandler -{ - - - //////////////////////////////////////////////////////////////////// - // Constructors. - //////////////////////////////////////////////////////////////////// - - - /** - * Construct a new parser adapter. - * - * <p>Use the "org.xml.sax.parser" property to locate the - * embedded SAX1 driver.</p> - * - * @exception SAXException If the embedded driver - * cannot be instantiated or if the - * org.xml.sax.parser property is not specified. - */ - public ParserAdapter () - throws SAXException - { - super(); - - String driver = System.getProperty("org.xml.sax.parser"); - - try { - setup(ParserFactory.makeParser()); - } catch (ClassNotFoundException e1) { - throw new - SAXException("Cannot find SAX1 driver class " + - driver, e1); - } catch (IllegalAccessException e2) { - throw new - SAXException("SAX1 driver class " + - driver + - " found but cannot be loaded", e2); - } catch (InstantiationException e3) { - throw new - SAXException("SAX1 driver class " + - driver + - " loaded but cannot be instantiated", e3); - } catch (ClassCastException e4) { - throw new - SAXException("SAX1 driver class " + - driver + - " does not implement org.xml.sax.Parser"); - } catch (NullPointerException e5) { - throw new - SAXException("System property org.xml.sax.parser not specified"); - } - } - - - /** - * Construct a new parser adapter. - * - * <p>Note that the embedded parser cannot be changed once the - * adapter is created; to embed a different parser, allocate - * a new ParserAdapter.</p> - * - * @param parser The SAX1 parser to embed. - * @exception java.lang.NullPointerException If the parser parameter - * is null. - */ - public ParserAdapter (Parser parser) - { - super(); - setup(parser); - } - - - /** - * Internal setup method. - * - * @param parser The embedded parser. - * @exception java.lang.NullPointerException If the parser parameter - * is null. - */ - private void setup (Parser parser) - { - if (parser == null) { - throw new - NullPointerException("Parser argument must not be null"); - } - this.parser = parser; - atts = new AttributesImpl(); - nsSupport = new NamespaceSupport(); - attAdapter = new AttributeListAdapter(); - } - - - - //////////////////////////////////////////////////////////////////// - // Implementation of org.xml.sax.XMLReader. - //////////////////////////////////////////////////////////////////// - - - // - // Internal constants for the sake of convenience. - // - private final static String FEATURES = "http://xml.org/sax/features/"; - private final static String NAMESPACES = FEATURES + "namespaces"; - private final static String NAMESPACE_PREFIXES = FEATURES + "namespace-prefixes"; - - - /** - * Set a feature flag for the parser. - * - * <p>The only features recognized are namespaces and - * namespace-prefixes.</p> - * - * @param name The feature name, as a complete URI. - * @param value The requested feature value. - * @exception SAXNotRecognizedException If the feature - * can't be assigned or retrieved. - * @exception SAXNotSupportedException If the feature - * can't be assigned that value. - * @see org.xml.sax.XMLReader#setFeature - */ - public void setFeature (String name, boolean value) - throws SAXNotRecognizedException, SAXNotSupportedException - { - if (name.equals(NAMESPACES)) { - checkNotParsing("feature", name); - namespaces = value; - if (!namespaces && !prefixes) { - prefixes = true; - } - } else if (name.equals(NAMESPACE_PREFIXES)) { - checkNotParsing("feature", name); - prefixes = value; - if (!prefixes && !namespaces) { - namespaces = true; - } - } else { - throw new SAXNotRecognizedException("Feature: " + name); - } - } - - - /** - * Check a parser feature flag. - * - * <p>The only features recognized are namespaces and - * namespace-prefixes.</p> - * - * @param name The feature name, as a complete URI. - * @return The current feature value. - * @exception SAXNotRecognizedException If the feature - * value can't be assigned or retrieved. - * @exception SAXNotSupportedException If the - * feature is not currently readable. - * @see org.xml.sax.XMLReader#setFeature - */ - public boolean getFeature (String name) - throws SAXNotRecognizedException, SAXNotSupportedException - { - if (name.equals(NAMESPACES)) { - return namespaces; - } else if (name.equals(NAMESPACE_PREFIXES)) { - return prefixes; - } else { - throw new SAXNotRecognizedException("Feature: " + name); - } - } - - - /** - * Set a parser property. - * - * <p>No properties are currently recognized.</p> - * - * @param name The property name. - * @param value The property value. - * @exception SAXNotRecognizedException If the property - * value can't be assigned or retrieved. - * @exception SAXNotSupportedException If the property - * can't be assigned that value. - * @see org.xml.sax.XMLReader#setProperty - */ - public void setProperty (String name, Object value) - throws SAXNotRecognizedException, SAXNotSupportedException - { - throw new SAXNotRecognizedException("Property: " + name); - } - - - /** - * Get a parser property. - * - * <p>No properties are currently recognized.</p> - * - * @param name The property name. - * @return The property value. - * @exception SAXNotRecognizedException If the property - * value can't be assigned or retrieved. - * @exception SAXNotSupportedException If the property - * value is not currently readable. - * @see org.xml.sax.XMLReader#getProperty - */ - public Object getProperty (String name) - throws SAXNotRecognizedException, SAXNotSupportedException - { - throw new SAXNotRecognizedException("Property: " + name); - } - - - /** - * Set the entity resolver. - * - * @param resolver The new entity resolver. - * @see org.xml.sax.XMLReader#setEntityResolver - */ - public void setEntityResolver (EntityResolver resolver) - { - entityResolver = resolver; - } - - - /** - * Return the current entity resolver. - * - * @return The current entity resolver, or null if none was supplied. - * @see org.xml.sax.XMLReader#getEntityResolver - */ - public EntityResolver getEntityResolver () - { - return entityResolver; - } - - - /** - * Set the DTD handler. - * - * @param resolver The new DTD handler. - * @see org.xml.sax.XMLReader#setEntityResolver - */ - public void setDTDHandler (DTDHandler handler) - { - dtdHandler = handler; - } - - - /** - * Return the current DTD handler. - * - * @return The current DTD handler, or null if none was supplied. - * @see org.xml.sax.XMLReader#getEntityResolver - */ - public DTDHandler getDTDHandler () - { - return dtdHandler; - } - - - /** - * Set the content handler. - * - * @param resolver The new content handler. - * @see org.xml.sax.XMLReader#setEntityResolver - */ - public void setContentHandler (ContentHandler handler) - { - contentHandler = handler; - } - - - /** - * Return the current content handler. - * - * @return The current content handler, or null if none was supplied. - * @see org.xml.sax.XMLReader#getEntityResolver - */ - public ContentHandler getContentHandler () - { - return contentHandler; - } - - - /** - * Set the error handler. - * - * @param resolver The new error handler. - * @see org.xml.sax.XMLReader#setEntityResolver - */ - public void setErrorHandler (ErrorHandler handler) - { - errorHandler = handler; - } - - - /** - * Return the current error handler. - * - * @return The current error handler, or null if none was supplied. - * @see org.xml.sax.XMLReader#getEntityResolver - */ - public ErrorHandler getErrorHandler () - { - return errorHandler; - } - - - /** - * Parse an XML document. - * - * @param systemId The absolute URL of the document. - * @exception java.io.IOException If there is a problem reading - * the raw content of the document. - * @exception SAXException If there is a problem - * processing the document. - * @see #parse(org.xml.sax.InputSource) - * @see org.xml.sax.Parser#parse(java.lang.String) - */ - public void parse (String systemId) - throws IOException, SAXException - { - parse(new InputSource(systemId)); - } - - - /** - * Parse an XML document. - * - * @param input An input source for the document. - * @exception java.io.IOException If there is a problem reading - * the raw content of the document. - * @exception SAXException If there is a problem - * processing the document. - * @see #parse(java.lang.String) - * @see org.xml.sax.Parser#parse(org.xml.sax.InputSource) - */ - public void parse (InputSource input) - throws IOException, SAXException - { - if (parsing) { - throw new SAXException("Parser is already in use"); - } - setupParser(); - parsing = true; - try { - parser.parse(input); - } finally { - parsing = false; - } - parsing = false; - } - - - - //////////////////////////////////////////////////////////////////// - // Implementation of org.xml.sax.DocumentHandler. - //////////////////////////////////////////////////////////////////// - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 document locator event. - * - * @param locator A document locator. - * @see org.xml.sax.ContentHandler#setDocumentLocator - */ - public void setDocumentLocator (Locator locator) - { - this.locator = locator; - if (contentHandler != null) { - contentHandler.setDocumentLocator(locator); - } - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 start document event. - * - * @exception SAXException The client may raise a - * processing exception. - * @see org.xml.sax.DocumentHandler#startDocument - */ - public void startDocument () - throws SAXException - { - if (contentHandler != null) { - contentHandler.startDocument(); - } - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 end document event. - * - * @exception SAXException The client may raise a - * processing exception. - * @see org.xml.sax.DocumentHandler#endDocument - */ - public void endDocument () - throws SAXException - { - if (contentHandler != null) { - contentHandler.endDocument(); - } - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 startElement event. - * - * <p>If necessary, perform Namespace processing.</p> - * - * @param qName The qualified (prefixed) name. - * @param qAtts The XML 1.0 attribute list (with qnames). - * @exception SAXException The client may raise a - * processing exception. - */ - public void startElement (String qName, AttributeList qAtts) - throws SAXException - { - // These are exceptions from the - // first pass; they should be - // ignored if there's a second pass, - // but reported otherwise. - Vector exceptions = null; - - // If we're not doing Namespace - // processing, dispatch this quickly. - if (!namespaces) { - if (contentHandler != null) { - attAdapter.setAttributeList(qAtts); - contentHandler.startElement("", "", qName.intern(), - attAdapter); - } - return; - } - - - // OK, we're doing Namespace processing. - nsSupport.pushContext(); - int length = qAtts.getLength(); - - // First pass: handle NS decls - for (int i = 0; i < length; i++) { - String attQName = qAtts.getName(i); - - if (!attQName.startsWith("xmlns")) - continue; - // Could be a declaration... - String prefix; - int n = attQName.indexOf(':'); - - // xmlns=... - if (n == -1 && attQName.length () == 5) { - prefix = ""; - } else if (n != 5) { - // XML namespaces spec doesn't discuss "xmlnsf:oo" - // (and similarly named) attributes ... at most, warn - continue; - } else // xmlns:foo=... - prefix = attQName.substring(n+1); - - String value = qAtts.getValue(i); - if (!nsSupport.declarePrefix(prefix, value)) { - reportError("Illegal Namespace prefix: " + prefix); - continue; - } - if (contentHandler != null) - contentHandler.startPrefixMapping(prefix, value); - } - - // Second pass: copy all relevant - // attributes into the SAX2 AttributeList - // using updated prefix bindings - atts.clear(); - for (int i = 0; i < length; i++) { - String attQName = qAtts.getName(i); - String type = qAtts.getType(i); - String value = qAtts.getValue(i); - - // Declaration? - if (attQName.startsWith("xmlns")) { - String prefix; - int n = attQName.indexOf(':'); - - if (n == -1 && attQName.length () == 5) { - prefix = ""; - } else if (n != 5) { - // XML namespaces spec doesn't discuss "xmlnsf:oo" - // (and similarly named) attributes ... ignore - prefix = null; - } else { - prefix = attQName.substring(n+1); - } - // Yes, decl: report or prune - if (prefix != null) { - if (prefixes) - atts.addAttribute("", "", attQName.intern(), - type, value); - continue; - } - } - - // Not a declaration -- report - try { - String attName[] = processName(attQName, true, true); - atts.addAttribute(attName[0], attName[1], attName[2], - type, value); - } catch (SAXException e) { - if (exceptions == null) - exceptions = new Vector(); - exceptions.addElement(e); - atts.addAttribute("", attQName, attQName, type, value); - } - } - - // now handle the deferred exception reports - if (exceptions != null && errorHandler != null) { - for (int i = 0; i < exceptions.size(); i++) - errorHandler.error((SAXParseException) - (exceptions.elementAt(i))); - } - - // OK, finally report the event. - if (contentHandler != null) { - String name[] = processName(qName, false, false); - contentHandler.startElement(name[0], name[1], name[2], atts); - } - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 end element event. - * - * @param qName The qualified (prefixed) name. - * @exception SAXException The client may raise a - * processing exception. - * @see org.xml.sax.DocumentHandler#endElement - */ - public void endElement (String qName) - throws SAXException - { - // If we're not doing Namespace - // processing, dispatch this quickly. - if (!namespaces) { - if (contentHandler != null) { - contentHandler.endElement("", "", qName.intern()); - } - return; - } - - // Split the name. - String names[] = processName(qName, false, false); - if (contentHandler != null) { - contentHandler.endElement(names[0], names[1], names[2]); - Enumeration prefixes = nsSupport.getDeclaredPrefixes(); - while (prefixes.hasMoreElements()) { - String prefix = (String)prefixes.nextElement(); - contentHandler.endPrefixMapping(prefix); - } - } - nsSupport.popContext(); - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 characters event. - * - * @param ch An array of characters. - * @param start The starting position in the array. - * @param length The number of characters to use. - * @exception SAXException The client may raise a - * processing exception. - * @see org.xml.sax.DocumentHandler#characters - */ - public void characters (char ch[], int start, int length) - throws SAXException - { - if (contentHandler != null) { - contentHandler.characters(ch, start, length); - } - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 ignorable whitespace event. - * - * @param ch An array of characters. - * @param start The starting position in the array. - * @param length The number of characters to use. - * @exception SAXException The client may raise a - * processing exception. - * @see org.xml.sax.DocumentHandler#ignorableWhitespace - */ - public void ignorableWhitespace (char ch[], int start, int length) - throws SAXException - { - if (contentHandler != null) { - contentHandler.ignorableWhitespace(ch, start, length); - } - } - - - /** - * Adapter implementation method; do not call. - * Adapt a SAX1 processing instruction event. - * - * @param target The processing instruction target. - * @param data The remainder of the processing instruction - * @exception SAXException The client may raise a - * processing exception. - * @see org.xml.sax.DocumentHandler#processingInstruction - */ - public void processingInstruction (String target, String data) - throws SAXException - { - if (contentHandler != null) { - contentHandler.processingInstruction(target, data); - } - } - - - - //////////////////////////////////////////////////////////////////// - // Internal utility methods. - //////////////////////////////////////////////////////////////////// - - - /** - * Initialize the parser before each run. - */ - private void setupParser () - { - nsSupport.reset(); - - if (entityResolver != null) { - parser.setEntityResolver(entityResolver); - } - if (dtdHandler != null) { - parser.setDTDHandler(dtdHandler); - } - if (errorHandler != null) { - parser.setErrorHandler(errorHandler); - } - parser.setDocumentHandler(this); - locator = null; - } - - - /** - * Process a qualified (prefixed) name. - * - * <p>If the name has an undeclared prefix, use only the qname - * and make an ErrorHandler.error callback in case the app is - * interested.</p> - * - * @param qName The qualified (prefixed) name. - * @param isAttribute true if this is an attribute name. - * @return The name split into three parts. - * @exception SAXException The client may throw - * an exception if there is an error callback. - */ - private String [] processName (String qName, boolean isAttribute, - boolean useException) - throws SAXException - { - String parts[] = nsSupport.processName(qName, nameParts, - isAttribute); - if (parts == null) { - if (useException) - throw makeException("Undeclared prefix: " + qName); - reportError("Undeclared prefix: " + qName); - parts = new String[3]; - parts[0] = parts[1] = ""; - parts[2] = qName.intern(); - } - return parts; - } - - - /** - * Report a non-fatal error. - * - * @param message The error message. - * @exception SAXException The client may throw - * an exception. - */ - void reportError (String message) - throws SAXException - { - if (errorHandler != null) - errorHandler.error(makeException(message)); - } - - - /** - * Construct an exception for the current context. - * - * @param message The error message. - */ - private SAXParseException makeException (String message) - { - if (locator != null) { - return new SAXParseException(message, locator); - } else { - return new SAXParseException(message, null, null, -1, -1); - } - } - - - /** - * Throw an exception if we are parsing. - * - * <p>Use this method to detect illegal feature or - * property changes.</p> - * - * @param type The type of thing (feature or property). - * @param name The feature or property name. - * @exception SAXNotSupportedException If a - * document is currently being parsed. - */ - private void checkNotParsing (String type, String name) - throws SAXNotSupportedException - { - if (parsing) { - throw new SAXNotSupportedException("Cannot change " + - type + ' ' + - name + " while parsing"); - - } - } - - - - //////////////////////////////////////////////////////////////////// - // Internal state. - //////////////////////////////////////////////////////////////////// - - private NamespaceSupport nsSupport; - private AttributeListAdapter attAdapter; - - private boolean parsing = false; - private String nameParts[] = new String[3]; - - private Parser parser = null; - - private AttributesImpl atts = null; - - // Features - private boolean namespaces = true; - private boolean prefixes = false; - - // Properties - - // Handlers - Locator locator; - - EntityResolver entityResolver = null; - DTDHandler dtdHandler = null; - ContentHandler contentHandler = null; - ErrorHandler errorHandler = null; - - - - //////////////////////////////////////////////////////////////////// - // Inner class to wrap an AttributeList when not doing NS proc. - //////////////////////////////////////////////////////////////////// - - - /** - * Adapt a SAX1 AttributeList as a SAX2 Attributes object. - * - * <p>This class is in the Public Domain, and comes with NO - * WARRANTY of any kind.</p> - * - * <p>This wrapper class is used only when Namespace support - * is disabled -- it provides pretty much a direct mapping - * from SAX1 to SAX2, except that names and types are - * interned whenever requested.</p> - */ - final class AttributeListAdapter implements Attributes - { - - /** - * Construct a new adapter. - */ - AttributeListAdapter () - { - } - - - /** - * Set the embedded AttributeList. - * - * <p>This method must be invoked before any of the others - * can be used.</p> - * - * @param The SAX1 attribute list (with qnames). - */ - void setAttributeList (AttributeList qAtts) - { - this.qAtts = qAtts; - } - - - /** - * Return the length of the attribute list. - * - * @return The number of attributes in the list. - * @see org.xml.sax.Attributes#getLength - */ - public int getLength () - { - return qAtts.getLength(); - } - - - /** - * Return the Namespace URI of the specified attribute. - * - * @param The attribute's index. - * @return Always the empty string. - * @see org.xml.sax.Attributes#getURI - */ - public String getURI (int i) - { - return ""; - } - - - /** - * Return the local name of the specified attribute. - * - * @param The attribute's index. - * @return Always the empty string. - * @see org.xml.sax.Attributes#getLocalName - */ - public String getLocalName (int i) - { - return ""; - } - - - /** - * Return the qualified (prefixed) name of the specified attribute. - * - * @param The attribute's index. - * @return The attribute's qualified name, internalized. - */ - public String getQName (int i) - { - return qAtts.getName(i).intern(); - } - - - /** - * Return the type of the specified attribute. - * - * @param The attribute's index. - * @return The attribute's type as an internalized string. - */ - public String getType (int i) - { - return qAtts.getType(i).intern(); - } - - - /** - * Return the value of the specified attribute. - * - * @param The attribute's index. - * @return The attribute's value. - */ - public String getValue (int i) - { - return qAtts.getValue(i); - } - - - /** - * Look up an attribute index by Namespace name. - * - * @param uri The Namespace URI or the empty string. - * @param localName The local name. - * @return The attributes index, or -1 if none was found. - * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String) - */ - public int getIndex (String uri, String localName) - { - return -1; - } - - - /** - * Look up an attribute index by qualified (prefixed) name. - * - * @param qName The qualified name. - * @return The attributes index, or -1 if none was found. - * @see org.xml.sax.Attributes#getIndex(java.lang.String) - */ - public int getIndex (String qName) - { - int max = atts.getLength(); - for (int i = 0; i < max; i++) { - if (qAtts.getName(i).equals(qName)) { - return i; - } - } - return -1; - } - - - /** - * Look up the type of an attribute by Namespace name. - * - * @param uri The Namespace URI - * @param localName The local name. - * @return The attribute's type as an internalized string. - */ - public String getType (String uri, String localName) - { - return null; - } - - - /** - * Look up the type of an attribute by qualified (prefixed) name. - * - * @param qName The qualified name. - * @return The attribute's type as an internalized string. - */ - public String getType (String qName) - { - return qAtts.getType(qName).intern(); - } - - - /** - * Look up the value of an attribute by Namespace name. - * - * @param uri The Namespace URI - * @param localName The local name. - * @return The attribute's value. - */ - public String getValue (String uri, String localName) - { - return null; - } - - - /** - * Look up the value of an attribute by qualified (prefixed) name. - * - * @param qName The qualified name. - * @return The attribute's value. - */ - public String getValue (String qName) - { - return qAtts.getValue(qName); - } - - private AttributeList qAtts; - } -} - -// end of ParserAdapter.java |