summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2004-09-03 16:27:47 +0000
committerMark Wielaard <mark@klomp.org>2004-09-03 16:27:47 +0000
commit7994bea9c5266a34516afd4787dd810584b5d74e (patch)
tree27d87b0c872b113b43af62fcab4bb4d0279c0df5
parentf7e9503830dd0094c0d5197d0a3f79bd2315458f (diff)
downloadclasspath-7994bea9c5266a34516afd4787dd810584b5d74e.tar.gz
* Makefile.am (SUBDIRS): Remove external.
* configure.ac (AC_CONFIG_FILES): Remove external/Makefile. * doc/api/Makefile.am: Don't refer to external directory * lib/Makefile.am: Likewise. * lib/gen-classlist.sh.in: Likewise. * external/*: Removed. * NEWS: Mention GNU JAXP.
-rw-r--r--ChangeLog10
-rw-r--r--Makefile.am2
-rw-r--r--NEWS4
-rw-r--r--configure.ac1
-rw-r--r--doc/api/Makefile.am24
-rw-r--r--external/.cvsignore2
-rw-r--r--external/Makefile.am288
-rw-r--r--external/README21
-rw-r--r--external/jaxp/.cvsignore11
-rw-r--r--external/jaxp/AUTHORS9
-rw-r--r--external/jaxp/COPYING340
-rw-r--r--external/jaxp/COPYRIGHT.html100
-rw-r--r--external/jaxp/HACKING30
-rw-r--r--external/jaxp/LICENSE25
-rw-r--r--external/jaxp/Makefile.aj435
-rw-r--r--external/jaxp/Makefile.in466
-rw-r--r--external/jaxp/README122
-rw-r--r--external/jaxp/aclocal.m434
-rwxr-xr-xexternal/jaxp/automakejar133
-rw-r--r--external/jaxp/configure.in16
-rw-r--r--external/jaxp/manifest.mf28
-rw-r--r--external/jaxp/source/gnu/xml/aelfred2/JAXPFactory.java182
-rw-r--r--external/jaxp/source/gnu/xml/aelfred2/SAXDriver.java1272
-rw-r--r--external/jaxp/source/gnu/xml/aelfred2/XmlParser.java4761
-rw-r--r--external/jaxp/source/gnu/xml/aelfred2/XmlReader.java304
-rw-r--r--external/jaxp/source/gnu/xml/aelfred2/package.html477
-rw-r--r--external/jaxp/source/gnu/xml/dom/Consumer.java329
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomAttr.java263
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomCDATA.java84
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomCharacterData.java263
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomComment.java73
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomDoctype.java357
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomDocument.java789
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomElement.java339
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomEntity.java111
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomEntityReference.java102
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomEvent.java271
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomEx.java146
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomExtern.java104
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomFragment.java68
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomImpl.java172
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomIterator.java320
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomNamedNodeMap.java342
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomNode.java1567
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomNotation.java85
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomNsNode.java161
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomPI.java142
-rw-r--r--external/jaxp/source/gnu/xml/dom/DomText.java107
-rw-r--r--external/jaxp/source/gnu/xml/dom/JAXPFactory.java231
-rw-r--r--external/jaxp/source/gnu/xml/dom/package.html270
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/CallFilter.java239
-rwxr-xr-xexternal/jaxp/source/gnu/xml/pipeline/DomConsumer.java943
-rwxr-xr-xexternal/jaxp/source/gnu/xml/pipeline/EventConsumer.java84
-rwxr-xr-xexternal/jaxp/source/gnu/xml/pipeline/EventFilter.java786
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/LinkFilter.java232
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/NSFilter.java329
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/PipelineFactory.java712
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/TeeConsumer.java402
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/TextConsumer.java106
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/ValidationConsumer.java1911
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/WellFormednessFilter.java350
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/XIncludeFilter.java569
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/XsltFilter.java120
-rw-r--r--external/jaxp/source/gnu/xml/pipeline/package.html257
-rw-r--r--external/jaxp/source/gnu/xml/util/DoParse.java295
-rw-r--r--external/jaxp/source/gnu/xml/util/DomParser.java793
-rw-r--r--external/jaxp/source/gnu/xml/util/Resolver.java252
-rw-r--r--external/jaxp/source/gnu/xml/util/SAXNullTransformerFactory.java539
-rw-r--r--external/jaxp/source/gnu/xml/util/XCat.java1598
-rw-r--r--external/jaxp/source/gnu/xml/util/XHTMLWriter.java101
-rw-r--r--external/jaxp/source/gnu/xml/util/XMLWriter.java1916
-rw-r--r--external/jaxp/source/gnu/xml/util/package.html22
-rw-r--r--external/jaxp/source/javax/xml/parsers/ClassStuff.java158
-rw-r--r--external/jaxp/source/javax/xml/parsers/DocumentBuilder.java180
-rw-r--r--external/jaxp/source/javax/xml/parsers/DocumentBuilderFactory.java154
-rw-r--r--external/jaxp/source/javax/xml/parsers/FactoryConfigurationError.java81
-rw-r--r--external/jaxp/source/javax/xml/parsers/ParserConfigurationException.java51
-rw-r--r--external/jaxp/source/javax/xml/parsers/SAXParser.java279
-rw-r--r--external/jaxp/source/javax/xml/parsers/SAXParserFactory.java160
-rw-r--r--external/jaxp/source/javax/xml/parsers/package.html16
-rw-r--r--external/jaxp/source/javax/xml/transform/ClassStuff.java155
-rw-r--r--external/jaxp/source/javax/xml/transform/ErrorListener.java52
-rw-r--r--external/jaxp/source/javax/xml/transform/OutputKeys.java61
-rw-r--r--external/jaxp/source/javax/xml/transform/Result.java57
-rw-r--r--external/jaxp/source/javax/xml/transform/Source.java60
-rw-r--r--external/jaxp/source/javax/xml/transform/SourceLocator.java52
-rw-r--r--external/jaxp/source/javax/xml/transform/Templates.java50
-rw-r--r--external/jaxp/source/javax/xml/transform/Transformer.java142
-rw-r--r--external/jaxp/source/javax/xml/transform/TransformerConfigurationException.java70
-rw-r--r--external/jaxp/source/javax/xml/transform/TransformerException.java183
-rw-r--r--external/jaxp/source/javax/xml/transform/TransformerFactory.java140
-rw-r--r--external/jaxp/source/javax/xml/transform/TransformerFactoryConfigurationError.java73
-rw-r--r--external/jaxp/source/javax/xml/transform/URIResolver.java44
-rw-r--r--external/jaxp/source/javax/xml/transform/dom/DOMLocator.java49
-rw-r--r--external/jaxp/source/javax/xml/transform/dom/DOMResult.java90
-rw-r--r--external/jaxp/source/javax/xml/transform/dom/DOMSource.java90
-rw-r--r--external/jaxp/source/javax/xml/transform/dom/package.html5
-rw-r--r--external/jaxp/source/javax/xml/transform/package.html38
-rw-r--r--external/jaxp/source/javax/xml/transform/sax/SAXResult.java94
-rw-r--r--external/jaxp/source/javax/xml/transform/sax/SAXSource.java152
-rw-r--r--external/jaxp/source/javax/xml/transform/sax/SAXTransformerFactory.java142
-rw-r--r--external/jaxp/source/javax/xml/transform/sax/TemplatesHandler.java52
-rw-r--r--external/jaxp/source/javax/xml/transform/sax/TransformerHandler.java63
-rw-r--r--external/jaxp/source/javax/xml/transform/sax/package.html9
-rw-r--r--external/jaxp/source/javax/xml/transform/stream/StreamResult.java116
-rw-r--r--external/jaxp/source/javax/xml/transform/stream/StreamSource.java163
-rw-r--r--external/jaxp/source/javax/xml/transform/stream/package.html6
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Attr.java124
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/CDATASection.java48
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/CharacterData.java159
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Comment.java24
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/DOMException.java116
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/DOMImplementation.java110
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Document.java428
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/DocumentFragment.java52
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/DocumentType.java80
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Element.java322
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Entity.java68
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/EntityReference.java39
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/NamedNodeMap.java174
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Node.java526
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/NodeList.java41
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Notation.java40
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/ProcessingInstruction.java47
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/Text.java56
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2Azimuth.java94
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2BackgroundPosition.java144
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2BorderSpacing.java106
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2CounterIncrement.java49
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2CounterReset.java49
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2Cursor.java46
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2FontFaceSrc.java57
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2FontFaceWidths.java45
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2PageSize.java126
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2PlayDuring.java84
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2Properties.java2265
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSS2TextShadow.java50
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSCharsetRule.java56
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSFontFaceRule.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSImportRule.java44
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSMediaRule.java76
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSPageRule.java48
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSPrimitiveValue.java296
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSRule.java105
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSRuleList.java43
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSStyleDeclaration.java164
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSStyleRule.java51
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSStyleSheet.java85
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSUnknownRule.java22
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSValue.java78
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/CSSValueList.java46
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/Counter.java38
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/DOMImplementationCSS.java40
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/DocumentCSS.java50
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/ElementCSSInlineStyle.java32
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/RGBColor.java47
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/Rect.java44
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/ViewCSS.java43
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/css/package.html11
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/DocumentEvent.java56
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/Event.java141
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/EventException.java36
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/EventListener.java41
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/EventTarget.java102
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/MouseEvent.java156
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/MutationEvent.java108
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/UIEvent.java58
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/events/package.html18
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLAnchorElement.java112
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLAppletElement.java103
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLAreaElement.java79
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLBRElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLBaseElement.java34
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLBaseFontElement.java43
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLBodyElement.java69
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLButtonElement.java67
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLCollection.java57
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLDListElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLDOMImplementation.java36
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLDirectoryElement.java29
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLDivElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLDocument.java155
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLElement.java66
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLFieldSetElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLFontElement.java43
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLFormElement.java87
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLFrameElement.java86
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLFrameSetElement.java35
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLHRElement.java50
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLHeadElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLHeadingElement.java29
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLHtmlElement.java29
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLIFrameElement.java99
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLImageElement.java110
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLInputElement.java197
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLIsIndexElement.java35
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLLIElement.java36
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLLabelElement.java42
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLLegendElement.java43
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLLinkElement.java84
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLMapElement.java33
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLMenuElement.java29
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLMetaElement.java49
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLModElement.java36
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLOListElement.java42
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLObjectElement.java160
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLOptGroupElement.java36
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLOptionElement.java78
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLParagraphElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLParamElement.java51
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLPreElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLQuoteElement.java29
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLScriptElement.java67
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLSelectElement.java134
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLStyleElement.java42
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTableCaptionElement.java28
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTableCellElement.java126
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTableColElement.java63
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTableElement.java189
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTableRowElement.java103
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTableSectionElement.java85
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTextAreaElement.java114
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLTitleElement.java27
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/HTMLUListElement.java35
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/html/package.html8
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/package.html9
-rw-r--r--external/jaxp/source/org/w3c/dom/ranges/DocumentRange.java33
-rw-r--r--external/jaxp/source/org/w3c/dom/ranges/Range.java416
-rw-r--r--external/jaxp/source/org/w3c/dom/ranges/RangeException.java39
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/ranges/package.html10
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/stylesheets/DocumentStyle.java34
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/stylesheets/LinkStyle.java31
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/stylesheets/MediaList.java90
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/stylesheets/StyleSheet.java103
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/stylesheets/StyleSheetList.java42
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/stylesheets/package.html10
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/traversal/DocumentTraversal.java92
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/traversal/NodeFilter.java144
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/traversal/NodeIterator.java109
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/traversal/TreeWalker.java182
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/traversal/package.html10
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/views/AbstractView.java27
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/views/DocumentView.java30
-rwxr-xr-xexternal/jaxp/source/org/w3c/dom/views/package.html10
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/AttributeList.java192
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/Attributes.java249
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/ContentHandler.java406
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/DTDHandler.java116
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/DocumentHandler.java231
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/EntityResolver.java118
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/ErrorHandler.java124
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/HandlerBase.java369
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/InputSource.java335
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/Locator.java135
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/Parser.java208
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/SAXException.java152
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/SAXNotRecognizedException.java52
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/SAXNotSupportedException.java52
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/SAXParseException.java269
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/XMLFilter.java64
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/XMLReader.java396
-rw-r--r--external/jaxp/source/org/xml/sax/ext/Attributes2.java91
-rw-r--r--external/jaxp/source/org/xml/sax/ext/Attributes2Impl.java279
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/ext/DeclHandler.java142
-rw-r--r--external/jaxp/source/org/xml/sax/ext/DefaultHandler2.java129
-rw-r--r--external/jaxp/source/org/xml/sax/ext/EntityResolver2.java196
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/ext/LexicalHandler.java211
-rw-r--r--external/jaxp/source/org/xml/sax/ext/Locator2.java76
-rw-r--r--external/jaxp/source/org/xml/sax/ext/Locator2Impl.java100
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/ext/package.html46
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/AttributeListImpl.java311
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/AttributesImpl.java617
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/DefaultHandler.java466
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/LocatorImpl.java213
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/NamespaceSupport.java768
-rw-r--r--external/jaxp/source/org/xml/sax/helpers/NewInstance.java78
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/ParserAdapter.java1024
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/ParserFactory.java128
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/XMLFilterImpl.java712
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/XMLReaderAdapter.java537
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java200
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/helpers/package.html11
-rwxr-xr-xexternal/jaxp/source/org/xml/sax/package.html229
-rw-r--r--external/jaxp/tests/dom/NodeType.java73
-rw-r--r--external/jaxp/tests/dom/nodetype.xml26
-rw-r--r--lib/Makefile.am4
-rwxr-xr-xlib/gen-classlist.sh.in4
287 files changed, 20 insertions, 54523 deletions
diff --git a/ChangeLog b/ChangeLog
index d163608d9..1966bf928 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2004-09-03 Mark Wielaard <mark@klomp.org>
+
+ * Makefile.am (SUBDIRS): Remove external.
+ * configure.ac (AC_CONFIG_FILES): Remove external/Makefile.
+ * doc/api/Makefile.am: Don't refer to external directory
+ * lib/Makefile.am: Likewise.
+ * lib/gen-classlist.sh.in: Likewise.
+ * external/*: Removed.
+ * NEWS: Mention GNU JAXP.
+
2004-08-31 Mark Wielaard <mark@klomp.org>
* NEWS: Add new news.
diff --git a/Makefile.am b/Makefile.am
index 5b20831ef..4bd556bb3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
## Input file for automake to generate the Makefile.in used by configure
# lib first, to compile .class files before native code, last examples
-SUBDIRS = lib doc external include native resource examples
+SUBDIRS = lib doc include native resource examples
native: lib
diff --git a/NEWS b/NEWS
index 2288c52e1..27ef46b86 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,10 @@ New in release 0.11 (not released yet)
* javax.swing.JSpinner implemented.
* Extensive documentation update for java.util collection classes.
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
+* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
+ tool integrators are encouraged to directly integrate GNU JAXP.
+ This release has been tested against GNU JAXP 1.1.
+ http://www.gnu.org/software/classpathx/jaxp/jaxp.html
Runtime interface Changes:
diff --git a/configure.ac b/configure.ac
index a5125481f..3c4102fb7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -345,7 +345,6 @@ dnl -----------------------------------------------------------
AC_CONFIG_FILES([Makefile
doc/Makefile
doc/api/Makefile
-external/Makefile
gnu/classpath/Configuration.java
include/Makefile
native/Makefile
diff --git a/doc/api/Makefile.am b/doc/api/Makefile.am
index 12e782b81..73cff59eb 100644
--- a/doc/api/Makefile.am
+++ b/doc/api/Makefile.am
@@ -31,13 +31,11 @@ uninstall-local:
html: create_html
core := $(shell cd $(top_srcdir) && $(FIND) java javax -type d ! -name CVS ! -name doc-files -print | tr '/' '.' | grep -v "java.awt.dnd.peer" | grep -v "java.awt.peer")
-jaxp := $(shell cd $(top_srcdir)/external/jaxp/source && $(FIND) javax org -type d ! -name CVS -print | tr '/' '.' | grep -v "org.w3c.dom.")
# Just generate api doc for the core packages.
# Adding the external ones takes a lot more time and we should reference
# them anyway since we will place out own copyright notive on the generated
# pages.
-# packages = $(core) $(jaxp)
packages = $(core)
#| grep -v "^java\$" )
date := $(shell $(DATE))
@@ -51,7 +49,7 @@ clean:
#create_xml:
# -$(MKDIR) xml > /dev/null 2>&1
# $(GJDOC) -sourcepath \
-# "$(top_srcdir):$(top_srcdir)/external/jaxp/source:$(top_srcdir)/vm/reference" \
+# "$(top_srcdir):$(top_srcdir)/vm/reference" \
# -doclet gnu.classpath.tools.doclets.xmldoclet.Driver \
# -d xml $(packages)
# -touch create_xml
@@ -72,24 +70,4 @@ create_html:
$(GJDOC) -sourcepath "$(top_srcdir):$(top_srcdir)/vm/reference" \
-d html -bottomnote "$(srcdir)/classpath-copyright.xml" \
$(packages)
-
-# Including the external ones (jaxp) this would be:
-# create_html:
-# -$(MKDIR) html > /dev/null 2>&1
-# $(GJDOC) -sourcepath \
-# "$(top_srcdir):$(top_srcdir)/vm/reference:$(top_srcdir)/external/jaxp/source" \
-# -d html -bottomnote "$(srcdir)/classpath-copyright.xml" \
-# $(packages)
-
-# -$(CP) -Ru $(srcdir)/xslt/common html
-# $(XSLTPROC) \
-# --novalid \
-# --param verbose "1" \
-# --param now "'$(date)'" \
-# --param copyrightfile "'$(srcdir)/classpath-copyright.xml'" \
-# --param windowtitle "'GNU Classpath CVS'" \
-# --param targetdir "'html'" \
-# "$(srcdir)/xslt/gjdocxml2html.xsl" \
-# "xml/index.xml"
-touch create_html
-
diff --git a/external/.cvsignore b/external/.cvsignore
deleted file mode 100644
index 282522db0..000000000
--- a/external/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/external/Makefile.am b/external/Makefile.am
deleted file mode 100644
index fcb086f56..000000000
--- a/external/Makefile.am
+++ /dev/null
@@ -1,288 +0,0 @@
-# automake generates Makefile.in from this file
-
-# When importing a new version of jaxp.
-# You need to add the output of the following command to the
-# jaxp_FILES in Makefile.am (remove the last \ from the last entry):
-# $ for i in $(find jaxp -type f -print | grep -v CVS); do echo $i \\; done
-
-jaxp_FILES = \
-jaxp/source/gnu/xml/aelfred2/JAXPFactory.java \
-jaxp/source/gnu/xml/aelfred2/SAXDriver.java \
-jaxp/source/gnu/xml/aelfred2/XmlParser.java \
-jaxp/source/gnu/xml/aelfred2/XmlReader.java \
-jaxp/source/gnu/xml/aelfred2/package.html \
-jaxp/source/gnu/xml/dom/Consumer.java \
-jaxp/source/gnu/xml/dom/DomAttr.java \
-jaxp/source/gnu/xml/dom/DomCDATA.java \
-jaxp/source/gnu/xml/dom/DomCharacterData.java \
-jaxp/source/gnu/xml/dom/DomComment.java \
-jaxp/source/gnu/xml/dom/DomDoctype.java \
-jaxp/source/gnu/xml/dom/DomDocument.java \
-jaxp/source/gnu/xml/dom/DomElement.java \
-jaxp/source/gnu/xml/dom/DomEntity.java \
-jaxp/source/gnu/xml/dom/DomEntityReference.java \
-jaxp/source/gnu/xml/dom/DomEvent.java \
-jaxp/source/gnu/xml/dom/DomEx.java \
-jaxp/source/gnu/xml/dom/DomExtern.java \
-jaxp/source/gnu/xml/dom/DomFragment.java \
-jaxp/source/gnu/xml/dom/DomImpl.java \
-jaxp/source/gnu/xml/dom/DomIterator.java \
-jaxp/source/gnu/xml/dom/DomNamedNodeMap.java \
-jaxp/source/gnu/xml/dom/DomNode.java \
-jaxp/source/gnu/xml/dom/DomNotation.java \
-jaxp/source/gnu/xml/dom/DomNsNode.java \
-jaxp/source/gnu/xml/dom/DomPI.java \
-jaxp/source/gnu/xml/dom/DomText.java \
-jaxp/source/gnu/xml/dom/JAXPFactory.java \
-jaxp/source/gnu/xml/dom/package.html \
-jaxp/source/gnu/xml/pipeline/CallFilter.java \
-jaxp/source/gnu/xml/pipeline/DomConsumer.java \
-jaxp/source/gnu/xml/pipeline/EventConsumer.java \
-jaxp/source/gnu/xml/pipeline/EventFilter.java \
-jaxp/source/gnu/xml/pipeline/LinkFilter.java \
-jaxp/source/gnu/xml/pipeline/NSFilter.java \
-jaxp/source/gnu/xml/pipeline/PipelineFactory.java \
-jaxp/source/gnu/xml/pipeline/TeeConsumer.java \
-jaxp/source/gnu/xml/pipeline/TextConsumer.java \
-jaxp/source/gnu/xml/pipeline/ValidationConsumer.java \
-jaxp/source/gnu/xml/pipeline/WellFormednessFilter.java \
-jaxp/source/gnu/xml/pipeline/XIncludeFilter.java \
-jaxp/source/gnu/xml/pipeline/XsltFilter.java \
-jaxp/source/gnu/xml/pipeline/package.html \
-jaxp/source/gnu/xml/util/DoParse.java \
-jaxp/source/gnu/xml/util/DomParser.java \
-jaxp/source/gnu/xml/util/Resolver.java \
-jaxp/source/gnu/xml/util/SAXNullTransformerFactory.java \
-jaxp/source/gnu/xml/util/XCat.java \
-jaxp/source/gnu/xml/util/XHTMLWriter.java \
-jaxp/source/gnu/xml/util/XMLWriter.java \
-jaxp/source/gnu/xml/util/package.html \
-jaxp/source/javax/xml/parsers/ClassStuff.java \
-jaxp/source/javax/xml/parsers/DocumentBuilder.java \
-jaxp/source/javax/xml/parsers/DocumentBuilderFactory.java \
-jaxp/source/javax/xml/parsers/FactoryConfigurationError.java \
-jaxp/source/javax/xml/parsers/ParserConfigurationException.java \
-jaxp/source/javax/xml/parsers/SAXParser.java \
-jaxp/source/javax/xml/parsers/SAXParserFactory.java \
-jaxp/source/javax/xml/parsers/package.html \
-jaxp/source/javax/xml/transform/dom/DOMLocator.java \
-jaxp/source/javax/xml/transform/dom/DOMResult.java \
-jaxp/source/javax/xml/transform/dom/DOMSource.java \
-jaxp/source/javax/xml/transform/dom/package.html \
-jaxp/source/javax/xml/transform/sax/SAXResult.java \
-jaxp/source/javax/xml/transform/sax/SAXSource.java \
-jaxp/source/javax/xml/transform/sax/SAXTransformerFactory.java \
-jaxp/source/javax/xml/transform/sax/TemplatesHandler.java \
-jaxp/source/javax/xml/transform/sax/TransformerHandler.java \
-jaxp/source/javax/xml/transform/sax/package.html \
-jaxp/source/javax/xml/transform/ClassStuff.java \
-jaxp/source/javax/xml/transform/ErrorListener.java \
-jaxp/source/javax/xml/transform/OutputKeys.java \
-jaxp/source/javax/xml/transform/Result.java \
-jaxp/source/javax/xml/transform/Source.java \
-jaxp/source/javax/xml/transform/SourceLocator.java \
-jaxp/source/javax/xml/transform/Templates.java \
-jaxp/source/javax/xml/transform/Transformer.java \
-jaxp/source/javax/xml/transform/TransformerConfigurationException.java \
-jaxp/source/javax/xml/transform/TransformerException.java \
-jaxp/source/javax/xml/transform/TransformerFactory.java \
-jaxp/source/javax/xml/transform/TransformerFactoryConfigurationError.java \
-jaxp/source/javax/xml/transform/URIResolver.java \
-jaxp/source/javax/xml/transform/package.html \
-jaxp/source/javax/xml/transform/stream/StreamResult.java \
-jaxp/source/javax/xml/transform/stream/StreamSource.java \
-jaxp/source/javax/xml/transform/stream/package.html \
-jaxp/source/org/w3c/dom/css/CSS2Azimuth.java \
-jaxp/source/org/w3c/dom/css/CSS2BackgroundPosition.java \
-jaxp/source/org/w3c/dom/css/CSS2BorderSpacing.java \
-jaxp/source/org/w3c/dom/css/CSS2CounterIncrement.java \
-jaxp/source/org/w3c/dom/css/CSS2CounterReset.java \
-jaxp/source/org/w3c/dom/css/CSS2Cursor.java \
-jaxp/source/org/w3c/dom/css/CSS2FontFaceSrc.java \
-jaxp/source/org/w3c/dom/css/CSS2FontFaceWidths.java \
-jaxp/source/org/w3c/dom/css/CSS2PageSize.java \
-jaxp/source/org/w3c/dom/css/CSS2PlayDuring.java \
-jaxp/source/org/w3c/dom/css/CSS2Properties.java \
-jaxp/source/org/w3c/dom/css/CSS2TextShadow.java \
-jaxp/source/org/w3c/dom/css/CSSCharsetRule.java \
-jaxp/source/org/w3c/dom/css/CSSFontFaceRule.java \
-jaxp/source/org/w3c/dom/css/CSSImportRule.java \
-jaxp/source/org/w3c/dom/css/CSSMediaRule.java \
-jaxp/source/org/w3c/dom/css/CSSPageRule.java \
-jaxp/source/org/w3c/dom/css/CSSPrimitiveValue.java \
-jaxp/source/org/w3c/dom/css/CSSRule.java \
-jaxp/source/org/w3c/dom/css/CSSRuleList.java \
-jaxp/source/org/w3c/dom/css/CSSStyleDeclaration.java \
-jaxp/source/org/w3c/dom/css/CSSStyleRule.java \
-jaxp/source/org/w3c/dom/css/CSSStyleSheet.java \
-jaxp/source/org/w3c/dom/css/CSSUnknownRule.java \
-jaxp/source/org/w3c/dom/css/CSSValue.java \
-jaxp/source/org/w3c/dom/css/CSSValueList.java \
-jaxp/source/org/w3c/dom/css/Counter.java \
-jaxp/source/org/w3c/dom/css/DOMImplementationCSS.java \
-jaxp/source/org/w3c/dom/css/DocumentCSS.java \
-jaxp/source/org/w3c/dom/css/ElementCSSInlineStyle.java \
-jaxp/source/org/w3c/dom/css/RGBColor.java \
-jaxp/source/org/w3c/dom/css/Rect.java \
-jaxp/source/org/w3c/dom/css/ViewCSS.java \
-jaxp/source/org/w3c/dom/css/package.html \
-jaxp/source/org/w3c/dom/html/HTMLAnchorElement.java \
-jaxp/source/org/w3c/dom/html/HTMLAppletElement.java \
-jaxp/source/org/w3c/dom/html/HTMLAreaElement.java \
-jaxp/source/org/w3c/dom/html/HTMLBRElement.java \
-jaxp/source/org/w3c/dom/html/HTMLBaseElement.java \
-jaxp/source/org/w3c/dom/html/HTMLBaseFontElement.java \
-jaxp/source/org/w3c/dom/html/HTMLBodyElement.java \
-jaxp/source/org/w3c/dom/html/HTMLButtonElement.java \
-jaxp/source/org/w3c/dom/html/HTMLCollection.java \
-jaxp/source/org/w3c/dom/html/HTMLDListElement.java \
-jaxp/source/org/w3c/dom/html/HTMLDOMImplementation.java \
-jaxp/source/org/w3c/dom/html/HTMLDirectoryElement.java \
-jaxp/source/org/w3c/dom/html/HTMLDivElement.java \
-jaxp/source/org/w3c/dom/html/HTMLDocument.java \
-jaxp/source/org/w3c/dom/html/HTMLElement.java \
-jaxp/source/org/w3c/dom/html/HTMLFieldSetElement.java \
-jaxp/source/org/w3c/dom/html/HTMLFontElement.java \
-jaxp/source/org/w3c/dom/html/HTMLFormElement.java \
-jaxp/source/org/w3c/dom/html/HTMLFrameElement.java \
-jaxp/source/org/w3c/dom/html/HTMLFrameSetElement.java \
-jaxp/source/org/w3c/dom/html/HTMLHRElement.java \
-jaxp/source/org/w3c/dom/html/HTMLHeadElement.java \
-jaxp/source/org/w3c/dom/html/HTMLHeadingElement.java \
-jaxp/source/org/w3c/dom/html/HTMLHtmlElement.java \
-jaxp/source/org/w3c/dom/html/HTMLIFrameElement.java \
-jaxp/source/org/w3c/dom/html/HTMLImageElement.java \
-jaxp/source/org/w3c/dom/html/HTMLInputElement.java \
-jaxp/source/org/w3c/dom/html/HTMLIsIndexElement.java \
-jaxp/source/org/w3c/dom/html/HTMLLIElement.java \
-jaxp/source/org/w3c/dom/html/HTMLLabelElement.java \
-jaxp/source/org/w3c/dom/html/HTMLLegendElement.java \
-jaxp/source/org/w3c/dom/html/HTMLLinkElement.java \
-jaxp/source/org/w3c/dom/html/HTMLMapElement.java \
-jaxp/source/org/w3c/dom/html/HTMLMenuElement.java \
-jaxp/source/org/w3c/dom/html/HTMLMetaElement.java \
-jaxp/source/org/w3c/dom/html/HTMLModElement.java \
-jaxp/source/org/w3c/dom/html/HTMLOListElement.java \
-jaxp/source/org/w3c/dom/html/HTMLObjectElement.java \
-jaxp/source/org/w3c/dom/html/HTMLOptGroupElement.java \
-jaxp/source/org/w3c/dom/html/HTMLOptionElement.java \
-jaxp/source/org/w3c/dom/html/HTMLParagraphElement.java \
-jaxp/source/org/w3c/dom/html/HTMLParamElement.java \
-jaxp/source/org/w3c/dom/html/HTMLPreElement.java \
-jaxp/source/org/w3c/dom/html/HTMLQuoteElement.java \
-jaxp/source/org/w3c/dom/html/HTMLScriptElement.java \
-jaxp/source/org/w3c/dom/html/HTMLSelectElement.java \
-jaxp/source/org/w3c/dom/html/HTMLStyleElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTableCaptionElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTableCellElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTableColElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTableElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTableRowElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTableSectionElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTextAreaElement.java \
-jaxp/source/org/w3c/dom/html/HTMLTitleElement.java \
-jaxp/source/org/w3c/dom/html/HTMLUListElement.java \
-jaxp/source/org/w3c/dom/html/package.html \
-jaxp/source/org/w3c/dom/Attr.java \
-jaxp/source/org/w3c/dom/CDATASection.java \
-jaxp/source/org/w3c/dom/CharacterData.java \
-jaxp/source/org/w3c/dom/Comment.java \
-jaxp/source/org/w3c/dom/DOMException.java \
-jaxp/source/org/w3c/dom/DOMImplementation.java \
-jaxp/source/org/w3c/dom/Document.java \
-jaxp/source/org/w3c/dom/DocumentFragment.java \
-jaxp/source/org/w3c/dom/DocumentType.java \
-jaxp/source/org/w3c/dom/Element.java \
-jaxp/source/org/w3c/dom/Entity.java \
-jaxp/source/org/w3c/dom/EntityReference.java \
-jaxp/source/org/w3c/dom/NamedNodeMap.java \
-jaxp/source/org/w3c/dom/Node.java \
-jaxp/source/org/w3c/dom/NodeList.java \
-jaxp/source/org/w3c/dom/Notation.java \
-jaxp/source/org/w3c/dom/ProcessingInstruction.java \
-jaxp/source/org/w3c/dom/Text.java \
-jaxp/source/org/w3c/dom/package.html \
-jaxp/source/org/w3c/dom/events/DocumentEvent.java \
-jaxp/source/org/w3c/dom/events/Event.java \
-jaxp/source/org/w3c/dom/events/EventException.java \
-jaxp/source/org/w3c/dom/events/EventListener.java \
-jaxp/source/org/w3c/dom/events/EventTarget.java \
-jaxp/source/org/w3c/dom/events/MouseEvent.java \
-jaxp/source/org/w3c/dom/events/MutationEvent.java \
-jaxp/source/org/w3c/dom/events/UIEvent.java \
-jaxp/source/org/w3c/dom/events/package.html \
-jaxp/source/org/w3c/dom/ranges/DocumentRange.java \
-jaxp/source/org/w3c/dom/ranges/Range.java \
-jaxp/source/org/w3c/dom/ranges/RangeException.java \
-jaxp/source/org/w3c/dom/ranges/package.html \
-jaxp/source/org/w3c/dom/stylesheets/DocumentStyle.java \
-jaxp/source/org/w3c/dom/stylesheets/LinkStyle.java \
-jaxp/source/org/w3c/dom/stylesheets/MediaList.java \
-jaxp/source/org/w3c/dom/stylesheets/StyleSheet.java \
-jaxp/source/org/w3c/dom/stylesheets/StyleSheetList.java \
-jaxp/source/org/w3c/dom/stylesheets/package.html \
-jaxp/source/org/w3c/dom/traversal/DocumentTraversal.java \
-jaxp/source/org/w3c/dom/traversal/NodeFilter.java \
-jaxp/source/org/w3c/dom/traversal/NodeIterator.java \
-jaxp/source/org/w3c/dom/traversal/TreeWalker.java \
-jaxp/source/org/w3c/dom/traversal/package.html \
-jaxp/source/org/w3c/dom/views/AbstractView.java \
-jaxp/source/org/w3c/dom/views/DocumentView.java \
-jaxp/source/org/w3c/dom/views/package.html \
-jaxp/source/org/xml/sax/ext/Attributes2.java \
-jaxp/source/org/xml/sax/ext/Attributes2Impl.java \
-jaxp/source/org/xml/sax/ext/DeclHandler.java \
-jaxp/source/org/xml/sax/ext/DefaultHandler2.java \
-jaxp/source/org/xml/sax/ext/EntityResolver2.java \
-jaxp/source/org/xml/sax/ext/LexicalHandler.java \
-jaxp/source/org/xml/sax/ext/Locator2.java \
-jaxp/source/org/xml/sax/ext/Locator2Impl.java \
-jaxp/source/org/xml/sax/ext/package.html \
-jaxp/source/org/xml/sax/AttributeList.java \
-jaxp/source/org/xml/sax/Attributes.java \
-jaxp/source/org/xml/sax/ContentHandler.java \
-jaxp/source/org/xml/sax/DTDHandler.java \
-jaxp/source/org/xml/sax/DocumentHandler.java \
-jaxp/source/org/xml/sax/EntityResolver.java \
-jaxp/source/org/xml/sax/ErrorHandler.java \
-jaxp/source/org/xml/sax/HandlerBase.java \
-jaxp/source/org/xml/sax/InputSource.java \
-jaxp/source/org/xml/sax/Locator.java \
-jaxp/source/org/xml/sax/Parser.java \
-jaxp/source/org/xml/sax/SAXException.java \
-jaxp/source/org/xml/sax/SAXNotRecognizedException.java \
-jaxp/source/org/xml/sax/SAXNotSupportedException.java \
-jaxp/source/org/xml/sax/SAXParseException.java \
-jaxp/source/org/xml/sax/XMLFilter.java \
-jaxp/source/org/xml/sax/XMLReader.java \
-jaxp/source/org/xml/sax/package.html \
-jaxp/source/org/xml/sax/helpers/AttributeListImpl.java \
-jaxp/source/org/xml/sax/helpers/AttributesImpl.java \
-jaxp/source/org/xml/sax/helpers/DefaultHandler.java \
-jaxp/source/org/xml/sax/helpers/LocatorImpl.java \
-jaxp/source/org/xml/sax/helpers/NamespaceSupport.java \
-jaxp/source/org/xml/sax/helpers/NewInstance.java \
-jaxp/source/org/xml/sax/helpers/ParserAdapter.java \
-jaxp/source/org/xml/sax/helpers/ParserFactory.java \
-jaxp/source/org/xml/sax/helpers/XMLFilterImpl.java \
-jaxp/source/org/xml/sax/helpers/XMLReaderAdapter.java \
-jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java \
-jaxp/source/org/xml/sax/helpers/package.html \
-jaxp/.cvsignore \
-jaxp/AUTHORS \
-jaxp/COPYING \
-jaxp/COPYRIGHT.html \
-jaxp/HACKING \
-jaxp/LICENSE \
-jaxp/Makefile.aj \
-jaxp/Makefile.in \
-jaxp/README \
-jaxp/aclocal.m4 \
-jaxp/automakejar \
-jaxp/configure.in \
-jaxp/manifest.mf \
-jaxp/tests/dom/NodeType.java \
-jaxp/tests/dom/nodetype.xml
-
-DISTFILES = README Makefile.am Makefile.in ${jaxp_FILES}
-
diff --git a/external/README b/external/README
deleted file mode 100644
index 5b8117f5c..000000000
--- a/external/README
+++ /dev/null
@@ -1,21 +0,0 @@
-This directory contains libraries maintained externally to GNU Classpath.
-
-jaxp - http://www.gnu.org/software/classpathx/jaxp/
-
- GNU JAXP, a part of the GNU Classpath Extensions project
- (hosted at savannah.gnu.org) is a free implementation of the
- standard XML processing APIs for Java:
-
- * SAX Parser API
- * DOM Level 2 generic XML data structures
- * JAXP v1.1 interface implementation
-
- Import method:
-
- cvs -d :ext:cbj@subversions.gnu.org:/cvsroot/classpath \
- import -m "import classpathx jaxp 20030123" \
- classpath/external/jaxp Classpathx JAXP_CVS_20030123
-
- You need to add the output of the following command to the
- jaxp_FILES in Makefile.am (remove the last \ from the last entry):
- $ for i in $(find jaxp -type f | grep -v CVS); do echo $i \\; done
diff --git a/external/jaxp/.cvsignore b/external/jaxp/.cvsignore
deleted file mode 100644
index ec2d0aa69..000000000
--- a/external/jaxp/.cvsignore
+++ /dev/null
@@ -1,11 +0,0 @@
-config.cache
-config.log
-config.status
-configure
-Log
-gnujaxp.jar
-Makefile
-Diff
-bin
-apidoc
-apidoc.zip
diff --git a/external/jaxp/AUTHORS b/external/jaxp/AUTHORS
deleted file mode 100644
index 739873a50..000000000
--- a/external/jaxp/AUTHORS
+++ /dev/null
@@ -1,9 +0,0 @@
-David Brownell: dbrownell@users.sourceforge.net
- (AElfred v2, DOM implementation, SAX and XML utilities)
-
-David Megginson: david@megginson.com
- (original author: SAX1, SAX2 interface files; AElfred v1)
-
-Andrew Selkirk: aselkirk@mailandnews.com
- (original author: JAXP interface files)
-
diff --git a/external/jaxp/COPYING b/external/jaxp/COPYING
deleted file mode 100644
index 60549be51..000000000
--- a/external/jaxp/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/external/jaxp/COPYRIGHT.html b/external/jaxp/COPYRIGHT.html
deleted file mode 100644
index 26049b750..000000000
--- a/external/jaxp/COPYRIGHT.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
- "http://www.w3.org/TR/REC-html40/loose.dtd">
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>W3C IPR SOFTWARE NOTICE</title>
- </head>
- <body bgcolor="#FFFFFF" text="#000000">
- <h1>
- W3C IPR SOFTWARE NOTICE
- </h1>
- <h3>
- Copyright &copy; 2000 <loc href="http://www.w3.org/">World Wide Web
- Consortium</loc>, (<loc href="http://www.lcs.mit.edu/">Massachusetts
- Institute of Technology</loc>, <loc href="http://www.inria.fr/">Institut
- National de Recherche en Informatique et en Automatique</loc>, <loc
- href="http://www.keio.ac.jp/">Keio University</loc>). All Rights
- Reserved.
- </h3>
- <p>
- The DOM bindings are published under the W3C Software Copyright Notice
- and License. The software license requires "Notice of any changes or
- modifications to the W3C files, including the date changes were made."
- Consequently, modified versions of the DOM bindings must document that
- they do not conform to the W3C standard; in the case of the IDL binding,
- the pragma prefix can no longer be 'w3c.org'; in the case of the Java
- binding, the package names can no longer be in the 'org.w3c' package.
- </p>
- <p>
- <b>Note:</b> The original version of the W3C Software Copyright Notice
- and License could be found at <a
- href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
- </p>
- <h3>
- Copyright &copy; 1994-2000 <a href="http://www.w3.org/">World Wide Web
- Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
- Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
- National de Recherche en Informatique et en Automatique</a>, <a
- href="http://www.keio.ac.jp/">Keio University</a>). All Rights
- Reserved. http://www.w3.org/Consortium/Legal/
- </h3>
- <p>
- This W3C work (including software, documents, or other related items) is
- being provided by the copyright holders under the following license. By
- obtaining, using and/or copying this work, you (the licensee) agree that
- you have read, understood, and will comply with the following terms and
- conditions:
- </p>
- <p>
- Permission to use, copy, and modify this software and its documentation,
- with or without modification,&nbsp; for any purpose and without fee or
- royalty is hereby granted, provided that you include the following on ALL
- copies of the software and documentation or portions thereof, including
- modifications, that you make:
- </p>
- <ol>
- <li>
- The full text of this NOTICE in a location viewable to users of the
- redistributed or derivative work.
- </li>
- <li>
- Any pre-existing intellectual property disclaimers, notices, or terms
- and conditions. If none exist, a short notice of the following form
- (hypertext is preferred, text is permitted) should be used within the
- body of any redistributed or derivative code: "Copyright &copy;
- [$date-of-software] <a href="http://www.w3.org/">World Wide Web
- Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
- Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
- National de Recherche en Informatique et en Automatique</a>, <a
- href="http://www.keio.ac.jp/">Keio University</a>). All Rights
- Reserved. http://www.w3.org/Consortium/Legal/"
- </li>
- <li>
- Notice of any changes or modifications to the W3C files, including the
- date changes were made. (We recommend you provide URIs to the location
- from which the code is derived.)
- </li>
- </ol>
- <p>
- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
- HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
- INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
- FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
- DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
- TRADEMARKS OR OTHER RIGHTS.
- </p>
- <p>
- COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
- CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
- DOCUMENTATION.
- </p>
- <p>
- The name and trademarks of copyright holders may NOT be used in
- advertising or publicity pertaining to the software without specific,
- written prior permission. Title to copyright in this software and any
- associated documentation will at all times remain with copyright
- holders.
- </p>
- </body>
-</html>
diff --git a/external/jaxp/HACKING b/external/jaxp/HACKING
deleted file mode 100644
index 2c0253f3a..000000000
--- a/external/jaxp/HACKING
+++ /dev/null
@@ -1,30 +0,0 @@
-HACKING GNUJAXP
----------------
-
-
-Building GNUJAXP from the CVS module
-------------------------------------
-To build GNUJAXP from the source in CVS you can simply run configure
-to generate the Makefile. The Makefile knows how to rebuild itself
-using the auto tools.
-
-To create new build files you should do:
-
- $ make mrproper
-
-Followed by the following:
-
- $ autoconf
- $ ./automakejar Makefile.in
- $ ./configure
- $ make all
-
-You will need the GNU autotools for this. Autoconf versions 2.13
-upward are supported.
-
-
-
-
-Nic Ferrier
-ClasspathX Maintainer
-nferrier@gnu.org
diff --git a/external/jaxp/LICENSE b/external/jaxp/LICENSE
deleted file mode 100644
index 2c19112cf..000000000
--- a/external/jaxp/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-The software in this package is distributed under the GNU General Public
-License (with "Library Exception" described below), with the exceptions
-of the DOM interface sources (which are subject instead to the W3C license)
-and the SAX2 r2pre2 files (which are in the public domain).
-
-A copy of GNU General Public License (GPL) is included in this distribution,
-in the file COPYING. If you do not have the source code, it is available at:
-
- http://www.gnu.org/software/classpathx/jaxp
-
-Source distributions include a copy of the W3C copyright as "COPYRIGHT.html".
-
-In addition, the files distributed under GPL include the following
-special exception.
-
- As a special exception, if you link this library with
- other files to produce an executable, this library does
- not by itself cause the resulting executable to be covered
- by the GNU General Public License. This exception does
- not however invalidate any other reasons why the executable
- file might be covered by the GNU General Public License.
-
-As such, this software can be used to run Free as well as proprietary
-applications and applets: static linking is permitted, so this can
-even be used in embedded configurations.
diff --git a/external/jaxp/Makefile.aj b/external/jaxp/Makefile.aj
deleted file mode 100644
index a9909b136..000000000
--- a/external/jaxp/Makefile.aj
+++ /dev/null
@@ -1,435 +0,0 @@
-# Makefile for GNU classpathx "GNUJAXP" project
-#
-# You are free to redistribute this file. NO WARRANTY or fitness
-# for purpose is implied by this notice.
-#
-# !!! !!!
-# !!! MAKE EDITS TO "Makefile.in", not "Makefile" !!!
-# !!! !!!
-#
-# Use the "configure" command to generate the project Makefile
-# from its "Makefile.in" template.
-#
-
-##set by configure
-
-PROJECTROOT = @srcdir@
-
-JAVAC = @JAVA_CC@
-JAVAC_OPTS = -g @JAVA_CC_OPTS@
-JAR = @JAR_TOOL@
-
-SOURCEDIR = $(PROJECTROOT)/source
-SOURCEFILES = $(SOURCEDIR)/gnu/xml/aelfred2/JAXPFactory.java \
- $(SOURCEDIR)/gnu/xml/aelfred2/SAXDriver.java \
- $(SOURCEDIR)/gnu/xml/aelfred2/XmlParser.java \
- $(SOURCEDIR)/gnu/xml/aelfred2/XmlReader.java \
- $(SOURCEDIR)/gnu/xml/dom/Consumer.java \
- $(SOURCEDIR)/gnu/xml/dom/DomAttr.java \
- $(SOURCEDIR)/gnu/xml/dom/DomCDATA.java \
- $(SOURCEDIR)/gnu/xml/dom/DomCharacterData.java \
- $(SOURCEDIR)/gnu/xml/dom/DomComment.java \
- $(SOURCEDIR)/gnu/xml/dom/DomDoctype.java \
- $(SOURCEDIR)/gnu/xml/dom/DomDocument.java \
- $(SOURCEDIR)/gnu/xml/dom/DomElement.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEntity.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEntityReference.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEvent.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEx.java \
- $(SOURCEDIR)/gnu/xml/dom/DomExtern.java \
- $(SOURCEDIR)/gnu/xml/dom/DomFragment.java \
- $(SOURCEDIR)/gnu/xml/dom/DomImpl.java \
- $(SOURCEDIR)/gnu/xml/dom/DomIterator.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNamedNodeMap.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNode.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNotation.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNsNode.java \
- $(SOURCEDIR)/gnu/xml/dom/DomPI.java \
- $(SOURCEDIR)/gnu/xml/dom/DomText.java \
- $(SOURCEDIR)/gnu/xml/dom/JAXPFactory.java \
- $(SOURCEDIR)/gnu/xml/pipeline/CallFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/DomConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/EventConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/EventFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/LinkFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/NSFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/PipelineFactory.java \
- $(SOURCEDIR)/gnu/xml/pipeline/TeeConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/TextConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/ValidationConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/WellFormednessFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/XIncludeFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/XsltFilter.java \
- $(SOURCEDIR)/gnu/xml/util/DoParse.java \
- $(SOURCEDIR)/gnu/xml/util/DomParser.java \
- $(SOURCEDIR)/gnu/xml/util/Resolver.java \
- $(SOURCEDIR)/gnu/xml/util/SAXNullTransformerFactory.java \
- $(SOURCEDIR)/gnu/xml/util/XCat.java \
- $(SOURCEDIR)/gnu/xml/util/XHTMLWriter.java \
- $(SOURCEDIR)/gnu/xml/util/XMLWriter.java \
- $(SOURCEDIR)/javax/xml/parsers/ClassStuff.java \
- $(SOURCEDIR)/javax/xml/parsers/DocumentBuilder.java \
- $(SOURCEDIR)/javax/xml/parsers/DocumentBuilderFactory.java \
- $(SOURCEDIR)/javax/xml/parsers/FactoryConfigurationError.java \
- $(SOURCEDIR)/javax/xml/parsers/ParserConfigurationException.java \
- $(SOURCEDIR)/javax/xml/parsers/SAXParser.java \
- $(SOURCEDIR)/javax/xml/parsers/SAXParserFactory.java \
- $(SOURCEDIR)/javax/xml/transform/ClassStuff.java \
- $(SOURCEDIR)/javax/xml/transform/ErrorListener.java \
- $(SOURCEDIR)/javax/xml/transform/OutputKeys.java \
- $(SOURCEDIR)/javax/xml/transform/Result.java \
- $(SOURCEDIR)/javax/xml/transform/Source.java \
- $(SOURCEDIR)/javax/xml/transform/SourceLocator.java \
- $(SOURCEDIR)/javax/xml/transform/Templates.java \
- $(SOURCEDIR)/javax/xml/transform/Transformer.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerConfigurationException.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerException.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerFactory.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerFactoryConfigurationError.java \
- $(SOURCEDIR)/javax/xml/transform/URIResolver.java \
- $(SOURCEDIR)/javax/xml/transform/dom/DOMLocator.java \
- $(SOURCEDIR)/javax/xml/transform/dom/DOMResult.java \
- $(SOURCEDIR)/javax/xml/transform/dom/DOMSource.java \
- $(SOURCEDIR)/javax/xml/transform/sax/SAXResult.java \
- $(SOURCEDIR)/javax/xml/transform/sax/SAXSource.java \
- $(SOURCEDIR)/javax/xml/transform/sax/SAXTransformerFactory.java \
- $(SOURCEDIR)/javax/xml/transform/sax/TemplatesHandler.java \
- $(SOURCEDIR)/javax/xml/transform/sax/TransformerHandler.java \
- $(SOURCEDIR)/javax/xml/transform/stream/StreamResult.java \
- $(SOURCEDIR)/javax/xml/transform/stream/StreamSource.java \
- $(SOURCEDIR)/org/w3c/dom/Attr.java \
- $(SOURCEDIR)/org/w3c/dom/CDATASection.java \
- $(SOURCEDIR)/org/w3c/dom/CharacterData.java \
- $(SOURCEDIR)/org/w3c/dom/Comment.java \
- $(SOURCEDIR)/org/w3c/dom/DOMException.java \
- $(SOURCEDIR)/org/w3c/dom/DOMImplementation.java \
- $(SOURCEDIR)/org/w3c/dom/Document.java \
- $(SOURCEDIR)/org/w3c/dom/DocumentFragment.java \
- $(SOURCEDIR)/org/w3c/dom/DocumentType.java \
- $(SOURCEDIR)/org/w3c/dom/Element.java \
- $(SOURCEDIR)/org/w3c/dom/Entity.java \
- $(SOURCEDIR)/org/w3c/dom/EntityReference.java \
- $(SOURCEDIR)/org/w3c/dom/NamedNodeMap.java \
- $(SOURCEDIR)/org/w3c/dom/Node.java \
- $(SOURCEDIR)/org/w3c/dom/NodeList.java \
- $(SOURCEDIR)/org/w3c/dom/Notation.java \
- $(SOURCEDIR)/org/w3c/dom/ProcessingInstruction.java \
- $(SOURCEDIR)/org/w3c/dom/Text.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2Azimuth.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2BackgroundPosition.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2BorderSpacing.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2CounterIncrement.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2CounterReset.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2Cursor.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2FontFaceSrc.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2FontFaceWidths.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2PageSize.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2PlayDuring.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2Properties.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2TextShadow.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSCharsetRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSFontFaceRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSImportRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSMediaRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSPageRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSPrimitiveValue.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSRuleList.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSStyleDeclaration.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSStyleRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSStyleSheet.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSUnknownRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSValue.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSValueList.java \
- $(SOURCEDIR)/org/w3c/dom/css/Counter.java \
- $(SOURCEDIR)/org/w3c/dom/css/DOMImplementationCSS.java \
- $(SOURCEDIR)/org/w3c/dom/css/DocumentCSS.java \
- $(SOURCEDIR)/org/w3c/dom/css/ElementCSSInlineStyle.java \
- $(SOURCEDIR)/org/w3c/dom/css/RGBColor.java \
- $(SOURCEDIR)/org/w3c/dom/css/Rect.java \
- $(SOURCEDIR)/org/w3c/dom/css/ViewCSS.java \
- $(SOURCEDIR)/org/w3c/dom/events/DocumentEvent.java \
- $(SOURCEDIR)/org/w3c/dom/events/Event.java \
- $(SOURCEDIR)/org/w3c/dom/events/EventException.java \
- $(SOURCEDIR)/org/w3c/dom/events/EventListener.java \
- $(SOURCEDIR)/org/w3c/dom/events/EventTarget.java \
- $(SOURCEDIR)/org/w3c/dom/events/MouseEvent.java \
- $(SOURCEDIR)/org/w3c/dom/events/MutationEvent.java \
- $(SOURCEDIR)/org/w3c/dom/events/UIEvent.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLAnchorElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLAppletElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLAreaElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBRElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBaseElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBaseFontElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBodyElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLButtonElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLCollection.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDListElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDOMImplementation.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDirectoryElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDivElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDocument.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFieldSetElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFontElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFormElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFrameElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFrameSetElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHRElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHeadElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHeadingElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHtmlElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLIFrameElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLImageElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLInputElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLIsIndexElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLIElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLabelElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLegendElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLinkElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLMapElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLMenuElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLMetaElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLModElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLOListElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLObjectElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLOptGroupElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLOptionElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLParagraphElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLParamElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLPreElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLQuoteElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLScriptElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLSelectElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLStyleElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableCaptionElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableCellElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableColElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableRowElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableSectionElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTextAreaElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTitleElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLUListElement.java \
- $(SOURCEDIR)/org/w3c/dom/ranges/DocumentRange.java \
- $(SOURCEDIR)/org/w3c/dom/ranges/Range.java \
- $(SOURCEDIR)/org/w3c/dom/ranges/RangeException.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/DocumentStyle.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/LinkStyle.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/MediaList.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/StyleSheet.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/StyleSheetList.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/DocumentTraversal.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/NodeFilter.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/NodeIterator.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/TreeWalker.java \
- $(SOURCEDIR)/org/w3c/dom/views/AbstractView.java \
- $(SOURCEDIR)/org/w3c/dom/views/DocumentView.java \
- $(SOURCEDIR)/org/xml/sax/AttributeList.java \
- $(SOURCEDIR)/org/xml/sax/Attributes.java \
- $(SOURCEDIR)/org/xml/sax/ContentHandler.java \
- $(SOURCEDIR)/org/xml/sax/DTDHandler.java \
- $(SOURCEDIR)/org/xml/sax/DocumentHandler.java \
- $(SOURCEDIR)/org/xml/sax/EntityResolver.java \
- $(SOURCEDIR)/org/xml/sax/ErrorHandler.java \
- $(SOURCEDIR)/org/xml/sax/HandlerBase.java \
- $(SOURCEDIR)/org/xml/sax/InputSource.java \
- $(SOURCEDIR)/org/xml/sax/Locator.java \
- $(SOURCEDIR)/org/xml/sax/Parser.java \
- $(SOURCEDIR)/org/xml/sax/SAXException.java \
- $(SOURCEDIR)/org/xml/sax/SAXNotRecognizedException.java \
- $(SOURCEDIR)/org/xml/sax/SAXNotSupportedException.java \
- $(SOURCEDIR)/org/xml/sax/SAXParseException.java \
- $(SOURCEDIR)/org/xml/sax/XMLFilter.java \
- $(SOURCEDIR)/org/xml/sax/XMLReader.java \
- $(SOURCEDIR)/org/xml/sax/ext/Attributes2.java \
- $(SOURCEDIR)/org/xml/sax/ext/Attributes2Impl.java \
- $(SOURCEDIR)/org/xml/sax/ext/DeclHandler.java \
- $(SOURCEDIR)/org/xml/sax/ext/DefaultHandler2.java \
- $(SOURCEDIR)/org/xml/sax/ext/EntityResolver2.java \
- $(SOURCEDIR)/org/xml/sax/ext/LexicalHandler.java \
- $(SOURCEDIR)/org/xml/sax/ext/Locator2.java \
- $(SOURCEDIR)/org/xml/sax/ext/Locator2Impl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/AttributeListImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/AttributesImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/DefaultHandler.java \
- $(SOURCEDIR)/org/xml/sax/helpers/LocatorImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/NamespaceSupport.java \
- $(SOURCEDIR)/org/xml/sax/helpers/NewInstance.java \
- $(SOURCEDIR)/org/xml/sax/helpers/ParserAdapter.java \
- $(SOURCEDIR)/org/xml/sax/helpers/ParserFactory.java \
- $(SOURCEDIR)/org/xml/sax/helpers/XMLFilterImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/XMLReaderAdapter.java \
- $(SOURCEDIR)/org/xml/sax/helpers/XMLReaderFactory.java
-
-PKGFILES = \
- $(SOURCEDIR)/gnu/xml/aelfred2/package.html \
- $(SOURCEDIR)/gnu/xml/dom/package.html \
- $(SOURCEDIR)/gnu/xml/pipeline/package.html \
- $(SOURCEDIR)/gnu/xml/util/package.html \
- $(SOURCEDIR)/javax/xml/parsers/package.html \
- $(SOURCEDIR)/javax/xml/transform/package.html \
- $(SOURCEDIR)/javax/xml/transform/dom/package.html \
- $(SOURCEDIR)/javax/xml/transform/sax/package.html \
- $(SOURCEDIR)/javax/xml/transform/stream/package.html \
- $(SOURCEDIR)/org/w3c/dom/package.html \
- $(SOURCEDIR)/org/w3c/dom/events/package.html \
- $(SOURCEDIR)/org/w3c/dom/traversal/package.html \
- $(SOURCEDIR)/org/w3c/dom/views/package.html \
- $(SOURCEDIR)/org/xml/sax/package.html \
- $(SOURCEDIR)/org/xml/sax/ext/package.html \
- $(SOURCEDIR)/org/xml/sax/helpers/package.html \
-
-
-#GCJ options.
-GCJ_OPTS = --encoding=8859_1 -fsyntax-only -femit-class-files
-GCJ_COMPILE = $(GCJ) $(GCJ_OPTS) -Isource -foutput-class-dir=$(CC-DESTDIR)
-
-# Variables which define some useful constants
-newline:=\\n
-empty:=
-space:=$(empty) $(empty)
-
-
-default: gnujaxp.jar
-
-all: gnujaxp.jar javadoc
-
-
-# Ensure the makefile can update itself.
-Makefile: Makefile.in configure.in
- $(SHELL) ./config.status
-
-Makefile.in: Makefile.aj
- $(SHELL) $(PROJECTROOT)/automakejar ./Makefile.in
-
-
-# Build the META-INF directory.
-META-INF META-INF/services:
- mkdir $@
-
-# Admin file targets.
-META-INF/COPYING: META-INF $(PROJECTROOT)/COPYING
- cp $(PROJECTROOT)/COPYING $@
-
-META-INF/LICENSE: META-INF $(PROJECTROOT)/LICENSE
- cp $(PROJECTROOT)/LICENSE $@
-
-# Support file targets.
-META-INF/services/org.xml.sax.driver: META-INF/services
- echo -n gnu.xml.aelfred2.XmlReader > $@
-
-META-INF/services/javax.xml.parsers.SAXParserFactory: META-INF/services
- echo -n gnu.xml.aelfred2.JAXPFactory > $@
-
-META-INF/services/javax.xml.parsers.DocumentBuilderFactory: META-INF/services
- echo -n gnu.xml.dom.JAXPFactory > $@
-
-SUPPORTFILES = \
- META-INF/COPYING \
- META-INF/LICENSE \
- META-INF/services/org.xml.sax.driver \
- META-INF/services/javax.xml.parsers.SAXParserFactory \
- META-INF/services/javax.xml.parsers.DocumentBuilderFactory
-
-
-# This is an automakejar target.
-# You must run the automakejar script on this Make file to
-# cause the target to be legal Make syntax.
-gnujaxp.jar:
- sourcedir=$(SOURCEDIR)
- sourcefiles=$(SOURCEFILES)
- classpath=$(wildcard lib/*.jar)
- classesdest=classes
- otherfiles=$(SUPPORTFILES)
- manifest=$(PROJECTROOT)/manifest.mf
-# End of automakejar target.
-
-
-
-# for normal development
-# must rerun "make" after this
-clean:
- -rm -rf gnujaxp.jar classes META-INF Log apidoc apidoc.zip
- -rm -rf gnujaxp-*.zip
-
-# Nust rerun automakejar and configure after this
-distclean: clean
- -rm -f Makefile Makefile.in config.cache config.log config.status
-
-# Nust rerun aclocal, autoconf, automakejar and configure after this
-mrproper: distclean
- -rm -f configure
-
-javadoc: apidoc.zip
-apidoc.zip:
- -rm -rf apidoc
- mkdir -p apidoc
- javadoc -d apidoc \
- -windowtitle "GNU JAXP Library" \
- -nodeprecatedlist \
- -version -author -use \
- -bottom "<p>Source code is under GPL \
- (with library exception) in the JAXP project at \
- <a href='http://www.gnu.org/software/classpathx/jaxp'> \
- http://www.gnu.org/software/classpathx/jaxp</a> \
- <br>This documentation was derived from that\
- source code on `date -I`.\
- </p>" \
- -classpath "$(SOURCEDIR)" \
- \
- -group "AElfred2 and SAX2 Utilities" \
- "gnu.xml.aelfred2:gnu.xml.pipeline:gnu.xml.util" \
- -group "DOM2, implementing DOM Level 2" \
- "gnu.xml.dom" \
- \
- -group "SAX and SAX2" \
- "org.xml.sax:org.xml.sax.ext:org.xml.sax.helpers" \
- -group "DOM Level 2 (W3C)" \
- "org.w3c.*" \
- -group "Java API for XML (v1.1) (Sun)" \
- "javax.xml.*" \
- \
- gnu.xml.aelfred2 gnu.xml.pipeline gnu.xml.util \
- gnu.xml.dom \
- org.xml.sax org.xml.sax.ext org.xml.sax.helpers \
- org.w3c.dom org.w3c.dom.events \
- javax.xml.parsers \
- javax.xml.transform javax.xml.transform.dom \
- javax.xml.transform.sax javax.xml.transform.stream
- jar cMf apidoc.zip apidoc
-
-#
-# RELEASE ENGINEERING:
-# "full" release has source, jarfile, javadoc, and extras
-#
-# override VERSION in environment, like:
-# $ VERSION=1.0beta1 make -e release
-#
-VERSION = dev
-
-release: gnujaxp-$(VERSION).zip
-
-
-DIST_DIR = gnujaxp-$(VERSION)
-
-# XXX ChangeLog
-FILES := \
- LICENSE COPYING COPYRIGHT.html README \
- gnujaxp.jar \
- configure Makefile.in manifest.mf
-
-gnujaxp-$(VERSION).zip: $(FILES) apidoc.zip $(SOURCEFILES) $(PKGFILES)
- for F in $(FILES) $(SOURCEFILES) $(PKGFILES) ;\
- do \
- mkdir -p `dirname $(DIST_DIR)/$$F` ;\
- cp $$F $(DIST_DIR)/$$F ;\
- done
- cd $(DIST_DIR); jar xf ../apidoc.zip
- chmod +x $(DIST_DIR)/configure
- cp gnujaxp.jar $(DIST_DIR)
- # jar cMf gnujaxp-$(VERSION).zip $(DIST_DIR)
- zip -qr9 gnujaxp-$(VERSION).zip $(DIST_DIR)
- rm -rf $(DIST_DIR)
-
diff --git a/external/jaxp/Makefile.in b/external/jaxp/Makefile.in
deleted file mode 100644
index 3bef3f131..000000000
--- a/external/jaxp/Makefile.in
+++ /dev/null
@@ -1,466 +0,0 @@
-# Makefile for GNU classpathx "GNUJAXP" project
-#
-# You are free to redistribute this file. NO WARRANTY or fitness
-# for purpose is implied by this notice.
-#
-# !!! !!!
-# !!! MAKE EDITS TO "Makefile.in", not "Makefile" !!!
-# !!! !!!
-#
-# Use the "configure" command to generate the project Makefile
-# from its "Makefile.in" template.
-#
-
-##set by configure
-
-PROJECTROOT = @srcdir@
-
-JAVAC = @JAVA_CC@
-JAVAC_OPTS = -g @JAVA_CC_OPTS@
-JAR = @JAR_TOOL@
-
-SOURCEDIR = $(PROJECTROOT)/source
-SOURCEFILES = $(SOURCEDIR)/gnu/xml/aelfred2/JAXPFactory.java \
- $(SOURCEDIR)/gnu/xml/aelfred2/SAXDriver.java \
- $(SOURCEDIR)/gnu/xml/aelfred2/XmlParser.java \
- $(SOURCEDIR)/gnu/xml/aelfred2/XmlReader.java \
- $(SOURCEDIR)/gnu/xml/dom/Consumer.java \
- $(SOURCEDIR)/gnu/xml/dom/DomAttr.java \
- $(SOURCEDIR)/gnu/xml/dom/DomCDATA.java \
- $(SOURCEDIR)/gnu/xml/dom/DomCharacterData.java \
- $(SOURCEDIR)/gnu/xml/dom/DomComment.java \
- $(SOURCEDIR)/gnu/xml/dom/DomDoctype.java \
- $(SOURCEDIR)/gnu/xml/dom/DomDocument.java \
- $(SOURCEDIR)/gnu/xml/dom/DomElement.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEntity.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEntityReference.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEvent.java \
- $(SOURCEDIR)/gnu/xml/dom/DomEx.java \
- $(SOURCEDIR)/gnu/xml/dom/DomExtern.java \
- $(SOURCEDIR)/gnu/xml/dom/DomFragment.java \
- $(SOURCEDIR)/gnu/xml/dom/DomImpl.java \
- $(SOURCEDIR)/gnu/xml/dom/DomIterator.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNamedNodeMap.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNode.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNotation.java \
- $(SOURCEDIR)/gnu/xml/dom/DomNsNode.java \
- $(SOURCEDIR)/gnu/xml/dom/DomPI.java \
- $(SOURCEDIR)/gnu/xml/dom/DomText.java \
- $(SOURCEDIR)/gnu/xml/dom/JAXPFactory.java \
- $(SOURCEDIR)/gnu/xml/pipeline/CallFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/DomConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/EventConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/EventFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/LinkFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/NSFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/PipelineFactory.java \
- $(SOURCEDIR)/gnu/xml/pipeline/TeeConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/TextConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/ValidationConsumer.java \
- $(SOURCEDIR)/gnu/xml/pipeline/WellFormednessFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/XIncludeFilter.java \
- $(SOURCEDIR)/gnu/xml/pipeline/XsltFilter.java \
- $(SOURCEDIR)/gnu/xml/util/DoParse.java \
- $(SOURCEDIR)/gnu/xml/util/DomParser.java \
- $(SOURCEDIR)/gnu/xml/util/Resolver.java \
- $(SOURCEDIR)/gnu/xml/util/SAXNullTransformerFactory.java \
- $(SOURCEDIR)/gnu/xml/util/XCat.java \
- $(SOURCEDIR)/gnu/xml/util/XHTMLWriter.java \
- $(SOURCEDIR)/gnu/xml/util/XMLWriter.java \
- $(SOURCEDIR)/javax/xml/parsers/ClassStuff.java \
- $(SOURCEDIR)/javax/xml/parsers/DocumentBuilder.java \
- $(SOURCEDIR)/javax/xml/parsers/DocumentBuilderFactory.java \
- $(SOURCEDIR)/javax/xml/parsers/FactoryConfigurationError.java \
- $(SOURCEDIR)/javax/xml/parsers/ParserConfigurationException.java \
- $(SOURCEDIR)/javax/xml/parsers/SAXParser.java \
- $(SOURCEDIR)/javax/xml/parsers/SAXParserFactory.java \
- $(SOURCEDIR)/javax/xml/transform/ClassStuff.java \
- $(SOURCEDIR)/javax/xml/transform/ErrorListener.java \
- $(SOURCEDIR)/javax/xml/transform/OutputKeys.java \
- $(SOURCEDIR)/javax/xml/transform/Result.java \
- $(SOURCEDIR)/javax/xml/transform/Source.java \
- $(SOURCEDIR)/javax/xml/transform/SourceLocator.java \
- $(SOURCEDIR)/javax/xml/transform/Templates.java \
- $(SOURCEDIR)/javax/xml/transform/Transformer.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerConfigurationException.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerException.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerFactory.java \
- $(SOURCEDIR)/javax/xml/transform/TransformerFactoryConfigurationError.java \
- $(SOURCEDIR)/javax/xml/transform/URIResolver.java \
- $(SOURCEDIR)/javax/xml/transform/dom/DOMLocator.java \
- $(SOURCEDIR)/javax/xml/transform/dom/DOMResult.java \
- $(SOURCEDIR)/javax/xml/transform/dom/DOMSource.java \
- $(SOURCEDIR)/javax/xml/transform/sax/SAXResult.java \
- $(SOURCEDIR)/javax/xml/transform/sax/SAXSource.java \
- $(SOURCEDIR)/javax/xml/transform/sax/SAXTransformerFactory.java \
- $(SOURCEDIR)/javax/xml/transform/sax/TemplatesHandler.java \
- $(SOURCEDIR)/javax/xml/transform/sax/TransformerHandler.java \
- $(SOURCEDIR)/javax/xml/transform/stream/StreamResult.java \
- $(SOURCEDIR)/javax/xml/transform/stream/StreamSource.java \
- $(SOURCEDIR)/org/w3c/dom/Attr.java \
- $(SOURCEDIR)/org/w3c/dom/CDATASection.java \
- $(SOURCEDIR)/org/w3c/dom/CharacterData.java \
- $(SOURCEDIR)/org/w3c/dom/Comment.java \
- $(SOURCEDIR)/org/w3c/dom/DOMException.java \
- $(SOURCEDIR)/org/w3c/dom/DOMImplementation.java \
- $(SOURCEDIR)/org/w3c/dom/Document.java \
- $(SOURCEDIR)/org/w3c/dom/DocumentFragment.java \
- $(SOURCEDIR)/org/w3c/dom/DocumentType.java \
- $(SOURCEDIR)/org/w3c/dom/Element.java \
- $(SOURCEDIR)/org/w3c/dom/Entity.java \
- $(SOURCEDIR)/org/w3c/dom/EntityReference.java \
- $(SOURCEDIR)/org/w3c/dom/NamedNodeMap.java \
- $(SOURCEDIR)/org/w3c/dom/Node.java \
- $(SOURCEDIR)/org/w3c/dom/NodeList.java \
- $(SOURCEDIR)/org/w3c/dom/Notation.java \
- $(SOURCEDIR)/org/w3c/dom/ProcessingInstruction.java \
- $(SOURCEDIR)/org/w3c/dom/Text.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2Azimuth.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2BackgroundPosition.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2BorderSpacing.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2CounterIncrement.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2CounterReset.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2Cursor.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2FontFaceSrc.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2FontFaceWidths.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2PageSize.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2PlayDuring.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2Properties.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSS2TextShadow.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSCharsetRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSFontFaceRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSImportRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSMediaRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSPageRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSPrimitiveValue.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSRuleList.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSStyleDeclaration.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSStyleRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSStyleSheet.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSUnknownRule.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSValue.java \
- $(SOURCEDIR)/org/w3c/dom/css/CSSValueList.java \
- $(SOURCEDIR)/org/w3c/dom/css/Counter.java \
- $(SOURCEDIR)/org/w3c/dom/css/DOMImplementationCSS.java \
- $(SOURCEDIR)/org/w3c/dom/css/DocumentCSS.java \
- $(SOURCEDIR)/org/w3c/dom/css/ElementCSSInlineStyle.java \
- $(SOURCEDIR)/org/w3c/dom/css/RGBColor.java \
- $(SOURCEDIR)/org/w3c/dom/css/Rect.java \
- $(SOURCEDIR)/org/w3c/dom/css/ViewCSS.java \
- $(SOURCEDIR)/org/w3c/dom/events/DocumentEvent.java \
- $(SOURCEDIR)/org/w3c/dom/events/Event.java \
- $(SOURCEDIR)/org/w3c/dom/events/EventException.java \
- $(SOURCEDIR)/org/w3c/dom/events/EventListener.java \
- $(SOURCEDIR)/org/w3c/dom/events/EventTarget.java \
- $(SOURCEDIR)/org/w3c/dom/events/MouseEvent.java \
- $(SOURCEDIR)/org/w3c/dom/events/MutationEvent.java \
- $(SOURCEDIR)/org/w3c/dom/events/UIEvent.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLAnchorElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLAppletElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLAreaElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBRElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBaseElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBaseFontElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLBodyElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLButtonElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLCollection.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDListElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDOMImplementation.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDirectoryElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDivElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLDocument.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFieldSetElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFontElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFormElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFrameElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLFrameSetElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHRElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHeadElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHeadingElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLHtmlElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLIFrameElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLImageElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLInputElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLIsIndexElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLIElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLabelElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLegendElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLLinkElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLMapElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLMenuElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLMetaElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLModElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLOListElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLObjectElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLOptGroupElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLOptionElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLParagraphElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLParamElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLPreElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLQuoteElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLScriptElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLSelectElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLStyleElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableCaptionElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableCellElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableColElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableRowElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTableSectionElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTextAreaElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLTitleElement.java \
- $(SOURCEDIR)/org/w3c/dom/html/HTMLUListElement.java \
- $(SOURCEDIR)/org/w3c/dom/ranges/DocumentRange.java \
- $(SOURCEDIR)/org/w3c/dom/ranges/Range.java \
- $(SOURCEDIR)/org/w3c/dom/ranges/RangeException.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/DocumentStyle.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/LinkStyle.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/MediaList.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/StyleSheet.java \
- $(SOURCEDIR)/org/w3c/dom/stylesheets/StyleSheetList.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/DocumentTraversal.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/NodeFilter.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/NodeIterator.java \
- $(SOURCEDIR)/org/w3c/dom/traversal/TreeWalker.java \
- $(SOURCEDIR)/org/w3c/dom/views/AbstractView.java \
- $(SOURCEDIR)/org/w3c/dom/views/DocumentView.java \
- $(SOURCEDIR)/org/xml/sax/AttributeList.java \
- $(SOURCEDIR)/org/xml/sax/Attributes.java \
- $(SOURCEDIR)/org/xml/sax/ContentHandler.java \
- $(SOURCEDIR)/org/xml/sax/DTDHandler.java \
- $(SOURCEDIR)/org/xml/sax/DocumentHandler.java \
- $(SOURCEDIR)/org/xml/sax/EntityResolver.java \
- $(SOURCEDIR)/org/xml/sax/ErrorHandler.java \
- $(SOURCEDIR)/org/xml/sax/HandlerBase.java \
- $(SOURCEDIR)/org/xml/sax/InputSource.java \
- $(SOURCEDIR)/org/xml/sax/Locator.java \
- $(SOURCEDIR)/org/xml/sax/Parser.java \
- $(SOURCEDIR)/org/xml/sax/SAXException.java \
- $(SOURCEDIR)/org/xml/sax/SAXNotRecognizedException.java \
- $(SOURCEDIR)/org/xml/sax/SAXNotSupportedException.java \
- $(SOURCEDIR)/org/xml/sax/SAXParseException.java \
- $(SOURCEDIR)/org/xml/sax/XMLFilter.java \
- $(SOURCEDIR)/org/xml/sax/XMLReader.java \
- $(SOURCEDIR)/org/xml/sax/ext/Attributes2.java \
- $(SOURCEDIR)/org/xml/sax/ext/Attributes2Impl.java \
- $(SOURCEDIR)/org/xml/sax/ext/DeclHandler.java \
- $(SOURCEDIR)/org/xml/sax/ext/DefaultHandler2.java \
- $(SOURCEDIR)/org/xml/sax/ext/EntityResolver2.java \
- $(SOURCEDIR)/org/xml/sax/ext/LexicalHandler.java \
- $(SOURCEDIR)/org/xml/sax/ext/Locator2.java \
- $(SOURCEDIR)/org/xml/sax/ext/Locator2Impl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/AttributeListImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/AttributesImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/DefaultHandler.java \
- $(SOURCEDIR)/org/xml/sax/helpers/LocatorImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/NamespaceSupport.java \
- $(SOURCEDIR)/org/xml/sax/helpers/NewInstance.java \
- $(SOURCEDIR)/org/xml/sax/helpers/ParserAdapter.java \
- $(SOURCEDIR)/org/xml/sax/helpers/ParserFactory.java \
- $(SOURCEDIR)/org/xml/sax/helpers/XMLFilterImpl.java \
- $(SOURCEDIR)/org/xml/sax/helpers/XMLReaderAdapter.java \
- $(SOURCEDIR)/org/xml/sax/helpers/XMLReaderFactory.java
-
-PKGFILES = \
- $(SOURCEDIR)/gnu/xml/aelfred2/package.html \
- $(SOURCEDIR)/gnu/xml/dom/package.html \
- $(SOURCEDIR)/gnu/xml/pipeline/package.html \
- $(SOURCEDIR)/gnu/xml/util/package.html \
- $(SOURCEDIR)/javax/xml/parsers/package.html \
- $(SOURCEDIR)/javax/xml/transform/package.html \
- $(SOURCEDIR)/javax/xml/transform/dom/package.html \
- $(SOURCEDIR)/javax/xml/transform/sax/package.html \
- $(SOURCEDIR)/javax/xml/transform/stream/package.html \
- $(SOURCEDIR)/org/w3c/dom/package.html \
- $(SOURCEDIR)/org/w3c/dom/events/package.html \
- $(SOURCEDIR)/org/w3c/dom/traversal/package.html \
- $(SOURCEDIR)/org/w3c/dom/views/package.html \
- $(SOURCEDIR)/org/xml/sax/package.html \
- $(SOURCEDIR)/org/xml/sax/ext/package.html \
- $(SOURCEDIR)/org/xml/sax/helpers/package.html \
-
-
-#GCJ options.
-GCJ_OPTS = --encoding=8859_1 -fsyntax-only -femit-class-files
-GCJ_COMPILE = $(GCJ) $(GCJ_OPTS) -Isource -foutput-class-dir=$(CC-DESTDIR)
-
-# Variables which define some useful constants
-newline:=\\n
-empty:=
-space:=$(empty) $(empty)
-
-
-default: gnujaxp.jar
-
-all: gnujaxp.jar javadoc
-
-
-# Ensure the makefile can update itself.
-Makefile: Makefile.in configure.in
- $(SHELL) ./config.status
-
-Makefile.in: Makefile.aj
- $(SHELL) $(PROJECTROOT)/automakejar ./Makefile.in
-
-
-# Build the META-INF directory.
-META-INF META-INF/services:
- mkdir $@
-
-# Admin file targets.
-META-INF/COPYING: META-INF $(PROJECTROOT)/COPYING
- cp $(PROJECTROOT)/COPYING $@
-
-META-INF/LICENSE: META-INF $(PROJECTROOT)/LICENSE
- cp $(PROJECTROOT)/LICENSE $@
-
-# Support file targets.
-META-INF/services/org.xml.sax.driver: META-INF/services
- echo -n gnu.xml.aelfred2.XmlReader > $@
-
-META-INF/services/javax.xml.parsers.SAXParserFactory: META-INF/services
- echo -n gnu.xml.aelfred2.JAXPFactory > $@
-
-META-INF/services/javax.xml.parsers.DocumentBuilderFactory: META-INF/services
- echo -n gnu.xml.dom.JAXPFactory > $@
-
-SUPPORTFILES = \
- META-INF/COPYING \
- META-INF/LICENSE \
- META-INF/services/org.xml.sax.driver \
- META-INF/services/javax.xml.parsers.SAXParserFactory \
- META-INF/services/javax.xml.parsers.DocumentBuilderFactory
-
-
-# This is an automakejar target.
-# You must run the automakejar script on this Make file to
-# cause the target to be legal Make syntax.
-gnujaxp_jar_sourcedir=$(SOURCEDIR)
-gnujaxp_jar_sourcefiles=$(SOURCEFILES)
-gnujaxp_jar_classpath=$(wildcard lib/*.jar)
-gnujaxp_jar_classesdest=classes
-gnujaxp_jar_otherfiles=$(SUPPORTFILES)
-gnujaxp_jar_manifest=$(PROJECTROOT)/manifest.mf
-# End of automakejar target.
-gnujaxp_jar_debugclasses=$(gnujaxp_jar_sourcefiles:.java=.class)
-gnujaxp_jar_classfiles=$(gnujaxp_jar_debugclasses:$(gnujaxp_jar_sourcedir)%=$(gnujaxp_jar_classesdest)%)
-
-gnujaxp.jar:
-gnujaxp.jar: gnujaxp-init $(gnujaxp_jar_classfiles) gnujaxp-compilation $(gnujaxp_jar_otherfiles) $(gnujaxp_jar_manifest)
- $(JAR) cf$(if $(gnujaxp_jar_manifest),m) gnujaxp.jar $(gnujaxp_jar_manifest) $(gnujaxp_jar_otherfiles) -C $(gnujaxp_jar_classesdest) .
-
-.PHONY: gnujaxp-init gnujaxp-compilation
-
-gnujaxp-init:
- echo > filelist
-
-gnujaxp-compilation: $(gnujaxp_jar_classesdest)
- $(if $(shell cat filelist),$(JAVAC) $(JAVAC_OPTS) -d $(gnujaxp_jar_classesdest) -classpath $(call PATHMK,$(gnujaxp_jar_classesdest) $(call PATHMK,$(gnujaxp_jar_classpath))) @filelist)
-
-$(gnujaxp_jar_classesdest):
- mkdir $@
-
-$(gnujaxp_jar_classesdest)/%.class: $(gnujaxp_jar_sourcedir)/%.java
- @echo $? >> filelist
-
-echo_gnujaxp_jar:
- @echo sourcedir = $(gnujaxp_jar_sourcedir)
- @echo sourcefiles = $(gnujaxp_jar_sourcefiles)
- @echo classpath = $(call PATHMK,$(gnujaxp_jar_classpath))
- @echo classesdest = $(gnujaxp_jar_classesdest)
- @echo classfiles = $(gnujaxp_jar_classfiles)
-
-ifeq (${OS},Windows_NT)
-PATHMK = $(subst $(space),;,$(1))
-else
-PATHMK = $(subst $(space),:,$(1))
-endif
-
-
-# for normal development
-# must rerun "make" after this
-clean:
- -rm -rf gnujaxp.jar classes META-INF Log apidoc apidoc.zip
- -rm -rf gnujaxp-*.zip
-
-# Nust rerun automakejar and configure after this
-distclean: clean
- -rm -f Makefile Makefile.in config.cache config.log config.status
-
-# Nust rerun aclocal, autoconf, automakejar and configure after this
-mrproper: distclean
- -rm -f configure
-
-javadoc: apidoc.zip
-apidoc.zip:
- -rm -rf apidoc
- mkdir -p apidoc
- javadoc -d apidoc \
- -windowtitle "GNU JAXP Library" \
- -nodeprecatedlist \
- -version -author -use \
- -bottom "<p>Source code is under GPL \
- (with library exception) in the JAXP project at \
- <a href='http://www.gnu.org/software/classpathx/jaxp'> \
- http://www.gnu.org/software/classpathx/jaxp</a> \
- <br>This documentation was derived from that\
- source code on `date -I`.\
- </p>" \
- -classpath "$(SOURCEDIR)" \
- \
- -group "AElfred2 and SAX2 Utilities" \
- "gnu.xml.aelfred2:gnu.xml.pipeline:gnu.xml.util" \
- -group "DOM2, implementing DOM Level 2" \
- "gnu.xml.dom" \
- \
- -group "SAX and SAX2" \
- "org.xml.sax:org.xml.sax.ext:org.xml.sax.helpers" \
- -group "DOM Level 2 (W3C)" \
- "org.w3c.*" \
- -group "Java API for XML (v1.1) (Sun)" \
- "javax.xml.*" \
- \
- gnu.xml.aelfred2 gnu.xml.pipeline gnu.xml.util \
- gnu.xml.dom \
- org.xml.sax org.xml.sax.ext org.xml.sax.helpers \
- org.w3c.dom org.w3c.dom.events \
- javax.xml.parsers \
- javax.xml.transform javax.xml.transform.dom \
- javax.xml.transform.sax javax.xml.transform.stream
- jar cMf apidoc.zip apidoc
-
-#
-# RELEASE ENGINEERING:
-# "full" release has source, jarfile, javadoc, and extras
-#
-# override VERSION in environment, like:
-# $ VERSION=1.0beta1 make -e release
-#
-VERSION = dev
-
-release: gnujaxp-$(VERSION).zip
-
-
-DIST_DIR = gnujaxp-$(VERSION)
-
-# XXX ChangeLog
-FILES := \
- LICENSE COPYING COPYRIGHT.html README \
- gnujaxp.jar \
- configure Makefile.in manifest.mf
-
-gnujaxp-$(VERSION).zip: $(FILES) apidoc.zip $(SOURCEFILES) $(PKGFILES)
- for F in $(FILES) $(SOURCEFILES) $(PKGFILES) ;\
- do \
- mkdir -p `dirname $(DIST_DIR)/$$F` ;\
- cp $$F $(DIST_DIR)/$$F ;\
- done
- cd $(DIST_DIR); jar xf ../apidoc.zip
- chmod +x $(DIST_DIR)/configure
- cp gnujaxp.jar $(DIST_DIR)
- # jar cMf gnujaxp-$(VERSION).zip $(DIST_DIR)
- zip -qr9 gnujaxp-$(VERSION).zip $(DIST_DIR)
- rm -rf $(DIST_DIR)
-
diff --git a/external/jaxp/README b/external/jaxp/README
deleted file mode 100644
index 17e81f136..000000000
--- a/external/jaxp/README
+++ /dev/null
@@ -1,122 +0,0 @@
-WHAT IS THIS
- GNUJAXP includes interfaces and implementations for basic XML
- processing in Java, and some general purpose SAX2 utilities.
-
- The standard distribution includes "gnujaxp.jar", javadoc, and full
- source code. The current software is available at:
-
- http://www.gnu.org/software/classpathx/jaxp
-
- This is intended only to require JDK 1.1 support to compile or run;
- that may change at some point, but for now portability to PJava and
- other widely used Java configurations/profiles is important.
-
- GCJ 3.0 has some bugs compiling this code, either to class files or
- to native code. Newer snapshots (GCJ 3.1) are currently needed to
- compile this code.
-
-JAVA PACKAGES
-
- javax.xml.* ... JAXP 1.1 interfaces
- org.xml.sax.* ... SAX2 (r2pre3, extensions 1.1beta) interfaces
- org.w3c.dom.* ... DOM Level 2 interfaces
-
- gnu.xml.aelfred2.* ... SAX2 parsers (+ optional validator, and JAXP glue)
- gnu.xml.dom.* ... DOM level 2 (XML) implementation (and JAXP glue)
- gnu.xml.pipeline.* ... SAX2 event pipeline support
- gnu.xml.util.* ... various XML utility classes
-
-LICENSING
- Briefly, most software in this package is distributed under the
- GNU General Public License with the "library exception" that
- permits its usage even in statically linked environments. That
- licensing is more permissive than the "LGPL".
-
- See the LICENSE file for more information.
-
-BUILDING
- The default build tools use autoconf and GNU make.
-
- $ ./configure
- ...
- $ make all
- ...
- $
-
- You will need a java compiler on the PATH to build GNUJAXP. You
- can specify one at configuration time like this:
-
- $ JAVA_CC=javac ./configure
- $ make all
-
- See the file HACKING for how to build from CVS.
-
-INSTALLATION AND CONFIGURATION
- The simplest way to use this software is to put the "gnujaxp.jar"
- file into $JAVA_HOME/jre/lib/ext so that it's automatically part
- of the classpath for every application. That works for JDK 1.2
- and later.
-
- Otherwise, you'll need some other way to put it into $CLASSPATH,
- such as an environment variable.
-
- If you have multiple XML tools implementations in your environment,
- you may need to configure software to use the implementations in
- the GNUJAXP distribution rather than some other one. See the project
- website (http://www.gnu.org/software/classpathx/jaxp) for information.
-
-CONFORMANCE TESTING
- The primary test resources are at http://xmlconf.sourceforge.net
- and include:
-
- SAX2/XML conformance tests
- That the "xml.testing.Driver" addresses the core XML 1.0
- specification requirements, which closely correspond to the
- functionality SAX1 provides. The driver uses SAX2 APIs to
- test that functionality It is used with a bugfixed version of
- the NIST/OASIS XML conformance test cases.
-
- The AElfred2 parser is highly conformant, though it still takes
- a few implementation shortcuts. See its package documentation
- for information about known XML conformance issues in AElfred2.
-
- The primary issue is using Unicode character tables, rather than
- those in the XML specification, for determining what names are
- valid. Most applications won't notice the difference, and this
- solution is smaller and faster than the alternative.
-
- For validation, a secondary issue is that issues relating to
- entity modularity are not validated; they can't all be cleanly
- layered. For example, validity constraints related to standalone
- declarations and PE nesting are not checked.
-
- SAX2
- SAX2 API conformance currently has a minimal JUNIT (0.2) test suite,
- which can be accessed at the xmlconf site listed above. It does
- not cover namespaces or LexicalHandler and Declhandler extensions
- anywhere as exhaustively as the SAX1 level functionality is
- tested by the "xml.testing.Driver". However:
-
- - Applying the DOM unit tests to this implementation gives
- the LexicalHandler (comments, and boundaries of DTDs,
- CDATA sections, and general entities) a workout, and
- does the same for DeclHandler entity declarations.
-
- - The pipeline package's layered validator demands that
- element and attribute declarations are reported correctly.
-
- By those metrics, SAX2 conformance for AElfred2 is also strong.
-
- DOM Level 1 (and Level 2 Events) Tests
- The "domunit 0.0.6" tests use the JAXP API to hook up a DOM
- implementation to a parser (out of scope for DOM Level 2).
- Those DOM unit tests are mostly related to Level 1, except
- for a few relating to the Level 2 events module.
-
- All of these tests pass.
-
- However, you may want to be aware that Entity nodes, and all
- EntityReference nodes not created by parsing a document, will
- have no children. Since you should as a rule avoid both these
- node types, you probably won't run into related problems.
-
diff --git a/external/jaxp/aclocal.m4 b/external/jaxp/aclocal.m4
deleted file mode 100644
index 033a8e586..000000000
--- a/external/jaxp/aclocal.m4
+++ /dev/null
@@ -1,34 +0,0 @@
-
-AC_DEFUN([IFVAL],
-[ifelse([$1], [], [$3], [$2])])
-
-
-# AC_PROG_JAVA_CC([COMPILER ...])
-# --------------------------
-# COMPILER ... is a space separated list of java compilers to search for.
-# This just gives the user an opportunity to specify an alternative
-# search list for the java compiler.
-# The compiler is set in the variable JAVA_CC and the compiler options
-# are set in the variable JAVA_CC_OPTS
-AC_DEFUN([AC_PROG_JAVA_CC],
-[IFVAL([$1],
- [AC_CHECK_PROGS(JAVA_CC, [$1], , $PATH)],
-[AC_CHECK_PROG(JAVA_CC, gcj, gcj, , $PATH)
-if test -z "$JAVA_CC"; then
- AC_CHECK_PROG(JAVA_CC, javac, javac, , $PATH)
-fi
-if test -z "$JAVA_CC"; then
- AC_CHECK_PROG(JAVA_CC, jikes, jikes, , $PATH)
-fi
-])
-
-if test "$JAVA_CC" = "gcj"; then
- if test "$GCJ_OPTS" = ""; then
- AC_SUBST(GCJ_OPTS,-C)
- echo > /dev/null
- fi
- AC_SUBST(JAVA_CC_OPTS, @GCJ_OPTS@,
- [Define the compilation options for GCJ])
-fi
-test -z "$JAVA_CC" && AC_MSG_ERROR([no acceptable java compiler found in \$PATH])
-])# AC_PROG_JAVA_CC
diff --git a/external/jaxp/automakejar b/external/jaxp/automakejar
deleted file mode 100755
index 6f29fd347..000000000
--- a/external/jaxp/automakejar
+++ /dev/null
@@ -1,133 +0,0 @@
-#!/bin/sh
-# Automagically generate make rules to compile jar files
-# specified in the Makefile.aj
-#
-# (C) Tapsell-Ferrier Limited 2002 <nferrier@tapsellferrier.co.uk>
-#
-# This results in a file called:
-# Makefile
-# unless there is an argument specified in which case
-# it results in a file specified in the argument.
-#
-# Therefore to produce a Makefile.in you could do this:
-#
-# automakejar Makefile.in
-#
-
-TMP=${TEMP:-/tmp/}
-
-# Create the generic editor script.
-SEDSCRIPT=$TMP/automakejar.$$
-cat > ${SEDSCRIPT} <<\EOF
-#-n
-# A first stage sed script to produce a Makefile from a template.
-# (C) Tapsell-Ferrier Limited 2002 <nferrier@tapsellferrier.co.uk>
-#
-# This script would be much easier if GNU Make's target specific variables
-# cascaded into sub-targets. But they don't as of 3.79.1.
-/^__JARFILENAME__.jar:.*$/,/^$/{
- # Store the dummy target.
- /^__JARFILENAME__.jar:.*/ {
- h
- d
- }
- # Make sure the variable definitions appear at the start of lines.
- s/^ sourcedir=/sourcedir=/
- s/^ sourcefiles=/sourcefiles=/
- s/^ classpath=/classpath=/
- s/^ classesdest=/classesdest=/
- s/^ otherfiles=/otherfiles=/
- s/^ manifest=/manifest=/
- # Mangle the names of the target variables
- s/sourcedir/__JARFILENAME___jar_sourcedir/
- s/sourcefiles/__JARFILENAME___jar_sourcefiles/
- s/classpath/__JARFILENAME___jar_classpath/
- s/classesdest/__JARFILENAME___jar_classesdest/
- s/otherfiles/__JARFILENAME___jar_otherfiles/
- s/manifest/__JARFILENAME___jar_manifest/
- # Ensure $variables are referenced properly
- s/\$\([A-Za-z_][A-Za-z_]*\)/$(\1)/g
- # Change quoted sh syntax to make syntax
- s/`\(.*\)`/$(shell \1)/
- # At the end of the automakejar decleration put the real Make decl.
- /^$/ {
- i\
-__JARFILENAME___jar_debugclasses=$(__JARFILENAME___jar_sourcefiles:.java=.class)\
-__JARFILENAME___jar_classfiles=$(__JARFILENAME___jar_debugclasses:$(__JARFILENAME___jar_sourcedir)%=$(__JARFILENAME___jar_classesdest)%)\
-
- # This ensures that the target that the user put in is inserted.
- {
- g
- p
- i\
-__JARFILENAME__.jar: __JARFILENAME__-init $(__JARFILENAME___jar_classfiles) __JARFILENAME__-compilation $(__JARFILENAME___jar_otherfiles) $(__JARFILENAME___jar_manifest)\
- $(JAR) cf$(if $(__JARFILENAME___jar_manifest),m) __JARFILENAME__.jar $(__JARFILENAME___jar_manifest) $(__JARFILENAME___jar_otherfiles) -C $(__JARFILENAME___jar_classesdest) .\
-\
-.PHONY: __JARFILENAME__-init __JARFILENAME__-compilation\
-\
-__JARFILENAME__-init:\
- echo > filelist\
-\
-__JARFILENAME__-compilation: $(__JARFILENAME___jar_classesdest)\
- $(if $(shell cat filelist),$(JAVAC) $(JAVAC_OPTS) -d $(__JARFILENAME___jar_classesdest) -classpath $(call PATHMK,$(__JARFILENAME___jar_classesdest) $(call PATHMK,$(__JARFILENAME___jar_classpath))) @filelist)\
-\
-$(__JARFILENAME___jar_classesdest):\
- mkdir $@\
-\
-$(__JARFILENAME___jar_classesdest)/%.class: $(__JARFILENAME___jar_sourcedir)/%.java\
- @echo $? >> filelist\
-\
-echo___JARFILENAME___jar:\
- @echo sourcedir = $(__JARFILENAME___jar_sourcedir)\
- @echo sourcefiles = $(__JARFILENAME___jar_sourcefiles)\
- @echo classpath = $(call PATHMK,$(__JARFILENAME___jar_classpath))\
- @echo classesdest = $(__JARFILENAME___jar_classesdest)\
- @echo classfiles = $(__JARFILENAME___jar_classfiles)\
-\
-ifeq (${OS},Windows_NT)\
-PATHMK = $(subst $(space),;,$(1))\
-else\
-PATHMK = $(subst $(space),:,$(1))\
-endif
- }
- # Ensure we branch to end of script once template is done.
- b end
- }
-}
-# Output all other lines as they are.
-p
-:end
-EOF
-
-# The file to produce.
-Makefile=${1:-Makefile}
-
-# The name of the template file.
-MakeTemplate=`dirname $0`/Makefile.aj
-
-echo Making $Makefile from $MakeTemplate
-
-
-# The Makefile to be mangled, changes every iteration.
-MakeSource=${MakeTemplate}
-# Make a bespoke sed script and then edit the source Makefile.
-for something in `sed -n 's/^\([A-Za-z0-9_-]*\)\.jar:.*$/\1/p' ${MakeTemplate}`
-do
- MakeOutput=${Makefile}.${RANDOM}
- echo creating the target: $something
- EDITSCRIPT=${SEDSCRIPT}.edit.$$
- sed -n "s/__JARFILENAME__/${something}/g ; p" ${SEDSCRIPT} > ${EDITSCRIPT}
- sed -n -f ${EDITSCRIPT} ${MakeSource} > ${MakeOutput}
- if [ "${MakeSource}" != "${MakeTemplate}" ] ;
- then
- rm ${MakeSource}
- fi
- MakeSource=${MakeOutput}
- rm $EDITSCRIPT
-done
-
-mv ${MakeOutput} ${Makefile}
-
-rm $SEDSCRIPT
-
-# end. \ No newline at end of file
diff --git a/external/jaxp/configure.in b/external/jaxp/configure.in
deleted file mode 100644
index 89bf01b92..000000000
--- a/external/jaxp/configure.in
+++ /dev/null
@@ -1,16 +0,0 @@
-AC_INIT(source/javax/xml/parsers/SAXParserFactory.java)
-
-
-dnl Tool discovery
-
-AC_PATH_PROG(JAR_TOOL, jar,)
-
-AC_PROG_JAVA_CC()
-
-
-dnl Setup the output files
-
-AC_OUTPUT(Makefile)
-
-
-dnl End.
diff --git a/external/jaxp/manifest.mf b/external/jaxp/manifest.mf
deleted file mode 100644
index cc6bbd391..000000000
--- a/external/jaxp/manifest.mf
+++ /dev/null
@@ -1,28 +0,0 @@
-Extension-Name: GNUJAXP
-Implementation-Title: GNU JAXP
-Implementation-URL: http://www.gnu.org/software/classpathx/jaxp
-Implementation-Vendor: Free Software Foundation
-Main-Class: gnu.xml.util.DoParse
-
-Name: gnu/xml/aelfred2/
-Implementation-Title: AElfred2
-
-Name: gnu/xml/dom/
-Implementation-Title: DOM2
-
-Name: org/w3c/dom
-Specification-Title: Document Object Model (DOM)
-Specification-Vendor: www.w3c.org
-Specification-Version: Level 2
-
-Name: org/xml/sax/
-Implementation-URL: http://sax.sourceforge.net
-Specification-Title: Simple API for XML (SAX) core
-Specification-Vendor: sax.sourceforge.net
-Specification-Version: 2.0
-
-Name: javax/xml/
-Specification-Title: Java API for XML Parsing (JAXP)
-Specification-Vendor: Sun Microsystems
-Specification-Version: 1.1
-
diff --git a/external/jaxp/source/gnu/xml/aelfred2/JAXPFactory.java b/external/jaxp/source/gnu/xml/aelfred2/JAXPFactory.java
deleted file mode 100644
index b7bdce336..000000000
--- a/external/jaxp/source/gnu/xml/aelfred2/JAXPFactory.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.aelfred2;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.xml.sax.Parser;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.helpers.XMLReaderAdapter;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-
-/**
- * Configurable factory to create an &AElig;lfred2 JAXP parser; required
- * to bootstrap using JAXP. You should use SAX2 directly where possible,
- * rather than through JAXP, since that gives you better control.
- * This class would normally be configured as a platform default factory.
- *
- * @author David Brownell
- */
-public final class JAXPFactory extends SAXParserFactory
-{
- private Hashtable flags = new Hashtable ();
-
- /**
- * Constructs a factory which normally returns a non-validating
- * parser.
- */
- public JAXPFactory () { }
-
- public SAXParser newSAXParser ()
- throws ParserConfigurationException, SAXException
- {
- JaxpParser jaxp = new JaxpParser ();
- Enumeration e = flags.keys ();
- XMLReader parser = jaxp.getXMLReader ();
-
- parser.setFeature (
- SAXDriver.FEATURE + "namespaces",
- isNamespaceAware ());
- parser.setFeature (
- SAXDriver.FEATURE + "validation",
- isValidating ());
- // that makes SAX2 feature flags trump JAXP
-
- while (e.hasMoreElements ()) {
- String uri = (String) e.nextElement ();
- Boolean value = (Boolean) flags.get (uri);
- parser.setFeature (uri, value.booleanValue ());
- }
-
- return jaxp;
- }
-
- // yes, this "feature transfer" mechanism doesn't play well
-
- public void setFeature (String name, boolean value)
- throws
- ParserConfigurationException,
- SAXNotRecognizedException,
- SAXNotSupportedException
- {
- try {
- // force "early" detection of errors where possible
- // (flags can't necessarily be set before parsing)
- new JaxpParser ().getXMLReader ().setFeature (name, value);
-
- flags.put (name, new Boolean (value));
- } catch (SAXNotRecognizedException e) {
- throw new SAXNotRecognizedException (name);
- } catch (SAXNotSupportedException e) {
- throw new SAXNotSupportedException (name);
- } catch (Exception e) {
- throw new ParserConfigurationException (
- e.getClass ().getName ()
- + ": "
- + e.getMessage ());
- }
- }
-
- public boolean getFeature (String name)
- throws
- ParserConfigurationException,
- SAXNotRecognizedException,
- SAXNotSupportedException
- {
- Boolean value = (Boolean) flags.get (name);
-
- if (value == null)
- return value.booleanValue ();
- else
- try {
- return new JaxpParser ().getXMLReader ().getFeature (name);
- } catch (SAXNotRecognizedException e) {
- throw new SAXNotRecognizedException (name);
- } catch (SAXNotSupportedException e) {
- throw new SAXNotSupportedException (name);
- } catch (SAXException e) {
- throw new ParserConfigurationException (
- e.getClass ().getName ()
- + ": "
- + e.getMessage ());
- }
- }
-
- private static class JaxpParser extends SAXParser
- {
- private XmlReader ae2 = new XmlReader ();
- private XMLReaderAdapter parser = null;
-
- JaxpParser () { }
-
- public void setProperty (String id, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- { ae2.setProperty (id, value); }
-
- public Object getProperty (String id)
- throws SAXNotRecognizedException, SAXNotSupportedException
- { return ae2.getProperty (id); }
-
- public Parser getParser ()
- throws SAXException
- {
- if (parser == null)
- parser = new XMLReaderAdapter (ae2);
- return parser;
- }
-
- public XMLReader getXMLReader ()
- throws SAXException
- { return ae2; }
-
- public boolean isNamespaceAware ()
- {
- try {
- return ae2.getFeature (SAXDriver.FEATURE + "namespaces");
- } catch (Exception e) {
- throw new Error ();
- }
- }
-
- public boolean isValidating ()
- {
- try {
- return ae2.getFeature (SAXDriver.FEATURE + "validation");
- } catch (Exception e) {
- throw new Error ();
- }
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/aelfred2/SAXDriver.java b/external/jaxp/source/gnu/xml/aelfred2/SAXDriver.java
deleted file mode 100644
index 447cc8792..000000000
--- a/external/jaxp/source/gnu/xml/aelfred2/SAXDriver.java
+++ /dev/null
@@ -1,1272 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-//
-// Copyright (c) 1998 by Microstar Software Ltd.
-// From Microstar's README (the entire original license):
-//
-// Separate statements also said it's in the public domain.
-// All modifications are distributed under the license
-// above (GPL with library exception).
-//
-// AElfred is free for both commercial and non-commercial use and
-// redistribution, provided that Microstar's copyright and disclaimer are
-// retained intact. You are free to modify AElfred for your own use and
-// to redistribute AElfred with your modifications, provided that the
-// modifications are clearly documented.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// merchantability or fitness for a particular purpose. Please use it AT
-// YOUR OWN RISK.
-//
-
-
-package gnu.xml.aelfred2;
-
-import java.io.*;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Locale;
-import java.util.Stack;
-
-// maintaining 1.1 compatibility for now ... more portable, PJava, etc
-// Iterator, Hashmap and ArrayList ought to be faster
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.NamespaceSupport;
-
-
-/**
- * An enhanced SAX2 version of Microstar's &AElig;lfred XML parser.
- * The enhancements primarily relate to significant improvements in
- * conformance to the XML specification, and SAX2 support. Performance
- * has been improved. See the package level documentation for more
- * information.
- *
- * <table border="1" width='100%' cellpadding='3' cellspacing='0'>
- * <tr bgcolor='#ccccff'>
- * <th><font size='+1'>Name</font></th>
- * <th><font size='+1'>Notes</font></th></tr>
- *
- * <tr><td colspan=2><center><em>Features ... URL prefix is
- * <b>http://xml.org/sax/features/</b></em></center></td></tr>
- *
- * <tr><td>(URL)/external-general-entities</td>
- * <td>Value defaults to <em>true</em></td></tr>
- * <tr><td>(URL)/external-parameter-entities</td>
- * <td>Value defaults to <em>true</em></td></tr>
- * <tr><td>(URL)/is-standalone</td>
- * <td>(PRELIMINARY) Returns true iff the document's parsing
- * has started (some non-error event after <em>startDocument()</em>
- * was reported) and the document's standalone flag is set.</td></tr>
- * <tr><td>(URL)/namespace-prefixes</td>
- * <td>Value defaults to <em>false</em> (but XML 1.0 names are
- * always reported)</td></tr>
- * <tr><td>(URL)/lexical-handler/parameter-entities</td>
- * <td>Value is fixed at <em>true</em></td></tr>
- * <tr><td>(URL)/namespaces</td>
- * <td>Value defaults to <em>true</em></td></tr>
- * <tr><td>(URL)/resolve-dtd-uris</td>
- * <td>(PRELIMINARY) Value defaults to <em>true</em></td></tr>
- * <tr><td>(URL)/string-interning</td>
- * <td>Value is fixed at <em>true</em></td></tr>
- * <tr><td>(URL)/use-attributes2</td>
- * <td>(PRELIMINARY) Value is fixed at <em>true</em></td></tr>
- * <tr><td>(URL)/use-entity-resolver2</td>
- * <td>(PRELIMINARY) Value defaults to <em>true</em></td></tr>
- * <tr><td>(URL)/validation</td>
- * <td>Value is fixed at <em>false</em></td></tr>
- *
- * <tr><td colspan=2><center><em>Handler Properties ... URL prefix is
- * <b>http://xml.org/sax/properties/</b></em></center></td></tr>
- *
- * <tr><td>(URL)/declaration-handler</td>
- * <td>A declaration handler may be provided. </td></tr>
- * <tr><td>(URL)/lexical-handler</td>
- * <td>A lexical handler may be provided. </td></tr>
- * </table>
- *
- * <p>This parser currently implements the SAX1 Parser API, but
- * it may not continue to do so in the future.
- *
- * @author Written by David Megginson (version 1.2a from Microstar)
- * @author Updated by David Brownell &lt;dbrownell@users.sourceforge.net&gt;
- * @see org.xml.sax.Parser
- */
-final public class SAXDriver
- implements Locator, Attributes2, XMLReader, Parser, AttributeList
-{
- private final DefaultHandler2 base = new DefaultHandler2 ();
- private XmlParser parser;
-
- private EntityResolver entityResolver = base;
- private EntityResolver2 resolver2 = null;
- private ContentHandler contentHandler = base;
- private DTDHandler dtdHandler = base;
- private ErrorHandler errorHandler = base;
- private DeclHandler declHandler = base;
- private LexicalHandler lexicalHandler = base;
-
- private String elementName = null;
- private Stack entityStack = new Stack ();
-
- // could use just one vector (of object/struct): faster, smaller
- private Vector attributeNames = new Vector ();
- private Vector attributeNamespaces = new Vector ();
- private Vector attributeLocalNames = new Vector ();
- private Vector attributeValues = new Vector ();
- private boolean attributeSpecified [] = new boolean[10];
- private boolean attributeDeclared [] = new boolean[10];
-
- private boolean namespaces = true;
- private boolean xmlNames = false;
- private boolean extGE = true;
- private boolean extPE = true;
- private boolean resolveAll = true;
- private boolean useResolver2 = true;
-
- private int attributeCount = 0;
- private boolean attributes;
- private String nsTemp [] = new String [3];
- private NamespaceSupport prefixStack;
-
- //
- // Constructor.
- //
-
- /** Constructs a SAX Parser. */
- public SAXDriver () {}
-
-
- //
- // Implementation of org.xml.sax.Parser.
- //
-
- /**
- * <b>SAX1</b>: Sets the locale used for diagnostics; currently,
- * only locales using the English language are supported.
- * @param locale The locale for which diagnostics will be generated
- */
- public void setLocale (Locale locale)
- throws SAXException
- {
- if ("en".equals (locale.getLanguage ()))
- return ;
-
- throw new SAXException ("AElfred2 only supports English locales.");
- }
-
-
- /**
- * <b>SAX2</b>: Returns the object used when resolving external
- * entities during parsing (both general and parameter entities).
- */
- public EntityResolver getEntityResolver ()
- {
- return (entityResolver == base) ? null : entityResolver;
- }
-
- /**
- * <b>SAX1, SAX2</b>: Set the entity resolver for this parser.
- * @param handler The object to receive entity events.
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- if (resolver instanceof EntityResolver2)
- resolver2 = (EntityResolver2) resolver;
- else
- resolver2 = null;
- if (resolver == null)
- resolver = base;
- entityResolver = resolver;
- }
-
-
- /**
- * <b>SAX2</b>: Returns the object used to process declarations related
- * to notations and unparsed entities.
- */
- public DTDHandler getDTDHandler ()
- {
- return (dtdHandler == base) ? null : dtdHandler;
- }
-
- /**
- * <b>SAX1, SAX2</b>: Set the DTD handler for this parser.
- * @param handler The object to receive DTD events.
- */
- public void setDTDHandler (DTDHandler handler)
- {
- if (handler == null)
- handler = base;
- this.dtdHandler = handler;
- }
-
-
- /**
- * <b>SAX1</b>: Set the document handler for this parser. If a
- * content handler was set, this document handler will supplant it.
- * The parser is set to report all XML 1.0 names rather than to
- * filter out "xmlns" attributes (the "namespace-prefixes" feature
- * is set to true).
- *
- * @deprecated SAX2 programs should use the XMLReader interface
- * and a ContentHandler.
- *
- * @param handler The object to receive document events.
- */
- public void setDocumentHandler (DocumentHandler handler)
- {
- contentHandler = new Adapter (handler);
- xmlNames = true;
- }
-
- /**
- * <b>SAX2</b>: Returns the object used to report the logical
- * content of an XML document.
- */
- public ContentHandler getContentHandler ()
- {
- return contentHandler == base ? null : contentHandler;
- }
-
- /**
- * <b>SAX2</b>: Assigns the object used to report the logical
- * content of an XML document. If a document handler was set,
- * this content handler will supplant it (but XML 1.0 style name
- * reporting may remain enabled).
- */
- public void setContentHandler (ContentHandler handler)
- {
- if (handler == null)
- handler = base;
- contentHandler = handler;
- }
-
- /**
- * <b>SAX1, SAX2</b>: Set the error handler for this parser.
- * @param handler The object to receive error events.
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- if (handler == null)
- handler = base;
- this.errorHandler = handler;
- }
-
- /**
- * <b>SAX2</b>: Returns the object used to receive callbacks for XML
- * errors of all levels (fatal, nonfatal, warning); this is never null;
- */
- public ErrorHandler getErrorHandler ()
- { return errorHandler == base ? null : errorHandler; }
-
-
- /**
- * <b>SAX1, SAX2</b>: Auxiliary API to parse an XML document, used mostly
- * when no URI is available.
- * If you want anything useful to happen, you should set
- * at least one type of handler.
- * @param source The XML input source. Don't set 'encoding' unless
- * you know for a fact that it's correct.
- * @see #setEntityResolver
- * @see #setDTDHandler
- * @see #setContentHandler
- * @see #setErrorHandler
- * @exception SAXException The handlers may throw any SAXException,
- * and the parser normally throws SAXParseException objects.
- * @exception IOException IOExceptions are normally through through
- * the parser if there are problems reading the source document.
- */
- public void parse (InputSource source)
- throws SAXException, IOException
- {
- synchronized (base) {
- parser = new XmlParser ();
- if (namespaces)
- prefixStack = new NamespaceSupport ();
- else if (!xmlNames)
- throw new IllegalStateException ();
- parser.setHandler (this);
-
- try {
-
- Reader r = source.getCharacterStream();
- InputStream in = source.getByteStream();
-
-
- parser.doParse (source.getSystemId (),
- source.getPublicId (),
- r,
- in,
- source.getEncoding ());
- } catch (SAXException e) {
- throw e;
- } catch (IOException e) {
- throw e;
- } catch (RuntimeException e) {
- throw e;
- } catch (Exception e) {
- throw new SAXParseException (e.getMessage (), this, e);
- } finally {
- contentHandler.endDocument ();
- entityStack.removeAllElements ();
- parser = null;
- prefixStack = null;
- }
- }
- }
-
-
- /**
- * <b>SAX1, SAX2</b>: Preferred API to parse an XML document, using a
- * system identifier (URI).
- */
- public void parse (String systemId)
- throws SAXException, IOException
- {
- parse (new InputSource (systemId));
- }
-
- //
- // Implementation of SAX2 "XMLReader" interface
- //
- static final String FEATURE = "http://xml.org/sax/features/";
- static final String PROPERTY = "http://xml.org/sax/properties/";
-
- /**
- * <b>SAX2</b>: Tells the value of the specified feature flag.
- *
- * @exception SAXNotRecognizedException thrown if the feature flag
- * is neither built in, nor yet assigned.
- */
- public boolean getFeature (String featureId)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if ((FEATURE + "validation").equals (featureId))
- return false;
-
- // external entities (both types) are optionally included
- if ((FEATURE + "external-general-entities").equals (featureId))
- return extGE;
- if ((FEATURE + "external-parameter-entities") .equals (featureId))
- return extPE;
-
- // element/attribute names are as written in document; no mangling
- if ((FEATURE + "namespace-prefixes").equals (featureId))
- return xmlNames;
-
- // report element/attribute namespaces?
- if ((FEATURE + "namespaces").equals (featureId))
- return namespaces;
-
- // all PEs and GEs are reported
- if ((FEATURE + "lexical-handler/parameter-entities").equals (featureId))
- return true;
-
- // always interns
- if ((FEATURE + "string-interning").equals (featureId))
- return true;
-
- // EXTENSIONS 1.1
-
- // always returns isSpecified info
- if ((FEATURE + "use-attributes2").equals (featureId))
- return true;
-
- // meaningful between startDocument/endDocument
- if ((FEATURE + "is-standalone").equals (featureId)) {
- if (parser == null)
- throw new SAXNotSupportedException (featureId);
- return parser.isStandalone ();
- }
-
- // optionally don't absolutize URIs in declarations
- if ((FEATURE + "resolve-dtd-uris").equals (featureId))
- return resolveAll;
-
- // optionally use resolver2 interface methods, if possible
- if ((FEATURE + "use-entity-resolver2").equals (featureId))
- return useResolver2;
-
- throw new SAXNotRecognizedException (featureId);
- }
-
- // package private
- DeclHandler getDeclHandler () { return declHandler; }
-
- // package private
- boolean resolveURIs () { return resolveAll; }
-
- /**
- * <b>SAX2</b>: Returns the specified property.
- *
- * @exception SAXNotRecognizedException thrown if the property value
- * is neither built in, nor yet stored.
- */
- public Object getProperty (String propertyId)
- throws SAXNotRecognizedException
- {
- if ((PROPERTY + "declaration-handler").equals (propertyId))
- return declHandler == base ? null : declHandler;
-
- if ((PROPERTY + "lexical-handler").equals (propertyId))
- return lexicalHandler == base ? null : lexicalHandler;
-
- // unknown properties
- throw new SAXNotRecognizedException (propertyId);
- }
-
- /**
- * <b>SAX2</b>: Sets the state of feature flags in this parser. Some
- * built-in feature flags are mutable.
- */
- public void setFeature (String featureId, boolean value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- boolean state;
-
- // Features with a defined value, we just change it if we can.
- state = getFeature (featureId);
-
- if (state == value)
- return;
- if (parser != null)
- throw new SAXNotSupportedException ("not while parsing");
-
- if ((FEATURE + "namespace-prefixes").equals (featureId)) {
- // in this implementation, this only affects xmlns reporting
- xmlNames = value;
- // forcibly prevent illegal parser state
- if (!xmlNames)
- namespaces = true;
- return;
- }
-
- if ((FEATURE + "namespaces").equals (featureId)) {
- namespaces = value;
- // forcibly prevent illegal parser state
- if (!namespaces)
- xmlNames = true;
- return;
- }
-
- if ((FEATURE + "external-general-entities").equals (featureId)) {
- extGE = value;
- return;
- }
- if ((FEATURE + "external-parameter-entities") .equals (featureId)) {
- extPE = value;
- return;
- }
- if ((FEATURE + "resolve-dtd-uris").equals (featureId)) {
- resolveAll = value;
- return;
- }
-
- if ((FEATURE + "use-entity-resolver2").equals (featureId)) {
- useResolver2 = value;
- return;
- }
-
- throw new SAXNotRecognizedException (featureId);
- }
-
- /**
- * <b>SAX2</b>: Assigns the specified property. Like SAX1 handlers,
- * these may be changed at any time.
- */
- public void setProperty (String propertyId, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- // see if the property is recognized
- getProperty (propertyId);
-
- // Properties with a defined value, we just change it if we can.
-
- if ((PROPERTY + "declaration-handler").equals (propertyId)) {
- if (value == null)
- declHandler = base;
- else if (! (value instanceof DeclHandler))
- throw new SAXNotSupportedException (propertyId);
- else
- declHandler = (DeclHandler) value;
- return ;
- }
-
- if ((PROPERTY + "lexical-handler").equals (propertyId)) {
- if (value == null)
- lexicalHandler = base;
- else if (! (value instanceof LexicalHandler))
- throw new SAXNotSupportedException (propertyId);
- else
- lexicalHandler = (LexicalHandler) value;
- return ;
- }
-
- throw new SAXNotSupportedException (propertyId);
- }
-
-
- //
- // This is where the driver receives XmlParser callbacks and translates
- // them into SAX callbacks. Some more callbacks have been added for
- // SAX2 support.
- //
-
- void startDocument ()
- throws SAXException
- {
- contentHandler.setDocumentLocator (this);
- contentHandler.startDocument ();
- attributeNames.removeAllElements ();
- attributeValues.removeAllElements ();
- }
-
- void skippedEntity (String name)
- throws SAXException
- { contentHandler.skippedEntity (name); }
-
- InputSource getExternalSubset (String name, String baseURI)
- throws SAXException, IOException
- {
- if (resolver2 == null || !useResolver2 || !extPE)
- return null;
- return resolver2.getExternalSubset (name, baseURI);
- }
-
- InputSource resolveEntity (boolean isPE, String name,
- InputSource in, String baseURI)
- throws SAXException, IOException
- {
- InputSource source;
-
- // external entities might be skipped
- if (isPE && !extPE)
- return null;
- if (!isPE && !extGE)
- return null;
-
- // ... or not
- lexicalHandler.startEntity (name);
- if (resolver2 != null && useResolver2) {
- source = resolver2.resolveEntity (name, in.getPublicId (),
- baseURI, in.getSystemId ());
- if (source == null) {
- in.setSystemId (absolutize (baseURI,
- in.getSystemId (), false));
- source = in;
- }
- } else {
- in.setSystemId (absolutize (baseURI, in.getSystemId (), false));
- source = entityResolver.resolveEntity (in.getPublicId (),
- in.getSystemId ());
- if (source == null)
- source = in;
- }
- startExternalEntity (name, source.getSystemId (), true);
- return source;
- }
-
- // absolutize a system ID relative to the specified base URI
- // (temporarily) package-visible for external entity decls
- String absolutize (String baseURI, String systemId, boolean nice)
- throws MalformedURLException, SAXException
- {
- // FIXME normalize system IDs -- when?
- // - Convert to UTF-8
- // - Map reserved and non-ASCII characters to %HH
-
- try {
- if (baseURI == null) {
- warn ("No base URI; hope this SYSTEM id is absolute: "
- + systemId);
- return new URL (systemId).toString ();
- } else
- return new URL (new URL (baseURI), systemId).toString ();
-
- } catch (MalformedURLException e) {
-
- // Let unknown URI schemes pass through unless we need
- // the JVM to map them to i/o streams for us...
- if (!nice)
- throw e;
-
- // sometimes sysids for notations or unparsed entities
- // aren't really URIs...
- warn ("Can't absolutize SYSTEM id: " + e.getMessage ());
- return systemId;
- }
- }
-
- void startExternalEntity (String name, String systemId,
- boolean stackOnly)
- throws SAXException
- {
- // The following warning was deleted because the application has the
- // option of not setting systemId. Sun's JAXP or Xerces seems to
- // ignore this case.
- /*
- if (systemId == null)
- warn ("URI was not reported to parser for entity " + name);
- */
- if (!stackOnly) // spliced [dtd] needs startEntity
- lexicalHandler.startEntity (name);
- entityStack.push (systemId);
- }
-
- void endExternalEntity (String name)
- throws SAXException
- {
- if (!"[document]".equals (name))
- lexicalHandler.endEntity (name);
- entityStack.pop ();
- }
-
- void startInternalEntity (String name)
- throws SAXException
- {
- lexicalHandler.startEntity (name);
- }
-
- void endInternalEntity (String name)
- throws SAXException
- {
- lexicalHandler.endEntity (name);
- }
-
- void doctypeDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- lexicalHandler.startDTD (name, publicId, systemId);
-
- // ... the "name" is a declaration and should be given
- // to the DeclHandler (but sax2 doesn't).
-
- // the IDs for the external subset are lexical details,
- // as are the contents of the internal subset; but sax2
- // doesn't provide the internal subset "pre-parse"
- }
-
- void notationDecl (String name, String ids [])
- throws SAXException
- {
- try {
- dtdHandler.notationDecl (name, ids [0],
- (resolveAll && ids [1] != null)
- ? absolutize (ids [2], ids [1], true)
- : ids [1]);
- } catch (IOException e) {
- // "can't happen"
- throw new SAXParseException (e.getMessage (), this, e);
- }
- }
-
- void unparsedEntityDecl (String name, String ids [], String notation)
- throws SAXException
- {
- try {
- dtdHandler.unparsedEntityDecl (name, ids [0],
- resolveAll
- ? absolutize (ids [2], ids [1], true)
- : ids [1],
- notation);
- } catch (IOException e) {
- // "can't happen"
- throw new SAXParseException (e.getMessage (), this, e);
- }
- }
-
- void endDoctype ()
- throws SAXException
- {
- lexicalHandler.endDTD ();
- }
-
- private void declarePrefix (String prefix, String uri)
- throws SAXException
- {
- int index = uri.indexOf (':');
-
- // many versions of nwalsh docbook stylesheets
- // have bogus URLs; so this can't be an error...
- if (index < 1 && uri.length () != 0)
- warn ("relative URI for namespace: " + uri);
-
- // FIXME: char [0] must be ascii alpha; chars [1..index]
- // must be ascii alphanumeric or in "+-." [RFC 2396]
-
- uri = uri.intern ();
- prefixStack.declarePrefix (prefix, uri);
- contentHandler.startPrefixMapping (prefix, uri);
- }
-
- void attribute (String qname, String value, boolean isSpecified)
- throws SAXException
- {
- if (!attributes) {
- attributes = true;
- if (namespaces)
- prefixStack.pushContext ();
- }
-
- // process namespace decls immediately;
- // then maybe forget this as an attribute
- if (namespaces) {
- int index;
-
- // default NS declaration?
- if ("xmlns" == qname) {
- declarePrefix ("", value);
- if (!xmlNames)
- return;
- }
-
- // NS prefix declaration?
- else if ((index = qname.indexOf (':')) == 5
- && qname.startsWith ("xmlns")) {
- String prefix = qname.substring (6);
-
- if (value.length () == 0) {
- verror ("missing URI in namespace decl attribute: "
- + qname);
- } else
- declarePrefix (prefix, value);
- if (!xmlNames)
- return;
- }
- }
-
- // remember this attribute ...
-
- if (attributeCount == attributeSpecified.length) { // grow array?
- boolean temp [] = new boolean [attributeSpecified.length + 5];
- System.arraycopy (attributeSpecified, 0, temp, 0, attributeCount);
- attributeSpecified = temp;
- }
- attributeSpecified [attributeCount] = isSpecified;
-
- attributeCount++;
- attributeNames.addElement (qname);
- // attribute type comes from querying parser's DTD records
- attributeValues.addElement (value);
-
- // ... patching {lname, uri} later, if needed
- attributeNamespaces.addElement ("");
- attributeLocalNames.addElement ("");
- }
-
- void startElement (String elname)
- throws SAXException
- {
- ContentHandler handler = contentHandler;
-
- //
- // NOTE: this implementation of namespace support adds something
- // like six percent to parsing CPU time, in a large (~50 MB)
- // document that doesn't use namespaces at all. (Measured by PC
- // sampling, with a bug where endElement processing was omitted.)
- // [Measurement referred to older implementation, older JVM ...]
- //
- // It ought to become notably faster in such cases. Most
- // costs are the prefix stack calling Hashtable.get() (2%),
- // String.hashCode() (1.5%) and about 1.3% each for pushing
- // the context, and two chunks of name processing.
- //
-
- if (!attributes) {
- if (namespaces)
- prefixStack.pushContext ();
- } else if (namespaces) {
-
- // now we can patch up namespace refs; we saw all the
- // declarations, so now we'll do the Right Thing
- for (int i = 0; i < attributeCount; i++) {
- String qname = (String) attributeNames.elementAt (i);
- int index;
-
- // default NS declaration?
- if ("xmlns" == qname)
- continue;
-
- index = qname.indexOf (':');
-
- // NS prefix declaration?
- if (index == 5 && qname.startsWith ("xmlns"))
- continue;
-
- // it's not a NS decl; patch namespace info items
- if (prefixStack.processName (qname, nsTemp, true) == null)
- verror ("undeclared attribute prefix in: " + qname);
- else {
- attributeNamespaces.setElementAt (nsTemp [0], i);
- attributeLocalNames.setElementAt (nsTemp [1], i);
- }
- }
- }
-
- // save element name so attribute callbacks work
- elementName = elname;
- if (namespaces) {
- if (prefixStack.processName (elname, nsTemp, false) == null) {
- verror ("undeclared element prefix in: " + elname);
- nsTemp [0] = nsTemp [1] = "";
- }
- handler.startElement (nsTemp [0], nsTemp [1], elname, this);
- } else
- handler.startElement ("", "", elname, this);
- // elementName = null;
-
- // elements with no attributes are pretty common!
- if (attributes) {
- attributeNames.removeAllElements ();
- attributeNamespaces.removeAllElements ();
- attributeLocalNames.removeAllElements ();
- attributeValues.removeAllElements ();
- attributeCount = 0;
- attributes = false;
- }
- }
-
- void endElement (String elname)
- throws SAXException
- {
- ContentHandler handler = contentHandler;
-
- if (!namespaces) {
- handler.endElement ("", "", elname);
- return;
- }
- prefixStack.processName (elname, nsTemp, false);
- handler.endElement (nsTemp [0], nsTemp [1], elname);
-
- Enumeration prefixes = prefixStack.getDeclaredPrefixes ();
-
- while (prefixes.hasMoreElements ())
- handler.endPrefixMapping ((String) prefixes.nextElement ());
- prefixStack.popContext ();
- }
-
- void startCDATA ()
- throws SAXException
- {
- lexicalHandler.startCDATA ();
- }
-
- void charData (char ch[], int start, int length)
- throws SAXException
- {
- contentHandler.characters (ch, start, length);
- }
-
- void endCDATA ()
- throws SAXException
- {
- lexicalHandler.endCDATA ();
- }
-
- void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- contentHandler.ignorableWhitespace (ch, start, length);
- }
-
- void processingInstruction (String target, String data)
- throws SAXException
- {
- contentHandler.processingInstruction (target, data);
- }
-
- void comment (char ch[], int start, int length)
- throws SAXException
- {
- if (lexicalHandler != base)
- lexicalHandler.comment (ch, start, length);
- }
-
- void fatal (String message)
- throws SAXException
- {
- SAXParseException fatal;
-
- fatal = new SAXParseException (message, this);
- errorHandler.fatalError (fatal);
-
- // Even if the application can continue ... we can't!
- throw fatal;
- }
-
- // We can safely report a few validity errors that
- // make layered SAX2 DTD validation more conformant
- void verror (String message)
- throws SAXException
- {
- SAXParseException err;
-
- err = new SAXParseException (message, this);
- errorHandler.error (err);
- }
-
- void warn (String message)
- throws SAXException
- {
- SAXParseException err;
-
- err = new SAXParseException (message, this);
- errorHandler.warning (err);
- }
-
-
- //
- // Implementation of org.xml.sax.Attributes.
- //
-
- /**
- * <b>SAX1 AttributeList, SAX2 Attributes</b> method
- * (don't invoke on parser);
- */
- public int getLength ()
- {
- return attributeNames.size ();
- }
-
- /**
- * <b>SAX2 Attributes</b> method (don't invoke on parser);
- */
- public String getURI (int index)
- {
- return (String) (attributeNamespaces.elementAt (index));
- }
-
- /**
- * <b>SAX2 Attributes</b> method (don't invoke on parser);
- */
- public String getLocalName (int index)
- {
- return (String) (attributeLocalNames.elementAt (index));
- }
-
- /**
- * <b>SAX2 Attributes</b> method (don't invoke on parser);
- */
- public String getQName (int i)
- {
- return (String) (attributeNames.elementAt (i));
- }
-
- /**
- * <b>SAX1 AttributeList</b> method (don't invoke on parser);
- */
- public String getName (int i)
- {
- return (String) (attributeNames.elementAt (i));
- }
-
- /**
- * <b>SAX1 AttributeList, SAX2 Attributes</b> method
- * (don't invoke on parser);
- */
- public String getType (int i)
- {
- String type = parser.getAttributeType (elementName, getQName (i));
- if (type == null)
- return "CDATA";
- // ... use DeclHandler.attributeDecl to see enumerations
- if (type == "ENUMERATION")
- return "NMTOKEN";
- return type;
- }
-
-
- /**
- * <b>SAX1 AttributeList, SAX2 Attributes</b> method
- * (don't invoke on parser);
- */
- public String getValue (int i)
- {
- return (String) (attributeValues.elementAt (i));
- }
-
-
- /**
- * <b>SAX2 Attributes</b> method (don't invoke on parser);
- */
- public int getIndex (String uri, String local)
- {
- int length = getLength ();
-
- for (int i = 0; i < length; i++) {
- if (!getURI (i).equals (uri))
- continue;
- if (getLocalName (i).equals (local))
- return i;
- }
- return -1;
- }
-
-
- /**
- * <b>SAX2 Attributes</b> method (don't invoke on parser);
- */
- public int getIndex (String xmlName)
- {
- int length = getLength ();
-
- for (int i = 0; i < length; i++) {
- if (getQName (i).equals (xmlName))
- return i;
- }
- return -1;
- }
-
-
- /**
- * <b>SAX2 Attributes</b> method (don't invoke on parser);
- */
- public String getType (String uri, String local)
- {
- int index = getIndex (uri, local);
-
- if (index < 0)
- return null;
- return getType (index);
- }
-
-
- /**
- * <b>SAX1 AttributeList, SAX2 Attributes</b> method
- * (don't invoke on parser);
- */
- public String getType (String xmlName)
- {
- int index = getIndex (xmlName);
-
- if (index < 0)
- return null;
- return getType (index);
- }
-
-
- /**
- * <b>SAX Attributes</b> method (don't invoke on parser);
- */
- public String getValue (String uri, String local)
- {
- int index = getIndex (uri, local);
-
- if (index < 0)
- return null;
- return getValue (index);
- }
-
-
- /**
- * <b>SAX1 AttributeList, SAX2 Attributes</b> method
- * (don't invoke on parser);
- */
- public String getValue (String xmlName)
- {
- int index = getIndex (xmlName);
-
- if (index < 0)
- return null;
- return getValue (index);
- }
-
-
- //
- // Implementation of org.xml.sax.ext.Attributes2
- //
-
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.ArrayIndexOutOfBoundsException
- * When the supplied index does not identify an attribute.
- */
- public boolean isDeclared (int index)
- {
- if (index < 0 || index >= attributeCount)
- throw new ArrayIndexOutOfBoundsException ();
- return attributeDeclared [index];
- }
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.IllegalArgumentException
- * When the supplied names do not identify an attribute.
- */
- public boolean isDeclared (java.lang.String qName)
- {
- int index = getIndex (qName);
- if (index < 0)
- throw new IllegalArgumentException ();
- return attributeDeclared [index];
- }
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.IllegalArgumentException
- * When the supplied names do not identify an attribute.
- */
- public boolean isDeclared (java.lang.String uri, java.lang.String localName)
- {
- int index = getIndex (uri, localName);
- if (index < 0)
- throw new IllegalArgumentException ();
- return attributeDeclared [index];
- }
-
-
- /**
- * <b>SAX-ext Attributes2</b> method (don't invoke on parser);
- */
- public boolean isSpecified (int index)
- {
- if (index < 0 || index >= attributeCount)
- throw new ArrayIndexOutOfBoundsException ();
- return attributeSpecified [index];
- }
-
- /**
- * <b>SAX-ext Attributes2</b> method (don't invoke on parser);
- */
- public boolean isSpecified (String uri, String local)
- {
- int index = getIndex (uri, local);
-
- if (index < 0)
- throw new IllegalArgumentException ();
- return attributeSpecified [index];
- }
-
- /**
- * <b>SAX-ext Attributes2</b> method (don't invoke on parser);
- */
- public boolean isSpecified (String xmlName)
- {
- int index = getIndex (xmlName);
-
- if (index < 0)
- throw new IllegalArgumentException ();
- return attributeSpecified [index];
- }
-
-
- //
- // Implementation of org.xml.sax.Locator.
- //
-
- /**
- * <b>SAX Locator</b> method (don't invoke on parser);
- */
- public String getPublicId ()
- {
- return null; // FIXME track public IDs too
- }
-
- /**
- * <b>SAX Locator</b> method (don't invoke on parser);
- */
- public String getSystemId ()
- {
- if (entityStack.empty ())
- return null;
- else
- return (String) entityStack.peek ();
- }
-
- /**
- * <b>SAX Locator</b> method (don't invoke on parser);
- */
- public int getLineNumber ()
- {
- return parser.getLineNumber ();
- }
-
- /**
- * <b>SAX Locator</b> method (don't invoke on parser);
- */
- public int getColumnNumber ()
- {
- return parser.getColumnNumber ();
- }
-
- // adapter between SAX2 content handler and SAX1 document handler callbacks
- private static class Adapter implements ContentHandler
- {
- private DocumentHandler docHandler;
-
- Adapter (DocumentHandler dh)
- { docHandler = dh; }
-
-
- public void setDocumentLocator (Locator l)
- { docHandler.setDocumentLocator (l); }
-
- public void startDocument () throws SAXException
- { docHandler.startDocument (); }
-
- public void processingInstruction (String target, String data)
- throws SAXException
- { docHandler.processingInstruction (target, data); }
-
- public void startPrefixMapping (String prefix, String uri)
- { /* ignored */ }
-
- public void startElement (
- String namespace,
- String local,
- String name,
- Attributes attrs
- ) throws SAXException
- { docHandler.startElement (name, (AttributeList) attrs); }
-
- public void characters (char buf [], int offset, int len)
- throws SAXException
- { docHandler.characters (buf, offset, len); }
-
- public void ignorableWhitespace (char buf [], int offset, int len)
- throws SAXException
- { docHandler.ignorableWhitespace (buf, offset, len); }
-
- public void skippedEntity (String name)
- { /* ignored */ }
-
- public void endElement (String u, String l, String name)
- throws SAXException
- { docHandler.endElement (name); }
-
- public void endPrefixMapping (String prefix)
- { /* ignored */ }
-
- public void endDocument () throws SAXException
- { docHandler.endDocument (); }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/aelfred2/XmlParser.java b/external/jaxp/source/gnu/xml/aelfred2/XmlParser.java
deleted file mode 100644
index 8e57c265a..000000000
--- a/external/jaxp/source/gnu/xml/aelfred2/XmlParser.java
+++ /dev/null
@@ -1,4761 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-//
-// Copyright (c) 1997, 1998 by Microstar Software Ltd.
-// From Microstar's README (the entire original license):
-//
-// Separate statements also said it's in the public domain.
-// All modifications are distributed under the license
-// above (GPL with library exception).
-//
-// AElfred is free for both commercial and non-commercial use and
-// redistribution, provided that Microstar's copyright and disclaimer are
-// retained intact. You are free to modify AElfred for your own use and
-// to redistribute AElfred with your modifications, provided that the
-// modifications are clearly documented.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// merchantability or fitness for a particular purpose. Please use it AT
-// YOUR OWN RISK.
-//
-
-
-package gnu.xml.aelfred2;
-
-import java.io.BufferedInputStream;
-import java.io.CharConversionException;
-import java.io.EOFException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.net.URLConnection;
-
-// maintaining 1.1 compatibility for now ...
-// Iterator and Hashmap ought to be faster
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Stack;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-/**
- * Parse XML documents and return parse events through call-backs.
- * Use the <code>SAXDriver</code> class as your entry point, as all
- * internal parser interfaces are subject to change.
- *
- * @author Written by David Megginson &lt;dmeggins@microstar.com&gt;
- * (version 1.2a with bugfixes)
- * @author Updated by David Brownell &lt;dbrownell@users.sourceforge.net&gt;
- * @see SAXDriver
- */
-final class XmlParser
-{
- // avoid slow per-character readCh()
- private final static boolean USE_CHEATS = true;
-
-
- //////////////////////////////////////////////////////////////////////
- // Constructors.
- ////////////////////////////////////////////////////////////////////////
-
-
- /**
- * Construct a new parser with no associated handler.
- * @see #setHandler
- * @see #parse
- */
- // package private
- XmlParser ()
- {
- }
-
-
- /**
- * Set the handler that will receive parsing events.
- * @param handler The handler to receive callback events.
- * @see #parse
- */
- // package private
- void setHandler (SAXDriver handler)
- {
- this.handler = handler;
- }
-
-
- /**
- * Parse an XML document from the character stream, byte stream, or URI
- * that you provide (in that order of preference). Any URI that you
- * supply will become the base URI for resolving relative URI, and may
- * be used to acquire a reader or byte stream.
- *
- * <p> Only one thread at a time may use this parser; since it is
- * private to this package, post-parse cleanup is done by the caller,
- * which MUST NOT REUSE the parser (just null it).
- *
- * @param systemId Absolute URI of the document; should never be null,
- * but may be so iff a reader <em>or</em> a stream is provided.
- * @param publicId The public identifier of the document, or null.
- * @param reader A character stream; must be null if stream isn't.
- * @param stream A byte input stream; must be null if reader isn't.
- * @param encoding The suggested encoding, or null if unknown.
- * @exception java.lang.Exception Basically SAXException or IOException
- */
- // package private
- void doParse (
- String systemId,
- String publicId,
- Reader reader,
- InputStream stream,
- String encoding
- ) throws Exception
- {
- if (handler == null)
- throw new IllegalStateException ("no callback handler");
-
- initializeVariables ();
-
- // predeclare the built-in entities here (replacement texts)
- // we don't need to intern(), since we're guaranteed literals
- // are always (globally) interned.
- setInternalEntity ("amp", "&#38;");
- setInternalEntity ("lt", "&#60;");
- setInternalEntity ("gt", "&#62;");
- setInternalEntity ("apos", "&#39;");
- setInternalEntity ("quot", "&#34;");
-
- try {
- // pushURL first to ensure locator is correct in startDocument
- // ... it might report an IO or encoding exception.
- // FIXME that could call endDocument without startDocument!
- pushURL (false, "[document]",
- // default baseURI: null
- new String [] { publicId, systemId, null},
- reader, stream, encoding, false);
-
- handler.startDocument ();
- parseDocument ();
- } finally {
- if (reader != null)
- try { reader.close ();
- } catch (IOException e) { /* ignore */ }
- if (stream != null)
- try { stream.close ();
- } catch (IOException e) { /* ignore */ }
- if (is != null)
- try { is.close ();
- } catch (IOException e) { /* ignore */ }
- if (reader != null)
- try {
- reader.close ();
- } catch (IOException e) { /* ignore */
- }
- scratch = null;
- }
- }
-
-
- ////////////////////////////////////////////////////////////////////////
- // Constants.
- ////////////////////////////////////////////////////////////////////////
-
- //
- // Constants for element content type.
- //
-
- /**
- * Constant: an element has not been declared.
- * @see #getElementContentType
- */
- public final static int CONTENT_UNDECLARED = 0;
-
- /**
- * Constant: the element has a content model of ANY.
- * @see #getElementContentType
- */
- public final static int CONTENT_ANY = 1;
-
- /**
- * Constant: the element has declared content of EMPTY.
- * @see #getElementContentType
- */
- public final static int CONTENT_EMPTY = 2;
-
- /**
- * Constant: the element has mixed content.
- * @see #getElementContentType
- */
- public final static int CONTENT_MIXED = 3;
-
- /**
- * Constant: the element has element content.
- * @see #getElementContentType
- */
- public final static int CONTENT_ELEMENTS = 4;
-
-
- //
- // Constants for the entity type.
- //
-
- /**
- * Constant: the entity has not been declared.
- * @see #getEntityType
- */
- public final static int ENTITY_UNDECLARED = 0;
-
- /**
- * Constant: the entity is internal.
- * @see #getEntityType
- */
- public final static int ENTITY_INTERNAL = 1;
-
- /**
- * Constant: the entity is external, non-parsable data.
- * @see #getEntityType
- */
- public final static int ENTITY_NDATA = 2;
-
- /**
- * Constant: the entity is external XML data.
- * @see #getEntityType
- */
- public final static int ENTITY_TEXT = 3;
-
-
- //
- // Attribute type constants are interned literal strings.
- //
-
- //
- // Constants for supported encodings. "external" is just a flag.
- //
- private final static int ENCODING_EXTERNAL = 0;
- private final static int ENCODING_UTF_8 = 1;
- private final static int ENCODING_ISO_8859_1 = 2;
- private final static int ENCODING_UCS_2_12 = 3;
- private final static int ENCODING_UCS_2_21 = 4;
- private final static int ENCODING_UCS_4_1234 = 5;
- private final static int ENCODING_UCS_4_4321 = 6;
- private final static int ENCODING_UCS_4_2143 = 7;
- private final static int ENCODING_UCS_4_3412 = 8;
- private final static int ENCODING_ASCII = 9;
-
-
- //
- // Constants for attribute default value.
- //
-
- /**
- * Constant: the attribute is not declared.
- * @see #getAttributeDefaultValueType
- */
- public final static int ATTRIBUTE_DEFAULT_UNDECLARED = 30;
-
- /**
- * Constant: the attribute has a literal default value specified.
- * @see #getAttributeDefaultValueType
- * @see #getAttributeDefaultValue
- */
- public final static int ATTRIBUTE_DEFAULT_SPECIFIED = 31;
-
- /**
- * Constant: the attribute was declared #IMPLIED.
- * @see #getAttributeDefaultValueType
- */
- public final static int ATTRIBUTE_DEFAULT_IMPLIED = 32;
-
- /**
- * Constant: the attribute was declared #REQUIRED.
- * @see #getAttributeDefaultValueType
- */
- public final static int ATTRIBUTE_DEFAULT_REQUIRED = 33;
-
- /**
- * Constant: the attribute was declared #FIXED.
- * @see #getAttributeDefaultValueType
- * @see #getAttributeDefaultValue
- */
- public final static int ATTRIBUTE_DEFAULT_FIXED = 34;
-
-
- //
- // Constants for input.
- //
- private final static int INPUT_NONE = 0;
- private final static int INPUT_INTERNAL = 1;
- private final static int INPUT_STREAM = 3;
- private final static int INPUT_READER = 5;
-
-
- //
- // Flags for reading literals.
- //
- // expand general entity refs (attribute values in dtd and content)
- private final static int LIT_ENTITY_REF = 2;
- // normalize this value (space chars) (attributes, public ids)
- private final static int LIT_NORMALIZE = 4;
- // literal is an attribute value
- private final static int LIT_ATTRIBUTE = 8;
- // don't expand parameter entities
- private final static int LIT_DISABLE_PE = 16;
- // don't expand [or parse] character refs
- private final static int LIT_DISABLE_CREF = 32;
- // don't parse general entity refs
- private final static int LIT_DISABLE_EREF = 64;
- // literal is a public ID value
- private final static int LIT_PUBID = 256;
-
-
- //
- // Flags affecting PE handling in DTDs (if expandPE is true).
- // PEs expand with space padding, except inside literals.
- //
- private final static int CONTEXT_NORMAL = 0;
- private final static int CONTEXT_LITERAL = 1;
-
-
- //////////////////////////////////////////////////////////////////////
- // Error reporting.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Report an error.
- * @param message The error message.
- * @param textFound The text that caused the error (or null).
- * @see SAXDriver#error
- * @see #line
- */
- private void error (String message, String textFound, String textExpected)
- throws SAXException
- {
- if (textFound != null) {
- message = message + " (found \"" + textFound + "\")";
- }
- if (textExpected != null) {
- message = message + " (expected \"" + textExpected + "\")";
- }
- handler.fatal (message);
-
- // "can't happen"
- throw new SAXException (message);
- }
-
-
- /**
- * Report a serious error.
- * @param message The error message.
- * @param textFound The text that caused the error (or null).
- */
- private void error (String message, char textFound, String textExpected)
- throws SAXException
- {
- error (message, new Character (textFound).toString (), textExpected);
- }
-
- /** Report typical case fatal errors. */
- private void error (String message)
- throws SAXException
- {
- handler.fatal (message);
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // Major syntactic productions.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Parse an XML document.
- * <pre>
- * [1] document ::= prolog element Misc*
- * </pre>
- * <p>This is the top-level parsing function for a single XML
- * document. As a minimum, a well-formed document must have
- * a document element, and a valid document must have a prolog
- * (one with doctype) as well.
- */
- private void parseDocument ()
- throws Exception
- {
- try { // added by MHK
- boolean sawDTD = parseProlog ();
- require ('<');
- parseElement (!sawDTD);
- } catch (EOFException ee) { // added by MHK
- error("premature end of file", "[EOF]", null);
- }
-
- try {
- parseMisc (); //skip all white, PIs, and comments
- char c = readCh (); //if this doesn't throw an exception...
- error ("unexpected characters after document end", c, null);
- } catch (EOFException e) {
- return;
- }
- }
-
- static final char startDelimComment [] = { '<', '!', '-', '-' };
- static final char endDelimComment [] = { '-', '-' };
-
- /**
- * Skip a comment.
- * <pre>
- * [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* "-->"
- * </pre>
- * <p> (The <code>&lt;!--</code> has already been read.)
- */
- private void parseComment ()
- throws Exception
- {
- char c;
- boolean saved = expandPE;
-
- expandPE = false;
- parseUntil (endDelimComment);
- require ('>');
- expandPE = saved;
- handler.comment (dataBuffer, 0, dataBufferPos);
- dataBufferPos = 0;
- }
-
- static final char startDelimPI [] = { '<', '?' };
- static final char endDelimPI [] = { '?', '>' };
-
- /**
- * Parse a processing instruction and do a call-back.
- * <pre>
- * [16] PI ::= '&lt;?' PITarget
- * (S (Char* - (Char* '?&gt;' Char*)))?
- * '?&gt;'
- * [17] PITarget ::= Name - ( ('X'|'x') ('M'|m') ('L'|l') )
- * </pre>
- * <p> (The <code>&lt;?</code> has already been read.)
- */
- private void parsePI ()
- throws SAXException, IOException
- {
- String name;
- boolean saved = expandPE;
-
- expandPE = false;
- name = readNmtoken (true);
- if ("xml".equalsIgnoreCase (name))
- error ("Illegal processing instruction target", name, null);
- if (!tryRead (endDelimPI)) {
- requireWhitespace ();
- parseUntil (endDelimPI);
- }
- expandPE = saved;
- handler.processingInstruction (name, dataBufferToString ());
- }
-
-
- static final char endDelimCDATA [] = { ']', ']', '>' };
-
- /**
- * Parse a CDATA section.
- * <pre>
- * [18] CDSect ::= CDStart CData CDEnd
- * [19] CDStart ::= '&lt;![CDATA['
- * [20] CData ::= (Char* - (Char* ']]&gt;' Char*))
- * [21] CDEnd ::= ']]&gt;'
- * </pre>
- * <p> (The '&lt;![CDATA[' has already been read.)
- */
- private void parseCDSect ()
- throws Exception
- {
- parseUntil (endDelimCDATA);
- dataBufferFlush ();
- }
-
-
- /**
- * Parse the prolog of an XML document.
- * <pre>
- * [22] prolog ::= XMLDecl? Misc* (Doctypedecl Misc*)?
- * </pre>
- * <p>We do not look for the XML declaration here, because it was
- * handled by pushURL ().
- * @see pushURL
- * @return true if a DTD was read.
- */
- private boolean parseProlog ()
- throws Exception
- {
- parseMisc ();
-
- if (tryRead ("<!DOCTYPE")) {
- parseDoctypedecl ();
- parseMisc ();
- return true;
- }
- return false;
- }
-
- private void checkLegalVersion (String version)
- throws SAXException
- {
- int len = version.length ();
- for (int i = 0; i < len; i++) {
- char c = version.charAt (i);
- if ('0' <= c && c <= '9')
- continue;
- if (c == '_' || c == '.' || c == ':' || c == '-')
- continue;
- if ('a' <= c && c <= 'z')
- continue;
- if ('A' <= c && c <= 'Z')
- continue;
- error ("illegal character in version", version, "1.0");
- }
- }
-
-
- /**
- * Parse the XML declaration.
- * <pre>
- * [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'
- * [24] VersionInfo ::= S 'version' Eq
- * ("'" VersionNum "'" | '"' VersionNum '"' )
- * [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')*
- * [32] SDDecl ::= S 'standalone' Eq
- * ( "'"" ('yes' | 'no') "'"" | '"' ("yes" | "no") '"' )
- * [80] EncodingDecl ::= S 'encoding' Eq
- * ( "'" EncName "'" | "'" EncName "'" )
- * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
- * </pre>
- * <p> (The <code>&lt;?xml</code> and whitespace have already been read.)
- * @return the encoding in the declaration, uppercased; or null
- * @see #parseTextDecl
- * @see #setupDecoding
- */
- private String parseXMLDecl (boolean ignoreEncoding)
- throws SAXException, IOException
- {
- String version;
- String encodingName = null;
- String standalone = null;
- int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF;
-
- // Read the version.
- require ("version");
- parseEq ();
- checkLegalVersion (version = readLiteral (flags));
- if (!version.equals ("1.0"))
- handler.warn ("expected XML version 1.0, not: " + version);
-
- // Try reading an encoding declaration.
- boolean white = tryWhitespace ();
-
- if (tryRead ("encoding")) {
- if (!white)
- error ("whitespace required before 'encoding='");
- parseEq ();
- encodingName = readLiteral (flags);
- if (!ignoreEncoding)
- setupDecoding (encodingName);
- }
-
- // Try reading a standalone declaration
- if (encodingName != null)
- white = tryWhitespace ();
- if (tryRead ("standalone")) {
- if (!white)
- error ("whitespace required before 'standalone='");
- parseEq ();
- standalone = readLiteral (flags);
- if ("yes".equals (standalone))
- docIsStandalone = true;
- else if (!"no".equals (standalone))
- error ("standalone flag must be 'yes' or 'no'");
- }
-
- skipWhitespace ();
- require ("?>");
-
- return encodingName;
- }
-
-
- /**
- * Parse a text declaration.
- * <pre>
- * [79] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'
- * [80] EncodingDecl ::= S 'encoding' Eq
- * ( '"' EncName '"' | "'" EncName "'" )
- * [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*
- * </pre>
- * <p> (The <code>&lt;?xml</code>' and whitespace have already been read.)
- * @return the encoding in the declaration, uppercased; or null
- * @see #parseXMLDecl
- * @see #setupDecoding
- */
- private String parseTextDecl (boolean ignoreEncoding)
- throws SAXException, IOException
- {
- String encodingName = null;
- int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF;
-
- // Read an optional version.
- if (tryRead ("version")) {
- String version;
- parseEq ();
- checkLegalVersion (version = readLiteral (flags));
- if (!version.equals ("1.0"))
- handler.warn ("expected XML version 1.0, not: " + version);
- requireWhitespace ();
- }
-
-
- // Read the encoding.
- require ("encoding");
- parseEq ();
- encodingName = readLiteral (flags);
- if (!ignoreEncoding)
- setupDecoding (encodingName);
-
- skipWhitespace ();
- require ("?>");
-
- return encodingName;
- }
-
-
- /**
- * Sets up internal state so that we can decode an entity using the
- * specified encoding. This is used when we start to read an entity
- * and we have been given knowledge of its encoding before we start to
- * read any data (e.g. from a SAX input source or from a MIME type).
- *
- * <p> It is also used after autodetection, at which point only very
- * limited adjustments to the encoding may be used (switching between
- * related builtin decoders).
- *
- * @param encodingName The name of the encoding specified by the user.
- * @exception IOException if the encoding isn't supported either
- * internally to this parser, or by the hosting JVM.
- * @see #parseXMLDecl
- * @see #parseTextDecl
- */
- private void setupDecoding (String encodingName)
- throws SAXException, IOException
- {
- encodingName = encodingName.toUpperCase ();
-
- // ENCODING_EXTERNAL indicates an encoding that wasn't
- // autodetected ... we can use builtin decoders, or
- // ones from the JVM (InputStreamReader).
-
- // Otherwise we can only tweak what was autodetected, and
- // only for single byte (ASCII derived) builtin encodings.
-
- // ASCII-derived encodings
- if (encoding == ENCODING_UTF_8 || encoding == ENCODING_EXTERNAL) {
- if (encodingName.equals ("ISO-8859-1")
- || encodingName.equals ("8859_1")
- || encodingName.equals ("ISO8859_1")
- ) {
- encoding = ENCODING_ISO_8859_1;
- return;
- } else if (encodingName.equals ("US-ASCII")
- || encodingName.equals ("ASCII")) {
- encoding = ENCODING_ASCII;
- return;
- } else if (encodingName.equals ("UTF-8")
- || encodingName.equals ("UTF8")) {
- encoding = ENCODING_UTF_8;
- return;
- } else if (encoding != ENCODING_EXTERNAL) {
- // used to start with a new reader ...
- throw new UnsupportedEncodingException (encodingName);
- }
- // else fallthrough ...
- // it's ASCII-ish and something other than a builtin
- }
-
- // Unicode and such
- if (encoding == ENCODING_UCS_2_12 || encoding == ENCODING_UCS_2_21) {
- if (!(encodingName.equals ("ISO-10646-UCS-2")
- || encodingName.equals ("UTF-16")
- || encodingName.equals ("UTF-16BE")
- || encodingName.equals ("UTF-16LE")))
- error ("unsupported Unicode encoding",
- encodingName,
- "UTF-16");
- return;
- }
-
- // four byte encodings
- if (encoding == ENCODING_UCS_4_1234
- || encoding == ENCODING_UCS_4_4321
- || encoding == ENCODING_UCS_4_2143
- || encoding == ENCODING_UCS_4_3412) {
- // Strictly: "UCS-4" == "UTF-32BE"; also, "UTF-32LE" exists
- if (!encodingName.equals ("ISO-10646-UCS-4"))
- error ("unsupported 32-bit encoding",
- encodingName,
- "ISO-10646-UCS-4");
- return;
- }
-
- // assert encoding == ENCODING_EXTERNAL
- // if (encoding != ENCODING_EXTERNAL)
- // throw new RuntimeException ("encoding = " + encoding);
-
- if (encodingName.equals ("UTF-16BE")) {
- encoding = ENCODING_UCS_2_12;
- return;
- }
- if (encodingName.equals ("UTF-16LE")) {
- encoding = ENCODING_UCS_2_21;
- return;
- }
-
- // We couldn't use the builtin decoders at all. But we can try to
- // create a reader, since we haven't messed up buffering. Tweak
- // the encoding name if necessary.
-
- if (encodingName.equals ("UTF-16")
- || encodingName.equals ("ISO-10646-UCS-2"))
- encodingName = "Unicode";
- // Ignoring all the EBCDIC aliases here
-
- reader = new InputStreamReader (is, encodingName);
- sourceType = INPUT_READER;
- }
-
-
- /**
- * Parse miscellaneous markup outside the document element and DOCTYPE
- * declaration.
- * <pre>
- * [27] Misc ::= Comment | PI | S
- * </pre>
- */
- private void parseMisc ()
- throws Exception
- {
- while (true) {
- skipWhitespace ();
- if (tryRead (startDelimPI)) {
- parsePI ();
- } else if (tryRead (startDelimComment)) {
- parseComment ();
- } else {
- return;
- }
- }
- }
-
-
- /**
- * Parse a document type declaration.
- * <pre>
- * [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S?
- * ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;'
- * </pre>
- * <p> (The <code>&lt;!DOCTYPE</code> has already been read.)
- */
- private void parseDoctypedecl ()
- throws Exception
- {
- String rootName, ids[];
-
- // Read the document type name.
- requireWhitespace ();
- rootName = readNmtoken (true);
-
- // Read the External subset's IDs
- skipWhitespace ();
- ids = readExternalIds (false, true);
-
- // report (a) declaration of name, (b) lexical info (ids)
- handler.doctypeDecl (rootName, ids [0], ids [1]);
-
- // Internal subset is parsed first, if present
- skipWhitespace ();
- if (tryRead ('[')) {
-
- // loop until the subset ends
- while (true) {
- doReport = expandPE = true;
- skipWhitespace ();
- doReport = expandPE = false;
- if (tryRead (']')) {
- break; // end of subset
- } else {
- // WFC, PEs in internal subset (only between decls)
- peIsError = expandPE = true;
- parseMarkupdecl ();
- peIsError = expandPE = false;
- }
- }
- }
- skipWhitespace ();
- require ('>');
-
- // Read the external subset, if any
- InputSource subset;
-
- if (ids [1] == null)
- subset = handler.getExternalSubset (rootName,
- handler.getSystemId ());
- else
- subset = null;
- if (ids [1] != null || subset != null) {
- pushString (null, ">");
-
- // NOTE: [dtd] is so we say what SAX2 expects,
- // though it's misleading (subset, not entire dtd)
- if (ids [1] != null)
- pushURL (true, "[dtd]", ids, null, null, null, true);
- else {
- handler.warn ("modifying document by adding external subset");
- pushURL (true, "[dtd]",
- new String [] { subset.getPublicId (),
- subset.getSystemId (), null },
- subset.getCharacterStream (),
- subset.getByteStream (),
- subset.getEncoding (),
- false);
- }
-
- // Loop until we end up back at '>'
- while (true) {
- doReport = expandPE = true;
- skipWhitespace ();
- doReport = expandPE = false;
- if (tryRead ('>')) {
- break;
- } else {
- expandPE = true;
- parseMarkupdecl ();
- expandPE = false;
- }
- }
-
- // the ">" string isn't popped yet
- if (inputStack.size () != 1)
- error ("external subset has unmatched '>'");
- }
-
- // done dtd
- handler.endDoctype ();
- expandPE = false;
- doReport = true;
- }
-
-
- /**
- * Parse a markup declaration in the internal or external DTD subset.
- * <pre>
- * [29] markupdecl ::= elementdecl | Attlistdecl | EntityDecl
- * | NotationDecl | PI | Comment
- * [30] extSubsetDecl ::= (markupdecl | conditionalSect
- * | PEReference | S) *
- * </pre>
- * <p> Reading toplevel PE references is handled as a lexical issue
- * by the caller, as is whitespace.
- */
- private void parseMarkupdecl ()
- throws Exception
- {
- char saved [] = null;
- boolean savedPE = expandPE;
-
- // prevent "<%foo;" and ensures saved entity is right
- require ('<');
- unread ('<');
- expandPE = false;
-
- if (tryRead ("<!ELEMENT")) {
- saved = readBuffer;
- expandPE = savedPE;
- parseElementDecl ();
- } else if (tryRead ("<!ATTLIST")) {
- saved = readBuffer;
- expandPE = savedPE;
- parseAttlistDecl ();
- } else if (tryRead ("<!ENTITY")) {
- saved = readBuffer;
- expandPE = savedPE;
- parseEntityDecl ();
- } else if (tryRead ("<!NOTATION")) {
- saved = readBuffer;
- expandPE = savedPE;
- parseNotationDecl ();
- } else if (tryRead (startDelimPI)) {
- saved = readBuffer;
- expandPE = savedPE;
- parsePI ();
- } else if (tryRead (startDelimComment)) {
- saved = readBuffer;
- expandPE = savedPE;
- parseComment ();
- } else if (tryRead ("<![")) {
- saved = readBuffer;
- expandPE = savedPE;
- if (inputStack.size () > 0)
- parseConditionalSect (saved);
- else
- error ("conditional sections illegal in internal subset");
- } else {
- error ("expected markup declaration");
- }
-
- // VC: Proper Decl/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Declaration/PE nesting");
- }
-
-
- /**
- * Parse an element, with its tags.
- * <pre>
- * [39] element ::= EmptyElementTag | STag content ETag
- * [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;'
- * [44] EmptyElementTag ::= '&lt;' Name (S Attribute)* S? '/&gt;'
- * </pre>
- * <p> (The '&lt;' has already been read.)
- * <p>NOTE: this method actually chains onto parseContent (), if necessary,
- * and parseContent () will take care of calling parseETag ().
- */
- private void parseElement (boolean maybeGetSubset)
- throws Exception
- {
- String gi;
- char c;
- int oldElementContent = currentElementContent;
- String oldElement = currentElement;
- Object element [];
-
- // This is the (global) counter for the
- // array of specified attributes.
- tagAttributePos = 0;
-
- // Read the element type name.
- gi = readNmtoken (true);
-
- // If we saw no DTD, and this is the document root element,
- // let the application modify the input stream by providing one.
- if (maybeGetSubset) {
- InputSource subset = handler.getExternalSubset (gi,
- handler.getSystemId ());
- if (subset != null) {
- String publicId = subset.getPublicId ();
- String systemId = subset.getSystemId ();
-
- handler.warn ("modifying document by adding DTD");
- handler.doctypeDecl (gi, publicId, systemId);
- pushString (null, ">");
-
- // NOTE: [dtd] is so we say what SAX2 expects,
- // though it's misleading (subset, not entire dtd)
- pushURL (true, "[dtd]",
- new String [] { publicId, systemId, null },
- subset.getCharacterStream (),
- subset.getByteStream (),
- subset.getEncoding (),
- false);
-
- // Loop until we end up back at '>'
- while (true) {
- doReport = expandPE = true;
- skipWhitespace ();
- doReport = expandPE = false;
- if (tryRead ('>')) {
- break;
- } else {
- expandPE = true;
- parseMarkupdecl ();
- expandPE = false;
- }
- }
-
- // the ">" string isn't popped yet
- if (inputStack.size () != 1)
- error ("external subset has unmatched '>'");
-
- handler.endDoctype ();
- }
- }
-
- // Determine the current content type.
- currentElement = gi;
- element = (Object []) elementInfo.get (gi);
- currentElementContent = getContentType (element, CONTENT_ANY);
-
- // Read the attributes, if any.
- // After this loop, "c" is the closing delimiter.
- boolean white = tryWhitespace ();
- c = readCh ();
- while (c != '/' && c != '>') {
- unread (c);
- if (!white)
- error ("need whitespace between attributes");
- parseAttribute (gi);
- white = tryWhitespace ();
- c = readCh ();
- }
-
- // Supply any defaulted attributes.
- Enumeration atts = declaredAttributes (element);
- if (atts != null) {
- String aname;
-loop:
- while (atts.hasMoreElements ()) {
- aname = (String) atts.nextElement ();
- // See if it was specified.
- for (int i = 0; i < tagAttributePos; i++) {
- if (tagAttributes [i] == aname) {
- continue loop;
- }
- }
- // ... or has a default
- String value = getAttributeDefaultValue (gi, aname);
-
- if (value == null)
- continue;
- handler.attribute (aname, value, false);
- }
- }
-
- // Figure out if this is a start tag
- // or an empty element, and dispatch an
- // event accordingly.
- switch (c) {
- case '>':
- handler.startElement (gi);
- parseContent ();
- break;
- case '/':
- require ('>');
- handler.startElement (gi);
- handler.endElement (gi);
- break;
- }
-
- // Restore the previous state.
- currentElement = oldElement;
- currentElementContent = oldElementContent;
- }
-
-
- /**
- * Parse an attribute assignment.
- * <pre>
- * [41] Attribute ::= Name Eq AttValue
- * </pre>
- * @param name The name of the attribute's element.
- * @see SAXDriver#attribute
- */
- private void parseAttribute (String name)
- throws Exception
- {
- String aname;
- String type;
- String value;
- int flags = LIT_ATTRIBUTE | LIT_ENTITY_REF;
-
- // Read the attribute name.
- aname = readNmtoken (true);
- type = getAttributeType (name, aname);
-
- // Parse '='
- parseEq ();
-
- // Read the value, normalizing whitespace
- // unless it is CDATA.
- if (type == "CDATA" || type == null) {
- value = readLiteral (flags);
- } else {
- value = readLiteral (flags | LIT_NORMALIZE);
- }
-
- // WFC: no duplicate attributes
- for (int i = 0; i < tagAttributePos; i++)
- if (aname.equals (tagAttributes [i]))
- error ("duplicate attribute", aname, null);
-
- // Inform the handler about the
- // attribute.
- handler.attribute (aname, value, true);
- dataBufferPos = 0;
-
- // Note that the attribute has been
- // specified.
- if (tagAttributePos == tagAttributes.length) {
- String newAttrib[] = new String [tagAttributes.length * 2];
- System.arraycopy (tagAttributes, 0, newAttrib, 0, tagAttributePos);
- tagAttributes = newAttrib;
- }
- tagAttributes [tagAttributePos++] = aname;
- }
-
-
- /**
- * Parse an equals sign surrounded by optional whitespace.
- * <pre>
- * [25] Eq ::= S? '=' S?
- * </pre>
- */
- private void parseEq ()
- throws SAXException, IOException
- {
- skipWhitespace ();
- require ('=');
- skipWhitespace ();
- }
-
-
- /**
- * Parse an end tag.
- * <pre>
- * [42] ETag ::= '</' Name S? '>'
- * </pre>
- * <p>NOTE: parseContent () chains to here, we already read the
- * "&lt;/".
- */
- private void parseETag ()
- throws Exception
- {
- require (currentElement);
- skipWhitespace ();
- require ('>');
- handler.endElement (currentElement);
- // not re-reporting any SAXException re bogus end tags,
- // even though that diagnostic might be clearer ...
- }
-
-
- /**
- * Parse the content of an element.
- * <pre>
- * [43] content ::= (element | CharData | Reference
- * | CDSect | PI | Comment)*
- * [67] Reference ::= EntityRef | CharRef
- * </pre>
- * <p> NOTE: consumes ETtag.
- */
- private void parseContent ()
- throws Exception
- {
- char c;
-
- while (true) {
- // consume characters (or ignorable whitspace) until delimiter
- parseCharData ();
-
- // Handle delimiters
- c = readCh ();
- switch (c) {
-
- case '&': // Found "&"
- c = readCh ();
- if (c == '#') {
- parseCharRef ();
- } else {
- unread (c);
- parseEntityRef (true);
- }
- break;
-
- case '<': // Found "<"
- dataBufferFlush ();
- c = readCh ();
- switch (c) {
- case '!': // Found "<!"
- c = readCh ();
- switch (c) {
- case '-': // Found "<!-"
- require ('-');
- parseComment ();
- break;
- case '[': // Found "<!["
- require ("CDATA[");
- handler.startCDATA ();
- inCDATA = true;
- parseCDSect ();
- inCDATA = false;
- handler.endCDATA ();
- break;
- default:
- error ("expected comment or CDATA section", c, null);
- break;
- }
- break;
-
- case '?': // Found "<?"
- parsePI ();
- break;
-
- case '/': // Found "</"
- parseETag ();
- return;
-
- default: // Found "<" followed by something else
- unread (c);
- parseElement (false);
- break;
- }
- }
- }
- }
-
-
- /**
- * Parse an element type declaration.
- * <pre>
- * [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;'
- * </pre>
- * <p> NOTE: the '&lt;!ELEMENT' has already been read.
- */
- private void parseElementDecl ()
- throws Exception
- {
- String name;
-
- requireWhitespace ();
- // Read the element type name.
- name = readNmtoken (true);
-
- requireWhitespace ();
- // Read the content model.
- parseContentspec (name);
-
- skipWhitespace ();
- require ('>');
- }
-
-
- /**
- * Content specification.
- * <pre>
- * [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | elements
- * </pre>
- */
- private void parseContentspec (String name)
- throws Exception
- {
-// FIXME: move elementDecl() into setElement(), pass EMTPY/ANY ...
- if (tryRead ("EMPTY")) {
- setElement (name, CONTENT_EMPTY, null, null);
- if (!skippedPE)
- handler.getDeclHandler ().elementDecl (name, "EMPTY");
- return;
- } else if (tryRead ("ANY")) {
- setElement (name, CONTENT_ANY, null, null);
- if (!skippedPE)
- handler.getDeclHandler ().elementDecl (name, "ANY");
- return;
- } else {
- String model;
- char saved [];
-
- require ('(');
- saved = readBuffer;
- dataBufferAppend ('(');
- skipWhitespace ();
- if (tryRead ("#PCDATA")) {
- dataBufferAppend ("#PCDATA");
- parseMixed (saved);
- model = dataBufferToString ();
- setElement (name, CONTENT_MIXED, model, null);
- } else {
- parseElements (saved);
- model = dataBufferToString ();
- setElement (name, CONTENT_ELEMENTS, model, null);
- }
- if (!skippedPE)
- handler.getDeclHandler ().elementDecl (name, model);
- }
- }
-
- /**
- * Parse an element-content model.
- * <pre>
- * [47] elements ::= (choice | seq) ('?' | '*' | '+')?
- * [49] choice ::= '(' S? cp (S? '|' S? cp)+ S? ')'
- * [50] seq ::= '(' S? cp (S? ',' S? cp)* S? ')'
- * </pre>
- *
- * <p> NOTE: the opening '(' and S have already been read.
- *
- * @param saved Buffer for entity that should have the terminal ')'
- */
- private void parseElements (char saved [])
- throws Exception
- {
- char c;
- char sep;
-
- // Parse the first content particle
- skipWhitespace ();
- parseCp ();
-
- // Check for end or for a separator.
- skipWhitespace ();
- c = readCh ();
- switch (c) {
- case ')':
- // VC: Proper Group/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Group/PE nesting");
-
- dataBufferAppend (')');
- c = readCh ();
- switch (c) {
- case '*':
- case '+':
- case '?':
- dataBufferAppend (c);
- break;
- default:
- unread (c);
- }
- return;
- case ',': // Register the separator.
- case '|':
- sep = c;
- dataBufferAppend (c);
- break;
- default:
- error ("bad separator in content model", c, null);
- return;
- }
-
- // Parse the rest of the content model.
- while (true) {
- skipWhitespace ();
- parseCp ();
- skipWhitespace ();
- c = readCh ();
- if (c == ')') {
- // VC: Proper Group/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Group/PE nesting");
-
- dataBufferAppend (')');
- break;
- } else if (c != sep) {
- error ("bad separator in content model", c, null);
- return;
- } else {
- dataBufferAppend (c);
- }
- }
-
- // Check for the occurrence indicator.
- c = readCh ();
- switch (c) {
- case '?':
- case '*':
- case '+':
- dataBufferAppend (c);
- return;
- default:
- unread (c);
- return;
- }
- }
-
-
- /**
- * Parse a content particle.
- * <pre>
- * [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?
- * </pre>
- */
- private void parseCp ()
- throws Exception
- {
- if (tryRead ('(')) {
- dataBufferAppend ('(');
- parseElements (readBuffer);
- } else {
- dataBufferAppend (readNmtoken (true));
- char c = readCh ();
- switch (c) {
- case '?':
- case '*':
- case '+':
- dataBufferAppend (c);
- break;
- default:
- unread (c);
- break;
- }
- }
- }
-
-
- /**
- * Parse mixed content.
- * <pre>
- * [51] Mixed ::= '(' S? ( '#PCDATA' (S? '|' S? Name)*) S? ')*'
- * | '(' S? ('#PCDATA') S? ')'
- * </pre>
- *
- * @param saved Buffer for entity that should have the terminal ')'
- */
- private void parseMixed (char saved [])
- throws Exception
- {
- // Check for PCDATA alone.
- skipWhitespace ();
- if (tryRead (')')) {
- // VC: Proper Group/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Group/PE nesting");
-
- dataBufferAppend (")*");
- tryRead ('*');
- return;
- }
-
- // Parse mixed content.
- skipWhitespace ();
- while (!tryRead (")")) {
- require ('|');
- dataBufferAppend ('|');
- skipWhitespace ();
- dataBufferAppend (readNmtoken (true));
- skipWhitespace ();
- }
-
- // VC: Proper Group/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Group/PE nesting");
-
- require ('*');
- dataBufferAppend (")*");
- }
-
-
- /**
- * Parse an attribute list declaration.
- * <pre>
- * [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;'
- * </pre>
- * <p>NOTE: the '&lt;!ATTLIST' has already been read.
- */
- private void parseAttlistDecl ()
- throws Exception
- {
- String elementName;
-
- requireWhitespace ();
- elementName = readNmtoken (true);
- boolean white = tryWhitespace ();
- while (!tryRead ('>')) {
- if (!white)
- error ("whitespace required before attribute definition");
- parseAttDef (elementName);
- white = tryWhitespace ();
- }
- }
-
-
- /**
- * Parse a single attribute definition.
- * <pre>
- * [53] AttDef ::= S Name S AttType S DefaultDecl
- * </pre>
- */
- private void parseAttDef (String elementName)
- throws Exception
- {
- String name;
- String type;
- String enum = null;
-
- // Read the attribute name.
- name = readNmtoken (true);
-
- // Read the attribute type.
- requireWhitespace ();
- type = readAttType ();
-
- // Get the string of enumerated values if necessary.
- if ("ENUMERATION" == type || "NOTATION" == type)
- enum = dataBufferToString ();
-
- // Read the default value.
- requireWhitespace ();
- parseDefault (elementName, name, type, enum);
- }
-
-
- /**
- * Parse the attribute type.
- * <pre>
- * [54] AttType ::= StringType | TokenizedType | EnumeratedType
- * [55] StringType ::= 'CDATA'
- * [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY'
- * | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'
- * [57] EnumeratedType ::= NotationType | Enumeration
- * </pre>
- */
- private String readAttType ()
- throws Exception
- {
- if (tryRead ('(')) {
- parseEnumeration (false);
- return "ENUMERATION";
- } else {
- String typeString = readNmtoken (true);
- if ("NOTATION" == typeString) {
- parseNotationType ();
- return typeString;
- } else if ("CDATA" == typeString
- || "ID" == typeString
- || "IDREF" == typeString
- || "IDREFS" == typeString
- || "ENTITY" == typeString
- || "ENTITIES" == typeString
- || "NMTOKEN" == typeString
- || "NMTOKENS" == typeString)
- return typeString;
- error ("illegal attribute type", typeString, null);
- return null;
- }
- }
-
-
- /**
- * Parse an enumeration.
- * <pre>
- * [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
- * </pre>
- * <p>NOTE: the '(' has already been read.
- */
- private void parseEnumeration (boolean isNames)
- throws Exception
- {
- dataBufferAppend ('(');
-
- // Read the first token.
- skipWhitespace ();
- dataBufferAppend (readNmtoken (isNames));
- // Read the remaining tokens.
- skipWhitespace ();
- while (!tryRead (')')) {
- require ('|');
- dataBufferAppend ('|');
- skipWhitespace ();
- dataBufferAppend (readNmtoken (isNames));
- skipWhitespace ();
- }
- dataBufferAppend (')');
- }
-
-
- /**
- * Parse a notation type for an attribute.
- * <pre>
- * [58] NotationType ::= 'NOTATION' S '(' S? NameNtoks
- * (S? '|' S? name)* S? ')'
- * </pre>
- * <p>NOTE: the 'NOTATION' has already been read
- */
- private void parseNotationType ()
- throws Exception
- {
- requireWhitespace ();
- require ('(');
-
- parseEnumeration (true);
- }
-
-
- /**
- * Parse the default value for an attribute.
- * <pre>
- * [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED'
- * | (('#FIXED' S)? AttValue)
- * </pre>
- */
- private void parseDefault (
- String elementName,
- String name,
- String type,
- String enum
- ) throws Exception
- {
- int valueType = ATTRIBUTE_DEFAULT_SPECIFIED;
- String value = null;
- int flags = LIT_ATTRIBUTE;
- boolean saved = expandPE;
- String defaultType = null;
-
- // LIT_ATTRIBUTE forces '<' checks now (ASAP) and turns whitespace
- // chars to spaces (doesn't matter when that's done if it doesn't
- // interfere with char refs expanding to whitespace).
-
- if (!skippedPE) {
- flags |= LIT_ENTITY_REF;
- if ("CDATA" != type)
- flags |= LIT_NORMALIZE;
- }
-
- expandPE = false;
- if (tryRead ('#')) {
- if (tryRead ("FIXED")) {
- defaultType = "#FIXED";
- valueType = ATTRIBUTE_DEFAULT_FIXED;
- requireWhitespace ();
- value = readLiteral (flags);
- } else if (tryRead ("REQUIRED")) {
- defaultType = "#REQUIRED";
- valueType = ATTRIBUTE_DEFAULT_REQUIRED;
- } else if (tryRead ("IMPLIED")) {
- defaultType = "#IMPLIED";
- valueType = ATTRIBUTE_DEFAULT_IMPLIED;
- } else {
- error ("illegal keyword for attribute default value");
- }
- } else
- value = readLiteral (flags);
- expandPE = saved;
- setAttribute (elementName, name, type, enum, value, valueType);
- if ("ENUMERATION" == type)
- type = enum;
- else if ("NOTATION" == type)
- type = "NOTATION " + enum;
- if (!skippedPE) handler.getDeclHandler ()
- .attributeDecl (elementName, name, type, defaultType, value);
- }
-
-
- /**
- * Parse a conditional section.
- * <pre>
- * [61] conditionalSect ::= includeSect || ignoreSect
- * [62] includeSect ::= '&lt;![' S? 'INCLUDE' S? '['
- * extSubsetDecl ']]&gt;'
- * [63] ignoreSect ::= '&lt;![' S? 'IGNORE' S? '['
- * ignoreSectContents* ']]&gt;'
- * [64] ignoreSectContents ::= Ignore
- * ('&lt;![' ignoreSectContents* ']]&gt;' Ignore )*
- * [65] Ignore ::= Char* - (Char* ( '&lt;![' | ']]&gt;') Char* )
- * </pre>
- * <p> NOTE: the '&gt;![' has already been read.
- */
- private void parseConditionalSect (char saved [])
- throws Exception
- {
- skipWhitespace ();
- if (tryRead ("INCLUDE")) {
- skipWhitespace ();
- require ('[');
- // VC: Proper Conditional Section/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Conditional Section/PE nesting");
- skipWhitespace ();
- while (!tryRead ("]]>")) {
- parseMarkupdecl ();
- skipWhitespace ();
- }
- } else if (tryRead ("IGNORE")) {
- skipWhitespace ();
- require ('[');
- // VC: Proper Conditional Section/PE Nesting
- if (readBuffer != saved)
- handler.verror ("Illegal Conditional Section/PE nesting");
- int nesting = 1;
- char c;
- expandPE = false;
- for (int nest = 1; nest > 0;) {
- c = readCh ();
- switch (c) {
- case '<':
- if (tryRead ("![")) {
- nest++;
- }
- case ']':
- if (tryRead ("]>")) {
- nest--;
- }
- }
- }
- expandPE = true;
- } else {
- error ("conditional section must begin with INCLUDE or IGNORE");
- }
- }
-
- private void parseCharRef ()
- throws SAXException, IOException
- {
- parseCharRef (true /* do flushDataBuffer by default */);
- }
-
- /**
- * Read and interpret a character reference.
- * <pre>
- * [66] CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';'
- * </pre>
- * <p>NOTE: the '&#' has already been read.
- */
- private void parseCharRef (boolean doFlush)
- throws SAXException, IOException
- {
- int value = 0;
- char c;
-
- if (tryRead ('x')) {
-loop1:
- while (true) {
- c = readCh ();
- int n;
- switch (c) {
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- n = c - '0';
- break;
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- n = (c - 'a') + 10;
- break;
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- n = (c - 'A') + 10;
- break;
- case ';':
- break loop1;
- default:
- error ("illegal character in character reference", c, null);
- break loop1;
- }
- value *= 16;
- value += n;
- }
- } else {
-loop2:
- while (true) {
- c = readCh ();
- switch (c) {
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7': case '8': case '9':
- value *= 10;
- value += c - '0';
- break;
- case ';':
- break loop2;
- default:
- error ("illegal character in character reference", c, null);
- break loop2;
- }
- }
- }
-
- // check for character refs being legal XML
- if ((value < 0x0020
- && ! (value == '\n' || value == '\t' || value == '\r'))
- || (value >= 0xD800 && value <= 0xDFFF)
- || value == 0xFFFE || value == 0xFFFF
- || value > 0x0010ffff)
- error ("illegal XML character reference U+"
- + Integer.toHexString (value));
-
- // Check for surrogates: 00000000 0000xxxx yyyyyyyy zzzzzzzz
- // (1101|10xx|xxyy|yyyy + 1101|11yy|zzzz|zzzz:
- if (value <= 0x0000ffff) {
- // no surrogates needed
- dataBufferAppend ((char) value);
- } else if (value <= 0x0010ffff) {
- value -= 0x10000;
- // > 16 bits, surrogate needed
- dataBufferAppend ((char) (0xd800 | (value >> 10)));
- dataBufferAppend ((char) (0xdc00 | (value & 0x0003ff)));
- } else {
- // too big for surrogate
- error ("character reference " + value + " is too large for UTF-16",
- new Integer (value).toString (), null);
- }
- if (doFlush) dataBufferFlush ();
- }
-
-
- /**
- * Parse and expand an entity reference.
- * <pre>
- * [68] EntityRef ::= '&' Name ';'
- * </pre>
- * <p>NOTE: the '&amp;' has already been read.
- * @param externalAllowed External entities are allowed here.
- */
- private void parseEntityRef (boolean externalAllowed)
- throws SAXException, IOException
- {
- String name;
-
- name = readNmtoken (true);
- require (';');
- switch (getEntityType (name)) {
- case ENTITY_UNDECLARED:
- // NOTE: XML REC describes amazingly convoluted handling for
- // this case. Nothing as meaningful as being a WFness error
- // unless the processor might _legitimately_ not have seen a
- // declaration ... which is what this implements.
- String message;
-
- message = "reference to undeclared general entity " + name;
- if (skippedPE && !docIsStandalone) {
- handler.verror (message);
- // we don't know this entity, and it might be external...
- if (externalAllowed)
- handler.skippedEntity (name);
- } else
- error (message);
- break;
- case ENTITY_INTERNAL:
- pushString (name, getEntityValue (name));
- break;
- case ENTITY_TEXT:
- if (externalAllowed) {
- pushURL (false, name, getEntityIds (name),
- null, null, null, true);
- } else {
- error ("reference to external entity in attribute value.",
- name, null);
- }
- break;
- case ENTITY_NDATA:
- if (externalAllowed) {
- error ("unparsed entity reference in content", name, null);
- } else {
- error ("reference to external entity in attribute value.",
- name, null);
- }
- break;
- default:
- throw new RuntimeException ();
- }
- }
-
-
- /**
- * Parse and expand a parameter entity reference.
- * <pre>
- * [69] PEReference ::= '%' Name ';'
- * </pre>
- * <p>NOTE: the '%' has already been read.
- */
- private void parsePEReference ()
- throws SAXException, IOException
- {
- String name;
-
- name = "%" + readNmtoken (true);
- require (';');
- switch (getEntityType (name)) {
- case ENTITY_UNDECLARED:
- // VC: Entity Declared
- handler.verror ("reference to undeclared parameter entity " + name);
-
- // we should disable handling of all subsequent declarations
- // unless this is a standalone document (info discarded)
- break;
- case ENTITY_INTERNAL:
- if (inLiteral)
- pushString (name, getEntityValue (name));
- else
- pushString (name, ' ' + getEntityValue (name) + ' ');
- break;
- case ENTITY_TEXT:
- if (!inLiteral)
- pushString (null, " ");
- pushURL (true, name, getEntityIds (name), null, null, null, true);
- if (!inLiteral)
- pushString (null, " ");
- break;
- }
- }
-
- /**
- * Parse an entity declaration.
- * <pre>
- * [70] EntityDecl ::= GEDecl | PEDecl
- * [71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;'
- * [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;'
- * [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)
- * [74] PEDef ::= EntityValue | ExternalID
- * [75] ExternalID ::= 'SYSTEM' S SystemLiteral
- * | 'PUBLIC' S PubidLiteral S SystemLiteral
- * [76] NDataDecl ::= S 'NDATA' S Name
- * </pre>
- * <p>NOTE: the '&lt;!ENTITY' has already been read.
- */
- private void parseEntityDecl ()
- throws Exception
- {
- boolean peFlag = false;
- int flags = LIT_DISABLE_CREF;
-
- // Check for a parameter entity.
- expandPE = false;
- requireWhitespace ();
- if (tryRead ('%')) {
- peFlag = true;
- requireWhitespace ();
- }
- expandPE = true;
-
- // Read the entity name, and prepend
- // '%' if necessary.
- String name = readNmtoken (true);
- if (peFlag) {
- name = "%" + name;
- }
-
- // Read the entity value.
- requireWhitespace ();
- char c = readCh ();
- unread (c);
- if (c == '"' || c == '\'') {
- // Internal entity ... replacement text has expanded refs
- // to characters and PEs, but not to general entities
- String value = readLiteral (flags);
- setInternalEntity (name, value);
- } else {
- // Read the external IDs
- String ids [] = readExternalIds (false, false);
-
- // Check for NDATA declaration.
- boolean white = tryWhitespace ();
- if (!peFlag && tryRead ("NDATA")) {
- if (!white)
- error ("whitespace required before NDATA");
- requireWhitespace ();
- String notationName = readNmtoken (true);
- if (!skippedPE) {
- setExternalEntity (name, ENTITY_NDATA, ids, notationName);
- handler.unparsedEntityDecl (name, ids, notationName);
- }
- } else if (!skippedPE) {
- setExternalEntity (name, ENTITY_TEXT, ids, null);
- handler.getDeclHandler ()
- .externalEntityDecl (name, ids [0],
- handler.resolveURIs ()
- // FIXME: ASSUMES not skipped
- // "false" forces error on bad URI
- ? handler.absolutize (ids [2], ids [1], false)
- : ids [1]);
- }
- }
-
- // Finish the declaration.
- skipWhitespace ();
- require ('>');
- }
-
-
- /**
- * Parse a notation declaration.
- * <pre>
- * [82] NotationDecl ::= '&lt;!NOTATION' S Name S
- * (ExternalID | PublicID) S? '&gt;'
- * [83] PublicID ::= 'PUBLIC' S PubidLiteral
- * </pre>
- * <P>NOTE: the '&lt;!NOTATION' has already been read.
- */
- private void parseNotationDecl ()
- throws Exception
- {
- String nname, ids[];
-
-
- requireWhitespace ();
- nname = readNmtoken (true);
-
- requireWhitespace ();
-
- // Read the external identifiers.
- ids = readExternalIds (true, false);
-
- // Register the notation.
- setNotation (nname, ids);
-
- skipWhitespace ();
- require ('>');
- }
-
-
- /**
- * Parse character data.
- * <pre>
- * [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)
- * </pre>
- */
- private void parseCharData ()
- throws Exception
- {
- char c;
- int state = 0;
- boolean pureWhite = false;
-
- // assert (dataBufferPos == 0);
-
- // are we expecting pure whitespace? it might be dirty...
- if (currentElementContent == CONTENT_ELEMENTS);
- pureWhite = true;
-
- // always report right out of readBuffer
- // to minimize (pointless) buffer copies
- while (true) {
- int lineAugment = 0;
- int columnAugment = 0;
- int i;
-
-loop:
- for (i = readBufferPos; i < readBufferLength; i++) {
- switch (c = readBuffer [i]) {
- case '\n':
- lineAugment++;
- columnAugment = 0;
- // pureWhite unmodified
- break;
- case '\r': // should not happen!!
- case '\t':
- case ' ':
- // pureWhite unmodified
- columnAugment++;
- break;
- case '&':
- case '<':
- columnAugment++;
- // pureWhite unmodified
- // CLEAN end of text sequence
- state = 1;
- break loop;
- case ']':
- // that's not a whitespace char, and
- // can not terminate pure whitespace either
- pureWhite = false;
- if ((i + 2) < readBufferLength) {
- if (readBuffer [i + 1] == ']'
- && readBuffer [i + 2] == '>') {
- // ERROR end of text sequence
- state = 2;
- break loop;
- }
- } else {
- // FIXME missing two end-of-buffer cases
- }
- columnAugment++;
- break;
- default:
- if (c < 0x0020 || c > 0xFFFD)
- error ("illegal XML character U+"
- + Integer.toHexString (c));
- // that's not a whitespace char
- pureWhite = false;
- columnAugment++;
- }
- }
-
- // report text thus far
- if (lineAugment > 0) {
- line += lineAugment;
- column = columnAugment;
- } else {
- column += columnAugment;
- }
-
- // report characters/whitspace
- int length = i - readBufferPos;
-
- if (length != 0) {
- if (pureWhite)
- handler.ignorableWhitespace (readBuffer,
- readBufferPos, length);
- else
- handler.charData (readBuffer, readBufferPos, length);
- readBufferPos = i;
- }
-
- if (state != 0)
- break;
-
- // fill next buffer from this entity, or
- // pop stack and continue with previous entity
- unread (readCh ());
- }
-
- // finish, maybe with error
- if (state != 1) // finish, no error
- error ("character data may not contain ']]>'");
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // High-level reading and scanning methods.
- //////////////////////////////////////////////////////////////////////
-
- /**
- * Require whitespace characters.
- */
- private void requireWhitespace ()
- throws SAXException, IOException
- {
- char c = readCh ();
- if (isWhitespace (c)) {
- skipWhitespace ();
- } else {
- error ("whitespace required", c, null);
- }
- }
-
-
- /**
- * Skip whitespace characters.
- * <pre>
- * [3] S ::= (#x20 | #x9 | #xd | #xa)+
- * </pre>
- */
- private void skipWhitespace ()
- throws SAXException, IOException
- {
- // Start with a little cheat. Most of
- // the time, the white space will fall
- // within the current read buffer; if
- // not, then fall through.
- if (USE_CHEATS) {
- int lineAugment = 0;
- int columnAugment = 0;
-
-loop:
- for (int i = readBufferPos; i < readBufferLength; i++) {
- switch (readBuffer [i]) {
- case ' ':
- case '\t':
- case '\r':
- columnAugment++;
- break;
- case '\n':
- lineAugment++;
- columnAugment = 0;
- break;
- case '%':
- if (expandPE)
- break loop;
- // else fall through...
- default:
- readBufferPos = i;
- if (lineAugment > 0) {
- line += lineAugment;
- column = columnAugment;
- } else {
- column += columnAugment;
- }
- return;
- }
- }
- }
-
- // OK, do it the slow way.
- char c = readCh ();
- while (isWhitespace (c)) {
- c = readCh ();
- }
- unread (c);
- }
-
-
- /**
- * Read a name or (when parsing an enumeration) name token.
- * <pre>
- * [5] Name ::= (Letter | '_' | ':') (NameChar)*
- * [7] Nmtoken ::= (NameChar)+
- * </pre>
- */
- private String readNmtoken (boolean isName)
- throws SAXException, IOException
- {
- char c;
-
- if (USE_CHEATS) {
-loop:
- for (int i = readBufferPos; i < readBufferLength; i++) {
- c = readBuffer [i];
- switch (c) {
- case '%':
- if (expandPE)
- break loop;
- // else fall through...
-
- // What may legitimately come AFTER a name/nmtoken?
- case '<': case '>': case '&':
- case ',': case '|': case '*': case '+': case '?':
- case ')':
- case '=':
- case '\'': case '"':
- case '[':
- case ' ': case '\t': case '\r': case '\n':
- case ';':
- case '/':
- int start = readBufferPos;
- if (i == start)
- error ("name expected", readBuffer [i], null);
- readBufferPos = i;
- return intern (readBuffer, start, i - start);
-
- default:
-// FIXME ... per IBM's OASIS test submission, these:
-// ? U+06dd
-// REJECT
-// BaseChar U+0132 U+0133 U+013F U+0140 U+0149 U+017F U+01C4 U+01CC
-// U+01F1 U+01F3 U+0E46 U+1011 U+1104 U+1108 U+110A U+110D
-// U+113B U+113F U+1141 U+114D U+114F U+1151 U+1156 U+1162
-// U+1164 U+1166 U+116B U+116F U+1174 U+119F U+11AC U+11B6
-// U+11B9 U+11BB U+11C3 U+11F1 U+212F U+0587
-// Combining U+309B
-
- // punt on exact tests from Appendix A; approximate
- // them using the Unicode ID start/part rules
- if (i == readBufferPos && isName) {
- if (!Character.isUnicodeIdentifierStart (c)
- && c != ':' && c != '_')
- error ("Not a name start character, U+"
- + Integer.toHexString (c));
- } else if (!Character.isUnicodeIdentifierPart (c)
- && c != '-' && c != ':' && c != '_' && c != '.'
- && !isExtender (c))
- error ("Not a name character, U+"
- + Integer.toHexString (c));
- }
- }
- }
-
- nameBufferPos = 0;
-
- // Read the first character.
-loop:
- while (true) {
- c = readCh ();
- switch (c) {
- case '%':
- case '<': case '>': case '&':
- case ',': case '|': case '*': case '+': case '?':
- case ')':
- case '=':
- case '\'': case '"':
- case '[':
- case ' ': case '\t': case '\n': case '\r':
- case ';':
- case '/':
- unread (c);
- if (nameBufferPos == 0) {
- error ("name expected");
- }
- // punt on exact tests from Appendix A, but approximate them
- if (isName
- && !Character.isUnicodeIdentifierStart (
- nameBuffer [0])
- && ":_".indexOf (nameBuffer [0]) == -1)
- error ("Not a name start character, U+"
- + Integer.toHexString (nameBuffer [0]));
- String s = intern (nameBuffer, 0, nameBufferPos);
- nameBufferPos = 0;
- return s;
- default:
- // punt on exact tests from Appendix A, but approximate them
-
- if ((nameBufferPos != 0 || !isName)
- && !Character.isUnicodeIdentifierPart (c)
- && ":-_.".indexOf (c) == -1
- && !isExtender (c))
- error ("Not a name character, U+"
- + Integer.toHexString (c));
- if (nameBufferPos >= nameBuffer.length)
- nameBuffer =
- (char[]) extendArray (nameBuffer,
- nameBuffer.length, nameBufferPos);
- nameBuffer [nameBufferPos++] = c;
- }
- }
- }
-
- private static boolean isExtender (char c)
- {
- // [88] Extender ::= ...
- return c == 0x00b7 || c == 0x02d0 || c == 0x02d1 || c == 0x0387
- || c == 0x0640 || c == 0x0e46 || c == 0x0ec6 || c == 0x3005
- || (c >= 0x3031 && c <= 0x3035)
- || (c >= 0x309d && c <= 0x309e)
- || (c >= 0x30fc && c <= 0x30fe);
- }
-
-
- /**
- * Read a literal. With matching single or double quotes as
- * delimiters (and not embedded!) this is used to parse:
- * <pre>
- * [9] EntityValue ::= ... ([^%&amp;] | PEReference | Reference)* ...
- * [10] AttValue ::= ... ([^<&] | Reference)* ...
- * [11] SystemLiteral ::= ... (URLchar - "'")* ...
- * [12] PubidLiteral ::= ... (PubidChar - "'")* ...
- * </pre>
- * as well as the quoted strings in XML and text declarations
- * (for version, encoding, and standalone) which have their
- * own constraints.
- */
- private String readLiteral (int flags)
- throws SAXException, IOException
- {
- char delim, c;
- int startLine = line;
- boolean saved = expandPE;
- boolean savedReport = doReport;
-
- // Find the first delimiter.
- delim = readCh ();
- if (delim != '"' && delim != '\'') {
- error ("expected '\"' or \"'\"", delim, null);
- return null;
- }
- inLiteral = true;
- if ((flags & LIT_DISABLE_PE) != 0)
- expandPE = false;
- doReport = false;
-
- // Each level of input source has its own buffer; remember
- // ours, so we won't read the ending delimiter from any
- // other input source, regardless of entity processing.
- char ourBuf [] = readBuffer;
-
- // Read the literal.
- try {
- c = readCh ();
-loop:
- while (! (c == delim && readBuffer == ourBuf)) {
- switch (c) {
- // attributes and public ids are normalized
- // in almost the same ways
- case '\n':
- case '\r':
- if ((flags & (LIT_ATTRIBUTE | LIT_PUBID)) != 0)
- c = ' ';
- break;
- case '\t':
- if ((flags & LIT_ATTRIBUTE) != 0)
- c = ' ';
- break;
- case '&':
- c = readCh ();
- // Char refs are expanded immediately, except for
- // all the cases where it's deferred.
- if (c == '#') {
- if ((flags & LIT_DISABLE_CREF) != 0) {
- dataBufferAppend ('&');
- break;
- }
- parseCharRef (false /* Do not do flushDataBuffer */);
-
- // exotic WFness risk: this is an entity literal,
- // dataBuffer [dataBufferPos - 1] == '&', and
- // following chars are a _partial_ entity/char ref
-
- // It looks like an entity ref ...
- } else {
- unread (c);
- // Expand it?
- if ((flags & LIT_ENTITY_REF) > 0) {
- parseEntityRef (false);
-
- // Is it just data?
- } else if ((flags & LIT_DISABLE_EREF) != 0) {
- dataBufferAppend ('&');
-
- // OK, it will be an entity ref -- expanded later.
- } else {
- String name = readNmtoken (true);
- require (';');
- dataBufferAppend ('&');
- dataBufferAppend (name);
- dataBufferAppend (';');
- }
- }
- c = readCh ();
- continue loop;
-
- case '<':
- // and why? Perhaps so "&foo;" expands the same
- // inside and outside an attribute?
- if ((flags & LIT_ATTRIBUTE) != 0)
- error ("attribute values may not contain '<'");
- break;
-
- // We don't worry about case '%' and PE refs, readCh does.
-
- default:
- break;
- }
- dataBufferAppend (c);
- c = readCh ();
- }
- } catch (EOFException e) {
- error ("end of input while looking for delimiter (started on line "
- + startLine + ')', null, new Character (delim).toString ());
- }
- inLiteral = false;
- expandPE = saved;
- doReport = savedReport;
-
- // Normalise whitespace if necessary.
- if ((flags & LIT_NORMALIZE) > 0) {
- dataBufferNormalize ();
- }
-
- // Return the value.
- return dataBufferToString ();
- }
-
-
- /**
- * Try reading external identifiers.
- * A system identifier is not required for notations.
- * @param inNotation Are we parsing a notation decl?
- * @param isSubset Parsing external subset decl (may be omitted)?
- * @return A three-member String array containing the identifiers,
- * or nulls. Order: public, system, baseURI.
- */
- private String[] readExternalIds (boolean inNotation, boolean isSubset)
- throws Exception
- {
- char c;
- String ids[] = new String [3];
- int flags = LIT_DISABLE_CREF | LIT_DISABLE_PE | LIT_DISABLE_EREF;
-
- if (tryRead ("PUBLIC")) {
- requireWhitespace ();
- ids [0] = readLiteral (LIT_NORMALIZE | LIT_PUBID | flags);
- if (inNotation) {
- skipWhitespace ();
- c = readCh ();
- unread (c);
- if (c == '"' || c == '\'') {
- ids [1] = readLiteral (flags);
- }
- } else {
- requireWhitespace ();
- ids [1] = readLiteral (flags);
- }
-
- for (int i = 0; i < ids [0].length (); i++) {
- c = ids [0].charAt (i);
- if (c >= 'a' && c <= 'z')
- continue;
- if (c >= 'A' && c <= 'Z')
- continue;
- if (" \r\n0123456789-' ()+,./:=?;!*#@$_%".indexOf (c) != -1)
- continue;
- error ("illegal PUBLIC id character U+"
- + Integer.toHexString (c));
- }
- } else if (tryRead ("SYSTEM")) {
- requireWhitespace ();
- ids [1] = readLiteral (flags);
- } else if (!isSubset)
- error ("missing SYSTEM or PUBLIC keyword");
-
- if (ids [1] != null) {
- if (ids [1].indexOf ('#') != -1)
- handler.verror ("SYSTEM id has a URI fragment: " + ids [1]);
- ids [2] = handler.getSystemId ();
- if (ids [2] == null)
- handler.warn ("No base URI; hope URI is absolute: "
- + ids [1]);
- }
-
- return ids;
- }
-
-
- /**
- * Test if a character is whitespace.
- * <pre>
- * [3] S ::= (#x20 | #x9 | #xd | #xa)+
- * </pre>
- * @param c The character to test.
- * @return true if the character is whitespace.
- */
- private final boolean isWhitespace (char c)
- {
- if (c > 0x20)
- return false;
- if (c == 0x20 || c == 0x0a || c == 0x09 || c == 0x0d)
- return true;
- return false; // illegal ...
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // Utility routines.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Add a character to the data buffer.
- */
- private void dataBufferAppend (char c)
- {
- // Expand buffer if necessary.
- if (dataBufferPos >= dataBuffer.length)
- dataBuffer =
- (char[]) extendArray (dataBuffer,
- dataBuffer.length, dataBufferPos);
- dataBuffer [dataBufferPos++] = c;
- }
-
-
- /**
- * Add a string to the data buffer.
- */
- private void dataBufferAppend (String s)
- {
- dataBufferAppend (s.toCharArray (), 0, s.length ());
- }
-
-
- /**
- * Append (part of) a character array to the data buffer.
- */
- private void dataBufferAppend (char ch[], int start, int length)
- {
- dataBuffer = (char[])
- extendArray (dataBuffer, dataBuffer.length,
- dataBufferPos + length);
-
- System.arraycopy (ch, start, dataBuffer, dataBufferPos, length);
- dataBufferPos += length;
- }
-
-
- /**
- * Normalise space characters in the data buffer.
- */
- private void dataBufferNormalize ()
- {
- int i = 0;
- int j = 0;
- int end = dataBufferPos;
-
- // Skip spaces at the start.
- while (j < end && dataBuffer [j] == ' ') {
- j++;
- }
-
- // Skip whitespace at the end.
- while (end > j && dataBuffer [end - 1] == ' ') {
- end --;
- }
-
- // Start copying to the left.
- while (j < end) {
-
- char c = dataBuffer [j++];
-
- // Normalise all other spaces to
- // a single space.
- if (c == ' ') {
- while (j < end && dataBuffer [j++] == ' ')
- continue;
- dataBuffer [i++] = ' ';
- dataBuffer [i++] = dataBuffer [j - 1];
- } else {
- dataBuffer [i++] = c;
- }
- }
-
- // The new length is <= the old one.
- dataBufferPos = i;
- }
-
-
- /**
- * Convert the data buffer to a string.
- */
- private String dataBufferToString ()
- {
- String s = new String (dataBuffer, 0, dataBufferPos);
- dataBufferPos = 0;
- return s;
- }
-
-
- /**
- * Flush the contents of the data buffer to the handler, as
- * appropriate, and reset the buffer for new input.
- */
- private void dataBufferFlush ()
- throws SAXException
- {
- if (currentElementContent == CONTENT_ELEMENTS
- && dataBufferPos > 0
- && !inCDATA
- ) {
- // We can't just trust the buffer to be whitespace, there
- // are (error) cases when it isn't
- for (int i = 0; i < dataBufferPos; i++) {
- if (!isWhitespace (dataBuffer [i])) {
- handler.charData (dataBuffer, 0, dataBufferPos);
- dataBufferPos = 0;
- }
- }
- if (dataBufferPos > 0) {
- handler.ignorableWhitespace (dataBuffer, 0, dataBufferPos);
- dataBufferPos = 0;
- }
- } else if (dataBufferPos > 0) {
- handler.charData (dataBuffer, 0, dataBufferPos);
- dataBufferPos = 0;
- }
- }
-
-
- /**
- * Require a string to appear, or throw an exception.
- * <p><em>Precondition:</em> Entity expansion is not required.
- * <p><em>Precondition:</em> data buffer has no characters that
- * will get sent to the application.
- */
- private void require (String delim)
- throws SAXException, IOException
- {
- int length = delim.length ();
- char ch [];
-
- if (length < dataBuffer.length) {
- ch = dataBuffer;
- delim.getChars (0, length, ch, 0);
- } else
- ch = delim.toCharArray ();
-
- if (USE_CHEATS
- && length <= (readBufferLength - readBufferPos)) {
- int offset = readBufferPos;
-
- for (int i = 0; i < length; i++, offset++)
- if (ch [i] != readBuffer [offset])
- error ("required string", null, delim);
- readBufferPos = offset;
-
- } else {
- for (int i = 0; i < length; i++)
- require (ch [i]);
- }
- }
-
-
- /**
- * Require a character to appear, or throw an exception.
- */
- private void require (char delim)
- throws SAXException, IOException
- {
- char c = readCh ();
-
- if (c != delim) {
- error ("required character", c, new Character (delim).toString ());
- }
- }
-
-
- /**
- * Create an interned string from a character array.
- * &AElig;lfred uses this method to create an interned version
- * of all names and name tokens, so that it can test equality
- * with <code>==</code> instead of <code>String.equals ()</code>.
- *
- * <p>This is much more efficient than constructing a non-interned
- * string first, and then interning it.
- *
- * @param ch an array of characters for building the string.
- * @param start the starting position in the array.
- * @param length the number of characters to place in the string.
- * @return an interned string.
- * @see #intern (String)
- * @see java.lang.String#intern
- */
- public String intern (char ch[], int start, int length)
- {
- int index = 0;
- int hash = 0;
- Object bucket [];
-
- // Generate a hash code. This is a widely used string hash,
- // often attributed to Brian Kernighan.
- for (int i = start; i < start + length; i++)
- hash = 31 * hash + ch [i];
- hash = (hash & 0x7fffffff) % SYMBOL_TABLE_LENGTH;
-
- // Get the bucket -- consists of {array,String} pairs
- if ((bucket = symbolTable [hash]) == null) {
- // first string in this bucket
- bucket = new Object [8];
-
- // Search for a matching tuple, and
- // return the string if we find one.
- } else {
- while (index < bucket.length) {
- char chFound [] = (char []) bucket [index];
-
- // Stop when we hit an empty entry.
- if (chFound == null)
- break;
-
- // If they're the same length, check for a match.
- if (chFound.length == length) {
- for (int i = 0; i < chFound.length; i++) {
- // continue search on failure
- if (ch [start + i] != chFound [i]) {
- break;
- } else if (i == length - 1) {
- // That's it, we have a match!
- return (String) bucket [index + 1];
- }
- }
- }
- index += 2;
- }
- // Not found -- we'll have to add it.
-
- // Do we have to grow the bucket?
- bucket = (Object []) extendArray (bucket, bucket.length, index);
- }
- symbolTable [hash] = bucket;
-
- // OK, add it to the end of the bucket -- "local" interning.
- // Intern "globally" to let applications share interning benefits.
- // That is, "!=" and "==" work on our strings, not just equals().
- String s = new String (ch, start, length).intern ();
- bucket [index] = s.toCharArray ();
- bucket [index + 1] = s;
- return s;
- }
-
- /**
- * Ensure the capacity of an array, allocating a new one if
- * necessary. Usually extends only for name hash collisions.
- */
- private Object extendArray (Object array, int currentSize, int requiredSize)
- {
- if (requiredSize < currentSize) {
- return array;
- } else {
- Object newArray = null;
- int newSize = currentSize * 2;
-
- if (newSize <= requiredSize)
- newSize = requiredSize + 1;
-
- if (array instanceof char[])
- newArray = new char [newSize];
- else if (array instanceof Object[])
- newArray = new Object [newSize];
- else
- throw new RuntimeException ();
-
- System.arraycopy (array, 0, newArray, 0, currentSize);
- return newArray;
- }
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // XML query routines.
- //////////////////////////////////////////////////////////////////////
-
-
- boolean isStandalone () { return docIsStandalone; }
-
-
- //
- // Elements
- //
-
- private int getContentType (Object element [], int defaultType)
- {
- int retval;
-
- if (element == null)
- return defaultType;
- retval = ((Integer) element [0]).intValue ();
- if (retval == CONTENT_UNDECLARED)
- retval = defaultType;
- return retval;
- }
-
-
- /**
- * Look up the content type of an element.
- * @param name The element type name.
- * @return An integer constant representing the content type.
- * @see #CONTENT_UNDECLARED
- * @see #CONTENT_ANY
- * @see #CONTENT_EMPTY
- * @see #CONTENT_MIXED
- * @see #CONTENT_ELEMENTS
- */
- public int getElementContentType (String name)
- {
- Object element [] = (Object []) elementInfo.get (name);
- return getContentType (element, CONTENT_UNDECLARED);
- }
-
-
- /**
- * Register an element.
- * Array format:
- * [0] element type name
- * [1] content model (mixed, elements only)
- * [2] attribute hash table
- */
- private void setElement (
- String name,
- int contentType,
- String contentModel,
- Hashtable attributes
- ) throws SAXException
- {
- if (skippedPE)
- return;
-
- Object element [] = (Object []) elementInfo.get (name);
-
- // first <!ELEMENT ...> or <!ATTLIST ...> for this type?
- if (element == null) {
- element = new Object [3];
- element [0] = new Integer (contentType);
- element [1] = contentModel;
- element [2] = attributes;
- elementInfo.put (name, element);
- return;
- }
-
- // <!ELEMENT ...> declaration?
- if (contentType != CONTENT_UNDECLARED) {
- // ... following an associated <!ATTLIST ...>
- if (((Integer) element [0]).intValue () == CONTENT_UNDECLARED) {
- element [0] = new Integer (contentType);
- element [1] = contentModel;
- } else
- // VC: Unique Element Type Declaration
- handler.verror ("multiple declarations for element type: "
- + name);
- }
-
- // first <!ATTLIST ...>, before <!ELEMENT ...> ?
- else if (attributes != null)
- element [2] = attributes;
- }
-
-
- /**
- * Look up the attribute hash table for an element.
- * The hash table is the second item in the element array.
- */
- private Hashtable getElementAttributes (String name)
- {
- Object element[] = (Object[]) elementInfo.get (name);
- if (element == null)
- return null;
- else
- return (Hashtable) element [2];
- }
-
-
-
- //
- // Attributes
- //
-
- /**
- * Get the declared attributes for an element type.
- * @param elname The name of the element type.
- * @return An Enumeration of all the attributes declared for
- * a specific element type. The results will be valid only
- * after the DTD (if any) has been parsed.
- * @see #getAttributeType
- * @see #getAttributeEnumeration
- * @see #getAttributeDefaultValueType
- * @see #getAttributeDefaultValue
- * @see #getAttributeExpandedValue
- */
- private Enumeration declaredAttributes (Object element [])
- {
- Hashtable attlist;
-
- if (element == null)
- return null;
- if ((attlist = (Hashtable) element [2]) == null)
- return null;
- return attlist.keys ();
- }
-
- /**
- * Get the declared attributes for an element type.
- * @param elname The name of the element type.
- * @return An Enumeration of all the attributes declared for
- * a specific element type. The results will be valid only
- * after the DTD (if any) has been parsed.
- * @see #getAttributeType
- * @see #getAttributeEnumeration
- * @see #getAttributeDefaultValueType
- * @see #getAttributeDefaultValue
- * @see #getAttributeExpandedValue
- */
- public Enumeration declaredAttributes (String elname)
- {
- return declaredAttributes ((Object []) elementInfo.get (elname));
- }
-
-
- /**
- * Retrieve the declared type of an attribute.
- * @param name The name of the associated element.
- * @param aname The name of the attribute.
- * @return An interend string denoting the type, or null
- * indicating an undeclared attribute.
- */
- public String getAttributeType (String name, String aname)
- {
- Object attribute[] = getAttribute (name, aname);
- if (attribute == null) {
- return null;
- } else {
- return (String) attribute [0];
- }
- }
-
-
- /**
- * Retrieve the allowed values for an enumerated attribute type.
- * @param name The name of the associated element.
- * @param aname The name of the attribute.
- * @return A string containing the token list.
- */
- public String getAttributeEnumeration (String name, String aname)
- {
- Object attribute[] = getAttribute (name, aname);
- if (attribute == null) {
- return null;
- } else {
- // assert: attribute [0] is "ENUMERATION" or "NOTATION"
- return (String) attribute [3];
- }
- }
-
-
- /**
- * Retrieve the default value of a declared attribute.
- * @param name The name of the associated element.
- * @param aname The name of the attribute.
- * @return The default value, or null if the attribute was
- * #IMPLIED or simply undeclared and unspecified.
- * @see #getAttributeExpandedValue
- */
- public String getAttributeDefaultValue (String name, String aname)
- {
- Object attribute[] = getAttribute (name, aname);
- if (attribute == null) {
- return null;
- } else {
- return (String) attribute [1];
- }
- }
-
- /*
-
-// FIXME: Leaving this in, until W3C finally resolves the confusion
-// between parts of the XML 2nd REC about when entity declararations
-// are guaranteed to be known. Current code matches what section 5.1
-// (conformance) describes, but some readings of the self-contradicting
-// text in 4.1 (the "Entity Declared" WFC and VC) seem to expect that
-// attribute expansion/normalization must be deferred in some cases
-// (just TRY to identify them!).
-
- * Retrieve the expanded value of a declared attribute.
- * <p>General entities (and char refs) will be expanded (once).
- * @param name The name of the associated element.
- * @param aname The name of the attribute.
- * @return The expanded default value, or null if the attribute was
- * #IMPLIED or simply undeclared
- * @see #getAttributeDefaultValue
- public String getAttributeExpandedValue (String name, String aname)
- throws Exception
- {
- Object attribute[] = getAttribute (name, aname);
-
- if (attribute == null) {
- return null;
- } else if (attribute [4] == null && attribute [1] != null) {
- // we MUST use the same buf for both quotes else the literal
- // can't be properly terminated
- char buf [] = new char [1];
- int flags = LIT_ENTITY_REF | LIT_ATTRIBUTE;
- String type = getAttributeType (name, aname);
-
- if (type != "CDATA" && type != null)
- flags |= LIT_NORMALIZE;
- buf [0] = '"';
- pushCharArray (null, buf, 0, 1);
- pushString (null, (String) attribute [1]);
- pushCharArray (null, buf, 0, 1);
- attribute [4] = readLiteral (flags);
- }
- return (String) attribute [4];
- }
- */
-
- /**
- * Retrieve the default value mode of a declared attribute.
- * @see #ATTRIBUTE_DEFAULT_SPECIFIED
- * @see #ATTRIBUTE_DEFAULT_IMPLIED
- * @see #ATTRIBUTE_DEFAULT_REQUIRED
- * @see #ATTRIBUTE_DEFAULT_FIXED
- */
- public int getAttributeDefaultValueType (String name, String aname)
- {
- Object attribute[] = getAttribute (name, aname);
- if (attribute == null) {
- return ATTRIBUTE_DEFAULT_UNDECLARED;
- } else {
- return ((Integer) attribute [2]).intValue ();
- }
- }
-
-
- /**
- * Register an attribute declaration for later retrieval.
- * Format:
- * - String type
- * - String default value
- * - int value type
- * - enumeration
- * - processed default value
- */
- private void setAttribute (String elName, String name, String type,
- String enumeration,
- String value, int valueType)
- throws Exception
- {
- Hashtable attlist;
-
- if (skippedPE)
- return;
-
- // Create a new hashtable if necessary.
- attlist = getElementAttributes (elName);
- if (attlist == null)
- attlist = new Hashtable ();
-
- // ignore multiple attribute declarations!
- if (attlist.get (name) != null) {
- // warn ...
- return;
- } else {
- Object attribute [] = new Object [5];
- attribute [0] = type;
- attribute [1] = value;
- attribute [2] = new Integer (valueType);
- attribute [3] = enumeration;
- attribute [4] = null;
- attlist.put (name, attribute);
-
- // save; but don't overwrite any existing <!ELEMENT ...>
- setElement (elName, CONTENT_UNDECLARED, null, attlist);
- }
- }
-
-
- /**
- * Retrieve the array representing an attribute declaration.
- */
- private Object[] getAttribute (String elName, String name)
- {
- Hashtable attlist;
-
- attlist = getElementAttributes (elName);
- if (attlist == null)
- return null;
- return (Object[]) attlist.get (name);
- }
-
-
- //
- // Entities
- //
-
- /**
- * Find the type of an entity.
- * @returns An integer constant representing the entity type.
- * @see #ENTITY_UNDECLARED
- * @see #ENTITY_INTERNAL
- * @see #ENTITY_NDATA
- * @see #ENTITY_TEXT
- */
- public int getEntityType (String ename)
- {
- Object entity[] = (Object[]) entityInfo.get (ename);
- if (entity == null) {
- return ENTITY_UNDECLARED;
- } else {
- return ((Integer) entity [0]).intValue ();
- }
- }
-
-
- /**
- * Return an external entity's identifier array.
- * @param ename The name of the external entity.
- * @return Three element array containing (in order) the entity's
- * public identifier, system identifier, and base URI. Null if
- * the entity was not declared as an external entity.
- * @see #getEntityType
- */
- public String [] getEntityIds (String ename)
- {
- Object entity[] = (Object[]) entityInfo.get (ename);
- if (entity == null) {
- return null;
- } else {
- return (String []) entity [1];
- }
- }
-
-
- /**
- * Return an internal entity's replacement text.
- * @param ename The name of the internal entity.
- * @return The entity's replacement text, or null if
- * the entity was not declared as an internal entity.
- * @see #getEntityType
- */
- public String getEntityValue (String ename)
- {
- Object entity[] = (Object[]) entityInfo.get (ename);
- if (entity == null) {
- return null;
- } else {
- return (String) entity [3];
- }
- }
-
-
- /**
- * Register an entity declaration for later retrieval.
- */
- private void setInternalEntity (String eName, String value)
- throws SAXException
- {
- if (skippedPE)
- return;
-
- if (entityInfo.get (eName) == null) {
- Object entity[] = new Object [5];
- entity [0] = new Integer (ENTITY_INTERNAL);
-// FIXME: shrink!! [2] useless
- entity [3] = value;
- entityInfo.put (eName, entity);
- }
- if ("lt" == eName || "gt" == eName || "quot" == eName
- || "apos" == eName || "amp" == eName)
- return;
- handler.getDeclHandler ()
- .internalEntityDecl (eName, value);
- }
-
-
- /**
- * Register an external entity declaration for later retrieval.
- */
- private void setExternalEntity (String eName, int eClass,
- String ids [], String nName)
- {
- if (entityInfo.get (eName) == null) {
- Object entity[] = new Object [5];
- entity [0] = new Integer (eClass);
- entity [1] = ids;
-// FIXME: shrink!! [2] no longer used, [4] irrelevant given [0]
- entity [4] = nName;
- entityInfo.put (eName, entity);
- }
- }
-
-
- //
- // Notations.
- //
-
- /**
- * Report a notation declaration, checking for duplicates.
- */
- private void setNotation (String nname, String ids [])
- throws SAXException
- {
- if (skippedPE)
- return;
-
- handler.notationDecl (nname, ids);
- if (notationInfo.get (nname) == null)
- notationInfo.put (nname, nname);
- else
- // VC: Unique Notation Name
- handler.verror ("Duplicate notation name decl: " + nname);
- }
-
-
- //
- // Location.
- //
-
-
- /**
- * Return the current line number.
- */
- public int getLineNumber ()
- {
- return line;
- }
-
-
- /**
- * Return the current column number.
- */
- public int getColumnNumber ()
- {
- return column;
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // High-level I/O.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Read a single character from the readBuffer.
- * <p>The readDataChunk () method maintains the buffer.
- * <p>If we hit the end of an entity, try to pop the stack and
- * keep going.
- * <p> (This approach doesn't really enforce XML's rules about
- * entity boundaries, but this is not currently a validating
- * parser).
- * <p>This routine also attempts to keep track of the current
- * position in external entities, but it's not entirely accurate.
- * @return The next available input character.
- * @see #unread (char)
- * @see #readDataChunk
- * @see #readBuffer
- * @see #line
- * @return The next character from the current input source.
- */
- private char readCh ()
- throws SAXException, IOException
- {
- // As long as there's nothing in the
- // read buffer, try reading more data
- // (for an external entity) or popping
- // the entity stack (for either).
- while (readBufferPos >= readBufferLength) {
- switch (sourceType) {
- case INPUT_READER:
- case INPUT_STREAM:
- readDataChunk ();
- while (readBufferLength < 1) {
- popInput ();
- if (readBufferLength < 1) {
- readDataChunk ();
- }
- }
- break;
-
- default:
-
- popInput ();
- break;
- }
- }
-
- char c = readBuffer [readBufferPos++];
-
- if (c == '\n') {
- line++;
- column = 0;
- } else {
- if (c == '<') {
- /* the most common return to parseContent () ... NOP */
- } else if ((c < 0x0020 && (c != '\t') && (c != '\r')) || c > 0xFFFD)
- error ("illegal XML character U+"
- + Integer.toHexString (c));
-
- // If we're in the DTD and in a context where PEs get expanded,
- // do so ... 1/14/2000 errata identify those contexts. There
- // are also spots in the internal subset where PE refs are fatal
- // errors, hence yet another flag.
- else if (c == '%' && expandPE) {
- if (peIsError)
- error ("PE reference within decl in internal subset.");
- parsePEReference ();
- return readCh ();
- }
- column++;
- }
-
- return c;
- }
-
-
- /**
- * Push a single character back onto the current input stream.
- * <p>This method usually pushes the character back onto
- * the readBuffer.
- * <p>I don't think that this would ever be called with
- * readBufferPos = 0, because the methods always reads a character
- * before unreading it, but just in case, I've added a boundary
- * condition.
- * @param c The character to push back.
- * @see #readCh
- * @see #unread (char[])
- * @see #readBuffer
- */
- private void unread (char c)
- throws SAXException
- {
- // Normal condition.
- if (c == '\n') {
- line--;
- column = -1;
- }
- if (readBufferPos > 0) {
- readBuffer [--readBufferPos] = c;
- } else {
- pushString (null, new Character (c).toString ());
- }
- }
-
-
- /**
- * Push a char array back onto the current input stream.
- * <p>NOTE: you must <em>never</em> push back characters that you
- * haven't actually read: use pushString () instead.
- * @see #readCh
- * @see #unread (char)
- * @see #readBuffer
- * @see #pushString
- */
- private void unread (char ch[], int length)
- throws SAXException
- {
- for (int i = 0; i < length; i++) {
- if (ch [i] == '\n') {
- line--;
- column = -1;
- }
- }
- if (length < readBufferPos) {
- readBufferPos -= length;
- } else {
- pushCharArray (null, ch, 0, length);
- }
- }
-
-
- /**
- * Push, or skip, a new external input source.
- * The source will be some kind of parsed entity, such as a PE
- * (including the external DTD subset) or content for the body.
- *
- * @param url The java.net.URL object for the entity.
- * @see SAXDriver#resolveEntity
- * @see #pushString
- * @see #sourceType
- * @see #pushInput
- * @see #detectEncoding
- * @see #sourceType
- * @see #readBuffer
- */
- private void pushURL (
- boolean isPE,
- String ename,
- String ids [], // public, system, baseURI
- Reader reader,
- InputStream stream,
- String encoding,
- boolean doResolve
- ) throws SAXException, IOException
- {
- boolean ignoreEncoding;
- String systemId;
- InputSource source;
-
- if (!isPE)
- dataBufferFlush ();
-
- scratch.setPublicId (ids [0]);
- scratch.setSystemId (ids [1]);
-
- // See if we should skip or substitute the entity.
- // If we're not skipping, resolving reports startEntity()
- // and updates the (handler's) stack of URIs.
- if (doResolve) {
- // assert (stream == null && reader == null && encoding == null)
- source = handler.resolveEntity (isPE, ename, scratch, ids [2]);
- if (source == null) {
- handler.warn ("skipping entity: " + ename);
- handler.skippedEntity (ename);
- if (isPE)
- skippedPE = true;
- return;
- }
-
- // we might be using alternate IDs/encoding
- systemId = source.getSystemId ();
- // The following warning and setting systemId was deleted bcause
- // the application has the option of not setting systemId
- // provided that it has set the characte/byte stream.
- /*
- if (systemId == null) {
- handler.warn ("missing system ID, using " + ids [1]);
- systemId = ids [1];
- }
- */
- } else {
- // "[document]", or "[dtd]" via getExternalSubset()
- scratch.setCharacterStream (reader);
- scratch.setByteStream (stream);
- scratch.setEncoding (encoding);
- source = scratch;
- systemId = ids [1];
- handler.startExternalEntity (ename, systemId,
- "[document]" == ename);
- }
-
- // we may have been given I/O streams directly
- if (source.getCharacterStream () != null) {
- if (source.getByteStream () != null)
- error ("InputSource has two streams!");
- reader = source.getCharacterStream ();
- } else if (source.getByteStream () != null) {
- encoding = source.getEncoding ();
- if (encoding == null)
- stream = source.getByteStream ();
- else try {
- reader = new InputStreamReader (
- source.getByteStream (),
- encoding);
- } catch (IOException e) {
- stream = source.getByteStream ();
- }
- } else if (systemId == null)
- error ("InputSource has no URI!");
- scratch.setCharacterStream (null);
- scratch.setByteStream (null);
- scratch.setEncoding (null);
-
- // Push the existing status.
- pushInput (ename);
-
- // Create a new read buffer.
- // (Note the four-character margin)
- readBuffer = new char [READ_BUFFER_MAX + 4];
- readBufferPos = 0;
- readBufferLength = 0;
- readBufferOverflow = -1;
- is = null;
- line = 1;
- column = 0;
- currentByteCount = 0;
-
- // If there's an explicit character stream, just
- // ignore encoding declarations.
- if (reader != null) {
- sourceType = INPUT_READER;
- this.reader = reader;
- tryEncodingDecl (true);
- return;
- }
-
- // Else we handle the conversion, and need to ensure
- // it's done right.
- sourceType = INPUT_STREAM;
- if (stream != null) {
- is = stream;
- } else {
- // We have to open our own stream to the URL.
- URL url = new URL (systemId);
-
- externalEntity = url.openConnection ();
- externalEntity.connect ();
- is = externalEntity.getInputStream ();
- }
-
- // If we get to here, there must be
- // an InputStream available.
- if (!is.markSupported ()) {
- is = new BufferedInputStream (is);
- }
-
- // Get any external encoding label.
- if (encoding == null && externalEntity != null) {
- // External labels can be untrustworthy; filesystems in
- // particular often have the wrong default for content
- // that wasn't locally originated. Those we autodetect.
- if (!"file".equals (externalEntity.getURL ().getProtocol ())) {
- int temp;
-
- // application/xml;charset=something;otherAttr=...
- // ... with many variants on 'something'
- encoding = externalEntity.getContentType ();
-
- // MHK code (fix for Saxon 5.5.1/007):
- // protect against encoding==null
- if (encoding==null) {
- temp = -1;
- } else {
- temp = encoding.indexOf ("charset");
- }
-
- // RFC 2376 sez MIME text defaults to ASCII, but since the
- // JDK will create a MIME type out of thin air, we always
- // autodetect when there's no explicit charset attribute.
- if (temp < 0)
- encoding = null; // autodetect
- else {
- // only this one attribute
- if ((temp = encoding.indexOf (';')) > 0)
- encoding = encoding.substring (0, temp);
-
- if ((temp = encoding.indexOf ('=', temp + 7)) > 0) {
- encoding = encoding.substring (temp + 1);
-
- // attributes can have comment fields (RFC 822)
- if ((temp = encoding.indexOf ('(')) > 0)
- encoding = encoding.substring (0, temp);
- // ... and values may be quoted
- if ((temp = encoding.indexOf ('"')) > 0)
- encoding = encoding.substring (temp + 1,
- encoding.indexOf ('"', temp + 2));
- encoding.trim ();
- } else {
- handler.warn ("ignoring illegal MIME attribute: "
- + encoding);
- encoding = null;
- }
- }
- }
- }
-
- // if we got an external encoding label, use it ...
- if (encoding != null) {
- this.encoding = ENCODING_EXTERNAL;
- setupDecoding (encoding);
- ignoreEncoding = true;
-
- // ... else autodetect from first bytes.
- } else {
- detectEncoding ();
- ignoreEncoding = false;
- }
-
- // Read any XML or text declaration.
- // If we autodetected, it may tell us the "real" encoding.
- try {
- tryEncodingDecl (ignoreEncoding);
- } catch (UnsupportedEncodingException x) {
- encoding = x.getMessage ();
-
- // if we don't handle the declared encoding,
- // try letting a JVM InputStreamReader do it
- try {
- if (sourceType != INPUT_STREAM)
- throw x;
-
- is.reset ();
- readBufferPos = 0;
- readBufferLength = 0;
- readBufferOverflow = -1;
- line = 1;
- currentByteCount = column = 0;
-
- sourceType = INPUT_READER;
- this.reader = new InputStreamReader (is, encoding);
- is = null;
-
- tryEncodingDecl (true);
-
- } catch (IOException e) {
- error ("unsupported text encoding",
- encoding,
- null);
- }
- }
- }
-
-
- /**
- * Check for an encoding declaration. This is the second part of the
- * XML encoding autodetection algorithm, relying on detectEncoding to
- * get to the point that this part can read any encoding declaration
- * in the document (using only US-ASCII characters).
- *
- * <p> Because this part starts to fill parser buffers with this data,
- * it's tricky to setup a reader so that Java's built-in decoders can be
- * used for the character encodings that aren't built in to this parser
- * (such as EUC-JP, KOI8-R, Big5, etc).
- *
- * @return any encoding in the declaration, uppercased; or null
- * @see detectEncoding
- */
- private String tryEncodingDecl (boolean ignoreEncoding)
- throws SAXException, IOException
- {
- // Read the XML/text declaration.
- if (tryRead ("<?xml")) {
- if (tryWhitespace ()) {
- if (inputStack.size () > 0) {
- return parseTextDecl (ignoreEncoding);
- } else {
- return parseXMLDecl (ignoreEncoding);
- }
- } else {
- // <?xml-stylesheet ...?> or similar
- unread ('l');
- unread ('m');
- unread ('x');
- unread ('?');
- unread ('<');
- }
- }
- return null;
- }
-
-
- /**
- * Attempt to detect the encoding of an entity.
- * <p>The trick here (as suggested in the XML standard) is that
- * any entity not in UTF-8, or in UCS-2 with a byte-order mark,
- * <b>must</b> begin with an XML declaration or an encoding
- * declaration; we simply have to look for "&lt;?xml" in various
- * encodings.
- * <p>This method has no way to distinguish among 8-bit encodings.
- * Instead, it sets up for UTF-8, then (possibly) revises its assumption
- * later in setupDecoding (). Any ASCII-derived 8-bit encoding
- * should work, but most will be rejected later by setupDecoding ().
- * @see #tryEncoding (byte[], byte, byte, byte, byte)
- * @see #tryEncoding (byte[], byte, byte)
- * @see #setupDecoding
- */
- private void detectEncoding ()
- throws SAXException, IOException
- {
- byte signature[] = new byte [4];
-
- // Read the first four bytes for
- // autodetection.
- is.mark (4);
- is.read (signature);
- is.reset ();
-
- //
- // FIRST: four byte encodings (who uses these?)
- //
- if (tryEncoding (signature, (byte) 0x00, (byte) 0x00,
- (byte) 0x00, (byte) 0x3c)) {
- // UCS-4 must begin with "<?xml"
- // 0x00 0x00 0x00 0x3c: UCS-4, big-endian (1234)
- // "UTF-32BE"
- encoding = ENCODING_UCS_4_1234;
-
- } else if (tryEncoding (signature, (byte) 0x3c, (byte) 0x00,
- (byte) 0x00, (byte) 0x00)) {
- // 0x3c 0x00 0x00 0x00: UCS-4, little-endian (4321)
- // "UTF-32LE"
- encoding = ENCODING_UCS_4_4321;
-
- } else if (tryEncoding (signature, (byte) 0x00, (byte) 0x00,
- (byte) 0x3c, (byte) 0x00)) {
- // 0x00 0x00 0x3c 0x00: UCS-4, unusual (2143)
- encoding = ENCODING_UCS_4_2143;
-
- } else if (tryEncoding (signature, (byte) 0x00, (byte) 0x3c,
- (byte) 0x00, (byte) 0x00)) {
- // 0x00 0x3c 0x00 0x00: UCS-4, unusual (3421)
- encoding = ENCODING_UCS_4_3412;
-
- // 00 00 fe ff UCS_4_1234 (with BOM)
- // ff fe 00 00 UCS_4_4321 (with BOM)
- }
-
- //
- // SECOND: two byte encodings
- // note ... with 1/14/2000 errata the XML spec identifies some
- // more "broken UTF-16" autodetection cases, with no XML decl,
- // which we don't handle here (that's legal too).
- //
- else if (tryEncoding (signature, (byte) 0xfe, (byte) 0xff)) {
- // UCS-2 with a byte-order marker. (UTF-16)
- // 0xfe 0xff: UCS-2, big-endian (12)
- encoding = ENCODING_UCS_2_12;
- is.read (); is.read ();
-
- } else if (tryEncoding (signature, (byte) 0xff, (byte) 0xfe)) {
- // UCS-2 with a byte-order marker. (UTF-16)
- // 0xff 0xfe: UCS-2, little-endian (21)
- encoding = ENCODING_UCS_2_21;
- is.read (); is.read ();
-
- } else if (tryEncoding (signature, (byte) 0x00, (byte) 0x3c,
- (byte) 0x00, (byte) 0x3f)) {
- // UTF-16BE (otherwise, malformed UTF-16)
- // 0x00 0x3c 0x00 0x3f: UCS-2, big-endian, no byte-order mark
- encoding = ENCODING_UCS_2_12;
- error ("no byte-order mark for UCS-2 entity");
-
- } else if (tryEncoding (signature, (byte) 0x3c, (byte) 0x00,
- (byte) 0x3f, (byte) 0x00)) {
- // UTF-16LE (otherwise, malformed UTF-16)
- // 0x3c 0x00 0x3f 0x00: UCS-2, little-endian, no byte-order mark
- encoding = ENCODING_UCS_2_21;
- error ("no byte-order mark for UCS-2 entity");
- }
-
- //
- // THIRD: ASCII-derived encodings, fixed and variable lengths
- //
- else if (tryEncoding (signature, (byte) 0x3c, (byte) 0x3f,
- (byte) 0x78, (byte) 0x6d)) {
- // ASCII derived
- // 0x3c 0x3f 0x78 0x6d: UTF-8 or other 8-bit markup (read ENCODING)
- encoding = ENCODING_UTF_8;
- prefetchASCIIEncodingDecl ();
-
- } else if (signature [0] == (byte) 0xef
- && signature [1] == (byte) 0xbb
- && signature [2] == (byte) 0xbf) {
- // 0xef 0xbb 0xbf: UTF-8 BOM (not part of document text)
- // this un-needed notion slipped into XML 2nd ed through a
- // "non-normative" erratum; now required by MSFT and UDDI,
- // and E22 made it normative.
- encoding = ENCODING_UTF_8;
- is.read (); is.read (); is.read ();
-
- } else {
- // 4c 6f a7 94 ... we don't understand EBCDIC flavors
- // ... but we COULD at least kick in some fixed code page
-
- // (default) UTF-8 without encoding/XML declaration
- encoding = ENCODING_UTF_8;
- }
- }
-
-
- /**
- * Check for a four-byte signature.
- * <p>Utility routine for detectEncoding ().
- * <p>Always looks for some part of "<?XML" in a specific encoding.
- * @param sig The first four bytes read.
- * @param b1 The first byte of the signature
- * @param b2 The second byte of the signature
- * @param b3 The third byte of the signature
- * @param b4 The fourth byte of the signature
- * @see #detectEncoding
- */
- private static boolean tryEncoding (
- byte sig[], byte b1, byte b2, byte b3, byte b4)
- {
- return (sig [0] == b1 && sig [1] == b2
- && sig [2] == b3 && sig [3] == b4);
- }
-
-
- /**
- * Check for a two-byte signature.
- * <p>Looks for a UCS-2 byte-order mark.
- * <p>Utility routine for detectEncoding ().
- * @param sig The first four bytes read.
- * @param b1 The first byte of the signature
- * @param b2 The second byte of the signature
- * @see #detectEncoding
- */
- private static boolean tryEncoding (byte sig[], byte b1, byte b2)
- {
- return ((sig [0] == b1) && (sig [1] == b2));
- }
-
-
- /**
- * This method pushes a string back onto input.
- * <p>It is useful either as the expansion of an internal entity,
- * or for backtracking during the parse.
- * <p>Call pushCharArray () to do the actual work.
- * @param s The string to push back onto input.
- * @see #pushCharArray
- */
- private void pushString (String ename, String s)
- throws SAXException
- {
- char ch[] = s.toCharArray ();
- pushCharArray (ename, ch, 0, ch.length);
- }
-
-
- /**
- * Push a new internal input source.
- * <p>This method is useful for expanding an internal entity,
- * or for unreading a string of characters. It creates a new
- * readBuffer containing the characters in the array, instead
- * of characters converted from an input byte stream.
- * @param ch The char array to push.
- * @see #pushString
- * @see #pushURL
- * @see #readBuffer
- * @see #sourceType
- * @see #pushInput
- */
- private void pushCharArray (String ename, char ch[], int start, int length)
- throws SAXException
- {
- // Push the existing status
- pushInput (ename);
- if (ename != null && doReport) {
- dataBufferFlush ();
- handler.startInternalEntity (ename);
- }
- sourceType = INPUT_INTERNAL;
- readBuffer = ch;
- readBufferPos = start;
- readBufferLength = length;
- readBufferOverflow = -1;
- }
-
-
- /**
- * Save the current input source onto the stack.
- * <p>This method saves all of the global variables associated with
- * the current input source, so that they can be restored when a new
- * input source has finished. It also tests for entity recursion.
- * <p>The method saves the following global variables onto a stack
- * using a fixed-length array:
- * <ol>
- * <li>sourceType
- * <li>externalEntity
- * <li>readBuffer
- * <li>readBufferPos
- * <li>readBufferLength
- * <li>line
- * <li>encoding
- * </ol>
- * @param ename The name of the entity (if any) causing the new input.
- * @see #popInput
- * @see #sourceType
- * @see #externalEntity
- * @see #readBuffer
- * @see #readBufferPos
- * @see #readBufferLength
- * @see #line
- * @see #encoding
- */
- private void pushInput (String ename)
- throws SAXException
- {
- // Check for entity recursion.
- if (ename != null) {
- Enumeration entities = entityStack.elements ();
- while (entities.hasMoreElements ()) {
- String e = (String) entities.nextElement ();
- if (e != null && e == ename) {
- error ("recursive reference to entity", ename, null);
- }
- }
- }
- entityStack.push (ename);
-
- // Don't bother if there is no current input.
- if (sourceType == INPUT_NONE) {
- return;
- }
-
- // Set up a snapshot of the current
- // input source.
- Object input[] = new Object [12];
-
- input [0] = new Integer (sourceType);
- input [1] = externalEntity;
- input [2] = readBuffer;
- input [3] = new Integer (readBufferPos);
- input [4] = new Integer (readBufferLength);
- input [5] = new Integer (line);
- input [6] = new Integer (encoding);
- input [7] = new Integer (readBufferOverflow);
- input [8] = is;
- input [9] = new Integer (currentByteCount);
- input [10] = new Integer (column);
- input [11] = reader;
-
- // Push it onto the stack.
- inputStack.push (input);
- }
-
-
- /**
- * Restore a previous input source.
- * <p>This method restores all of the global variables associated with
- * the current input source.
- * @exception java.io.EOFException
- * If there are no more entries on the input stack.
- * @see #pushInput
- * @see #sourceType
- * @see #externalEntity
- * @see #readBuffer
- * @see #readBufferPos
- * @see #readBufferLength
- * @see #line
- * @see #encoding
- */
- private void popInput ()
- throws SAXException, IOException
- {
- String ename = (String) entityStack.pop ();
-
- if (ename != null && doReport)
- dataBufferFlush ();
- switch (sourceType) {
- case INPUT_STREAM:
- handler.endExternalEntity (ename);
- is.close ();
- break;
- case INPUT_READER:
- handler.endExternalEntity (ename);
- reader.close ();
- break;
- case INPUT_INTERNAL:
- if (ename != null && doReport)
- handler.endInternalEntity (ename);
- break;
- }
-
- // Throw an EOFException if there
- // is nothing else to pop.
- if (inputStack.isEmpty ()) {
- throw new EOFException ("no more input");
- }
-
- Object input [] = (Object[]) inputStack.pop ();
-
- sourceType = ((Integer) input [0]).intValue ();
- externalEntity = (URLConnection) input [1];
- readBuffer = (char[]) input [2];
- readBufferPos = ((Integer) input [3]).intValue ();
- readBufferLength = ((Integer) input [4]).intValue ();
- line = ((Integer) input [5]).intValue ();
- encoding = ((Integer) input [6]).intValue ();
- readBufferOverflow = ((Integer) input [7]).intValue ();
- is = (InputStream) input [8];
- currentByteCount = ((Integer) input [9]).intValue ();
- column = ((Integer) input [10]).intValue ();
- reader = (Reader) input [11];
- }
-
-
- /**
- * Return true if we can read the expected character.
- * <p>Note that the character will be removed from the input stream
- * on success, but will be put back on failure. Do not attempt to
- * read the character again if the method succeeds.
- * @param delim The character that should appear next. For a
- * insensitive match, you must supply this in upper-case.
- * @return true if the character was successfully read, or false if
- * it was not.
- * @see #tryRead (String)
- */
- private boolean tryRead (char delim)
- throws SAXException, IOException
- {
- char c;
-
- // Read the character
- c = readCh ();
-
- // Test for a match, and push the character
- // back if the match fails.
- if (c == delim) {
- return true;
- } else {
- unread (c);
- return false;
- }
- }
-
-
- /**
- * Return true if we can read the expected string.
- * <p>This is simply a convenience method.
- * <p>Note that the string will be removed from the input stream
- * on success, but will be put back on failure. Do not attempt to
- * read the string again if the method succeeds.
- * <p>This method will push back a character rather than an
- * array whenever possible (probably the majority of cases).
- * @param delim The string that should appear next.
- * @return true if the string was successfully read, or false if
- * it was not.
- * @see #tryRead (char)
- */
- private boolean tryRead (String delim)
- throws SAXException, IOException
- {
- return tryRead (delim.toCharArray ());
- }
-
- private boolean tryRead (char ch [])
- throws SAXException, IOException
- {
- char c;
-
- // Compare the input, character-
- // by character.
-
- for (int i = 0; i < ch.length; i++) {
- c = readCh ();
- if (c != ch [i]) {
- unread (c);
- if (i != 0) {
- unread (ch, i);
- }
- return false;
- }
- }
- return true;
- }
-
-
-
- /**
- * Return true if we can read some whitespace.
- * <p>This is simply a convenience method.
- * <p>This method will push back a character rather than an
- * array whenever possible (probably the majority of cases).
- * @return true if whitespace was found.
- */
- private boolean tryWhitespace ()
- throws SAXException, IOException
- {
- char c;
- c = readCh ();
- if (isWhitespace (c)) {
- skipWhitespace ();
- return true;
- } else {
- unread (c);
- return false;
- }
- }
-
-
- /**
- * Read all data until we find the specified string.
- * This is useful for scanning CDATA sections and PIs.
- * <p>This is inefficient right now, since it calls tryRead ()
- * for every character.
- * @param delim The string delimiter
- * @see #tryRead (String, boolean)
- * @see #readCh
- */
- private void parseUntil (String delim)
- throws SAXException, IOException
- {
- parseUntil (delim.toCharArray ());
- }
-
- private void parseUntil (char delim [])
- throws SAXException, IOException
- {
- char c;
- int startLine = line;
-
- try {
- while (!tryRead (delim)) {
- c = readCh ();
- dataBufferAppend (c);
- }
- } catch (EOFException e) {
- error ("end of input while looking for delimiter "
- + "(started on line " + startLine
- + ')', null, new String (delim));
- }
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // Low-level I/O.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Prefetch US-ASCII XML/text decl from input stream into read buffer.
- * Doesn't buffer more than absolutely needed, so that when an encoding
- * decl says we need to create an InputStreamReader, we can discard our
- * buffer and reset(). Caller knows the first chars of the decl exist
- * in the input stream.
- */
- private void prefetchASCIIEncodingDecl ()
- throws SAXException, IOException
- {
- int ch;
- readBufferPos = readBufferLength = 0;
-
- is.mark (readBuffer.length);
- while (true) {
- ch = is.read ();
- readBuffer [readBufferLength++] = (char) ch;
- switch (ch) {
- case (int) '>':
- return;
- case -1:
- error ("file ends before end of XML or encoding declaration.",
- null, "?>");
- }
- if (readBuffer.length == readBufferLength)
- error ("unfinished XML or encoding declaration");
- }
- }
-
- /**
- * Read a chunk of data from an external input source.
- * <p>This is simply a front-end that fills the rawReadBuffer
- * with bytes, then calls the appropriate encoding handler.
- * @see #encoding
- * @see #rawReadBuffer
- * @see #readBuffer
- * @see #filterCR
- * @see #copyUtf8ReadBuffer
- * @see #copyIso8859_1ReadBuffer
- * @see #copyUcs_2ReadBuffer
- * @see #copyUcs_4ReadBuffer
- */
- private void readDataChunk ()
- throws SAXException, IOException
- {
- int count;
-
- // See if we have any overflow (filterCR sets for CR at end)
- if (readBufferOverflow > -1) {
- readBuffer [0] = (char) readBufferOverflow;
- readBufferOverflow = -1;
- readBufferPos = 1;
- sawCR = true;
- } else {
- readBufferPos = 0;
- sawCR = false;
- }
-
- // input from a character stream.
- if (sourceType == INPUT_READER) {
- count = reader.read (readBuffer,
- readBufferPos, READ_BUFFER_MAX - readBufferPos);
- if (count < 0)
- readBufferLength = readBufferPos;
- else
- readBufferLength = readBufferPos + count;
- if (readBufferLength > 0)
- filterCR (count >= 0);
- sawCR = false;
- return;
- }
-
- // Read as many bytes as possible into the raw buffer.
- count = is.read (rawReadBuffer, 0, READ_BUFFER_MAX);
-
- // Dispatch to an encoding-specific reader method to populate
- // the readBuffer. In most parser speed profiles, these routines
- // show up at the top of the CPU usage chart.
- if (count > 0) {
- switch (encoding) {
- // one byte builtins
- case ENCODING_ASCII:
- copyIso8859_1ReadBuffer (count, (char) 0x0080);
- break;
- case ENCODING_UTF_8:
- copyUtf8ReadBuffer (count);
- break;
- case ENCODING_ISO_8859_1:
- copyIso8859_1ReadBuffer (count, (char) 0);
- break;
-
- // two byte builtins
- case ENCODING_UCS_2_12:
- copyUcs2ReadBuffer (count, 8, 0);
- break;
- case ENCODING_UCS_2_21:
- copyUcs2ReadBuffer (count, 0, 8);
- break;
-
- // four byte builtins
- case ENCODING_UCS_4_1234:
- copyUcs4ReadBuffer (count, 24, 16, 8, 0);
- break;
- case ENCODING_UCS_4_4321:
- copyUcs4ReadBuffer (count, 0, 8, 16, 24);
- break;
- case ENCODING_UCS_4_2143:
- copyUcs4ReadBuffer (count, 16, 24, 0, 8);
- break;
- case ENCODING_UCS_4_3412:
- copyUcs4ReadBuffer (count, 8, 0, 24, 16);
- break;
- }
- } else
- readBufferLength = readBufferPos;
-
- readBufferPos = 0;
-
- // Filter out all carriage returns if we've seen any
- // (including any saved from a previous read)
- if (sawCR) {
- filterCR (count >= 0);
- sawCR = false;
-
- // must actively report EOF, lest some CRs get lost.
- if (readBufferLength == 0 && count >= 0)
- readDataChunk ();
- }
-
- if (count > 0)
- currentByteCount += count;
- }
-
-
- /**
- * Filter carriage returns in the read buffer.
- * CRLF becomes LF; CR becomes LF.
- * @param moreData true iff more data might come from the same source
- * @see #readDataChunk
- * @see #readBuffer
- * @see #readBufferOverflow
- */
- private void filterCR (boolean moreData)
- {
- int i, j;
-
- readBufferOverflow = -1;
-
-loop:
- for (i = j = readBufferPos; j < readBufferLength; i++, j++) {
- switch (readBuffer [j]) {
- case '\r':
- if (j == readBufferLength - 1) {
- if (moreData) {
- readBufferOverflow = '\r';
- readBufferLength--;
- } else // CR at end of buffer
- readBuffer [i++] = '\n';
- break loop;
- } else if (readBuffer [j + 1] == '\n') {
- j++;
- }
- readBuffer [i] = '\n';
- break;
-
- case '\n':
- default:
- readBuffer [i] = readBuffer [j];
- break;
- }
- }
- readBufferLength = i;
- }
-
- /**
- * Convert a buffer of UTF-8-encoded bytes into UTF-16 characters.
- * <p>When readDataChunk () calls this method, the raw bytes are in
- * rawReadBuffer, and the final characters will appear in
- * readBuffer.
- * <p>Note that as of Unicode 3.1, good practice became a requirement,
- * so that each Unicode character has exactly one UTF-8 representation.
- * @param count The number of bytes to convert.
- * @see #readDataChunk
- * @see #rawReadBuffer
- * @see #readBuffer
- * @see #getNextUtf8Byte
- */
- private void copyUtf8ReadBuffer (int count)
- throws SAXException, IOException
- {
- int i = 0;
- int j = readBufferPos;
- int b1;
- char c = 0;
-
- /*
- // check once, so the runtime won't (if it's smart enough)
- if (count < 0 || count > rawReadBuffer.length)
- throw new ArrayIndexOutOfBoundsException (Integer.toString (count));
- */
-
- while (i < count) {
- b1 = rawReadBuffer [i++];
-
- // Determine whether we are dealing
- // with a one-, two-, three-, or four-
- // byte sequence.
- if (b1 < 0) {
- if ((b1 & 0xe0) == 0xc0) {
- // 2-byte sequence: 00000yyyyyxxxxxx = 110yyyyy 10xxxxxx
- c = (char) (((b1 & 0x1f) << 6)
- | getNextUtf8Byte (i++, count));
- if (c < 0x0080)
- encodingError ("Illegal two byte UTF-8 sequence",
- c, 0);
- } else if ((b1 & 0xf0) == 0xe0) {
- // 3-byte sequence:
- // zzzzyyyyyyxxxxxx = 1110zzzz 10yyyyyy 10xxxxxx
- // most CJKV characters
- c = (char) (((b1 & 0x0f) << 12) |
- (getNextUtf8Byte (i++, count) << 6) |
- getNextUtf8Byte (i++, count));
- if (c < 0x0800 || (c >= 0xd800 && c <= 0xdfff))
- encodingError ("Illegal three byte UTF-8 sequence",
- c, 0);
- } else if ((b1 & 0xf8) == 0xf0) {
- // 4-byte sequence: 11101110wwwwzzzzyy + 110111yyyyxxxxxx
- // = 11110uuu 10uuzzzz 10yyyyyy 10xxxxxx
- // (uuuuu = wwww + 1)
- // "Surrogate Pairs" ... from the "Astral Planes"
- // Unicode 3.1 assigned the first characters there
- int iso646 = b1 & 07;
- iso646 = (iso646 << 6) + getNextUtf8Byte (i++, count);
- iso646 = (iso646 << 6) + getNextUtf8Byte (i++, count);
- iso646 = (iso646 << 6) + getNextUtf8Byte (i++, count);
-
- if (iso646 <= 0xffff) {
- encodingError ("Illegal four byte UTF-8 sequence",
- iso646, 0);
- } else {
- if (iso646 > 0x0010ffff)
- encodingError (
- "UTF-8 value out of range for Unicode",
- iso646, 0);
- iso646 -= 0x010000;
- readBuffer [j++] = (char) (0xd800 | (iso646 >> 10));
- readBuffer [j++] = (char) (0xdc00 | (iso646 & 0x03ff));
- continue;
- }
- } else {
- // The five and six byte encodings aren't supported;
- // they exceed the Unicode (and XML) range.
- encodingError (
- "unsupported five or six byte UTF-8 sequence",
- 0xff & b1, i);
- // NOTREACHED
- c = 0;
- }
- } else {
- // 1-byte sequence: 000000000xxxxxxx = 0xxxxxxx
- // (US-ASCII character, "common" case, one branch to here)
- c = (char) b1;
- }
- readBuffer [j++] = c;
- if (c == '\r')
- sawCR = true;
- }
- // How many characters have we read?
- readBufferLength = j;
- }
-
-
- /**
- * Return the next byte value in a UTF-8 sequence.
- * If it is not possible to get a byte from the current
- * entity, throw an exception.
- * @param pos The current position in the rawReadBuffer.
- * @param count The number of bytes in the rawReadBuffer
- * @return The significant six bits of a non-initial byte in
- * a UTF-8 sequence.
- * @exception EOFException If the sequence is incomplete.
- */
- private int getNextUtf8Byte (int pos, int count)
- throws SAXException, IOException
- {
- int val;
-
- // Take a character from the buffer
- // or from the actual input stream.
- if (pos < count) {
- val = rawReadBuffer [pos];
- } else {
- val = is.read ();
- if (val == -1) {
- encodingError ("unfinished multi-byte UTF-8 sequence at EOF",
- -1, pos);
- }
- }
-
- // Check for the correct bits at the start.
- if ((val & 0xc0) != 0x80) {
- encodingError ("bad continuation of multi-byte UTF-8 sequence",
- val, pos + 1);
- }
-
- // Return the significant bits.
- return (val & 0x3f);
- }
-
-
- /**
- * Convert a buffer of US-ASCII or ISO-8859-1-encoded bytes into
- * UTF-16 characters.
- *
- * <p>When readDataChunk () calls this method, the raw bytes are in
- * rawReadBuffer, and the final characters will appear in
- * readBuffer.
- *
- * @param count The number of bytes to convert.
- * @param mask For ASCII conversion, 0x7f; else, 0xff.
- * @see #readDataChunk
- * @see #rawReadBuffer
- * @see #readBuffer
- */
- private void copyIso8859_1ReadBuffer (int count, char mask)
- throws IOException
- {
- int i, j;
- for (i = 0, j = readBufferPos; i < count; i++, j++) {
- char c = (char) (rawReadBuffer [i] & 0xff);
- if ((c & mask) != 0)
- throw new CharConversionException ("non-ASCII character U+"
- + Integer.toHexString (c));
- readBuffer [j] = c;
- if (c == '\r') {
- sawCR = true;
- }
- }
- readBufferLength = j;
- }
-
-
- /**
- * Convert a buffer of UCS-2-encoded bytes into UTF-16 characters
- * (as used in Java string manipulation).
- *
- * <p>When readDataChunk () calls this method, the raw bytes are in
- * rawReadBuffer, and the final characters will appear in
- * readBuffer.
- * @param count The number of bytes to convert.
- * @param shift1 The number of bits to shift byte 1.
- * @param shift2 The number of bits to shift byte 2
- * @see #readDataChunk
- * @see #rawReadBuffer
- * @see #readBuffer
- */
- private void copyUcs2ReadBuffer (int count, int shift1, int shift2)
- throws SAXException
- {
- int j = readBufferPos;
-
- if (count > 0 && (count % 2) != 0) {
- encodingError ("odd number of bytes in UCS-2 encoding", -1, count);
- }
- // The loops are faster with less internal brancing; hence two
- if (shift1 == 0) { // "UTF-16-LE"
- for (int i = 0; i < count; i += 2) {
- char c = (char) (rawReadBuffer [i + 1] << 8);
- c |= 0xff & rawReadBuffer [i];
- readBuffer [j++] = c;
- if (c == '\r')
- sawCR = true;
- }
- } else { // "UTF-16-BE"
- for (int i = 0; i < count; i += 2) {
- char c = (char) (rawReadBuffer [i] << 8);
- c |= 0xff & rawReadBuffer [i + 1];
- readBuffer [j++] = c;
- if (c == '\r')
- sawCR = true;
- }
- }
- readBufferLength = j;
- }
-
-
- /**
- * Convert a buffer of UCS-4-encoded bytes into UTF-16 characters.
- *
- * <p>When readDataChunk () calls this method, the raw bytes are in
- * rawReadBuffer, and the final characters will appear in
- * readBuffer.
- * <p>Java has Unicode chars, and this routine uses surrogate pairs
- * for ISO-10646 values between 0x00010000 and 0x000fffff. An
- * exception is thrown if the ISO-10646 character has no Unicode
- * representation.
- *
- * @param count The number of bytes to convert.
- * @param shift1 The number of bits to shift byte 1.
- * @param shift2 The number of bits to shift byte 2
- * @param shift3 The number of bits to shift byte 2
- * @param shift4 The number of bits to shift byte 2
- * @see #readDataChunk
- * @see #rawReadBuffer
- * @see #readBuffer
- */
- private void copyUcs4ReadBuffer (int count, int shift1, int shift2,
- int shift3, int shift4)
- throws SAXException
- {
- int j = readBufferPos;
-
- if (count > 0 && (count % 4) != 0) {
- encodingError (
- "number of bytes in UCS-4 encoding not divisible by 4",
- -1, count);
- }
- for (int i = 0; i < count; i += 4) {
- int value = (((rawReadBuffer [i] & 0xff) << shift1) |
- ((rawReadBuffer [i + 1] & 0xff) << shift2) |
- ((rawReadBuffer [i + 2] & 0xff) << shift3) |
- ((rawReadBuffer [i + 3] & 0xff) << shift4));
- if (value < 0x0000ffff) {
- readBuffer [j++] = (char) value;
- if (value == (int) '\r') {
- sawCR = true;
- }
- } else if (value < 0x0010ffff) {
- value -= 0x010000;
- readBuffer [j++] = (char) (0xd8 | ((value >> 10) & 0x03ff));
- readBuffer [j++] = (char) (0xdc | (value & 0x03ff));
- } else {
- encodingError ("UCS-4 value out of range for Unicode",
- value, i);
- }
- }
- readBufferLength = j;
- }
-
-
- /**
- * Report a character encoding error.
- */
- private void encodingError (String message, int value, int offset)
- throws SAXException
- {
- if (value != -1)
- message = message + " (character code: 0x" +
- Integer.toHexString (value) + ')';
- error (message);
- }
-
-
- //////////////////////////////////////////////////////////////////////
- // Local Variables.
- //////////////////////////////////////////////////////////////////////
-
- /**
- * Re-initialize the variables for each parse.
- */
- private void initializeVariables ()
- {
- // First line
- line = 1;
- column = 0;
-
- // Set up the buffers for data and names
- dataBufferPos = 0;
- dataBuffer = new char [DATA_BUFFER_INITIAL];
- nameBufferPos = 0;
- nameBuffer = new char [NAME_BUFFER_INITIAL];
-
- // Set up the DTD hash tables
- elementInfo = new Hashtable ();
- entityInfo = new Hashtable ();
- notationInfo = new Hashtable ();
- skippedPE = false;
-
- // Set up the variables for the current
- // element context.
- currentElement = null;
- currentElementContent = CONTENT_UNDECLARED;
-
- // Set up the input variables
- sourceType = INPUT_NONE;
- inputStack = new Stack ();
- entityStack = new Stack ();
- externalEntity = null;
- tagAttributePos = 0;
- tagAttributes = new String [100];
- rawReadBuffer = new byte [READ_BUFFER_MAX];
- readBufferOverflow = -1;
-
- scratch = new InputSource ();
-
- inLiteral = false;
- expandPE = false;
- peIsError = false;
-
- doReport = false;
-
- inCDATA = false;
-
- symbolTable = new Object [SYMBOL_TABLE_LENGTH][];
- }
-
-
- //
- // The current XML handler interface.
- //
- private SAXDriver handler;
-
- //
- // I/O information.
- //
- private Reader reader; // current reader
- private InputStream is; // current input stream
- private int line; // current line number
- private int column; // current column number
- private int sourceType; // type of input source
- private Stack inputStack; // stack of input soruces
- private URLConnection externalEntity; // current external entity
- private int encoding; // current character encoding
- private int currentByteCount; // bytes read from current source
- private InputSource scratch; // temporary
-
- //
- // Buffers for decoded but unparsed character input.
- //
- private char readBuffer [];
- private int readBufferPos;
- private int readBufferLength;
- private int readBufferOverflow; // overflow from last data chunk.
-
-
- //
- // Buffer for undecoded raw byte input.
- //
- private final static int READ_BUFFER_MAX = 16384;
- private byte rawReadBuffer [];
-
-
- //
- // Buffer for attribute values, char refs, DTD stuff.
- //
- private static int DATA_BUFFER_INITIAL = 4096;
- private char dataBuffer [];
- private int dataBufferPos;
-
- //
- // Buffer for parsed names.
- //
- private static int NAME_BUFFER_INITIAL = 1024;
- private char nameBuffer [];
- private int nameBufferPos;
-
- //
- // Save any standalone flag
- //
- private boolean docIsStandalone;
-
- //
- // Hashtables for DTD information on elements, entities, and notations.
- // Populated until we start ignoring decls (because of skipping a PE)
- //
- private Hashtable elementInfo;
- private Hashtable entityInfo;
- private Hashtable notationInfo;
- private boolean skippedPE;
-
-
- //
- // Element type currently in force.
- //
- private String currentElement;
- private int currentElementContent;
-
- //
- // Stack of entity names, to detect recursion.
- //
- private Stack entityStack;
-
- //
- // PE expansion is enabled in most chunks of the DTD, not all.
- // When it's enabled, literals are treated differently.
- //
- private boolean inLiteral;
- private boolean expandPE;
- private boolean peIsError;
-
- //
- // can't report entity expansion inside two constructs:
- // - attribute expansions (internal entities only)
- // - markup declarations (parameter entities only)
- //
- private boolean doReport;
-
- //
- // Symbol table, for caching interned names.
- //
- // These show up wherever XML names or nmtokens are used: naming elements,
- // attributes, PIs, notations, entities, and enumerated attribute values.
- //
- // NOTE: This hashtable doesn't grow. The default size is intended to be
- // rather large for most documents. Example: one snapshot of the DocBook
- // XML 4.1 DTD used only about 350 such names. As a rule, only pathological
- // documents (ones that don't reuse names) should ever see much collision.
- //
- // Be sure that SYMBOL_TABLE_LENGTH always stays prime, for best hashing.
- // "2039" keeps the hash table size at about two memory pages on typical
- // 32 bit hardware.
- //
- private final static int SYMBOL_TABLE_LENGTH = 2039;
-
- private Object symbolTable [][];
-
- //
- // Hash table of attributes found in current start tag.
- //
- private String tagAttributes [];
- private int tagAttributePos;
-
- //
- // Utility flag: have we noticed a CR while reading the last
- // data chunk? If so, we will have to go back and normalise
- // CR or CR/LF line ends.
- //
- private boolean sawCR;
-
- //
- // Utility flag: are we in CDATA? If so, whitespace isn't ignorable.
- //
- private boolean inCDATA;
-}
diff --git a/external/jaxp/source/gnu/xml/aelfred2/XmlReader.java b/external/jaxp/source/gnu/xml/aelfred2/XmlReader.java
deleted file mode 100644
index 01a936933..000000000
--- a/external/jaxp/source/gnu/xml/aelfred2/XmlReader.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.aelfred2;
-
-import java.io.IOException;
-import java.util.Locale;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-
-import gnu.xml.pipeline.EventFilter;
-import gnu.xml.pipeline.ValidationConsumer;
-
-
-/**
- * This SAX2 parser optionally layers a validator over the &AElig;lfred2
- * SAX2 parser. While this will not evaluate every XML validity constraint,
- * it does support all the validity constraints that are of any real utility
- * outside the strict SGML-compatible world. See the documentation for the
- * SAXDriver class for information about the SAX2 features and properties
- * that are supported, and documentation for the ValidationConsumer for
- * information about what validity constraints may not be supported.
- * (&AElig;lfred2 tests some of those, even in non-validating mode, to
- * achieve better conformance.)
- *
- * <p> Note that due to its internal construction, you can't change most
- * handlers until parse() returns. This diverges slightly from SAX, which
- * expects later binding to be supported. Early binding involves less
- * runtime overhead, which is an issue for event pipelines as used inside
- * this parser. Rather than relying on the parser to handle late binding
- * to your own handlers, do it yourself.
- *
- * @see SAXDriver
- * @see gnu.xml.pipeline.ValidationConsumer
- *
- * @author David Brownell
- */
-public final class XmlReader implements XMLReader
-{
- private SAXDriver aelfred2 = new SAXDriver ();
- private EventFilter filter = new EventFilter ();
- private boolean isValidating;
- private boolean active;
-
-
- /** Constructs a SAX Parser. */
- public XmlReader ()
- { }
-
- /**
- * Constructs a SAX Parser, optionally treating validity errors
- * as if they were fatal errors.
- */
- public XmlReader (boolean invalidIsFatal)
- {
- if (invalidIsFatal)
- setErrorHandler (new DefaultHandler2 () {
- public void error (SAXParseException e)
- throws SAXException
- { throw e; }
- });
- }
-
- /**
- * <b>SAX2</b>: Returns the object used to report the logical
- * content of an XML document.
- */
- public ContentHandler getContentHandler ()
- { return filter.getContentHandler (); }
-
- /**
- * <b>SAX2</b>: Assigns the object used to report the logical
- * content of an XML document.
- * @exception IllegalStateException if called mid-parse
- */
- public void setContentHandler (ContentHandler handler)
- {
- if (active)
- throw new IllegalStateException ("already parsing");
- filter.setContentHandler (handler);
- }
-
- /**
- * <b>SAX2</b>: Returns the object used to process declarations related
- * to notations and unparsed entities.
- */
- public DTDHandler getDTDHandler ()
- { return filter.getDTDHandler (); }
-
- /**
- * <b>SAX1</b> Assigns DTD handler
- * @exception IllegalStateException if called mid-parse
- */
- public void setDTDHandler (DTDHandler handler)
- {
- if (active)
- throw new IllegalStateException ("already parsing");
- filter.setDTDHandler (handler);
- }
-
- /**
- * <b>SAX2</b>: Returns the object used when resolving external
- * entities during parsing (both general and parameter entities).
- */
- public EntityResolver getEntityResolver ()
- { return aelfred2.getEntityResolver (); }
-
- /** <b>SAX1</b> Assigns parser's entity resolver */
- public void setEntityResolver (EntityResolver handler)
- { aelfred2.setEntityResolver (handler); }
-
- /**
- * <b>SAX2</b>: Returns the object used to receive callbacks for XML
- * errors of all levels (fatal, nonfatal, warning); this is never null;
- */
- public ErrorHandler getErrorHandler ()
- { return aelfred2.getErrorHandler (); }
-
- /**
- * <b>SAX1</b> Assigns error handler
- * @exception IllegalStateException if called mid-parse
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- if (active)
- throw new IllegalStateException ("already parsing");
- aelfred2.setErrorHandler (handler);
- }
-
- /**
- * <b>SAX2</b>: Assigns the specified property.
- * @exception IllegalStateException if called mid-parse
- */
- public void setProperty (String propertyId, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (active)
- throw new IllegalStateException ("already parsing");
- if (getProperty (propertyId) != value)
- filter.setProperty (propertyId, value);
- }
-
- /**
- * <b>SAX2</b>: Returns the specified property.
- */
- public Object getProperty (String propertyId)
- throws SAXNotRecognizedException
- {
- if ((SAXDriver.PROPERTY + "declaration-handler")
- .equals (propertyId)
- || (SAXDriver.PROPERTY + "lexical-handler")
- .equals (propertyId))
- return filter.getProperty (propertyId);
- throw new SAXNotRecognizedException (propertyId);
- }
-
- private void forceValidating ()
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- aelfred2.setFeature (
- SAXDriver.FEATURE + "namespace-prefixes",
- true);
- aelfred2.setFeature (
- SAXDriver.FEATURE + "external-general-entities",
- true);
- aelfred2.setFeature (
- SAXDriver.FEATURE + "external-parameter-entities",
- true);
- }
-
- /**
- * <b>SAX2</b>: Sets the state of features supported in this parser.
- * Note that this parser requires reporting of namespace prefixes when
- * validating.
- */
- public void setFeature (String featureId, boolean state)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- boolean value = getFeature (featureId);
-
- if (state == value)
- return;
-
- if ((SAXDriver.FEATURE + "validation").equals (featureId)) {
- if (active)
- throw new SAXNotSupportedException ("already parsing");
- if (state)
- forceValidating ();
- isValidating = state;
- } else
- aelfred2.setFeature (featureId, state);
- }
-
- /**
- * <b>SAX2</b>: Tells whether this parser supports the specified feature.
- * At this time, this directly parallels the underlying SAXDriver,
- * except that validation is optionally supported.
- *
- * @see SAXDriver
- */
- public boolean getFeature (String featureId)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if ((SAXDriver.FEATURE + "validation").equals (featureId))
- return isValidating;
-
- return aelfred2.getFeature (featureId);
- }
-
- /**
- * <b>SAX1</b>: Sets the locale used for diagnostics; currently,
- * only locales using the English language are supported.
- * @param locale The locale for which diagnostics will be generated
- */
- public void setLocale (Locale locale)
- throws SAXException
- { aelfred2.setLocale (locale); }
-
- /**
- * <b>SAX1</b>: Preferred API to parse an XML document, using a
- * system identifier (URI).
- */
- public void parse (String systemId)
- throws SAXException, IOException
- {
- parse (new InputSource (systemId));
- }
-
- /**
- * <b>SAX1</b>: Underlying API to parse an XML document, used
- * directly when no URI is available. When this is invoked,
- * and the parser is set to validate, some features will be
- * automatically reset to appropriate values: for reporting
- * namespace prefixes, and incorporating external entities.
- *
- * @param source The XML input source.
- *
- * @exception IllegalStateException if called mid-parse
- * @exception SAXException The handlers may throw any SAXException,
- * and the parser normally throws SAXParseException objects.
- * @exception IOException IOExceptions are normally through through
- * the parser if there are problems reading the source document.
- */
- public void parse (InputSource source)
- throws SAXException, IOException
- {
- EventFilter next;
- boolean nsdecls;
-
- synchronized (aelfred2) {
- if (active)
- throw new IllegalStateException ("already parsing");
- active = true;
- }
-
- // set up the output pipeline
- if (isValidating) {
- forceValidating ();
- next = new ValidationConsumer (filter);
- } else
- next = filter;
-
- // connect pipeline and error handler
- // don't let _this_ call to bind() affect xmlns* attributes
- nsdecls = aelfred2.getFeature (
- SAXDriver.FEATURE + "namespace-prefixes");
- EventFilter.bind (aelfred2, next);
- if (!nsdecls)
- aelfred2.setFeature (
- SAXDriver.FEATURE + "namespace-prefixes",
- false);
-
- // parse, clean up
- try {
- aelfred2.parse (source);
- } finally {
- active = false;
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/aelfred2/package.html b/external/jaxp/source/gnu/xml/aelfred2/package.html
deleted file mode 100644
index e5afa1ed3..000000000
--- a/external/jaxp/source/gnu/xml/aelfred2/package.html
+++ /dev/null
@@ -1,477 +0,0 @@
-<!DOCTYPE html PUBLIC
- '-//W3C//DTD XHTML 1.0 Transitional//EN'
- 'http://www.w3.org/TR/xhtml1/DTD/transitional.dtd'>
-
-<html><head>
- <title>package overview</title>
-<!--
-/*
- * Copyright (c) 1999-2001 by David Brownell.
- * This file is distributed under the GPL.
- *
- * $Id: package.html,v 1.2 2004-05-01 16:18:49 mark Exp $
- */
--->
-</head><body>
-
-<p> This package contains &AElig;lfred2, which includes an
-enhanced SAX2-compatible version of the &AElig;lfred
-non-validating XML parser, a modular (and hence optional)
-DTD validating parser, and modular (and hence optional)
-JAXP glue to those.
-Use these like any other SAX2 parsers. </p>
-
-<ul>
- <li><a href="#about">About &AElig;lfred</a><ul>
- <li><a href="#principles">Design Principles</a></li>
- <li><a href="#name">About the Name &AElig;lfred</a></li>
- <li><a href="#encodings">Character Encodings</a></li>
- <li><a href="#violations">Known Conformance Violations</a></li>
- <li><a href="#license">Licensing</a></li>
- </ul></li>
-
- <li><a href="#changes">Changes Since the Last Microstar Release</a><ul>
- <li><a href="#sax2">SAX2 Support</a></li>
- <li><a href="#validation">Validation</a></li>
- <li><a href="#smaller">You Want Smaller?</a></li>
- <li><a href="#bugfixes">Bugs Fixed</a></li>
- </ul></li>
-
-</ul>
-
-<p> Some of the documentation below was modified from the original
-&AElig;lfred README.txt file. All of it has been updated. </p>
-
-
-<h2><a name="about">About &AElig;lfred</a></h2>
-
-<p>&AElig;lfred is a Java-based XML parser originally from
-Microstar Software Limited (no longer in existence) and
-more or less placed into the public domain.
-
-
-<h3><a name="principles">Design Principles</a></h3>
-
-<p>In most Java applets and applications, XML should not be the central
-feature; instead, XML is the means to another end, such as loading
-configuration information, reading meta-data, or parsing transactions.</p>
-
-<p> When an XML parser is only a single component of a much larger
-program, it cannot be large, slow, or resource-intensive. With Java
-applets, in particular, code size is a significant issue. The standard
-modem is still not operating at 56 Kbaud, or sometimes even with data
-compression. Assuming an uncompressed 28.8 Kbaud modem, only about
-3 KBytes can be downloaded in one second; compression often doubles
-that speed, but a V.90 modem may not provide another doubling. When
-used with embedded processors, similar size concerns apply. </p>
-
-<p> &AElig;lfred is designed for easy and efficient use over the Internet,
-based on the following principles: </p> <ol>
-
-<li> &AElig;lfred must be as small as possible, so that it doesn't add too
- much to an applet's download time. </li>
-
-<li> &AElig;lfred must use as few class files as possible, to minimize the
- number of HTTP connections necessary. (The use of JAR files has made this
- be less of a concern.) </li>
-
-<li> &AElig;lfred must be compatible with most or all Java implementations
- and platforms. (Write once, run anywhere.) </li>
-
-<li> &AElig;lfred must use as little memory as possible, so that it does
- not take away resources from the rest of your program. (It doesn't force
- you to use DOM or a similar costly data structure API.)</li>
-
-<li> &AElig;lfred must run as fast as possible, so that it does not slow down
- the rest of your program. </li>
-
-<li> &AElig;lfred must produce correct output for well-formed and valid
- documents, but need not reject every document that is not valid or
- not well-formed. (In &AElig;lfred2, correctness was a bigger concern
- than in the original version; and a validation option is available.) </li>
-
-<li> &AElig;lfred must provide full internationalization from the first
- release. (&AElig;lfred2 now automatically handles all encodings
- supported by the underlying JVM; previous versions handled only
- UTF-8, UTF_16, ASCII, and ISO-8859-1.)</li>
-
-</ol>
-
-<p>As you can see from this list, &AElig;lfred is designed for production
-use, but neither validation nor perfect conformance was a requirement.
-Good validating parsers exist, including one in this package,
-and you should use them as appropriate. (See conformance reviews
-available at <a href="http://www.xml.com/">http://www.xml.com</a>)
-</p>
-
-<p> One of the main goals of &AElig;lfred2 was to significantly improve
-conformance, while not significantly affecting the other goals stated above.
-Since the only use of this parser is with SAX, some classes could be
-removed, and so the overall size of &AElig;lfred was actually reduced.
-Subsequent performance work produced a notable speedup (over twenty
-percent on larger files). That is, the tradeoffs between speed, size, and
-conformance were re-targeted towards conformance and support of newer APIs
-(SAX2), with a a positive performance impact. </p>
-
-<p> The role anticipated for this version of &AElig;lfred is as a
-lightweight Free Software SAX parser that can be used in essentially every
-Java program where the handful of conformance violations (noted below)
-are acceptable.
-That certainly includes applets, and
-nowadays one must also mention embedded systems as being even more
-size-critical.
-At this writing, all parsers that are more conformant are
-significantly larger, even when counting the optional
-validation support in this version of &AElig;lfred. </p>
-
-
-<h3><a name="name">About the Name <em>&AElig;lfred</em></a></h3>
-
-<p>&AElig;lfred the Great (AElfred in ASCII) was King of Wessex, and
-some say of King of England, at the time of his death in 899 AD.
-&AElig;lfred introduced a wide-spread literacy program in the hope that
-his people would learn to read English, at least, if Latin was too
-difficult for them. This &AElig;lfred hopes to bring another sort of
-literacy to Java, using XML, at least, if full SGML is too difficult.</p>
-
-<p>The initial &AElig; ligature ("AE)" is also a reminder that XML is
-not limited to ASCII.</p>
-
-
-<h3><a name="encodings">Character Encodings</a></h3>
-
-<p> The &AElig;lfred parser currently builds in support for a handful
-of input encodings. Of course these include UTF-8 and UTF-16, which
-all XML parsers are required to support:</p> <ul>
-
- <li> UTF-8 ... the standard eight bit encoding, used unless
- you provide an encoding declaration or a MIME charset tag.</li>
-
- <li> US-ASCII ... an extremely common seven bit encoding,
- which happens to be a subset of UTF-8 and ISO-8859-1 as well
- as many other encodings. XHTML web pages using US-ASCII
- (without an encoding declaration) are probably more
- widely interoperable than those in any other encoding. </li>
-
- <li> ISO-8859-1 ... includes accented characters used in
- much of western Europe (but excluding the Euro currency
- symbol).</li>
-
- <li> UTF-16 ... with several variants, this encodes each
- sixteen bit Unicode character in sixteen bits of output.
- Variants include UTF-16BE (big endian, no byte order mark),
- UTF-16LE (little endian, no byte order mark), and
- ISO-10646-UCS-2 (an older and less used encoding, using a
- version of Unicode without surrogate pairs). This is
- essentially the native encoding used by Java. </li>
-
- <li> ISO-10646-UCS-4 ... a seldom-used four byte encoding,
- also known as UTF-32BE. Four byte order variants are supported,
- including one known as UTF-32LE. Some operating systems
- standardized on UCS-4 despite its significant size penalty,
- in anticipation that Unicode (even with surrogate pairs)
- would eventually become limiting. UCS-4 permits encoding
- of non-Unicode characters, which Java can't represent (and
- XML doesn't allow).
- </li>
-
- </ul>
-
-<p> If you use any encoding other than UTF-8 or UTF-16 you should
-make sure to label your data appropriately: </p>
-
-<blockquote>
-&lt;?xml version="1.0" encoding="<b>ISO-8859-15</b>"?&gt;
-</blockquote>
-
-<p> Encodings accessed through <code>java.io.InputStreamReader</code>
-are now fully supported for both external labels (such as MIME types)
-and internal types (as shown above).
-There is one limitation in the support for internal labels:
-the encodings must be derived from the US-ASCII encoding,
-the EBCDIC family of encodings is not recognized.
-Note that Java defines its
-own encoding names, which don't always correspond to the standard
-Internet encoding names defined by the IETF/IANA, and that Java
-may even <em>require</em> use of nonstandard encoding names.
-Please report
-such problems; some of them can be worked around in this parser,
-and many can be worked around by using external labels.
-</p>
-
-<p>Note that if you are using the Euro symbol with an fixed length
-eight bit encoding, you should probably be using the encoding label
-<em>iso-8859-15</em> or, with a Microsoft OS, <em>cp-1252</em>.
-Of course, UTF-8 and UTF-16 handle the Euro symbol directly.
-</p>
-
-
-<h3><a name="violations">Known Conformance Violations</a></h3>
-
-<p>Known conformance issues should be of negligible importance for
-most applications, and include: </p><ul>
-
- <li> Rather than following the voluminous "Appendix B" rules about
- what characters may appear in names (and name tokens), the Unicode
- rules embedded in <em>java.lang.Character</em> are used.
- This means mostly that some names are inappropriately accepted,
- though a few are inappropriately rejected. (It's much simpler
- to avoid that much special case code. Recent OASIS/NIST test
- cases may have these rules be realistically testable.) </li>
-
- <li> Text containing "]]&gt;" is not rejected unless it fully resides
- in an internal buffer ... which is, thankfully, the typical case. This
- text is illegal, but sometimes appears in illegal attempts to
- nest CDATA sections. (Not catching that boundary condition
- substantially simplifies parsing text.) </li>
-
- <li> Surrogate characters that aren't correctly paired are ignored
- rather than rejected, unless they were encoded using UTF-8. (This
- simplifies parsing text.) Unicode 3.1 assigned the first characters
- to those character codes, in early 2001, so few documents (or tools)
- use such characters in any case. </li>
-
- <li> Declarations following references to an undefined parameter
- entity reference are not ignored. (Not maintaining and using state
- about this validity error simplifies declaration handling; few
- XML parsers address this constraint in any case.) </li>
-
- <li> Well formedness constraints for general entity references
- are not enforced. (The code to handle the "content" production
- is merged with the element parsing code, making it hard to reuse
- for this additional situation.) </li>
-
-</ul>
-
-<p> When tested against the July 12, 1999 version of the OASIS
-XML Conformance test suite, an earlier version passed 1057 of 1067 tests.
-That contrasts with the original version, which passed 867. The
-current parser is top-ranked in terms of conformance, as is its
-validating sibling (which has some additional conformance violations
-imposed on it by SAX2 API deficiencies as well as some of the more
-curious SGML layering artifacts found in the XML specification). </p>
-
-<p> The XML 1.0 specification itself was not without problems,
-and after some delays the W3C has come out with a revised
-"second edition" specification. While that doesn't resolve all
-the problems identified the XML specification, many of the most
-egregious problems have been resolved. (You still need to drink
-magic Kool-Aid before some DTD-related issues make sense.)
-To the extent possible, this parser conforms to that second
-edition specification, and does well against corrected versions
-of the OASIS/NIST XML conformance test cases. See <a href=
-"http://xmlconf.sourceforge.net">http://xmlconf.sourceforge.net</a>
-for more information about SAX2/XML conformance testing. </p>
-
-
-<h3><a name="licensing">Licensing</a></h3>
-
-<p> As noted above, the original distribution was more or less
-public domain. The license had the constraint that modifications
-be clearly documented, as has been done here. </p>
-
-<p> This version is Copyright (c) 1999-2001 by David Brownell,
-and all the modifications are distributed under the GNU General
-Public License (GPL). It is subject to the "Library Exception",
-supporting use in some environments (such as embedded systems where
-dynamic linking may not be available) by proprietary code without
-necessarily requiring all code to be licencsed under the GPL.
-</p>
-
-
-<h2><a name="changes">Changes Since the last Microstar Release</a></h2>
-
-<p> As noted above, Microstar has not updated this parser since
-the summer of 1998, when it released version 1.2a on its web site.
-This release is intended to benefit the developer community by
-refocusing the API on SAX2, and improving conformance to the extent
-that most developers should not need to use another XML parser. </p>
-
-<p> The code has been cleaned up (referring to the XML 1.0 spec in
-all the production numbers in
-comments, rather than some preliminary draft, for one example) and
-has been sped up a bit as well.
-JAXP support has been added, although developers are still
-strongly encouraged to use the SAX2 APIs directly. </p>
-
-
-<h3><a name="sax2">SAX2 Support</a></h3>
-
-<p> The original version of &AElig;lfred did not support the
-SAX2 APIs. </p>
-
-<p> This version supports the SAX2 APIs, exposing the standard
-boolean feature descriptors. It supports the "DeclHandler" property
-to provide access to all DTD declarations not already exposed
-through the SAX1 API. The "LexicalHandler" property is supported,
-exposing entity boundaries (including the unnamed external subset) and
-things like comments and CDATA boundaries. SAX1 compatibility is
-currently provided.</p>
-
-
-<h3><a name="validation">Validation</a></h3>
-
-<p> In the 'pipeline' package in this same software distribution is an
-<a href="../pipeline/ValidationConsumer.html">XML Validation component</a>
-using any full SAX2 event stream (including all document type declarations)
-to validate. There is now a <a href="XmlReader.html">XmlReader</a> class
-which combines that class and this enhanced &AElig;lfred parser, creating
-an optionally validating SAX2 parser. </p>
-
-<p> As noted in the documentation for that validating component, certain
-validity constraints can't reliably be tested by a layered validator.
-These include all constraints relying on
-layering violations (exposing XML at the level of tokens or below,
-required since XML isn't a context-free grammar), some that
-SAX2 doesn't support, and a few others. The resulting validating
-parser is conformant enough for most applications that aren't doing
-strange SGML tricks with DTDs.
-Moreover, that validating filter can be used without
-a parser ... any application component that emits SAX event streams
-can DTD-validate its output on demand. </p>
-
-<h3><a name="smaller">You want Smaller?</a></h3>
-
-<p> You'll have noticed that the original version of &AElig;lfred
-had small size as a top goal. &AElig;lfred2 normally includes a
-DTD validation layer, but you can package without that.
-Similarly, JAXP factory support is available but optional.
-Then the main added cost due to this revision are for
-supporting the SAX2 API itself; DTD validation is as
-cleanly layered as allowed by SAX2.</p>
-
-<h3><a name="bugfixes">Bugs Fixed</a></h3>
-
-<p> Bugs fixed in &AElig;lfred2 include: </p>
-
-<ol>
- <li> Originally &AElig;lfred didn't close file descriptors, which
- led to file descriptor leakage on programs which ran for any
- length of time. </li>
-
- <li> NOTATION declarations without system identifiers are
- now handled correctly. </li>
-
- <li> DTD events are now reported for all invocations of a
- given parser, not just the first one. </li>
-
- <li> More correct character handling: <ul>
-
- <li> Rejects out-of-range characters, both in text and in
- character references. </li>
-
- <li> Correctly handles character references that expand to
- surrogate pairs. </li>
-
- <li> Correctly handles UTF-8 encodings of surrogate pairs. </li>
-
- <li> Correctly handles Unicode 3.1 rules about illegal UTF-8
- encodings: there is only one legal encoding per character. </li>
-
- <li> PUBLIC identifiers are now rejected if they have illegal
- characters. </li>
-
- <li> The parser is more correct about what characters are allowed
- in names and name tokens. Uses Unicode rules (built in to Java)
- rather than the voluminous XML rules, although some extensions
- have been made to match XML rules more closely.</li>
-
- <li> Line ends are now normalized to newlines in all known
- cases. </li>
-
- </ul></li>
-
- <li> Certain validity errors were previously treated as well
- formedness violations. <ul>
-
- <li> Repeated declarations of an element type are no
- longer fatal errors. </li>
-
- <li> Undeclared parameter entity references are no longer
- fatal errors. </li>
-
- </ul></li>
-
- <li> Attribute handling is improved: <ul>
-
- <li> Whitespace must exist between attributes. </li>
-
- <li> Only one value for a given attribute is permitted. </li>
-
- <li> ATTLIST declarations don't need to declare attributes. </li>
-
- <li> Attribute values are normalized when required. </li>
-
- <li> Tabs in attribute values are normalized to spaces. </li>
-
- <li> Attribute values containing a literal "&lt;" are rejected. </li>
-
- </ul></li>
-
- <li> More correct entity handling: <ul>
-
- <li> Whitespace must precede NDATA when declaring unparsed
- entities.</li>
-
- <li> Parameter entity declarations may not have NDATA annotations. </li>
-
- <li> The XML specification has a bug in that it doesn't specify
- that certain contexts exist within which parameter entity
- expansion must not be performed. Lacking an offical erratum,
- this parser now disables such expansion inside comments,
- processing instructions, ignored sections, public identifiers,
- and parts of entity declarations. </li>
-
- <li> Entity expansions that include quote characters no longer
- confuse parsing of strings using such expansions. </li>
-
- <li> Whitespace in the values of internal entities is not mapped
- to space characters. </li>
-
- <li> General Entity references in attribute defaults within the
- DTD now cause fatal errors when the entity is not defined at the
- time it is referenced. </li>
-
- <li> Malformed general entity references in entity declarations are
- now detected. </li>
-
- </ul></li>
-
- <li> Neither conditional sections
- nor parameter entity references within markup declarations
- are permitted in the internal subset. </li>
-
- <li> Processing instructions whose target names are "XML"
- (ignoring case) are now rejected. </li>
-
- <li> Comments may not include "--".</li>
-
- <li> Most "]]&gt;" sequences in text are rejected. </li>
-
- <li> Correct syntax for standalone declarations is enforced. </li>
-
- <li> Setting a locale for diagnostics only produces an exception
- if the language of that locale isn't English. </li>
-
- <li> Some more encoding names are recognized. These include the
- Unicode 3.0 variants of UTF-16 (UTF-16BE, UTF-16LE) as well as
- US-ASCII and a few commonly seen synonyms. </li>
-
- <li> Text (from character content, PIs, or comments) large enough
- not to fit into internal buffers is now handled correctly even in
- some cases which were originally handled incorrectly.</li>
-
- <li> Content is now reported for element types for which attributes
- have been declared, but no content model is known. (Such documents
- are invalid, but may still be well formed.) </li>
-
-</ol>
-
-<p> Other bugs may also have been fixed. </p>
-
-<p> For better overall validation support, some of the validity
-constraints that can't be verified using the SAX2 event stream
-are now reported directly by &AElig;lfred2. </p>
-
-</body></html>
-
diff --git a/external/jaxp/source/gnu/xml/dom/Consumer.java b/external/jaxp/source/gnu/xml/dom/Consumer.java
deleted file mode 100644
index b4e85a94f..000000000
--- a/external/jaxp/source/gnu/xml/dom/Consumer.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-
-package gnu.xml.dom;
-
-import java.io.IOException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.Attributes2;
-
-import gnu.xml.pipeline.DomConsumer;
-import gnu.xml.pipeline.EventConsumer;
-
-
-/**
- * Event consumer which constructs DOM documents using the implementation
- * in this package, using SAX2 events. This packages various backdoors
- * into this DOM implementation, as needed to address DOM requirements
- * that can't be met by strictly conforming implementations of DOM.
- *
- * <p> These requirements all relate to {@link DocumentType} nodes and
- * features of that node type. These features are normally not used,
- * because that interface only exposes a subset of the information found
- * in DTDs. More, that subset does not include the most important typing
- * information. For example, it excludes element content models and
- * attribute typing. It does expose some entity management issues,
- * although entity management doesn't relate to document typing.
- *
- * <p> Note that SAX2 does not expose the literal text of the DTD's
- * internal subset, so it will not be present in DOM trees constructed
- * using this API. (Though with a good SAX2 implementation, it could
- * be partially recreated...)
- *
- * @author David Brownell
- */
-public class Consumer extends DomConsumer
-{
- /**
- * Constructs an unconfigured event consumer,
- * as a terminus in a SAX event pipeline.
- */
- // used by PipelineFactory [terminus]
- public Consumer ()
- throws SAXException
- {
- super (DomDocument.class);
- setHandler (new Backdoor (this));
- }
-
- /**
- * Constructs an unconfigured event consumer,
- * as a stage in a SAX event pipeline.
- */
- // used by PipelineFactory [filter]
- public Consumer (EventConsumer next)
- throws SAXException
- {
- super (DomDocument.class, next);
- setHandler (new Backdoor (this));
- }
-
- /**
- * Implements the backdoors needed by DOM.
- * All methods in this class use implementation-specific APIs that are
- * implied by the DOM specification (needed to implement testable
- * behavior) but which are excluded from the DOM specification.
- */
- public static class Backdoor extends DomConsumer.Handler
- {
- /**
- * Constructor.
- * @param consumer must have been initialized to use the
- * {@link DomDocument} class (or a subclass) for
- * constructing DOM trees
- */
- protected Backdoor (DomConsumer consumer)
- throws SAXException
- { super (consumer); }
-
- // helper routine
- private DomDoctype getDoctype ()
- throws SAXException
- {
- DomDocument doc = (DomDocument) getDocument ();
- DocumentType dt = doc.getDoctype ();
-
- if (dt == null)
- throw new SAXException ("doctype missing!");
- return (DomDoctype) dt;
- }
-
- // SAX2 "lexical" event
- public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {
- DomDocument doc = (DomDocument) getDocument ();
-
- super.startDTD (name, publicId, systemId);
- // DOM L2 doctype creation model is bizarre
- doc.appendChild (new DomDoctype (doc, name, publicId, systemId));
- }
-
- // SAX2 "lexical" event
- public void endDTD ()
- throws SAXException
- {
- super.endDTD ();
- // DOM L2 has no way to make things readonly
- getDoctype ().makeReadonly ();
- }
-
- // SAX1 DTD event
- public void notationDecl (
- String name,
- String publicId, String systemId
- ) throws SAXException
- {
- // DOM L2 can't create/save notation nodes
- getDoctype ().declareNotation (name, publicId, systemId);
- }
-
- // SAX1 DTD event
- public void unparsedEntityDecl (
- String name,
- String publicId, String systemId,
- String notationName
- ) throws SAXException
- {
- // DOM L2 can't create/save entity nodes
- getDoctype ().declareEntity (name, publicId, systemId,
- notationName);
- }
-
- // SAX2 declaration event
- public void internalEntityDecl (String name, String value)
- throws SAXException
- {
- // DOM L2 can't create/save entity nodes
- // NOTE: this doesn't save the value as a child of this
- // node, though it could realistically do so.
- getDoctype ().declareEntity (name, null, null, null);
- }
-
- // SAX2 declaration event
- public void externalEntityDecl (
- String name,
- String publicId,
- String systemId
- ) throws SAXException
- {
- // DOM L2 can't create/save entity nodes
- // NOTE: DOM allows for these to have children, if
- // they don't have unbound namespace references.
- getDoctype ().declareEntity (name, publicId, systemId, null);
- }
-
- // SAX2 element
- public void startElement (
- String uri,
- String localName,
- String qName,
- Attributes atts
- ) throws SAXException
- {
- Node top;
-
- super.startElement (uri, localName, qName, atts);
-
- // might there be more work?
- top = getTop ();
- if (!top.hasAttributes () || !(atts instanceof Attributes2))
- return;
-
- // remember any attributes that got defaulted
- DomNamedNodeMap map = (DomNamedNodeMap) top.getAttributes ();
- Attributes2 attrs = (Attributes2) atts;
- int length = atts.getLength ();
-
- map.compact ();
- for (int i = 0; i < length; i++) {
- if (attrs.isSpecified (i))
- continue;
-
- // value was defaulted.
- String temp = attrs.getQName (i);
- DomAttr attr;
-
- if ("".equals (temp))
- attr = (DomAttr) map.getNamedItemNS (attrs.getURI (i),
- atts.getLocalName (i));
- else
- attr = (DomAttr) map.getNamedItem (temp);
-
- // DOM L2 can't write this flag, only read it
- attr.setSpecified (false);
- }
- }
-
- public void endElement (
- String uri,
- String localName,
- String qName
- ) throws SAXException
- {
- DomNode top = (DomNode) getTop ();
- top.compact ();
- super.endElement (uri, localName, qName);
- }
-
- protected Text createText (
- boolean isCDATA,
- char buf [],
- int off,
- int len
- ) {
- DomDocument doc = (DomDocument) getDocument ();
-
- if (isCDATA)
- return doc.createCDATASection (buf, off, len);
- else
- return doc.createTextNode (buf, off, len);
- }
-
-
- public void attributeDecl (
- String ename,
- String aname,
- String type,
- String mode,
- String value
- ) throws SAXException
- {
- if (value == null && !"ID".equals (type))
- return;
-
- DomDoctype.ElementInfo info;
-
- info = getDoctype ().getElementInfo (ename);
- if (value != null)
- info.setAttrDefault (aname, value);
- if ("ID".equals (type))
- info.setIdAttr (aname);
- }
-
- // force duplicate name checking off while we're
- // using parser output (don't duplicate the work)
- public void startDocument () throws SAXException
- {
- DomDocument doc;
-
- super.startDocument ();
- ((DomDocument) getDocument ()).setCheckingCharacters (false);
- }
-
- public void endDocument ()
- throws SAXException
- {
- DomDocument doc = (DomDocument) getDocument ();
- doc.setCheckingCharacters (true);
- doc.compact ();
- super.endDocument ();
- }
-
- // these three methods collaborate to populate entity
- // refs, marking contents readonly on end-of-entity
-
- public boolean canPopulateEntityRefs ()
- { return true; }
-
- public void startEntity (String name)
- throws SAXException
- {
- if (name.charAt (0) == '%' || "[dtd]".equals (name))
- return;
- super.startEntity (name);
-
- DomNode top = (DomNode) getTop ();
-
- if (top.getNodeType () == Node.ENTITY_REFERENCE_NODE)
- top.readonly = false;
- }
-
- public void endEntity (String name)
- throws SAXException
- {
- if (name.charAt (0) == '%' || "[dtd]".equals (name))
- return;
- DomNode top = (DomNode) getTop ();
-
- if (top.getNodeType () == Node.ENTITY_REFERENCE_NODE) {
- top.compact ();
- top.makeReadonly ();
- }
- super.endEntity (name);
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomAttr.java b/external/jaxp/source/gnu/xml/dom/DomAttr.java
deleted file mode 100644
index 83361f982..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomAttr.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-import org.w3c.dom.events.MutationEvent;
-
-
-/**
- * <p> "Attr" implementation. In DOM, attributes cost quite a lot of
- * memory because their values are complex structures rather than just
- * simple strings. To reduce your costs, avoid having more than one
- * child of an attribute; stick to a single Text node child, and ignore
- * even that by using the attribute's "nodeValue" property.</p>
- *
- * <p> As a bit of general advice, only look at attribute modification
- * events through the DOMAttrModified event (sent to the associated
- * element). Implementations are not guaranteed to report other events
- * in the same order, so you're very likely to write nonportable code if
- * you monitor events at the "children of Attr" level.</p>
- *
- * <p> At this writing, not all attribute modifications will cause the
- * DOMAttrModified event to be triggered ... only the ones using the string
- * methods (setNodeValue, setValue, and Element.setAttribute) to modify
- * those values. That is, if you manipulate those children directly,
- * elements won't get notified that attribute values have changed.
- * The natural fix for that will report other modifications, but won't
- * be able to expose "previous" attribute value; it'll need to be cached
- * or something (at which point why bother using child nodes). </p>
- *
- * <p><em>You are strongly advised not to use "children" of any attribute
- * nodes you work with.</em> </p>
- *
- * @author David Brownell
- */
-public class DomAttr extends DomNsNode implements Attr
-{
- private boolean specified;
-
- // NOTE: it could be possible to rework this code a bit so that
- // this extra field isn't needed; "parent" might do double duty,
- // with appropriate safeguards. Using less space is healthy!
- private DomElement element;
-
-
- /**
- * Constructs an Attr node associated with the specified document.
- * The "specified" flag is initialized to true, since this DOM has
- * no current "back door" mechanisms to manage default values so
- * that every value must effectively be "specified".
- *
- * <p>This constructor should only be invoked by a Document as part of
- * its createAttribute functionality, or through a subclass which is
- * similarly used in a "Sub-DOM" style layer.
- *
- * @param owner The document with which this node is associated
- * @param namespaceURI Combined with the local part of the name,
- * this is used to uniquely identify a type of attribute
- * @param name Name of this attribute, which may include a prefix
- */
- protected DomAttr (Document owner, String namespaceURI, String name)
- {
- super (owner, namespaceURI, name);
- specified = true;
-
- // XXX register self to get insertion/removal events
- // and character data change events and when they happen,
- // report self-mutation
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the attribute name (same as getNodeName)
- */
- final public String getName ()
- {
- return getNodeName ();
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant ATTRIBUTE_NODE.
- */
- final public short getNodeType ()
- { return ATTRIBUTE_NODE; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns true if a parser reported this was in the source text.
- */
- final public boolean getSpecified ()
- {
- return specified;
- }
-
-
- /**
- * Records whether this attribute was in the source text.
- */
- final public void setSpecified (boolean value)
- {
- specified = value;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the attribute value, with character and entity
- * references substituted.
- * <em>NOTE: entity refs as children aren't currently handled.</em>
- */
- public String getNodeValue ()
- {
- int length = getLength ();
- String retval = null;
-
- for (int i = 0; i < length; i++) {
- Node n = item (i);
-
- if (n.getNodeType () == TEXT_NODE) {
- if (retval == null)
- retval = n.getNodeValue ();
- else
- retval += n.getNodeValue ();
- continue;
- }
-
- // XXX entity ref child of attribute
- // contents exclude comments, PIs, elements
- throw new DomEx (DomEx.NOT_SUPPORTED_ERR);
- }
- if (retval == null)
- retval = "";
- return retval;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Assigns the value of the attribute; it will have one child,
- * which is a text node with the specified value (same as
- * setNodeValue).
- */
- final public void setValue (String value)
- {
- setNodeValue (value);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the value of the attribute as a non-null string; same
- * as getNodeValue.
- * <em>NOTE: entity refs as children aren't currently handled.</em>
- */
- final public String getValue ()
- {
- return getNodeValue ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Assigns the attribute value; using this API, no entity or
- * character references will exist.
- * Causes a DOMAttrModified mutation event to be sent.
- */
- public void setNodeValue (String value)
- {
- int len = getLength ();
- String oldValue;
-
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
-
- oldValue = getValue ();
- for (int i = 0; i < len; i++)
- removeChild (getLastChild ());
- appendChild (getOwnerDocument ().createTextNode (value));
- specified = true;
-
- mutating (oldValue, value, MutationEvent.MODIFICATION);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the element with which this attribute is associated.
- */
- final public Element getOwnerElement ()
- {
- return element;
- }
-
-
- /**
- * Records the element with which this attribute is associated.
- */
- final public void setOwnerElement (Element e)
- {
- if (element != null)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR);
- if (!(e instanceof DomElement))
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR);
- element = (DomElement) e;
- }
-
-
- /**
- * Shallow clone of the attribute, breaking all ties with any
- * elements.
- */
- public Object clone ()
- {
- DomAttr retval = (DomAttr) super.clone ();
-
- retval.element = null;
- retval.specified = false;
- return retval;
- }
-
- private void mutating (String oldValue, String newValue, short why)
- {
- if (!reportMutations || element == null)
- return;
-
- // EVENT: DOMAttrModified, target = element,
- // prev/new values provided, also attr name
- MutationEvent event;
-
- event = (MutationEvent) createEvent ("MutationEvents");
- event.initMutationEvent ("DOMAttrModified",
- true /* bubbles */, false /* nocancel */,
- null, oldValue, newValue, getNodeName (), why);
- element.dispatchEvent (event);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomCDATA.java b/external/jaxp/source/gnu/xml/dom/DomCDATA.java
deleted file mode 100644
index 078f49412..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomCDATA.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "CDATASection" implementation.
- * This is a non-core DOM class, supporting the "XML" feature.
- * CDATA sections are just ways to represent text using different
- * delimeters. </p>
- *
- * <p> <em>You are strongly advised not to use CDATASection nodes.</em>
- * The advantage of having slightly prettier ways to print text that may
- * have lots of embedded XML delimiters, such as "&amp;" and "&lt;",
- * can be dwarfed by the cost of dealing with multiple kinds of text
- * nodes in all your algorithms. </p>
- *
- * @author David Brownell
- */
-public class DomCDATA extends DomText implements CDATASection
-{
- /**
- * Constructs a CDATA section node associated with the specified
- * document and holding the specified data.
- *
- * <p>This constructor should only be invoked by a Document as part of
- * its createCDATASection functionality, or through a subclass which is
- * similarly used in a "Sub-DOM" style layer.
- *
- */
- protected DomCDATA (Document owner, String value)
- {
- super (owner, value);
- }
-
- protected DomCDATA (Document owner, char buf [], int off, int len)
- {
- super (owner, buf, off, len);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the string "#cdata-section".
- */
- final public String getNodeName ()
- {
- return "#cdata-section";
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the constant CDATA_SECTION_NODE.
- */
- final public short getNodeType ()
- { return CDATA_SECTION_NODE; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomCharacterData.java b/external/jaxp/source/gnu/xml/dom/DomCharacterData.java
deleted file mode 100644
index 08c691ec1..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomCharacterData.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-import org.w3c.dom.events.MutationEvent;
-
-
-/**
- * <p> Abstract "CharacterData" implementation. This
- * facilitates reusing code in classes implementing subtypes of that DOM
- * interface (Text, Comment, CDATASection). </p>
- *
- * @author David Brownell
- */
-public abstract class DomCharacterData extends DomNode
- implements CharacterData
-{
- private char raw [];
-
- // package private
- DomCharacterData (Document doc, String value)
- {
- super (doc);
- if (value != null)
- raw = value.toCharArray ();
- else
- raw = new char [0];
- }
-
- // package private
- DomCharacterData (Document doc, char buf [], int offset, int length)
- {
- super (doc);
- if (buf == null)
- raw = new char [0];
- else {
- raw = new char [length];
- System.arraycopy (buf, offset, raw, 0, length);
- }
- }
-
- /**
- * <b>DOM L1</b>
- * Appends the specified data to the value of this node.
- * Causes a DOMCharacterDataModified mutation event to be reported.
- */
- public void appendData (String arg)
- {
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
-
- char tmp [] = arg.toCharArray ();
- char buf [] = new char [raw.length + tmp.length];
-
- System.arraycopy (raw, 0, buf, 0, raw.length);
- System.arraycopy (tmp, 0, buf, raw.length, tmp.length);
- mutating (new String (buf));
- raw = buf;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Modifies the value of this node.
- * Causes a DOMCharacterDataModified mutation event to be reported.
- */
- public void deleteData (int offset, int count)
- {
- char buf [];
-
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- if (offset < 0 || count < 0 || offset > raw.length)
- throw new DomEx (DomEx.INDEX_SIZE_ERR);
- if ((offset + count) > raw.length)
- count = raw.length - offset;
- if (count == 0)
- return;
- buf = new char [raw.length - count];
- System.arraycopy (raw, 0, buf, 0, offset);
- System.arraycopy (raw, offset + count, buf, offset,
- raw.length - (offset + count));
- mutating (new String (buf));
- raw = buf;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the value of this node.
- */
- public String getNodeValue ()
- {
- return new String (raw);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the value of this node; same as getNodeValue.
- */
- final public String getData ()
- {
- return getNodeValue ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the length of the data.
- */
- public int getLength ()
- {
- return raw.length;
- }
-
-
- static final class EmptyNodeList implements NodeList
- {
- public int getLength () { return 0; }
- public Node item (int i) { return null; }
- }
-
- static final EmptyNodeList theEmptyNodeList = new EmptyNodeList ();
-
-
- /**
- * <b>DOM L1</b>
- * Returns an empty list of children.
- */
- final public NodeList getChildNodes ()
- {
- return theEmptyNodeList;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Modifies the value of this node.
- */
- public void insertData (int offset, String arg)
- {
- char tmp [] = arg.toCharArray ();
- char buf [] = new char [raw.length + tmp.length];
-
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- try {
- System.arraycopy (raw, 0, buf, 0, offset);
- System.arraycopy (tmp, 0, buf, offset,
- tmp.length);
- System.arraycopy (raw, offset, buf, offset + tmp.length,
- raw.length - offset);
- mutating (new String (buf));
- raw = buf;
- } catch (IndexOutOfBoundsException x) {
- throw new DomEx (DomEx.INDEX_SIZE_ERR);
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Modifies the value of this node. Causes DOMCharacterDataModified
- * mutation events to be reported (at least one).
- */
- public void replaceData (int offset, int count, String arg)
- {
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
-
- // this could be rewritten to be faster,
- // and to report only one mutation event
- deleteData (offset, count);
- insertData (offset, arg);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Assigns the value of this node.
- * Causes a DOMCharacterDataModified mutation event to be reported.
- */
- public void setNodeValue (String value)
- {
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- if (value == null)
- value = "";
- mutating (value);
- raw = value.toCharArray ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Assigns the value of this node; same as setNodeValue.
- */
- final public void setData (String data)
- {
- setNodeValue (data);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the specified substring.
- */
- public String substringData (int offset, int count)
- {
- try {
- return new String (raw, offset, count);
- } catch (IndexOutOfBoundsException e) {
- if (offset >= 0 && count >= 0) {
- int len = raw.length;
- if (offset < len && (offset + count) > len)
- return new String (raw, offset, len - offset);
- }
- throw new DomEx (DomEx.INDEX_SIZE_ERR);
- }
- }
-
- private void mutating (String newValue)
- {
- if (!reportMutations)
- return;
-
- // EVENT: DOMCharacterDataModified, target = this,
- // prev/new values provided
- MutationEvent event;
-
- event = (MutationEvent) createEvent ("MutationEvents");
- event.initMutationEvent ("DOMCharacterDataModified",
- true /* bubbles */, false /* nocancel */,
- null, new String (raw), newValue, null, (short) 0);
- dispatchEvent (event);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomComment.java b/external/jaxp/source/gnu/xml/dom/DomComment.java
deleted file mode 100644
index 0596cc63b..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomComment.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "Comment" implementation.
- * Comments hold data intended for direct consumption by people;
- * programs should only use ProcessingInstruction nodes. Note that
- * since SAX makes comment reporting optional, XML systems that
- * rely on comments (such as by using this class) will often lose
- * those comments at some point in the processing pipeline. </p>
- *
- * @author David Brownell
- */
-public class DomComment extends DomCharacterData implements Comment
-{
- /**
- * Constructs a comment node associated with the specified
- * document and holding the specified data.
- *
- * <p>This constructor should only be invoked by a Document as part of
- * its createComment functionality, or through a subclass which is
- * similarly used in a "Sub-DOM" style layer.
- */
- protected DomComment (Document owner, String value)
- {
- super (owner, value);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the string "#comment".
- */
- final public String getNodeName ()
- {
- return "#comment";
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant COMMENT_NODE.
- */
- final public short getNodeType ()
- { return COMMENT_NODE; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomDoctype.java b/external/jaxp/source/gnu/xml/dom/DomDoctype.java
deleted file mode 100644
index de8a476df..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomDoctype.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-import java.util.Hashtable;
-
-
-/**
- * <p> "DocumentType" implementation (with no extensions for supporting
- * any document typing information). This is a non-core DOM class,
- * supporting the "XML" feature. </p>
- *
- * <p> <em>Few XML applications will actually care about this partial
- * DTD support</em>, since it doesn't expose any (!) of the data typing
- * facilities which can motivate applications to use DTDs. It does not
- * expose element content models, or information about attribute typing
- * rules. Plus the information it exposes isn't very useful; as one example,
- * DOM exposes information about unparsed ENTITY objects, which is only used
- * with certain element attributes, but does not expose the information about
- * those attributes which is needed to apply that data! </p>
- *
- * <p> Also, note that there are no nonportable ways to associate even the
- * notation and entity information exposed by DOM with a DocumentType. While
- * there is a DOM L2 method to construct a DocumentType, it only gives access
- * to the textual content of the &lt;!DOCTYPE ...&gt; declaration. </p>
- *
- * <p> In short, <em>you are strongly advised not to rely on this incomplete
- * DTD functionality</em> in your application code.</p>
- *
- * @see DomEntity
- * @see DomEntityReference
- * @see DomNotation
- *
- * @author David Brownell
- */
-public class DomDoctype extends DomExtern implements DocumentType
-{
- private DomNamedNodeMap notations;
- private DomNamedNodeMap entities;
- private DOMImplementation implementation;
- private String subset;
-
- private Hashtable elements = new Hashtable ();
- private boolean ids;
-
-
- /**
- * Constructs a DocumentType node associated with the specified
- * implementation, with the specified name.
- *
- * <p>This constructor should only be invoked by a DOMImplementation as
- * part of its createDocumentType functionality, or through a subclass
- * which is similarly used in a "Sub-DOM" style layer.
- *
- * <p> Note that at this time there is no standard SAX API granting
- * access to the internal subset text, so that relying on that value
- * is not currently portable.
- *
- * @param impl The implementation with which this object is associated
- * @param name Name of this root element
- * @param publicId If non-null, provides the external subset's
- * PUBLIC identifier
- * @param systemId If non-null, provides the external subset's
- * SYSTEM identifier
- * @param internalSubset Provides the literal value (unparsed, no
- * entities expanded) of the DTD's internal subset.
- */
- protected DomDoctype (
- DOMImplementation impl,
- String name,
- String publicId,
- String systemId,
- String internalSubset
- )
- {
- super (null, name, publicId, systemId);
- implementation = impl;
- subset = internalSubset;
- }
-
- // package private
- // for JAXP-style builder backdoors
- DomDoctype (
- DomDocument doc,
- String name,
- String publicId,
- String systemId
- )
- {
- super (doc, name, publicId, systemId);
- implementation = doc.getImplementation ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the root element's name (just like getNodeName).
- */
- final public String getName () { return getNodeName (); }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant DOCUMENT_TYPE_NODE.
- */
- final public short getNodeType ()
- { return DOCUMENT_TYPE_NODE; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns information about any general entities declared
- * in the DTD.
- *
- * <p><em>Note: DOM L1 doesn't throw a DOMException here, but
- * then it doesn't have the strange construction rules of L2.</em>
- *
- * @exception DOMException HIERARCHY_REQUEST_ERR if the DocumentType
- * is not associated with a document.
- */
- public NamedNodeMap getEntities ()
- {
- if (entities == null) {
- if (getOwnerDocument () == null)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR);
- entities = new DomNamedNodeMap (getOwnerDocument ());
- }
- return entities;
- }
-
-
- /**
- * Records the declaration of a general entity in this DocumentType.
- *
- * @param name Name of the entity
- * @param publicId If non-null, provides the entity's PUBLIC identifier
- * @param systemId Provides the entity's SYSTEM identifier
- * @param notation If non-null, provides the entity's notation
- * (indicating an unparsed entity)
- * @return The Entity that was declared, or null if the entity wasn't
- * recorded (because it's a parameter entity or because an entity with
- * this name was already declared).
- *
- * @exception DOMException NO_MODIFICATION_ALLOWED_ERR if the
- * DocumentType is no longer writable.
- * @exception DOMException HIERARCHY_REQUEST_ERR if the DocumentType
- * is not associated with a document.
- */
- public Entity declareEntity (
- String name,
- String publicId,
- String systemId,
- String notation
- )
- {
- DomEntity entity;
-
- if (name.charAt (0) == '%' || "[dtd]".equals (name))
- return null;
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- getEntities ();
-
- DomDocument.verifyXmlName (name);
- if (entities.getNamedItem (name) != null)
- return null;
-
- entity = new DomEntity (getOwnerDocument (),
- name, publicId, systemId, notation);
- entities.setNamedItem (entity);
- return entity;
- }
-
- /**
- * <b>DOM L1</b>
- * Returns information about any notations declared in the DTD.
- *
- * <p><em>Note: DOM L1 doesn't throw a DOMException here, but
- * then it doesn't have the strange construction rules of L2.</em>
- *
- * @exception DOMException HIERARCHY_REQUEST_ERR if the DocumentType
- * is not associated with a document.
- */
- public NamedNodeMap getNotations ()
- {
- if (notations == null) {
- if (getOwnerDocument () == null)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR);
- notations = new DomNamedNodeMap (getOwnerDocument ());
- }
- return notations;
- }
-
-
- /**
- * Records the declaration of a notation in this DocumentType.
- *
- * @param name Name of the notation
- * @param publicId If non-null, provides the notation's PUBLIC identifier
- * @param systemId If non-null, provides the notation's SYSTEM identifier
- * @return The notation that was declared.
- *
- * @exception DOMException NO_MODIFICATION_ALLOWED_ERR if the
- * DocumentType is no longer writable.
- * @exception DOMException HIERARCHY_REQUEST_ERR if the DocumentType
- * is not associated with a document.
- */
- public Notation declareNotation (
- String name,
- String publicId,
- String systemId
- )
- {
- DomNotation notation;
-
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- getNotations ();
-
- DomDocument.verifyXmlName (name);
-
- notation = new DomNotation (getOwnerDocument (),
- name, publicId, systemId);
- notations.setNamedItem (notation);
- return notation;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the internal subset of the document, as a string of unparsed
- * XML declarations (and comments, PIs, whitespace); or returns null if
- * there is no such subset. There is no vendor-independent expectation
- * that this attribute be set, or that declarations found in it be
- * reflected in the <em>entities</em> or <em>notations</em> attributes
- * of this Document "Type" object.
- *
- * <p> Some application-specific XML profiles require that documents
- * only use specific PUBLIC identifiers, without an internal subset
- * to modify the interperetation of the declarations associated with
- * that PUBLIC identifier through some standard.
- */
- public String getInternalSubset ()
- {
- return subset;
- }
-
-
- /**
- * Sets the internal "readonly" flag so the node and its associated
- * data (only lists of entities and notations, no type information
- * at the moment) can't be changed.
- */
- public void makeReadonly ()
- {
- super.makeReadonly ();
- if (entities != null)
- entities.makeReadonly ();
- if (notations != null)
- notations.makeReadonly ();
- }
-
-
- /**
- * <b>DOM L2</b>
- * Consults the DOM implementation to determine if the requested
- * feature is supported.
- */
- final public boolean supports (String feature, String version)
- {
- return implementation.hasFeature (feature, version);
- }
-
-
- /**
- * Returns the implementation associated with this document type.
- */
- final public DOMImplementation getImplementation ()
- {
- return implementation;
- }
-
-
- // Yeech. Package-private hooks, I don't like this.
- // For all that it's better than making this stuff a
- // public API...
-
-
- // package private
- ElementInfo getElementInfo (String element)
- {
- ElementInfo info = (ElementInfo) elements.get (element);
-
- if (info != null)
- return info;
- info = new ElementInfo (this);
- elements.put (element, info);
- return info;
- }
-
- void setHasIds () { ids = true; }
- boolean hasIds () { return ids; }
-
- // package private
- static class ElementInfo extends Hashtable
- {
- private String idAttrName;
- private DomDoctype doctype;
-
- // is-a vs has-a ... just to minimize number of objects.
- // keys in table are attribute names, values are defaults.
-
- ElementInfo (DomDoctype dt) { super (5, 5); doctype = dt; }
-
- void setAttrDefault (String attName, String value)
- {
- if (getAttrDefault (attName) == null)
- put (attName, value);
- }
- String getAttrDefault (String attName)
- { return (String) get (attName); }
-
- void setIdAttr (String attName)
- {
- if (idAttrName == null)
- idAttrName = attName;
- doctype.setHasIds ();
- }
- String getIdAttr ()
- { return idAttrName; }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomDocument.java b/external/jaxp/source/gnu/xml/dom/DomDocument.java
deleted file mode 100644
index 5b7a1eeed..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomDocument.java
+++ /dev/null
@@ -1,789 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import java.util.Enumeration;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.*;
-
-
-/**
- * <p> "Document" and "DocumentTraversal" implementation.
- *
- * <p> Note that when this checks names for legality, it uses an
- * approximation of the XML rules, not the real ones. Specifically,
- * it uses Unicode rules, with sufficient tweaks to pass a majority
- * of basic XML conformance tests. (The huge XML character tables are
- * hairy to implement.)
- *
- * @author David Brownell
- */
-public class DomDocument extends DomNode
- implements Document, DocumentTraversal
-{
- private final DOMImplementation implementation;
- private boolean checkingCharacters = true;
-
- // package private
- final static String xmlNamespace =
- "http://www.w3.org/XML/1998/namespace";
- final static String xmlnsURI =
- "http://www.w3.org/2000/xmlns/";
-
-
- /**
- * Constructs a Document node, associating it with an instance
- * of the DomImpl class.
- *
- * <p> Note that this constructor disables character checking.
- * It is normally used when connecting a DOM to an XML parser,
- * and duplicating such checks is undesirable. When used for
- * purposes other than connecting to a parser, you should
- * re-enable that checking.
- *
- * @see #setCheckingCharacters
- */
- public DomDocument ()
- {
- super (null);
- implementation = new DomImpl ();
- }
-
-
- /**
- * Constructs a Document node, associating it with the specified
- * implementation. This should only be used in conjunction with
- * a specialized implementation; it will normally be called by
- * that implementation.
- *
- * @see DomImpl
- * @see #setCheckingCharacters
- */
- protected DomDocument (DOMImplementation impl)
- {
- super (null);
- implementation = impl;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the constant "#document".
- */
- final public String getNodeName ()
- {
- return "#document";
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant DOCUMENT_NODE.
- */
- final public short getNodeType ()
- { return DOCUMENT_NODE; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the document's root element, or null.
- */
- final public Element getDocumentElement ()
- {
- for (int i = 0; i < getLength (); i++) {
- Node n = item (i);
- if (n.getNodeType () == ELEMENT_NODE)
- return (Element) n;
- }
- return null;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the document's DocumentType, or null.
- */
- final public DocumentType getDoctype ()
- {
- for (int i = 0; i < getLength (); i++) {
- Node n = item (i);
- if (n.getNodeType () == DOCUMENT_TYPE_NODE)
- return (DocumentType) n;
- }
- return null;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the document's DOMImplementation.
- */
- final public DOMImplementation getImplementation ()
- {
- return implementation;
- }
-
-
- /**
- * <b>DOM L1 (relocated in DOM L2)</b>
- * Returns the element with the specified "ID" attribute, or null.
- *
- * <p>Returns null unless {@link Consumer} was used to populate internal
- * DTD declaration information, using package-private APIs. If that
- * internal DTD information is available, the document may be searched for
- * the element with that ID.
- */
- public Element getElementById (String id)
- {
- DomDoctype doctype = (DomDoctype) getDoctype ();
-
- if (doctype == null || !doctype.hasIds ()
- || id == null || id.length () == 0)
- return null;
-
- // yes, this is linear in size of document.
- // it'd be easy enough to maintain a hashtable.
- Node current = getDocumentElement ();
- Node temp;
-
- if (current == null)
- return null;
- while (current != this) {
- // done?
- if (current.getNodeType () == ELEMENT_NODE) {
- Element element = (Element) current;
- DomDoctype.ElementInfo info;
-
- info = doctype.getElementInfo (current.getNodeName ());
- if (id.equals (element.getAttribute (info.getIdAttr ())))
- return element;
- }
-
- // descend?
- if (current.hasChildNodes ()) {
- current = current.getFirstChild ();
- continue;
- }
-
- // lateral?
- temp = current.getNextSibling ();
- if (temp != null) {
- current = temp;
- continue;
- }
-
- // back up ...
- do {
- temp = current.getParentNode ();
- if (temp == null)
- return null;
- current = temp;
- temp = current.getNextSibling ();
- } while (temp == null);
- current = temp;
- }
- return null;
- }
-
-
- private void checkNewChild (Node newChild)
- {
- if (newChild.getNodeType () == ELEMENT_NODE
- && getDocumentElement () != null)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR, null, newChild, 0);
- if (newChild.getNodeType () == DOCUMENT_TYPE_NODE
- && getDoctype () != null)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR, null, newChild, 0);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Appends the specified node to this node's list of children,
- * enforcing the constraints that there be only one root element
- * and one document type child.
- */
- public Node appendChild (Node newChild)
- {
- checkNewChild (newChild);
- return super.appendChild (newChild);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Inserts the specified node in this node's list of children,
- * enforcing the constraints that there be only one root element
- * and one document type child.
- */
- public Node insertBefore (Node newChild, Node refChild)
- {
- checkNewChild (newChild);
- return super.insertBefore (newChild, refChild);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Replaces the specified node in this node's list of children,
- * enforcing the constraints that there be only one root element
- * and one document type child.
- */
- public Node replaceChild (Node newChild, Node refChild)
- {
- if (!(newChild.getNodeType () == ELEMENT_NODE
- && refChild.getNodeType () != ELEMENT_NODE)
- && !(newChild.getNodeType () == DOCUMENT_TYPE_NODE
- && refChild.getNodeType () != ELEMENT_NODE))
- checkNewChild (newChild);
- return super.replaceChild (newChild, refChild);
- }
-
-
- // NOTE: DOM can't really tell when the name of an entity,
- // notation, or PI must follow the namespace rules (excluding
- // colons) instead of the XML rules (which allow them without
- // much restriction). That's an API issue. verifyXmlName
- // aims to enforce the XML rules, not the namespace rules.
-
- /**
- * Throws a DOM exception if the specified name is not a legal XML 1.0
- * name. Actually this uses a very similar set of rules, closer to
- * Unicode rules than to the rules encoded in the large table at the
- * end of the XML 1.0 specification.
- *
- * @exception DomException INVALID_CHARACTER_ERR if the name isn't
- * legal as an XML name.
- */
- static public void verifyXmlName (String name)
- {
- char c;
- int len = name.length ();
-
- if (len == 0)
- throw new DomEx (DomEx.NAMESPACE_ERR, name, null, 0);
-
- // NOTE: these aren't really the XML rules, but they're
- // a close approximation that's simple to implement.
- c = name.charAt (0);
- if (!Character.isUnicodeIdentifierStart (c)
- && c != ':' && c != '_')
- throw new DomEx (DomEx.INVALID_CHARACTER_ERR,
- name, null, c);
- for (int i = 1; i < len; i++) {
- c = name.charAt (i);
- if (!Character.isUnicodeIdentifierPart (c)
- && c != ':'&& c != '_' && c != '.' && c != '-'
- && !isExtender (c))
- throw new DomEx (DomEx.INVALID_CHARACTER_ERR,
- name, null, c);
- }
- }
-
- static private boolean isExtender (char c)
- {
- // [88] Extender ::= ...
- return c == 0x00b7 || c == 0x02d0 || c == 0x02d1 || c == 0x0387
- || c == 0x0640 || c == 0x0e46 || c == 0x0ec6 || c == 0x3005
- || (c >= 0x3031 && c <= 0x3035)
- || (c >= 0x309d && c <= 0x309e)
- || (c >= 0x30fc && c <= 0x30fe);
- }
-
- // package private
- static void verifyNamespaceName (String name)
- {
- int index = name.indexOf (':');
-
- if (index < 0) {
- verifyXmlName (name);
- return;
- }
- if (name.lastIndexOf (':') != index)
- throw new DomEx (DomEx.NAMESPACE_ERR, name, null, 0);
- verifyXmlName (name.substring (0, index));
- verifyXmlName (name.substring (index + 1));
- }
-
- // package private
- static void verifyXmlCharacters (String value)
- {
- int len = value.length ();
-
- for (int i = 0; i < len; i++) {
- char c = value.charAt (i);
-
- // assume surrogate pairing checks out OK, for simplicity
- if (c >= 0x0020 && c <= 0xFFFD)
- continue;
- if (c == '\n' || c == '\t' || c == '\r')
- continue;
-
- throw new DomEx (DomEx.INVALID_CHARACTER_ERR, value, null, c);
- }
- }
-
- // package private
- static void verifyXmlCharacters (char buf [], int off, int len)
- {
- for (int i = 0; i < len; i++) {
- char c = buf [off + i];
-
- // assume surrogate pairing checks out OK, for simplicity
- if (c >= 0x0020 && c <= 0xFFFD)
- continue;
- if (c == '\n' || c == '\t' || c == '\r')
- continue;
-
- throw new DomEx (DomEx.INVALID_CHARACTER_ERR,
- new String (buf, off, len), null, c);
- }
- }
-
-
- /**
- * Controls whether certain expensive checks, duplicating those that
- * conformant XML parsers must perform, are made.
- */
- final public void setCheckingCharacters (boolean value)
- {
- checkingCharacters = value;
- }
-
-
- /**
- * Returns true if certain expensive checks are performed.
- * Those checks are intended to reject illegal names, and characters
- * that are illegal as XML characters.
- */
- final public boolean isCheckingCharacters ()
- {
- return checkingCharacters;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created element with the specified name.
- */
- public Element createElement (String name)
- {
- Element element;
-
- if (checkingCharacters)
- verifyXmlName (name);
- if (name.startsWith ("xml:"))
- element = createElementNS (null, name);
- else
- element = new DomElement (this, null, name);
- defaultAttributes (element, name);
- return element;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns a newly created element with the specified name
- * and namespace information.
- */
- public Element createElementNS (String namespaceURI, String name)
- {
- if (checkingCharacters)
- verifyNamespaceName (name);
-
- if ("".equals (namespaceURI))
- namespaceURI = null;
- if (name.startsWith ("xml:")) {
- if (namespaceURI != null
- && !xmlNamespace.equals (namespaceURI))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xml namespace is always " + xmlNamespace, this, 0);
- namespaceURI = xmlNamespace;
- } else if (name.startsWith ("xmlns:"))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xmlns is reserved", this, 0);
- else if (namespaceURI == null && name.indexOf (':') != -1)
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "prefixed name needs a URI", this, 0);
-
- Element element = new DomElement (this, namespaceURI, name);
- defaultAttributes (element, name);
- return element;
- }
-
- private void defaultAttributes (Element element, String name)
- {
- DomDoctype doctype = (DomDoctype) getDoctype ();
- DomDoctype.ElementInfo info;
-
- if (doctype == null)
- return;
-
- // default any attributes that need it
- info = doctype.getElementInfo (name);
- for (Enumeration e = info.keys (); e.hasMoreElements (); /* NOP */) {
- String attr = (String) e.nextElement ();
- DomAttr node = (DomAttr) createAttribute (attr);
-
- node.setValue ((String) info.get (attr));
- node.setSpecified (false);
- element.setAttributeNode (node);
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created document fragment.
- */
- public DocumentFragment createDocumentFragment ()
- {
- return new DomFragment (this);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created text node with the specified value.
- */
- public Text createTextNode (String value)
- {
- if (checkingCharacters)
- verifyXmlCharacters (value);
- return new DomText (this, value);
- }
-
- /**
- * Returns a newly created text node with the specified value.
- */
- public Text createTextNode (char buf [], int off, int len)
- {
- if (checkingCharacters)
- verifyXmlCharacters (buf, off, len);
- return new DomText (this, buf, off, len);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created comment node with the specified value.
- */
- public Comment createComment (String value)
- {
- if (checkingCharacters)
- verifyXmlCharacters (value);
- return new DomComment (this, value);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created CDATA section node with the specified value.
- */
- public CDATASection createCDATASection (String value)
- {
- if (checkingCharacters)
- verifyXmlCharacters (value);
- return new DomCDATA (this, value);
- }
-
-
- /**
- * Returns a newly created CDATA section node with the specified value.
- */
- public CDATASection createCDATASection (char buf [], int off, int len)
- {
- if (checkingCharacters)
- verifyXmlCharacters (buf, off, len);
- return new DomCDATA (this, buf, off, len);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created processing instruction.
- */
- public ProcessingInstruction createProcessingInstruction (
- String target,
- String data
- )
- {
- if (checkingCharacters) {
- verifyXmlName (target);
- verifyXmlCharacters (data);
- if ("xml".equalsIgnoreCase (target))
- throw new DomEx (DomEx.SYNTAX_ERR,
- "illegal PI target name", this, 0);
- }
- return new DomPI (this, target, data);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created attribute with the specified name.
- */
- public Attr createAttribute (String name)
- {
- if (checkingCharacters)
- verifyXmlName (name);
- if (name.startsWith ("xml:") || name.startsWith ("xmlns:"))
- return createAttributeNS (null, name);
- else
- return new DomAttr (this, null, name);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns a newly created attribute with the specified name
- * and namespace information.
- */
- public Attr createAttributeNS (String namespaceURI, String name)
- {
- if (checkingCharacters)
- verifyNamespaceName (name);
-
- if ("".equals (namespaceURI))
- namespaceURI = null;
- if (name.startsWith ("xml:")) {
- if (namespaceURI == null)
- namespaceURI = xmlNamespace;
- else if (!xmlNamespace.equals (namespaceURI))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xml namespace is always " + xmlNamespace, this, 0);
- namespaceURI = xmlNamespace;
-
- } else if (name.startsWith ("xmlns:") || name.equals ("xmlns")) {
- if (!xmlnsURI.equals (namespaceURI))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xmlns is reserved", this, 0);
- namespaceURI = xmlnsURI;
-
- } else if (namespaceURI == null && name.indexOf (':') != -1)
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "prefixed name needs a URI: " + name, this, 0);
-
- return new DomAttr (this, namespaceURI, name);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a newly created reference to the specified entity.
- * The caller should populate this with the appropriate children
- * and then mark it as readonly.
- *
- * @see DomNode#makeReadonly
- */
- public EntityReference createEntityReference (String name)
- {
- DomEntityReference retval;
-
- if (checkingCharacters)
- verifyXmlName (name);
- retval = new DomEntityReference (this, name);
- //
- // If we have such an entity, it's allowed that one arrange that
- // the children of this reference be "the same as" (in an undefined
- // sense of "same", clearly not identity) the children of the entity.
- // That can be immediate or deferred. It's also allowed that nothing
- // be done -- we take that option here.
- //
- retval.makeReadonly ();
- return retval;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Makes a copy of the specified node, with all nodes "owned" by
- * this document and with children optionally copied. This type
- * of standard utility has become, well, a standard utility.
- *
- * <p> Note that EntityReference nodes created through this method (either
- * directly, or recursively) never have children, and that there is no
- * portable way to associate them with such children.
- *
- * <p> Note also that there is no requirement that the specified node
- * be associated with a different document. This differs from the
- * <em>cloneNode</em> operation in that the node itself is not given
- * an opportunity to participate, so that any information managed
- * by node subclasses will be lost.
- */
- public Node importNode (Node copiedNode, boolean deep)
- {
- switch (copiedNode.getNodeType ()) {
- case TEXT_NODE:
- return createTextNode (copiedNode.getNodeValue ());
- case CDATA_SECTION_NODE:
- return createCDATASection (copiedNode.getNodeValue ());
- case COMMENT_NODE:
- return createComment (copiedNode.getNodeValue ());
- case PROCESSING_INSTRUCTION_NODE:
- return createProcessingInstruction (
- copiedNode.getNodeName (),
- copiedNode.getNodeValue ());
- case NOTATION_NODE:
- {
- // NOTE: There's no standard way to create
- // these, or add them to a doctype. Useless.
- Notation node = (Notation) copiedNode;
- return new DomNotation (this, node.getNodeName (),
- node.getPublicId (), node.getSystemId ());
- }
- case ENTITY_NODE:
- {
- // NOTE: There's no standard way to create
- // these, or add them to a doctype. Useless.
- Entity node = (Entity) copiedNode;
-
- // FIXME if "deep", can/should copy children!
-
- return new DomEntity (this, node.getNodeName (),
- node.getPublicId (), node.getSystemId (),
- node.getNotationName ());
- }
- case ENTITY_REFERENCE_NODE:
- return createEntityReference (copiedNode.getNodeName ());
- case DOCUMENT_FRAGMENT_NODE:
- {
- DocumentFragment node = createDocumentFragment ();
- if (deep) {
- NodeList kids = copiedNode.getChildNodes ();
- int len = kids.getLength ();
- for (int i = 0; i < len; i++)
- node.appendChild (
- importNode (kids.item (i), deep));
- }
- return node;
- }
- case ATTRIBUTE_NODE:
- {
- DomAttr retval;
- String name = copiedNode.getNodeName ();
- String ns = copiedNode.getNamespaceURI ();
- NodeList kids = copiedNode.getChildNodes ();
- int len = kids.getLength ();
-
- if (ns != null)
- retval = (DomAttr) createAttributeNS (ns, name);
- else
- retval = (DomAttr) createAttribute (name);
-
- // this is _always_ done regardless of "deep" setting
- for (int i = 0; i < len; i++)
- retval.appendChild (importNode (kids.item (i), false));
- return retval;
- }
- case ELEMENT_NODE:
- {
- DomElement retval;
- String name = copiedNode.getNodeName ();
- String ns = copiedNode.getNamespaceURI ();
- NamedNodeMap attrs = copiedNode.getAttributes ();
- int len = attrs.getLength ();
-
- if (ns != null)
- retval = (DomElement) createElementNS (ns, name);
- else
- retval = (DomElement) createElement (name);
- for (int i = 0; i < len; i++) {
- Attr attr = (Attr) attrs.item (i);
- Attr dflt;
-
- // maybe update defaulted attributes
- dflt = retval.getAttributeNode (attr.getNodeName ());
- if (dflt != null) {
- String newval = attr.getNodeValue ();
- if (!dflt.getNodeValue ().equals (newval)
- || attr.getSpecified () == true)
- dflt.setNodeValue (newval);
- continue;
- }
-
- retval.setAttributeNode ((Attr)
- importNode (attr, false));
- }
-
- if (!deep)
- return retval;
-
- NodeList kids = copiedNode.getChildNodes ();
-
- len = kids.getLength ();
- for (int i = 0; i < len; i++)
- retval.appendChild (importNode (kids.item (i), true));
-
- return retval;
- }
-
- // can't import document or doctype nodes
- case DOCUMENT_NODE:
- case DOCUMENT_TYPE_NODE:
- // FALLTHROUGH
-
- // can't import unrecognized or nonstandard nodes
- default:
- throw new DomEx (DomEx.NOT_SUPPORTED_ERR, null, copiedNode, 0);
- }
-
- // FIXME cleanup a bit -- for deep copies, copy those
- // children in one place, here (code sharing is healthy)
- }
-
-
- /**
- * <b>DOM L2 (Traversal)</b>
- * Returns a newly created node iterator. Don't forget to detach
- * this iterator when you're done using it!
- *
- * @see DomIterator
- */
- public NodeIterator createNodeIterator (
- Node root,
- int whatToShow,
- NodeFilter filter,
- boolean expandEntities
- )
- {
- return new DomIterator (root, whatToShow, filter, expandEntities);
- }
-
-
-
- public TreeWalker createTreeWalker (
- Node root,
- int whatToShow,
- NodeFilter filter,
- boolean entityReferenceExpansion
- )
- {
-nyi (); // FIXME createTreeWalker
- return null;
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomElement.java b/external/jaxp/source/gnu/xml/dom/DomElement.java
deleted file mode 100644
index 61f442132..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomElement.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "Element" implementation.
- *
- * @author David Brownell
- */
-public class DomElement extends DomNsNode implements Element
-{
- // Attributes are VERY expensive in DOM, and not just for
- // this implementation. Avoid creating them.
- private DomNamedNodeMap attributes;
-
-
- /**
- * Constructs an Element node associated with the specified document.
- *
- * <p>This constructor should only be invoked by a Document as part
- * of its createElement functionality, or through a subclass which is
- * similarly used in a "Sub-DOM" style layer.
- *
- * @param owner The document with which this node is associated
- * @param namespaceURI Combined with the local part of the name,
- * this is used to uniquely identify a type of element
- * @param name Name of this element, which may include a prefix
- */
- protected DomElement (Document owner, String namespaceURI, String name)
- {
- super (owner, namespaceURI, name);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the element's attributes
- */
- public NamedNodeMap getAttributes ()
- {
- if (attributes == null)
- attributes = new DomNamedNodeMap (getOwnerDocument (), this);
- return attributes;
- }
-
-
- /**
- * <b>DOM L2></b>
- * Returns true iff this is an element node with attributes.
- */
- public boolean hasAttributes ()
- { return attributes != null && attributes.getLength () != 0; }
-
-
- /**
- * Shallow clone of the element, except that associated
- * attributes are (deep) cloned.
- */
- public Object clone ()
- {
- DomElement retval = (DomElement) super.clone ();
- DomNamedNodeMap atts;
-
- if (attributes == null)
- return retval;
-
- atts = new DomNamedNodeMap (getOwnerDocument (), retval);
- retval.attributes = atts;
- for (int i = 0; i < attributes.getLength (); i++) {
- Node temp = attributes.item (i);
-
- temp = temp.cloneNode (true);
- atts.setNamedItem (temp);
- }
- return retval;
- }
-
-
- /**
- * Marks this element, its children, and its associated attributes as
- * readonly.
- */
- public void makeReadonly ()
- {
- super.makeReadonly ();
- if (attributes != null)
- attributes.makeReadonly ();
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the element name (same as getNodeName).
- */
- final public String getTagName ()
- {
- return getNodeName ();
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant ELEMENT_NODE.
- */
- final public short getNodeType ()
- { return ELEMENT_NODE; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the value of the specified attribute, or an
- * empty string.
- */
- public String getAttribute (String name)
- {
- Attr attr = getAttributeNode (name);
-
- if (attr == null)
- return "";
- else
- return attr.getValue ();
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns true if the element has an attribute with the
- * specified name (specified or DTD defaulted).
- */
- public boolean hasAttribute (String name)
- {
- return getAttributeNode (name) != null;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns true if the element has an attribute with the
- * specified name (specified or DTD defaulted).
- */
- public boolean hasAttributeNS (String namespaceURI, String local)
- {
- return getAttributeNodeNS (namespaceURI, local) != null;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the value of the specified attribute, or an
- * empty string.
- */
- public String getAttributeNS (String namespaceURI, String local)
- {
- Attr attr = getAttributeNodeNS (namespaceURI, local);
-
- if (attr == null)
- return "";
- else
- return attr.getValue ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the appropriate attribute node; the name is the
- * nodeName property of the attribute.
- */
- public Attr getAttributeNode (String name)
- {
- if (attributes == null)
- return null;
-
- return (Attr) attributes.getNamedItem (name);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the appropriate attribute node; the name combines
- * the namespace name and the local part.
- */
- public Attr getAttributeNodeNS (String namespace, String localPart)
- {
- if (attributes == null)
- return null;
-
- return (Attr) attributes.getNamedItemNS (namespace, localPart);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Modifies an existing attribute to have the specified value,
- * or creates a new one with that value. The name used is the
- * nodeName value.
- */
- public void setAttribute (String name, String value)
- {
- Attr attr = getAttributeNode (name);
-
- if (attr != null) {
- attr.setNodeValue (value);
- return;
- }
- attr = getOwnerDocument ().createAttribute (name);
- attr.setNodeValue (value);
- setAttributeNode (attr);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Modifies an existing attribute to have the specified value,
- * or creates a new one with that value.
- */
- public void setAttributeNS (String uri, String aname, String value)
- {
- if (("xmlns".equals (aname) || aname.startsWith ("xmlns:"))
- && !DomDocument.xmlnsURI.equals (uri))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "setting xmlns attribute to illegal value", this, 0);
-
- Attr attr = getAttributeNodeNS (uri, aname);
-
- if (attr != null) {
- attr.setNodeValue (value);
- return;
- }
- attr = getOwnerDocument ().createAttributeNS (uri, aname);
- attr.setNodeValue (value);
- setAttributeNodeNS (attr);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Stores the specified attribute, optionally overwriting any
- * existing one with that name.
- */
- public Attr setAttributeNode (Attr attr)
- {
- return (Attr) getAttributes ().setNamedItem (attr);
- }
-
- /**
- * <b>DOM L2</b>
- * Stores the specified attribute, optionally overwriting any
- * existing one with that name.
- */
- public Attr setAttributeNodeNS (Attr attr)
- {
- return (Attr) getAttributes ().setNamedItemNS (attr);
- }
-
- /**
- * <b>DOM L1</b>
- * Removes the appropriate attribute node.
- * If there is no such node, this is (bizarrely enough) a NOP so you
- * won't see exceptions if your code deletes non-existent attributes.
- *
- * <p>Note that since there is no portable way for DOM to record
- * DTD information, default values for attributes will never be
- * provided automatically.
- */
- public void removeAttribute (String name)
- {
- if (attributes == null)
- return;
- // throw new DomEx (DomEx.NOT_FOUND_ERR, name, null, 0);
-
- try {
- attributes.removeNamedItem (name);
- } catch (DomEx e) {
- if (e.code == DomEx.NOT_FOUND_ERR)
- return;
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Removes the appropriate attribute node; the name is the
- * nodeName property of the attribute.
- *
- * <p>Note that since there is no portable way for DOM to record
- * DTD information, default values for attributes will never be
- * provided automatically.
- */
- public Attr removeAttributeNode (Attr node)
- {
- if (attributes == null)
- throw new DomEx (DomEx.NOT_FOUND_ERR, null, node, 0);
-
- return (Attr) attributes.removeNamedItem (node.getNodeName ());
- }
-
-
- /**
- * <b>DOM L2</b>
- * Removes the appropriate attribute node; the name combines
- * the namespace name and the local part.
- *
- * <p>Note that since there is no portable way for DOM to record
- * DTD information, default values for attributes will never be
- * provided automatically.
- */
- public void removeAttributeNS (String namespace, String localPart)
- {
- if (attributes == null)
- throw new DomEx (DomEx.NOT_FOUND_ERR, localPart, null, 0);
-
- attributes.removeNamedItemNS (namespace, localPart);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomEntity.java b/external/jaxp/source/gnu/xml/dom/DomEntity.java
deleted file mode 100644
index 38ebfab02..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomEntity.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "Entity" implementation. This is a non-core DOM class, supporting the
- * "XML" feature. There are two types of entities, neither of which works
- * particularly well in this API:</p><dl>
- *
- * <dt><em>Unparsed Entities</em></dt>
- * <dd>Since ENTITY/ENTITIES attributes, the only legal use of unparsed
- * entities in XML, can't be detected with DOM, there isn't much point in
- * trying to use unparsed entities in DOM applications. (XML Linking is
- * working to provide a better version of this functionality.) </dd>
- *
- * <dt><em>Parsed Entities</em></dt>
- * <dd> While the DOM specification permits nodes for parsed entities
- * to have a readonly set of children, this is not required and there
- * is no portable way to provide such children. <em>This implementation
- * currently does not permit children to be added to Entities.</em>
- * There are related issues with the use of EntityReference nodes. </dd>
- *
- * </dl>
- *
- * <p> In short, <em>avoid using this DOM functionality</em>.
- *
- * @see DomDoctype
- * @see DomEntityReference
- * @see DomNotation
- *
- * @author David Brownell
- */
-public class DomEntity extends DomExtern implements Entity
-{
- private String notation;
-
-
- /**
- * Constructs an Entity node associated with the specified document,
- * with the specified descriptive data.
- *
- * <p>This constructor should only be invoked by a DomDoctype as part
- * of its declareEntity functionality, or through a subclass which is
- * similarly used in a "Sub-DOM" style layer.
- *
- * @param owner The document with which this entity is associated
- * @param name Name of this entity
- * @param publicId If non-null, provides the entity's PUBLIC identifier
- * @param systemId Provides the entity's SYSTEM identifier (URI)
- * @param notation If non-null, provides the unparsed entity's notation.
- */
- protected DomEntity (
- Document owner,
- String name,
- String publicId,
- String systemId,
- String notation
- )
- {
- super (owner, name, publicId, systemId);
- this.notation = notation;
-
- // NOTE: if notation == null, this is a parsed entity
- // which could reasonably be given child nodes ...
- makeReadonly ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the NOTATION identifier associated with this entity, if any.
- */
- final public String getNotationName ()
- {
- return notation;
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant ENTITY_NODE.
- */
- final public short getNodeType ()
- { return ENTITY_NODE; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomEntityReference.java b/external/jaxp/source/gnu/xml/dom/DomEntityReference.java
deleted file mode 100644
index 6868f9976..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomEntityReference.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "EntityReference" implementation (reference to parsed entity).
- * This is a non-core DOM class, supporting the "XML" feature.
- * It does not represent builtin entities (such as "&amp;amp;")
- * or character references, which are always directly expanded in
- * DOM trees.</p>
- *
- * <p> Note that while the DOM specification permits these nodes to have
- * a readonly set of children, this is not required. Similarly, it does
- * not require a DOM to couple EntityReference nodes with any Entity nodes
- * that have the same entity name (and equivalent children). It also
- * effectively guarantees that references created directly or indirectly
- * through the <em>Document.ImportNode</em> method will not have children.
- * The level of functionality you may get is extremely variable.
- *
- * <p> Also significant is that even at their most functional level, the fact
- * that EntityReference children must be readonly has caused significant
- * problems when modifying work products held in DOM trees. Other problems
- * include issues related to undeclared namespace prefixes (and references
- * to the current default namespace) that may be found in the text of such
- * parsed entities nodes. These must be contextually bound as part of DOM
- * tree construction. When such nodes are moved, the namespace associated
- * with a given prefix (or default) may change to be in conflict with the
- * namespace bound to the node at creation time.
- *
- * <p> In short, <em>avoid using this DOM functionality</em>.
- *
- * @see DomDoctype
- * @see DomEntity
- *
- * @author David Brownell
- */
-public class DomEntityReference extends DomNode implements EntityReference
-{
- private String name;
-
-
- /**
- * Constructs an EntityReference node associated with the specified
- * document. The creator should populate this with whatever contents
- * are appropriate, and then mark it as readonly.
- *
- * <p>This constructor should only be invoked by a Document as part of
- * its createEntityReference functionality, or through a subclass which
- * is similarly used in a "Sub-DOM" style layer.
- *
- * @see DomNode#makeReadonly
- */
- protected DomEntityReference (Document owner, String name)
- {
- super (owner);
- this.name = name;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the name of the referenced entity.
- */
- final public String getNodeName ()
- {
- return name;
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant ENTITY_REFERENCE_NODE.
- */
- final public short getNodeType ()
- { return ENTITY_REFERENCE_NODE; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomEvent.java b/external/jaxp/source/gnu/xml/dom/DomEvent.java
deleted file mode 100644
index 2902363f9..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomEvent.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-import org.w3c.dom.events.*;
-import org.w3c.dom.views.AbstractView; // used by UIEvent
-
-
-/**
- * "Event" implementation. Events are
- * created (through DocumentEvent interface methods on the document object),
- * and are sent to any target node in the document.
- *
- * <p> Applications may define application specific event subclasses, but
- * should otherwise use the <em>DocumentTraversal</em> interface to acquire
- * event objects.
- *
- * @author David Brownell
- */
-public class DomEvent implements Event
-{
- String type; // init
- EventTarget target;
- EventTarget currentNode;
- short eventPhase;
- boolean bubbles; // init
- boolean cancelable; // init
- long timeStamp; // ?
-
- /** Returns the event's type (name) as initialized */
- final public String getType () { return type; }
-
- /**
- * Returns event's target; delivery of an event is initiated
- * by a <em>target.dispatchEvent(event)</em> invocation.
- */
- final public EventTarget getTarget () { return target; }
-
- /**
- * Returns the target to which events are currently being
- * delivered. When capturing or bubbling, this will not
- * be what <em>getTarget</em> returns.
- */
- final public EventTarget getCurrentTarget () { return currentNode; }
-
- /**
- * Returns CAPTURING_PHASE, AT_TARGET, or BUBBLING;
- * only meaningful within EventListener.handleEvent
- */
- final public short getEventPhase () { return eventPhase; }
-
- /**
- * Returns true if the news of the event bubbles to tree tops
- * (as specified during initialization).
- */
- final public boolean getBubbles () { return bubbles; }
-
- /**
- * Returns true if the default handling may be canceled
- * (as specified during initialization).
- */
- final public boolean getCancelable () { return cancelable; }
-
- /**
- * Returns the event's timestamp.
- */
- final public long getTimeStamp () { return timeStamp; }
-
- boolean stop;
- boolean doDefault;
-
-
- /**
- * Requests the event no longer be captured or bubbled; only
- * listeners on the event target will see the event, if they
- * haven't yet been notified.
- *
- * <p> <em> Avoid using this </em> except for application-specific
- * events, for which you the protocol explicitly "blesses" the use
- * of this with some event types. Otherwise, you are likely to break
- * algorithms which depend on event notification either directly or
- * through bubbling or capturing. </p>
- *
- * <p> Note that this method is not final, specifically to enable
- * enforcing of policies about events always propagating. </p>
- */
- public void stopPropagation () { stop = true; }
-
-
- /**
- * Requests that whoever dispatched the event not perform their
- * default processing when event delivery completes. Initializes
- * event timestamp.
- */
- final public void preventDefault () { doDefault = false; }
-
- /** Initializes basic event state. */
- public void initEvent (
- String typeArg,
- boolean canBubbleArg,
- boolean cancelableArg
- ) {
- eventPhase = 0;
- type = typeArg;
- bubbles = canBubbleArg;
- cancelable = cancelableArg;
- timeStamp = System.currentTimeMillis ();
- }
-
- /** Constructs, but does not initialize, an event. */
- public DomEvent (String type) { this.type = type; }
-
- /**
- * Returns a basic printable description of the event's type,
- * state, and delivery conditions
- */
- public String toString ()
- {
- StringBuffer buf = new StringBuffer ("[Event ");
- buf.append (type);
- switch (eventPhase) {
- case CAPTURING_PHASE: buf.append (", CAPTURING"); break;
- case AT_TARGET: buf.append (", AT TARGET"); break;
- case BUBBLING_PHASE: buf.append (", BUBBLING"); break;
- default: buf.append (", (inactive)"); break;
- }
- if (bubbles && eventPhase != BUBBLING_PHASE)
- buf.append (", bubbles");
- if (cancelable)
- buf.append (", can cancel");
- // were we to provide subclass info, this's where it'd live
- buf.append ("]");
- return buf.toString ();
- }
-
-
- /**
- * "MutationEvent" implementation.
- */
- public static final class DomMutationEvent extends DomEvent
- implements MutationEvent
- {
- // package private
- Node relatedNode; // init
-
- private String prevValue; // init
- private String newValue; // init
-
- private String attrName; // init
- private short attrChange; // init
-
- /** Returns any "related" node provided by this type of event */
- final public Node getRelatedNode () { return relatedNode; }
- /** Returns any "previous value" provided by this type of event */
- final public String getPrevValue () { return prevValue; }
- /** Returns any "new value" provided by this type of event */
- final public String getNewValue () { return newValue; }
-
- /** For attribute change events, returns the attribute's name */
- final public String getAttrName () { return attrName; }
- /** For attribute change events, returns how the attribuet changed */
- final public short getAttrChange () { return attrChange; }
-
- /** Initializes a mutation event */
- public final void initMutationEvent (
- String typeArg,
- boolean canBubbleArg,
- boolean cancelableArg,
- Node relatedNodeArg,
- String prevValueArg,
- String newValueArg,
- String attrNameArg,
- short attrChangeArg
- ) {
- // super.initEvent is inlined here for speed
- // (mutation events are issued on all DOM changes)
- eventPhase = 0;
- type = typeArg;
- bubbles = canBubbleArg;
- cancelable = cancelableArg;
- timeStamp = System.currentTimeMillis ();
-
- relatedNode = relatedNodeArg;
- prevValue = prevValueArg;
- newValue = newValueArg;
- attrName = attrNameArg;
- attrChange = attrChangeArg;
- }
-
- // clear everything that should be GC-able
- void clear ()
- {
- type = null;
- target = null;
- relatedNode = null;
- currentNode = null;
- prevValue = newValue = attrName = null;
- }
-
- /** Constructs an uninitialized mutation event. */
- public DomMutationEvent (String type) { super (type); }
- }
-
-
- /**
- * "UIEvent" implementation.
- */
- public static class DomUIEvent extends DomEvent
- implements UIEvent
- {
- private AbstractView view; // init
- private int detail; // init
-
- /** Constructs an uninitialized User Interface (UI) event */
- public DomUIEvent (String type) { super (type); }
-
- final public AbstractView getView () { return view; }
- final public int getDetail () { return detail; }
-
- /** Initializes a UI event */
- final public void initUIEvent (
- String typeArg,
- boolean canBubbleArg,
- boolean cancelableArg,
- AbstractView viewArg,
- int detailArg
- ) {
- super.initEvent (typeArg, canBubbleArg, cancelableArg);
- view = viewArg;
- detail = detailArg;
- }
- }
-
-
- /*
-
- static final class DomMouseEvent extends DomUIEvent
- implements MouseEvent
- {
- // another half dozen state variables/accessors
- }
-
- */
-
-}
-
diff --git a/external/jaxp/source/gnu/xml/dom/DomEx.java b/external/jaxp/source/gnu/xml/dom/DomEx.java
deleted file mode 100644
index 121f23c4f..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomEx.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> DOMException implementation. The version that
- * is provided by the W3C is abstract, so it can't be instantiated.
- *
- * <p> This also provides a bit more information about the error
- * that is being reported, in terms of the relevant DOM structures
- * and data.
- *
- * @author David Brownell
- */
-public class DomEx extends DOMException
-{
- /** @serial Data that caused an error to be reported */
- private String data;
-
- /** @serial Node associated with the error. */
- private Node node;
-
- /** @serial Data associated with the error. */
- private int value;
-
- /**
- * Constructs an exception, with the diagnostic message
- * corresponding to the specified code.
- */
- public DomEx (short code)
- {
- super (code, diagnostic (code));
- }
-
- /**
- * Constructs an exception, with the diagnostic message
- * corresponding to the specified code and additional
- * information as provided.
- */
- public DomEx (short code, String data, Node node, int value)
- {
- super (code, diagnostic (code));
- this.data = data;
- this.node = node;
- this.value = value;
- }
-
- /** Returns the node to which the diagnotic applies, or null. */
- final public Node getNode () { return node; }
-
- /** Returns data to which the diagnotic applies, or null. */
- final public String getData () { return data; }
-
- /** Returns data to which the diagnotic applies, or null. */
- final public int getValue () { return value; }
-
-
- /**
- * Returns a diagnostic message that may be slightly more useful
- * than the generic one, where possible.
- */
- public String getMessage ()
- {
- String retval = super.getMessage ();
-
- if (data != null)
- retval += "\nMore Information: " + data;
- if (value != 0)
- retval += "\nNumber: " + value;
- if (node != null)
- retval += "\nNode Name: " + node.getNodeName ();
- return retval;
- }
-
-
- // these strings should be localizable.
-
- private static String diagnostic (short code)
- {
- switch (code) {
-
- // DOM L1:
- case INDEX_SIZE_ERR:
- return "An index or size is out of range.";
- case DOMSTRING_SIZE_ERR:
- return "A string is too big.";
- case HIERARCHY_REQUEST_ERR:
- return "The node doesn't belong here.";
- case WRONG_DOCUMENT_ERR:
- return "The node belongs in another document.";
- case INVALID_CHARACTER_ERR:
- return "That character is not permitted.";
- case NO_DATA_ALLOWED_ERR:
- return "This node does not permit data.";
- case NO_MODIFICATION_ALLOWED_ERR:
- return "No changes are allowed.";
- case NOT_FOUND_ERR:
- return "The node was not found in that context.";
- case NOT_SUPPORTED_ERR:
- return "That object is not supported.";
- case INUSE_ATTRIBUTE_ERR:
- return "The attribute belongs to a different element.";
-
- // DOM L2:
- case INVALID_STATE_ERR:
- return "The object is not usable.";
- case SYNTAX_ERR:
- return "An illegal string was provided.";
- case INVALID_MODIFICATION_ERR:
- return "An object's type may not be changed.";
- case NAMESPACE_ERR:
- return "The operation violates XML Namespaces.";
- case INVALID_ACCESS_ERR:
- return "Parameter or operation isn't supported by this node.";
- }
- return "Reserved exception number: " + code;
- }
-
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomExtern.java b/external/jaxp/source/gnu/xml/dom/DomExtern.java
deleted file mode 100644
index 273905f40..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomExtern.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> Abstract implemention of nodes describing external DTD-related
- * objects. This facilitates reusing code for Entity, Notation, and
- * DocumentType (really, external subset) nodes. Such support is not
- * part of the core DOM; it's for the "XML" feature. </p>
- *
- * <p> Note that you are strongly advised to avoid using the DOM
- * features that take advantage of this class, since (as of L2) none
- * of them is defined fully enough to permit full use of the
- * XML feature they partially expose. </p>
- *
- * @author David Brownell
- */
-public abstract class DomExtern extends DomNode
-{
- private String name;
- private String publicId;
- private String systemId;
-
-
- /**
- * Constructs a node associated with the specified document,
- * with the specified descriptive data.
- *
- * @param owner The document with which this object is associated
- * @param name Name of this object
- * @param publicId If non-null, provides the entity's PUBLIC identifier
- * @param systemId If non-null, provides the entity's SYSTEM identifier
- */
- // package private
- DomExtern (
- Document owner,
- String name,
- String publicId,
- String systemId
- )
- {
- super (owner);
- this.name = name;
- this.publicId = publicId;
- this.systemId = systemId;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the SYSTEM identifier associated with this object, if any.
- */
- final public String getSystemId ()
- {
- return systemId;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the PUBLIC identifier associated with this object, if any.
- */
- final public String getPublicId ()
- {
- return publicId;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the object's name.
- */
- final public String getNodeName ()
- {
- return name;
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomFragment.java b/external/jaxp/source/gnu/xml/dom/DomFragment.java
deleted file mode 100644
index 32c28d0ea..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomFragment.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "DocumentFragment" implementation. </p>
- *
- * @author David Brownell
- */
-public class DomFragment extends DomNode implements DocumentFragment
-{
- /**
- * Constructs a DocumentFragment node associated with the
- * specified document.
- *
- * <p>This constructor should only be invoked by a Document as part of
- * its createDocumentFragment functionality, or through a subclass which
- * is similarly used in a "Sub-DOM" style layer.
- */
- protected DomFragment (Document owner)
- {
- super (owner);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the string "#document-fragment".
- */
- final public String getNodeName ()
- {
- return "#document-fragment";
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant DOCUMENT_FRAGMENT_NODE.
- */
- final public short getNodeType ()
- { return DOCUMENT_FRAGMENT_NODE; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomImpl.java b/external/jaxp/source/gnu/xml/dom/DomImpl.java
deleted file mode 100644
index 1e7ec6af8..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomImpl.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import java.util.Vector;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "DOMImplementation" implementation. </p>
- *
- * <p> At this writing, the following features are supported: "XML" (L1, L2),
- * "Events" (L2), "MutationEvents" (L2), "USER-Events" (a conformant extension),
- * "HTMLEvents" (L2), "UIEvents" (L2), "Traversal" (L2). It is possible to
- * compile the package so it doesn't support some of these features (notably,
- * Traversal).
- *
- * @author David Brownell
- */
-public class DomImpl implements DOMImplementation
-{
- /**
- * Constructs a DOMImplementation object which supports
- * "XML" and other DOM Level 2 features.
- */
- public DomImpl () {}
-
- /**
- * <b>DOM L1</b>
- * Returns true if the specified feature and version are
- * supported. Note that the case of the feature name is ignored.
- */
- public boolean hasFeature (String name, String version)
- {
- name = name.toLowerCase ();
-
- if ("xml".equals (name) || "core".equals (name)) {
- if (version == null || version.equals (""))
- return true;
- if ("1.0".equals (version))
- return true;
- if ("2.0".equals (version))
- return true;
-
- } else if ("events".equals (name)
- || "mutationevents".equals (name)
- || "uievents".equals (name)
- // || "mouseevents".equals (name)
- || "htmlevents".equals (name)
- ) {
- if (version == null || version.equals (""))
- return true;
- if ("2.0".equals (version))
- return true;
-
- // Extension: "USER-" prefix event types can
- // be created and passed through the DOM.
-
- } else if ("user-events".equals (name)) {
- if (version == null || version.equals (""))
- return true;
- if ("0.1".equals (version))
- return true;
-
- // NOTE: "hasFeature" for events is here interpreted to
- // mean the DOM can manufacture those sorts of events,
- // since actually choosing to report the events is more
- // often part of the environment or application. It's
- // only really an issue for mutation events.
-
- } else if (DomNode.reportMutations
- && "traversal".equals (name)) {
-
- // Note: nyet tree walker support ...
-
- if (version == null || version.equals (""))
- return true;
- if ("2.0".equals (version))
- return true;
- }
-
- // views
- // stylesheets
- // css, css2
- // range
-
- return false;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Creates and returns a DocumentType, associated with this
- * implementation. This DocumentType can have no associated
- * objects (notations, entities) until the DocumentType is
- * first associated with a document.
- *
- * <p> Note that there is no implication that this DTD will
- * be parsed by the DOM, or ever have contents. Moreover, the
- * DocumentType created here can only be added to a document by
- * the createDocument method (below). <em>That means that the only
- * portable way to create a Document object is to start parsing,
- * queue comment and processing instruction (PI) nodes, and then only
- * create a DOM Document after <b>(a)</b> it's known if a DocumentType
- * object is needed, and <b>(b) the name and namespace of the root
- * element is known. Queued comment and PI nodes would then be
- * inserted appropriately in the document prologue, both before and
- * after the DTD node, and additional attributes assigned to the
- * root element.</em>
- * (One hopes that the final DOM REC fixes this serious botch.)
- */
- public DocumentType createDocumentType (
- String rootName,
- String publicId,
- String systemId
- // CR2 deleted internal subset, ensuring DocumentType
- // is 100% useless instead of just 90% so.
- ) {
- DomDocument.verifyNamespaceName (rootName);
- return new DomDoctype (this, rootName, publicId, systemId, null);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Creates and returns a Document, populated only with a root element and
- * optionally a document type (if that was provided).
- */
- public Document createDocument (
- String namespaceURI,
- String rootName,
- DocumentType doctype
- ) {
- Document doc = new DomDocument (this);
- Element root;
-
- root = doc.createElementNS (namespaceURI, rootName);
- if (rootName.startsWith ("xmlns:"))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xmlns is reserved", null, 0);
- // Bleech -- L2 seemingly _requires_ omission of xmlns attributes.
- if (doctype != null)
- doc.appendChild (doctype); // handles WRONG_DOCUMENT error
- doc.appendChild (root);
- return doc;
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomIterator.java b/external/jaxp/source/gnu/xml/dom/DomIterator.java
deleted file mode 100644
index 76b200b57..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomIterator.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import java.util.Vector;
-
-import org.w3c.dom.*;
-import org.w3c.dom.events.*;
-import org.w3c.dom.traversal.*;
-
-
-/**
- * <p> "NodeIterator" implementation, usable with any L2 DOM which
- * supports MutationEvents. </p>
- *
- * @author David Brownell
- */
-final public class DomIterator implements NodeIterator, EventListener
-{
- private Node reference;
- private boolean right;
- private boolean done;
-
- private final Node root;
- private final int whatToShow;
- private final NodeFilter filter;
- private final boolean expandEntityReferences;
-
-
- /**
- * Constructs and initializes an iterator.
- */
- protected DomIterator (
- Node root,
- int whatToShow,
- NodeFilter filter,
- boolean entityReferenceExpansion
- ) {
- if (!root.isSupported ("MutationEvents", "2.0"))
- throw new DomEx (DomEx.NOT_SUPPORTED_ERR,
- "Iterator needs mutation events", root, 0);
-
- this.root = root;
- this.whatToShow = whatToShow;
- this.filter = filter;
- this.expandEntityReferences = entityReferenceExpansion;
-
- // start condition: going right, seen nothing yet.
- reference = null;
- right = true;
-
- EventTarget target = (EventTarget) root;
- target.addEventListener ("DOMNodeRemoved", this, false);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Flags the iterator as done, unregistering its event listener so
- * that the iterator can be garbage collected without relying on weak
- * references (a "Java 2" feature) in the event subsystem.
- */
- public void detach ()
- {
- EventTarget target = (EventTarget) root;
- target.removeEventListener ("DOMNodeRemoved", this, false);
- done = true;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the flag controlling whether iteration descends
- * through entity references.
- */
- public boolean getExpandEntityReferences ()
- {
- return expandEntityReferences;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the filter provided during construction.
- */
- public NodeFilter getFilter ()
- {
- return filter;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the root of the tree this is iterating through.
- */
- public Node getRoot ()
- {
- return root;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the mask of flags provided during construction.
- */
- public int getWhatToShow ()
- {
- return whatToShow;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the next node in a forward iteration, masked and filtered.
- * Note that the node may be read-only due to entity expansions.
- * A null return indicates the iteration is complete, but may still
- * be processed backwards.
- */
- public Node nextNode ()
- {
- if (done)
- throw new DomEx (DomEx.INVALID_STATE_ERR);
- right = true;
- return walk (true);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the next node in a backward iteration, masked and filtered.
- * Note that the node may be read-only due to entity expansions.
- * A null return indicates the iteration is complete, but may still
- * be processed forwards.
- */
- public Node previousNode ()
- {
- if (done)
- throw new DomEx (DomEx.INVALID_STATE_ERR);
- Node previous = reference;
- right = false;
- walk (false);
- return previous;
- }
-
- private boolean shouldShow (Node node)
- // raises Runtime exceptions indirectly, via acceptNode()
- {
- if ((whatToShow & (1 << (node.getNodeType () - 1))) == 0)
- return false;
- if (filter == null)
- return true;
- return filter.acceptNode (node) == NodeFilter.FILTER_ACCEPT;
- }
-
- //
- // scenario: root = 1, sequence = 1 2 ... 3 4
- // forward walk: 1 2 ... 3 4 null
- // then backward: 4 3 ... 2 1 null
- //
- // At the leftmost end, "previous" == null
- // At the rightmost end, "previous" == 4
- //
- // The current draft spec really seem to make no sense re the
- // role of the reference node, so what it says is ignored here.
- //
- private Node walk (boolean forward)
- {
- Node here = reference;
-
- while ((here = successor (here, forward)) != null
- && !shouldShow (here))
- continue;
- if (here != null || !forward)
- reference = here;
- return here;
- }
-
- private boolean isLeaf (Node here)
- {
- boolean leaf = !here.hasChildNodes ();
- if (!leaf && !expandEntityReferences)
- leaf = (here.getNodeType () == Node.ENTITY_REFERENCE_NODE);
- return leaf;
- }
-
- //
- // Returns the immediate successor in a forward (or backward)
- // document order walk, sans filtering ... except that it knows
- // how to stop, returning null when done. This is a depth first
- // preorder traversal when run in the forward direction.
- //
- private Node successor (Node here, boolean forward)
- {
- Node next;
-
- // the "leftmost" end is funky
- if (here == null)
- return forward ? root : null;
-
- //
- // Forward, this is preorder: children before siblings.
- // Backward, it's postorder: we saw the children already.
- //
- if (forward && !isLeaf (here))
- return here.getFirstChild ();
-
- //
- // Siblings ... if forward, we visit them, if backwards
- // we visit their children first.
- //
- if (forward) {
- if ((next = here.getNextSibling ()) != null)
- return next;
- } else if ((next = here.getPreviousSibling ()) != null) {
- if (isLeaf (next))
- return next;
- next = next.getLastChild ();
- while (!isLeaf (next))
- next = next.getLastChild ();
- return next;
- }
-
- //
- // We can't go down or lateral -- it's up, then. The logic is
- // the converse of what's above: backwards is easy (the parent
- // is next), forwards isn't.
- //
- next = here.getParentNode ();
- if (!forward)
- return next;
-
- Node temp = null;
- while (next != null
- && next != root
- && (temp = next.getNextSibling ()) == null)
- next = next.getParentNode ();
- if (next == root)
- return null;
- return temp;
- }
-
-
- /**
- * Not for public use. This lets the iterator know when its
- * reference node will be removed from the tree, so that a new
- * one may be selected.
- *
- * <p> This version works by watching removal events as they
- * bubble up. So, don't prevent them from bubbling.
- */
- public void handleEvent (Event e)
- {
- MutationEvent event;
- Node ancestor, removed;
-
- if (reference == null
- || !"DOMNodeRemoved".equals (e.getType ())
- || e.getEventPhase () != Event.BUBBLING_PHASE)
- return;
-
- event = (MutationEvent) e;
- removed = (Node) event.getTarget ();
-
- // See if the removal will cause trouble for this iterator
- // by being the reference node or an ancestor of it.
- for (ancestor = reference;
- ancestor != null && ancestor != root;
- ancestor = ancestor.getParentNode ()) {
- if (ancestor == removed)
- break;
- }
- if (ancestor != removed)
- return;
-
- // OK, it'll cause trouble. We want to make the "next"
- // node in our current traversal direction seem right.
- // So we pick the nearest node that's not getting removed,
- // but go in the _opposite_ direction from our current
- // traversal ... so the "next" doesn't skip anything.
- Node candidate;
-
-search:
- while ((candidate = walk (!right)) != null) {
- for (ancestor = candidate;
- ancestor != null && ancestor != root;
- ancestor = ancestor.getParentNode ()) {
- if (ancestor == removed)
- continue search;
- }
- return;
- }
-
- // The current DOM WD talks about a special case here;
- // I've not yet seen it.
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomNamedNodeMap.java b/external/jaxp/source/gnu/xml/dom/DomNamedNodeMap.java
deleted file mode 100644
index e46d57947..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomNamedNodeMap.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import java.util.Vector;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "NamedNodeMap" implementation. </p>
- * Used mostly to hold element attributes, but sometimes also
- * to list notations or entities.
- *
- * @author David Brownell
- */
-public class DomNamedNodeMap implements NamedNodeMap
-{
- private final Document owner;
-
- private DomNode contents [] = new DomNode [1];
- private int length;
- private boolean readonly;
- private final Element element;
-
- private static final int DELTA = 5;
-
-
- /**
- * Constructs an empty map associated with the specified document.
- */
- public DomNamedNodeMap (Document owner)
- {
- this.owner = owner;
- this.element = null;
- }
-
- // package private
- DomNamedNodeMap (Document owner, Element element)
- {
- this.owner = owner;
- this.element = element;
- }
-
- /**
- * Reduces space utilization for this object.
- */
- public void compact ()
- {
- if (contents.length != length)
- setCapacity (length);
- }
-
- private void setCapacity (int len)
- {
- DomNode newContents [] = new DomNode [len];
-
- System.arraycopy (contents, 0, newContents, 0, length);
- contents = newContents;
- }
-
- /**
- * Exposes the internal "readonly" flag. In DOM, all NamedNodeMap
- * objects found in a DocumentType object are read-only (after
- * they are fully constructed), and those holding attributes of
- * a readonly element will also be readonly.
- */
- final public boolean isReadonly ()
- {
- return readonly;
- }
-
-
- /**
- * Sets the internal "readonly" flag so the node and its
- * children can't be changed.
- */
- public void makeReadonly ()
- {
- readonly = true;
- for (int i = 0; i < length; i++)
- contents [i].makeReadonly ();
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the named item from the map, or null; names are just
- * the nodeName property.
- */
- public Node getNamedItem (String name)
- {
- for (int i = 0; i < length; i++) {
- if (contents [i].getNodeName ().equals (name))
- return contents [i];
- }
- return null;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the named item from the map, or null; names are the
- * localName and namespaceURI properties, ignoring any prefix.
- */
- public Node getNamedItemNS (String namespaceURI, String localName)
- {
- for (int i = 0; i < length; i++) {
- DomNode temp = contents [i];
- String tempName = temp.getLocalName ();
- String ns;
-
- if (tempName != null && tempName.equals (localName)) {
- ns = temp.getNamespaceURI ();
- if ((ns == null && namespaceURI == null)
- || ns.equals (namespaceURI)) {
- return temp;
- }
- }
- }
- return null;
- }
-
-
- private void checkAttr (Attr arg)
- {
- if (element == null)
- return;
-
- Element argOwner = arg.getOwnerElement ();
-
- if (argOwner != null) {
- if (argOwner != element)
- throw new DomEx (DomEx.INUSE_ATTRIBUTE_ERR);
- return;
- }
-
- // We can't escape implementation dependencies here; we let
- // the Java runtime deal with error reporting
- ((DomAttr)arg).setOwnerElement (element);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Stores the named item into the map, optionally overwriting
- * any existing node with that name. The name used is just
- * the nodeName attribute.
- */
- public Node setNamedItem (Node arg)
- {
- if (readonly)
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- if (arg.getOwnerDocument () != owner)
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR);
- if (arg instanceof Attr)
- checkAttr ((Attr) arg);
-
- String name = arg.getNodeName ();
-
-// maybe attribute ADDITION events (?)
-
- for (int i = 0; i < length; i++) {
- Node temp = contents [i];
- if (temp.getNodeName ().equals (name)) {
- contents [i] = (DomNode) arg;
- return temp;
- }
- }
- if (length == contents.length)
- setCapacity (length + DELTA);
- contents [length++] = (DomNode) arg;
- return null;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Stores the named item into the map, optionally overwriting
- * any existing node with that fully qualified name. The name
- * used incorporates the localName and namespaceURI properties,
- * and ignores any prefix.
- */
- public Node setNamedItemNS (Node arg)
- {
- if (readonly)
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- if (arg.getOwnerDocument () != owner)
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR);
- if (arg instanceof Attr)
- checkAttr ((Attr) arg);
-
- String localName = arg.getLocalName ();
- String namespaceURI = arg.getNamespaceURI ();
-
- if (localName == null)
- throw new DomEx (DomEx.INVALID_ACCESS_ERR);
-
- for (int i = 0; i < length; i++) {
- DomNode temp = contents [i];
- String tempName = temp.getLocalName ();
- String ns;
-
- if (tempName != null && tempName.equals (localName)) {
- ns = temp.getNamespaceURI ();
- if ((ns == null && namespaceURI == null)
- || ns.equals (namespaceURI)) {
- contents [i] = (DomNode) arg;
- return temp;
- }
- }
- }
- if (length == contents.length)
- setCapacity (length + DELTA);
- contents [length++] = (DomNode) arg;
- return null;
- }
-
- private void maybeRestoreDefault (String uri, String name)
- {
- DomDoctype doctype = (DomDoctype)owner.getDoctype ();
- DomDoctype.ElementInfo info;
- String value;
- DomAttr attr;
-
- if (doctype == null)
- return;
- if ((info = doctype.getElementInfo (element.getNodeName ())) == null)
- return;
- if ((value = info.getAttrDefault (name)) == null)
- return;
- if (uri == null)
- attr = (DomAttr) owner.createAttribute (name);
- else
- attr = (DomAttr) owner.createAttributeNS (uri, name);
- attr.setNodeValue (value);
- attr.setSpecified (false);
- setNamedItem (attr);
- }
-
- /**
- * <b>DOM L1</b>
- * Removes the named item from the map, or reports an exception;
- * names are just the nodeName property.
- */
- public Node removeNamedItem (String name)
- {
- if (readonly)
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
-
-// report attribute REMOVAL event?
-
- for (int i = 0; i < length; i++) {
- DomNode temp = contents [i];
- if (temp.getNodeName ().equals (name)) {
- System.arraycopy (contents, i+1, contents, i,
- length - (i + 1));
- contents [--length] = null;
- if (element != null)
- maybeRestoreDefault (temp.getNamespaceURI (), name);
- return temp;
- }
- }
- throw new DomEx (DomEx.NOT_FOUND_ERR);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Removes the named item from the map, or reports an exception;
- * names are the localName and namespaceURI properties.
- */
- public Node removeNamedItemNS (String namespaceURI, String localName)
- {
- if (readonly)
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
-
- for (int i = 0; i < length; i++) {
- DomNode temp = contents [i];
- String tempName = temp.getLocalName ();
- String ns;
-
- if (tempName != null && tempName.equals (localName)) {
- ns = temp.getNamespaceURI ();
- if ((ns == null && namespaceURI == null)
- || ns.equals (namespaceURI)) {
- System.arraycopy (contents, i+1, contents, i,
- length - (i + 1));
- contents [--length] = null;
- if (element != null)
- maybeRestoreDefault (ns, temp.getNodeName ());
- return temp;
- }
- }
- }
- throw new DomEx (DomEx.NOT_FOUND_ERR);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the indexed item from the map, or null.
- */
- public Node item (int index)
- {
- if (index < 0 || index >= length)
- return null;
- return contents [index];
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the length of the map.
- */
- public int getLength ()
- { return length; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomNode.java b/external/jaxp/source/gnu/xml/dom/DomNode.java
deleted file mode 100644
index dd8e2d764..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomNode.java
+++ /dev/null
@@ -1,1567 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-import org.w3c.dom.events.*;
-import org.w3c.dom.traversal.*;
-
-
-/**
- * <p> "Node", "EventTarget", and "DocumentEvent" implementation.
- * This provides most of the core DOM functionality; only more
- * specialized features are provided by subclasses. Those subclasses may
- * have some particular constraints they must implement, by overriding
- * methods defined here. Such constraints are noted here in the method
- * documentation. </p>
- *
- * <p> Note that you can create events with type names prefixed with "USER-",
- * and pass them through this DOM. This lets you use the DOM event scheme
- * for application specific purposes, although you must use a predefined event
- * structure (such as MutationEvent) to pass data along with those events.
- * Test for existence of this feature with the "USER-Events" DOM feature
- * name.</p>
- *
- * <p> Other kinds of events you can send include the "html" events,
- * like "load", "unload", "abort", "error", and "blur"; and the mutation
- * events. If this DOM has been compiled with mutation event support
- * enabled, it will send mutation events when you change parts of the
- * tree; otherwise you may create and send such events yourself, but
- * they won't be generated by the DOM itself. </p>
- *
- * <p> Note that there is a namespace-aware name comparison method,
- * <em>nameAndTypeEquals</em>, which compares the names (and types) of
- * two nodes in conformance with the "Namespaces in XML" specification.
- * While mostly intended for use with elements and attributes, this should
- * also be helpful for ProcessingInstruction nodes and some others which
- * do not have namespace URIs.
- *
- * @author David Brownell
- */
-public abstract class DomNode
- implements Node, NodeList, EventTarget, DocumentEvent, Cloneable
-{
- //
- // CLASS DATA
- //
-
- // tunable
- // NKIDS_* affects arrays of children (which grow)
- // (currently) fixed size:
- // ANCESTORS_* is for event capture/bubbling, # ancestors
- // NOTIFICATIONS_* is for per-node event delivery, # events
- private static final int NKIDS_INIT = 5;
- private static final int NKIDS_DELTA = 8;
- private static final int ANCESTORS_INIT = 20;
- private static final int NOTIFICATIONS_INIT = 10;
-
- // tunable: enable mutation events or not? Enabling it costs about
- // 10-15% in DOM construction time, last time it was measured.
-
- // package private !!!
- static final boolean reportMutations = true;
-
- // locking protocol changeable only within this class
- private static final Object lockNode = new Object ();
-
- // optimize space to share what we can
- private static final DomNode noKids [] = new DomNode [0];
-
-
- // NON-FINAL class data
-
- // Optimize event dispatch by not allocating memory each time
- private static boolean dispatchDataLock;
- private static DomNode ancestors []
- = new DomNode [ANCESTORS_INIT];
- private static ListenerRecord notificationSet []
- = new ListenerRecord [NOTIFICATIONS_INIT];
-
- // Ditto for the (most common) event object itself!
- private static boolean eventDataLock;
- private static DomEvent.DomMutationEvent mutationEvent
- = new DomEvent.DomMutationEvent (null);
-
- //
- // PER-INSTANCE DATA
- //
-
- private Document owner;
- private DomNode parent;
-
- // Bleech ... "package private" so a builder can populate entity refs.
- // writable during construction. DOM spec is nasty.
- boolean readonly;
-
- // children
- private DomNode children [];
- private int length;
-
- // event registrations
- private ListenerRecord listeners [];
- private int nListeners;
-
- // Optimize access to siblings by caching indices.
- private transient int parentIndex;
-
- //
- // Some of the methods here are declared 'final' because
- // knowledge about their implementation is built into this
- // class -- for both integrity and performance.
- //
-
- // package private
- void nyi ()
- {
- throw new DomEx (DomEx.NOT_SUPPORTED_ERR,
- "feature not yet implemented", this, 0);
- }
-
- /**
- * Reduces space utilization for this node.
- */
- public void compact ()
- {
- if (children != null && children != noKids) {
- if (length == 0)
- children = noKids;
- // allow a bit of fuzz (max NKIDS_DELTA).
- // the JVM won't always use less memory for smaller arrays...
- else if ((children.length - length) > 1) {
- DomNode newKids [] = new DomNode [length];
- System.arraycopy (children, 0, newKids, 0, length);
- children = newKids;
- }
- }
- if (listeners != null && listeners.length != nListeners) {
- if (nListeners == 0)
- listeners = null;
- else {
- ListenerRecord l [] = new ListenerRecord [nListeners];
- System.arraycopy (listeners, 0, l, 0, nListeners);
- listeners = l;
- }
- }
- }
-
- /**
- * Constructs a node and associates it with its owner. Only
- * Document and DocumentType nodes may be created with no owner,
- * and DocumentType nodes get an owner as soon as they are
- * associated with a document.
- */
- protected DomNode (Document owner)
- {
- short type = getNodeType ();
-
- if (owner == null) {
- // DOM calls never go down this path
- if (type != DOCUMENT_NODE && type != DOCUMENT_TYPE_NODE)
- throw new IllegalArgumentException ("no owner!");
- }
- this.owner = owner;
-
- switch (type) {
- case DOCUMENT_NODE:
- case DOCUMENT_FRAGMENT_NODE:
- case ENTITY_REFERENCE_NODE:
- case ELEMENT_NODE:
- children = new DomNode [NKIDS_INIT];
- break;
- // no sane app wants the attributes-with-children model
- case ATTRIBUTE_NODE:
- children = new DomNode [1];
- break;
- // we don't currently build children with entities
- case ENTITY_NODE:
- children = noKids;
-
- // no other kinds of nodes may have children; so for
- // such nodes, length stays zero, children stays null
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns null; Element subclasses must override this method.
- */
- public NamedNodeMap getAttributes ()
- { return null; }
-
- /**
- * <b>DOM L2></b>
- * Returns true iff this is an element node with attributes.
- */
- public boolean hasAttributes ()
- { return false; }
-
- /**
- * <b>DOM L1</b>
- * Returns a list, possibly empty, of the children of this node.
- * In this implementation, to conserve memory, nodes are the same
- * as their list of children. This can have ramifications for
- * subclasses, which may need to provide their own getLength method
- * for reasons unrelated to the NodeList method of the same name.
- */
- public NodeList getChildNodes ()
- { return this; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the first child of this node, or null if there are none.
- */
- final public Node getFirstChild ()
- { return item (0); }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the last child of this node, or null if there are none.
- */
- final public Node getLastChild ()
- { return item (length - 1); }
-
-
- /**
- * <b>DOM L1</b>
- * Returns true if this node has children.
- */
- final public boolean hasChildNodes ()
- { return length > 0; }
-
-
- /**
- * Exposes the internal "readonly" flag. In DOM, children of
- * entities and entity references are readonly, as are the
- * objects associated with DocumentType objets.
- */
- final public boolean isReadonly ()
- {
- return readonly;
- }
-
-
- /**
- * Sets the internal "readonly" flag so this subtree can't be changed.
- * Subclasses need to override this method for any associated content
- * that's not a child node, such as an element's attributes or the
- * (few) declarations associated with a DocumentType.
- */
- public void makeReadonly ()
- {
- readonly = true;
-
- for (int i = 0; i < length; i++)
- children [i].makeReadonly ();
- }
-
-
- // we need to have at least N more kids
- private void ensureEnough (int n)
- {
- if ((children.length - length) > n)
- return;
-
- // don't grow in micro-chunks
- if (n < NKIDS_DELTA)
- n = NKIDS_DELTA;
- n += children.length;
-
- DomNode newKids [] = new DomNode [n];
-
- for (int i = 0; i < length; i++)
- newKids [i] = children [i];
- children = newKids;
- }
-
- // just checks the node for inclusion -- may be called many
- // times (docfrag) before anything is allowed to change
- private void checkMisc (DomNode child)
- {
- if (readonly)
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR,
- null, this, 0);
- if (children == null)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR,
- null, this, 0);
- if (parent != null && child.length > 0) {
- for (Node temp = parent;
- temp != null;
- temp = temp.getParentNode ()) {
- if (child == parent)
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR,
- "can't make ancestor into a child", this, 0);
- }
- }
-
- Node myOwner = owner;
- Node newOwner = child.owner;
- short nodeType = getNodeType ();
- short newType = child.getNodeType ();
-
- if (nodeType == DOCUMENT_NODE)
- myOwner = this;
-
- if (newOwner != myOwner) {
- // new in DOM L2, this case -- patch it up later, in reparent()
- if (!(newType == DOCUMENT_TYPE_NODE && newOwner == null))
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR,
- null, child, 0);
- }
-
- // Test code.
- // System.out.println("DOMNode node type = " + nodeType
- // + " new type: " + newType);
-
- // if (newType == 3)
- // System.out.println("child content = " + child.getNodeValue());
-
- // enforce various structural constraints
- switch (nodeType) {
- case DOCUMENT_NODE:
- if (newType == ELEMENT_NODE
- || newType == PROCESSING_INSTRUCTION_NODE
- || newType == COMMENT_NODE
- || newType == DOCUMENT_TYPE_NODE)
- return;
- break;
-
- case ATTRIBUTE_NODE:
- if (newType == TEXT_NODE || newType == ENTITY_REFERENCE_NODE)
- return;
- break;
-
- case DOCUMENT_FRAGMENT_NODE:
- case ENTITY_REFERENCE_NODE:
- case ELEMENT_NODE:
- case ENTITY_NODE:
- if (newType == ELEMENT_NODE
- || newType == TEXT_NODE
- || newType == COMMENT_NODE
- || newType == PROCESSING_INSTRUCTION_NODE
- || newType == CDATA_SECTION_NODE
- || newType == ENTITY_REFERENCE_NODE)
- return;
- }
- throw new DomEx (DomEx.HIERARCHY_REQUEST_ERR,
- "this node can't have that type of child", this, 0);
- }
-
- //
- // NOTE: after this method, the new child knows its parent,
- // but the parent doesn't know the child. Don't let that
- // intermediate state be seen by the application.
- //
- // XXX prefer to pass in a mutation event object, making removeChild reuse
- // it appropriately. That'll shorten critical paths, and remove the
- // guarantee that the three-message replaceChild case will hit the heap.
- //
- private void reparent (DomNode newChild)
- {
- short childType = newChild.getNodeType ();
-
- if (getNodeType () == DOCUMENT_NODE
- && childType == DOCUMENT_TYPE_NODE) {
- DomDoctype doctype = (DomDoctype) newChild;
-
- if (doctype.getImplementation ()
- != ((Document)this).getImplementation ())
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR,
- "implementation mismatch", newChild, 0);
- newChild.owner = (Document) this;
- }
-
- // get rid of old parent
- Node oldParent = newChild.parent;
-
- if (oldParent != null)
- oldParent.removeChild (newChild);
-
- if (childType != ATTRIBUTE_NODE)
- newChild.parent = this;
- }
-
-
- // Here's hoping a good optimizer will detect the case when the
- // next several methods are never called, and won't allocate
- // object code space of any kind. (Case: not reporting any
- // mutation events. We can also remove some static variables
- // listed above.)
-
-
- private void insertionEvent (
- DomEvent.DomMutationEvent event,
- DomNode target
- ) {
- boolean doFree = false;
-
- if (event == null) {
- event = getMutationEvent ();
- if (event != null)
- doFree = true;
- else
- event = new DomEvent.DomMutationEvent (null);
- }
- event.initMutationEvent ("DOMNodeInserted",
- true /* bubbles */, false /* nocancel */,
- this /* related */, null, null, null, (short) 0);
- target.dispatchEvent (event);
-
- // XXX should really visit every descendant of 'target'
- // and sent a DOMNodeInsertedIntoDocument event to it...
- // bleech, there's no way to keep that acceptably fast.
-
- if (doFree) {
- event.target = null;
- event.relatedNode = null;
- event.currentNode = null;
- eventDataLock = false;
- } // else we created work for the GC
- }
-
-
- private void removalEvent (
- DomEvent.DomMutationEvent event,
- DomNode target
- ) {
- boolean doFree = false;
-
- if (event == null) {
- event = getMutationEvent ();
- if (event != null)
- doFree = true;
- else
- event = new DomEvent.DomMutationEvent (null);
- }
- event.initMutationEvent ("DOMNodeRemoved",
- true /* bubbles */, false /* nocancel */,
- this /* related */, null, null, null, (short) 0);
- target.dispatchEvent (event);
-
- // XXX should really visit every descendant of 'target'
- // and sent a DOMNodeRemovedFromDocument event to it...
- // bleech, there's no way to keep that acceptably fast.
-
- event.target = null;
- event.relatedNode = null;
- event.currentNode = null;
- if (doFree)
- eventDataLock = false;
- // else we created more work for the GC
- }
-
- //
- // Avoid creating lots of memory management work, by using a simple
- // allocation strategy for the mutation event objects that get used
- // at least once per tree modification. We can't use stack allocation,
- // so we do the next simplest thing -- more or less, static allocation.
- // Concurrent notifications should be rare, anyway.
- //
- // Returns the preallocated object, which needs to be carefully freed,
- // or null to indicate the caller needs to allocate their own.
- //
- static private DomEvent.DomMutationEvent getMutationEvent ()
- {
- synchronized (lockNode) {
- if (eventDataLock)
- return null;
- eventDataLock = true;
- return mutationEvent;
- }
- }
-
- // NOTE: this is manually inlined in the insertion
- // and removal event methods above; change in sync.
- static private void freeMutationEvent ()
- {
- // clear fields to enable GC
- mutationEvent.clear ();
- eventDataLock = false;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Appends the specified node to this node's list of children.
- * Document subclasses must override this to enforce the restrictions
- * that there be only one element and document type child.
- *
- * <p> Causes a DOMNodeInserted mutation event to be reported.
- * Will first cause a DOMNodeRemoved event to be reported if the
- * parameter already has a parent. If the new child is a document
- * fragment node, both events will be reported for each child of
- * the fragment; the order in which children are removed and
- * inserted is implementation-specific.
- *
- * <p> If this DOM has been compiled without mutation event support,
- * these events will not be reported.
- */
- public Node appendChild (Node newChild)
- {
- try {
- DomNode child = (DomNode) newChild;
-
- if (newChild.getNodeType () != DOCUMENT_FRAGMENT_NODE) {
- checkMisc (child);
- if (!(length < children.length))
- ensureEnough (1);
- reparent (child);
- children [length++] = child;
- if (reportMutations)
- insertionEvent (null, child);
- } else {
- // See if we can append all the nodes in the fragment
- for (int i = 0; i < child.length; i++)
- checkMisc (child.children [i]);
-
- // yep -- do so!
- ensureEnough (child.length);
- for (int i = 0; i <= child.length; i++)
- appendChild (child.children [0]);
- }
- return child;
-
- } catch (ClassCastException e) {
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR,
- null, newChild, 0);
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Inserts the specified node in this node's list of children.
- * Document subclasses must override this to enforce the restrictions
- * that there be only one element and document type child.
- *
- * <p> Causes a DOMNodeInserted mutation event to be reported. Will
- * first cause a DOMNodeRemoved event to be reported if the newChild
- * parameter already has a parent. If the new child is a document
- * fragment node, both events will be reported for each child of
- * the fragment; the order in which children are removed and inserted
- * is implementation-specific.
- *
- * <p> If this DOM has been compiled without mutation event support,
- * these events will not be reported.
- */
- public Node insertBefore (Node newChild, Node refChild)
- {
- if (refChild == null)
- return appendChild (newChild);
-
- try {
- DomNode child = (DomNode) newChild;
-
- if (newChild.getNodeType () != DOCUMENT_FRAGMENT_NODE) {
- checkMisc (child);
- for (int i = 0; i < length; i++) {
- if (children [i] != refChild)
- continue;
-
- ensureEnough (1);
- reparent (child);
- if (children [i] != refChild)
- i--;
- for (int j = ++length; j > i; j--)
- children [j] = children [j - 1];
- children [i] = child;
- if (reportMutations)
- insertionEvent (null, child);
-
- return newChild;
- }
- throw new DomEx (DomEx.NOT_FOUND_ERR,
- "that's no child of mine", refChild, 0);
-
- } else {
- // See if we can insert all the nodes in the fragment
- for (int i = 0; i < child.length; i++)
- checkMisc (child.children [i]);
-
- // yep -- do so!
- ensureEnough (child.length);
- for (int i = 0; i <= child.length; i++)
- insertBefore (child.children [0], refChild);
- return newChild;
- }
- } catch (ClassCastException e) {
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR,
- null, newChild, 0);
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Replaces the specified node in this node's list of children.
- * Document subclasses must override this to test the restrictions
- * that there be only one element and document type child.
- *
- * <p> Causes DOMNodeRemoved and DOMNodeInserted mutation event to be
- * reported. Will cause another DOMNodeRemoved event to be reported if
- * the newChild parameter already has a parent. These events may be
- * delivered in any order, except that the event reporting removal
- * from such an existing parent will always be delivered before the
- * event reporting its re-insertion as a child of some other node.
- * The order in which children are removed and inserted is implementation
- * specific.
- *
- * <p> If your application needs to depend on the in which those removal
- * and insertion events are delivered, don't use this API. Instead,
- * invoke the removeChild and insertBefore methods directly, to guarantee
- * a specific delivery order. Similarly, don't use document fragments,
- * Otherwise your application code may not work on a DOM which implements
- * this method differently.
- *
- * <p> If this DOM has been compiled without mutation event support,
- * these events will not be reported.
- */
- public Node replaceChild (Node newChild, Node refChild)
- {
- try {
- DomNode child = (DomNode) newChild;
-
- if (newChild.getNodeType () != DOCUMENT_FRAGMENT_NODE) {
- checkMisc (child);
- for (int i = 0; i < length; i++) {
- if (children [i] != refChild)
- continue;
-
- DomNode rmchild = (DomNode) refChild;
- DomEvent.DomMutationEvent event;
- boolean doFree;
-
- event = getMutationEvent ();
- if (event != null)
- doFree = true;
- else
- doFree = false;
- if (reportMutations)
- removalEvent (event, rmchild);
- reparent (child);
- if (children [i] != refChild)
- i--;
- children [i] = child;
- rmchild.parent = null;
- if (reportMutations)
- insertionEvent (event, child);
- if (doFree)
- freeMutationEvent ();
-
- return refChild;
- }
- throw new DomEx (DomEx.NOT_FOUND_ERR,
- "that's no child of mine", newChild, 0);
- } else {
-// XXX implement me
- throw new DomEx (DomEx.NOT_SUPPORTED_ERR,
- "replacing with fragment, NYI", null, 0);
- }
- } catch (ClassCastException e) {
- throw new DomEx (DomEx.WRONG_DOCUMENT_ERR,
- null, newChild, 0);
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Removes the specified child from this node's list of children,
- * or else reports an exception.
- *
- * <p> Causes a DOMNodeRemoved mutation event to be reported.
- *
- * <p> If this DOM has been compiled without mutation event support,
- * these events will not be reported.
- */
- public Node removeChild (Node refChild)
- {
- if (readonly)
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR,
- null, this, 0);
- for (int i = 0; i < length; i++) {
- if (children [i] != refChild)
- continue;
-
- DomNode child = (DomNode) refChild;
-
- if (reportMutations)
- removalEvent (null, child);
- for (int j = i + 1; j < length; j++, i++)
- children [i] = children [j];
- children [i] = null;
- child.parent = null;
- length--;
-
- return refChild;
- }
- throw new DomEx (DomEx.NOT_FOUND_ERR,
- "that's no child of mine", refChild, 0);
- }
-
-
- /**
- * <b>DOM L1 (NodeList)</b>
- * Returns the item with the specified index in this NodeList,
- * else null.
- */
- final public Node item (int index)
- {
- try {
- if (index < length)
- return children [index];
- } catch (RuntimeException e) {
- // children == null or index < 0 ... bad parameter
- // FALLTHROUGh
- }
- return null;
- }
-
-
- /**
- * <b>DOM L1 (NodeList)</b>
- * Returns the number of elements in this NodeList.
- * (Note that many interfaces have a "Length" property, not just
- * NodeList, and if a node subtype must implement one of those,
- * it will also need to override getChildNodes.)
- */
- public int getLength ()
- { return length; }
-
-
- /**
- * Minimize extra space consumed by this node to hold children and event
- * listeners.
- */
- public void trimToSize ()
- {
- if (children != null && children.length != length) {
- DomNode newKids [] = new DomNode [length];
-
- for (int i = 0; i < length; i++)
- newKids [i] = children [i];
- children = newKids;
- }
-
- if (listeners != null && listeners.length != nListeners) {
- ListenerRecord newKids [] = new ListenerRecord [length];
-
- for (int i = 0; i < nListeners; i++)
- newKids [i] = listeners [i];
- listeners = newKids;
- }
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the previous sibling, if one is known.
- */
- final public Node getNextSibling ()
- {
- if (parent == null || getNodeType() == ATTRIBUTE_NODE)
- return null;
-
- // we know parent.getChildNodes () returns itself
- // ... and that we're somewhere in parent.children[]
- int index;
-
- if (parentIndex < parent.length
- && parent.children [parentIndex] == this) {
- index = parentIndex + 1;
- if (index < parent.length)
- return parent.children [index];
- else
- return null;
- }
-
- for (index = 0; index < parent.length; index++) {
- if (parent.children [index] == this) {
- parentIndex = index++;
- if (index < parent.length)
- return parent.children [index];
- else
- break;
- }
- }
- return null;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the previous sibling, if one is known.
- */
- final public Node getPreviousSibling ()
- {
- if (parent == null || getNodeType () == ATTRIBUTE_NODE)
- return null;
-
- NodeList siblings = parent.getChildNodes ();
- int len = siblings.getLength ();
-
- if (siblings.item (parentIndex) == this)
- return siblings.item (parentIndex - 1);
-
- for (int i = 0; i < len; i++)
- if (siblings.item (i) == this) {
- parentIndex = i;
- return siblings.item (--i);
- }
- return null;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the parent node, if one is known.
- */
- final public Node getParentNode ()
- { return parent; }
-
- // parent node is only set in reparent() after sanity chex
-
-
- /**
- * <b>DOM L2</b>
- * Consults the DOM implementation to determine if the requested
- * feature is supported. DocumentType subclasses must override
- * this method, and associate themselves directly with the
- * DOMImplementation node used. (This method relies on being able
- * to access the DOMImplementation from the owner document, but
- * DocumentType nodes can be created without an owner.)
- */
- public boolean isSupported (String feature, String version)
- {
- Document doc = owner;
- DOMImplementation impl = null;
-
- if (doc == null && getNodeType () == DOCUMENT_NODE)
- doc = (Document) this;
-
- if (doc == null)
- // possible for DocumentType
- throw new IllegalStateException ("unbound ownerDocument");
-
- impl = doc.getImplementation ();
- return impl.hasFeature (feature, version);
- }
-
-
- /**
- * <b>DOM L1 (modified in L2)</b>
- * Returns the owner document. This is only null for Document nodes,
- * and (new in L2) for DocumentType nodes which have not yet been
- * associated with the rest of their document.
- */
- final public Document getOwnerDocument ()
- { return owner; }
-
-
- /**
- * <b>DOM L1</b>
- * Does nothing; this must be overridden (along with the
- * getNodeValue method) for nodes with a non-null defined value.
- */
- public void setNodeValue (String value)
- { }
-
-
- /**
- * <b>DOM L1</b>
- * Returns null; this must be overridden for nodes types with
- * a defined value, along with the setNodeValue method.
- */
- public String getNodeValue ()
- { return null; }
-
-
- /** This forces GCJ compatibility.
- * Without this method GCJ is unable to compile to byte code.
- */
- public abstract short getNodeType ();
-
- /** This forces GCJ compatibility.
- * Without this method GCJ seems unable to natively compile GNUJAXP.
- */
- public abstract String getNodeName ();
-
- /**
- * <b>DOM L2</b>
- * Does nothing; this must be overridden (along with the
- * getPrefix method) for element and attribute nodes.
- */
- public void setPrefix (String prefix)
- { }
-
-
- /**
- * <b>DOM L2</b>
- * Returns null; this must be overridden for element and
- * attribute nodes.
- */
- public String getPrefix ()
- { return null; }
-
-
- /**
- * <b>DOM L2</b>
- * Returns null; this must be overridden for element and
- * attribute nodes.
- */
- public String getNamespaceURI ()
- { return null; }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the node name; this must be overridden for element and
- * attribute nodes.
- */
- public String getLocalName ()
- { return null; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns a clone of this node which optionally includes cloned
- * versions of child nodes. Clones are always mutable, except for
- * entity reference nodes.
- */
- public Node cloneNode (boolean deep)
- {
- DomNode retval = (DomNode) clone ();
-
- if (deep && children != null) {
- DomNode newKids [] = retval.children;
-
- if (newKids.length < length)
- newKids = new DomNode [length];
- for (int i = 0; i < length; i++)
- newKids [i] = (DomNode) children [i].cloneNode (true);
- retval.children = newKids;
- retval.length = length;
-
- if (getNodeType () == ENTITY_REFERENCE_NODE)
- retval.makeReadonly ();
- }
- return retval;
- }
-
- /**
- * Clones this node; roughly equivalent to cloneNode(false).
- * Element subclasses must provide a new implementation which
- * invokes this method to handle the basics, and then arranges
- * to clone any element attributes directly. Attribute subclasses
- * must make similar arrangements, ensuring that existing ties to
- * elements are broken by cloning.
- */
- public Object clone ()
- {
- try {
- DomNode retval = (DomNode) super.clone ();
-
- retval.parent = null;
- retval.readonly = false;
- if (retval.children != null) {
- retval.children = noKids;
- retval.length = 0;
- }
- retval.listeners = null;
- retval.nListeners = 0;
- return retval;
-
- } catch (CloneNotSupportedException x) {
- throw new Error ("clone didn't work");
- }
- }
-
-
- // the elements-by-tagname stuff is needed for both
- // elements and documents ... this is in lieu of a
- // common base class between Node and NodeNS.
-
- /**
- * <b>DOM L1</b>
- * Creates a NodeList giving array-style access to elements with
- * the specified name. Access is fastest if indices change by
- * small values, and the DOM is not modified.
- */
- public NodeList getElementsByTagName (String tag)
- {
- return new ShadowList (null, tag);
- }
-
- /**
- * <b>DOM L2</b>
- * Creates a NodeList giving array-style access to elements with
- * the specified namespace and local name. Access is fastest if
- * indices change by small values, and the DOM is not modified.
- */
- public NodeList getElementsByTagNameNS (String namespace, String local)
- {
- return new ShadowList (namespace, local);
- }
-
-
- //
- // This shadow class is GC-able even when the live list it shadows
- // can't be, because of event registration hookups. Its finalizer
- // makes that live list become GC-able.
- //
- final class ShadowList implements NodeList
- {
- private LiveNodeList liveList;
-
- ShadowList (String ns, String local)
- { liveList = new LiveNodeList (ns, local); }
-
- public void finalize ()
- {
- liveList.detach ();
- liveList = null;
- }
-
- public Node item (int index)
- { return liveList.item (index); }
-
- public int getLength ()
- { return liveList.getLength (); }
- }
-
-
- final class LiveNodeList implements NodeList, EventListener, NodeFilter
- {
- private String elementURI;
- private String elementName;
-
- private DomIterator current;
- private int lastIndex;
-
-
- LiveNodeList (String uri, String name)
- {
- elementURI = uri;
- elementName = name;
- DomNode.this.addEventListener ("DOMNodeInserted", this, true);
- DomNode.this.addEventListener ("DOMNodeRemoved", this, true);
- }
-
- void detach ()
- {
- current.detach ();
- current = null;
- DomNode.this.removeEventListener ("DOMNodeInserted", this, true);
- DomNode.this.removeEventListener ("DOMNodeRemoved", this, true);
- }
-
- public short acceptNode (Node element)
- {
- if (element == DomNode.this)
- return FILTER_SKIP;
-
- // use namespace-aware matching ...
- if (elementURI != null) {
- if (!("*".equals (elementURI)
- || elementURI.equals (element.getNamespaceURI ())))
- return FILTER_SKIP;
- if (!("*".equals (elementName)
- || elementName.equals (element.getLocalName ())))
- return FILTER_SKIP;
-
- // ... or qName-based kind.
- } else {
- if (!("*".equals (elementName)
- || elementName.equals (element.getNodeName ())))
- return FILTER_SKIP;
- }
- return FILTER_ACCEPT;
- }
-
- private DomIterator createIterator ()
- {
- return new DomIterator (DomNode.this,
- NodeFilter.SHOW_ELEMENT,
- this, /* filter */
- true /* expand entity refs */
- );
- }
-
- public void handleEvent (Event e)
- {
- MutationEvent mutation = (MutationEvent) e;
- Node related = mutation.getRelatedNode ();
-
- // XXX if it's got children ... check all kids too, they
- // will invalidate our saved index
-
- if (related.getNodeType () != Node.ELEMENT_NODE)
- return;
- if (related.getNodeName () != elementName)
- return;
- if (related.getNamespaceURI () != elementURI)
- return;
-
- current = null;
- }
-
- public Node item (int index)
- {
- if (current == null) {
- current = createIterator ();
- lastIndex = -1;
- }
-
- // last node or before? go backwards
- if (index <= lastIndex) {
- while (index != lastIndex) {
- current.previousNode ();
- lastIndex--;
- }
- return current.previousNode ();
- }
-
- // somewhere after last node
- while (++lastIndex != index)
- current.nextNode ();
- return current.nextNode ();
- }
-
- public int getLength ()
- {
- int retval = 0;
- NodeIterator iter = createIterator ();
-
- while (iter.nextNode () != null)
- retval++;
- return retval;
- }
- }
-
- //
- // EventTarget support
- //
- static final class ListenerRecord {
- String type;
- EventListener listener;
- boolean useCapture;
-
- // XXX use JDK 1.2 java.lang.ref.WeakReference to listener,
- // and we can both get rid of "shadow" classes and remove
- // the need for applications to apply similar trix ... but
- // JDK 1.2 support isn't generally available yet
-
- ListenerRecord (
- String type,
- EventListener listener,
- boolean useCapture
- ) {
- this.type = type.intern ();
- this.listener = listener;
- this.useCapture = useCapture;
- }
-
- boolean equals (ListenerRecord rec)
- {
- return listener == rec.listener
- && useCapture == rec.useCapture
- && type == rec.type;
- }
- }
-
- /**
- * <b>DOM L2 (Events)</b>
- * Returns an instance of the specified type of event object.
- * Understands about DOM Mutation, HTML, and UI events.
- *
- * <p>If the name of the event type begins with "USER-", then an object
- * implementing the "Event" class will be returned; this provides a
- * limited facility for application-defined events to use the DOM event
- * infrastructure. Alternatively, use one of the standard DOM event
- * classes and initialize it using use such a "USER-" event type name;
- * or defin, instantiate, and initialize an application-specific subclass
- * of DomEvent and pass that to dispatchEvent().
- *
- * @param eventType Identifies the particular DOM feature module
- * defining the type of event, such as "MutationEvents".
- * <em>The event "name" is a different kind of "type".</em>
- */
- public Event createEvent (String eventType)
- {
- eventType = eventType.toLowerCase ();
-
- if ("mutationevents".equals (eventType))
- return new DomEvent.DomMutationEvent (null);
-
- if ("htmlevents".equals (eventType)
- || "events".equals (eventType)
- || "user-events".equals (eventType))
- return new DomEvent (null);
-
- if ("uievents".equals (eventType))
- return new DomEvent.DomUIEvent (null);
-
- // mouse events
-
- throw new DomEx (DomEx.NOT_SUPPORTED_ERR,
- eventType, null, 0);
- }
-
-
- /**
- * <b>DOM L2 (Events)</b>
- * Registers an event listener's interest in a class of events.
- */
- final public void addEventListener (
- String type,
- EventListener listener,
- boolean useCapture
- ) {
- if (listeners == null)
- listeners = new ListenerRecord [1];
- else if (nListeners == listeners.length) {
- ListenerRecord newListeners [];
- newListeners =
- new ListenerRecord [listeners.length + NKIDS_DELTA];
- for (int i = 0; i < nListeners; i++)
- newListeners [i] = listeners [i];
- listeners = newListeners;
- }
-
- // prune duplicates
- ListenerRecord record;
-
- record = new ListenerRecord (type, listener, useCapture);
- for (int i = 0; i < nListeners; i++) {
- if (record.equals (listeners [i]))
- return;
- }
- listeners [nListeners++] = record;
- }
-
-
- // XXX this exception should be discarded from DOM
-
- // this class can be instantiated, unlike the one in the spec
- final static class DomEventException extends EventException {
- DomEventException ()
- { super (UNSPECIFIED_EVENT_TYPE_ERR, "unspecified event type"); }
- }
-
-
- /**
- * <b>DOM L2 (Events)</b>
- * Delivers an event to all relevant listeners, returning true if the
- * caller should perform their default action. Note that the event
- * must have been provided by the createEvent() method on this
- * class, else it can't be dispatched.
- *
- * @see #createEvent
- *
- * @exception NullPointerException When a null event is passed.
- * @exception ClassCastException When the event wasn't provided by
- * the createEvent method, or otherwise isn't a DomEvent.
- * @exception EventException If the event type wasn't specified
- */
- final public boolean dispatchEvent (Event event)
- throws EventException
- {
- DomEvent e = (DomEvent) event;
- DomNode ancestors [] = null;
- int ancestorMax = 0;
- boolean haveDispatchDataLock = false;
-
- if (e.type == null)
- throw new DomEventException ();
-
- e.doDefault = true;
- e.target = this;
-
- //
- // Typical case: one nonrecursive dispatchEvent call at a time
- // for this class. If that's our case, we can avoid allocating
- // garbage, which is overall a big win. Even with advanced GCs
- // that deal well with short-lived garbage, and wayfast allocators,
- // it still helps.
- //
- // Remember -- EVERY mutation goes though here at least once.
- //
- // When populating a DOM tree, trying to send mutation events is
- // the primary cost; this dominates the critical path.
- //
- try {
- DomNode current;
- int index;
- boolean haveAncestorRegistrations = false;
- ListenerRecord notificationSet [];
- int ancestorLen;
-
- synchronized (lockNode) {
- if (!dispatchDataLock) {
- haveDispatchDataLock = dispatchDataLock = true;
- notificationSet = DomNode.notificationSet;
- ancestors = DomNode.ancestors;
- } else {
- notificationSet = new ListenerRecord [NOTIFICATIONS_INIT];
- ancestors = new DomNode [ANCESTORS_INIT];
- }
- ancestorLen = ancestors.length;
- }
-
- // XXX autogrow ancestors ... based on statistics
-
- // Climb to the top of this subtree and handle capture, letting
- // each node (from the top down) capture until one stops it or
- // until we get to this one.
-
- for (index = 0, current = parent;
- current != null && index < ancestorLen;
- index++, current = current.parent) {
- if (current.nListeners != 0)
- haveAncestorRegistrations = true;
- ancestors [index] = current;
- }
- if (current != null)
- throw new RuntimeException ("dispatchEvent capture stack size");
-
- ancestorMax = index;
- e.stop = false;
-
- if (haveAncestorRegistrations) {
- e.eventPhase = Event.CAPTURING_PHASE;
- while (!e.stop && index-- > 0) {
- current = ancestors [index];
- if (current.nListeners != 0)
- notifyNode (e, current, true, notificationSet);
- }
- }
-
- // Always deliver events to the target node (this)
- // unless stopPropagation was called. If we saw
- // no registrations yet (typical!), we never will.
- if (!e.stop && nListeners != 0) {
- e.eventPhase = Event.AT_TARGET;
- notifyNode (e, this, false, notificationSet);
- } else if (!haveAncestorRegistrations)
- e.stop = true;
-
- // If the event bubbles and propagation wasn't halted,
- // walk back up the ancestor list. Stop bubbling when
- // any bubbled event handler stops it.
-
- if (!e.stop && e.bubbles) {
- e.eventPhase = Event.BUBBLING_PHASE;
- for (index = 0;
- !e.stop
- && index < ancestorMax
- && (current = ancestors [index]) != null;
- index++) {
- if (current.nListeners != 0)
- notifyNode (e, current, false, notificationSet);
- }
- }
- e.eventPhase = 0;
-
- // Caller chooses whether to perform the default
- // action based on return from this method.
- return e.doDefault;
-
- } finally {
- if (haveDispatchDataLock) {
- // synchronize to force write ordering
- synchronized (lockNode) {
- // null out refs to ensure they'll be GC'd
- for (int i = 0; i < ancestorMax; i++)
- ancestors [i] = null;
- // notificationSet handled by notifyNode
-
- dispatchDataLock = false;
- }
- }
- }
- }
-
-
- private void notifyNode (
- DomEvent e,
- DomNode current,
- boolean capture,
- ListenerRecord notificationSet []
- ) {
- int count = 0;
-
- // do any of this set of listeners get notified?
- for (int i = 0; i < current.nListeners; i++) {
- ListenerRecord rec = current.listeners [i];
-
- if (rec.useCapture != capture)
- continue;
- if (!e.type.equals (rec.type))
- continue;
- if (count < notificationSet.length)
- notificationSet [count++] = rec;
- else
- // XXX fire up some cheap growth algorithm
- throw new RuntimeException (
- "Event notification set size exceeded");
- }
-
- // Notify just those listeners
- e.currentNode = current;
- for (int i = 0; i < count; i++) {
- try {
- // Late in the DOM CR process (3rd or 4th CR?) the
- // removeEventListener spec became asymmetric with respect
- // to addEventListener ... effect is now immediate.
- for (int j = 0; j < current.nListeners; j++) {
- if (current.listeners [j].equals (notificationSet [i])) {
- notificationSet [i].listener.handleEvent (e);
- break;
- }
- }
-
- } catch (Exception x) {
- // ignore all exceptions
- }
- notificationSet [i] = null; // free for GC
- }
- }
-
- /**
- * <b>DOM L2 (Events)</b>
- * Unregisters an event listener.
- */
- final public void removeEventListener (
- String type,
- EventListener listener,
- boolean useCapture
- ) {
- for (int i = 0; i < nListeners; i++) {
- if (listeners [i].listener != listener)
- continue;
- if (listeners [i].useCapture != useCapture)
- continue;
- if (!listeners [i].type.equals (type))
- continue;
-
- if (nListeners == 1) {
- listeners = null;
- nListeners = 0;
- } else {
- for (int j = i + 1; j < nListeners; j++)
- listeners [i++] = listeners [j++];
- listeners [--nListeners] = null;
- }
- break;
- }
- // no exceptions reported
- }
-
-
- /**
- * <b>DOM L1 (relocated in DOM L2)</b>
- * In this node and all contained nodes (including attributes if
- * relevant) merge adjacent text nodes. This is done while ignoring
- * text which happens to use CDATA delimiters).
- */
- public void normalize ()
- {
- int index = 0;
- Node child, next;
- Text temp;
- NamedNodeMap attributes;
-
- while ((child = item (index)) != null) {
- switch (child.getNodeType ()) {
- case TEXT_NODE:
- next = item (index + 1);
- if (next == null || next.getNodeType () != TEXT_NODE)
- break;
- temp = (Text) child;
- temp.appendData (next.getNodeValue ());
- removeChild (next);
- // don't increment index ... we do extra fetches
- // of the current node, affecting only speed.
- continue;
-
- case ELEMENT_NODE:
- child.normalize ();
- attributes = child.getAttributes ();
- for (int i = 0; i < attributes.getLength (); i++)
- attributes.item (i).normalize ();
- // FALLTHROUGH
- }
- index++;
- continue;
- }
- }
-
-
- /**
- * Returns true iff node types match, and either (a) both nodes have no
- * namespace and their getNodeName() values are the same, or (b) both
- * nodes have the same getNamespaceURI() and same getLocalName() values.
- *
- * <p>Note that notion of a "Per-Element-Type" attribute name scope, as
- * found in a non-normative appendix of the XML Namespaces specification,
- * is not supported here. Your application must implement that notion,
- * typically by not bothering to check nameAndTypeEquals for attributes
- * without namespace URIs unless you already know their elements are
- * nameAndTypeEquals.
- */
- public boolean nameAndTypeEquals (Node other)
- {
- // node types must match
- if (getNodeType () != other.getNodeType ())
- return false;
-
- // if both have namespaces, do a "full" comparision
- // this is a "global" partition
- String ns1 = this.getNamespaceURI ();
- String ns2 = other.getNamespaceURI ();
-
- if (ns1 != null && ns2 != null)
- return ns1.equals (ns2)
- && getLocalName ().equals (other.getLocalName ());
-
- // if neither has a namespace, this is a "no-namespace" name.
- if (ns1 == null && ns2 == null) {
- if (getNodeName().equals (other.getNodeName ()) == false)
- return false;
- // can test the non-normative "per-element-type" scope here.
- // if this is an attribute node and both nodes have been bound
- // to elements (!!), then return the nameAndTypeEquals()
- // comparison of those elements.
- return true;
- }
-
- // otherwise they're unequal: one scoped, one not.
- return false;
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomNotation.java b/external/jaxp/source/gnu/xml/dom/DomNotation.java
deleted file mode 100644
index a64969a2d..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomNotation.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "Notation" implementation. This is a non-core DOM class, supporting
- * the "XML" feature. </p>
- *
- * <p> Although unparsed entities using this notation can be detected using
- * DOM, neither NOTATIONS nor ENTITY/ENTITIES attributes can be so detected.
- * More, there is no portable way to construct a Notation node, so there's
- * no way that vendor-neutral DOM construction APIs could even report a
- * NOTATION used to identify the intended meaning of a ProcessingInstruction.
- * </p>
- *
- * <p> In short, <em>avoid using this DOM functionality</em>.
- *
- * @see DomDoctype
- * @see DomEntity
- * @see DomPI
- *
- * @author David Brownell
- */
-public class DomNotation extends DomExtern implements Notation
-{
- /**
- * Constructs a Notation node associated with the specified document,
- * with the specified descriptive data. Note that at least one of
- * the PUBLIC and SYSTEM identifiers must be provided; unlike other
- * external objects in XML, notations may have only a PUBLIC identifier.
- *
- * <p>This constructor should only be invoked by a DomDoctype object
- * as part of its declareNotation functionality, or through a subclass
- * which is similarly used in a "Sub-DOM" style layer.
- *
- * @param owner The document with which this notation is associated
- * @param name Name of this notation
- * @param publicId If non-null, provides the notation's PUBLIC identifier
- * @param systemId If non-null, rovides the notation's SYSTEM identifier
- */
- protected DomNotation (
- Document owner,
- String name,
- String publicId,
- String systemId
- )
- {
- super (owner, name, publicId, systemId);
- makeReadonly ();
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant NOTATION_NODE.
- */
- final public short getNodeType ()
- { return NOTATION_NODE; }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomNsNode.java b/external/jaxp/source/gnu/xml/dom/DomNsNode.java
deleted file mode 100644
index 9dd23be1d..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomNsNode.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> Abstract implemention of namespace support. This facilitates
- * sharing code for attribute and element nodes.
- *
- * @author David Brownell
- */
-public abstract class DomNsNode extends DomNode
-{
- private String name; // changed by setPrefix
- private final String namespace;
-
-
- /**
- * Constructs a node associated with the specified document, and
- * with the specified namespace information.
- *
- * @param owner The document with which this entity is associated
- * @param namespaceURI Combined with the local part of the name,
- * this identifies a type of element or attribute; may be null.
- * If this is the empty string, it is reassigned as null so that
- * applications only need to test that case.
- * @param name Name of this node, which may include a prefix
- */
- // package private
- DomNsNode (Document owner, String namespaceURI, String name)
- {
- super (owner);
- this.name = name;
- if ("".equals (namespaceURI))
- namespaceURI = null;
- this.namespace = namespaceURI;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the node's name, including any namespace prefix.
- */
- final public String getNodeName ()
- {
- return name;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the node's namespace URI
- * <em>or null</em> if the node name is not namespace scoped.
- */
- final public String getNamespaceURI ()
- {
- return namespace;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns any prefix part of the node's name (before any colon).
- */
- public String getPrefix ()
- {
- if (namespace == null)
- return null;
-
- int index = name.indexOf (':');
- if (index < 0)
- return null;
- else
- return name.substring (0, index);
- }
-
-
- /**
- * <b>DOM L2</b>
- * Assigns the prefix part of the node's name (before any colon).
- */
- public void setPrefix (String prefix)
- {
- String local = getLocalName ();
-
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
-
- if (prefix == null) {
- name = local;
- return;
- } else if (namespace == null)
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "can't set prefix, node has no namespace URI", this, 0);
-
- DomDocument.verifyXmlName (prefix);
- if (prefix.indexOf (':') != -1)
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "illegal prefix " + prefix, this, 0);
-
- if ("xml".equals (prefix)
- && !DomDocument.xmlNamespace.equals (namespace))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xml namespace is always " + DomDocument.xmlNamespace, this, 0);
-
- if ("xmlns".equals (prefix)) {
- if (namespace != null || getNodeType () != ATTRIBUTE_NODE)
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "xmlns attribute prefix is reserved", this, 0);
- } else if (getNodeType () == ATTRIBUTE_NODE
- && ("xmlns".equals (name) || name.startsWith ("xmlns:")))
- throw new DomEx (DomEx.NAMESPACE_ERR,
- "namespace declarations can't change names", this, 0);
-
- name = prefix + ':' + local;
- }
-
-
- /**
- * <b>DOM L2</b>
- * Returns the local part of the node's name (after any colon),
- * <em>or null</em> if the node name is not namespace scoped.
- */
- public String getLocalName ()
- {
- if (namespace == null)
- return null;
-
- int index = name.indexOf (':');
- if (index < 0)
- return name;
- else
- return name.substring (index + 1);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomPI.java b/external/jaxp/source/gnu/xml/dom/DomPI.java
deleted file mode 100644
index 28c12fe40..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomPI.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "ProcessingInstruction" (PI) implementation.
- * This is a non-core DOM class, supporting the "XML" feature. </p>
- *
- * <p> Unlike other DOM APIs in the "XML" feature, this one fully
- * exposes the functionality it describes. So there is no reason
- * inherent in DOM to avoid using this API, unless you want to rely
- * on NOTATION declarations to associate meaning with your PIs;
- * there is no vendor-neutal way to record those notations in DOM.</p>
- *
- * <p> Also of note is that PI support is part of SAX, so that XML
- * systems using PIs can choose among multiple APIs. </p>
- *
- * @see DomNotation
- *
- * @author David Brownell
- */
-public class DomPI extends DomNode implements ProcessingInstruction
-{
- private String target;
- private String data;
-
-
- /**
- * Constructs a ProcessingInstruction node associated with the
- * specified document, with the specified data.
- *
- * <p>This constructor should only be invoked by a Document object as
- * part of its createProcessingInstruction functionality, or through
- * a subclass which is similarly used in a "Sub-DOM" style layer.
- */
- protected DomPI (Document owner, String target, String data)
- {
- super (owner);
- this.target = target;
- this.data = data;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the target of the processing instruction.
- */
- final public String getTarget ()
- {
- return target;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the target of the processing instruction
- * (same as getTarget).
- */
- final public String getNodeName ()
- {
- return target;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the constant PROCESSING_INSTRUCTION_NODE.
- */
- final public short getNodeType ()
- { return PROCESSING_INSTRUCTION_NODE; }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the data associated with the processing instruction.
- */
- final public String getData ()
- {
- return data;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the data associated with the processing instruction
- * (same as getData).
- */
- final public String getNodeValue ()
- {
- return data;
- }
-
-
- /**
- * <b>DOM L1</b>
- * Assigns the data associated with the processing instruction;
- * same as setNodeValue.
- */
- final public void setData (String data)
- {
- setNodeValue (data);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Assigns the data associated with the processing instruction.
- */
- final public void setNodeValue (String data)
- {
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- this.data = data;
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/DomText.java b/external/jaxp/source/gnu/xml/dom/DomText.java
deleted file mode 100644
index 0c4ef1c15..000000000
--- a/external/jaxp/source/gnu/xml/dom/DomText.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.dom;
-
-import org.w3c.dom.*;
-
-
-/**
- * <p> "Text" implementation. </p>
- *
- * @author David Brownell
- */
-public class DomText extends DomCharacterData implements Text
-{
- // NOTE: deleted unused per-instance "isIgnorable"
- // support to reclaim its space.
-
- /**
- * Constructs a text node associated with the specified
- * document and holding the specified data.
- *
- * <p>This constructor should only be invoked by a Document object
- * as part of its createTextNode functionality, or through a subclass
- * which is similarly used in a "Sub-DOM" style layer.
- */
- protected DomText (Document owner, String value)
- {
- super (owner, value);
- }
-
- protected DomText (Document owner, char buf [], int off, int len)
- {
- super (owner, buf, off, len);
- }
-
-
- /**
- * <b>DOM L1</b>
- * Returns the string "#text".
- */
- // can't be 'final' with CDATA subclassing
- public String getNodeName ()
- {
- return "#text";
- }
-
- /**
- * <b>DOM L1</b>
- * Returns the constant TEXT_NODE.
- */
- // would be final except DomCDATA subclasses this ...
- public short getNodeType ()
- { return TEXT_NODE; }
-
-
- /**
- * <b>DOM L1</b>
- * Splits this text node in two parts at the offset, returning
- * the new text node (the sibling with the second part).
- */
- public Text splitText (int offset)
- {
- if (isReadonly ())
- throw new DomEx (DomEx.NO_MODIFICATION_ALLOWED_ERR);
- try {
- String before = getNodeValue ().substring (0, offset);
- String after = getNodeValue ().substring (offset);
- Text next;
-
- if (getNodeType () == TEXT_NODE)
- next = getOwnerDocument ().createTextNode (after);
- else // CDATA_SECTION_NODE
- next = getOwnerDocument ().createCDATASection (after);
-
- getParentNode ().insertBefore (next, getNextSibling ());
- setNodeValue (before);
- return next;
-
- } catch (IndexOutOfBoundsException x) {
- throw new DomEx (DomEx.INDEX_SIZE_ERR);
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/JAXPFactory.java b/external/jaxp/source/gnu/xml/dom/JAXPFactory.java
deleted file mode 100644
index fcf3fd333..000000000
--- a/external/jaxp/source/gnu/xml/dom/JAXPFactory.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-
-package gnu.xml.dom;
-
-import java.io.IOException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.DOMImplementation;
-
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-
-
-/**
- * DOM bootstrapping API, for use with JAXP.
- *
- * @see Consumer
- *
- * @author David Brownell
- */
-public final class JAXPFactory extends DocumentBuilderFactory
-{
- private static final String PROPERTY = "http://xml.org/sax/properties/";
- private static final String FEATURE = "http://xml.org/sax/features/";
-
- private SAXParserFactory pf;
-
- /**
- * Default constructor.
- */
- public JAXPFactory () { }
-
- /**
- * Constructs a JAXP document builder which uses the default
- * JAXP SAX2 parser and the DOM implementation in this package.
- */
- public DocumentBuilder newDocumentBuilder ()
- throws ParserConfigurationException
- {
- if (pf == null) {
- // Force use of AElfred2 since not all JAXP parsers
- // conform very well to the SAX2 API spec ...
- pf = new gnu.xml.aelfred2.JAXPFactory ();
- // pf = SAXParserFactory.newInstance ();
- }
-
- // JAXP default: false
- pf.setValidating (isValidating ());
-
- // FIXME: this namespace setup may cause errors in some
- // conformant SAX2 parsers, which we CAN patch up by
- // splicing a "NSFilter" stage up front ...
-
- // JAXP default: false
- pf.setNamespaceAware (isNamespaceAware ());
-
- try {
- // undo rude "namespace-prefixes=false" default
- pf.setFeature (FEATURE + "namespace-prefixes", true);
-
- return new JAXPBuilder (pf.newSAXParser ().getXMLReader (), this);
- } catch (SAXException e) {
- throw new ParserConfigurationException (
- "can't create JAXP DocumentBuilder: " + e.getMessage ());
- }
- }
-
- /** There seems to be no useful specification for attribute names */
- public void setAttribute (String name, Object value)
- throws IllegalArgumentException
- {
- throw new IllegalArgumentException (name);
- }
-
- /** There seems to be no useful specification for attribute names */
- public Object getAttribute (String name)
- throws IllegalArgumentException
- {
- throw new IllegalArgumentException (name);
- }
-
- static final class JAXPBuilder extends DocumentBuilder
- implements ErrorHandler
- {
- private Consumer consumer;
- private XMLReader producer;
- private DomImpl impl;
-
- JAXPBuilder (XMLReader parser, JAXPFactory factory)
- throws ParserConfigurationException
- {
- impl = new DomImpl ();
-
- // set up consumer side
- try {
- consumer = new Consumer ();
- } catch (SAXException e) {
- throw new ParserConfigurationException (e.getMessage ());
- }
-
- // JAXP defaults: true, noise nodes are good (bleech)
- consumer.setHidingReferences (
- factory.isExpandEntityReferences ());
- consumer.setHidingComments (
- factory.isIgnoringComments ());
- consumer.setHidingWhitespace (
- factory.isIgnoringElementContentWhitespace ());
- consumer.setHidingCDATA (
- factory.isCoalescing ());
-
- // set up producer side
- producer = parser;
- producer.setContentHandler (consumer.getContentHandler ());
- producer.setDTDHandler (consumer.getDTDHandler ());
-
- try {
- String id;
-
- // if validating, report validity errors, and default
- // to treating them as fatal
- if (factory.isValidating ()) {
- producer.setFeature (FEATURE + "validation",
- true);
- producer.setErrorHandler (this);
- }
-
- // always save prefix info, maybe do namespace processing
- producer.setFeature (FEATURE + "namespace-prefixes",
- true);
- producer.setFeature (FEATURE + "namespaces",
- factory.isNamespaceAware ());
-
- // set important handlers
- id = PROPERTY + "lexical-handler";
- producer.setProperty (id, consumer.getProperty (id));
-
- id = PROPERTY + "declaration-handler";
- producer.setProperty (id, consumer.getProperty (id));
-
- } catch (SAXException e) {
- throw new ParserConfigurationException (e.getMessage ());
- }
- }
-
-
- public Document parse (InputSource source)
- throws SAXException, IOException
- {
- producer.parse (source);
- return consumer.getDocument ();
- }
-
- public boolean isNamespaceAware ()
- {
- try {
- return producer.getFeature (FEATURE + "namespaces");
- } catch (SAXException e) {
- // "can't happen"
- throw new RuntimeException (e.getMessage ());
- }
- }
-
- public boolean isValidating ()
- {
- try {
- return producer.getFeature (FEATURE + "validation");
- } catch (SAXException e) {
- // "can't happen"
- throw new RuntimeException (e.getMessage ());
- }
- }
-
- public void setEntityResolver (EntityResolver resolver)
- { producer.setEntityResolver (resolver); }
-
- public void setErrorHandler (ErrorHandler handler)
- {
- producer.setErrorHandler (handler);
- consumer.setErrorHandler (handler);
- }
-
- public DOMImplementation getDOMImplementation ()
- { return impl; }
-
- public Document newDocument ()
- { return new DomDocument (); }
-
- // implementation of error handler that's used when validating
- public void fatalError (SAXParseException e) throws SAXException
- { throw e; }
- public void error (SAXParseException e) throws SAXException
- { throw e; }
- public void warning (SAXParseException e) throws SAXException
- { /* ignore */ }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/dom/package.html b/external/jaxp/source/gnu/xml/dom/package.html
deleted file mode 100644
index d65e85da3..000000000
--- a/external/jaxp/source/gnu/xml/dom/package.html
+++ /dev/null
@@ -1,270 +0,0 @@
-<html><head>
-<!-- $Id: package.html,v 1.2 2004-05-01 16:18:50 mark Exp $ -->
-<title>foo</title>
-</head><body>
-
-<p> This is a Free Software
-DOM Level 2 implementation, supporting these features:
-"XML",
-"Events", "MutationEvents",
-"HTMLEvents" (won't generate them though),
-"UIEvents" (also won't generate them),
-"USER-Events" (a conformant extension),
-and
-"Traversal" (optional; no TreeWalker yet).
-It includes JAXP bootstrapping support, addressing the issue that
-DOM (Levels 1 and 2) doesn't include bootstrapping APIs.
-It is intended to be a reasonable base both for
-experimentation and supporting additional DOM modules as clean layers.
-</p>
-
-<p>Note that while DOM does not specify its behavior in the
-face of concurrent access, this implementation does.
-Specifically:
-if only one thread at a time accesses a Document,
-of if several threads cooperate for read-only access,
-then no concurrency conflicts will occur.
-If several threads mutate a given document
-(or send events using it) at the same time,
-there is currently no guarantee that
-they won't interfere with each other.
-</p>
-
-<h3> Design Goals </h3>
-
-<p> A number of DOM implementations are available in Java, including
-commercial ones from Sun, IBM, Oracle, and DataChannel as well as
-noncommercial ones from Docuverse, OpenXML, and Silfide. Why have
-another? Some of the goals of this version: </p> <ul>
-
- <li> DOM Level 2 support. This was the first generally available
- implementation of DOM Level 2 in Java. </li>
-
- <li> Free Software. This one is distributed under the GPL (with
- "library exception") so it can be used with a different class of
- application. </li>
-
- <li> Second implementation syndrome. I can do it simpler this time
- around ... and heck, writing it only takes a bit over a day once you
- know your way around. (Debugging is of course a different story,
- since W3C hasn't provided any conformance test suite and publicly
- available suites have poor coverage.) </li>
-
- <li> Sanity check the then-current Last Call DOM draft. Best to find
- bugs early, when they're relatively fixable. Yes, bugs were found.
- </li>
-
- <li> Modularity. Most of the implementations mentioned above are part
- of huge packages; take all (including bugs, of which some have far
- too many), or take nothing. I prefer a menu approach, when possible.
- This code is standalone, not beholden to any particular parser or XSL
- or XPath code. </li>
-
- <li> OK, I'm a hacker, I like to write code. </li>
-
- </ul>
-
-<p> This also works with the Gnu Compiler for Java (GCJ). GCJ promises
-to be quite the environment for programming Java, both directly and from
-C++ using the new CNI interfaces (which really use C++, unlike JNI). </p>
-
-
-<h3> Open Issues </h3>
-
-<p> At this writing: </p> <ul>
-
- <li> An approximation of XML rules for legal names is used (Unicode
- rules with minor tweaks) rather than the huge character tables in the
- XML appendix. </li>
-
- <li> See below for some restrictions on the mutation event
- support ... some events aren't reported (and likely won't be). </li>
-
- <li> There's no implementation (yet)
- for the TreeWalker traversal API.</li>
-
- <li> More testing and conformance work is needed. </li>
-
- </ul>
-
-<p> I ran a profiler a few times and remove some of the performance hotspots,
-but it's not tuned. Reporting mutation events, in particular, is
-rather costly -- it started at about a 40% penalty for appendNode calls,
-I've got it down around 12%, but it'll be hard to shrink it much further.
-The overall code size is relatively small, though you may want to be rid of
-many of the unused DOM interface classes (HTML, CSS, and so on).</p>
-
-
-<h2><a name="features">Features of this Package</a></h2>
-
-<p> Starting with DOM Level 2, you can really see that DOM is constructed
-as a bunch of optional modules around a core of either XML or HTML
-functionality. Different implementations will support different optional
-modules. This implementation provides a set of features that should be
-useful if you're not depending on the HTML functionality (lots of convenience
-functions that mostly don't buy much except API surface area) and user
-interface support. That is, browsers will want more -- but what they
-need should be cleanly layered over what's already here. </p>
-
-<h3> Core Feature Set: "XML" </h3>
-
-<p> This DOM implementation supports the "XML" feature set, which basically
-gets you four things over the bare core (which you're officially not supposed
-to implement except in conjunction with the "XML" or "HTML" feature). In
-order of decreasing utility, those four things are: </p> <ol>
-
- <li> ProcessingInstruction nodes. These are probably the most
- valuable thing. Handy little buggers, in part because all the APIs
- you need to use them are provided, and they're designed to let you
- escape XML document structure rules in controlled ways.</li>
-
- <li> CDATASection nodes. These are of of limited utility since CDATA
- is just text that prints funny. These are of use to some sorts of
- applications, though I encourage folk to not use them. </li>
-
- <li> DocumentType nodes, and associated Notation and Entity nodes.
- These appear to be useless. Briefly, these "Type" nodes expose no
- typing information. They're only really usable to expose some lexical
- structure that almost every application needs to ignore. (XML editors
- might like to see them, but they need true typing information much more.)
- I strongly encourage people not to use these. </li>
-
- <li> EntityReference nodes can show up. These are actively annoying,
- since they add an extra level of hierarchy, are the cause of most of
- the complexity in attribute values, and their contents are immutable.
- Avoid these.</li>
-
- </ol>
-
-<h3> Optional Feature Sets: "Events", and friends </h3>
-
-<p> Events may be one of the more interesting new features in Level 2.
-This package provides the core feature set and exposes mutation events.
-No gooey events though; if you want that, write a layered implementation! </p>
-
-<p> Three mutation events aren't currently generated:</p> <ul>
-
- <li> <em>DOMSubtreeModified</em> is poorly specified. Think of this
- as generating one such event around the time of finalization, which
- is a fully conformant implementation. This implementation is exactly
- as useful as that one. </li>
-
- <li> <em>DOMNodeRemovedFromDocument</em> and
- <em>DOMNodeInsertedIntoDocument</em> are supposed to get sent to
- every node in a subtree that gets removed or inserted (respectively).
- This can be <em>extremely costly</em>, and the removal and insertion
- processing is already significantly slower due to event reporting.
- It's much easier, and more efficient, to have a listener higher in the
- tree watch removal and insertion events through the bubbling or capture
- mechanisms, than it is to watch for these two events.</li>
-
- </ul>
-
-<p> In addition, certain kinds of attribute modification aren't reported.
-A fix is known, but it couldn't report the previous value of the attribute.
-More work could fix all of this (as well as reduce the generally high cost
-of childful attributes), but that's not been done yet. </p>
-
-<p> Also, note that it is a <em>Bad Thing&#153;</em> to have the listener
-for a mutation event change the ancestry for the target of that event.
-Or to prevent mutation events from bubbling to where they're needed.
-Just don't do those, OK? </p>
-
-<p> As an experimental feature (named "USER-Events"), you can provide
-your own "user" events. Just name them anything starting with "USER-"
-and you're set. Dispatch them through, bubbling, capturing, or what
-ever takes your fancy. One important thing you can't currently do is
-pass any data (like an object) with those events. Maybe later there
-will be a "UserEvent" interface letting you get some substantial use
-out of this mechanism even if you're not "inside" of a DOM package.</p>
-
-<p> You can create and send HTML events. Ditto UIEvents. Since DOM
-doesn't require a UI, it's the UI's job to send them; perhaps that's
-part of your application. </p>
-
-<p><em>This package may be built without the ability to report mutation
-events, gaining a significant speedup in DOM construction time. However,
-if that is done then certain other features -- notably node iterators
-and getElementsByTagname -- will not be available.</em>
-
-
-<h3> Optional Feature: "Traversal" </h3>
-
-<p> Each DOM node has all you need to walk to everything connected
-to that node. Lightweight, efficient utilities are easily layered on
-top of just the core APIs. </p>
-
-<p> Traversal APIs are an optional part of DOM Level 2, providing
-a not-so-lightweight way to walk over DOM trees, if your application
-didn't already have such utilities for use with data represented via
-DOM. Implementing this helped debug the (optional) event and mutation
-event subsystems, so it's provided here. </p>
-
-<p> At this writing, the "TreeWalker" interface isn't implemented. </p>
-
-
-
-<h2><a name='avoid'>DOM Functionality to Avoid</a></h2>
-
-<p> For what appear to be a combination of historical and "committee
-logic" reasons, DOM has a number of <em>features which I strongly advise
-you to avoid using</em> in your library and application code. These
-include the following types of DOM nodes; see the documentation for the
-implementation class for more information: <ul>
-
- <li> CDATASection
- (<a href='DomCDATA.html'>DomCDATA</a> class)
- ... use normal Text nodes instead, so you don't have to make
- every algorithm recognize multiple types of character data
-
- <li> DocumentType
- (<a href='DomDoctype.html'>DomDocType</a> class)
- ... if this held actual typing information, it might be useful
-
- <li> Entity
- (<a href='DomEntity.html'>DomEntity</a> class)
- ... neither parsed nor unparsed entities work well in DOM; it
- won't even tell you which attributes identify unparsed entities
-
- <li> EntityReference
- (<a href='DomEntityReference.html'>DomEntityReference</a> class)
- ... permitted implementation variances are extreme, all children
- are readonly, and these can interact poorly with namespaces
-
- <li> Notation
- (<a href='DomNotation.html'>DomNotation</a> class)
- ... only really usable with unparsed entities (which aren't well
- supported; see above) or perhaps with PIs after the DTD, not with
- NOTATION attributes
-
- </ul>
-
-<p> If you really need to use unparsed entities or notations, use SAX;
-it offers better support for all DTD-related functionality.
-It also exposes actual
-document typing information (such as element content models).</p>
-
-<p> Also, when accessing attribute values, use methods that provide their
-values as single strings, rather than those which expose value substructure
-(Text and EntityReference nodes). (See the <a href='DomAttr.html'>DomAttr</a>
-documentation for more information.) </p>
-
-<p> Note that many of these features were provided as partial support for
-editor functionality (including the incomplete DTD access). Full editor
-functionality requires access to potentially malformed lexical structure,
-at the level of unparsed tokens and below. Access at such levels is so
-complex that using it in non-editor applications sacrifices all the
-benefits of XML; editor aplications need extremely specialized APIs. </p>
-
-<p> (This isn't a slam against DTDs, note; only against the broken support
-for them in DOM. Even despite inclusion of some dubious SGML legacy features
-such as notations and unparsed entities,
-and the ongoing proliferation of alternative schema and validation tools,
-DTDs are still the most widely adopted tool
-to constrain XML document structure.
-Alternative schemes generally focus on data transfer style
-applications; open document architectures comparable to
-DocBook 4.0 don't yet exist in the schema world.
-Feel free to use DTDs; just don't expect DOM to help you.) </p>
-
-</body></html>
diff --git a/external/jaxp/source/gnu/xml/pipeline/CallFilter.java b/external/jaxp/source/gnu/xml/pipeline/CallFilter.java
deleted file mode 100644
index 2d8d4180b..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/CallFilter.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.*;
-import java.net.*;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-import gnu.xml.util.Resolver;
-import gnu.xml.util.XMLWriter;
-
-
-/**
- * Input is sent as an XML request to given URI, and the output of this
- * filter is the parsed response to that request.
- * A connection is opened to the remote URI when the startDocument call is
- * issued through this filter, and the request is finished when the
- * endDocument call is issued. Events should be written quickly enough to
- * prevent the remote HTTP server from aborting the connection due to
- * inactivity; you may want to buffer text in an earlier pipeline stage.
- * If your application requires validity checking of such
- * outputs, have the output pipeline include a validation stage.
- *
- * <p>In effect, this makes a remote procedure call to the URI, with the
- * request and response document syntax as chosen by the application.
- * <em>Note that all the input events must be seen, and sent to the URI,
- * before the first output event can be seen. </em> Clients are delayed
- * at least by waiting for the server to respond, constraining concurrency.
- * Services can thus be used to synchronize concurrent activities, and
- * even to prioritize service among different clients.
- *
- * <p> You are advised to avoid restricting yourself to an "RPC" model
- * for distributed computation. With a World Wide Web, network latencies
- * and failures (e.g. non-availability)
- * are significant; adopting a "procedure" model, rather than a workflow
- * model where bulk requests are sent and worked on asynchronously, is not
- * generally an optimal system-wide architecture. When the messages may
- * need authentication, such as with an OpenPGP signature, or when server
- * loads don't argue in favor of immediate responses, non-RPC models can
- * be advantageous. (So-called "peer to peer" computing models are one
- * additional type of model, though too often that term is applied to
- * systems that still have a centralized control structure.)
- *
- * <p> <em>Be strict in what you send, liberal in what you accept,</em> as
- * the Internet tradition goes. Strictly conformant data should never cause
- * problems to its receiver; make your request pipeline be very strict, and
- * don't compromise on that. Make your response pipeline strict as well,
- * but be ready to tolerate specific mild, temporary, and well-documented
- * variations from specific communications peers.
- *
- * @see XmlServlet
- *
- * @author David Brownell
- */
-final public class CallFilter implements EventConsumer
-{
- private Requestor req;
- private EventConsumer next;
- private URL target;
- private URLConnection conn;
- private ErrorHandler errHandler;
-
-
- /**
- * Initializes a call filter so that its inputs are sent to the
- * specified URI, and its outputs are sent to the next consumer
- * provided.
- *
- * @exception IOException if the URI isn't accepted as a URL
- */
- // constructor used by PipelineFactory
- public CallFilter (String uri, EventConsumer next)
- throws IOException
- {
- this.next = next;
- req = new Requestor ();
- setCallTarget (uri);
- }
-
- /**
- * Assigns the URI of the call target to be used.
- * Does not affect calls currently being made.
- */
- final public void setCallTarget (String uri)
- throws IOException
- {
- target = new URL (uri);
- }
-
- /**
- * Assigns the error handler to be used to present most fatal
- * errors.
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- req.setErrorHandler (handler);
- }
-
-
- /**
- * Returns the call target's URI.
- */
- final public String getCallTarget ()
- {
- return target.toString ();
- }
-
- /** Returns the content handler currently in use. */
- final public org.xml.sax.ContentHandler getContentHandler ()
- {
- return req;
- }
-
- /** Returns the DTD handler currently in use. */
- final public DTDHandler getDTDHandler ()
- {
- return req;
- }
-
-
- /**
- * Returns the declaration or lexical handler currently in
- * use, or throws an exception for other properties.
- */
- final public Object getProperty (String id)
- throws SAXNotRecognizedException
- {
- if (EventFilter.DECL_HANDLER.equals (id))
- return req;
- if (EventFilter.LEXICAL_HANDLER.equals (id))
- return req;
- throw new SAXNotRecognizedException (id);
- }
-
-
- // JDK 1.1 seems to need it to be done this way, sigh
- ErrorHandler getErrorHandler () { return errHandler; }
-
- //
- // Takes input and echoes to server as POST input.
- // Then sends the POST reply to the next pipeline element.
- //
- final class Requestor extends XMLWriter
- {
- Requestor ()
- {
- super ((Writer)null);
- }
-
- public synchronized void startDocument () throws SAXException
- {
- // Connect to remote object and set up to send it XML text
- try {
- if (conn != null)
- throw new IllegalStateException ("call is being made");
-
- conn = target.openConnection ();
- conn.setDoOutput (true);
- conn.setRequestProperty ("Content-Type",
- "application/xml;charset=UTF-8");
-
- setWriter (new OutputStreamWriter (
- conn.getOutputStream (),
- "UTF8"), "UTF-8");
-
- } catch (IOException e) {
- fatal ("can't write (POST) to URI: " + target, e);
- }
-
- // NOW base class can safely write that text!
- super.startDocument ();
- }
-
- public void endDocument () throws SAXException
- {
- //
- // Finish writing the request (for HTTP, a POST);
- // this closes the output stream.
- //
- super.endDocument ();
-
- //
- // Receive the response.
- // Produce events for the next stage.
- //
- InputSource source;
- XMLReader producer;
- String encoding;
-
- try {
-
- source = new InputSource (conn.getInputStream ());
-
-// FIXME if status is anything but success, report it!! It'd be good to
-// save the request data just in case we need to deal with a forward.
-
- encoding = Resolver.getEncoding (conn.getContentType ());
- if (encoding != null)
- source.setEncoding (encoding);
-
- producer = XMLReaderFactory.createXMLReader ();
- producer.setErrorHandler (getErrorHandler ());
- EventFilter.bind (producer, next);
- producer.parse (source);
- conn = null;
-
- } catch (IOException e) {
- fatal ("I/O Exception reading response, " + e.getMessage (), e);
- }
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/DomConsumer.java b/external/jaxp/source/gnu/xml/pipeline/DomConsumer.java
deleted file mode 100755
index 76ea7d37b..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/DomConsumer.java
+++ /dev/null
@@ -1,943 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.util.Hashtable;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.ext.DeclHandler;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.helpers.AttributesImpl;
-
-import gnu.xml.util.DomParser;
-
-
-/**
- * This consumer builds a DOM Document from its input, acting either as a
- * pipeline terminus or as an intermediate buffer. When a document's worth
- * of events has been delivered to this consumer, that document is read with
- * a {@link DomParser} and sent to the next consumer. It is also available
- * as a read-once property.
- *
- * <p>The DOM tree is constructed as faithfully as possible. There are some
- * complications since a DOM should expose behaviors that can't be implemented
- * without API backdoors into that DOM, and because some SAX parsers don't
- * report all the information that DOM permits to be exposed. The general
- * problem areas involve information from the Document Type Declaration (DTD).
- * DOM only represents a limited subset, but has some behaviors that depend
- * on much deeper knowledge of a document's DTD. You shouldn't have much to
- * worry about unless you change handling of "noise" nodes from its default
- * setting (which ignores them all); note if you use JAXP to populate your
- * DOM trees, it wants to save "noise" nodes by default. (Such nodes include
- * ignorable whitespace, comments, entity references and CDATA boundaries.)
- * Otherwise, your
- * main worry will be if you use a SAX parser that doesn't flag ignorable
- * whitespace unless it's validating (few don't).
- *
- * <p> The SAX2 events used as input must contain XML Names for elements
- * and attributes, with original prefixes. In SAX2,
- * this is optional unless the "namespace-prefixes" parser feature is set.
- * Moreover, many application components won't provide completely correct
- * structures anyway. <em>Before you convert a DOM to an output document,
- * you should plan to postprocess it to create or repair such namespace
- * information.</em> The {@link NSFilter} pipeline stage does such work.
- *
- * <p> <em>Note: changes late in DOM L2 process made it impractical to
- * attempt to create the DocumentType node in any implementation-neutral way,
- * much less to populate it (L1 didn't support even creating such nodes).
- * To create and populate such a node, subclass the inner
- * {@link DomConsumer.Handler} class and teach it about the backdoors into
- * whatever DOM implementation you want. It's possible that some revised
- * DOM API (L3?) will make this problem solvable again. </em>
- *
- * @see DomParser
- *
- * @author David Brownell
- */
-public class DomConsumer implements EventConsumer
-{
- private Class domImpl;
-
- private boolean hidingCDATA = true;
- private boolean hidingComments = true;
- private boolean hidingWhitespace = true;
- private boolean hidingReferences = true;
-
- private Handler handler;
- private ErrorHandler errHandler;
-
- private EventConsumer next;
-
- // FIXME: this can't be a generic pipeline stage just now,
- // since its input became a Class not a String (to be turned
- // into a class, using the right class loader)
-
-
- /**
- * Configures this pipeline terminus to use the specified implementation
- * of DOM when constructing its result value.
- *
- * @param impl class implementing {@link org.w3c.dom.Document Document}
- * which publicly exposes a default constructor
- *
- * @exception SAXException when there is a problem creating an
- * empty DOM document using the specified implementation
- */
- public DomConsumer (Class impl)
- throws SAXException
- {
- domImpl = impl;
- handler = new Handler (this);
- }
-
- /**
- * This is the hook through which a subclass provides a handler
- * which knows how to access DOM extensions, specific to some
- * implementation, to record additional data in a DOM.
- * Treat this as part of construction; don't call it except
- * before (or between) parses.
- */
- protected void setHandler (Handler h)
- {
- handler = h;
- }
-
-
- private Document emptyDocument ()
- throws SAXException
- {
- try {
- return (Document) domImpl.newInstance ();
- } catch (IllegalAccessException e) {
- throw new SAXException ("can't access constructor: "
- + e.getMessage ());
- } catch (InstantiationException e) {
- throw new SAXException ("can't instantiate Document: "
- + e.getMessage ());
- }
- }
-
-
- /**
- * Configures this consumer as a buffer/filter, using the specified
- * DOM implementation when constructing its result value.
- *
- * <p> This event consumer acts as a buffer and filter, in that it
- * builds a DOM tree and then writes it out when <em>endDocument</em>
- * is invoked. Because of the limitations of DOM, much information
- * will as a rule not be seen in that replay. To get a full fidelity
- * copy of the input event stream, use a {@link TeeConsumer}.
- *
- * @param impl class implementing {@link org.w3c.dom.Document Document}
- * which publicly exposes a default constructor
- * @param next receives a "replayed" sequence of parse events when
- * the <em>endDocument</em> method is invoked.
- *
- * @exception SAXException when there is a problem creating an
- * empty DOM document using the specified DOM implementation
- */
- public DomConsumer (Class impl, EventConsumer n)
- throws SAXException
- {
- this (impl);
- next = n;
- }
-
-
- /**
- * Returns the document constructed from the preceding
- * sequence of events. This method should not be
- * used again until another sequence of events has been
- * given to this EventConsumer.
- */
- final public Document getDocument ()
- {
- return handler.clearDocument ();
- }
-
- public void setErrorHandler (ErrorHandler handler)
- {
- errHandler = handler;
- }
-
-
- /**
- * Returns true if the consumer is hiding entity references nodes
- * (the default), and false if EntityReference nodes should
- * instead be created. Such EntityReference nodes will normally be
- * empty, unless an implementation arranges to populate them and then
- * turn them back into readonly objects.
- *
- * @see #setHidingReferences
- */
- final public boolean isHidingReferences ()
- { return hidingReferences; }
-
- /**
- * Controls whether the consumer will hide entity expansions,
- * or will instead mark them with entity reference nodes.
- *
- * @see #isHidingReferences
- * @param flag False if entity reference nodes will appear
- */
- final public void setHidingReferences (boolean flag)
- { hidingReferences = flag; }
-
-
- /**
- * Returns true if the consumer is hiding comments (the default),
- * and false if they should be placed into the output document.
- *
- * @see #setHidingComments
- */
- public final boolean isHidingComments ()
- { return hidingComments; }
-
- /**
- * Controls whether the consumer is hiding comments.
- *
- * @see #isHidingComments
- */
- public final void setHidingComments (boolean flag)
- { hidingComments = flag; }
-
-
- /**
- * Returns true if the consumer is hiding ignorable whitespace
- * (the default), and false if such whitespace should be placed
- * into the output document as children of element nodes.
- *
- * @see #setHidingWhitespace
- */
- public final boolean isHidingWhitespace ()
- { return hidingWhitespace; }
-
- /**
- * Controls whether the consumer hides ignorable whitespace
- *
- * @see #isHidingComments
- */
- public final void setHidingWhitespace (boolean flag)
- { hidingWhitespace = flag; }
-
-
- /**
- * Returns true if the consumer is saving CDATA boundaries, or
- * false (the default) otherwise.
- *
- * @see #setHidingCDATA
- */
- final public boolean isHidingCDATA ()
- { return hidingCDATA; }
-
- /**
- * Controls whether the consumer will save CDATA boundaries.
- *
- * @see #isHidingCDATA
- * @param flag True to treat CDATA text differently from other
- * text nodes
- */
- final public void setHidingCDATA (boolean flag)
- { hidingCDATA = flag; }
-
-
-
- /** Returns the document handler being used. */
- final public ContentHandler getContentHandler ()
- { return handler; }
-
- /** Returns the DTD handler being used. */
- final public DTDHandler getDTDHandler ()
- { return handler; }
-
- /**
- * Returns the lexical handler being used.
- * (DOM construction can't really use declaration handlers.)
- */
- final public Object getProperty (String id)
- throws SAXNotRecognizedException
- {
- if ("http://xml.org/sax/properties/lexical-handler".equals (id))
- return handler;
- if ("http://xml.org/sax/properties/declaration-handler".equals (id))
- return handler;
- throw new SAXNotRecognizedException (id);
- }
-
- EventConsumer getNext () { return next; }
-
- ErrorHandler getErrorHandler () { return errHandler; }
-
- /**
- * Class used to intercept various parsing events and use them to
- * populate a DOM document. Subclasses would typically know and use
- * backdoors into specific DOM implementations, used to implement
- * DTD-related functionality.
- *
- * <p> Note that if this ever throws a DOMException (runtime exception)
- * that will indicate a bug in the DOM (e.g. doesn't support something
- * per specification) or the parser (e.g. emitted an illegal name, or
- * accepted illegal input data). </p>
- */
- public static class Handler
- implements ContentHandler, LexicalHandler,
- DTDHandler, DeclHandler
- {
- protected DomConsumer consumer;
-
- private DOMImplementation impl;
- private Document document;
- private boolean isL2;
-
- private Locator locator;
- private Node top;
- private boolean inCDATA;
- private boolean mergeCDATA;
- private boolean inDTD;
- private String currentEntity;
-
- private boolean recreatedAttrs;
- private AttributesImpl attributes = new AttributesImpl ();
-
- /**
- * Subclasses may use SAX2 events to provide additional
- * behaviors in the resulting DOM.
- */
- protected Handler (DomConsumer consumer)
- throws SAXException
- {
- this.consumer = consumer;
- document = consumer.emptyDocument ();
- impl = document.getImplementation ();
- isL2 = impl.hasFeature ("XML", "2.0");
- }
-
- private void fatal (String message, Exception x)
- throws SAXException
- {
- SAXParseException e;
- ErrorHandler errHandler = consumer.getErrorHandler ();;
-
- if (locator == null)
- e = new SAXParseException (message, null, null, -1, -1, x);
- else
- e = new SAXParseException (message, locator, x);
- if (errHandler != null)
- errHandler.fatalError (e);
- throw e;
- }
-
- /**
- * Returns and forgets the document produced. If the handler is
- * reused, a new document may be created.
- */
- Document clearDocument ()
- {
- Document retval = document;
- document = null;
- locator = null;
- return retval;
- }
-
- /**
- * Returns the document under construction.
- */
- protected Document getDocument ()
- { return document; }
-
- /**
- * Returns the current node being populated. This is usually
- * an Element or Document, but it might be an EntityReference
- * node if some implementation-specific code knows how to put
- * those into the result tree and later mark them as readonly.
- */
- protected Node getTop ()
- { return top; }
-
-
- // SAX1
- public void setDocumentLocator (Locator locator)
- {
- this.locator = locator;
- }
-
- // SAX1
- public void startDocument ()
- throws SAXException
- {
- if (document == null)
- try {
- if (isL2) {
- // couple to original implementation
- document = impl.createDocument (null, "foo", null);
- document.removeChild (document.getFirstChild ());
- } else {
- document = consumer.emptyDocument ();
- }
- } catch (Exception e) {
- fatal ("DOM create document", e);
- }
- top = document;
- }
-
- // SAX1
- public void endDocument ()
- throws SAXException
- {
- try {
- if (consumer.getNext () != null && document != null) {
- DomParser parser = new DomParser (document);
-
- EventFilter.bind (parser, consumer.getNext ());
- parser.parse ("ignored");
- }
- } finally {
- top = null;
- }
- }
-
- // SAX1
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- // we can't create populated entity ref nodes using
- // only public DOM APIs (they've got to be readonly)
- if (currentEntity != null)
- return;
-
- ProcessingInstruction pi;
-
- if (isL2
- // && consumer.isUsingNamespaces ()
- && target.indexOf (':') != -1)
- namespaceError (
- "PI target name is namespace nonconformant: "
- + target);
- if (inDTD)
- return;
- pi = document.createProcessingInstruction (target, data);
- top.appendChild (pi);
- }
-
- /**
- * Subclasses may overrride this method to provide a more efficient
- * way to construct text nodes.
- * Typically, copying the text into a single character array will
- * be more efficient than doing that as well as allocating other
- * needed for a String, including an internal StringBuffer.
- * Those additional memory and CPU costs can be incurred later,
- * if ever needed.
- * Unfortunately the standard DOM factory APIs encourage those costs
- * to be incurred early.
- */
- protected Text createText (
- boolean isCDATA,
- char ch [],
- int start,
- int length
- ) {
- String value = new String (ch, start, length);
-
- if (isCDATA)
- return document.createCDATASection (value);
- else
- return document.createTextNode (value);
- }
-
- // SAX1
- public void characters (char ch [], int start, int length)
- throws SAXException
- {
- // we can't create populated entity ref nodes using
- // only public DOM APIs (they've got to be readonly
- // at creation time)
- if (currentEntity != null)
- return;
-
- Node lastChild = top.getLastChild ();
-
- // merge consecutive text or CDATA nodes if appropriate.
- if (lastChild instanceof Text) {
- if (consumer.isHidingCDATA ()
- // consecutive Text content ... always merge
- || (!inCDATA
- && !(lastChild instanceof CDATASection))
- // consecutive CDATASection content ... don't
- // merge between sections, only within them
- || (inCDATA && mergeCDATA
- && lastChild instanceof CDATASection)
- ) {
- CharacterData last = (CharacterData) lastChild;
- String value = new String (ch, start, length);
-
- last.appendData (value);
- return;
- }
- }
- if (inCDATA && !consumer.isHidingCDATA ()) {
- top.appendChild (createText (true, ch, start, length));
- mergeCDATA = true;
- } else
- top.appendChild (createText (false, ch, start, length));
- }
-
- // SAX2
- public void skippedEntity (String name)
- throws SAXException
- {
- // this callback is useless except to report errors, since
- // we can't know if the ref was in content, within an
- // attribute, within a declaration ... only one of those
- // cases supports more intelligent action than a panic.
- fatal ("skipped entity: " + name, null);
- }
-
- // SAX2
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- // reconstruct "xmlns" attributes deleted by all
- // SAX2 parsers without "namespace-prefixes" = true
- if ("".equals (prefix))
- attributes.addAttribute ("", "", "xmlns",
- "CDATA", uri);
- else
- attributes.addAttribute ("", "", "xmlns:" + prefix,
- "CDATA", uri);
- recreatedAttrs = true;
- }
-
- // SAX2
- public void endPrefixMapping (String prefix)
- throws SAXException
- { }
-
- // SAX2
- public void startElement (
- String uri,
- String localName,
- String qName,
- Attributes atts
- ) throws SAXException
- {
- // we can't create populated entity ref nodes using
- // only public DOM APIs (they've got to be readonly)
- if (currentEntity != null)
- return;
-
- // parser discarded basic information; DOM tree isn't writable
- // without massaging to assign prefixes to all nodes.
- // the "NSFilter" class does that massaging.
- if (qName.length () == 0)
- qName = localName;
-
-
- Element element;
- int length = atts.getLength ();
-
- if (!isL2) {
- element = document.createElement (qName);
-
- // first the explicit attributes ...
- length = atts.getLength ();
- for (int i = 0; i < length; i++)
- element.setAttribute (atts.getQName (i),
- atts.getValue (i));
- // ... then any recreated ones (DOM deletes duplicates)
- if (recreatedAttrs) {
- recreatedAttrs = false;
- length = attributes.getLength ();
- for (int i = 0; i < length; i++)
- element.setAttribute (attributes.getQName (i),
- attributes.getValue (i));
- attributes.clear ();
- }
-
- top.appendChild (element);
- top = element;
- return;
- }
-
- // For an L2 DOM when namespace use is enabled, use
- // createElementNS/createAttributeNS except when
- // (a) it's an element in the default namespace, or
- // (b) it's an attribute with no prefix
- String namespace;
-
- if (localName.length () != 0)
- namespace = (uri.length () == 0) ? null : uri;
- else
- namespace = getNamespace (getPrefix (qName), atts);
-
- if (namespace == null)
- element = document.createElement (qName);
- else
- element = document.createElementNS (namespace, qName);
-
- populateAttributes (element, atts);
- if (recreatedAttrs) {
- recreatedAttrs = false;
- // ... DOM deletes any duplicates
- populateAttributes (element, attributes);
- attributes.clear ();
- }
-
- top.appendChild (element);
- top = element;
- }
-
- final static String xmlnsURI = "http://www.w3.org/2000/xmlns/";
-
- private void populateAttributes (Element element, Attributes attrs)
- throws SAXParseException
- {
- int length = attrs.getLength ();
-
- for (int i = 0; i < length; i++) {
- String type = attrs.getType (i);
- String value = attrs.getValue (i);
- String name = attrs.getQName (i);
- String local = attrs.getLocalName (i);
- String uri = attrs.getURI (i);
-
- // parser discarded basic information, DOM tree isn't writable
- if (name.length () == 0)
- name = local;
-
- // all attribute types other than these three may not
- // contain scoped names... enumerated attributes get
- // reported as NMTOKEN, except for NOTATION values
- if (!("CDATA".equals (type)
- || "NMTOKEN".equals (type)
- || "NMTOKENS".equals (type))) {
- if (value.indexOf (':') != -1) {
- namespaceError (
- "namespace nonconformant attribute value: "
- + "<" + element.getNodeName ()
- + " " + name + "='" + value + "' ...>");
- }
- }
-
- // xmlns="" is legal (undoes default NS)
- // xmlns:foo="" is illegal
- String prefix = getPrefix (name);
- String namespace;
-
- if ("xmlns".equals (prefix)) {
- if ("".equals (value))
- namespaceError ("illegal null namespace decl, " + name);
- namespace = xmlnsURI;
- } else if ("xmlns".equals (name))
- namespace = xmlnsURI;
-
- else if (prefix == null)
- namespace = null;
- else if (uri != "" && uri.length () != 0)
- namespace = uri;
- else
- namespace = getNamespace (prefix, attrs);
-
- if (namespace == null)
- element.setAttribute (name, value);
- else
- element.setAttributeNS (namespace, name, value);
- }
- }
-
- private String getPrefix (String name)
- {
- int temp;
-
- if ((temp = name.indexOf (':')) > 0)
- return name.substring (0, temp);
- return null;
- }
-
- // used with SAX1-level parser output
- private String getNamespace (String prefix, Attributes attrs)
- throws SAXParseException
- {
- String namespace;
- String decl;
-
- // defaulting
- if (prefix == null) {
- decl = "xmlns";
- namespace = attrs.getValue (decl);
- if ("".equals (namespace))
- return null;
- else if (namespace != null)
- return namespace;
-
- // "xmlns" is like a keyword
- // ... according to the Namespace REC, but DOM L2 CR2+
- // and Infoset violate that by assigning a namespace.
- // that conflict is resolved elsewhere.
- } else if ("xmlns".equals (prefix))
- return null;
-
- // "xml" prefix is fixed
- else if ("xml".equals (prefix))
- return "http://www.w3.org/XML/1998/namespace";
-
- // otherwise, expect a declaration
- else {
- decl = "xmlns:" + prefix;
- namespace = attrs.getValue (decl);
- }
-
- // if we found a local declaration, great
- if (namespace != null)
- return namespace;
-
-
- // ELSE ... search up the tree we've been building
- for (Node n = top;
- n != null && n.getNodeType () != Node.DOCUMENT_NODE;
- n = (Node) n.getParentNode ()) {
- if (n.getNodeType () == Node.ENTITY_REFERENCE_NODE)
- continue;
- Element e = (Element) n;
- Attr attr = e.getAttributeNode (decl);
- if (attr != null)
- return attr.getNodeValue ();
- }
- // see above re "xmlns" as keyword
- if ("xmlns".equals (decl))
- return null;
-
- namespaceError ("Undeclared namespace prefix: " + prefix);
- return null;
- }
-
- // SAX2
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- // we can't create populated entity ref nodes using
- // only public DOM APIs (they've got to be readonly)
- if (currentEntity != null)
- return;
-
- top = top.getParentNode ();
- }
-
- // SAX1 (mandatory reporting if validating)
- public void ignorableWhitespace (char ch [], int start, int length)
- throws SAXException
- {
- if (consumer.isHidingWhitespace ())
- return;
- characters (ch, start, length);
- }
-
- // SAX2 lexical event
- public void startCDATA ()
- throws SAXException
- {
- inCDATA = true;
- // true except for the first fragment of a cdata section
- mergeCDATA = false;
- }
-
- // SAX2 lexical event
- public void endCDATA ()
- throws SAXException
- {
- inCDATA = false;
- }
-
- // SAX2 lexical event
- //
- // this SAX2 callback merges two unrelated things:
- // - Declaration of the root element type ... belongs with
- // the other DTD declaration methods, NOT HERE.
- // - IDs for the optional external subset ... belongs here
- // with other lexical information.
- //
- // ...and it doesn't include the internal DTD subset, desired
- // both to support DOM L2 and to enable "pass through" processing
- //
- public void startDTD (String name, String publicId, String SystemId)
- throws SAXException
- {
- // need to filter out comments and PIs within the DTD
- inDTD = true;
- }
-
- // SAX2 lexical event
- public void endDTD ()
- throws SAXException
- {
- inDTD = false;
- }
-
- // SAX2 lexical event
- public void comment (char ch [], int start, int length)
- throws SAXException
- {
- Node comment;
-
- // we can't create populated entity ref nodes using
- // only public DOM APIs (they've got to be readonly)
- if (consumer.isHidingComments ()
- || inDTD
- || currentEntity != null)
- return;
- comment = document.createComment (new String (ch, start, length));
- top.appendChild (comment);
- }
-
- /**
- * May be overridden by subclasses to return true, indicating
- * that entity reference nodes can be populated and then made
- * read-only.
- */
- public boolean canPopulateEntityRefs ()
- { return false; }
-
- // SAX2 lexical event
- public void startEntity (String name)
- throws SAXException
- {
- // are we ignoring what would be contents of an
- // entity ref, since we can't populate it?
- if (currentEntity != null)
- return;
-
- // Are we hiding all entity boundaries?
- if (consumer.isHidingReferences ())
- return;
-
- // SAX2 shows parameter entities; DOM hides them
- if (name.charAt (0) == '%' || "[dtd]".equals (name))
- return;
-
- // Since we can't create a populated entity ref node in any
- // standard way, we create an unpopulated one.
- EntityReference ref = document.createEntityReference (name);
- top.appendChild (ref);
- top = ref;
-
- // ... allowing subclasses to populate them
- if (!canPopulateEntityRefs ())
- currentEntity = name;
- }
-
- // SAX2 lexical event
- public void endEntity (String name)
- throws SAXException
- {
- if (name.charAt (0) == '%' || "[dtd]".equals (name))
- return;
- if (name.equals (currentEntity))
- currentEntity = null;
- if (!consumer.isHidingReferences ())
- top = top.getParentNode ();
- }
-
-
- // SAX1 DTD event
- public void notationDecl (
- String name,
- String publicId, String SystemId
- ) throws SAXException
- {
- /* IGNORE -- no public DOM API lets us store these
- * into the doctype node
- */
- }
-
- // SAX1 DTD event
- public void unparsedEntityDecl (
- String name,
- String publicId, String SystemId,
- String notationName
- ) throws SAXException
- {
- /* IGNORE -- no public DOM API lets us store these
- * into the doctype node
- */
- }
-
- // SAX2 declaration event
- public void elementDecl (String name, String model)
- throws SAXException
- {
- /* IGNORE -- no content model support in DOM L2 */
- }
-
- // SAX2 declaration event
- public void attributeDecl (
- String eName,
- String aName,
- String type,
- String mode,
- String value
- ) throws SAXException
- {
- /* IGNORE -- no attribute model support in DOM L2 */
- }
-
- // SAX2 declaration event
- public void internalEntityDecl (String name, String value)
- throws SAXException
- {
- /* IGNORE -- no public DOM API lets us store these
- * into the doctype node
- */
- }
-
- // SAX2 declaration event
- public void externalEntityDecl (
- String name,
- String publicId,
- String SystemId
- ) throws SAXException
- {
- /* IGNORE -- no public DOM API lets us store these
- * into the doctype node
- */
- }
-
- //
- // These really should offer the option of nonfatal handling,
- // like other validity errors, though that would cause major
- // chaos in the DOM data structures. DOM is already spec'd
- // to treat many of these as fatal, so this is consistent.
- //
- private void namespaceError (String description)
- throws SAXParseException
- {
- SAXParseException err;
-
- err = new SAXParseException (description, locator);
- throw err;
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/EventConsumer.java b/external/jaxp/source/gnu/xml/pipeline/EventConsumer.java
deleted file mode 100755
index 8d2844d64..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/EventConsumer.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import org.xml.sax.*;
-
-
-/**
- * Collects the event consumption apparatus of a SAX pipeline stage.
- * Consumers which permit some handlers or other characteristics to be
- * configured will provide methods to support that configuration.
- *
- * <p> Two important categories of consumers include <em>filters</em>, which
- * process events and pass them on to other consumers, and <em>terminus</em>
- * (or <em>terminal</em>) stages, which don't pass events on. Filters are not
- * necessarily derived from the {@link EventFilter} class, although that
- * class can substantially simplify their construction by automating the
- * most common activities.
- *
- * <p> Event consumers which follow certain conventions for the signatures
- * of their constructors can be automatically assembled into pipelines
- * by the {@link PipelineFactory} class.
- *
- * @author David Brownell
- */
-public interface EventConsumer
-{
- /** Most stages process these core SAX callbacks. */
- public ContentHandler getContentHandler ();
-
- /** Few stages will use unparsed entities. */
- public DTDHandler getDTDHandler ();
-
- /**
- * This method works like the SAX2 XMLReader method of the same name,
- * and is used to retrieve the optional lexical and declaration handlers
- * in a pipeline.
- *
- * @param id This is a URI identifying the type of property desired.
- * @return The value of that property, if it is defined.
- *
- * @exception SAXNotRecognizedException Thrown if the particular
- * pipeline stage does not understand the specified identifier.
- */
- public Object getProperty (String id)
- throws SAXNotRecognizedException;
-
- /**
- * This method provides a filter stage with a handler that abstracts
- * presentation of warnings and both recoverable and fatal errors.
- * Most pipeline stages should share a single policy and mechanism
- * for such reports, since application components require consistency
- * in such activities. Accordingly, typical responses to this method
- * invocation involve saving the handler for use; filters will pass
- * it on to any other consumers they use.
- *
- * @param handler encapsulates error handling policy for this stage
- */
- public void setErrorHandler (ErrorHandler handler);
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/EventFilter.java b/external/jaxp/source/gnu/xml/pipeline/EventFilter.java
deleted file mode 100755
index 1292914fd..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/EventFilter.java
+++ /dev/null
@@ -1,786 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.XMLFilterImpl;
-
-
-/**
- * A customizable event consumer, used to assemble various kinds of filters
- * using SAX handlers and an optional second consumer. It can be constructed
- * in two ways: <ul>
- *
- * <li> To serve as a passthrough, sending all events to a second consumer.
- * The second consumer may be identified through {@link #getNext}.
- *
- * <li> To serve as a dead end, with all handlers null;
- * {@link #getNext} returns null.
- *
- * </ul>
- *
- * <p> Additionally, SAX handlers may be assigned, which completely replace
- * the "upstream" view (through {@link EventConsumer}) of handlers, initially
- * null or the "next" consumer provided to the constructor. To make
- * it easier to build specialized filter classes, this class implements
- * all the standard SAX consumer handlers, and those implementations
- * delegate "downstream" to the consumer accessed by {@link #getNext}.
- *
- * <p> The simplest way to create a custom a filter class is to create a
- * subclass which overrides one or more handler interface methods. The
- * constructor for that subclass then registers itself as a handler for
- * those interfaces using a call such as <em>setContentHandler(this)</em>,
- * so the "upstream" view of event delivery is modified from the state
- * established in the base class constructor. That way,
- * the overridden methods intercept those event callbacks
- * as they go "downstream", and
- * all other event callbacks will pass events to any next consumer.
- * Overridden methods may invoke superclass methods (perhaps after modifying
- * parameters) if they wish to delegate such calls. Such subclasses
- * should use {@link #getErrorHandler} to report errors using the
- * common error reporting mechanism.
- *
- * <p> Another important technique is to construct a filter consisting
- * of only a few specific types of handler. For example, one could easily
- * prune out lexical events or various declarations by providing handlers
- * which don't pass those events downstream, or by providing null handlers.
- *
- * <hr />
- *
- * <p> This may be viewed as the consumer oriented analogue of the SAX2
- * {@link org.xml.sax.helpers.XMLFilterImpl XMLFilterImpl} class.
- * Key differences include: <ul>
- *
- * <li> This fully separates consumer and producer roles: it
- * does not implement the producer side <em>XMLReader</em> or
- * <em>EntityResolver</em> interfaces, so it can only be used
- * in "push" mode (it has no <em>parse()</em> methods).
- *
- * <li> "Extension" handlers are fully supported, enabling a
- * richer set of application requirements.
- * And it implements {@link EventConsumer}, which groups related
- * consumer methods together, rather than leaving them separated.
- *
- * <li> The chaining which is visible is "downstream" to the next
- * consumer, not "upstream" to the preceding producer.
- * It supports "fan-in", where
- * a consumer can be fed by several producers. (For "fan-out",
- * see the {@link TeeConsumer} class.)
- *
- * <li> Event chaining is set up differently. It is intended to
- * work "upstream" from terminus towards producer, during filter
- * construction, as described above.
- * This is part of an early binding model:
- * events don't need to pass through stages which ignore them.
- *
- * <li> ErrorHandler support is separated, on the grounds that
- * pipeline stages need to share the same error handling policy.
- * For the same reason, error handler setup goes "downstream":
- * when error handlers get set, they are passed to subsequent
- * consumers.
- *
- * </ul>
- *
- * <p> The {@link #chainTo chainTo()} convenience routine supports chaining to
- * an XMLFilterImpl, in its role as a limited functionality event
- * consumer. Its event producer role ({@link XMLFilter}) is ignored.
- *
- * <hr />
- *
- * <p> The {@link #bind bind()} routine may be used associate event pipelines
- * with any kind of {@link XMLReader} that will produce the events.
- * Such pipelines don't necessarily need to have any members which are
- * implemented using this class. That routine has some intelligence
- * which supports automatic changes to parser feature flags, letting
- * event piplines become largely independent of the particular feature
- * sets of parsers.
- *
- * @author David Brownell
- */
-public class EventFilter
- implements EventConsumer, ContentHandler, DTDHandler,
- LexicalHandler, DeclHandler
-{
- // SAX handlers
- private ContentHandler docHandler, docNext;
- private DTDHandler dtdHandler, dtdNext;
- private LexicalHandler lexHandler, lexNext;
- private DeclHandler declHandler, declNext;
- // and ideally, one more for the stuff SAX2 doesn't show
-
- private Locator locator;
- private EventConsumer next;
- private ErrorHandler errHandler;
-
-
- /** SAX2 URI prefix for standard feature flags. */
- public static final String FEATURE_URI
- = "http://xml.org/sax/features/";
- /** SAX2 URI prefix for standard properties (mostly for handlers). */
- public static final String PROPERTY_URI
- = "http://xml.org/sax/properties/";
-
- /** SAX2 property identifier for {@link DeclHandler} events */
- public static final String DECL_HANDLER
- = PROPERTY_URI + "declaration-handler";
- /** SAX2 property identifier for {@link LexicalHandler} events */
- public static final String LEXICAL_HANDLER
- = PROPERTY_URI + "lexical-handler";
-
- //
- // These class objects will be null if the relevant class isn't linked.
- // Small configurations (pJava and some kinds of embedded systems) need
- // to facilitate smaller executables. So "instanceof" is undesirable
- // when bind() sees if it can remove some stages.
- //
- // SECURITY NOTE: assuming all these classes are part of the same sealed
- // package, there's no problem saving these in the instance of this class
- // that's associated with "this" class loader. But that wouldn't be true
- // for classes in another package.
- //
- private static boolean loaded;
- private static Class nsClass;
- private static Class validClass;
- private static Class wfClass;
- private static Class xincClass;
-
- static ClassLoader getClassLoader ()
- {
- Method m = null;
-
- try {
- m = Thread.class.getMethod("getContextClassLoader", null);
- } catch (NoSuchMethodException e) {
- // Assume that we are running JDK 1.1, use the current ClassLoader
- return EventFilter.class.getClassLoader();
- }
-
- try {
- return (ClassLoader) m.invoke(Thread.currentThread(), null);
- } catch (IllegalAccessException e) {
- // assert(false)
- throw new UnknownError(e.getMessage());
- } catch (InvocationTargetException e) {
- // assert(e.getTargetException() instanceof SecurityException)
- throw new UnknownError(e.getMessage());
- }
- }
-
- static Class loadClass (ClassLoader classLoader, String className)
- {
- try {
- if (classLoader == null)
- return Class.forName(className);
- else
- return classLoader.loadClass(className);
- } catch (Exception e) {
- return null;
- }
- }
-
- static private void loadClasses ()
- {
- ClassLoader loader = getClassLoader ();
-
- nsClass = loadClass (loader, "gnu.xml.pipeline.NSFilter");
- validClass = loadClass (loader, "gnu.xml.pipeline.ValidationConsumer");
- wfClass = loadClass (loader, "gnu.xml.pipeline.WellFormednessFilter");
- xincClass = loadClass (loader, "gnu.xml.pipeline.XIncludeFilter");
- loaded = true;
- }
-
-
- /**
- * Binds the standard SAX2 handlers from the specified consumer
- * pipeline to the specified producer. These handlers include the core
- * {@link ContentHandler} and {@link DTDHandler}, plus the extension
- * {@link DeclHandler} and {@link LexicalHandler}. Any additional
- * application-specific handlers need to be bound separately.
- * The {@link ErrorHandler} is handled differently: the producer's
- * error handler is passed through to the consumer pipeline.
- * The producer is told to include namespace prefix information if it
- * can, since many pipeline stages need that Infoset information to
- * work well.
- *
- * <p> At the head of the pipeline, certain standard event filters are
- * recognized and handled specially. This facilitates construction
- * of processing pipelines that work regardless of the capabilities
- * of the XMLReader implementation in use; for example, it permits
- * validating output of a {@link gnu.xml.util.DomParser}. <ul>
- *
- * <li> {@link NSFilter} will be removed if the producer can be
- * told not to discard namespace data, using the "namespace-prefixes"
- * feature flag.
- *
- * <li> {@link ValidationConsumer} will be removed if the producer
- * can be told to validate, using the "validation" feature flag.
- *
- * <li> {@link WellFormednessFilter} is always removed, on the
- * grounds that no XMLReader is permitted to producee malformed
- * event streams and this would just be processing overhead.
- *
- * <li> {@link XIncludeFilter} stops the special handling, except
- * that it's told about the "namespace-prefixes" feature of the
- * event producer so that the event stream is internally consistent.
- *
- * <li> The first consumer which is not one of those classes stops
- * such special handling. This means that if you want to force
- * one of those filters to be used, you could just precede it with
- * an instance of {@link EventFilter} configured as a pass-through.
- * You might need to do that if you are using an {@link NSFilter}
- * subclass to fix names found in attributes or character data.
- *
- * </ul>
- *
- * <p> Other than that, this method works with any kind of event consumer,
- * not just event filters. Note that in all cases, the standard handlers
- * are assigned; any previous handler assignments for the handler will
- * be overridden.
- *
- * @param producer will deliver events to the specified consumer
- * @param consumer pipeline supplying event handlers to be associated
- * with the producer (may not be null)
- */
- public static void bind (XMLReader producer, EventConsumer consumer)
- {
- Class klass = null;
- boolean prefixes;
-
- if (!loaded)
- loadClasses ();
-
- // DOM building, printing, layered validation, and other
- // things don't work well when prefix info is discarded.
- // Include it by default, whenever possible.
- try {
- producer.setFeature (FEATURE_URI + "namespace-prefixes",
- true);
- prefixes = true;
- } catch (SAXException e) {
- prefixes = false;
- }
-
- // NOTE: This loop doesn't use "instanceof", since that
- // would prevent compiling/linking without those classes
- // being present.
- while (consumer != null) {
- klass = consumer.getClass ();
-
- // we might have already changed this problematic SAX2 default.
- if (nsClass != null && nsClass.isAssignableFrom (klass)) {
- if (!prefixes)
- break;
- consumer = ((EventFilter)consumer).getNext ();
-
- // the parser _might_ do DTD validation by default ...
- // if not, maybe we can change this setting.
- } else if (validClass != null
- && validClass.isAssignableFrom (klass)) {
- try {
- producer.setFeature (FEATURE_URI + "validation",
- true);
- consumer = ((ValidationConsumer)consumer).getNext ();
- } catch (SAXException e) {
- break;
- }
-
- // parsers are required not to have such bugs
- } else if (wfClass != null && wfClass.isAssignableFrom (klass)) {
- consumer = ((WellFormednessFilter)consumer).getNext ();
-
- // stop on the first pipeline stage we can't remove
- } else
- break;
-
- if (consumer == null)
- klass = null;
- }
-
- // the actual setting here doesn't matter as much
- // as that producer and consumer agree
- if (xincClass != null && klass != null
- && xincClass.isAssignableFrom (klass))
- ((XIncludeFilter)consumer).setSavingPrefixes (prefixes);
-
- // Some SAX parsers can't handle null handlers -- bleech
- DefaultHandler2 h = new DefaultHandler2 ();
-
- if (consumer != null && consumer.getContentHandler () != null)
- producer.setContentHandler (consumer.getContentHandler ());
- else
- producer.setContentHandler (h);
- if (consumer != null && consumer.getDTDHandler () != null)
- producer.setDTDHandler (consumer.getDTDHandler ());
- else
- producer.setDTDHandler (h);
-
- try {
- Object dh;
-
- if (consumer != null)
- dh = consumer.getProperty (DECL_HANDLER);
- else
- dh = null;
- if (dh == null)
- dh = h;
- producer.setProperty (DECL_HANDLER, dh);
- } catch (Exception e) { /* ignore */ }
- try {
- Object lh;
-
- if (consumer != null)
- lh = consumer.getProperty (LEXICAL_HANDLER);
- else
- lh = null;
- if (lh == null)
- lh = h;
- producer.setProperty (LEXICAL_HANDLER, lh);
- } catch (Exception e) { /* ignore */ }
-
- // this binding goes the other way around
- if (producer.getErrorHandler () == null)
- producer.setErrorHandler (h);
- if (consumer != null)
- consumer.setErrorHandler (producer.getErrorHandler ());
- }
-
- /**
- * Initializes all handlers to null.
- */
- // constructor used by PipelineFactory
- public EventFilter () { }
-
-
- /**
- * Handlers that are not otherwise set will default to those from
- * the specified consumer, making it easy to pass events through.
- * If the consumer is null, all handlers are initialzed to null.
- */
- // constructor used by PipelineFactory
- public EventFilter (EventConsumer consumer)
- {
- if (consumer == null)
- return;
-
- next = consumer;
-
- // We delegate through the "xxNext" handlers, and
- // report the "xxHandler" ones on our input side.
-
- // Normally a subclass would both override handler
- // methods and register itself as the "xxHandler".
-
- docHandler = docNext = consumer.getContentHandler ();
- dtdHandler = dtdNext = consumer.getDTDHandler ();
- try {
- declHandler = declNext = (DeclHandler)
- consumer.getProperty (DECL_HANDLER);
- } catch (SAXException e) { /* leave value null */ }
- try {
- lexHandler = lexNext = (LexicalHandler)
- consumer.getProperty (LEXICAL_HANDLER);
- } catch (SAXException e) { /* leave value null */ }
- }
-
- /**
- * Treats the XMLFilterImpl as a limited functionality event consumer,
- * by arranging to deliver events to it; this lets such classes be
- * "wrapped" as pipeline stages.
- *
- * <p> <em>Upstream Event Setup:</em>
- * If no handlers have been assigned to this EventFilter, then the
- * handlers from specified XMLFilterImpl are returned from this
- * {@link EventConsumer}: the XMLFilterImpl is just "wrapped".
- * Otherwise the specified handlers will be returned.
- *
- * <p> <em>Downstream Event Setup:</em>
- * Subclasses may chain event delivery to the specified XMLFilterImpl
- * by invoking the appropiate superclass methods,
- * as if their constructor passed a "next" EventConsumer to the
- * constructor for this class.
- * If this EventFilter has an ErrorHandler, it is assigned as
- * the error handler for the XMLFilterImpl, just as would be
- * done for a next stage implementing {@link EventConsumer}.
- *
- * @param next the next downstream component of the pipeline.
- * @exception IllegalStateException if the "next" consumer has
- * already been set through the constructor.
- */
- public void chainTo (XMLFilterImpl next)
- {
- if (this.next != null)
- throw new IllegalStateException ();
-
- docNext = next.getContentHandler ();
- if (docHandler == null)
- docHandler = docNext;
- dtdNext = next.getDTDHandler ();
- if (dtdHandler == null)
- dtdHandler = dtdNext;
-
- try {
- declNext = (DeclHandler) next.getProperty (DECL_HANDLER);
- if (declHandler == null)
- declHandler = declNext;
- } catch (SAXException e) { /* leave value null */ }
- try {
- lexNext = (LexicalHandler) next.getProperty (LEXICAL_HANDLER);
- if (lexHandler == null)
- lexHandler = lexNext;
- } catch (SAXException e) { /* leave value null */ }
-
- if (errHandler != null)
- next.setErrorHandler (errHandler);
- }
-
- /**
- * Records the error handler that should be used by this stage, and
- * passes it "downstream" to any subsequent stage.
- */
- final public void setErrorHandler (ErrorHandler handler)
- {
- errHandler = handler;
- if (next != null)
- next.setErrorHandler (handler);
- }
-
- /**
- * Returns the error handler assigned this filter stage, or null
- * if no such assigment has been made.
- */
- final public ErrorHandler getErrorHandler ()
- {
- return errHandler;
- }
-
-
- /**
- * Returns the next event consumer in sequence; or null if there
- * is no such handler.
- */
- final public EventConsumer getNext ()
- { return next; }
-
-
- /**
- * Assigns the content handler to use; a null handler indicates
- * that these events will not be forwarded.
- * This overrides the previous settting for this handler, which was
- * probably pointed to the next consumer by the base class constructor.
- */
- final public void setContentHandler (ContentHandler h)
- {
- docHandler = h;
- }
-
- /** Returns the content handler being used. */
- final public ContentHandler getContentHandler ()
- {
- return docHandler;
- }
-
- /**
- * Assigns the DTD handler to use; a null handler indicates
- * that these events will not be forwarded.
- * This overrides the previous settting for this handler, which was
- * probably pointed to the next consumer by the base class constructor.
- */
- final public void setDTDHandler (DTDHandler h)
- { dtdHandler = h; }
-
- /** Returns the dtd handler being used. */
- final public DTDHandler getDTDHandler ()
- {
- return dtdHandler;
- }
-
- /**
- * Stores the property, normally a handler; a null handler indicates
- * that these events will not be forwarded.
- * This overrides the previous handler settting, which was probably
- * pointed to the next consumer by the base class constructor.
- */
- final public void setProperty (String id, Object o)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- try {
- Object value = getProperty (id);
-
- if (value == o)
- return;
- if (DECL_HANDLER.equals (id)) {
- declHandler = (DeclHandler) o;
- return;
- }
- if (LEXICAL_HANDLER.equals (id)) {
- lexHandler = (LexicalHandler) o;
- return;
- }
- throw new SAXNotSupportedException (id);
-
- } catch (ClassCastException e) {
- throw new SAXNotSupportedException (id);
- }
- }
-
- /** Retrieves a property of unknown intent (usually a handler) */
- final public Object getProperty (String id)
- throws SAXNotRecognizedException
- {
- if (DECL_HANDLER.equals (id))
- return declHandler;
- if (LEXICAL_HANDLER.equals (id))
- return lexHandler;
-
- throw new SAXNotRecognizedException (id);
- }
-
- /**
- * Returns any locator provided to the next consumer, if this class
- * (or a subclass) is handling {@link ContentHandler } events.
- */
- public Locator getDocumentLocator ()
- { return locator; }
-
-
- // CONTENT HANDLER DELEGATIONS
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void setDocumentLocator (Locator locator)
- {
- this.locator = locator;
- if (docNext != null)
- docNext.setDocumentLocator (locator);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void startDocument () throws SAXException
- {
- if (docNext != null)
- docNext.startDocument ();
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void skippedEntity (String name) throws SAXException
- {
- if (docNext != null)
- docNext.skippedEntity (name);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (docNext != null)
- docNext.processingInstruction (target, data);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void characters (char ch [], int start, int length)
- throws SAXException
- {
- if (docNext != null)
- docNext.characters (ch, start, length);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void ignorableWhitespace (char ch [], int start, int length)
- throws SAXException
- {
- if (docNext != null)
- docNext.ignorableWhitespace (ch, start, length);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- if (docNext != null)
- docNext.startPrefixMapping (prefix, uri);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void startElement (
- String uri, String localName,
- String qName, Attributes atts
- ) throws SAXException
- {
- if (docNext != null)
- docNext.startElement (uri, localName, qName, atts);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- if (docNext != null)
- docNext.endElement (uri, localName, qName);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void endPrefixMapping (String prefix) throws SAXException
- {
- if (docNext != null)
- docNext.endPrefixMapping (prefix);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void endDocument () throws SAXException
- {
- if (docNext != null)
- docNext.endDocument ();
- locator = null;
- }
-
-
- // DTD HANDLER DELEGATIONS
-
- /** <b>SAX1:</b> passes this callback to the next consumer, if any */
- public void unparsedEntityDecl (
- String name,
- String publicId,
- String systemId,
- String notationName
- ) throws SAXException
- {
- if (dtdNext != null)
- dtdNext.unparsedEntityDecl (name, publicId, systemId, notationName);
- }
-
- /** <b>SAX1:</b> passes this callback to the next consumer, if any */
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- if (dtdNext != null)
- dtdNext.notationDecl (name, publicId, systemId);
- }
-
-
- // LEXICAL HANDLER DELEGATIONS
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {
- if (lexNext != null)
- lexNext.startDTD (name, publicId, systemId);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void endDTD ()
- throws SAXException
- {
- if (lexNext != null)
- lexNext.endDTD ();
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void comment (char ch [], int start, int length)
- throws SAXException
- {
- if (lexNext != null)
- lexNext.comment (ch, start, length);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void startCDATA ()
- throws SAXException
- {
- if (lexNext != null)
- lexNext.startCDATA ();
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void endCDATA ()
- throws SAXException
- {
- if (lexNext != null)
- lexNext.endCDATA ();
- }
-
- /**
- * <b>SAX2:</b> passes this callback to the next consumer, if any.
- */
- public void startEntity (String name)
- throws SAXException
- {
- if (lexNext != null)
- lexNext.startEntity (name);
- }
-
- /**
- * <b>SAX2:</b> passes this callback to the next consumer, if any.
- */
- public void endEntity (String name)
- throws SAXException
- {
- if (lexNext != null)
- lexNext.endEntity (name);
- }
-
-
- // DECLARATION HANDLER DELEGATIONS
-
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void elementDecl (String name, String model)
- throws SAXException
- {
- if (declNext != null)
- declNext.elementDecl (name, model);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void attributeDecl (String eName, String aName,
- String type, String mode, String value)
- throws SAXException
- {
- if (declNext != null)
- declNext.attributeDecl (eName, aName, type, mode, value);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void externalEntityDecl (String name,
- String publicId, String systemId)
- throws SAXException
- {
- if (declNext != null)
- declNext.externalEntityDecl (name, publicId, systemId);
- }
-
- /** <b>SAX2:</b> passes this callback to the next consumer, if any */
- public void internalEntityDecl (String name, String value)
- throws SAXException
- {
- if (declNext != null)
- declNext.internalEntityDecl (name, value);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/LinkFilter.java b/external/jaxp/source/gnu/xml/pipeline/LinkFilter.java
deleted file mode 100644
index 811fc0300..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/LinkFilter.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-
-
-/**
- * Pipeline filter to remember XHTML links found in a document,
- * so they can later be crawled. Fragments are not counted, and duplicates
- * are ignored. Callers are responsible for filtering out URLs they aren't
- * interested in. Events are passed through unmodified.
- *
- * <p> Input MUST include a setDocumentLocator() call, as it's used to
- * resolve relative links in the absence of a "base" element. Input MUST
- * also include namespace identifiers, since it is the XHTML namespace
- * identifier which is used to identify the relevant elements.
- *
- * <p><em>FIXME:</em> handle xml:base attribute ... in association with
- * a stack of base URIs. Similarly, recognize/support XLink data.
- *
- * @author David Brownell
- */
-public class LinkFilter extends EventFilter
-{
- // for storing URIs
- private Vector vector = new Vector ();
-
- // struct for "full" link record (tbd)
- // these for troubleshooting original source:
- // original uri
- // uri as resolved (base, relative, etc)
- // URI of originating doc
- // line #
- // original element + attrs (img src, desc, etc)
-
- // XLink model of the link ... for inter-site pairups ?
-
- private String baseURI;
-
- private boolean siteRestricted = false;
-
- //
- // XXX leverage blacklist info (like robots.txt)
- //
- // XXX constructor w/param ... pipeline for sending link data
- // probably XHTML --> XLink, providing info as sketched above
- //
-
-
- /**
- * Constructs a new event filter, which collects links in private data
- * structure for later enumeration.
- */
- // constructor used by PipelineFactory
- public LinkFilter ()
- {
- super.setContentHandler (this);
- }
-
-
- /**
- * Constructs a new event filter, which collects links in private data
- * structure for later enumeration and passes all events, unmodified,
- * to the next consumer.
- */
- // constructor used by PipelineFactory
- public LinkFilter (EventConsumer next)
- {
- super (next);
- super.setContentHandler (this);
- }
-
-
- /**
- * Returns an enumeration of the links found since the filter
- * was constructed, or since removeAllLinks() was called.
- *
- * @return enumeration of strings.
- */
- public Enumeration getLinks ()
- {
- return vector.elements ();
- }
-
- /**
- * Removes records about all links reported to the event
- * stream, as if the filter were newly created.
- */
- public void removeAllLinks ()
- {
- vector = new Vector ();
- }
-
-
- /**
- * Collects URIs for (X)HTML content from elements which hold them.
- */
- public void startElement (
- String uri,
- String localName,
- String qName,
- Attributes atts
- ) throws SAXException
- {
- String link;
-
- // Recognize XHTML links.
- if ("http://www.w3.org/1999/xhtml".equals (uri)) {
-
- if ("a".equals (localName) || "base".equals (localName)
- || "area".equals (localName))
- link = atts.getValue ("href");
- else if ("iframe".equals (localName) || "frame".equals (localName))
- link = atts.getValue ("src");
- else if ("blockquote".equals (localName) || "q".equals (localName)
- || "ins".equals (localName) || "del".equals (localName))
- link = atts.getValue ("cite");
- else
- link = null;
- link = maybeAddLink (link);
-
- // "base" modifies designated baseURI
- if ("base".equals (localName) && link != null)
- baseURI = link;
-
- if ("iframe".equals (localName) || "img".equals (localName))
- maybeAddLink (atts.getValue ("longdesc"));
- }
-
- super.startElement (uri, localName, qName, atts);
- }
-
- private String maybeAddLink (String link)
- {
- int index;
-
- // ignore empty links and fragments inside docs
- if (link == null)
- return null;
- if ((index = link.indexOf ("#")) >= 0)
- link = link.substring (0, index);
- if (link.equals (""))
- return null;
-
- try {
- // get the real URI
- URL base = new URL ((baseURI != null)
- ? baseURI
- : getDocumentLocator ().getSystemId ());
- URL url = new URL (base, link);
-
- link = url.toString ();
-
- // ignore duplicates
- if (vector.contains (link))
- return link;
-
- // other than what "base" does, stick to original site:
- if (siteRestricted) {
- // don't switch protocols
- if (!base.getProtocol ().equals (url.getProtocol ()))
- return link;
- // don't switch servers
- if (base.getHost () != null
- && !base.getHost ().equals (url.getHost ()))
- return link;
- }
-
- vector.addElement (link);
-
- return link;
-
- } catch (IOException e) {
- // bad URLs we don't want
- }
- return null;
- }
-
- /**
- * Reports an error if no Locator has been made available.
- */
- public void startDocument ()
- throws SAXException
- {
- if (getDocumentLocator () == null)
- throw new SAXException ("no Locator!");
- }
-
- /**
- * Forgets about any base URI information that may be recorded.
- * Applications will often want to call removeAllLinks(), likely
- * after examining the links which were reported.
- */
- public void endDocument ()
- throws SAXException
- {
- baseURI = null;
- super.endDocument ();
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/NSFilter.java b/external/jaxp/source/gnu/xml/pipeline/NSFilter.java
deleted file mode 100644
index a93ab43e0..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/NSFilter.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.util.EmptyStackException;
-import java.util.Enumeration;
-import java.util.Stack;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.AttributesImpl;
-import org.xml.sax.helpers.NamespaceSupport;
-
-
-/**
- * This filter ensures that element and attribute names are properly prefixed,
- * and that such prefixes are declared. Such data is critical for operations
- * like writing XML text, and validating against DTDs: names or their prefixes
- * may have been discarded, although they are essential to the exchange of
- * information using XML. There are various common ways that such data
- * gets discarded: <ul>
- *
- * <li> By default, SAX2 parsers must discard the "xmlns*"
- * attributes, and may also choose not to report properly prefixed
- * names for elements or attributes. (Some parsers may support
- * changing the <em>namespace-prefixes</em> value from the default
- * to <em>true</em>, effectively eliminating the need to use this
- * filter on their output.)
- *
- * <li> When event streams are generated from a DOM tree, they may
- * have never have had prefixes or declarations for namespaces; or
- * the existing prefixes or declarations may have been invalidated
- * by structural modifications to that DOM tree.
- *
- * <li> Other software writing SAX event streams won't necessarily
- * be worrying about prefix management, and so they will need to
- * have a transparent solution for managing them.
- *
- * </ul>
- *
- * <p> This filter uses a heuristic to choose the prefix to assign to any
- * particular name which wasn't already corectly prefixed. The associated
- * namespace will be correct, and the prefix will be declared. Original
- * structures facilitating text editing, such as conventions about use of
- * mnemonic prefix names or the scoping of prefixes, can't always be
- * reconstructed after they are discarded, as strongly encouraged by the
- * current SAX2 defaults.
- *
- * <p> Note that this can't possibly know whether values inside attribute
- * value or document content involve prefixed names. If your application
- * requires using prefixed names in such locations you'll need to add some
- * appropriate logic (perhaps adding additional heuristics in a subclass).
- *
- * @author David Brownell
- */
-public class NSFilter extends EventFilter
-{
- private NamespaceSupport nsStack = new NamespaceSupport ();
- private Stack elementStack = new Stack ();
-
- private boolean pushedContext;
- private String nsTemp [] = new String [3];
- private AttributesImpl attributes = new AttributesImpl ();
- private boolean usedDefault;
-
- // gensymmed prefixes use this root name
- private static final String prefixRoot = "prefix-";
-
-
- /**
- * Passes events through to the specified consumer, after first
- * processing them.
- *
- * @param next the next event consumer to receive events.
- */
- // constructor used by PipelineFactory
- public NSFilter (EventConsumer next)
- {
- super (next);
-
- setContentHandler (this);
- }
-
- private void fatalError (String message)
- throws SAXException
- {
- SAXParseException e;
- ErrorHandler handler = getErrorHandler ();
- Locator locator = getDocumentLocator ();
-
- if (locator == null)
- e = new SAXParseException (message, null, null, -1, -1);
- else
- e = new SAXParseException (message, locator);
- if (handler != null)
- handler.fatalError (e);
- throw e;
- }
-
-
- public void startDocument () throws SAXException
- {
- elementStack.removeAllElements ();
- nsStack.reset ();
- pushedContext = false;
- super.startDocument ();
- }
-
- /**
- * This call is not passed to the next consumer in the chain.
- * Prefix declarations and scopes are only exposed in the form
- * of attributes; this callback just records a declaration that
- * will be exposed as an attribute.
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- if (pushedContext == false) {
- nsStack.pushContext ();
- pushedContext = true;
- }
-
- // this check is awkward, but the paranoia prevents big trouble
- for (Enumeration e = nsStack.getDeclaredPrefixes ();
- e.hasMoreElements ();
- /* NOP */ ) {
- String declared = (String) e.nextElement ();
-
- if (!declared.equals (prefix))
- continue;
- if (uri.equals (nsStack.getURI (prefix)))
- return;
- fatalError ("inconsistent binding for prefix '" + prefix
- + "' ... " + uri + " (was " + nsStack.getURI (prefix) + ")");
- }
-
- if (!nsStack.declarePrefix (prefix, uri))
- fatalError ("illegal prefix declared: " + prefix);
- }
-
- private String fixName (String ns, String l, String name, boolean isAttr)
- throws SAXException
- {
- if ("".equals (name) || name == null) {
- name = l;
- if ("".equals (name) || name == null)
- fatalError ("empty/null name");
- }
-
- // can we correctly process the name as-is?
- // handles "element scope" attribute names here.
- if (nsStack.processName (name, nsTemp, isAttr) != null
- && nsTemp [0].equals (ns)
- ) {
- return nsTemp [2];
- }
-
- // nope, gotta modify the name or declare a default mapping
- int temp;
-
- // get rid of any current prefix
- if ((temp = name.indexOf (':')) >= 0) {
- name = name.substring (temp + 1);
-
- // ... maybe that's enough (use/prefer default namespace) ...
- if (!isAttr && nsStack.processName (name, nsTemp, false) != null
- && nsTemp [0].equals (ns)
- ) {
- return nsTemp [2];
- }
- }
-
- // must we define and use the default/undefined prefix?
- if ("".equals (ns)) {
- if (isAttr)
- fatalError ("processName bug");
- if (attributes.getIndex ("xmlns") != -1)
- fatalError ("need to undefine default NS, but it's bound: "
- + attributes.getValue ("xmlns"));
-
- nsStack.declarePrefix ("", "");
- attributes.addAttribute ("", "", "xmlns", "CDATA", "");
- return name;
- }
-
- // is there at least one non-null prefix we can use?
- for (Enumeration e = nsStack.getDeclaredPrefixes ();
- e.hasMoreElements ();
- /* NOP */) {
- String prefix = (String) e.nextElement ();
- String uri = nsStack.getURI (prefix);
-
- if (uri == null || !uri.equals (ns))
- continue;
- return prefix + ":" + name;
- }
-
- // no such luck. create a prefix name, declare it, use it.
- for (temp = 0; temp >= 0; temp++) {
- String prefix = prefixRoot + temp;
-
- if (nsStack.getURI (prefix) == null) {
- nsStack.declarePrefix (prefix, ns);
- attributes.addAttribute ("", "", "xmlns:" + prefix,
- "CDATA", ns);
- return prefix + ":" + name;
- }
- }
- fatalError ("too many prefixes genned");
- // NOTREACHED
- return null;
- }
-
- public void startElement (
- String uri, String localName,
- String qName, Attributes atts
- ) throws SAXException
- {
- if (!pushedContext)
- nsStack.pushContext ();
- pushedContext = false;
-
- // make sure we have all NS declarations handy before we start
- int length = atts.getLength ();
-
- for (int i = 0; i < length; i++) {
- String aName = atts.getQName (i);
-
- if (!aName.startsWith ("xmlns"))
- continue;
-
- String prefix;
-
- if ("xmlns".equals (aName))
- prefix = "";
- else if (aName.indexOf (':') == 5)
- prefix = aName.substring (6);
- else // "xmlnsfoo" etc.
- continue;
- startPrefixMapping (prefix, atts.getValue (i));
- }
-
- // put namespace decls at the start of our regenned attlist
- attributes.clear ();
- for (Enumeration e = nsStack.getDeclaredPrefixes ();
- e.hasMoreElements ();
- /* NOP */) {
- String prefix = (String) e.nextElement ();
-
- attributes.addAttribute ("", "",
- ("".equals (prefix)
- ? "xmlns"
- : "xmlns:" + prefix),
- "CDATA",
- nsStack.getURI (prefix));
- }
-
- // name fixups: element, then attributes.
- // fixName may declare a new prefix or, for the element,
- // redeclare the default (if element name needs it).
- qName = fixName (uri, localName, qName, false);
-
- for (int i = 0; i < length; i++) {
- String aName = atts.getQName (i);
- String aNS = atts.getURI (i);
- String aLocal = atts.getLocalName (i);
- String aType = atts.getType (i);
- String aValue = atts.getValue (i);
-
- if (aName.startsWith ("xmlns"))
- continue;
- aName = fixName (aNS, aLocal, aName, true);
- attributes.addAttribute (aNS, aLocal, aName, aType, aValue);
- }
-
- elementStack.push (qName);
-
- // pass event along, with cleaned-up names and decls.
- super.startElement (uri, localName, qName, attributes);
- }
-
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- nsStack.popContext ();
- qName = (String) elementStack.pop ();
- super.endElement (uri, localName, qName);
- }
-
- /**
- * This call is not passed to the next consumer in the chain.
- * Prefix declarations and scopes are only exposed in their
- * attribute form.
- */
- public void endPrefixMapping (String prefix)
- throws SAXException
- { }
-
- public void endDocument () throws SAXException
- {
- elementStack.removeAllElements ();
- nsStack.reset ();
- super.endDocument ();
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/PipelineFactory.java b/external/jaxp/source/gnu/xml/pipeline/PipelineFactory.java
deleted file mode 100644
index 27c25df62..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/PipelineFactory.java
+++ /dev/null
@@ -1,712 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.lang.reflect.Constructor;
-import java.util.StringTokenizer;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-
-
-/**
- * This provides static factory methods for creating simple event pipelines.
- * These pipelines are specified by strings, suitable for passing on
- * command lines or embedding in element attributes. For example, one way
- * to write a pipeline that restores namespace syntax, validates (stopping
- * the pipeline on validity errors) and then writes valid data to standard
- * output is this: <pre>
- * nsfix | validate | write ( stdout )</pre>
- *
- * <p> In this syntax, the tokens are always separated by whitespace, and each
- * stage of the pipeline may optionally have a parameter (which can be a
- * pipeline) in parentheses. Interior stages are called filters, and the
- * rightmost end of a pipeline is called a terminus.
- *
- * <p> Stages are usually implemented by a single class, which may not be
- * able to act as both a filter and a terminus; but any terminus can be
- * automatically turned into a filter, through use of a {@link TeeConsumer}.
- * The stage identifiers are either class names, or are one of the following
- * short identifiers built into this class. (Most of these identifiers are
- * no more than aliases for classes.) The built-in identifiers include:</p>
-
- <table border="1" cellpadding="3" cellspacing="0">
- <tr bgcolor="#ccccff" class="TableHeadingColor">
- <th align="center" width="5%">Stage</th>
- <th align="center" width="9%">Parameter</th>
- <th align="center" width="1%">Terminus</th>
- <th align="center">Description</th>
- </tr>
-
- <tr valign="top" align="center">
- <td><a href="../dom/Consumer.html">dom</a></td>
- <td><em>none</em></td>
- <td> yes </td>
- <td align="left"> Applications code can access a DOM Document built
- from the input event stream. When used as a filter, this buffers
- data up to an <em>endDocument</em> call, and then uses a DOM parser
- to report everything that has been recorded (which can easily be
- less than what was reported to it). </td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="NSFilter.html">nsfix</a></td>
- <td><em>none</em></td>
- <td>no</td>
- <td align="left">This stage ensures that the XML element and attribute
- names in its output use namespace prefixes and declarations correctly.
- That is, so that they match the "Namespace plus LocalName" naming data
- with which each XML element and attribute is already associated. </td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="EventFilter.html">null</a></td>
- <td><em>none</em></td>
- <td>yes</td>
- <td align="left">This stage ignores all input event data.</td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="CallFilter.html">server</a></td>
- <td><em>required</em><br> server URL </td>
- <td>no</td>
- <td align="left">Sends its input as XML request to a remote server,
- normally a web application server using the HTTP or HTTPS protocols.
- The output of this stage is the parsed response from that server.</td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="TeeConsumer.html">tee</a></td>
- <td><em>required</em><br> first pipeline</td>
- <td>no</td>
- <td align="left">This sends its events down two paths; its parameter
- is a pipeline descriptor for the first path, and the second path
- is the output of this stage.</td>
- </tr>
-
- <tr valign="top" align="center">
- <td><a href="ValidationConsumer.html">validate</a></td>
- <td><em>none</em></td>
- <td>yes</td>
- <td align="left">This checks for validity errors, and reports them
- through its error handler. The input must include declaration events
- and some lexical events. </td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="WellFormednessFilter.html">wf</a></td>
- <td><em>none</em></td>
- <td>yes</td>
- <td align="left"> This class provides some basic "well formedness"
- tests on the input event stream, and reports a fatal error if any
- of them fail. One example: start/end calls for elements must match.
- No SAX parser is permitted to produce malformed output, but other
- components can easily do so.</td>
- </tr>
- <tr valign="top" align="center">
- <td>write</td>
- <td><em>required</em><br> "stdout", "stderr", or filename</td>
- <td>yes</td>
- <td align="left"> Writes its input to the specified output, as pretty
- printed XML text encoded using UTF-8. Input events must be well
- formed and "namespace fixed", else the output won't be XML (or possibly
- namespace) conformant. The symbolic names represent
- <em>System.out</em> and <em>System.err</em> respectively; names must
- correspond to files which don't yet exist.</td>
- </tr>
- <tr valign="top" align="center">
- <td>xhtml</td>
- <td><em>required</em><br> "stdout", "stderr", or filename</td>
- <td>yes</td>
- <td align="left"> Like <em>write</em> (above), except that XHTML rules
- are followed. The XHTML 1.0 Transitional document type is declared,
- and only ASCII characters are written (for interoperability). Other
- characters are written as entity or character references; the text is
- pretty printed.</td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="XIncludeFilter.html">xinclude</a></td>
- <td><em>none</em></td>
- <td>no</td>
- <td align="left">This stage handles XInclude processing.
- This is like entity inclusion, except that the included content
- is declared in-line rather than in the DTD at the beginning of
- a document.
- </td>
- </tr>
- <tr valign="top" align="center">
- <td><a href="XsltFilter.html">xslt</a></td>
- <td><em>required</em><br> XSLT stylesheet URI</td>
- <td>no</td>
- <td align="left">This stage handles XSLT transformation
- according to a stylesheet.
- The implementation of the transformation may not actually
- stream data, although if such an XSLT engine is in use
- then that can happen.
- </td>
- </tr>
-
- </table>
-
- * <p> Note that {@link EventFilter#bind} can automatically eliminate
- * some filters by setting SAX2 parser features appropriately. This means
- * that you can routinely put filters like "nsfix", "validate", or "wf" at the
- * front of a pipeline (for components that need inputs conditioned to match
- * that level of correctness), and know that it won't actually be used unless
- * it's absolutely necessary.
- *
- * @author David Brownell
- */
-public class PipelineFactory
-{
- /**
- * Creates a simple pipeline according to the description string passed in.
- */
- public static EventConsumer createPipeline (String description)
- throws IOException
- {
- return createPipeline (description, null);
- }
-
- /**
- * Extends an existing pipeline by prepending the filter pipeline to the
- * specified consumer. Some pipelines need more customization than can
- * be done through this simplified syntax. When they are set up with
- * direct API calls, use this method to merge more complex pipeline
- * segments with easily configured ones.
- */
- public static EventConsumer createPipeline (
- String description,
- EventConsumer next
- ) throws IOException
- {
- // tokens are (for now) what's separated by whitespace;
- // very easy to parse, but IDs never have spaces.
-
- StringTokenizer tokenizer;
- String tokens [];
-
- tokenizer = new StringTokenizer (description);
- tokens = new String [tokenizer.countTokens ()];
- for (int i = 0; i < tokens.length; i++)
- tokens [i] = tokenizer.nextToken ();
-
- PipelineFactory factory = new PipelineFactory ();
- Pipeline pipeline = factory.parsePipeline (tokens, next);
-
- return pipeline.createPipeline ();
- }
-
-
- private PipelineFactory () { /* NYET */ }
-
-
- /**
- * Extends an existing pipeline by prepending a pre-tokenized filter
- * pipeline to the specified consumer. Tokens are class names (or the
- * predefined aliases) left and right parenthesis, and the vertical bar.
- */
- public static EventConsumer createPipeline (
- String tokens [],
- EventConsumer next
- ) throws IOException
- {
- PipelineFactory factory = new PipelineFactory ();
- Pipeline pipeline = factory.parsePipeline (tokens, next);
-
- return pipeline.createPipeline ();
- }
-
-
- private String tokens [];
- private int index;
-
- private Pipeline parsePipeline (String toks [], EventConsumer next)
- {
- tokens = toks;
- index = 0;
-
- Pipeline retval = parsePipeline (next);
-
- if (index != toks.length)
- throw new ArrayIndexOutOfBoundsException (
- "extra token: " + tokens [index]);
- return retval;
- }
-
- // pipeline ::= stage | stage '|' pipeline
- private Pipeline parsePipeline (EventConsumer next)
- {
- Pipeline retval = new Pipeline (parseStage ());
-
- // minimal pipelines: "stage" and "... | id"
- if (index > (tokens.length - 2)
- || !"|".equals (tokens [index])
- ) {
- retval.next = next;
- return retval;
- }
- index++;
- retval.rest = parsePipeline (next);
- return retval;
- }
-
- // stage ::= id | id '(' pipeline ')'
- private Stage parseStage ()
- {
- Stage retval = new Stage (tokens [index++]);
-
- // minimal stages: "id" and "id ( id )"
- if (index > (tokens.length - 2)
- || !"(".equals (tokens [index]) /*)*/
- )
- return retval;
-
- index++;
- retval.param = parsePipeline (null);
- if (index >= tokens.length)
- throw new ArrayIndexOutOfBoundsException (
- "missing right paren");
- if (/*(*/ !")".equals (tokens [index++]))
- throw new ArrayIndexOutOfBoundsException (
- "required right paren, not: " + tokens [index - 1]);
- return retval;
- }
-
-
- //
- // these classes obey the conventions for constructors, so they're
- // only built in to this table of shortnames
- //
- // - filter (one or two types of arglist)
- // * last constructor is 'next' element
- // * optional (first) string parameter
- //
- // - terminus (one or types of arglist)
- // * optional (only) string parameter
- //
- // terminus stages are transformed into filters if needed, by
- // creating a "tee". filter stages aren't turned to terminus
- // stages though; either eliminate such stages, or add some
- // terminus explicitly.
- //
- private static final String builtinStages [][] = {
- { "dom", "gnu.xml.dom.Consumer" },
- { "nsfix", "gnu.xml.pipeline.NSFilter" },
- { "null", "gnu.xml.pipeline.EventFilter" },
- { "server", "gnu.xml.pipeline.CallFilter" },
- { "tee", "gnu.xml.pipeline.TeeConsumer" },
- { "validate", "gnu.xml.pipeline.ValidationConsumer" },
- { "wf", "gnu.xml.pipeline.WellFormednessFilter" },
- { "xinclude", "gnu.xml.pipeline.XIncludeFilter" },
- { "xslt", "gnu.xml.pipeline.XsltFilter" },
-
-// XXX want: option for validate, to preload external part of a DTD
-
- // xhtml, write ... nyet generic-ready
- };
-
- private static class Stage
- {
- String id;
- Pipeline param;
-
- Stage (String name)
- { id = name; }
-
- public String toString ()
- {
- if (param == null)
- return id;
- return id + " ( " + param + " )";
- }
-
- private void fail (String message)
- throws IOException
- {
- throw new IOException ("in '" + id
- + "' stage of pipeline, " + message);
- }
-
- EventConsumer createStage (EventConsumer next)
- throws IOException
- {
- String name = id;
-
- // most builtins are just class aliases
- for (int i = 0; i < builtinStages.length; i++) {
- if (id.equals (builtinStages [i][0])) {
- name = builtinStages [i][1];
- break;
- }
- }
-
- // Save output as XML or XHTML text
- if ("write".equals (name) || "xhtml".equals (name)) {
- String filename;
- boolean isXhtml = "xhtml".equals (name);
- OutputStream out = null;
- TextConsumer consumer;
-
- if (param == null)
- fail ("parameter is required");
-
- filename = param.toString ();
- if ("stdout".equals (filename))
- out = System.out;
- else if ("stderr".equals (filename))
- out = System.err;
- else {
- File f = new File (filename);
-
-/*
- if (!f.isAbsolute ())
- fail ("require absolute file paths");
- */
- if (f.exists ())
- fail ("file already exists: " + f.getName ());
-
-// XXX this races against the existence test
- out = new FileOutputStream (f);
- }
-
- if (!isXhtml)
- consumer = new TextConsumer (out);
- else
- consumer = new TextConsumer (
- new OutputStreamWriter (out, "8859_1"),
- true);
-
- consumer.setPrettyPrinting (true);
- if (next == null)
- return consumer;
- return new TeeConsumer (consumer, next);
-
- } else {
- //
- // Here go all the builtins that are just aliases for
- // classes, and all stage IDs that started out as such
- // class names. The following logic relies on several
- // documented conventions for constructor invocation.
- //
- String msg = null;
-
- try {
- Class klass = Class.forName (name);
- Class argTypes [] = null;
- Constructor constructor = null;
- boolean filter = false;
- Object params [] = null;
- Object obj = null;
-
- // do we need a filter stage?
- if (next != null) {
- // "next" consumer is always passed, with
- // or without the optional string param
- if (param == null) {
- argTypes = new Class [1];
- argTypes [0] = EventConsumer.class;
-
- params = new Object [1];
- params [0] = next;
-
- msg = "no-param filter";
- } else {
- argTypes = new Class [2];
- argTypes [0] = String.class;
- argTypes [1] = EventConsumer.class;
-
- params = new Object [2];
- params [0] = param.toString ();
- params [1] = next;
-
- msg = "one-param filter";
- }
-
-
- try {
- constructor = klass.getConstructor (argTypes);
- } catch (NoSuchMethodException e) {
- // try creating a filter from a
- // terminus and a tee
- filter = true;
- msg += " built from ";
- }
- }
-
- // build from a terminus stage, with or
- // without the optional string param
- if (constructor == null) {
- String tmp;
-
- if (param == null) {
- argTypes = new Class [0];
- params = new Object [0];
-
- tmp = "no-param terminus";
- } else {
- argTypes = new Class [1];
- argTypes [0] = String.class;
-
- params = new Object [1];
- params [0] = param.toString ();
-
- tmp = "one-param terminus";
- }
- if (msg == null)
- msg = tmp;
- else
- msg += tmp;
- constructor = klass.getConstructor (argTypes);
- // NOT creating terminus by dead-ending
- // filters ... users should think about
- // that one, something's likely wrong
- }
-
- obj = constructor.newInstance (params);
-
- // return EventConsumers directly, perhaps after
- // turning them into a filter
- if (obj instanceof EventConsumer) {
- if (filter)
- return new TeeConsumer ((EventConsumer) obj, next);
- return (EventConsumer) obj;
- }
-
- // if it's not a handler, it's an error
- // we can wrap handlers in a filter
- EventFilter retval = new EventFilter ();
- boolean updated = false;
-
- if (obj instanceof ContentHandler) {
- retval.setContentHandler ((ContentHandler) obj);
- updated = true;
- }
- if (obj instanceof DTDHandler) {
- retval.setDTDHandler ((DTDHandler) obj);
- updated = true;
- }
- if (obj instanceof LexicalHandler) {
- retval.setProperty (
- EventFilter.PROPERTY_URI + "lexical-handler",
- obj);
- updated = true;
- }
- if (obj instanceof DeclHandler) {
- retval.setProperty (
- EventFilter.PROPERTY_URI + "declaration-handler",
- obj);
- updated = true;
- }
-
- if (!updated)
- fail ("class is neither Consumer nor Handler");
-
- if (filter)
- return new TeeConsumer (retval, next);
- return retval;
-
- } catch (IOException e) {
- throw e;
-
- } catch (NoSuchMethodException e) {
- fail (name + " constructor missing -- " + msg);
-
- } catch (ClassNotFoundException e) {
- fail (name + " class not found");
-
- } catch (Exception e) {
- // e.printStackTrace ();
- fail ("stage not available: " + e.getMessage ());
- }
- }
- // NOTREACHED
- return null;
- }
- }
-
- private static class Pipeline
- {
- Stage stage;
-
- // rest may be null
- Pipeline rest;
- EventConsumer next;
-
- Pipeline (Stage s)
- { stage = s; }
-
- public String toString ()
- {
- if (rest == null && next == null)
- return stage.toString ();
- if (rest != null)
- return stage + " | " + rest;
- throw new IllegalArgumentException ("next");
- }
-
- EventConsumer createPipeline ()
- throws IOException
- {
- if (next == null) {
- if (rest == null)
- next = stage.createStage (null);
- else
- next = stage.createStage (rest.createPipeline ());
- }
- return next;
- }
- }
-
-/*
- public static void main (String argv [])
- {
- try {
- // three basic terminus cases
- createPipeline ("null");
- createPipeline ("validate");
- createPipeline ("write ( stdout )");
-
- // four basic filters
- createPipeline ("nsfix | write ( stderr )");
- createPipeline ("wf | null");
- createPipeline ("null | null");
- createPipeline (
-"call ( http://www.example.com/services/xml-1a ) | xhtml ( stdout )");
-
- // tee junctions
- createPipeline ("tee ( validate ) | write ( stdout )");
- createPipeline ("tee ( nsfix | write ( stdout ) ) | validate");
-
- // longer pipeline
- createPipeline ("nsfix | tee ( validate ) | write ( stdout )");
- createPipeline (
- "null | wf | nsfix | tee ( validate ) | write ( stdout )");
-
- // try some parsing error cases
- try {
- createPipeline ("null ("); // extra token '('
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
-
- try {
- createPipeline ("nsfix |"); // extra token '|'
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
-
- try {
- createPipeline ("xhtml ( foo"); // missing right paren
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
-
- try {
- createPipeline ("xhtml ( foo bar"); // required right paren
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
-
- try {
- createPipeline ("tee ( nsfix | validate");// missing right paren
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
-
- // try some construction error cases
-
- try {
- createPipeline ("call"); // missing param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("call ( foobar )"); // broken param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("nsfix ( foobar )"); // illegal param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("null ( foobar )"); // illegal param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("wf ( foobar )"); // illegal param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("xhtml ( foobar.html )");
- new File ("foobar.html").delete ();
- // now supported
- } catch (Exception e) {
- System.err.println ("** err: " + e.getMessage ()); }
- try {
- createPipeline ("xhtml"); // missing param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("write ( stdout ) | null"); // nonterminal
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("validate | null");
- // now supported
- } catch (Exception e) {
- System.err.println ("** err: " + e.getMessage ()); }
- try {
- createPipeline ("validate ( foo )"); // illegal param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- createPipeline ("tee"); // missing param
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
- try {
- // only builtins so far
- createPipeline ("com.example.xml.FilterClass");
- System.err.println ("** didn't report error");
- } catch (Exception e) {
- System.err.println ("== err: " + e.getMessage ()); }
-
- } catch (Exception e) {
- e.printStackTrace ();
- }
- }
-/**/
-
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/TeeConsumer.java b/external/jaxp/source/gnu/xml/pipeline/TeeConsumer.java
deleted file mode 100644
index 1ed689393..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/TeeConsumer.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.IOException;
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-//import gnu.xml.util;
-
-
-/**
- * Fans its events out to two other consumers, a "tee" filter stage in an
- * event pipeline. Networks can be assembled with multiple output points.
- *
- * <p> Error handling should be simple if you remember that exceptions
- * you throw will cancel later stages in that callback's pipeline, and
- * generally the producer will stop if it sees such an exception. You
- * may want to protect your pipeline against such backflows, making a
- * kind of reverse filter (or valve?) so that certain exceptions thrown by
- * your pipeline will caught and handled before the producer sees them.
- * Just use a "try/catch" block, rememebering that really important
- * cleanup tasks should be in "finally" clauses.
- *
- * <p> That issue isn't unique to "tee" consumers, but tee consumers have
- * the additional twist that exceptions thrown by the first consumer
- * will cause the second consumer not to see the callback (except for
- * the endDocument callback, which signals state cleanup).
- *
- * @author David Brownell
- */
-final public class TeeConsumer
- implements EventConsumer,
- ContentHandler, DTDHandler,
- LexicalHandler,DeclHandler
-{
- private EventConsumer first, rest;
-
- // cached to minimize time overhead
- private ContentHandler docFirst, docRest;
- private DeclHandler declFirst, declRest;
- private LexicalHandler lexFirst, lexRest;
-
-
- /**
- * Constructs a consumer which sends all its events to the first
- * consumer, and then the second one. If the first consumer throws
- * an exception, the second one will not see the event which
- * caused that exception to be reported.
- *
- * @param car The first consumer to get the events
- * @param cdr The second consumer to get the events
- */
- public TeeConsumer (EventConsumer car, EventConsumer cdr)
- {
- if (car == null || cdr == null)
- throw new NullPointerException ();
- first = car;
- rest = cdr;
-
- //
- // Cache the handlers.
- //
- docFirst = first.getContentHandler ();
- docRest = rest.getContentHandler ();
- // DTD handler isn't cached (rarely needed)
-
- try {
- declFirst = null;
- declFirst = (DeclHandler) first.getProperty (
- EventFilter.DECL_HANDLER);
- } catch (SAXException e) {}
- try {
- declRest = null;
- declRest = (DeclHandler) rest.getProperty (
- EventFilter.DECL_HANDLER);
- } catch (SAXException e) {}
-
- try {
- lexFirst = null;
- lexFirst = (LexicalHandler) first.getProperty (
- EventFilter.LEXICAL_HANDLER);
- } catch (SAXException e) {}
- try {
- lexRest = null;
- lexRest = (LexicalHandler) rest.getProperty (
- EventFilter.LEXICAL_HANDLER);
- } catch (SAXException e) {}
- }
-
-/* FIXME
- /**
- * Constructs a pipeline, and is otherwise a shorthand for the
- * two-consumer constructor for this class.
- *
- * @param first Description of the first pipeline to get events,
- * which will be passed to {@link PipelineFactory#createPipeline}
- * @param rest The second pipeline to get the events
- * /
- // constructor used by PipelineFactory
- public TeeConsumer (String first, EventConsumer rest)
- throws IOException
- {
- this (PipelineFactory.createPipeline (first), rest);
- }
-*/
-
- /** Returns the first pipeline to get event calls. */
- public EventConsumer getFirst ()
- { return first; }
-
- /** Returns the second pipeline to get event calls. */
- public EventConsumer getRest ()
- { return rest; }
-
- /** Returns the content handler being used. */
- final public ContentHandler getContentHandler ()
- {
- if (docRest == null)
- return docFirst;
- if (docFirst == null)
- return docRest;
- return this;
- }
-
- /** Returns the dtd handler being used. */
- final public DTDHandler getDTDHandler ()
- {
- // not cached (hardly used)
- if (rest.getDTDHandler () == null)
- return first.getDTDHandler ();
- if (first.getDTDHandler () == null)
- return rest.getDTDHandler ();
- return this;
- }
-
- /** Returns the declaration or lexical handler being used. */
- final public Object getProperty (String id)
- throws SAXNotRecognizedException
- {
- //
- // in degenerate cases, we have no work to do.
- //
- Object firstProp = null, restProp = null;
-
- try { firstProp = first.getProperty (id); }
- catch (SAXNotRecognizedException e) { /* ignore */ }
- try { restProp = rest.getProperty (id); }
- catch (SAXNotRecognizedException e) { /* ignore */ }
-
- if (restProp == null)
- return firstProp;
- if (firstProp == null)
- return restProp;
-
- //
- // we've got work to do; handle two builtin cases.
- //
- if (EventFilter.DECL_HANDLER.equals (id))
- return this;
- if (EventFilter.LEXICAL_HANDLER.equals (id))
- return this;
-
- //
- // non-degenerate, handled by both consumers, but we don't know
- // how to handle this.
- //
- throw new SAXNotRecognizedException ("can't tee: " + id);
- }
-
- /**
- * Provides the error handler to both subsequent nodes of
- * this filter stage.
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- first.setErrorHandler (handler);
- rest.setErrorHandler (handler);
- }
-
-
- //
- // ContentHandler
- //
- public void setDocumentLocator (Locator locator)
- {
- // this call is not made by all parsers
- docFirst.setDocumentLocator (locator);
- docRest.setDocumentLocator (locator);
- }
-
- public void startDocument ()
- throws SAXException
- {
- docFirst.startDocument ();
- docRest.startDocument ();
- }
-
- public void endDocument ()
- throws SAXException
- {
- try {
- docFirst.endDocument ();
- } finally {
- docRest.endDocument ();
- }
- }
-
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- docFirst.startPrefixMapping (prefix, uri);
- docRest.startPrefixMapping (prefix, uri);
- }
-
- public void endPrefixMapping (String prefix)
- throws SAXException
- {
- docFirst.endPrefixMapping (prefix);
- docRest.endPrefixMapping (prefix);
- }
-
- public void skippedEntity (String name)
- throws SAXException
- {
- docFirst.skippedEntity (name);
- docRest.skippedEntity (name);
- }
-
- public void startElement (String uri, String localName,
- String qName, Attributes atts)
- throws SAXException
- {
- docFirst.startElement (uri, localName, qName, atts);
- docRest.startElement (uri, localName, qName, atts);
- }
-
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- docFirst.endElement (uri, localName, qName);
- docRest.endElement (uri, localName, qName);
- }
-
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- docFirst.processingInstruction (target, data);
- docRest.processingInstruction (target, data);
- }
-
- public void characters (char ch [], int start, int length)
- throws SAXException
- {
- docFirst.characters (ch, start, length);
- docRest.characters (ch, start, length);
- }
-
- public void ignorableWhitespace (char ch [], int start, int length)
- throws SAXException
- {
- docFirst.ignorableWhitespace (ch, start, length);
- docRest.ignorableWhitespace (ch, start, length);
- }
-
-
- //
- // DTDHandler
- //
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- DTDHandler l1 = first.getDTDHandler ();
- DTDHandler l2 = rest.getDTDHandler ();
-
- l1.notationDecl (name, publicId, systemId);
- l2.notationDecl (name, publicId, systemId);
- }
-
- public void unparsedEntityDecl (String name,
- String publicId, String systemId,
- String notationName
- ) throws SAXException
- {
- DTDHandler l1 = first.getDTDHandler ();
- DTDHandler l2 = rest.getDTDHandler ();
-
- l1.unparsedEntityDecl (name, publicId, systemId, notationName);
- l2.unparsedEntityDecl (name, publicId, systemId, notationName);
- }
-
-
- //
- // DeclHandler
- //
- public void attributeDecl (String eName, String aName,
- String type,
- String mode, String value)
- throws SAXException
- {
- declFirst.attributeDecl (eName, aName, type, mode, value);
- declRest.attributeDecl (eName, aName, type, mode, value);
- }
-
- public void elementDecl (String name, String model)
- throws SAXException
- {
- declFirst.elementDecl (name, model);
- declRest.elementDecl (name, model);
- }
-
- public void externalEntityDecl (String name,
- String publicId, String systemId)
- throws SAXException
- {
- declFirst.externalEntityDecl (name, publicId, systemId);
- declRest.externalEntityDecl (name, publicId, systemId);
- }
-
- public void internalEntityDecl (String name, String value)
- throws SAXException
- {
- declFirst.internalEntityDecl (name, value);
- declRest.internalEntityDecl (name, value);
- }
-
-
- //
- // LexicalHandler
- //
- public void comment (char ch [], int start, int length)
- throws SAXException
- {
- lexFirst.comment (ch, start, length);
- lexRest.comment (ch, start, length);
- }
-
- public void startCDATA ()
- throws SAXException
- {
- lexFirst.startCDATA ();
- lexRest.startCDATA ();
- }
-
- public void endCDATA ()
- throws SAXException
- {
- lexFirst.endCDATA ();
- lexRest.endCDATA ();
- }
-
- public void startEntity (String name)
- throws SAXException
- {
- lexFirst.startEntity (name);
- lexRest.startEntity (name);
- }
-
- public void endEntity (String name)
- throws SAXException
- {
- lexFirst.endEntity (name);
- lexRest.endEntity (name);
- }
-
- public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {
- lexFirst.startDTD (name, publicId, systemId);
- lexRest.startDTD (name, publicId, systemId);
- }
-
- public void endDTD ()
- throws SAXException
- {
- lexFirst.endDTD ();
- lexRest.endDTD ();
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/TextConsumer.java b/external/jaxp/source/gnu/xml/pipeline/TextConsumer.java
deleted file mode 100644
index 43d47e36a..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/TextConsumer.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.*;
-
-import org.xml.sax.*;
-
-import gnu.xml.util.XMLWriter;
-
-
-/**
- * Terminates a pipeline, consuming events to print them as well formed
- * XML (or XHTML) text.
- *
- * <p> Input must be well formed, and must include XML names (e.g. the
- * prefixes and prefix declarations must be present), or the output of
- * this class is undefined.
- *
- * @see NSFilter
- * @see WellFormednessFilter
- *
- * @author David Brownell
- */
-public class TextConsumer extends XMLWriter implements EventConsumer
-{
- /**
- * Constructs an event consumer which echoes its input as text,
- * optionally adhering to some basic XHTML formatting options
- * which increase interoperability with old (v3) browsers.
- *
- * <p> For the best interoperability, when writing as XHTML only
- * ASCII characters are emitted; other characters are turned to
- * entity or character references as needed, and no XML declaration
- * is provided in the document.
- */
- public TextConsumer (Writer w, boolean isXhtml)
- throws IOException
- {
- super (w, isXhtml ? "US-ASCII" : null);
- setXhtml (isXhtml);
- }
-
- /**
- * Constructs a consumer that writes its input as XML text.
- * XHTML rules are not followed.
- */
- public TextConsumer (Writer w)
- throws IOException
- {
- this (w, false);
- }
-
- /**
- * Constructs a consumer that writes its input as XML text,
- * encoded in UTF-8. XHTML rules are not followed.
- */
- public TextConsumer (OutputStream out)
- throws IOException
- {
- this (new OutputStreamWriter (out, "UTF8"), false);
- }
-
- /** <b>EventConsumer</b> Returns the document handler being used. */
- public ContentHandler getContentHandler ()
- { return this; }
-
- /** <b>EventConsumer</b> Returns the dtd handler being used. */
- public DTDHandler getDTDHandler ()
- { return this; }
-
- /** <b>XMLReader</b>Retrieves a property (lexical and decl handlers) */
- public Object getProperty (String propertyId)
- throws SAXNotRecognizedException
- {
- if (EventFilter.LEXICAL_HANDLER.equals (propertyId))
- return this;
- if (EventFilter.DECL_HANDLER.equals (propertyId))
- return this;
- throw new SAXNotRecognizedException (propertyId);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/ValidationConsumer.java b/external/jaxp/source/gnu/xml/pipeline/ValidationConsumer.java
deleted file mode 100644
index 65b962edd..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/ValidationConsumer.java
+++ /dev/null
@@ -1,1911 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.*;
-
-import java.util.EmptyStackException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Stack;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-
-/**
- * This class checks SAX2 events to report validity errors; it works as
- * both a filter and a terminus on an event pipeline. It relies on the
- * producer of SAX events to: </p> <ol>
- *
- * <li> Conform to the specification of a non-validating XML parser that
- * reads all external entities, reported using SAX2 events. </li>
- *
- * <li> Report ignorable whitespace as such (through the ContentHandler
- * interface). This is, strictly speaking, optional for nonvalidating
- * XML processors. </li>
- *
- * <li> Make SAX2 DeclHandler callbacks, with default
- * attribute values already normalized (and without "&lt;").</li>
- *
- * <li> Make SAX2 LexicalHandler startDTD() and endDTD ()
- * callbacks. </li>
- *
- * <li> Act as if the <em>(URI)/namespace-prefixes</em> property were
- * set to true, by providing XML 1.0 names and all <code>xmlns*</code>
- * attributes (rather than omitting either or both). </li>
- *
- * </ol>
- *
- * <p> At this writing, the major SAX2 parsers (such as &AElig;lfred2,
- * Crimson, and Xerces) meet these requirements, and this validation
- * module is used by the optional &AElig;lfred2 validation support.
- * </p>
- *
- * <p> Note that because this is a layered validator, it has to duplicate some
- * work that the parser is doing; there are also other cost to layering.
- * However, <em>because of layering it doesn't need a parser</em> in order
- * to work! You can use it with anything that generates SAX events, such
- * as an application component that wants to detect invalid content in
- * a changed area without validating an entire document, or which wants to
- * ensure that it doesn't write invalid data to a communications partner.</p>
- *
- * <p> Also, note that because this is a layered validator, the line numbers
- * reported for some errors may seem strange. For example, if an element does
- * not permit character content, the validator
- * will use the locator provided to it.
- * That might reflect the last character of a <em>characters</em> event
- * callback, rather than the first non-whitespace character. </p>
- *
- * <hr />
- *
- * <!--
- * <p> Of interest is the fact that unlike most currently known XML validators,
- * this one can report some cases of non-determinism in element content models.
- * It is a compile-time option, enabled by default. This will only report
- * such XML errors if they relate to content actually appearing in a document;
- * content models aren't aggressively scanned for non-deterministic structure.
- * Documents which trigger such non-deterministic transitions may be handled
- * differently by different validating parsers, without losing conformance
- * to the XML specification. </p>
- * -->
- *
- * <p> Current limitations of the validation performed are in roughly three
- * categories. </p>
- *
- * <p> The first category represents constraints which demand violations
- * of software layering: exposing lexical details, one of the first things
- * that <em>application</em> programming interfaces (APIs) hide. These
- * invariably relate to XML entity handling, and to historical oddities
- * of the XML validation semantics. Curiously,
- * recent (Autumn 1999) conformance testing showed that these constraints are
- * among those handled worst by existing XML validating parsers. Arguments
- * have been made that each of these VCs should be turned into WFCs (most
- * of them) or discarded (popular for the standalone declaration); in short,
- * that these are bugs in the XML specification (not all via SGML): </p><ul>
- *
- * <li> The <em>Proper Declaration/PE Nesting</em> and
- * <em>Proper Group/PE Nesting</em> VCs can't be tested because they
- * require access to particularly low level lexical level information.
- * In essence, the reason XML isn't a simple thing to parse is that
- * it's not a context free grammar, and these constraints elevate that
- * SGML-derived context sensitivity to the level of a semantic rule.
- *
- * <li> The <em>Standalone Document Declaration</em> VC can't be
- * tested. This is for two reasons. First, this flag isn't made
- * available through SAX2. Second, it also requires breaking that
- * lexical layering boundary. (If you ever wondered why classes
- * in compiler construction or language design barely mention the
- * existence of context-sensitive grammars, it's because of messy
- * issues like these.)
- *
- * <li> The <em>Entity Declared</em> VC can't be tested, because it
- * also requires breaking that lexical layering boundary! There's also
- * another issue: the VC wording (and seemingly intent) is ambiguous.
- * (This is still true in the "Second edition" XML spec.)
- * Since there is a WFC of the same name, everyone's life would be
- * easier if references to undeclared parsed entities were always well
- * formedness errors, regardless of whether they're parameter entities
- * or not. (Note that nonvalidating parsers are not required
- * to report all such well formedness errors if they don't read external
- * parameter entities, although currently most XML parsers read them
- * in an attempt to avoid problems from inconsistent parser behavior.)
- *
- * </ul>
- *
- * <p> The second category of limitations on this validation represent
- * constraints associated with information that is not guaranteed to be
- * available (or in one case, <em>is guaranteed not to be available</em>,
- * through the SAX2 API: </p><ul>
- *
- * <li> The <em>Unique Element Type Declaration</em> VC may not be
- * reportable, if the underlying parser happens not to expose
- * multiple declarations. (&AElig;lfred2 reports these validity
- * errors directly.)</li>
- *
- * <li> Similarly, the <em>Unique Notation Name</em> VC, added in the
- * 14-January-2000 XML spec errata to restrict typing models used by
- * elements, may not be reportable. (&AElig;lfred reports these
- * validity errors directly.) </li>
- *
- * </ul>
- *
- * <p> A third category relates to ease of implementation. (Think of this
- * as "bugs".) The most notable issue here is character handling. Rather
- * than attempting to implement the voluminous character tables in the XML
- * specification (Appendix B), Unicode rules are used directly from
- * the java.lang.Character class. Recent JVMs have begun to diverge from
- * the original specification for that class (Unicode 2.0), meaning that
- * different JVMs may handle that aspect of conformance differently.
- * </p>
- *
- * <p> Note that for some of the validity errors that SAX2 does not
- * expose, a nonvalidating parser is permitted (by the XML specification)
- * to report validity errors. When used with a parser that does so for
- * the validity constraints mentioned above (or any other SAX2 event
- * stream producer that does the same thing), overall conformance is
- * substantially improved.
- *
- * @see gnu.xml.aelfred2.SAXDriver
- * @see gnu.xml.aelfred2.XmlReader
- *
- * @author David Brownell
- */
-public final class ValidationConsumer extends EventFilter
-{
- // report error if we happen to notice a non-deterministic choice?
- // we won't report buggy content models; just buggy instances
- private static final boolean warnNonDeterministic = false;
-
- // for tracking active content models
- private String rootName;
- private Stack contentStack = new Stack ();
-
- // flags for "saved DTD" processing
- private boolean disableDeclarations;
- private boolean disableReset;
-
- //
- // most VCs get tested when we see element start tags. the per-element
- // info (including attributes) recorded here duplicates that found inside
- // many nonvalidating parsers, hence dual lookups etc ... that's why a
- // layered validator isn't going to be as fast as a non-layered one.
- //
-
- // key = element name; value = ElementInfo
- private Hashtable elements = new Hashtable ();
-
- // some VCs relate to ID/IDREF/IDREFS attributes
- // key = id; value = boolean true (defd) or false (refd)
- private Hashtable ids = new Hashtable ();
-
- // we just record declared notation and unparsed entity names.
- // the implementation here is simple/slow; these features
- // are seldom used, one hopes they'll wither away soon
- private Vector notations = new Vector (5, 5);
- private Vector nDeferred = new Vector (5, 5);
- private Vector unparsed = new Vector (5, 5);
- private Vector uDeferred = new Vector (5, 5);
-
- // note: DocBk 3.1.7 XML defines over 2 dozen notations,
- // used when defining unparsed entities for graphics
- // (and maybe in other places)
-
-
-
- /**
- * Creates a pipeline terminus which consumes all events passed to
- * it; this will report validity errors as if they were fatal errors,
- * unless an error handler is assigned.
- *
- * @see #setErrorHandler
- */
- // constructor used by PipelineFactory
- // ... and want one taking system ID of an external subset
- public ValidationConsumer ()
- {
- this (null);
- }
-
- /**
- * Creates a pipeline filter which reports validity errors and then
- * passes events on to the next consumer if they were not fatal.
- *
- * @see #setErrorHandler
- */
- // constructor used by PipelineFactory
- // ... and want one taking system ID of an external subset
- // (which won't send declaration events)
- public ValidationConsumer (EventConsumer next)
- {
- super (next);
-
- setContentHandler (this);
- setDTDHandler (this);
- try { setProperty (DECL_HANDLER, this); }
- catch (Exception e) { /* "can't happen" */ }
- try { setProperty (LEXICAL_HANDLER, this); }
- catch (Exception e) { /* "can't happen" */ }
- }
-
-
- private static final String fakeRootName
- = ":Nobody:in:their_Right.Mind_would:use:this-name:1x:";
-
- /**
- * Creates a validation consumer which is preloaded with the DTD provided.
- * It does this by constructing a document with that DTD, then parsing
- * that document and recording its DTD declarations. Then it arranges
- * not to modify that information.
- *
- * <p> The resulting validation consumer will only validate against
- * the specified DTD, regardless of whether some other DTD is found
- * in a document being parsed.
- *
- * @param rootName The name of the required root element; if this is
- * null, any root element name will be accepted.
- * @param publicId If non-null and there is a non-null systemId, this
- * identifier provides an alternate access identifier for the DTD's
- * external subset.
- * @param systemId If non-null, this is a URI (normally URL) that
- * may be used to access the DTD's external subset.
- * @param internalSubset If non-null, holds literal markup declarations
- * comprising the DTD's internal subset.
- * @param resolver If non-null, this will be provided to the parser for
- * use when resolving parameter entities (including any external subset).
- * @param resolver If non-null, this will be provided to the parser for
- * use when resolving parameter entities (including any external subset).
- * @param minimalElement If non-null, a minimal valid document.
- *
- * @exception SAXNotSupportedException If the default SAX parser does
- * not support the standard lexical or declaration handlers.
- * @exception SAXParseException If the specified DTD has either
- * well-formedness or validity errors
- * @exception IOException If the specified DTD can't be read for
- * some reason
- */
- public ValidationConsumer (
- String rootName,
- String publicId,
- String systemId,
- String internalSubset,
- EntityResolver resolver,
- String minimalDocument
- ) throws SAXException, IOException
- {
- this (null);
-
- disableReset = true;
- if (rootName == null)
- rootName = fakeRootName;
-
- //
- // Synthesize document with that DTD; is it possible to do
- // better for the declaration of the root element?
- //
- // NOTE: can't use SAX2 to write internal subsets.
- //
- StringWriter writer = new StringWriter ();
-
- writer.write ("<!DOCTYPE ");
- writer.write (rootName);
- if (systemId != null) {
- writer.write ("\n ");
- if (publicId != null) {
- writer.write ("PUBLIC '");
- writer.write (publicId);
- writer.write ("'\n\t'");
- } else
- writer.write ("SYSTEM '");
- writer.write (systemId);
- writer.write ("'");
- }
- writer.write (" [ ");
- if (rootName == fakeRootName) {
- writer.write ("\n<!ELEMENT ");
- writer.write (rootName);
- writer.write (" EMPTY>");
- }
- if (internalSubset != null)
- writer.write (internalSubset);
- writer.write ("\n ]>");
-
- if (minimalDocument != null) {
- writer.write ("\n");
- writer.write (minimalDocument);
- writer.write ("\n");
- } else {
- writer.write (" <");
- writer.write (rootName);
- writer.write ("/>\n");
- }
- minimalDocument = writer.toString ();
-
- //
- // OK, load it
- //
- XMLReader producer;
-
- producer = XMLReaderFactory.createXMLReader ();
- bind (producer, this);
-
- if (resolver != null)
- producer.setEntityResolver (resolver);
-
- InputSource in;
-
- in = new InputSource (new StringReader (minimalDocument));
- producer.parse (in);
-
- disableDeclarations = true;
- if (rootName == fakeRootName)
- this.rootName = null;
- }
-
- private void resetState ()
- {
- if (!disableReset) {
- rootName = null;
- contentStack.removeAllElements ();
- elements.clear ();
- ids.clear ();
-
- notations.removeAllElements ();
- nDeferred.removeAllElements ();
- unparsed.removeAllElements ();
- uDeferred.removeAllElements ();
- }
- }
-
-
- private void warning (String description)
- throws SAXException
- {
- ErrorHandler errHandler = getErrorHandler ();
- Locator locator = getDocumentLocator ();
- SAXParseException err;
-
- if (errHandler == null)
- return;
-
- if (locator == null)
- err = new SAXParseException (description, null, null, -1, -1);
- else
- err = new SAXParseException (description, locator);
- errHandler.warning (err);
- }
-
- // package private (for ChildrenRecognizer)
- private void error (String description)
- throws SAXException
- {
- ErrorHandler errHandler = getErrorHandler ();
- Locator locator = getDocumentLocator ();
- SAXParseException err;
-
- if (locator == null)
- err = new SAXParseException (description, null, null, -1, -1);
- else
- err = new SAXParseException (description, locator);
- if (errHandler != null)
- errHandler.error (err);
- else // else we always treat it as fatal!
- throw err;
- }
-
- private void fatalError (String description)
- throws SAXException
- {
- ErrorHandler errHandler = getErrorHandler ();
- Locator locator = getDocumentLocator ();
- SAXParseException err;
-
- if (locator != null)
- err = new SAXParseException (description, locator);
- else
- err = new SAXParseException (description, null, null, -1, -1);
- if (errHandler != null)
- errHandler.fatalError (err);
- // we always treat this as fatal, regardless of the handler
- throw err;
- }
-
-
- private static boolean isExtender (char c)
- {
- // [88] Extender ::= ...
- return c == 0x00b7 || c == 0x02d0 || c == 0x02d1 || c == 0x0387
- || c == 0x0640 || c == 0x0e46 || c == 0x0ec6 || c == 0x3005
- || (c >= 0x3031 && c <= 0x3035)
- || (c >= 0x309d && c <= 0x309e)
- || (c >= 0x30fc && c <= 0x30fe);
- }
-
-
- // use augmented Unicode rules, not full XML rules
- private boolean isName (String name, String context, String id)
- throws SAXException
- {
- char buf [] = name.toCharArray ();
- boolean pass = true;
-
- if (!Character.isUnicodeIdentifierStart (buf [0])
- && ":_".indexOf (buf [0]) == -1)
- pass = false;
- else {
- int max = buf.length;
- for (int i = 1; pass && i < max; i++) {
- char c = buf [i];
- if (!Character.isUnicodeIdentifierPart (c)
- && ":-_.".indexOf (c) == -1
- && !isExtender (c))
- pass = false;
- }
- }
-
- if (!pass)
- error ("In " + context + " for " + id
- + ", '" + name + "' is not a name");
- return pass; // true == OK
- }
-
- // use augmented Unicode rules, not full XML rules
- private boolean isNmtoken (String nmtoken, String context, String id)
- throws SAXException
- {
- char buf [] = nmtoken.toCharArray ();
- boolean pass = true;
- int max = buf.length;
-
- // XXX make this share code with isName
-
- for (int i = 0; pass && i < max; i++) {
- char c = buf [i];
- if (!Character.isUnicodeIdentifierPart (c)
- && ":-_.".indexOf (c) == -1
- && !isExtender (c))
- pass = false;
- }
-
- if (!pass)
- error ("In " + context + " for " + id
- + ", '" + nmtoken + "' is not a name token");
- return pass; // true == OK
- }
-
- private void checkEnumeration (String value, String type, String name)
- throws SAXException
- {
- if (!hasMatch (value, type))
- // VC: Enumeration
- error ("Value '" + value
- + "' for attribute '" + name
- + "' is not permitted: " + type);
- }
-
- // used to test enumerated attributes and mixed content models
- // package private
- static boolean hasMatch (String value, String orList)
- {
- int len = value.length ();
- int max = orList.length () - len;
-
- for (int start = 0;
- (start = orList.indexOf (value, start)) != -1;
- start++) {
- char c;
-
- if (start > max)
- break;
- c = orList.charAt (start - 1);
- if (c != '|' && c != '('/*)*/)
- continue;
- c = orList.charAt (start + len);
- if (c != '|' && /*(*/ c != ')')
- continue;
- return true;
- }
- return false;
- }
-
- /**
- * <b>LexicalHandler</b> Records the declaration of the root
- * element, so it can be verified later.
- * Passed to the next consumer, unless this one was
- * preloaded with a particular DTD.
- */
- public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {
- if (disableDeclarations)
- return;
-
- rootName = name;
- super.startDTD (name, publicId, systemId);
- }
-
- /**
- * <b>LexicalHandler</b> Verifies that all referenced notations
- * and unparsed entities have been declared.
- * Passed to the next consumer, unless this one was
- * preloaded with a particular DTD.
- */
- public void endDTD ()
- throws SAXException
- {
- if (disableDeclarations)
- return;
-
- // this is a convenient hook for end-of-dtd checks, but we
- // could also trigger it in the first startElement call.
- // locator info is more appropriate here though.
-
- // VC: Notation Declared (NDATA can refer to them before decls,
- // as can NOTATION attribute enumerations and defaults)
- int length = nDeferred.size ();
- for (int i = 0; i < length; i++) {
- String notation = (String) nDeferred.elementAt (i);
- if (!notations.contains (notation)) {
- error ("A declaration referred to notation '" + notation
- + "' which was never declared");
- }
- }
- nDeferred.removeAllElements ();
-
- // VC: Entity Name (attribute values can refer to them
- // before they're declared); VC Attribute Default Legal
- length = uDeferred.size ();
- for (int i = 0; i < length; i++) {
- String entity = (String) uDeferred.elementAt (i);
- if (!unparsed.contains (entity)) {
- error ("An attribute default referred to entity '" + entity
- + "' which was never declared");
- }
- }
- uDeferred.removeAllElements ();
- super.endDTD ();
- }
-
-
- // These are interned, so we can rely on "==" to find the type of
- // all attributes except enumerations ...
- // "(this|or|that|...)" and "NOTATION (this|or|that|...)"
- static final String types [] = {
- "CDATA",
- "ID", "IDREF", "IDREFS",
- "NMTOKEN", "NMTOKENS",
- "ENTITY", "ENTITIES"
- };
-
-
- /**
- * <b>DecllHandler</b> Records attribute declaration for later use
- * in validating document content, and checks validity constraints
- * that are applicable to attribute declarations.
- * Passed to the next consumer, unless this one was
- * preloaded with a particular DTD.
- */
- public void attributeDecl (
- String eName,
- String aName,
- String type,
- String mode,
- String value
- ) throws SAXException
- {
- if (disableDeclarations)
- return;
-
- ElementInfo info = (ElementInfo) elements.get (eName);
- AttributeInfo ainfo = new AttributeInfo ();
- boolean checkOne = false;
- boolean interned = false;
-
- // cheap interning of type names and #FIXED, #REQUIRED
- // for faster startElement (we can use "==")
- for (int i = 0; i < types.length; i++) {
- if (types [i].equals (type)) {
- type = types [i];
- interned = true;
- break;
- }
- }
- if ("#FIXED".equals (mode))
- mode = "#FIXED";
- else if ("#REQUIRED".equals (mode))
- mode = "#REQUIRED";
-
- ainfo.type = type;
- ainfo.mode = mode;
- ainfo.value = value;
-
- // we might not have seen the content model yet
- if (info == null) {
- info = new ElementInfo (eName);
- elements.put (eName, info);
- }
- if ("ID" == type) {
- checkOne = true;
- if (!("#REQUIRED" == mode || "#IMPLIED".equals (mode))) {
- // VC: ID Attribute Default
- error ("ID attribute '" + aName
- + "' must be #IMPLIED or #REQUIRED");
- }
-
- } else if (!interned && type.startsWith ("NOTATION ")) {
- checkOne = true;
-
- // VC: Notation Attributes (notations must be declared)
- StringTokenizer tokens = new StringTokenizer (
- type.substring (10, type.lastIndexOf (')')),
- "|");
- while (tokens.hasMoreTokens ()) {
- String token = tokens.nextToken ();
- if (!notations.contains (token))
- nDeferred.addElement (token);
- }
- }
- if (checkOne) {
- for (Enumeration e = info.attributes.keys ();
- e.hasMoreElements ();
- /* NOP */) {
- String name;
- AttributeInfo ainfo2;
-
- name = (String) e.nextElement ();
- ainfo2 = (AttributeInfo) info.attributes.get (name);
- if (type == ainfo2.type || !interned /* NOTATION */) {
- // VC: One ID per Element Type
- // VC: One Notation per Element TYpe
- error ("Element '" + eName
- + "' already has an attribute of type "
- + (interned ? "NOTATION" : type)
- + " ('" + name
- + "') so '" + aName
- + "' is a validity error");
- }
- }
- }
-
- // VC: Attribute Default Legal
- if (value != null) {
-
- if ("CDATA" == type) {
- // event source rejected '<'
-
- } else if ("NMTOKEN" == type) {
- // VC: Name Token (is a nmtoken)
- isNmtoken (value, "attribute default", aName);
-
- } else if ("NMTOKENS" == type) {
- // VC: Name Token (is a nmtoken; at least one value)
- StringTokenizer tokens = new StringTokenizer (value);
- if (!tokens.hasMoreTokens ())
- error ("Default for attribute '" + aName
- + "' must have at least one name token.");
- else do {
- String token = tokens.nextToken ();
- isNmtoken (token, "attribute default", aName);
- } while (tokens.hasMoreTokens ());
-
- } else if ("IDREF" == type || "ENTITY" == type) {
- // VC: Entity Name (is a name)
- // VC: IDREF (is a name) (is declared)
- isName (value, "attribute default", aName);
- if ("ENTITY" == type && !unparsed.contains (value))
- uDeferred.addElement (value);
-
- } else if ("IDREFS" == type || "ENTITIES" == type) {
- // VC: Entity Name (is a name; at least one value)
- // VC: IDREF (is a name; at least one value)
- StringTokenizer names = new StringTokenizer (value);
- if (!names.hasMoreTokens ())
- error ("Default for attribute '" + aName
- + "' must have at least one name.");
- else do {
- String name = names.nextToken ();
- isName (name, "attribute default", aName);
- if ("ENTITIES" == type && !unparsed.contains (name))
- uDeferred.addElement (value);
- } while (names.hasMoreTokens ());
-
- } else if (type.charAt (0) == '(' /*)*/ ) {
- // VC: Enumeration (must match)
- checkEnumeration (value, type, aName);
-
- } else if (!interned && checkOne) { /* NOTATION */
- // VC: Notation attributes (must be names)
- isName (value, "attribute default", aName);
-
- // VC: Notation attributes (must be declared)
- if (!notations.contains (value))
- nDeferred.addElement (value);
-
- // VC: Enumeration (must match)
- checkEnumeration (value, type, aName);
-
- } else if ("ID" != type)
- throw new RuntimeException ("illegal attribute type: " + type);
- }
-
- if (info.attributes.get (aName) == null)
- info.attributes.put (aName, ainfo);
- /*
- else
- warning ("Element '" + eName
- + "' already has an attribute named '" + aName + "'");
- */
-
- if ("xml:space".equals (aName)) {
- if (!("(default|preserve)".equals (type)
- || "(preserve|default)".equals (type)
- // these next two are arguable; XHTML's DTD doesn't
- // deserve errors. After all, it's not like any
- // illegal _value_ could pass ...
- || "(preserve)".equals (type)
- || "(default)".equals (type)
- ))
- error (
- "xml:space attribute type must be like '(default|preserve)'"
- + " not '" + type + "'"
- );
-
- }
- super.attributeDecl (eName, aName, type, mode, value);
- }
-
- /**
- * <b>DecllHandler</b> Records the element declaration for later use
- * when checking document content, and checks validity constraints that
- * apply to element declarations. Passed to the next consumer, unless
- * this one was preloaded with a particular DTD.
- */
- public void elementDecl (String name, String model)
- throws SAXException
- {
- if (disableDeclarations)
- return;
-
- ElementInfo info = (ElementInfo) elements.get (name);
-
- // we might have seen an attribute decl already
- if (info == null) {
- info = new ElementInfo (name);
- elements.put (name, info);
- }
- if (info.model != null) {
- // NOTE: not all parsers can report such duplicates.
- // VC: Unique Element Type Declaration
- error ("Element type '" + name
- + "' was already declared.");
- } else {
- info.model = model;
-
- // VC: No Duplicate Types (in mixed content models)
- if (model.charAt (1) == '#') // (#PCDATA...
- info.getRecognizer (this);
- }
- super.elementDecl (name, model);
- }
-
- /**
- * <b>DecllHandler</b> passed to the next consumer, unless this
- * one was preloaded with a particular DTD
- */
- public void internalEntityDecl (String name, String value)
- throws SAXException
- {
- if (!disableDeclarations)
- super.internalEntityDecl (name, value);
- }
-
- /**
- * <b>DecllHandler</b> passed to the next consumer, unless this
- * one was preloaded with a particular DTD
- */
- public void externalEntityDecl (String name,
- String publicId, String systemId)
- throws SAXException
- {
- if (!disableDeclarations)
- super.externalEntityDecl (name, publicId, systemId);
- }
-
-
- /**
- * <b>DTDHandler</b> Records the notation name, for checking
- * NOTATIONS attribute values and declararations of unparsed
- * entities. Passed to the next consumer, unless this one was
- * preloaded with a particular DTD.
- */
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- if (disableDeclarations)
- return;
-
- notations.addElement (name);
- super.notationDecl (name, publicId, systemId);
- }
-
- /**
- * <b>DTDHandler</b> Records the entity name, for checking
- * ENTITY and ENTITIES attribute values; records the notation
- * name if it hasn't yet been declared. Passed to the next consumer,
- * unless this one was preloaded with a particular DTD.
- */
- public void unparsedEntityDecl (
- String name,
- String publicId,
- String systemId,
- String notationName
- ) throws SAXException
- {
- if (disableDeclarations)
- return;
-
- unparsed.addElement (name);
- if (!notations.contains (notationName))
- nDeferred.addElement (notationName);
- super.unparsedEntityDecl (name, publicId, systemId, notationName);
- }
-
-
- /**
- * <b>ContentHandler</b> Ensures that state from any previous parse
- * has been deleted.
- * Passed to the next consumer.
- */
- public void startDocument ()
- throws SAXException
- {
- resetState ();
- super.startDocument ();
- }
-
-
- private static boolean isAsciiLetter (char c)
- {
- return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
- }
-
-
- /**
- * <b>ContentHandler</b> Reports a fatal exception. Validating
- * XML processors may not skip any entities.
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- fatalError ("may not skip entities");
- }
-
- /*
- * SAX2 doesn't expand non-PE refs in attribute defaults...
- */
- private String expandDefaultRefs (String s)
- throws SAXException
- {
- if (s.indexOf ('&') < 0)
- return s;
-
-// FIXME: handle &#nn; &#xnn; &name;
- String message = "Can't expand refs in attribute default: " + s;
- warning (message);
-
- return s;
- }
-
- /**
- * <b>ContentHandler</b> Performs validity checks against element
- * (and document) content models, and attribute values.
- * Passed to the next consumer.
- */
- public void startElement (
- String uri,
- String localName,
- String qName,
- Attributes atts
- ) throws SAXException
- {
- //
- // First check content model for the enclosing scope.
- //
- if (contentStack.isEmpty ()) {
- // VC: Root Element Type
- if (!qName.equals (rootName)) {
- if (rootName == null)
- warning ("This document has no DTD, can't be valid");
- else
- error ("Root element type '" + qName
- + "' was declared to be '" + rootName + "'");
- }
- } else {
- Recognizer state = (Recognizer) contentStack.peek ();
-
- if (state != null) {
- Recognizer newstate = state.acceptElement (qName);
-
- if (newstate == null)
- error ("Element type '" + qName
- + "' in element '" + state.type.name
- + "' violates content model " + state.type.model
- );
- if (newstate != state) {
- contentStack.pop ();
- contentStack.push (newstate);
- }
- }
- }
-
- //
- // Then check that this element was declared, and push the
- // object used to validate its content model onto our stack.
- //
- // This is where the recognizer gets created, if needed; if
- // it's a "children" (elements) content model, an NDFA is
- // created. (One recognizer is used per content type, no
- // matter how complex that recognizer is.)
- //
- ElementInfo info;
-
- info = (ElementInfo) elements.get (qName);
- if (info == null || info.model == null) {
- // VC: Element Valid (base clause)
- error ("Element type '" + qName + "' was not declared");
- contentStack.push (null);
-
- // for less diagnostic noise, fake a declaration.
- elementDecl (qName, "ANY");
- } else
- contentStack.push (info.getRecognizer (this));
-
- //
- // Then check each attribute present
- //
- int len;
- String aname;
- AttributeInfo ainfo;
-
- if (atts != null)
- len = atts.getLength ();
- else
- len = 0;
-
- for (int i = 0; i < len; i++) {
- aname = atts.getQName (i);
-
- if (info == null
- || (ainfo = (AttributeInfo) info.attributes.get (aname))
- == null) {
- // VC: Attribute Value Type
- error ("Attribute '" + aname
- + "' was not declared for element type " + qName);
- continue;
- }
-
- String value = atts.getValue (i);
-
- // note that "==" for type names and "#FIXED" is correct
- // (and fast) since we've interned those literals.
-
- if ("#FIXED" == ainfo.mode) {
- String expanded = expandDefaultRefs (ainfo.value);
-
- // VC: Fixed Attribute Default
- if (!value.equals (expanded)) {
- error ("Attribute '" + aname
- + "' must match " + expanded
- );
- continue;
- }
- }
-
- if ("CDATA" == ainfo.type)
- continue;
-
- //
- // For all other attribute types, there are various
- // rules to follow.
- //
-
- if ("ID" == ainfo.type) {
- // VC: ID (must be a name)
- if (isName (value, "ID attribute", aname)) {
- if (Boolean.TRUE == ids.get (value))
- // VC: ID (appears once)
- error ("ID attribute " + aname
- + " uses an ID value '" + value
- + "' which was already declared.");
- else
- // any forward refs are no longer problems
- ids.put (value, Boolean.TRUE);
- }
- continue;
- }
-
- if ("IDREF" == ainfo.type) {
- // VC: IDREF (value must be a name)
- if (isName (value, "IDREF attribute", aname)) {
- // VC: IDREF (must match some ID attribute)
- if (ids.get (value) == null)
- // new -- assume it's a forward ref
- ids.put (value, Boolean.FALSE);
- }
- continue;
- }
-
- if ("IDREFS" == ainfo.type) {
- StringTokenizer tokens = new StringTokenizer (value, " ");
-
- if (!tokens.hasMoreTokens ()) {
- // VC: IDREF (one or more values)
- error ("IDREFS attribute " + aname
- + " must have at least one ID ref");
- } else do {
- String id = tokens.nextToken ();
-
- // VC: IDREF (value must be a name)
- if (isName (id, "IDREFS attribute", aname)) {
- // VC: IDREF (must match some ID attribute)
- if (ids.get (id) == null)
- // new -- assume it's a forward ref
- ids.put (id, Boolean.FALSE);
- }
- } while (tokens.hasMoreTokens ());
- continue;
- }
-
- if ("NMTOKEN" == ainfo.type) {
- // VC: Name Token (is a name token)
- isNmtoken (value, "NMTOKEN attribute", aname);
- continue;
- }
-
- if ("NMTOKENS" == ainfo.type) {
- StringTokenizer tokens = new StringTokenizer (value, " ");
-
- if (!tokens.hasMoreTokens ()) {
- // VC: Name Token (one or more values)
- error ("NMTOKENS attribute " + aname
- + " must have at least one name token");
- } else do {
- String token = tokens.nextToken ();
-
- // VC: Name Token (is a name token)
- isNmtoken (token, "NMTOKENS attribute", aname);
- } while (tokens.hasMoreTokens ());
- continue;
- }
-
- if ("ENTITY" == ainfo.type) {
- if (!unparsed.contains (value))
- // VC: Entity Name
- error ("Value of attribute '" + aname
- + "' refers to unparsed entity '" + value
- + "' which was not declared.");
- continue;
- }
-
- if ("ENTITIES" == ainfo.type) {
- StringTokenizer tokens = new StringTokenizer (value, " ");
-
- if (!tokens.hasMoreTokens ()) {
- // VC: Entity Name (one or more values)
- error ("ENTITIES attribute " + aname
- + " must have at least one name token");
- } else do {
- String entity = tokens.nextToken ();
-
- if (!unparsed.contains (entity))
- // VC: Entity Name
- error ("Value of attribute '" + aname
- + "' refers to unparsed entity '" + entity
- + "' which was not declared.");
- } while (tokens.hasMoreTokens ());
- continue;
- }
-
- //
- // check for enumerations last; more expensive
- //
- if (ainfo.type.charAt (0) == '(' /*)*/
- || ainfo.type.startsWith ("NOTATION ")
- ) {
- // VC: Enumeration (value must be defined)
- checkEnumeration (value, ainfo.type, aname);
- continue;
- }
- }
-
- //
- // Last, check that all #REQUIRED attributes were provided
- //
- if (info != null) {
- Hashtable table = info.attributes;
-
- if (table.size () != 0) {
- Enumeration e = table.keys ();
-
- // XXX table.keys uses the heap, bleech -- slows things
-
- while (e.hasMoreElements ()) {
- aname = (String) e.nextElement ();
- ainfo = (AttributeInfo) table.get (aname);
-
- // "#REQUIRED" mode was interned in attributeDecl
- if ("#REQUIRED" == ainfo.mode
- && atts.getValue (aname) == null) {
- // VC: Required Attribute
- error ("Attribute '" + aname + "' must be specified "
- + "for element type " + qName);
- }
- }
- }
- }
- super.startElement (uri, localName, qName, atts);
- }
-
- /**
- * <b>ContentHandler</b> Reports a validity error if the element's content
- * model does not permit character data.
- * Passed to the next consumer.
- */
- public void characters (char ch [], int start, int length)
- throws SAXException
- {
- Recognizer state;
-
- if (contentStack.empty ())
- state = null;
- else
- state = (Recognizer) contentStack.peek ();
-
- // NOTE: if this ever supports with SAX parsers that don't
- // report ignorable whitespace as such (only XP?), this class
- // needs to morph it into ignorableWhitespace() as needed ...
-
- if (state != null && !state.acceptCharacters ())
- // VC: Element Valid (clauses three, four -- see recognizer)
- error ("Character content not allowed in element "
- + state.type.name);
-
- super.characters (ch, start, length);
- }
-
-
- /**
- * <b>ContentHandler</b> Reports a validity error if the element's content
- * model does not permit end-of-element yet, or a well formedness error
- * if there was no matching startElement call.
- * Passed to the next consumer.
- */
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- try {
- Recognizer state = (Recognizer) contentStack.pop ();
-
- if (state != null && !state.completed ())
- // VC: Element valid (clauses two, three, four; see Recognizer)
- error ("Premature end for element '"
- + state.type.name
- + "', content model "
- + state.type.model);
-
- // could insist on match of start element, but that's
- // something the input stream must to guarantee.
-
- } catch (EmptyStackException e) {
- fatalError ("endElement without startElement: " + qName
- + ((uri == null)
- ? ""
- : ( " { '" + uri + "', " + localName + " }")));
- }
- super.endElement (uri, localName, qName);
- }
-
- /**
- * <b>ContentHandler</b> Checks whether all ID values that were
- * referenced have been declared, and releases all resources.
- * Passed to the next consumer.
- *
- * @see #setDocumentLocator
- */
- public void endDocument ()
- throws SAXException
- {
- for (Enumeration idNames = ids.keys ();
- idNames.hasMoreElements ();
- /* NOP */) {
- String id = (String) idNames.nextElement ();
-
- if (Boolean.FALSE == ids.get (id)) {
- // VC: IDREF (must match ID)
- error ("Undeclared ID value '" + id
- + "' was referred to by an IDREF/IDREFS attribute");
- }
- }
-
- resetState ();
- super.endDocument ();
- }
-
-
- /** Holds per-element declarations */
- static private final class ElementInfo
- {
- String name;
- String model;
-
- // key = attribute name; value = AttributeInfo
- Hashtable attributes = new Hashtable (11);
-
- ElementInfo (String n) { name = n; }
-
- private Recognizer recognizer;
-
- // for validating content models: one per type, shared,
- // and constructed only on demand ... so unused elements do
- // not need to consume resources.
- Recognizer getRecognizer (ValidationConsumer consumer)
- throws SAXException
- {
- if (recognizer == null) {
- if ("ANY".equals (model))
- recognizer = ANY;
- else if ("EMPTY".equals (model))
- recognizer = new EmptyRecognizer (this);
- else if ('#' == model.charAt (1))
- // n.b. this constructor does a validity check
- recognizer = new MixedRecognizer (this, consumer);
- else
- recognizer = new ChildrenRecognizer (this, consumer);
- }
- return recognizer;
- }
- }
-
- /** Holds per-attribute declarations */
- static private final class AttributeInfo
- {
- String type;
- String mode; // #REQUIRED, etc (or null)
- String value; // or null
- }
-
-
- //
- // Content model validation
- //
-
- static private final Recognizer ANY = new Recognizer (null);
-
-
- // Base class defines the calls used to validate content,
- // and supports the "ANY" content model
- static private class Recognizer
- {
- final ElementInfo type;
-
- Recognizer (ElementInfo t) { type = t; }
-
- // return true iff character data is legal here
- boolean acceptCharacters ()
- throws SAXException
- // VC: Element Valid (third and fourth clauses)
- { return true; }
-
- // null return = failure
- // otherwise, next state (like an FSM)
- // prerequisite: tested that name was declared
- Recognizer acceptElement (String name)
- throws SAXException
- // VC: Element Valid (fourth clause)
- { return this; }
-
- // return true iff model is completed, can finish
- boolean completed ()
- throws SAXException
- // VC: Element Valid (fourth clause)
- { return true; }
-
- public String toString ()
- // n.b. "children" is the interesting case!
- { return (type == null) ? "ANY" : type.model; }
- }
-
- // "EMPTY" content model -- no characters or elements
- private static final class EmptyRecognizer extends Recognizer
- {
- public EmptyRecognizer (ElementInfo type)
- { super (type); }
-
- // VC: Element Valid (first clause)
- boolean acceptCharacters ()
- { return false; }
-
- // VC: Element Valid (first clause)
- Recognizer acceptElement (String name)
- { return null; }
- }
-
- // "Mixed" content model -- ANY, but restricts elements
- private static final class MixedRecognizer extends Recognizer
- {
- private String permitted [];
-
- // N.B. constructor tests for duplicated element names (VC)
- public MixedRecognizer (ElementInfo t, ValidationConsumer v)
- throws SAXException
- {
- super (t);
-
- // (#PCDATA...)* or (#PCDATA) ==> ... or empty
- // with the "..." being "|elname|..."
- StringTokenizer tokens = new StringTokenizer (
- t.model.substring (8, t.model.lastIndexOf (')')),
- "|");
- Vector vec = new Vector ();
-
- while (tokens.hasMoreTokens ()) {
- String token = tokens.nextToken ();
-
- if (vec.contains (token))
- v.error ("element " + token
- + " is repeated in mixed content model: "
- + t.model);
- else
- vec.addElement (token.intern ());
- }
- permitted = new String [vec.size ()];
- for (int i = 0; i < permitted.length; i++)
- permitted [i] = (String) vec.elementAt (i);
-
- // in one large machine-derived DTD sample, most of about
- // 250 mixed content models were empty, and 25 had ten or
- // more entries. 2 had over a hundred elements. Linear
- // search isn't obviously wrong.
- }
-
- // VC: Element Valid (third clause)
- Recognizer acceptElement (String name)
- {
- int length = permitted.length;
-
- // first pass -- optimistic w.r.t. event source interning
- // (and document validity)
- for (int i = 0; i < length; i++)
- if (permitted [i] == name)
- return this;
- // second pass -- pessimistic w.r.t. event source interning
- for (int i = 0; i < length; i++)
- if (permitted [i].equals (name))
- return this;
- return null;
- }
- }
-
-
- // recognizer loop flags, see later
- private static final int F_LOOPHEAD = 0x01;
- private static final int F_LOOPNEXT = 0x02;
-
- // for debugging -- used to label/count nodes in toString()
- private static int nodeCount;
-
- /**
- * "Children" content model -- these are nodes in NDFA state graphs.
- * They work in fixed space. Note that these graphs commonly have
- * cycles, handling features such as zero-or-more and one-or-more.
- *
- * <p>It's readonly, so only one copy is ever needed. The content model
- * stack may have any number of pointers into each graph, when a model
- * happens to be needed more than once due to element nesting. Since
- * traversing the graph just moves to another node, and never changes
- * it, traversals never interfere with each other.
- *
- * <p>There is an option to report non-deterministic models. These are
- * always XML errors, but ones which are not often reported despite the
- * fact that they can lead to different validating parsers giving
- * different results for the same input. (The XML spec doesn't require
- * them to be reported.)
- *
- * <p><b>FIXME</b> There's currently at least one known bug here, in that
- * it's not actually detecting the non-determinism it tries to detect.
- * (Of the "optional.xml" test, the once-or-twice-2* tests are all non-D;
- * maybe some others.) This may relate to the issue flagged below as
- * "should not" happen (but it was), which showed up when patching the
- * graph to have one exit node (or more EMPTY nodes).
- */
- private static final class ChildrenRecognizer extends Recognizer
- implements Cloneable
- {
- // for reporting non-deterministic content models
- // ... a waste of space if we're not reporting those!
- // ... along with the 'model' member (in base class)
- private ValidationConsumer consumer;
-
- // for CHOICE nodes -- each component is an arc that
- // accepts a different NAME (or is EMPTY indicating
- // NDFA termination).
- private Recognizer components [];
-
- // for NAME/SEQUENCE nodes -- accepts that NAME and
- // then goes to the next node (CHOICE, NAME, EMPTY).
- private String name;
- private Recognizer next;
-
- // loops always point back to a CHOICE node. we mark such choice
- // nodes (F_LOOPHEAD) for diagnostics and faster deep cloning.
- // We also mark nodes before back pointers (F_LOOPNEXT), to ensure
- // termination when we patch sequences and loops.
- private int flags;
-
-
- // prevent a needless indirection between 'this' and 'node'
- private void copyIn (ChildrenRecognizer node)
- {
- // model & consumer are already set
- components = node.components;
- name = node.name;
- next = node.next;
- flags = node.flags;
- }
-
- // used to construct top level "children" content models,
- public ChildrenRecognizer (ElementInfo type, ValidationConsumer vc)
- {
- this (vc, type);
- populate (type.model.toCharArray (), 0);
- patchNext (new EmptyRecognizer (type), null);
- }
-
- // used internally; populating is separate
- private ChildrenRecognizer (ValidationConsumer vc, ElementInfo type)
- {
- super (type);
- consumer = vc;
- }
-
-
- //
- // When rewriting some graph nodes we need deep clones in one case;
- // mostly shallow clones (what the JVM handles for us) are fine.
- //
- private ChildrenRecognizer shallowClone ()
- {
- try {
- return (ChildrenRecognizer) clone ();
- } catch (CloneNotSupportedException e) {
- throw new Error ("clone");
- }
- }
-
- private ChildrenRecognizer deepClone ()
- {
- return deepClone (new Hashtable (37));
- }
-
- private ChildrenRecognizer deepClone (Hashtable table)
- {
- ChildrenRecognizer retval;
-
- if ((flags & F_LOOPHEAD) != 0) {
- retval = (ChildrenRecognizer) table.get (this);
- if (retval != null)
- return this;
-
- retval = shallowClone ();
- table.put (this, retval);
- } else
- retval = shallowClone ();
-
- if (next != null) {
- if (next instanceof ChildrenRecognizer)
- retval.next = ((ChildrenRecognizer)next)
- .deepClone (table);
- else if (!(next instanceof EmptyRecognizer))
- throw new RuntimeException ("deepClone");
- }
-
- if (components != null) {
- retval.components = new Recognizer [components.length];
- for (int i = 0; i < components.length; i++) {
- Recognizer temp = components [i];
-
- if (temp == null)
- retval.components [i] = null;
- else if (temp instanceof ChildrenRecognizer)
- retval.components [i] = ((ChildrenRecognizer)temp)
- .deepClone (table);
- else if (!(temp instanceof EmptyRecognizer))
- throw new RuntimeException ("deepClone");
- }
- }
-
- return retval;
- }
-
- // connect subgraphs, first to next (sequencing)
- private void patchNext (Recognizer theNext, Hashtable table)
- {
- // backpointers must not be repatched or followed
- if ((flags & F_LOOPNEXT) != 0)
- return;
-
- // XXX this table "shouldn't" be needed, right?
- // but some choice nodes looped if it isn't there.
- if (table != null && table.get (this) != null)
- return;
- if (table == null)
- table = new Hashtable ();
-
- // NAME/SEQUENCE
- if (name != null) {
- if (next == null)
- next = theNext;
- else if (next instanceof ChildrenRecognizer) {
- ((ChildrenRecognizer)next).patchNext (theNext, table);
- } else if (!(next instanceof EmptyRecognizer))
- throw new RuntimeException ("patchNext");
- return;
- }
-
- // CHOICE
- for (int i = 0; i < components.length; i++) {
- if (components [i] == null)
- components [i] = theNext;
- else if (components [i] instanceof ChildrenRecognizer) {
- ((ChildrenRecognizer)components [i])
- .patchNext (theNext, table);
- } else if (!(components [i] instanceof EmptyRecognizer))
- throw new RuntimeException ("patchNext");
- }
-
- if (table != null && (flags | F_LOOPHEAD) != 0)
- table.put (this, this);
- }
-
- /**
- * Parses a 'children' spec (or recursively 'cp') and makes this
- * become a regular graph node.
- *
- * @return index after this particle
- */
- private int populate (char parseBuf [], int startPos)
- {
- int nextPos = startPos + 1;
- char c;
-
- if (nextPos < 0 || nextPos >= parseBuf.length)
- throw new IndexOutOfBoundsException ();
-
- // Grammar of the string is from the XML spec, but
- // with whitespace removed by the SAX parser.
-
- // children ::= (choice | seq) ('?' | '*' | '+')?
- // cp ::= (Name | choice | seq) ('?' | '*' | '+')?
- // choice ::= '(' cp ('|' choice)* ')'
- // seq ::= '(' cp (',' choice)* ')'
-
- // interior nodes only
- // cp ::= name ...
- if (parseBuf [startPos] != '('/*)*/) {
- boolean done = false;
- do {
- switch (c = parseBuf [nextPos]) {
- case '?': case '*': case '+':
- case '|': case ',':
- case /*(*/ ')':
- done = true;
- continue;
- default:
- nextPos++;
- continue;
- }
- } while (!done);
- name = new String (parseBuf, startPos, nextPos - startPos);
-
- // interior OR toplevel nodes
- // cp ::= choice ..
- // cp ::= seq ..
- } else {
- // collect everything as a separate list, and merge it
- // into "this" later if we can (SEQUENCE or singleton)
- ChildrenRecognizer first;
-
- first = new ChildrenRecognizer (consumer, type);
- nextPos = first.populate (parseBuf, nextPos);
- c = parseBuf [nextPos++];
-
- if (c == ',' || c == '|') {
- ChildrenRecognizer current = first;
- char separator = c;
- Vector v = null;
-
- if (separator == '|') {
- v = new Vector ();
- v.addElement (first);
- }
-
- do {
- ChildrenRecognizer link;
-
- link = new ChildrenRecognizer (consumer, type);
- nextPos = link.populate (parseBuf, nextPos);
-
- if (separator == ',') {
- current.patchNext (link, null);
- current = link;
- } else
- v.addElement (link);
-
- c = parseBuf [nextPos++];
- } while (c == separator);
-
- // choice ... collect everything into one array.
- if (separator == '|') {
- // assert v.size() > 1
- components = new Recognizer [v.size ()];
- for (int i = 0; i < components.length; i++) {
- components [i] = (Recognizer)
- v.elementAt (i);
- }
- // assert flags == 0
-
- // sequence ... merge into "this" to be smaller.
- } else
- copyIn (first);
-
- // treat singletons like one-node sequences.
- } else
- copyIn (first);
-
- if (c != /*(*/ ')')
- throw new RuntimeException ("corrupt content model");
- }
-
- //
- // Arity is optional, and the root of all fun. We keep the
- // FSM state graph simple by only having NAME/SEQUENCE and
- // CHOICE nodes (or EMPTY to terminate a model), easily
- // evaluated. So we rewrite each node that has arity, using
- // those primitives. We create loops here, if needed.
- //
- if (nextPos < parseBuf.length) {
- c = parseBuf [nextPos];
- if (c == '?' || c == '*' || c == '+') {
- nextPos++;
-
- // Rewrite 'zero-or-one' "?" arity to a CHOICE:
- // - SEQUENCE (clone, what's next)
- // - or, what's next
- // Size cost: N --> N + 1
- if (c == '?') {
- Recognizer once = shallowClone ();
-
- components = new Recognizer [2];
- components [0] = once;
- // components [1] initted to null
- name = null;
- next = null;
- flags = 0;
-
-
- // Rewrite 'zero-or-more' "*" arity to a CHOICE.
- // - LOOP (clone, back to this CHOICE)
- // - or, what's next
- // Size cost: N --> N + 1
- } else if (c == '*') {
- ChildrenRecognizer loop = shallowClone ();
-
- loop.patchNext (this, null);
- loop.flags |= F_LOOPNEXT;
- flags = F_LOOPHEAD;
-
- components = new Recognizer [2];
- components [0] = loop;
- // components [1] initted to null
- name = null;
- next = null;
-
-
- // Rewrite 'one-or-more' "+" arity to a SEQUENCE.
- // Basically (a)+ --> ((a),(a)*).
- // - this
- // - CHOICE
- // * LOOP (clone, back to the CHOICE)
- // * or, whatever's next
- // Size cost: N --> 2N + 1
- } else if (c == '+') {
- ChildrenRecognizer loop = deepClone ();
- ChildrenRecognizer choice;
-
- choice = new ChildrenRecognizer (consumer, type);
- loop.patchNext (choice, null);
- loop.flags |= F_LOOPNEXT;
- choice.flags = F_LOOPHEAD;
-
- choice.components = new Recognizer [2];
- choice.components [0] = loop;
- // choice.components [1] initted to null
- // choice.name, choice.next initted to null
-
- patchNext (choice, null);
- }
- }
- }
-
- return nextPos;
- }
-
- // VC: Element Valid (second clause)
- boolean acceptCharacters ()
- { return false; }
-
- // VC: Element Valid (second clause)
- Recognizer acceptElement (String type)
- throws SAXException
- {
- // NAME/SEQUENCE
- if (name != null) {
- if (name.equals (type))
- return next;
- return null;
- }
-
- // CHOICE ... optionally reporting nondeterminism we
- // run across. we won't check out every transition
- // for nondeterminism; only the ones we follow.
- Recognizer retval = null;
-
- for (int i = 0; i < components.length; i++) {
- Recognizer temp = components [i].acceptElement (type);
-
- if (temp == null)
- continue;
- else if (!warnNonDeterministic)
- return temp;
- else if (retval == null)
- retval = temp;
- else if (retval != temp)
- consumer.error ("Content model " + this.type.model
- + " is non-deterministic for " + type);
- }
- return retval;
- }
-
- // VC: Element Valid (second clause)
- boolean completed ()
- throws SAXException
- {
- // expecting a specific element
- if (name != null)
- return false;
-
- // choice, some sequences
- for (int i = 0; i < components.length; i++) {
- if (components [i].completed ())
- return true;
- }
-
- return false;
- }
-
-/** /
- // FOR DEBUGGING ... flattens the graph for printing.
-
- public String toString ()
- {
- StringBuffer buf = new StringBuffer ();
-
- // only one set of loop labels can be generated
- // at a time...
- synchronized (ANY) {
- nodeCount = 0;
-
- toString (buf, new Hashtable ());
- return buf.toString ();
- }
- }
-
- private void toString (StringBuffer buf, Hashtable table)
- {
- // When we visit a node, label and count it.
- // Nodes are never visited/counted more than once.
- // For small models labels waste space, but if arity
- // mappings were used the savings are substantial.
- // (Plus, the output can be more readily understood.)
- String temp = (String) table.get (this);
-
- if (temp != null) {
- buf.append ('{');
- buf.append (temp);
- buf.append ('}');
- return;
- } else {
- StringBuffer scratch = new StringBuffer (15);
-
- if ((flags & F_LOOPHEAD) != 0)
- scratch.append ("loop");
- else
- scratch.append ("node");
- scratch.append ('-');
- scratch.append (++nodeCount);
- temp = scratch.toString ();
-
- table.put (this, temp);
- buf.append ('[');
- buf.append (temp);
- buf.append (']');
- buf.append (':');
- }
-
- // NAME/SEQUENCE
- if (name != null) {
- // n.b. some output encodings turn some name chars into '?'
- // e.g. with Japanese names and ASCII output
- buf.append (name);
- if (components != null) // bug!
- buf.append ('$');
- if (next == null)
- buf.append (",*");
- else if (next instanceof EmptyRecognizer) // patch-to-next
- buf.append (",{}");
- else if (next instanceof ChildrenRecognizer) {
- buf.append (',');
- ((ChildrenRecognizer)next).toString (buf, table);
- } else // bug!
- buf.append (",+");
- return;
- }
-
- // CHOICE
- buf.append ("<");
- for (int i = 0; i < components.length; i++) {
- if (i != 0)
- buf.append ("|");
- if (components [i] instanceof EmptyRecognizer) {
- buf.append ("{}");
- } else if (components [i] == null) { // patch-to-next
- buf.append ('*');
- } else {
- ChildrenRecognizer r;
-
- r = (ChildrenRecognizer) components [i];
- r.toString (buf, table);
- }
- }
- buf.append (">");
- }
-/**/
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/WellFormednessFilter.java b/external/jaxp/source/gnu/xml/pipeline/WellFormednessFilter.java
deleted file mode 100644
index c3c8ec129..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/WellFormednessFilter.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.util.EmptyStackException;
-import java.util.Stack;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-
-
-/**
- * This filter reports fatal exceptions in the case of event streams that
- * are not well formed. The rules currently tested include: <ul>
- *
- * <li>setDocumentLocator ... may be called only before startDocument
- *
- * <li>startDocument/endDocument ... must be paired, and all other
- * calls (except setDocumentLocator) must be nested within these.
- *
- * <li>startElement/endElement ... must be correctly paired, and
- * may never appear within CDATA sections.
- *
- * <li>comment ... can't contain "--"
- *
- * <li>character data ... can't contain "]]&gt;"
- *
- * <li>whitespace ... can't contain CR
- *
- * <li>whitespace and character data must be within an element
- *
- * <li>processing instruction ... can't contain "?&gt;" or CR
- *
- * <li>startCDATA/endCDATA ... must be correctly paired.
- *
- * </ul>
- *
- * <p> Other checks for event stream correctness may be provided in
- * the future. For example, insisting that
- * entity boundaries nest correctly,
- * namespace scopes nest correctly,
- * namespace values never contain relative URIs,
- * attributes don't have "&lt;" characters;
- * and more.
- *
- * @author David Brownell
- */
-public final class WellFormednessFilter extends EventFilter
-{
- private boolean startedDoc;
- private Stack elementStack = new Stack ();
- private boolean startedCDATA;
- private String dtdState = "before";
-
-
- /**
- * Swallows all events after performing well formedness checks.
- */
- // constructor used by PipelineFactory
- public WellFormednessFilter ()
- { this (null); }
-
-
- /**
- * Passes events through to the specified consumer, after first
- * processing them.
- */
- // constructor used by PipelineFactory
- public WellFormednessFilter (EventConsumer consumer)
- {
- super (consumer);
-
- setContentHandler (this);
- setDTDHandler (this);
-
- try {
- setProperty (LEXICAL_HANDLER, this);
- } catch (SAXException e) { /* can't happen */ }
- }
-
- /**
- * Resets state as if any preceding event stream was well formed.
- * Particularly useful if it ended through some sort of error,
- * and the endDocument call wasn't made.
- */
- public void reset ()
- {
- startedDoc = false;
- startedCDATA = false;
- elementStack.removeAllElements ();
- }
-
-
- private SAXParseException getException (String message)
- {
- SAXParseException e;
- Locator locator = getDocumentLocator ();
-
- if (locator == null)
- return new SAXParseException (message, null, null, -1, -1);
- else
- return new SAXParseException (message, locator);
- }
-
- private void fatalError (String message)
- throws SAXException
- {
- SAXParseException e = getException (message);
- ErrorHandler handler = getErrorHandler ();
-
- if (handler != null)
- handler.fatalError (e);
- throw e;
- }
-
- /**
- * Throws an exception when called after startDocument.
- *
- * @param locator the locator, to be used in error reporting or relative
- * URI resolution.
- *
- * @exception IllegalStateException when called after the document
- * has already been started
- */
- public void setDocumentLocator (Locator locator)
- {
- if (startedDoc)
- throw new IllegalStateException (
- "setDocumentLocator called after startDocument");
- super.setDocumentLocator (locator);
- }
-
- public void startDocument () throws SAXException
- {
- if (startedDoc)
- fatalError ("startDocument called more than once");
- startedDoc = true;
- startedCDATA = false;
- elementStack.removeAllElements ();
- super.startDocument ();
- }
-
- public void startElement (
- String uri, String localName,
- String qName, Attributes atts
- ) throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if ("inside".equals (dtdState))
- fatalError ("element inside DTD?");
- else
- dtdState = "after";
- if (startedCDATA)
- fatalError ("element inside CDATA section");
- if (qName == null || "".equals (qName))
- fatalError ("startElement name missing");
- elementStack.push (qName);
- super.startElement (uri, localName, qName, atts);
- }
-
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if (startedCDATA)
- fatalError ("element inside CDATA section");
- if (qName == null || "".equals (qName))
- fatalError ("endElement name missing");
-
- try {
- String top = (String) elementStack.pop ();
-
- if (!qName.equals (top))
- fatalError ("<" + top + " ...>...</" + qName + ">");
- // XXX could record/test namespace info
- } catch (EmptyStackException e) {
- fatalError ("endElement without startElement: </" + qName + ">");
- }
- super.endElement (uri, localName, qName);
- }
-
- public void endDocument () throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- dtdState = "before";
- startedDoc = false;
- super.endDocument ();
- }
-
-
- public void startDTD (String root, String publicId, String systemId)
- throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if ("before" != dtdState)
- fatalError ("two DTDs?");
- if (!elementStack.empty ())
- fatalError ("DTD must precede root element");
- dtdState = "inside";
- super.startDTD (root, publicId, systemId);
- }
-
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
-// FIXME: not all parsers will report startDTD() ...
-// we'd rather insist we're "inside".
- if ("after" == dtdState)
- fatalError ("not inside DTD");
- super.notationDecl (name, publicId, systemId);
- }
-
- public void unparsedEntityDecl (String name,
- String publicId, String systemId, String notationName)
- throws SAXException
- {
-// FIXME: not all parsers will report startDTD() ...
-// we'd rather insist we're "inside".
- if ("after" == dtdState)
- fatalError ("not inside DTD");
- super.unparsedEntityDecl (name, publicId, systemId, notationName);
- }
-
- // FIXME: add the four DeclHandler calls too
-
- public void endDTD ()
- throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if ("inside" != dtdState)
- fatalError ("DTD ends without start?");
- dtdState = "after";
- super.endDTD ();
- }
-
- public void characters (char ch [], int start, int length)
- throws SAXException
- {
- int here = start, end = start + length;
- if (elementStack.empty ())
- fatalError ("characters must be in an element");
- while (here < end) {
- if (ch [here++] != ']')
- continue;
- if (here == end) // potential problem ...
- continue;
- if (ch [here++] != ']')
- continue;
- if (here == end) // potential problem ...
- continue;
- if (ch [here++] == '>')
- fatalError ("character data can't contain \"]]>\"");
- }
- super.characters (ch, start, length);
- }
-
- public void ignorableWhitespace (char ch [], int start, int length)
- throws SAXException
- {
- int here = start, end = start + length;
- if (elementStack.empty ())
- fatalError ("characters must be in an element");
- while (here < end) {
- if (ch [here++] == '\r')
- fatalError ("whitespace can't contain CR");
- }
- super.ignorableWhitespace (ch, start, length);
- }
-
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (data.indexOf ('\r') > 0)
- fatalError ("PIs can't contain CR");
- if (data.indexOf ("?>") > 0)
- fatalError ("PIs can't contain \"?>\"");
- }
-
- public void comment (char ch [], int start, int length)
- throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if (startedCDATA)
- fatalError ("comments can't nest in CDATA");
- int here = start, end = start + length;
- while (here < end) {
- if (ch [here] == '\r')
- fatalError ("comments can't contain CR");
- if (ch [here++] != '-')
- continue;
- if (here == end)
- fatalError ("comments can't end with \"--->\"");
- if (ch [here++] == '-')
- fatalError ("comments can't contain \"--\"");
- }
- super.comment (ch, start, length);
- }
-
- public void startCDATA ()
- throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if (startedCDATA)
- fatalError ("CDATA starts can't nest");
- startedCDATA = true;
- super.startCDATA ();
- }
-
- public void endCDATA ()
- throws SAXException
- {
- if (!startedDoc)
- fatalError ("callback outside of document?");
- if (!startedCDATA)
- fatalError ("CDATA end without start?");
- startedCDATA = false;
- super.endCDATA ();
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/XIncludeFilter.java b/external/jaxp/source/gnu/xml/pipeline/XIncludeFilter.java
deleted file mode 100644
index a914f153e..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/XIncludeFilter.java
+++ /dev/null
@@ -1,569 +0,0 @@
-/*
- * Copyright (C) 2001-2002 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-import gnu.xml.util.Resolver;
-
-
-
-/**
- * Filter to process an XPointer-free subset of
- * <a href="http://www.w3.org/TR/xinclude">XInclude</a>, supporting its
- * use as a kind of replacement for parsed general entities.
- * XInclude works much like the <code>#include</code> of C/C++ but
- * works for XML documents as well as unparsed text files.
- * Restrictions from the 17-Sept-2002 CR draft of XInclude are as follows:
- *
- * <ul>
- *
- * <li> URIs must not include fragment identifiers.
- * The CR specifies support for XPointer <em>element()</em> fragment IDs,
- * which is not currently implemented here.
- *
- * <li> <em>xi:fallback</em> handling of resource errors is not
- * currently supported.
- *
- * <li> DTDs are not supported in included files, since the SAX DTD events
- * must have completely preceded any included file.
- * The CR explicitly allows the DTD related portions of the infoset to
- * grow as an effect of including XML documents.
- *
- * <li> <em>xml:base</em> fixup isn't done.
- *
- * </ul>
- *
- * <p> XML documents that are included will normally be processed using
- * the default SAX namespace rules, meaning that prefix information may
- * be discarded. This may be changed with {@link #setSavingPrefixes
- * setSavingPrefixes()}. <em>You are strongly advised to do this.</em>
- *
- * <p> Note that XInclude allows highly incompatible implementations, which
- * are specialized to handle application-specific infoset extensions. Some
- * such implementations can be implemented by subclassing this one, but
- * they may only be substituted in applications at "user option".
- *
- * <p>TBD: "IURI" handling.
- *
- * @author David Brownell
- */
-public class XIncludeFilter extends EventFilter implements Locator
-{
- private Hashtable extEntities = new Hashtable (5, 5);
- private int ignoreCount;
- private Stack uris = new Stack ();
- private Locator locator;
- private Vector inclusions = new Vector (5, 5);
- private boolean savingPrefixes;
-
- /**
- */
- public XIncludeFilter (EventConsumer next)
- throws SAXException
- {
- super (next);
- setContentHandler (this);
- // DTDHandler callbacks pass straight through
- setProperty (DECL_HANDLER, this);
- setProperty (LEXICAL_HANDLER, this);
- }
-
- private void fatal (SAXParseException e) throws SAXException
- {
- ErrorHandler eh;
-
- eh = getErrorHandler ();
- if (eh != null)
- eh.fatalError (e);
- throw e;
- }
-
- /**
- * Passes "this" down the filter chain as a proxy locator.
- */
- public void setDocumentLocator (Locator locator)
- {
- this.locator = locator;
- super.setDocumentLocator (this);
- }
-
- /** Used for proxy locator; do not call directly. */
- public String getSystemId ()
- { return (locator == null) ? null : locator.getSystemId (); }
- /** Used for proxy locator; do not call directly. */
- public String getPublicId ()
- { return (locator == null) ? null : locator.getPublicId (); }
- /** Used for proxy locator; do not call directly. */
- public int getLineNumber ()
- { return (locator == null) ? -1 : locator.getLineNumber (); }
- /** Used for proxy locator; do not call directly. */
- public int getColumnNumber ()
- { return (locator == null) ? -1 : locator.getColumnNumber (); }
-
- /**
- * Assigns the flag controlling the setting of the SAX2
- * <em>namespace-prefixes</em> flag.
- */
- public void setSavingPrefixes (boolean flag)
- { savingPrefixes = flag; }
-
- /**
- * Returns the flag controlling the setting of the SAX2
- * <em>namespace-prefixes</em> flag when parsing included documents.
- * The default value is the SAX2 default (false), which discards
- * information that can be useful.
- */
- public boolean isSavingPrefixes ()
- { return savingPrefixes; }
-
- //
- // Two mechanisms are interacting here.
- //
- // - XML Base implies a stack of base URIs, updated both by
- // "real entity" boundaries and element boundaries.
- //
- // - Active "Real Entities" (for document and general entities,
- // and by xincluded files) are tracked to prevent circular
- // inclusions.
- //
- private String addMarker (String uri)
- throws SAXException
- {
- if (locator != null && locator.getSystemId () != null)
- uri = locator.getSystemId ();
-
- // guard against InputSource objects without system IDs
- if (uri == null)
- fatal (new SAXParseException ("Entity URI is unknown", locator));
-
- try {
- URL url = new URL (uri);
-
- uri = url.toString ();
- if (inclusions.contains (uri))
- fatal (new SAXParseException (
- "XInclude, circular inclusion", locator));
- inclusions.addElement (uri);
- uris.push (url);
- } catch (IOException e) {
- // guard against illegal relative URIs (Xerces)
- fatal (new SAXParseException ("parser bug: relative URI",
- locator, e));
- }
- return uri;
- }
-
- private void pop (String uri)
- {
- inclusions.removeElement (uri);
- uris.pop ();
- }
-
- //
- // Document entity boundaries get both treatments.
- //
- public void startDocument () throws SAXException
- {
- ignoreCount = 0;
- addMarker (null);
- super.startDocument ();
- }
-
- public void endDocument () throws SAXException
- {
- inclusions.setSize (0);
- extEntities.clear ();
- uris.setSize (0);
- super.endDocument ();
- }
-
- //
- // External general entity boundaries get both treatments.
- //
- public void externalEntityDecl (String name,
- String publicId, String systemId)
- throws SAXException
- {
- if (name.charAt (0) == '%')
- return;
- try {
- URL url = new URL (locator.getSystemId ());
- systemId = new URL (url, systemId).toString ();
- } catch (IOException e) {
- // what could we do?
- }
- extEntities.put (name, systemId);
- }
-
- public void startEntity (String name)
- throws SAXException
- {
- if (ignoreCount != 0) {
- ignoreCount++;
- return;
- }
-
- String uri = (String) extEntities.get (name);
- if (uri != null)
- addMarker (uri);
- super.startEntity (name);
- }
-
- public void endEntity (String name)
- throws SAXException
- {
- if (ignoreCount != 0) {
- if (--ignoreCount != 0)
- return;
- }
-
- String uri = (String) extEntities.get (name);
-
- if (uri != null)
- pop (uri);
- super.endEntity (name);
- }
-
- //
- // element boundaries only affect the base URI stack,
- // unless they're XInclude elements.
- //
- public void
- startElement (String uri, String localName, String qName, Attributes atts)
- throws SAXException
- {
- if (ignoreCount != 0) {
- ignoreCount++;
- return;
- }
-
- URL baseURI = (URL) uris.peek ();
- String base;
-
- base = atts.getValue ("http://www.w3.org/XML/1998/namespace", "base");
- if (base == null)
- uris.push (baseURI);
- else {
- URL url;
-
- if (base.indexOf ('#') != -1)
- fatal (new SAXParseException (
- "xml:base with fragment: " + base,
- locator));
-
- try {
- baseURI = new URL (baseURI, base);
- uris.push (baseURI);
- } catch (Exception e) {
- fatal (new SAXParseException (
- "xml:base with illegal uri: " + base,
- locator, e));
- }
- }
-
- if (!"http://www.w3.org/2001/XInclude".equals (uri)) {
- super.startElement (uri, localName, qName, atts);
- return;
- }
-
- if ("include".equals (localName)) {
- String href = atts.getValue ("href");
- String parse = atts.getValue ("parse");
- String encoding = atts.getValue ("encoding");
- URL url = (URL) uris.peek ();
- SAXParseException x = null;
-
- if (href == null)
- fatal (new SAXParseException (
- "XInclude missing href",
- locator));
- if (href.indexOf ('#') != -1)
- fatal (new SAXParseException (
- "XInclude with fragment: " + href,
- locator));
-
- if (parse == null || "xml".equals (parse))
- x = xinclude (url, href);
- else if ("text".equals (parse))
- x = readText (url, href, encoding);
- else
- fatal (new SAXParseException (
- "unknown XInclude parsing mode: " + parse,
- locator));
- if (x == null) {
- // strip out all child content
- ignoreCount++;
- return;
- }
-
- // FIXME the 17-Sept-2002 CR of XInclude says we "must"
- // use xi:fallback elements to handle resource errors,
- // if they exist.
- fatal (x);
-
- } else if ("fallback".equals (localName)) {
- fatal (new SAXParseException (
- "illegal top level XInclude 'fallback' element",
- locator));
- } else {
- ErrorHandler eh = getErrorHandler ();
-
- // CR doesn't say this is an error
- if (eh != null)
- eh.warning (new SAXParseException (
- "unrecognized toplevel XInclude element: " + localName,
- locator));
- super.startElement (uri, localName, qName, atts);
- }
- }
-
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- if (ignoreCount != 0) {
- if (--ignoreCount != 0)
- return;
- }
-
- uris.pop ();
- if (!("http://www.w3.org/2001/XInclude".equals (uri)
- && "include".equals (localName)))
- super.endElement (uri, localName, qName);
- }
-
- //
- // ignore all content within non-empty xi:include elements
- //
- public void characters (char ch [], int start, int length)
- throws SAXException
- {
- if (ignoreCount == 0)
- super.characters (ch, start, length);
- }
-
- public void processingInstruction (String target, String value)
- throws SAXException
- {
- if (ignoreCount == 0)
- super.processingInstruction (target, value);
- }
-
- public void ignorableWhitespace (char ch [], int start, int length)
- throws SAXException
- {
- if (ignoreCount == 0)
- super.ignorableWhitespace (ch, start, length);
- }
-
- public void comment (char ch [], int start, int length)
- throws SAXException
- {
- if (ignoreCount == 0)
- super.comment (ch, start, length);
- }
-
- public void startCDATA () throws SAXException
- {
- if (ignoreCount == 0)
- super.startCDATA ();
- }
-
- public void endCDATA () throws SAXException
- {
- if (ignoreCount == 0)
- super.endCDATA ();
- }
-
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- if (ignoreCount == 0)
- super.startPrefixMapping (prefix, uri);
- }
-
- public void endPrefixMapping (String prefix) throws SAXException
- {
- if (ignoreCount == 0)
- super.endPrefixMapping (prefix);
- }
-
- public void skippedEntity (String name) throws SAXException
- {
- if (ignoreCount == 0)
- super.skippedEntity (name);
- }
-
- // JDK 1.1 seems to need it to be done this way, sigh
- void setLocator (Locator l) { locator = l; }
- Locator getLocator () { return locator; }
-
-
- //
- // for XIncluded entities, manage the current locator and
- // filter out events that would be incorrect to report
- //
- private class Scrubber extends EventFilter
- {
- Scrubber (EventFilter f)
- throws SAXException
- {
- // delegation passes to next in chain
- super (f);
-
- // process all content events
- super.setContentHandler (this);
- super.setProperty (LEXICAL_HANDLER, this);
-
- // drop all DTD events
- super.setDTDHandler (null);
- super.setProperty (DECL_HANDLER, null);
- }
-
- // maintain proxy locator
- // only one startDocument()/endDocument() pair per event stream
- public void setDocumentLocator (Locator l)
- { setLocator (l); }
- public void startDocument ()
- { }
- public void endDocument ()
- { }
-
- private void reject (String message) throws SAXException
- { fatal (new SAXParseException (message, getLocator ())); }
-
- // only the DTD from the "base document" gets reported
- public void startDTD (String root, String publicId, String systemId)
- throws SAXException
- { reject ("XIncluded DTD: " + systemId); }
- public void endDTD ()
- throws SAXException
- { reject ("XIncluded DTD"); }
- // ... so this should never happen
- public void skippedEntity (String name) throws SAXException
- { reject ("XInclude skipped entity: " + name); }
-
- // since we rejected DTDs, only builtin entities can be reported
- }
-
- // <xi:include parse='xml' ...>
- // relative to the base URI passed
- private SAXParseException xinclude (URL url, String href)
- throws SAXException
- {
- XMLReader helper;
- Scrubber scrubber;
- Locator savedLocator = locator;
-
- // start with a parser acting just like our input
- // modulo DTD-ish stuff (validation flag, entity resolver)
- helper = XMLReaderFactory.createXMLReader ();
- helper.setErrorHandler (getErrorHandler ());
- helper.setFeature (FEATURE_URI + "namespace-prefixes", true);
-
- // Set up the proxy locator and event filter.
- scrubber = new Scrubber (this);
- locator = null;
- bind (helper, scrubber);
-
- // Merge the included document, except its DTD
- try {
- url = new URL (url, href);
- href = url.toString ();
-
- if (inclusions.contains (href))
- fatal (new SAXParseException (
- "XInclude, circular inclusion", locator));
-
- inclusions.addElement (href);
- uris.push (url);
- helper.parse (new InputSource (href));
- return null;
- } catch (java.io.IOException e) {
- return new SAXParseException (href, locator, e);
- } finally {
- pop (href);
- locator = savedLocator;
- }
- }
-
- // <xi:include parse='text' ...>
- // relative to the base URI passed
- private SAXParseException readText (URL url, String href, String encoding)
- throws SAXException
- {
- InputStream in = null;
-
- try {
- URLConnection conn;
- InputStreamReader reader;
- char buf [] = new char [4096];
- int count;
-
- url = new URL (url, href);
- conn = url.openConnection ();
- in = conn.getInputStream ();
- if (encoding == null)
- encoding = Resolver.getEncoding (conn.getContentType ());
- if (encoding == null) {
- ErrorHandler eh = getErrorHandler ();
- if (eh != null)
- eh.warning (new SAXParseException (
- "guessing text encoding for URL: " + url,
- locator));
- reader = new InputStreamReader (in);
- } else
- reader = new InputStreamReader (in, encoding);
-
- while ((count = reader.read (buf, 0, buf.length)) != -1)
- super.characters (buf, 0, count);
- in.close ();
- return null;
- } catch (IOException e) {
- return new SAXParseException (
- "can't XInclude text",
- locator, e);
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/XsltFilter.java b/external/jaxp/source/gnu/xml/pipeline/XsltFilter.java
deleted file mode 100644
index 3310d734e..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/XsltFilter.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.pipeline;
-
-import java.io.IOException;
-
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.sax.*;
-import javax.xml.transform.stream.StreamSource;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.LexicalHandler;
-
-
-/**
- * Packages an XSLT transform as a pipeline component.
- * Note that all DTD events (callbacks to DeclHandler and DTDHandler
- * interfaces) are discarded, although XSLT transforms may be set up to
- * use the LexicalHandler to write DTDs with only an external subset.
- * Not every XSLT engine will necessarily be usable with this filter,
- * but current versions of
- * <a href="http://saxon.sourceforge.net">SAXON</a> and
- * <a href="http://xml.apache.org/xalan-j">Xalan</a> should work well.
- *
- * @see TransformerFactory
- *
- * @author David Brownell
- */
-final public class XsltFilter extends EventFilter
-{
- /**
- * Creates a filter that performs the specified transform.
- * Uses the JAXP 1.1 interfaces to access the default XSLT
- * engine configured for in the current execution context,
- * and parses the stylesheet without custom EntityResolver
- * or ErrorHandler support.
- *
- * @param stylesheet URI for the stylesheet specifying the
- * XSLT transform
- * @param next provides the ContentHandler and LexicalHandler
- * to receive XSLT output.
- * @exception SAXException if the stylesheet can't be parsed
- * @exception IOException if there are difficulties
- * bootstrapping the XSLT engine, such as it not supporting
- * SAX well enough to use this way.
- */
- public XsltFilter (String stylesheet, EventConsumer next)
- throws SAXException, IOException
- {
- // First, get a transformer with the stylesheet preloaded
- TransformerFactory tf = null;
- TransformerHandler th;
-
- try {
- SAXTransformerFactory stf;
-
- tf = TransformerFactory.newInstance ();
- if (!tf.getFeature (SAXTransformerFactory.FEATURE) // sax inputs
- || !tf.getFeature (SAXResult.FEATURE) // sax outputs
- || !tf.getFeature (StreamSource.FEATURE) // stylesheet
- )
- throw new IOException ("XSLT factory ("
- + tf.getClass ().getName ()
- + ") does not support SAX");
- stf = (SAXTransformerFactory) tf;
- th = stf.newTransformerHandler (new StreamSource (stylesheet));
- } catch (TransformerConfigurationException e) {
- throw new IOException ("XSLT factory ("
- + (tf == null
- ? "none available"
- : tf.getClass ().getName ())
- + ") configuration error, "
- + e.getMessage ()
- );
- }
-
- // Hook its outputs up to the pipeline ...
- SAXResult out = new SAXResult ();
-
- out.setHandler (next.getContentHandler ());
- try {
- LexicalHandler lh;
- lh = (LexicalHandler) next.getProperty (LEXICAL_HANDLER);
- out.setLexicalHandler (lh);
- } catch (Exception e) {
- // ignore
- }
- th.setResult (out);
-
- // ... and make sure its inputs look like ours.
- setContentHandler (th);
- setProperty (LEXICAL_HANDLER, th);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/pipeline/package.html b/external/jaxp/source/gnu/xml/pipeline/package.html
deleted file mode 100644
index 91ba3b927..000000000
--- a/external/jaxp/source/gnu/xml/pipeline/package.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<html><head><title>
-blah
-<!--
-/*
- * Copyright (c) 1999-2001 by David Brownell. All Rights Reserved.
- *
- * $Id: package.html,v 1.2 2004-05-01 16:18:51 mark Exp $
- */
--->
-</title></head><body>
-
-<p>This package exposes a kind of XML processing pipeline, based on sending
-SAX events, which can be used as components of application architectures.
-Pipelines are used to convey streams of processing events from a producer
-to one or more consumers, and to let each consumer control the data seen by
-later consumers.
-
-<p> There is a <a href="PipelineFactory.html">PipelineFactory</a> class which
-accepts a syntax describing how to construct some simple pipelines. Strings
-describing such pipelines can be used in command line tools (see the
-<a href="../util/DoParse.html">DoParse</a> class)
-and in other places that it is
-useful to let processing be easily reconfigured. Pipelines can of course
-be constructed programmatically, providing access to options that the
-factory won't.
-
-<p> Web applications are supported by making it easy for servlets (or
-non-Java web application components) to be part of a pipeline. They can
-originate XML (or XHTML) data through an <em>InputSource</em> or in
-response to XML messages sent from clients using <em>CallFilter</em>
-pipeline stages. Such facilities are available using the simple syntax
-for pipeline construction.
-
-
-<h2> Programming Models </h2>
-
-<p> Pipelines should be simple to understand.
-
-<ul>
- <li> XML content, typically entire documents,
- is pushed through consumers by producers.
-
- <li> Pipelines are basically about consuming SAX2 callback events,
- where the events encapsulate XML infoset-level data.<ul>
-
- <li> Pipelines are constructed by taking one or more consumer
- stages and combining them to produce a composite consumer.
-
- <li> A pipeline is presumed to have pending tasks and state from
- the beginning of its ContentHandler.startDocument() callback until
- it's returned from its ContentHandler.doneDocument() callback.
-
- <li> Pipelines may have multiple output stages ("fan-out")
- or multiple input stages ("fan-in") when appropriate.
-
- <li> Pipelines may be long-lived, but need not be.
-
- </ul>
-
- <li> There is flexibility about event production. <ul>
-
- <li> SAX2 XMLReader objects are producers, which
- provide a high level "pull" model: documents (text or DOM) are parsed,
- and the parser pushes individual events through the pipeline.
-
- <li> Events can be pushed directly to event consumer components
- by application modules, if they invoke SAX2 callbacks directly.
- That is, application modules use the XML Infoset as exposed
- through SAX2 event callbacks.
-
- </ul>
-
- <li> Multiple producer threads may concurrently access a pipeline,
- if they coordinate appropriately.
-
- <li> Pipeline processing is not the only framework applications
- will use.
-
- </ul>
-
-
-<h3> Producers: XMLReader or Custom </h3>
-
-<p> Many producers will be SAX2 XMLReader objects, and
-will read (pull) data which is then written (pushed) as events.
-Typically these will parse XML text (acquired from
-<code>org.xml.sax.helpers.XMLReaderFactory</code>) or a DOM tree
-(using a <code><a href="../util/DomParser.html">DomParser</a></code>)
-These may be bound to event consumer using a convenience routine,
-<em><a href="EventFilter.html">EventFilter</a>.bind()</em>.
-Once bound, these producers may be given additional documents to
-sent through its pipeline.
-
-<p> In other cases, you will write producers yourself. For example, some
-data structures might know how to write themselves out using one or
-more XML models, expressed as sequences of SAX2 event callbacks.
-An application module might
-itself be a producer, issuing startDocument and endDocument events
-and then asking those data structures to write themselves out to a
-given EventConsumer, or walking data structures (such as JDBC query
-results) and applying its own conversion rules. WAP format XML
-(WBMXL) can be directly converted to producer output.
-
-<p> SAX2 introduced an "XMLFilter" interface, which is a kind of XMLReader.
-It is most useful in conjunction with its XMLFilterImpl helper class;
-see the <em><a href="EventFilter.html">EventFilter</a></em> javadoc
-for information contrasting that XMLFilterImpl approach with the
-relevant parts of this pipeline framework. Briefly, such XMLFilterImpl
-children can be either producers or consumers, and are more limited in
-configuration flexibility. In this framework, the focus of filters is
-on the EventConsumer side; see the section on
-<a href="#fitting">pipe fitting</a> below.
-
-
-<h3> Consume to Standard or Custom Data Representations </h3>
-
-<p> Many consumers will be used to create standard representations of XML
-data. The <a href="TextConsumer.html">TextConsumer</a> takes its events
-and writes them as text for a single XML document,
-using an internal <a href="../util/XMLWriter.html">XMLWriter</a>.
-The <a href="DomConsumer.html">DomConsumer</a> takes its events and uses
-them to create and populate a DOM Document.
-
-<p> In other cases, you will write consumers yourself. For example,
-you might use a particular unmarshaling filter to produce objects
-that fit your application's requirements, instead of using DOM.
-Such consumers work at the level of XML data models, rather than with
-specific representations such as XML text or a DOM tree. You could
-convert your output directly to WAP format data (WBXML).
-
-
-<h3><a name="fitting">Pipe Fitting</a></h3>
-
-<p> Pipelines are composite event consumers, with each stage having
-the opportunity to transform the data before delivering it to any
-subsequent stages.
-
-<p> The <a href="PipelineFactory.html">PipelineFactory</a> class
-provides access to much of this functionality through a simple syntax.
-See the table in that class's javadoc describing a number of standard
-components. Direct API calls are still needed for many of the most
-interesting pipeline configurations, including ones leveraging actual
-or logical concurrency.
-
-<p> Four basic types of pipe fitting are directly supported. These may
-be used to construct complex pipeline networks. <ul>
-
- <li> <a href="TeeConsumer.html">TeeConsumer</a> objects split event
- flow so it goes to two two different consumers, one before the other.
- This is a basic form of event fan-out; you can use this class to
- copy events to any number of output pipelines.
-
- <li> Clients can call remote components through HTTP or HTTPS using
- the <a href="CallFilter.html">CallFilter</a> component, and Servlets
- can implement such components by extending the
- <a href="XmlServlet.html">XmlServlet</a> component. Java is not
- required on either end, and transport protocols other than HTTP may
- also be used.
-
- <li> <a href="EventFilter.html">EventFilter</a> objects selectively
- provide handling for callbacks, and can pass unhandled ones to a
- subsequent stage. They are often subclassed, since much of the
- basic filtering machinery is already in place in the base class.
-
- <li> Applications can merge two event flows by just using the same
- consumer in each one. If multiple threads are in use, synchronization
- needs to be addressed by the appropriate application level policy.
-
- </ul>
-
-<p> Note that filters can be as complex as
-<a href="XsltFilter.html">XSLT transforms</a>
-available) on input data, or as simple as removing simple syntax data
-such as ignorable whitespace, comments, and CDATA delimiters.
-Some simple "built-in" filters are part of this package.
-
-
-<h3> Coding Conventions: Filter and Terminus Stages</h3>
-
-<p> If you follow these coding conventions, your classes may be used
-directly (give the full class name) in pipeline descriptions as understood
-by the PipelineFactory. There are four constructors the factory may
-try to use; in order of decreasing numbers of parameters, these are: <ul>
-
- <li> Filters that need a single String setup parameter should have
- a public constructor with two parameters: that string, then the
- EventConsumer holding the "next" consumer to get events.
-
- <li> Filters that don't need setup parameters should have a public
- constructor that accepts a single EventConsumer holding the "next"
- consumer to get events when they are done.
-
- <li> Terminus stages may have a public constructor taking a single
- paramter: the string value of that parameter.
-
- <li> Terminus stages may have a public no-parameters constructor.
-
- </ul>
-
-<p> Of course, classes may support more than one such usage convention;
-if they do, they can automatically be used in multiple modes. If you
-try to use a terminus class as a filter, and that terminus has a constructor
-with the appropriate number of arguments, it is automatically wrapped in
-a "tee" filter.
-
-
-<h2> Debugging Tip: "Tee" Joints can Snapshot Data</h2>
-
-<p> It can sometimes be hard to see what's happening, when something
-goes wrong. Easily fixed: just snapshot the data. Then you can find
-out where things start to go wrong.
-
-<p> If you're using pipeline descriptors so that they're easily
-administered, just stick a <em>write&nbsp;(&nbsp;filename&nbsp;)</em>
-filter into the pipeline at an appropriate point.
-
-<p> Inside your programs, you can do the same thing directly: perhaps
-by saving a Writer (perhaps a StringWriter) in a variable, using that
-to create a TextConsumer, and making that the first part of a tee --
-splicing that into your pipeline at a convenient location.
-
-<p> You can also use a DomConsumer to buffer the data, but remember
-that DOM doesn't save all the information that XML provides, so that DOM
-snapshots are relatively low fidelity. They also are substantially more
-expensive in terms of memory than a StringWriter holding similar data.
-
-<h2> Debugging Tip: Non-XML Producers</h2>
-
-<p> Producers in pipelines don't need to start from XML
-data structures, such as text in XML syntax (likely coming
-from some <em>XMLReader</em> that parses XML) or a
-DOM representation (perhaps with a
-<a href="../util/DomParser.html">DomParser</a>).
-
-<p> One common type of event producer will instead make
-direct calls to SAX event handlers returned from an
-<a href="EventConsumer.html">EventConsumer</a>.
-For example, making <em>ContentHandler.startElement</em>
-calls and matching <em>ContentHandler.endElement</em> calls.
-
-<p> Applications making such calls can catch certain
-common "syntax errors" by using a
-<a href="WellFormednessFilter.html">WellFormednessFilter</a>.
-That filter will detect (and report) erroneous input data
-such as mismatched document, element, or CDATA start/end calls.
-Use such a filter near the head of the pipeline that your
-producer feeds, at least while debugging, to help ensure that
-you're providing legal XML Infoset data.
-
-<p> You can also arrange to validate data on the fly.
-For DTD validation, you can configure a
-<a href="ValidationConsumer.html">ValidationConsumer</a>
-to work as a filter, using any DTD you choose.
-Other validation schemes can be handled with other
-validation filters.
-
-</body></html>
diff --git a/external/jaxp/source/gnu/xml/util/DoParse.java b/external/jaxp/source/gnu/xml/util/DoParse.java
deleted file mode 100644
index 821604d10..000000000
--- a/external/jaxp/source/gnu/xml/util/DoParse.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.util;
-
-import java.io.*;
-
-import org.xml.sax.*;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.ext.*;
-
-// import gnu.xml.pipeline.*;
-// Added imports directly to fix a GCJ problem.
-import gnu.xml.pipeline.CallFilter;
-import gnu.xml.pipeline.DomConsumer;
-import gnu.xml.pipeline.EventConsumer;
-import gnu.xml.pipeline.EventFilter;
-import gnu.xml.pipeline.LinkFilter;
-import gnu.xml.pipeline.NSFilter;
-import gnu.xml.pipeline.PipelineFactory;
-import gnu.xml.pipeline.TeeConsumer;
-import gnu.xml.pipeline.TextConsumer;
-import gnu.xml.pipeline.ValidationConsumer;
-import gnu.xml.pipeline.WellFormednessFilter;
-import gnu.xml.pipeline.XIncludeFilter;
-import gnu.xml.pipeline.XsltFilter;
-
-
-/**
- * This class provides a driver which may be invoked from the command line
- * to process a document using a SAX2 parser and a specified XML processing
- * pipeline.
- * This facilitates some common types of command line tools, such as parsing an
- * XML document in order test it for well formedness or validity.
- *
- * <p>The SAX2 XMLReaderFactory should return a SAX2 XML parser which
- * supports both of the standardized extension handlers (for declaration
- * and lexical events). That parser will be used to produce events.
- *
- * <p>The first parameter to the command gives the name of the document that
- * will be given to that processor. If it is a file name, it is converted
- * to a URL first.
- *
- * <p>The second parameter describes a simple processing pipeline, and will
- * be used as input to {@link gnu.xml.pipeline.PipelineFactory}
- * methods which identify the processing to be done. Examples of such a
- * pipeline include <pre>
- *
- * nsfix | validate <em>to validate the input document </em>
- * nsfix | write ( stdout ) <em>to echo the file as XML text</em>
- * dom | nsfix | write ( stdout ) <em>parse into DOM, print the result</em>
- * </pre>
- *
- * <p> Relatively complex pipelines can be described on the command line, but
- * not all interesting ones will require as little configuration as can be done
- * in that way. Put filters like "nsfix", perhaps followed by "validate",
- * at the front of the pipeline so they can be optimized out if a parser
- * supports those modes natively.
- *
- * <p> If the parsing is aborted for any reason, the JVM will exit with a
- * failure code. If a validating parse was done then both validation and
- * well formedness errors will cause a failure. A non-validating parse
- * will report failure on well formedness errors.
- *
- * @see gnu.xml.pipeline.PipelineFactory
- *
- * @author David Brownell
- */
-final public class DoParse
-{
- private DoParse () { /* no instances allowed */ }
-
- // first reported nonrecoverable error
- private static SAXParseException fatal;
-
- // error categories
- private static int errorCount;
- private static int fatalCount;
-
- /**
- * Command line invoker for this class; pass a filename or URL
- * as the first argument, and a pipeline description as the second.
- * Make sure to use filters to condition the input to stages that
- * require it; an <em>nsfix</em> filter will be a common requirement,
- * to restore syntax that SAX2 parsers delete by default. Some
- * conditioning filters may be eliminated by setting parser options.
- * (For example, "nsfix" can set the "namespace-prefixes" feature to
- * a non-default value of "true". In the same way, "validate" can set
- * the "validation" feature to "true".)
- */
- public static void main (String argv [])
- throws IOException
- {
- int exitStatus = 1;
-
- if (argv.length != 2) {
- System.err.println ("Usage: DoParse [filename|URL] pipeline-spec");
- System.err.println ("Example pipeline specs:");
- System.err.println (" 'nsfix | validate'");
- System.err.println (
- " ... restore namespace syntax, validate");
- System.err.println (" 'nsfix | write ( stdout )'");
- System.err.println (
- " ... restore namespace syntax, write to stdout as XML"
- );
- System.exit (1);
- }
-
- try {
- //
- // Get input source for specified document (or try ;-)
- //
- argv [0] = Resolver.getURL (argv [0]);
- InputSource input = new InputSource (argv [0]);
-
- //
- // Get the producer, using the system default parser (which
- // can be overridden for this particular invocation).
- //
- // And the pipeline, using commandline options.
- //
- XMLReader producer;
- EventConsumer consumer;
-
- producer = XMLReaderFactory.createXMLReader ();
-
- //
- // XXX pipeline factory now has a pre-tokenized input
- // method, use it ... that way at least some params
- // can be written using quotes (have spaces, ...)
- //
- consumer = PipelineFactory.createPipeline (argv [1]);
-
- //
- // XXX want commandline option for tweaking error handler.
- // Want to be able to present warnings.
- //
- producer.setErrorHandler (new MyErrorHandler ());
-
- // XXX need facility enabling resolving to local DTDs
-
- //
- // Parse. The pipeline may get optimized a bit, so we
- // can't always fail cleanly for validation without taking
- // a look at the filter stages.
- //
- EventFilter.bind (producer, consumer);
- producer.parse (input);
-
- try {
- if (producer.getFeature (
- "http://org.xml/sax/features/validation"))
- exitStatus = ((errorCount + fatalCount) > 0) ? 1 : 0;
- else if (fatalCount == 0)
- exitStatus = 0;
- } catch (SAXException e) {
- if (hasValidator (consumer))
- exitStatus = ((errorCount + fatalCount) > 0) ? 1 : 0;
- else if (fatalCount == 0)
- exitStatus = 0;
- }
-
- } catch (java.net.MalformedURLException e) {
- System.err.println ("** Malformed URL: " + e.getMessage ());
- System.err.println ("Is '" + argv [0] + "' a non-existent file?");
- e.printStackTrace ();
- // e.g. FNF
-
- } catch (SAXParseException e) {
- if (e != fatal) {
- System.err.print (printParseException ("Parsing Aborted", e));
- e.printStackTrace ();
- if (e.getException () != null) {
- System.err.println ("++ Wrapped exception:");
- e.getException ().printStackTrace ();
- }
- }
-
- } catch (SAXException e) {
- Exception x = e;
- if (e.getException () != null)
- x = e.getException ();
- x.printStackTrace ();
-
- } catch (Throwable t) {
- t.printStackTrace ();
- }
-
- System.exit (exitStatus);
- }
-
- // returns true if saw a validator (before end or unrecognized node)
- // false otherwise
- private static boolean hasValidator (EventConsumer e)
- {
- if (e == null)
- return false;
- if (e instanceof ValidationConsumer)
- return true;
- if (e instanceof TeeConsumer) {
- TeeConsumer t = (TeeConsumer) e;
- return hasValidator (t.getFirst ())
- || hasValidator (t.getRest ());
- }
- if (e instanceof WellFormednessFilter
- || e instanceof NSFilter
- )
- return hasValidator (((EventFilter)e).getNext ());
-
- // else ... gee, we can't know. Assume not.
-
- return false;
- }
-
- static class MyErrorHandler implements ErrorHandler
- {
- // dump validation errors, but continue
- public void error (SAXParseException e)
- throws SAXParseException
- {
- errorCount++;
- System.err.print (printParseException ("Error", e));
- }
-
- public void warning (SAXParseException e)
- throws SAXParseException
- {
- // System.err.print (printParseException ("Warning", e));
- }
-
- // try to continue fatal errors, in case a parser reports more
- public void fatalError (SAXParseException e)
- throws SAXParseException
- {
- fatalCount++;
- if (fatal == null)
- fatal = e;
- System.err.print (printParseException ("Nonrecoverable Error", e));
- }
- }
-
- static private String printParseException (
- String label,
- SAXParseException e
- ) {
- StringBuffer buf = new StringBuffer ();
- int temp;
-
- buf.append ("** ");
- buf.append (label);
- buf.append (": ");
- buf.append (e.getMessage ());
- buf.append ('\n');
- if (e.getSystemId () != null) {
- buf.append (" URI: ");
- buf.append (e.getSystemId ());
- buf.append ('\n');
- }
- if ((temp = e.getLineNumber ()) != -1) {
- buf.append (" line: ");
- buf.append (temp);
- buf.append ('\n');
- }
- if ((temp = e.getColumnNumber ()) != -1) {
- buf.append (" char: ");
- buf.append (temp);
- buf.append ('\n');
- }
-
- return buf.toString ();
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/DomParser.java b/external/jaxp/source/gnu/xml/util/DomParser.java
deleted file mode 100644
index e240336bf..000000000
--- a/external/jaxp/source/gnu/xml/util/DomParser.java
+++ /dev/null
@@ -1,793 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.util;
-
-import java.util.Enumeration;
-import java.util.Locale;
-
-import org.xml.sax.*;
-import org.xml.sax.helpers.AttributesImpl;
-import org.xml.sax.helpers.NamespaceSupport;
-import org.xml.sax.ext.DeclHandler;
-import org.xml.sax.ext.DefaultHandler2;
-import org.xml.sax.ext.LexicalHandler;
-
-import org.w3c.dom.*;
-
-
-/**
- * This parser emits SAX2 parsing events as it traverses a DOM tree, using
- * any conformant implementation of DOM. It exposes all SAX1 features,
- * and the following SAX2 features and properties (as
- * identified by standard URIs which are not fully provided here). Note
- * that if a Level 1 DOM implementation is given, then this behaves as if
- * namespaces were disabled, and namespace prefixes were enabled. </p>
- *
- * <table border="1" width='100%' cellpadding='3' cellspacing='0'>
- * <tr bgcolor='#ccccff'>
- * <th><font size='+1'>Name</font></th>
- * <th><font size='+1'>Notes</font></th></tr>
- *
- * <tr><td colspan=2><center><em>Features ... URL prefix is
- * <b>http://xml.org/sax/features/</b></em></center></td></tr>
- *
- * <tr><td>(URL)/external-general-entities</td>
- * <td>false (does no parsing)</td></tr>
- * <tr><td>(URL)/external-parameter-entities</td>
- * <td>false (does no parsing)</td></tr>
- * <tr><td>(URL)/namespaces</td>
- * <td>Value is fixed at <em>true</em></td></tr>
- * <tr><td>(URL)/namespace-prefixes</td>
- * <td>Value is settable, defaulting to <em>false</em>
- * (<code>xmlns</code> attributes hidden, and names aren't prefixed)
- * </td></tr>
- * <tr><td>(URL)/string-interning</td>
- * <td>Value is fixed at <em>false</em> (DOM provides no
- * guarantees as to interning)</td></tr>
- * <tr><td>(URL)/validation</td>
- * <td>false (does no parsing)</td></tr>
- * <tr><td>(URL)/lexical-handler/parameter-entities</td>
- * <td>false (DOM doesn't do parameter entities)</td></tr>
- *
- * <tr><td colspan=2><center><em>Properties ... URL prefix is
- * <b>http://xml.org/sax/properties/</b></em></center></td></tr>
- *
- *
- * <tr><td>(URL)/dom-node</td>
- * <td>This property may be set before parsing to hold a DOM
- * <em>Document</em> node; any arguments given to <em>parse</em>
- * methods are ignored. When retrieved
- * during a parse, this value contains the "current" DOM node.
- * </td></tr>
- * <tr><td>(URL)/declaration-handler</td>
- * <td>A declaration handler may be provided. Declaration of external
- * general entities is exposed, but not parameter entities; none of the
- * entity names reported here will begin with "%". </td></tr>
- * <tr><td>(URL)/lexical-handler</td>
- * <td>A lexical handler may be provided. While the start and end of
- * any external subset are reported, expansion of other parameter
- * entities (e.g. inside attribute list declarations) is not exposed.
- * Expansion of general entities within attributes is also not exposed
- * (see below).</td></tr>
- * </table>
- *
- * <P> The consequences of modifying a DOM document tree as it is being walked
- * by this "parser" are unspecified; don't do it! </P>
- *
- * @author David Brownell
- */
-final public class DomParser implements XMLReader
-{
- // Stuff used internally to route events correctly
- private DefaultHandler2 defaultHandler = new DefaultHandler2 ();
-
- // per-parse SAX stuff
- private ContentHandler contentHandler = defaultHandler;
- private DTDHandler dtdHandler = defaultHandler;
- private DeclHandler declHandler = defaultHandler;
- private LexicalHandler lexicalHandler = defaultHandler;
-
- // shared context
- private ErrorHandler errHandler = defaultHandler;
- private EntityResolver resolver = defaultHandler;
- private Locale locale = Locale.getDefault ();
-
- // parser state
- private Node start;
- private Node current;
- private boolean isL2;
- private boolean showNamespaces = true;
- private boolean showXML1_0 = false;
- private NamespaceSupport prefixStack = new NamespaceSupport ();
- private boolean isDocument;
-
-
- /**
- * Constructs an unitialized <b>SAX2</b> parser.
- */
- public DomParser () {
- }
-
- /**
- * Constructs an <b>SAX2</b> parser initialized to traverse the specified
- * DOM tree. If the node is a document, the startDocument() and
- * endDocument() calls bracket the calls exposing children.
- */
- public DomParser (Node node) {
- setStart (node);
- }
-
-
- // stuff that most components in an application should be sharing:
- // resolver and error locale.
-
- /**
- * <b>SAX2</b>: Returns the object used when resolving external
- * entities during parsing (both general and parameter entities).
- */
- public EntityResolver getEntityResolver ()
- {
- return resolver;
- }
-
- /**
- * <b>SAX1</b>: Provides an object which may be used when resolving external
- * entities during parsing (both general and parameter entities).
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- if (resolver == null)
- resolver = defaultHandler;
- this.resolver = resolver;
- }
-
- /**
- * <b>SAX1</b>: Identifies the locale which the parser should use for the
- * diagnostics it provides.
- *
- * @exception SAXException as defined in the specification for
- * <em>org.xml.sax.Parser.setLocale()</em>
- */
- public void setLocale (Locale locale)
- throws SAXException
- {
- if (locale == null)
- locale = Locale.getDefault ();
- this.locale = locale;
- }
-
-
- // different modules will tend to handle error handling the same,
- // but it may not be the same through the whole app
-
- /**
- * <b>SAX2</b>: Returns the object used to receive callbacks for XML
- * errors of all levels (fatal, nonfatal, warning).
- */
- public ErrorHandler getErrorHandler ()
- {
- return errHandler;
- }
-
- /**
- * <b>SAX1</b>: Provides an object which receives callbacks for XML errors
- * of all levels (fatal, nonfatal, warning).
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- if (handler == null)
- handler = defaultHandler;
- errHandler = handler;
- }
-
-
- // stuff different parts of a module will handle differently
-
- /**
- * <b>SAX2</b>: Returns the object used to report the logical
- * content of an XML document.
- */
- public ContentHandler getContentHandler ()
- {
- return contentHandler;
- }
-
- /**
- * <b>SAX2</b>: Assigns the object used to report the logical
- * content of an XML document.
- */
- public void setContentHandler (ContentHandler handler)
- {
- if (handler == null)
- handler = defaultHandler;
- contentHandler = handler;
- }
-
- /**
- * <b>SAX2</b>: Returns the object used to process declarations related
- * to notations and unparsed entities.
- */
- public DTDHandler getDTDHandler ()
- {
- return dtdHandler;
- }
-
- /**
- * <b>SAX1</b>: Provides an object which may be used to intercept
- * declarations related to notations and unparsed entities.
- */
- public void setDTDHandler (DTDHandler handler)
- {
- if (handler == null)
- handler = defaultHandler;
- dtdHandler = handler;
- }
-
-
- /**
- * <b>SAX1</b>: Parses the previously provided DOM document (the
- * input parameter is ignored). When this returns, that same
- * document may be parsed again without needing a "reset".
- *
- * @param uri ignored (pass an empty string)
- * @exception SAXException as defined in the specification for
- * <em>org.xml.sax.Parser.parse()</em>
- */
- public void parse (String uri) throws SAXException
- {
- parse ();
- }
-
- /**
- * <b>SAX1</b>: Parses the previously provided DOM document (the
- * input parameter is ignored). When this returns, that same
- * document may be parsed again without needing a "reset".
- *
- * @param input ignored
- * @exception SAXException as defined in the specification for
- * <em>org.xml.sax.Parser.parse()</em>
- */
- public void parse (InputSource input) throws SAXException
- {
- parse ();
- }
-
- private void parse () throws SAXException
- {
- try {
- walk ();
- } finally {
- if (isDocument)
- contentHandler.endDocument ();
- current = null;
- prefixStack.reset ();
- }
- }
-
- private boolean getIsL2 (Node node)
- {
- DOMImplementation impl;
- Document doc;
-
- if (node instanceof Document)
- doc = (Document) node;
- else
- doc = node.getOwnerDocument ();
- if (doc == null)
- throw new RuntimeException ("? unowned node - L2 DTD ?");
- impl = doc.getImplementation ();
- return impl.hasFeature ("XML", "2.0");
- }
-
-
- private static final String FEATURES = "http://xml.org/sax/features/";
- private static final String HANDLERS = "http://xml.org/sax/properties/";
-
- /**
- * <b>SAX2</b>: Tells whether this parser supports the specified feature.
- */
- public boolean getFeature (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- // basically, none are relevant -- they relate more to
- // parsing than to walking a "parse tree".
-
- // FIXME: DOM feature to expose interning?
-
- if ((FEATURES + "validation").equals (name)
- || (FEATURES + "external-general-entities")
- .equals (name)
- || (FEATURES + "external-parameter-entities")
- .equals (name)
- || (FEATURES + "string-interning").equals (name)
- )
- return false;
-
- if ((FEATURES + "namespaces").equals (name))
- return showNamespaces;
- if ((FEATURES + "namespace-prefixes").equals (name))
- return showXML1_0;
-
- throw new SAXNotRecognizedException (name);
- }
-
- /**
- * <b>SAX2</b>: Returns the specified property. At this time only
- * the declaration and lexical handlers, and current the "DOM" node,
- * are supported.
- */
- public Object getProperty (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if ((HANDLERS + "declaration-handler").equals (name))
- return declHandler == defaultHandler ? null : declHandler;
- if ((HANDLERS + "lexical-handler").equals (name))
- return lexicalHandler == defaultHandler ? null : lexicalHandler;
-
- if ((HANDLERS + "dom-node").equals (name))
- return current;
-
- // unknown properties
- throw new SAXNotRecognizedException (name);
- }
-
- /**
- * <b>SAX2</b>: Sets the state of features supported in this parser.
- * Only the namespace support features are mutable.
- */
- public void setFeature (String name, boolean state)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (current != null)
- throw new IllegalStateException ("feature change midparse");
-
- boolean value = getFeature (name);
-
- if (value == state)
- return;
-
- if ((FEATURES + "namespaces").equals (name)) {
- if (!showXML1_0 && state == false)
- throw new SAXNotSupportedException ("Illegal namespace "
- + "processing configuration");
- showNamespaces = state;
- return;
- }
- if ((FEATURES + "namespace-prefixes").equals (name)) {
- if (!showNamespaces && state == false)
- throw new SAXNotSupportedException ("Illegal namespace "
- + "processing configuration");
- showXML1_0 = state;
- return;
- }
-
- throw new SAXNotSupportedException (name);
- }
-
- /**
- * <b>SAX2</b>: Assigns the specified property. At this time only
- * declaration and lexical handlers, and the initial DOM document, are
- * supported. These must not be changed to values of the wrong type.
- * Like SAX1 handlers, these handlers may be changed at any time.
- * Like SAX1 input source or document URI, the initial DOM document
- * may not be changed during a parse.
- */
- public void setProperty (String name, Object state)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if ((HANDLERS + "declaration-handler").equals (name)) {
- if (!(state instanceof DeclHandler || state == null))
- throw new SAXNotSupportedException (name);
- declHandler = (DeclHandler) state;
- return;
- }
-
- if ((HANDLERS + "lexical-handler").equals (name)) {
- if (!(state instanceof LexicalHandler || state == null))
- throw new SAXNotSupportedException (name);
- lexicalHandler = (LexicalHandler) state;
- return;
- }
-
- if ((HANDLERS + "dom-node").equals (name)) {
- if (state == null || state instanceof Node) {
- if (current != null)
- throw new SAXNotSupportedException (
- "property is readonly during parse: " + name);
- setStart ((Node) state);
- return;
- }
- throw new SAXNotSupportedException ("not a DOM Node");
- }
-
- // unknown properties
- throw new SAXNotRecognizedException (name);
- }
-
- private void setStart (Node property)
- {
- start = property;
- if (start != null) {
- isL2 = getIsL2 (start);
- isDocument = (start instanceof Document);
- }
- }
-
- //
- // Non-recursive walk, using DOM state when backtracking is needed
- //
- private void walk ()
- throws SAXException
- {
- int type;
- NamedNodeMap nodes;
- int length;
- AttributesImpl attrs = new AttributesImpl ();
- char chars [];
- String ns, local;
-
- synchronized (this) {
- if (current != null)
- throw new IllegalStateException ("already walking tree");
-
- // JVM guarantees assignments are atomic; so no other
- // thread could get this far till this walk's done.
- current = start;
- }
-
- for (;;) {
- type = current.getNodeType ();
-
- //
- // First, visit the current node, including any "start" calls
- //
- switch (type) {
-
- case Node.DOCUMENT_NODE:
- contentHandler.startDocument ();
- break;
-
- case Node.ELEMENT_NODE:
- nodes = current.getAttributes ();
- length = nodes.getLength ();
- prefixStack.pushContext ();
- for (int i = 0; i < length; i++) {
- Attr attr = (Attr) nodes.item (i);
- String name = attr.getNodeName ();
-
- if (showNamespaces && name.startsWith ("xmlns")) {
- String prefix;
- String uri;
-
- // NOTE: DOM L2 (CR2+ and REC) violate the
- // Namespaces REC, treat "xmlns" like a strange
- // attribute instead of a magic token
- if ("xmlns".equals (name))
- prefix = "";
- else
- prefix = name.substring (6);
- uri = attr.getNodeValue ();
-
- prefixStack.declarePrefix (prefix, uri);
- contentHandler.startPrefixMapping (prefix, uri);
-
- if (!showXML1_0)
- continue;
- }
-
- //
- // NOTE: DOM doesn't record the attribute type info
- // which SAX exposes; so this always reports CDATA.
- //
- // NOTE: SAX doesn't expose the isSpecified info which
- // DOM exposes; that's discarded here. Similarly with
- // the information DOM hides inside itself about what
- // the default values for an attribute are.
- //
- if (showNamespaces) {
- if (isL2) {
- if ((ns = attr.getNamespaceURI ()) == null)
- ns = "";
- // Note: SAX2 and DOM handle "local" names
- // differently
- if ((local = attr.getLocalName ()) == null)
- local = name;
- } else {
-// XXX
- throw new RuntimeException (
- "NYI, ns lookup when parsing L1 DOM");
- }
- } else
- ns = local = "";
- attrs.addAttribute (ns, local, name,
- "CDATA", attr.getNodeValue ());
- }
- if (showNamespaces) {
- if (isL2) {
- if ((ns = current.getNamespaceURI ()) == null)
- ns = "";
- // Note: SAX2 and DOM handle "local" names differently
- if ((local = current.getLocalName ()) == null)
- local = current.getNodeName ();
- } else {
-// XXX
- throw new RuntimeException (
- "NYI, ns lookup when parsing L1 DOM");
- }
- } else
- ns = local = "";
- contentHandler.startElement (ns, local,
- current.getNodeName (), attrs);
- if (length != 0)
- attrs.clear ();
- break;
-
- case Node.CDATA_SECTION_NODE:
- lexicalHandler.startCDATA ();
- chars = current.getNodeValue ().toCharArray ();
- contentHandler.characters (chars, 0, chars.length);
- lexicalHandler.endCDATA ();
- break;
-
- case Node.COMMENT_NODE:
- chars = current.getNodeValue ().toCharArray ();
- lexicalHandler.comment (chars, 0, chars.length);
- break;
-
- case Node.DOCUMENT_TYPE_NODE:
- {
- DocumentType doctype = (DocumentType) current;
-
- //
- // Only DOM L2 supports recreating even some DTDs in full.
- //
- if (isL2) {
- lexicalHandler.startDTD (doctype.getName (),
- doctype.getPublicId (),
- doctype.getSystemId ());
- } else
- lexicalHandler.startDTD (doctype.getName (),
- null, null);
-
- //
- // The only sure way to recreate is to provide both the
- // internal and external subsets. Otherwise, only part
- // of the job can be done ... because from the DTD, DOM
- // discards both the critical data, like the attribute and
- // element declarations, as well as the PIs and comments
- // that are used to hold their documentation.
- //
- // Even the entity and notation declarations that it can
- // expose can't be recorded without proprietary extensions.
- //
- // We construct a comment to tell what we know about how
- // (in)complete this particular really DTD is.
- //
- {
- String message;
- char buf [];
-
- //
- // Though DOM L2 lets the whole doctype be recreated,
- // SAX2 can't represent it (input or output).
- // So this will be the typical case.
- //
- if (isL2 && doctype.getInternalSubset () != null)
- message =
- " Full DTD known; can't be shown using SAX2. ";
-
- //
- // Otherwise, we'll concoct a partial DTD. If there's
- // any more data here at all, it was provided using a
- // (proprietary) extension to DOM.
- //
- else
- message =
- " This DTD was was recreated using incomplete DOM L2 records. ";
-
- buf = message.toCharArray ();
- lexicalHandler.comment (buf, 0, buf.length);
- }
-
- // report notations first
- nodes = doctype.getNotations ();
- length = nodes.getLength ();
- for (int i = 0; i < length; i++) {
- Notation notation = (Notation) nodes.item (i);
- dtdHandler.notationDecl (
- notation.getNodeName (),
- notation.getPublicId (),
- notation.getSystemId ());
- }
-
- // then parsed and unparsed external general entities
- nodes = doctype.getEntities ();
- length = nodes.getLength ();
- for (int i = 0; i < length; i++) {
- Entity entity = (Entity) nodes.item (i);
- String notation = entity.getNotationName ();
-
- if (notation != null)
- dtdHandler.unparsedEntityDecl (
- entity.getNodeName (),
- entity.getPublicId (),
- entity.getSystemId (),
- notation);
- else if (entity.getSystemId () != null)
- declHandler.externalEntityDecl (
- entity.getNodeName (),
- entity.getPublicId (),
- entity.getSystemId ());
-
- //
- // NOTE: DOM doesn't clearly provide internal
- // entity support; but in case someone tries to
- // fudge such support, we defend ourselves above.
- //
- // NOTE: DOM doesn't expose parameter entities
- // (thank you thank you thank you thank you)
- //
- }
-
- //
- // NOTE: DOM (levels 1 and 2) doesn't expose real
- // typing information (element or attribute decls),
- // as exposed by SAX2 declaration handlers.
- //
- lexicalHandler.endDTD ();
- }
- break;
-
- case Node.ENTITY_REFERENCE_NODE:
- // this isn't done except (a) in content, and
- // (b) not within a start tag (att value)
- lexicalHandler.startEntity (current.getNodeName ());
- break;
-
- case Node.PROCESSING_INSTRUCTION_NODE:
- contentHandler.processingInstruction (
- current.getNodeName (), current.getNodeValue ());
- break;
-
- case Node.TEXT_NODE:
- chars = current.getNodeValue ().toCharArray ();
- contentHandler.characters (chars, 0, chars.length);
- break;
-
- default:
- // e.g. fragments, entities, notations, attributes
- throw new SAXException ("Illegal DOM Node type in Document: "
- + current.getNodeType ());
- }
-
- //
- // Then, pick the next node to visit. If the next node isn't
- // a child, an "end" call may be needed before moving on.
- // If there's no next node, we're done.
- //
- Node next;
-
- switch (type) {
- case Node.DOCUMENT_NODE:
- case Node.ELEMENT_NODE:
- case Node.ENTITY_REFERENCE_NODE:
- //
- // For elements that can have children, visit those
- // children before any siblings (i.e. depth first)
- // and after visiting this node (i.e. preorder)
- //
- next = current.getFirstChild ();
- if (next != null) {
- current = next;
- break;
- }
- //
- // Else treat this like other childless nodes, but
- // handle this node's "end" immediately.
- //
- callEnd (current);
-
- // FALLTHROUGH
-
- case Node.CDATA_SECTION_NODE:
- case Node.COMMENT_NODE:
- case Node.DOCUMENT_TYPE_NODE:
- case Node.ENTITY_NODE:
- case Node.PROCESSING_INSTRUCTION_NODE:
- case Node.TEXT_NODE:
- //
- // Use next sibling, if there is one.
- // Else, climb up a level (calling "end")
- // until we find an ancestral sibling
- // or until we we climb off the top (FINISH)
- //
- for (;;) {
- if ((next = current.getNextSibling ()) != null)
- break;
- current = current.getParentNode ();
- if (current == null || current == start)
- return;
- callEnd (current);
- }
- current = next;
- break;
-
- default:
- throw new SAXException (
- "Illegal DOM Node type found: " + current.getNodeType ());
- }
- }
- }
-
- private void callEnd (Node node) throws SAXException
- {
- switch (node.getNodeType ()) {
- // only these three container types may ever be found
- // directly inside a Document.
- case Node.DOCUMENT_NODE:
- // for SAX conformance, endDocument must always
- // be called ... it's done in a "finally" clause)
- return;
-
- case Node.ELEMENT_NODE:
- if (showNamespaces) {
- if (isL2)
- contentHandler.endElement (
- node.getNamespaceURI (),
- node.getLocalName (),
- node.getNodeName ());
- else
-// XXX
- throw new RuntimeException (
- "NYI, ns lookup when parsing L1 DOM");
- for (Enumeration e = prefixStack.getDeclaredPrefixes ();
- e.hasMoreElements ();
- ) {
- contentHandler.endPrefixMapping ((String) e.nextElement ());
- }
- } else
- contentHandler.endElement ("", "", node.getNodeName ());
- prefixStack.popContext ();
- return;
-
- case Node.ENTITY_REFERENCE_NODE:
- // see above -- in content, outside start tags.
- lexicalHandler.endEntity (node.getNodeName ());
- return;
-
- // these can be given at the top level
- case Node.DOCUMENT_FRAGMENT_NODE:
- case Node.ATTRIBUTE_NODE:
- return;
-
- default:
- throw new SAXException (
- "Illegal DOM container type found: "
- + current.getNodeType ());
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/Resolver.java b/external/jaxp/source/gnu/xml/util/Resolver.java
deleted file mode 100644
index 4433e600e..000000000
--- a/external/jaxp/source/gnu/xml/util/Resolver.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.util;
-
-import java.io.*;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-import org.xml.sax.*;
-
-
-/**
- * Utility implementation of a SAX resolver, which can be used to improve
- * network utilization of SAX based XML components. It does this by
- * supporting local caches of external entities.
- * SAX parsers <em>should</em> use such local caches when possible.
- *
- * @see XCat
- */
-public class Resolver implements EntityResolver, Cloneable
-{
- /**
- * Updates a dictionary used to map PUBLIC identifiers to file names,
- * so that it uses the mappings in a specified directory.
- *
- * @param mappings Array of string pairs, where the first member
- * of each pair is a PUBLIC identifier and the second is the
- * name of a file, relative to the specified directory.
- * @param directory File holding the specified files.
- */
- public static void addDirectoryMapping (
- Dictionary table,
- String mappings [][],
- File directory
- ) throws IOException
- {
- for (int i = 0; i < mappings.length; i++) {
- File file = new File (directory, mappings [i][1]);
- String temp;
-
- if (!file.exists ()) // ?? log a warning ??
- continue;
-
- temp = fileToURL (file);
- table.put (mappings [i][0], temp);
- }
- }
-
- // FIXME: these *URL routines don't quite belong here, except
- // that they're all in the same spirit of making it easy to
- // use local filesystem URIs with XML parsers.
-
- /**
- * Provides the URL for a named file, without relying on the JDK 1.2
- * {@link java.io.File#toURL File.toURL}() utility method.
- *
- * @param filename the file name to convert. Relative file names
- * are resolved the way the JVM resolves them (current to the
- * process-global current working directory).
- *
- * @exception IOException if the file does not exist
- */
- public static String fileNameToURL (String filename)
- throws IOException
- {
- return fileToURL (new File (filename));
- }
-
- /**
- * Provides the URL for a file, without relying on the JDK 1.2
- * {@link java.io.File#toURL File.toURL}() utility method.
- *
- * @param f the file to convert. Relative file names
- * are resolved the way the JVM resolves them (current to the
- * process-global current working directory).
- *
- * @exception IOException if the file does not exist
- */
- public static String fileToURL (File f)
- throws IOException
- {
- String temp;
-
- // NOTE: the javax.xml.parsers.DocumentBuilder and
- // javax.xml.transform.stream.StreamSource versions
- // of this don't have this test. Some JVM versions
- // don't report this error sanely through URL code.
- if (!f.exists ())
- throw new IOException ("no such file: " + f.getName ());
-
- // FIXME: getAbsolutePath() seems buggy; I'm seeing components
- // like "/foo/../" which are clearly not "absolute"
- // and should have been resolved with the filesystem.
-
- // Substituting "/" would be wrong, "foo" may have been
- // symlinked ... the URL code will make that change
- // later, so that things can get _really_ broken!
-
- temp = f.getAbsolutePath ();
-
- if (File.separatorChar != '/')
- temp = temp.replace (File.separatorChar, '/');
- if (!temp.startsWith ("/"))
- temp = "/" + temp;
- if (!temp.endsWith ("/") && f.isDirectory ())
- temp = temp + "/";
- return "file:" + temp;
- }
-
-
- /**
- * Returns a URL string. Note that if a malformed URL is provided, or
- * the parameter names a nonexistent file, the resulting URL may be
- * malformed.
- *
- * @param fileOrURL If this is the name of a file which exists,
- * then its URL is returned. Otherwise the argument is returned.
- */
- public static String getURL (String fileOrURL)
- {
- try {
- return fileNameToURL (fileOrURL);
- } catch (Exception e) {
- return fileOrURL;
- }
- }
-
-
-
- // note: cloneable, this is just copied; unguarded against mods
- private Dictionary pubidMapping;
-
- /**
- * Constructs a resolver which understands how to map PUBLIC identifiers
- * to other URIs, typically for local copies of standard DTD components.
- *
- * @param dictionary maps PUBLIC identifiers to URIs. This is not
- * copied; subsequent modifications will be reported through the
- * resolution operations.
- */
- public Resolver (Dictionary dict)
- { pubidMapping = dict; }
-
-
- // FIXME: want notion of a "system default" resolver, presumably
- // loaded with all sorts of useful stuff. At the same time need
- // a notion of resolver chaining (failure --> next) so that subsystems
- // can set up things that won't interfere with other ones.
-
- /**
- * This parses most MIME content type strings that have <em>charset=...</em>
- * encoding declarations to and returns the specified encoding. This
- * conforms to RFC 3023, and is useful when constructing InputSource
- * objects from URLConnection objects or other objects using MIME
- * content typing.
- *
- * @param contentType the MIME content type that will be parsed; must
- * not be null.
- * @return the appropriate encoding, or null if the content type is
- * not text and there's no <code>charset=...</code> attribute
- */
- static public String getEncoding (String contentType)
- {
- // currently a dumb parsing algorithm that works "mostly" and handles
- // ..anything...charset=ABC
- // ..anything...charset=ABC;otherAttr=DEF
- // ..anything...charset=ABC (comment);otherAttr=DEF
- // ..anything...charset= "ABC" (comment);otherAttr=DEF
-
- int temp;
- String encoding;
- String defValue = null;
-
- if (contentType.startsWith ("text/"))
- defValue = contentType.startsWith ("text/html")
- ? "ISO-8859-1" : "US-ASCII";
-
- // Assumes 'charset' is only an attribute name, not part
- // of a value, comment, or other attribute name
- // ALSO assumes no escaped values like "\;" or "\)"
- if ((temp = contentType.indexOf ("charset")) != -1) {
- // strip out everything up to '=' ...
- temp = contentType.indexOf ('=', temp);
- if (temp == -1)
- return defValue;
- encoding = contentType.substring (temp + 1);
- // ... and any subsequent attributes
- if ((temp = encoding.indexOf (';')) != -1)
- encoding = encoding.substring (0, temp);
- // ... and any comments after value
- if ((temp = encoding.indexOf ('(')) != -1)
- encoding = encoding.substring (0, temp);
- // ... then whitespace, and any (double) quotes
- encoding = encoding.trim ();
- if (encoding.charAt (0) == '"')
- encoding = encoding.substring (1, encoding.length () - 1);
- } else
- encoding = defValue;
- return encoding;
- }
-
-
- /**
- * Uses a local dictionary of public identifiers to resolve URIs,
- * normally with the goal of minimizing network traffic or latencies.
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws IOException, SAXException
- {
- InputSource retval = null;
- String uri;
-
- if (publicId != null
- && ((uri = (String) pubidMapping.get (publicId)) != null)) {
- retval = new InputSource (uri);
- retval.setPublicId (publicId);
- }
-
- // Could do URN resolution here
-
- // URL resolution always done by parser
-
- // FIXME: chain to "next" resolver
-
- return retval;
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/SAXNullTransformerFactory.java b/external/jaxp/source/gnu/xml/util/SAXNullTransformerFactory.java
deleted file mode 100644
index a862a0118..000000000
--- a/external/jaxp/source/gnu/xml/util/SAXNullTransformerFactory.java
+++ /dev/null
@@ -1,539 +0,0 @@
-/*
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.util;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Hashtable;
-import java.util.Properties;
-
-import gnu.xml.dom.Consumer;
-import gnu.xml.dom.DomDocument;
-import gnu.xml.pipeline.DomConsumer;
-import gnu.xml.pipeline.EventFilter;
-
-import javax.xml.transform.*;
-import javax.xml.transform.dom.*;
-import javax.xml.transform.sax.*;
-import javax.xml.transform.stream.*;
-
-import org.xml.sax.*;
-import org.xml.sax.helpers.XMLReaderFactory;
-import org.xml.sax.helpers.LocatorImpl;
-
-
-/**
- * Implements null transforms. XSLT stylesheets are not supported.
- * This class provides a way to translate three representations of
- * XML data (SAX event stream, DOM tree, and XML text) into each other.
- * In essence it's a thinnish wrapper around basic SAX event
- * <a href="../pipeline/package-summary.html">pipeline</a> facilities, which
- * exposes only limited functionality. The <em>javax.xml.transform</em>
- * functionality is implemented as follows: <ul>
- *
- * <li>The {@link javax.xml.transform.sax.SAXSource SAXSource} class
- * just wraps an {@link XMLReader} and {@link InputSource}, while the
- * {@link javax.xml.transform.sax.SAXResult SAXResult} class is less
- * functional than a {@link gnu.xml.pipeline.EventConsumer EventConsumer}.
- * (Notably, it drops all but one declaration from any DTD.)</li>
- *
- * <li>The {@link javax.xml.transform.dom.DOMSource DOMSource} class
- * corresponds to special SAX parsers like {@link DomParser}, and the
- * {@link javax.xml.transform.dom.DOMResult DOMResult} class corresponds
- * to a {@link gnu.xml.pipeline.DomConsumer DomConsumer}.</li>
- *
- * <li>The {@link javax.xml.transform.stream.StreamSource StreamSource}
- * class corresponds to a SAX {@link InputSource}, and the
- * {@link javax.xml.transform.stream.StreamResult StreamResult} class
- * corresponds to a {@link gnu.xml.pipeline.TextConsumer TextConsumer}.</li>
- *
- * </ul>
- *
- * <p><em>This implementation is preliminary.</em>
- *
- * @see gnu.xml.pipeline.XsltFilter
- *
- * @author David Brownell
- */
-public class SAXNullTransformerFactory extends SAXTransformerFactory
-{
- private ErrorListener errListener;
- private URIResolver uriResolver;
-
- /** Default constructor */
- public SAXNullTransformerFactory () { }
-
- //
- // only has stuff that makes sense with null transforms
- //
-
- /**
- * Returns true if the requested feature is supported.
- * All three kinds of input and output are accepted:
- * XML text, SAX events, and DOM nodes.
- */
- public boolean getFeature (String feature)
- {
- return SAXTransformerFactory.FEATURE.equals (feature)
- || SAXResult.FEATURE.equals (feature)
- || SAXSource.FEATURE.equals (feature)
- || DOMResult.FEATURE.equals (feature)
- || DOMSource.FEATURE.equals (feature)
- || StreamResult.FEATURE.equals (feature)
- || StreamSource.FEATURE.equals (feature)
- ;
- }
-
- /** Throws an exception (no implementation attributes are supported) */
- public void setAttribute (String key, Object value)
- {
- throw new IllegalArgumentException ();
- }
-
- /** Throws an exception (no implementation attributes are supported) */
- public Object getAttribute (String key)
- {
- throw new IllegalArgumentException ();
- }
-
- /** (not yet implemented) */
- public Source getAssociatedStylesheet (Source source,
- String media, String title, String charset)
- throws TransformerConfigurationException
- {
-// parse, and find the appropriate xsl-stylesheet PI contents
-throw new IllegalArgumentException ();
- }
-
- public Transformer newTransformer ()
- throws TransformerConfigurationException
- {
- return new NullTransformer ();
- }
-
- /**
- * Returns a TransformerHandler that knows how to generate output
- * in all three standard formats. Output text is generated using
- * {@link XMLWriter}, and the GNU implementation of
- * {@link DomDocument DOM} is used.
- *
- * @see SAXResult
- * @see StreamResult
- * @see DOMResult
- */
- public TransformerHandler newTransformerHandler ()
- throws TransformerConfigurationException
- {
- NullTransformer transformer = new NullTransformer ();
- return transformer.handler;
- }
-
- //
- // Stuff that depends on XSLT support, which we don't provide
- //
- private static final String noXSLT = "No XSLT support";
-
- /** Throws an exception (XSLT is not supported). */
- public Transformer newTransformer (Source stylesheet)
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Throws an exception (XSLT is not supported). */
- public Templates newTemplates (Source stylesheet)
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Throws an exception (XSLT is not supported). */
- public TemplatesHandler newTemplatesHandler ()
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Throws an exception (XSLT is not supported). */
- public TransformerHandler newTransformerHandler (Source stylesheet)
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Throws an exception (XSLT is not supported). */
- public TransformerHandler newTransformerHandler (Templates stylesheet)
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Throws an exception (XSLT is not supported). */
- public XMLFilter newXMLFilter (Source stylesheet)
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Throws an exception (XSLT is not supported). */
- public XMLFilter newXMLFilter (Templates stylesheet)
- throws TransformerConfigurationException
- { throw new TransformerConfigurationException (noXSLT); }
-
- /** Returns the value assigned by {@link #setErrorListener}. */
- public ErrorListener getErrorListener ()
- { return errListener; }
-
- /** Assigns a value that would be used when parsing stylesheets */
- public void setErrorListener (ErrorListener e)
- { errListener = e; }
-
- /** Returns the value assigned by {@link #setURIResolver}. */
- public URIResolver getURIResolver ()
- { return uriResolver; }
-
- /** Assigns a value that would be used when parsing stylesheets */
- public void setURIResolver (URIResolver u)
- { uriResolver = u; }
-
-
- //
- // Helper classes. These might in theory be subclassed
- // by an XSLT implementation, if they were exported.
- //
-
- static class DomTerminus extends DomConsumer
- {
- DomTerminus (DOMResult result) throws SAXException
- {
- // won't really throw SAXException
- super (DomDocument.class);
- setHandler (new DomHandler (this, result));
- }
- }
-
- static class DomHandler extends Consumer.Backdoor
- {
- private DOMResult result;
-
- DomHandler (DomConsumer c, DOMResult r) throws SAXException
- {
- // won't really throw SAXException
- super (c);
- result = r;
- }
-
- public void endDocument () throws SAXException
- {
- super.endDocument ();
- result.setNode (getDocument ());
- }
- }
-
- private static OutputStream getOutputStream (String uri)
- throws IOException
- {
- // JDK stupidity: file "protocol does not support output" ...
- if (uri.startsWith ("file:"))
- return new FileOutputStream (uri.substring (5));
-
- // Otherwise ...
- URL url = new URL (uri);
- URLConnection conn = url.openConnection ();
-
- conn.setDoOutput (true);
- return conn.getOutputStream ();
- }
-
-
- static class NullHandler extends EventFilter implements TransformerHandler
- {
- private String systemId;
- private Transformer transformer;
-
- NullHandler (Transformer t)
- { transformer = t; }
-
- public Transformer getTransformer ()
- { return transformer; }
-
- public String getSystemId ()
- { return systemId; }
-
- public void setSystemId (String id)
- { systemId = id; }
-
- public void setResult (Result result)
- {
- if (result.getSystemId () != null)
- systemId = result.getSystemId ();
-
- try {
-
- // output to partial SAX event stream?
- if (result instanceof SAXResult) {
- SAXResult r = (SAXResult) result;
-
- setContentHandler (r.getHandler ());
- setProperty (LEXICAL_HANDLER, r.getLexicalHandler ());
- // DTD info is filtered out by javax.transform
-
- // output to DOM tree?
- } else if (result instanceof DOMResult) {
- DomTerminus out = new DomTerminus ((DOMResult) result);
-
- setContentHandler (out.getContentHandler ());
- setProperty (LEXICAL_HANDLER,
- out.getProperty (LEXICAL_HANDLER));
- // save DTD-derived info, if any.
- setDTDHandler (out.getDTDHandler ());
- setProperty (DECL_HANDLER,
- out.getProperty (DECL_HANDLER));
-
- // node is saved into result on endDocument()
-
- // output to (XML) text?
- } else if (result instanceof StreamResult) {
- StreamResult r = (StreamResult) result;
- XMLWriter out;
-
-// FIXME: when do output properties take effect?
-// encoding, standalone decl, xml/xhtml/... ...
-
-// FIXME: maybe put nsfix filter up front
-
- try {
- if (r.getWriter () != null)
- out = new XMLWriter (r.getWriter ());
- else if (r.getOutputStream () != null)
- out = new XMLWriter (r.getOutputStream ());
- else if (r.getSystemId () != null)
- out = new XMLWriter (
- getOutputStream (r.getSystemId ()));
- else
- throw new IllegalArgumentException (
- "bad StreamResult");
- } catch (IOException e) {
-e.printStackTrace ();
- // on jdk 1.4, pass the root cause ...
- throw new IllegalArgumentException (e.getMessage ());
- }
-
-// out.setExpandingEntities (true);
-// out.setPrettyPrinting (true);
-// out.setXhtml (true);
-
- setContentHandler (out);
- setProperty (LEXICAL_HANDLER, out);
- // save DTD info, if any; why not?
- setDTDHandler (out);
- setProperty (DECL_HANDLER, out);
- }
-
- } catch (SAXException e) {
- // SAXNotSupportedException or SAXNotRecognizedException:
- // "can't happen" ... but SAXException for DOM build probs
- // could happen, so ...
- // on jdk 1.4, pass the root cause ...
- throw new IllegalArgumentException (e.getMessage ());
- }
- }
- }
-
- // an interface that adds no value
- static class LocatorAdapter extends LocatorImpl implements SourceLocator
- {
- LocatorAdapter (SAXParseException e)
- {
- setSystemId (e.getSystemId ());
- setPublicId (e.getPublicId ());
- setLineNumber (e.getLineNumber ());
- setColumnNumber (e.getColumnNumber ());
- }
- }
-
- // another interface that adds no value
- static class ListenerAdapter implements ErrorHandler
- {
- NullTransformer transformer;
-
- ListenerAdapter (NullTransformer t)
- { transformer = t; }
-
- private TransformerException map (SAXParseException e)
- {
- return new TransformerException (
- e.getMessage (),
- new LocatorAdapter (e),
- e);
- }
-
- public void error (SAXParseException e)
- throws SAXParseException
- {
- try {
- if (transformer.errListener != null)
- transformer.errListener.error (map (e));
- } catch (TransformerException ex) {
- transformer.ex = ex;
- throw e;
- }
- }
-
- public void fatalError (SAXParseException e)
- throws SAXParseException
- {
- try {
- if (transformer.errListener != null)
- transformer.errListener.fatalError (map (e));
- else
- throw map (e);
- } catch (TransformerException ex) {
- transformer.ex = ex;
- throw e;
- }
- }
-
- public void warning (SAXParseException e)
- throws SAXParseException
- {
- try {
- if (transformer.errListener != null)
- transformer.errListener.warning (map (e));
- } catch (TransformerException ex) {
- transformer.ex = ex;
- throw e;
- }
- }
- }
-
- static class NullTransformer extends Transformer
- {
- private URIResolver uriResolver;
- private Properties props = new Properties ();
- private Hashtable params = new Hashtable (7);
-
- ErrorListener errListener = null;
- TransformerException ex = null;
- NullHandler handler;
-
- NullTransformer ()
- {
- super ();
- handler = new NullHandler (this);
- }
-
- public ErrorListener getErrorListener ()
- { return errListener; }
- public void setErrorListener (ErrorListener e)
- { errListener = e; }
-
- public URIResolver getURIResolver ()
- { return uriResolver; }
- public void setURIResolver (URIResolver u)
- { uriResolver = u; }
-
-
- public void setOutputProperties (Properties p)
- { props = (Properties) p.clone (); }
- public Properties getOutputProperties ()
- { return (Properties) props.clone (); }
-
- public void setOutputProperty (String name, String value)
- { props.setProperty (name, value); }
- public String getOutputProperty (String name)
- { return props.getProperty (name); }
-
- public void clearParameters ()
- { params.clear (); }
- public void setParameter (String name, Object value)
- { props.put (name, value); }
- public Object getParameter (String name)
- { return props.get (name); }
-
- public void transform (Source in, Result out)
- throws TransformerException
- {
- try {
- XMLReader producer;
- InputSource input;
-
- // Input from DOM?
- if (in instanceof DOMSource) {
- DOMSource source = (DOMSource) in;
-
- if (source.getNode () == null)
- throw new IllegalArgumentException ("no DOM node");
- producer = new DomParser (source.getNode ());
- input = null;
-
- // Input from SAX?
- } else if (in instanceof SAXSource) {
- SAXSource source = (SAXSource) in;
-
- producer = source.getXMLReader ();
- if (producer == null)
- producer = XMLReaderFactory.createXMLReader ();
-
- input = source.getInputSource ();
- if (input == null) {
- if (source.getSystemId () != null)
- input = new InputSource (source.getSystemId ());
- else
- throw new IllegalArgumentException (
- "missing SAX input");
- }
-
- // Input from a stream or something?
- } else {
- producer = XMLReaderFactory.createXMLReader ();
- input = SAXSource.sourceToInputSource (in);
- if (input == null)
- throw new IllegalArgumentException ("missing input");
- }
-
- // preserve original namespace prefixes
- try { producer.setFeature (
- handler.FEATURE_URI + "namespace-prefixes", true);
- } catch (Exception e) {
- /* ignore */
-// FIXME if we couldn't, "NsFix" stage before the output ..
- }
-
- // arrange the output
- handler.setResult (out);
- handler.bind (producer, handler);
-
- // then parse ... single element pipeline
- producer.parse (input);
-
- } catch (IOException e) {
- throw new TransformerException ("transform failed", e);
-
- } catch (SAXException e) {
- if (ex == null && ex.getCause () == e)
- throw ex;
- else
- throw new TransformerException ("transform failed", e);
-
- } finally {
- ex = null;
- }
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/XCat.java b/external/jaxp/source/gnu/xml/util/XCat.java
deleted file mode 100644
index ad77d6db7..000000000
--- a/external/jaxp/source/gnu/xml/util/XCat.java
+++ /dev/null
@@ -1,1598 +0,0 @@
-/*
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-
-package gnu.xml.util;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-
-import org.xml.sax.ext.DefaultHandler2;
-import org.xml.sax.ext.EntityResolver2;
-
-import org.xml.sax.helpers.XMLReaderFactory;
-
-/**
- * Packages <a href=
- "http://www.oasis-open.org/committees/entity/spec-2001-08-06.html"
- >OASIS XML Catalogs</a>,
- * primarily for entity resolution by parsers.
- * That specification defines an XML syntax for mappings between
- * identifiers declared in DTDs (particularly PUBLIC identifiers) and
- * locations. SAX has always supported such mappings, but conventions for
- * an XML file syntax to maintain them have previously been lacking.
- *
- * <p> This has three main operational modes. The primary intended mode is
- * to create a resolver, then preloading it with one or more site-standard
- * catalogs before using it with one or more SAX parsers: <pre>
- * XCat catalog = new XCat ();
- * catalog.setErrorHandler (diagnosticErrorHandler);
- * catalog.loadCatalog ("file:/local/catalogs/catalog.cat");
- * catalog.loadCatalog ("http://shared/catalog.cat");
- * ...
- * catalog.disableLoading ();
- * parser1.setEntityResolver (catalog);
- * parser2.setEntityResolver (catalog);
- * ...</pre>
- *
- * <p>A second mode is to arrange that your application uses instances of
- * this class as its entity resolver, and automatically loads catalogs
- * referenced by <em>&lt;?oasis-xml-catalog...?&gt;</em> processing
- * instructions found before the DTD in documents it parses.
- * It would then discard the resolver after each parse.
- *
- * <p> A third mode applies catalogs in contexts other than entity
- * resolution for parsers.
- * The {@link #resolveURI resolveURI()} method supports resolving URIs
- * stored in XML application data, rather than inside DTDs.
- * Catalogs would be loaded as shown above, and the catalog could
- * be used concurrently for parser entity resolution and for
- * application URI resolution.
- * </p>
- *
- * <center><hr width='70%'></center>
- *
- * <p>Errors in catalogs implicitly loaded (during resolution) are ignored
- * beyond being reported through any <em>ErrorHandler</em> assigned using
- * {@link #setErrorHandler setErrorHandler()}. SAX exceptions
- * thrown from such a handler won't abort resolution, although throwing a
- * <em>RuntimeException</em> or <em>Error</em> will normally abort both
- * resolution and parsing. Useful diagnostic information is available to
- * any <em>ErrorHandler</em> used to report problems, or from any exception
- * thrown from an explicit {@link #loadCatalog loadCatalog()} invocation.
- * Applications can use that information as troubleshooting aids.
- *
- * <p>While this class requires <em>SAX2 Extensions 1.1</em> classes in
- * its class path, basic functionality does not require using a SAX2
- * parser that supports the extended entity resolution functionality.
- * See the original SAX1
- * {@link #resolveEntity(java.lang.String,java.lang.String) resolveEntity()}
- * method for a list of restrictions which apply when it is used with
- * older SAX parsers.
- *
- * @see EntityResolver2
- *
- * @author David Brownell
- */
-public class XCat implements EntityResolver2
-{
- private Catalog catalogs [];
- private boolean usingPublic = true;
- private boolean loadingPermitted = true;
- private boolean unified = true;
- private String parserClass;
- private ErrorHandler errorHandler;
-
- // private EntityResolver next; // chain to next if we fail...
-
- //
- // NOTE: This is a straightforward implementation, and if
- // there are lots of "nextCatalog" or "delegate*" entries
- // in use, two tweaks would be worth considering:
- //
- // - Centralize some sort of cache (key by URI) for individual
- // resolvers. That'd avoid multiple copies of a given catalog.
- //
- // - Have resolution track what catalogs (+modes) have been
- // searched. This would support loop detection.
- //
-
-
- /**
- * Initializes without preloading a catalog.
- * This API is convenient when you may want to arrange that catalogs
- * are automatically loaded when explicitly referenced in documents,
- * using the <em>oasis-xml-catalog</em> processing instruction.
- * In such cases you won't usually be able to preload catalogs.
- */
- public XCat () { }
-
- /**
- * Initializes, and preloads a catalog using the default SAX parser.
- * This API is convenient when you operate with one or more standard
- * catalogs.
- *
- * <p> This just delegates to {@link #loadCatalog loadCatalog()};
- * see it for exception information.
- *
- * @param uri absolute URI for the catalog file.
- */
- public XCat (String uri)
- throws SAXException, IOException
- { loadCatalog (uri); }
-
-
- /**
- * Loads an OASIS XML Catalog.
- * It is appended to the list of currently active catalogs, or
- * reloaded if a catalog with the same URI was already loaded.
- * Callers have control over what parser is used, how catalog parsing
- * errors are reported, and whether URIs will be resolved consistently.
- *
- * <p> The OASIS specification says that errors detected when loading
- * catalogs "must recover by ignoring the catalog entry file that
- * failed, and proceeding." In this API, that action can be the
- * responsibility of applications, when they explicitly load any
- * catalog using this method.
- *
- * <p>Note that catalogs referenced by this one will not be loaded
- * at this time. Catalogs referenced through <em>nextCatalog</em>
- * or <em>delegate*</em> elements are normally loaded only if needed.
- *
- * @see #setErrorHandler
- * @see #setParserClass
- * @see #setUnified
- *
- * @param uri absolute URI for the catalog file.
- *
- * @exception IOException As thrown by the parser, typically to
- * indicate problems reading data from that URI.
- * @exception SAXException As thrown by the parser, typically to
- * indicate problems parsing data from that URI. It may also
- * be thrown if the parser doesn't support necessary handlers.
- * @exception IllegalStateException When attempting to load a
- * catalog after loading has been {@link #disableLoading disabled},
- * such as after any entity or URI lookup has been performed.
- */
- public synchronized void loadCatalog (String uri)
- throws SAXException, IOException
- {
- Catalog catalog;
- int index = -1;
-
- if (!loadingPermitted)
- throw new IllegalStateException ();
-
- uri = normalizeURI (uri);
- if (catalogs != null) {
- // maybe just reload
- for (index = 0; index < catalogs.length; index++)
- if (uri.equals (catalogs [index].catalogURI))
- break;
- }
- catalog = loadCatalog (parserClass, errorHandler, uri, unified);
-
- // add to list of catalogs
- if (catalogs == null) {
- index = 0;
- catalogs = new Catalog [1];
- } else if (index == catalogs.length) {
- Catalog tmp [];
-
- tmp = new Catalog [index + 1];
- System.arraycopy (catalogs, 0, tmp, 0, index);
- catalogs = tmp;
- }
- catalogs [index] = catalog;
- }
-
-
- /**
- * "New Style" external entity resolution for parsers.
- * Calls to this method prevent explicit loading of additional catalogs
- * using {@link #loadCatalog loadCatalog()}.
- *
- * <p>This supports the full core catalog functionality for locating
- * (and relocating) parsed entities that have been declared in a
- * document's DTD.
- *
- * @param name Entity name, such as "dudley", "%nell", or "[dtd]".
- * @param publicId Either a normalized public ID, or null.
- * @param baseURI Absolute base URI associated with systemId.
- * @param systemId URI found in entity declaration (may be
- * relative to baseURI).
- *
- * @return Input source for accessing the external entity, or null
- * if no mapping was found. The input source may have opened
- * the stream, and will have a fully resolved URI.
- *
- * @see #getExternalSubset
- */
- public InputSource resolveEntity (
- String name, // UNUSED ... systemId is always non-null
- String publicId,
- String baseURI, // UNUSED ... it just lets sysId be relative
- String systemId
- ) throws SAXException, IOException
- {
- if (loadingPermitted)
- disableLoading ();
-
- try {
- // steps as found in OASIS XML catalog spec 7.1.2
- // steps 1, 8 involve looping over the list of catalogs
- for (int i = 0; i < catalogs.length; i++) {
- InputSource retval;
- retval = catalogs [i].resolve (usingPublic, publicId, systemId);
- if (retval != null)
- return retval;;
- }
- } catch (DoneDelegation x) {
- // done!
- }
- // step 9 involves returning "no match"
- return null;
- }
-
-
- /**
- * "New Style" parser callback to add an external subset.
- * For documents that don't include an external subset, this may
- * return one according to <em>doctype</em> catalog entries.
- * (This functionality is not a core part of the OASIS XML Catalog
- * specification, though it's presented in an appendix.)
- * If no such entry is defined, this returns null to indicate that
- * this document will not be modified to include such a subset.
- * Calls to this method prevent explicit loading of additional catalogs
- * using {@link #loadCatalog loadCatalog()}.
- *
- * <p><em>Warning:</em> That catalog functionality can be dangerous.
- * It can provide definitions of general entities, and thereby mask
- * certain well formedess errors.
- *
- * @param name Name of the document element, either as declared in
- * a DOCTYPE declaration or as observed in the text.
- * @param baseURI Document's base URI (absolute).
- *
- * @return Input source for accessing the external subset, or null
- * if no mapping was found. The input source may have opened
- * the stream, and will have a fully resolved URI.
- */
- public InputSource getExternalSubset (String name, String baseURI)
- throws SAXException, IOException
- {
- if (loadingPermitted)
- disableLoading ();
- try {
- for (int i = 0; i < catalogs.length; i++) {
- InputSource retval = catalogs [i].getExternalSubset (name);
- if (retval != null)
- return retval;
- }
- } catch (DoneDelegation x) {
- // done!
- }
- return null;
- }
-
-
- /**
- * "Old Style" external entity resolution for parsers.
- * This API provides only core functionality.
- * Calls to this method prevent explicit loading of additional catalogs
- * using {@link #loadCatalog loadCatalog()}.
- *
- * <p>The functional limitations of this interface include:</p><ul>
- *
- * <li>Since system IDs will be absolutized before the resolver
- * sees them, matching against relative URIs won't work.
- * This may affect <em>system</em>, <em>rewriteSystem</em>,
- * and <em>delegateSystem</em> catalog entries.
- *
- * <li>Because of that absolutization, documents declaring entities
- * with system IDs using URI schemes that the JVM does not recognize
- * may be unparsable. URI schemes such as <em>file:/</em>,
- * <em>http://</em>, <em>https://</em>, and <em>ftp://</em>
- * will usually work reliably.
- *
- * <li>Because missing external subsets can't be provided, the
- * <em>doctype</em> catalog entries will be ignored.
- * (The {@link #getExternalSubset getExternalSubset()} method is
- * a "New Style" resolution option.)
- *
- * </ul>
- *
- * <p>Applications can tell whether this limited functionality will be
- * used: if the feature flag associated with the {@link EntityResolver2}
- * interface is not <em>true</em>, the limitations apply. Applications
- * can't usually know whether a given document and catalog will trigger
- * those limitations. The issue can only be bypassed by operational
- * procedures such as not using catalogs or documents which involve
- * those features.
- *
- * @param publicId Either a normalized public ID, or null
- * @param systemId Always an absolute URI.
- *
- * @return Input source for accessing the external entity, or null
- * if no mapping was found. The input source may have opened
- * the stream, and will have a fully resolved URI.
- */
- final public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException, IOException
- {
- return resolveEntity (null, publicId, null, systemId);
- }
-
-
- /**
- * Resolves a URI reference that's not defined to the DTD.
- * This is intended for use with URIs found in document text, such as
- * <em>xml-stylesheet</em> processing instructions and in attribute
- * values, where they are not recognized as URIs by XML parsers.
- * Calls to this method prevent explicit loading of additional catalogs
- * using {@link #loadCatalog loadCatalog()}.
- *
- * <p>This functionality is supported by the OASIS XML Catalog
- * specification, but will never be invoked by an XML parser.
- * It corresponds closely to functionality for mapping system
- * identifiers for entities declared in DTDs; closely enough that
- * this implementation's default behavior is that they be
- * identical, to minimize potential confusion.
- *
- * <p>This method could be useful when implementing the
- * {@link javax.xml.transform.URIResolver} interface, wrapping the
- * input source in a {@link javax.xml.transform.sax.SAXSource}.
- *
- * @see #isUnified
- * @see #setUnified
- *
- * @param baseURI The relevant base URI as specified by the XML Base
- * specification. This recognizes <em>xml:base</em> attributes
- * as overriding the actual (physical) base URI.
- * @param uri Either an absolute URI, or one relative to baseURI
- *
- * @return Input source for accessing the mapped URI, or null
- * if no mapping was found. The input source may have opened
- * the stream, and will have a fully resolved URI.
- */
- public InputSource resolveURI (String baseURI, String uri)
- throws SAXException, IOException
- {
- if (loadingPermitted)
- disableLoading ();
-
- // NOTE: baseURI isn't used here, but caller MUST have it,
- // and heuristics _might_ use it in the future ... plus,
- // it's symmetric with resolveEntity ().
-
- // steps 1, 6 involve looping
- try {
- for (int i = 0; i < catalogs.length; i++) {
- InputSource tmp = catalogs [i].resolveURI (uri);
- if (tmp != null)
- return tmp;
- }
- } catch (DoneDelegation x) {
- // done
- }
- // step 7 reports no match
- return null;
- }
-
-
- /**
- * Records that catalog loading is no longer permitted.
- * Loading is automatically disabled when lookups are performed,
- * and should be manually disabled when <em>startDTD()</em> (or
- * any other DTD declaration callback) is invoked, or at the latest
- * when the document root element is seen.
- */
- public synchronized void disableLoading ()
- {
- // NOTE: this method and loadCatalog() are synchronized
- // so that it's impossible to load (top level) catalogs
- // after lookups start. Likewise, deferred loading is also
- // synchronized (for "next" and delegated catalogs) to
- // ensure that parsers can share resolvers.
- loadingPermitted = false;
- }
-
-
- /**
- * Returns the error handler used to report catalog errors.
- * Null is returned if the parser's default error handling
- * will be used.
- *
- * @see #setErrorHandler
- */
- public ErrorHandler getErrorHandler ()
- { return errorHandler; }
-
- /**
- * Assigns the error handler used to report catalog errors.
- * These errors may come either from the SAX2 parser or
- * from the catalog parsing code driven by the parser.
- *
- * <p> If you're sharing the resolver between parsers, don't
- * change this once lookups have begun.
- *
- * @see #getErrorHandler
- *
- * @param parser The error handler, or null saying to use the default
- * (no diagnostics, and only fatal errors terminate loading).
- */
- public void setErrorHandler (ErrorHandler handler)
- { errorHandler = handler; }
-
-
- /**
- * Returns the name of the SAX2 parser class used to parse catalogs.
- * Null is returned if the system default is used.
- * @see #setParserClass
- */
- public String getParserClass ()
- { return parserClass; }
-
- /**
- * Names the SAX2 parser class used to parse catalogs.
- *
- * <p> If you're sharing the resolver between parsers, don't change
- * this once lookups have begun.
- *
- * <p> Note that in order to properly support the <em>xml:base</em>
- * attribute and relative URI resolution, the SAX parser used to parse
- * the catalog must provide a {@link Locator} and support the optional
- * declaration and lexical handlers.
- *
- * @see #getParserClass
- *
- * @param parser The parser class name, or null saying to use the
- * system default SAX2 parser.
- */
- public void setParserClass (String parser)
- { parserClass = parser; }
-
-
- /**
- * Returns true (the default) if all methods resolve
- * a given URI in the same way.
- * Returns false if calls resolving URIs as entities (such as
- * {@link #resolveEntity resolveEntity()}) use different catalog entries
- * than those resolving them as URIs ({@link #resolveURI resolveURI()}),
- * which will generally produce different results.
- *
- * <p>The OASIS XML Catalog specification defines two related schemes
- * to map URIs "as URIs" or "as system IDs".
- * URIs use <em>uri</em>, <em>rewriteURI</em>, and <em>delegateURI</em>
- * elements. System IDs do the same things with <em>systemId</em>,
- * <em>rewriteSystemId</em>, and <em>delegateSystemId</em>.
- * It's confusing and error prone to maintain two parallel copies of
- * such data. Accordingly, this class makes that behavior optional.
- * The <em>unified</em> interpretation of URI mappings is preferred,
- * since it prevents surprises where one URI gets mapped to different
- * contents depending on whether the reference happens to have come
- * from a DTD (or not).
- *
- * @see #setUnified
- */
- public boolean isUnified ()
- { return unified; }
-
- /**
- * Assigns the value of the flag returned by {@link #isUnified}.
- * Set it to false to be strictly conformant with the OASIS XML Catalog
- * specification. Set it to true to make all mappings for a given URI
- * give the same result, regardless of the reason for the mapping.
- *
- * <p>Don't change this once you've loaded the first catalog.
- *
- * @param value new flag setting
- */
- public void setUnified (boolean value)
- { unified = value; }
-
-
- /**
- * Returns true (the default) if a catalog's public identifier
- * mappings will be used.
- * When false is returned, such mappings are ignored except when
- * system IDs are discarded, such as for
- * entities using the <em>urn:publicid:</em> URI scheme in their
- * system identifiers. (See RFC 3151 for information about that
- * URI scheme. Using it in system identifiers may not work well
- * with many SAX parsers unless the <em>resolve-dtd-uris</em>
- * feature flag is set to false.)
- * @see #setUsingPublic
- */
- public boolean isUsingPublic ()
- { return usingPublic; }
-
- /**
- * Specifies which catalog search mode is used.
- * By default, public identifier mappings are able to override system
- * identifiers when both are available.
- * Applications may choose to ignore public
- * identifier mappings in such cases, so that system identifiers
- * declared in DTDs will only be overridden by an explicit catalog
- * match for that system ID.
- *
- * <p> If you're sharing the resolver between parsers, don't
- * change this once lookups have begun.
- * @see #isUsingPublic
- *
- * @param value true to always use public identifier mappings,
- * false to only use them for system ids using the <em>urn:publicid:</em>
- * URI scheme.
- */
- public void setUsingPublic (boolean value)
- { usingPublic = value; }
-
-
-
- // hmm, what's this do? :)
- private static Catalog loadCatalog (
- String parserClass,
- ErrorHandler eh,
- String uri,
- boolean unified
- ) throws SAXException, IOException
- {
- XMLReader parser;
- Loader loader;
- boolean doesIntern = false;
-
- if (parserClass == null)
- parser = XMLReaderFactory.createXMLReader ();
- else
- parser = XMLReaderFactory.createXMLReader (parserClass);
- if (eh != null)
- parser.setErrorHandler (eh);
- // resolve-dtd-entities is at default value (unrecognized == true)
-
- try {
- doesIntern = parser.getFeature (
- "http://xml.org/sax/features/string-interning");
- } catch (SAXNotRecognizedException e) { }
-
- loader = new Loader (doesIntern, eh, unified);
- loader.cat.parserClass = parserClass;
- loader.cat.catalogURI = uri;
-
- parser.setContentHandler (loader);
- parser.setProperty (
- "http://xml.org/sax/properties/declaration-handler",
- loader);
- parser.setProperty (
- "http://xml.org/sax/properties/lexical-handler",
- loader);
- parser.parse (uri);
-
- return loader.cat;
- }
-
- // perform one or both the normalizations for public ids
- private static String normalizePublicId (boolean full, String publicId)
- {
- if (publicId.startsWith ("urn:publicid:")) {
- StringBuffer buf = new StringBuffer ();
- char chars [] = publicId.toCharArray ();
-boolean hasbug = false;
-
- for (int i = 13; i < chars.length; i++) {
- switch (chars [i]) {
- case '+': buf.append (' '); continue;
- case ':': buf.append ("//"); continue;
- case ';': buf.append ("::"); continue;
- case '%':
-// FIXME unhex that char! meanwhile, warn and fallthrough ...
- hasbug = true;
- default: buf.append (chars [i]); continue;
- }
- }
- publicId = buf.toString ();
-if (hasbug)
-System.err.println ("nyet unhexing public id: " + publicId);
- full = true;
- }
-
- // SAX parsers do everything except that URN mapping, but
- // we can't trust other sources to normalize correctly
- if (full) {
- StringTokenizer tokens;
- String token;
-
- tokens = new StringTokenizer (publicId, " \r\n");
- publicId = null;
- while (tokens.hasMoreTokens ()) {
- if (publicId == null)
- publicId = tokens.nextToken ();
- else
- publicId += " " + tokens.nextToken ();
- }
- }
- return publicId;
- }
-
- private static boolean isUriExcluded (int c)
- { return c <= 0x20 || c >= 0x7f || "\"<>^`{|}".indexOf (c) != -1; }
-
- private static int hexNibble (int c)
- {
- if (c < 10)
- return c + '0';
- return ('a' - 10) + c;
- }
-
- // handles URIs with "excluded" characters
- private static String normalizeURI (String systemId)
- {
- int length = systemId.length ();
-
- for (int i = 0; i < length; i++) {
- char c = systemId.charAt (i);
-
- // escape non-ASCII plus "excluded" characters
- if (isUriExcluded (c)) {
- byte buf [];
- ByteArrayOutputStream out;
- int b;
-
- // a JVM that doesn't know UTF8 and 8859_1 is unusable!
- try {
- buf = systemId.getBytes ("UTF8");
- out = new ByteArrayOutputStream (buf.length + 10);
-
- for (i = 0; i < buf.length; i++) {
- b = buf [i] & 0x0ff;
- if (isUriExcluded (b)) {
- out.write ((int) '%');
- out.write (hexNibble (b >> 4));
- out.write (hexNibble (b & 0x0f));
- } else
- out.write (b);
- }
- return out.toString ("8859_1");
- } catch (IOException e) {
- throw new RuntimeException (
- "can't normalize URI: " + e.getMessage ());
- }
- }
- }
- return systemId;
- }
-
- // thrown to mark authoritative end of a search
- private static class DoneDelegation extends SAXException
- {
- DoneDelegation () { }
- }
-
-
- /**
- * Represents a OASIS XML Catalog, and encapsulates much of
- * the catalog functionality.
- */
- private static class Catalog
- {
- // loading infrastructure
- String catalogURI;
- ErrorHandler eh;
- boolean unified;
- String parserClass;
-
- // catalog data
- boolean hasPreference;
- boolean usingPublic;
-
- Hashtable publicIds;
- Hashtable publicDelegations;
-
- Hashtable systemIds;
- Hashtable systemRewrites;
- Hashtable systemDelegations;
-
- Hashtable uris;
- Hashtable uriRewrites;
- Hashtable uriDelegations;
-
- Hashtable doctypes;
-
- Vector next;
-
- // nonpublic!
- Catalog () { }
-
-
- // steps as found in OASIS XML catalog spec 7.1.2
- private InputSource locatePublicId (String publicId)
- throws SAXException, IOException
- {
- // 5. return (first) 'public' entry
- if (publicIds != null) {
- String retval = (String) publicIds.get (publicId);
- if (retval != null) {
- // IF the URI is accessible ...
- return new InputSource (retval);
- }
- }
-
- // 6. return delegatePublic catalog match [complex]
- if (publicDelegations != null)
- return checkDelegations (publicDelegations, publicId,
- publicId, null);
-
- return null;
- }
-
- // steps as found in OASIS XML catalog spec 7.1.2 or 7.2.2
- private InputSource mapURI (
- String uri,
- Hashtable ids,
- Hashtable rewrites,
- Hashtable delegations
- ) throws SAXException, IOException
- {
- // 7.1.2: 2. return (first) 'system' entry
- // 7.2.2: 2. return (first) 'uri' entry
- if (ids != null) {
- String retval = (String) ids.get (uri);
- if (retval != null) {
- // IF the URI is accessible ...
- return new InputSource (retval);
- }
- }
-
- // 7.1.2: 3. return 'rewriteSystem' entries
- // 7.2.2: 3. return 'rewriteURI' entries
- if (rewrites != null) {
- String prefix = null;
- String replace = null;
- int prefixLen = -1;
-
- for (Enumeration e = rewrites.keys ();
- e.hasMoreElements ();
- /* NOP */) {
- String temp = (String) e.nextElement ();
- int len = -1;
-
- if (!uri.startsWith (temp))
- continue;
- if (prefix != null
- && (len = temp.length ()) < prefixLen)
- continue;
- prefix = temp;
- prefixLen = len;
- replace = (String) rewrites.get (temp);
- }
- if (prefix != null) {
- StringBuffer buf = new StringBuffer (replace);
- buf.append (uri.substring (prefixLen));
- // IF the URI is accessible ...
- return new InputSource (buf.toString ());
- }
- }
-
- // 7.1.2: 4. return 'delegateSystem' catalog match [complex]
- // 7.2.2: 4. return 'delegateURI' catalog match [complex]
- if (delegations != null)
- return checkDelegations (delegations, uri, null, uri);
-
- return null;
- }
-
-
- /**
- * Returns a URI for an external entity.
- */
- public InputSource resolve (
- boolean usingPublic,
- String publicId,
- String systemId
- ) throws SAXException, IOException
- {
- boolean preferSystem;
- InputSource retval;
-
- if (hasPreference)
- preferSystem = !this.usingPublic;
- else
- preferSystem = !usingPublic;
-
- if (publicId != null)
- publicId = normalizePublicId (false, publicId);
-
- // behavior here matches section 7.1.1 of the oasis spec
- if (systemId != null) {
- if (systemId.startsWith ("urn:publicid:")) {
- String temp = normalizePublicId (true, systemId);
- if (publicId == null) {
- publicId = temp;
- systemId = null;
- } else if (!publicId.equals (temp)) {
- // error; ok to recover by:
- systemId = null;
- }
- } else
- systemId = normalizeURI (systemId);
- }
-
- if (systemId == null && publicId == null)
- return null;
-
- if (systemId != null) {
- retval = mapURI (systemId, systemIds, systemRewrites,
- systemDelegations);
- if (retval != null) {
- retval.setPublicId (publicId);
- return retval;
- }
- }
-
- if (publicId != null
- && !(systemId != null && preferSystem)) {
- retval = locatePublicId (publicId);
- if (retval != null) {
- retval.setPublicId (publicId);
- return retval;
- }
- }
-
- // 7. apply nextCatalog entries
- if (next != null) {
- int length = next.size ();
- for (int i = 0; i < length; i++) {
- Catalog n = getNext (i);
- retval = n.resolve (usingPublic, publicId, systemId);
- if (retval != null)
- return retval;
- }
- }
-
- return null;
- }
-
- /**
- * Maps one URI into another, for resources that are not defined
- * using XML external entity or notation syntax.
- */
- public InputSource resolveURI (String uri)
- throws SAXException, IOException
- {
- if (uri.startsWith ("urn:publicid:"))
- return resolve (true, normalizePublicId (true, uri), null);
-
- InputSource retval;
-
- uri = normalizeURI (uri);
-
- // 7.2.2 steps 2-4
- retval = mapURI (uri, uris, uriRewrites, uriDelegations);
- if (retval != null)
- return retval;
-
- // 7.2.2 step 5. apply nextCatalog entries
- if (next != null) {
- int length = next.size ();
- for (int i = 0; i < length; i++) {
- Catalog n = getNext (i);
- retval = n.resolveURI (uri);
- if (retval != null)
- return retval;
- }
- }
-
- return null;
- }
-
-
- /**
- * Finds the external subset associated with a given root element.
- */
- public InputSource getExternalSubset (String name)
- throws SAXException, IOException
- {
- if (doctypes != null) {
- String value = (String) doctypes.get (name);
- if (value != null) {
- // IF the URI is accessible ...
- return new InputSource (value);
- }
- }
- if (next != null) {
- int length = next.size ();
- for (int i = 0; i < length; i++) {
- Catalog n = getNext (i);
- if (n == null)
- continue;
- InputSource retval = n.getExternalSubset (name);
- if (retval != null)
- return retval;
- }
- }
- return null;
- }
-
- private synchronized Catalog getNext (int i)
- throws SAXException, IOException
- {
- Object obj;
-
- if (next == null || i < 0 || i >= next.size ())
- return null;
- obj = next.elementAt (i);
- if (obj instanceof Catalog)
- return (Catalog) obj;
-
- // ok, we deferred reading that catalog till now.
- // load and cache it.
- Catalog cat = null;
-
- try {
- cat = loadCatalog (parserClass, eh, (String) obj, unified);
- next.setElementAt (cat, i);
- } catch (SAXException e) {
- // must fail quietly, says the OASIS spec
- } catch (IOException e) {
- // same applies here
- }
- return cat;
- }
-
- private InputSource checkDelegations (
- Hashtable delegations,
- String id,
- String publicId, // only one of public/system
- String systemId // will be non-null...
- ) throws SAXException, IOException
- {
- Vector matches = null;
- int length = 0;
-
- // first, see if any prefixes match.
- for (Enumeration e = delegations.keys ();
- e.hasMoreElements ();
- /* NOP */) {
- String prefix = (String) e.nextElement ();
-
- if (!id.startsWith (prefix))
- continue;
- if (matches == null)
- matches = new Vector ();
-
- // maintain in longer->shorter sorted order
- // NOTE: assumes not many matches will fire!
- int index;
-
- for (index = 0; index < length; index++) {
- String temp = (String) matches.elementAt (index);
- if (prefix.length () > temp.length ()) {
- matches.insertElementAt (prefix, index);
- break;
- }
- }
- if (index == length)
- matches.addElement (prefix);
- length++;
- }
- if (matches == null)
- return null;
-
- // now we know the list of catalogs to replace our "top level"
- // list ... we use it here, rather than somehow going back and
- // restarting, since this helps avoid reading most catalogs.
- // this assumes stackspace won't be a problem.
- for (int i = 0; i < length; i++) {
- Catalog catalog = null;
- InputSource result;
-
- // get this catalog. we may not have read it yet.
- synchronized (delegations) {
- Object prefix = matches.elementAt (i);
- Object cat = delegations.get (prefix);
-
- if (cat instanceof Catalog)
- catalog = (Catalog) cat;
- else {
- try {
- // load and cache that catalog
- catalog = loadCatalog (parserClass, eh,
- (String) cat, unified);
- delegations.put (prefix, catalog);
- } catch (SAXException e) {
- // must ignore, says the OASIS spec
- } catch (IOException e) {
- // same applies here
- }
- }
- }
-
- // ignore failed loads, and proceed
- if (catalog == null)
- continue;
-
- // we have a catalog ... resolve!
- // usingPublic value can't matter, there's no choice
- result = catalog.resolve (true, publicId, systemId);
- if (result != null)
- return result;
- }
-
- // if there were no successes, the entire
- // lookup failed (all the way to top level)
- throw new DoneDelegation ();
- }
- }
-
-
- /** This is the namespace URI used for OASIS XML Catalogs. */
- private static final String catalogNamespace =
- "urn:oasis:names:tc:entity:xmlns:xml:catalog";
-
-
- /**
- * Loads/unmarshals one catalog.
- */
- private static class Loader extends DefaultHandler2
- {
- private boolean preInterned;
- private ErrorHandler handler;
- private boolean unified;
- private int ignoreDepth;
- private Locator locator;
- private boolean started;
- private Hashtable externals;
- private Stack bases;
-
- Catalog cat = new Catalog ();
-
-
- /**
- * Constructor.
- * @param flag true iff the parser already interns strings.
- * @param eh Errors and warnings are delegated to this.
- * @param unified true keeps one table for URI mappings;
- * false matches OASIS spec, storing mappings
- * for URIs and SYSTEM ids in parallel tables.
- */
- Loader (boolean flag, ErrorHandler eh, boolean unified)
- {
- preInterned = flag;
- handler = eh;
- this.unified = unified;
- cat.unified = unified;
- cat.eh = eh;
- }
-
-
- // strips out fragments
- private String nofrag (String uri)
- throws SAXException
- {
- if (uri.indexOf ('#') != -1) {
- warn ("URI with fragment: " + uri);
- uri = uri.substring (0, uri.indexOf ('#'));
- }
- return uri;
- }
-
- // absolutizes relative URIs
- private String absolutize (String uri)
- throws SAXException
- {
- // avoid creating URLs if they're already absolutized,
- // or if the URI is already using a known scheme
- if (uri.startsWith ("file:/")
- || uri.startsWith ("http:/")
- || uri.startsWith ("https:/")
- || uri.startsWith ("ftp:/")
- || uri.startsWith ("urn:")
- )
- return uri;
-
- // otherwise, let's hope the JDK handles this URI scheme.
- try {
- URL base = (URL) bases.peek ();
- return new URL (base, uri).toString ();
- } catch (Exception e) {
- fatal ("can't absolutize URI: " + uri);
- return null;
- }
- }
-
- // recoverable error
- private void error (String message)
- throws SAXException
- {
- if (handler == null)
- return;
- handler.error (new SAXParseException (message, locator));
- }
-
- // nonrecoverable error
- private void fatal (String message)
- throws SAXException
- {
- SAXParseException spe;
-
- spe = new SAXParseException (message, locator);
- if (handler != null)
- handler.fatalError (spe);
- throw spe;
- }
-
- // low severity problem
- private void warn (String message)
- throws SAXException
- {
- if (handler == null)
- return;
- handler.warning (new SAXParseException (message, locator));
- }
-
- // callbacks:
-
- public void setDocumentLocator (Locator l)
- { locator = l; }
-
- public void startDocument ()
- throws SAXException
- {
- if (locator == null)
- error ("no locator!");
- bases = new Stack ();
- String uri = locator.getSystemId ();
- try {
- bases.push (new URL (uri));
- } catch (IOException e) {
- fatal ("bad document base URI: " + uri);
- }
- }
-
- public void endDocument ()
- throws SAXException
- {
- try {
- if (!started)
- error ("not a catalog!");
- } finally {
- locator = null;
- handler = null;
- externals = null;
- bases = null;
- }
- }
-
- // XML Base support for external entities.
-
- // NOTE: expects parser is in default "resolve-dtd-uris" mode.
- public void externalEntityDecl (String name, String pub, String sys)
- throws SAXException
- {
- if (externals == null)
- externals = new Hashtable ();
- if (externals.get (name) == null)
- externals.put (name, pub);
- }
-
- public void startEntity (String name)
- throws SAXException
- {
- if (externals == null)
- return;
- String uri = (String) externals.get (name);
-
- // NOTE: breaks if an EntityResolver substitutes these URIs.
- // If toplevel loader supports one, must intercept calls...
- if (uri != null) {
- try {
- bases.push (new URL (uri));
- } catch (IOException e) {
- fatal ("entity '" + name + "', bad URI: " + uri);
- }
- }
- }
-
- public void endEntity (String name)
- {
- if (externals == null)
- return;
- String value = (String) externals.get (name);
-
- if (value != null)
- bases.pop ();
- }
-
- /**
- * Processes catalog elements, saving their data.
- */
- public void startElement (String namespace, String local,
- String qName, Attributes atts)
- throws SAXException
- {
- // must ignore non-catalog elements, and their contents
- if (ignoreDepth != 0 || !catalogNamespace.equals (namespace)) {
- ignoreDepth++;
- return;
- }
-
- // basic sanity checks
- if (!preInterned)
- local = local.intern ();
- if (!started) {
- started = true;
- if ("catalog" != local)
- fatal ("root element not 'catalog': " + local);
- }
-
- // Handle any xml:base attribute
- String xmlbase = atts.getValue ("xml:base");
-
- if (xmlbase != null) {
- URL base = (URL) bases.peek ();
- try {
- base = new URL (base, xmlbase);
- } catch (IOException e) {
- fatal ("can't resolve xml:base attribute: " + xmlbase);
- }
- bases.push (base);
- } else
- bases.push (bases.peek ());
-
- // fetch multi-element attributes, apply standard tweaks
- // values (uri, catalog, rewritePrefix) get normalized too,
- // as a precaution and since we may compare the values
- String catalog = atts.getValue ("catalog");
- if (catalog != null)
- catalog = normalizeURI (absolutize (catalog));
-
- String rewritePrefix = atts.getValue ("rewritePrefix");
- if (rewritePrefix != null)
- rewritePrefix = normalizeURI (absolutize (rewritePrefix));
-
- String systemIdStartString;
- systemIdStartString = atts.getValue ("systemIdStartString");
- if (systemIdStartString != null) {
- systemIdStartString = normalizeURI (systemIdStartString);
- // unmatchable <rewriteSystemId>, <delegateSystemId> elements
- if (systemIdStartString.startsWith ("urn:publicid:")) {
- error ("systemIdStartString is really a publicId!!");
- return;
- }
- }
-
- String uri = atts.getValue ("uri");
- if (uri != null)
- uri = normalizeURI (absolutize (uri));
-
- String uriStartString;
- uriStartString = atts.getValue ("uriStartString");
- if (uriStartString != null) {
- uriStartString = normalizeURI (uriStartString);
- // unmatchable <rewriteURI>, <delegateURI> elements
- if (uriStartString.startsWith ("urn:publicid:")) {
- error ("uriStartString is really a publicId!!");
- return;
- }
- }
-
- // strictly speaking "group" and "catalog" shouldn't nest
- // ... arbitrary restriction, no evident motivation
-
-// FIXME stack "prefer" settings (two elements only!) and use
-// them to populate different public mapping/delegation tables
-
- if ("catalog" == local || "group" == local) {
- String prefer = atts.getValue ("prefer");
-
- if (prefer != null && !"public".equals (prefer)) {
- if (!"system".equals (prefer)) {
- error ("in <" + local + " ... prefer='...'>, "
- + "assuming 'public'");
- prefer = "public";
- }
- }
- if (prefer != null) {
- if ("catalog" == local) {
- cat.hasPreference = true;
- cat.usingPublic = "public".equals (prefer);
- } else {
- if (!cat.hasPreference || cat.usingPublic
- != "public".equals (prefer)) {
-fatal ("<group prefer=...> case not handled");
- }
- }
- } else if ("group" == local && cat.hasPreference) {
-fatal ("<group prefer=...> case not handled");
- }
-
- //
- // PUBLIC ids: cleanly set up for id substitution
- //
- } else if ("public" == local) {
- String publicId = atts.getValue ("publicId");
- String value = null;
-
- if (publicId == null || uri == null) {
- error ("expecting <public publicId=... uri=.../>");
- return;
- }
- publicId = normalizePublicId (true, publicId);
- uri = nofrag (uri);
- if (cat.publicIds == null)
- cat.publicIds = new Hashtable ();
- else
- value = (String) cat.publicIds.get (publicId);
- if (value != null) {
- if (!value.equals (uri))
- warn ("ignoring <public...> entry for " + publicId);
- } else
- cat.publicIds.put (publicId, uri);
-
- } else if ("delegatePublic" == local) {
- String publicIdStartString;
- Object value = null;
-
- publicIdStartString = atts.getValue ("publicIdStartString");
- if (publicIdStartString == null || catalog == null) {
- error ("expecting <delegatePublic "
- + "publicIdStartString=... catalog=.../>");
- return;
- }
- publicIdStartString = normalizePublicId (true,
- publicIdStartString);
- if (cat.publicDelegations == null)
- cat.publicDelegations = new Hashtable ();
- else
- value = cat.publicDelegations.get (publicIdStartString);
- if (value != null) {
- if (!value.equals (catalog))
- warn ("ignoring <delegatePublic...> entry for "
- + uriStartString);
- } else
- cat.publicDelegations.put (publicIdStartString, catalog);
-
-
- //
- // SYSTEM ids: need substitution due to operational issues
- //
- } else if ("system" == local) {
- String systemId = atts.getValue ("systemId");
- String value = null;
-
- if (systemId == null || uri == null) {
- error ("expecting <system systemId=... uri=.../>");
- return;
- }
- systemId = normalizeURI (systemId);
- uri = nofrag (uri);
- if (systemId.startsWith ("urn:publicid:")) {
- error ("systemId is really a publicId!!");
- return;
- }
- if (cat.systemIds == null) {
- cat.systemIds = new Hashtable ();
- if (unified)
- cat.uris = cat.systemIds;
- } else
- value = (String) cat.systemIds.get (systemId);
- if (value != null) {
- if (!value.equals (uri))
- warn ("ignoring <system...> entry for " + systemId);
- } else
- cat.systemIds.put (systemId, uri);
-
- } else if ("rewriteSystem" == local) {
- String value = null;
-
- if (systemIdStartString == null || rewritePrefix == null
- || systemIdStartString.length () == 0
- || rewritePrefix.length () == 0
- ) {
- error ("expecting <rewriteSystem "
- + "systemIdStartString=... rewritePrefix=.../>");
- return;
- }
- if (cat.systemRewrites == null) {
- cat.systemRewrites = new Hashtable ();
- if (unified)
- cat.uriRewrites = cat.systemRewrites;
- } else
- value = (String) cat.systemRewrites.get (
- systemIdStartString);
- if (value != null) {
- if (!value.equals (rewritePrefix))
- warn ("ignoring <rewriteSystem...> entry for "
- + systemIdStartString);
- } else
- cat.systemRewrites.put (systemIdStartString,
- rewritePrefix);
-
- } else if ("delegateSystem" == local) {
- Object value = null;
-
- if (systemIdStartString == null || catalog == null) {
- error ("expecting <delegateSystem "
- + "systemIdStartString=... catalog=.../>");
- return;
- }
- if (cat.systemDelegations == null) {
- cat.systemDelegations = new Hashtable ();
- if (unified)
- cat.uriDelegations = cat.systemDelegations;
- } else
- value = cat.systemDelegations.get (systemIdStartString);
- if (value != null) {
- if (!value.equals (catalog))
- warn ("ignoring <delegateSystem...> entry for "
- + uriStartString);
- } else
- cat.systemDelegations.put (systemIdStartString, catalog);
-
-
- //
- // URI: just like "system" ID support, except that
- // fragment IDs are disallowed in "system" elements.
- //
- } else if ("uri" == local) {
- String name = atts.getValue ("name");
- String value = null;
-
- if (name == null || uri == null) {
- error ("expecting <uri name=... uri=.../>");
- return;
- }
- if (name.startsWith ("urn:publicid:")) {
- error ("name is really a publicId!!");
- return;
- }
- name = normalizeURI (name);
- if (cat.uris == null) {
- cat.uris = new Hashtable ();
- if (unified)
- cat.systemIds = cat.uris;
- } else
- value = (String) cat.uris.get (name);
- if (value != null) {
- if (!value.equals (uri))
- warn ("ignoring <uri...> entry for " + name);
- } else
- cat.uris.put (name, uri);
-
- } else if ("rewriteURI" == local) {
- String value = null;
-
- if (uriStartString == null || rewritePrefix == null
- || uriStartString.length () == 0
- || rewritePrefix.length () == 0
- ) {
- error ("expecting <rewriteURI "
- + "uriStartString=... rewritePrefix=.../>");
- return;
- }
- if (cat.uriRewrites == null) {
- cat.uriRewrites = new Hashtable ();
- if (unified)
- cat.systemRewrites = cat.uriRewrites;
- } else
- value = (String) cat.uriRewrites.get (uriStartString);
- if (value != null) {
- if (!value.equals (rewritePrefix))
- warn ("ignoring <rewriteURI...> entry for "
- + uriStartString);
- } else
- cat.uriRewrites.put (uriStartString, rewritePrefix);
-
- } else if ("delegateURI" == local) {
- Object value = null;
-
- if (uriStartString == null || catalog == null) {
- error ("expecting <delegateURI "
- + "uriStartString=... catalog=.../>");
- return;
- }
- if (cat.uriDelegations == null) {
- cat.uriDelegations = new Hashtable ();
- if (unified)
- cat.systemDelegations = cat.uriDelegations;
- } else
- value = cat.uriDelegations.get (uriStartString);
- if (value != null) {
- if (!value.equals (catalog))
- warn ("ignoring <delegateURI...> entry for "
- + uriStartString);
- } else
- cat.uriDelegations.put (uriStartString, catalog);
-
- //
- // NON-DELEGATING approach to modularity
- //
- } else if ("nextCatalog" == local) {
- if (catalog == null) {
- error ("expecting <nextCatalog catalog=.../>");
- return;
- }
- if (cat.next == null)
- cat.next = new Vector ();
- cat.next.addElement (catalog);
-
- //
- // EXTENSIONS from appendix E
- //
- } else if ("doctype" == local) {
- String name = atts.getValue ("name");
- String value = null;
-
- if (name == null || uri == null) {
- error ("expecting <doctype name=... uri=.../>");
- return;
- }
- name = normalizeURI (name);
- if (cat.doctypes == null)
- cat.doctypes = new Hashtable ();
- else
- value = (String) cat.doctypes.get (name);
- if (value != null) {
- if (!value.equals (uri))
- warn ("ignoring <doctype...> entry for "
- + uriStartString);
- } else
- cat.doctypes.put (name, uri);
-
-
- //
- // RESERVED ... ignore (like reserved attributes) but warn
- //
- } else {
- warn ("ignoring unknown catalog element: " + local);
- ignoreDepth++;
- }
- }
-
- public void endElement (String uri, String local, String qName)
- throws SAXException
- {
- if (ignoreDepth != 0)
- ignoreDepth--;
- else
- bases.pop ();
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/XHTMLWriter.java b/external/jaxp/source/gnu/xml/util/XHTMLWriter.java
deleted file mode 100644
index 826acc3d0..000000000
--- a/external/jaxp/source/gnu/xml/util/XHTMLWriter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.util;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-
-/**
- * This extends XMLWriter to create a class which defaults to writing
- * XHTML text, preferring the US-ASCII encoding. It adds no unique
- * functionality, only changing the defaults slightly to simplify writing
- * XHTML processing components by providing a bean class whose properties
- * have more convenient defaults. An artifact of using the US-ASCII
- * encoding is that no XML declaration is written, so that HTML tools
- * that can't accept them will not become confused. Components can treat
- * the output as UTF-8, ISO-8859-1, or US-ASCII without incurring any
- * data loss.
- *
- * @author David Brownell
- */
-public class XHTMLWriter extends XMLWriter
-{
- /**
- * Constructs this handler with System.out used to write
- * SAX events using the US-ASCII encoding, as XHTML.
- */
- public XHTMLWriter ()
- throws IOException
- {
- this (System.out);
- }
-
- /**
- * Constructs this handler such that the specified output stream
- * is used to write SAX events in the US-ASCII encoding, as XHTML.
- *
- * @param out Where US-ASCII encoding of the stream of SAX
- * events will be sent.
- */
- public XHTMLWriter (OutputStream out)
- throws IOException
- {
- // not all JVMs understand "ASCII" as an encoding name, so
- // we use 8859_1 (they all seem to handle that one) and
- // make the echo handler filter out non-ASCII characters
- this (new OutputStreamWriter (out, "8859_1"), "US-ASCII");
- }
-
- /**
- * Constructs this handler such that the specified output stream
- * is used to write SAX events as XHTML.
- *
- * @param out Where the stream of SAX events will be written.
- */
- public XHTMLWriter (Writer out)
- {
- this (out, null);
- }
-
- /**
- * Constructs this handler such that the specified output stream
- * is used to write SAX events as XHTML, labeled with the specified
- * encoding.
- *
- * @param out Where the stream of SAX events will be written.
- * @param encoding If non-null, this names the encoding to be
- * placed in the encoding declaration.
- */
- public XHTMLWriter (Writer out, String encoding)
- {
- super (out, encoding);
- setXhtml (true);
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/XMLWriter.java b/external/jaxp/source/gnu/xml/util/XMLWriter.java
deleted file mode 100644
index 897c13991..000000000
--- a/external/jaxp/source/gnu/xml/util/XMLWriter.java
+++ /dev/null
@@ -1,1916 +0,0 @@
-/*
- * Copyright (C) 1999-2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package gnu.xml.util;
-
-import java.io.BufferedWriter;
-import java.io.CharConversionException;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.util.Stack;
-
-import org.xml.sax.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.*;
-
-
-/**
- * This class is a SAX handler which writes all its input as a well formed
- * XML or XHTML document. If driven using SAX2 events, this output may
- * include a recreated document type declaration, subject to limitations
- * of SAX (no internal subset exposed) or DOM (the important declarations,
- * with their documentation, are discarded).
- *
- * <p> By default, text is generated "as-is", but some optional modes
- * are supported. Pretty-printing is supported, to make life easier
- * for people reading the output. XHTML (1.0) output has can be made
- * particularly pretty; all the built-in character entities are known.
- * Canonical XML can also be generated, assuming the input is properly
- * formed.
- *
- * <hr>
- *
- * <p> Some of the methods on this class are intended for applications to
- * use directly, rather than as pure SAX2 event callbacks. Some of those
- * methods access the JavaBeans properties (used to tweak output formats,
- * for example canonicalization and pretty printing). Subclasses
- * are expected to add new behaviors, not to modify current behavior, so
- * many such methods are final.</p>
- *
- * <p> The <em>write*()</em> methods may be slightly simpler for some
- * applications to use than direct callbacks. For example, they support
- * a simple policy for encoding data items as the content of a single element.
- *
- * <p> To reuse an XMLWriter you must provide it with a new Writer, since
- * this handler closes the writer it was given as part of its endDocument()
- * handling. (XML documents have an end of input, and the way to encode
- * that on a stream is to close it.) </p>
- *
- * <hr>
- *
- * <p> Note that any relative URIs in the source document, as found in
- * entity and notation declarations, ought to have been fully resolved by
- * the parser providing events to this handler. This means that the
- * output text should only have fully resolved URIs, which may not be
- * the desired behavior in cases where later binding is desired. </p>
- *
- * <p> <em>Note that due to SAX2 defaults, you may need to manually
- * ensure that the input events are XML-conformant with respect to namespace
- * prefixes and declarations. {@link gnu.xml.pipeline.NSFilter} is
- * one solution to this problem, in the context of processing pipelines.</em>
- * Something as simple as connecting this handler to a parser might not
- * generate the correct output. Another workaround is to ensure that the
- * <em>namespace-prefixes</em> feature is always set to true, if you're
- * hooking this directly up to some XMLReader implementation.
- *
- * @see gnu.xml.pipeline.TextConsumer
- *
- * @author David Brownell
- */
-public class XMLWriter
- implements ContentHandler, LexicalHandler, DTDHandler, DeclHandler
-{
- // text prints/escapes differently depending on context
- // CTX_ENTITY ... entity literal value
- // CTX_ATTRIBUTE ... attribute literal value
- // CTX_CONTENT ... content of an element
- // CTX_UNPARSED ... CDATA, comment, PI, names, etc
- // CTX_NAME ... name or nmtoken, no escapes possible
- private static final int CTX_ENTITY = 1;
- private static final int CTX_ATTRIBUTE = 2;
- private static final int CTX_CONTENT = 3;
- private static final int CTX_UNPARSED = 4;
- private static final int CTX_NAME = 5;
-
-// FIXME: names (element, attribute, PI, notation, etc) are not
-// currently written out with range checks (escapeChars).
-// In non-XHTML, some names can't be directly written; panic!
-
- private static String sysEOL;
-
- static {
- try {
- sysEOL = System.getProperty ("line.separator", "\n");
-
- // don't use the system's EOL if it's illegal XML.
- if (!isLineEnd (sysEOL))
- sysEOL = "\n";
-
- } catch (SecurityException e) {
- sysEOL = "\n";
- }
- }
-
- private static boolean isLineEnd (String eol)
- {
- return "\n".equals (eol)
- || "\r".equals (eol)
- || "\r\n".equals (eol);
- }
-
- private Writer out;
- private boolean inCDATA;
- private int elementNestLevel;
- private String eol = sysEOL;
-
- private short dangerMask;
- private StringBuffer stringBuf;
- private Locator locator;
- private ErrorHandler errHandler;
-
- private boolean expandingEntities = false;
- private int entityNestLevel;
- private boolean xhtml;
- private boolean startedDoctype;
- private String encoding;
-
- private boolean canonical;
- private boolean inDoctype;
- private boolean inEpilogue;
-
- // pretty printing controls
- private boolean prettyPrinting;
- private int column;
- private boolean noWrap;
- private Stack space = new Stack ();
-
- // this is not a hard'n'fast rule -- longer lines are OK,
- // but are to be avoided. Here, prettyprinting is more to
- // show structure "cleanly" than to be precise about it.
- // better to have ragged layout than one line 24Kb long.
- private static final int lineLength = 75;
-
-
- /**
- * Constructs this handler with System.out used to write SAX events
- * using the UTF-8 encoding. Avoid using this except when you know
- * it's safe to close System.out at the end of the document.
- */
- public XMLWriter () throws IOException
- { this (System.out); }
-
- /**
- * Constructs a handler which writes all input to the output stream
- * in the UTF-8 encoding, and closes it when endDocument is called.
- * (Yes it's annoying that this throws an exception -- but there's
- * really no way around it, since it's barely possible a JDK may
- * exist somewhere that doesn't know how to emit UTF-8.)
- */
- public XMLWriter (OutputStream out) throws IOException
- {
- this (new OutputStreamWriter (out, "UTF8"));
- }
-
- /**
- * Constructs a handler which writes all input to the writer, and then
- * closes the writer when the document ends. If an XML declaration is
- * written onto the output, and this class can determine the name of
- * the character encoding for this writer, that encoding name will be
- * included in the XML declaration.
- *
- * <P> See the description of the constructor which takes an encoding
- * name for imporant information about selection of encodings.
- *
- * @param writer XML text is written to this writer.
- */
- public XMLWriter (Writer writer)
- {
- this (writer, null);
- }
-
- /**
- * Constructs a handler which writes all input to the writer, and then
- * closes the writer when the document ends. If an XML declaration is
- * written onto the output, this class will use the specified encoding
- * name in that declaration. If no encoding name is specified, no
- * encoding name will be declared unless this class can otherwise
- * determine the name of the character encoding for this writer.
- *
- * <P> At this time, only the UTF-8 ("UTF8") and UTF-16 ("Unicode")
- * output encodings are fully lossless with respect to XML data. If you
- * use any other encoding you risk having your data be silently mangled
- * on output, as the standard Java character encoding subsystem silently
- * maps non-encodable characters to a question mark ("?") and will not
- * report such errors to applications.
- *
- * <p> For a few other encodings the risk can be reduced. If the writer is
- * a java.io.OutputStreamWriter, and uses either the ISO-8859-1 ("8859_1",
- * "ISO8859_1", etc) or US-ASCII ("ASCII") encodings, content which
- * can't be encoded in those encodings will be written safely. Where
- * relevant, the XHTML entity names will be used; otherwise, numeric
- * character references will be emitted.
- *
- * <P> However, there remain a number of cases where substituting such
- * entity or character references is not an option. Such references are
- * not usable within a DTD, comment, PI, or CDATA section. Neither may
- * they be used when element, attribute, entity, or notation names have
- * the problematic characters.
- *
- * @param writer XML text is written to this writer.
- * @param encoding if non-null, and an XML declaration is written,
- * this is the name that will be used for the character encoding.
- */
- public XMLWriter (Writer writer, String encoding)
- {
- setWriter (writer, encoding);
- }
-
- private void setEncoding (String encoding)
- {
- if (encoding == null && out instanceof OutputStreamWriter)
- encoding = ((OutputStreamWriter)out).getEncoding ();
-
- if (encoding != null) {
- encoding = encoding.toUpperCase ();
-
- // Use official encoding names where we know them,
- // avoiding the Java-only names. When using common
- // encodings where we can easily tell if characters
- // are out of range, we'll escape out-of-range
- // characters using character refs for safety.
-
- // I _think_ these are all the main synonyms for these!
- if ("UTF8".equals (encoding)) {
- encoding = "UTF-8";
- } else if ("US-ASCII".equals (encoding)
- || "ASCII".equals (encoding)) {
- dangerMask = (short) 0xff80;
- encoding = "US-ASCII";
- } else if ("ISO-8859-1".equals (encoding)
- || "8859_1".equals (encoding)
- || "ISO8859_1".equals (encoding)) {
- dangerMask = (short) 0xff00;
- encoding = "ISO-8859-1";
- } else if ("UNICODE".equals (encoding)
- || "UNICODE-BIG".equals (encoding)
- || "UNICODE-LITTLE".equals (encoding)) {
- encoding = "UTF-16";
-
- // TODO: UTF-16BE, UTF-16LE ... no BOM; what
- // release of JDK supports those Unicode names?
- }
-
- if (dangerMask != 0)
- stringBuf = new StringBuffer ();
- }
-
- this.encoding = encoding;
- }
-
-
- /**
- * Resets the handler to write a new text document.
- *
- * @param writer XML text is written to this writer.
- * @param encoding if non-null, and an XML declaration is written,
- * this is the name that will be used for the character encoding.
- *
- * @exception IllegalStateException if the current
- * document hasn't yet ended (with {@link #endDocument})
- */
- final public void setWriter (Writer writer, String encoding)
- {
- if (out != null)
- throw new IllegalStateException (
- "can't change stream in mid course");
- out = writer;
- if (out != null)
- setEncoding (encoding);
- if (!(out instanceof BufferedWriter))
- out = new BufferedWriter (out);
- space.push ("default");
- }
-
- /**
- * Assigns the line ending style to be used on output.
- * @param eolString null to use the system default; else
- * "\n", "\r", or "\r\n".
- */
- final public void setEOL (String eolString)
- {
- if (eolString == null)
- eol = sysEOL;
- else if (!isLineEnd (eolString))
- eol = eolString;
- else
- throw new IllegalArgumentException (eolString);
- }
-
- /**
- * Assigns the error handler to be used to present most fatal
- * errors.
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- errHandler = handler;
- }
-
- /**
- * Used internally and by subclasses, this encapsulates the logic
- * involved in reporting fatal errors. It uses locator information
- * for good diagnostics, if available, and gives the application's
- * ErrorHandler the opportunity to handle the error before throwing
- * an exception.
- */
- protected void fatal (String message, Exception e)
- throws SAXException
- {
- SAXParseException x;
-
- if (locator == null)
- x = new SAXParseException (message, null, null, -1, -1, e);
- else
- x = new SAXParseException (message, locator, e);
- if (errHandler != null)
- errHandler.fatalError (x);
- throw x;
- }
-
-
- // JavaBeans properties
-
- /**
- * Controls whether the output should attempt to follow the "transitional"
- * XHTML rules so that it meets the "HTML Compatibility Guidelines"
- * appendix in the XHTML specification. A "transitional" Document Type
- * Declaration (DTD) is placed near the beginning of the output document,
- * instead of whatever DTD would otherwise have been placed there, and
- * XHTML empty elements are printed specially. When writing text in
- * US-ASCII or ISO-8859-1 encodings, the predefined XHTML internal
- * entity names are used (in preference to character references) when
- * writing content characters which can't be expressed in those encodings.
- *
- * <p> When this option is enabled, it is the caller's responsibility
- * to ensure that the input is otherwise valid as XHTML. Things to
- * be careful of in all cases, as described in the appendix referenced
- * above, include: <ul>
- *
- * <li> Element and attribute names must be in lower case, both
- * in the document and in any CSS style sheet.
- * <li> All XML constructs must be valid as defined by the XHTML
- * "transitional" DTD (including all familiar constructs,
- * even deprecated ones).
- * <li> The root element must be "html".
- * <li> Elements that must be empty (such as <em>&lt;br&gt;</em>
- * must have no content.
- * <li> Use both <em>lang</em> and <em>xml:lang</em> attributes
- * when specifying language.
- * <li> Similarly, use both <em>id</em> and <em>name</em> attributes
- * when defining elements that may be referred to through
- * URI fragment identifiers ... and make sure that the
- * value is a legal NMTOKEN, since not all such HTML 4.0
- * identifiers are valid in XML.
- * <li> Be careful with character encodings; make sure you provide
- * a <em>&lt;meta http-equiv="Content-type"
- * content="text/xml;charset=..." /&gt;</em> element in
- * the HTML "head" element, naming the same encoding
- * used to create this handler. Also, if that encoding
- * is anything other than US-ASCII, make sure that if
- * the document is given a MIME content type, it has
- * a <em>charset=...</em> attribute with that encoding.
- * </ul>
- *
- * <p> Additionally, some of the oldest browsers have additional
- * quirks, to address with guidelines such as: <ul>
- *
- * <li> Processing instructions may be rendered, so avoid them.
- * (Similarly for an XML declaration.)
- * <li> Embedded style sheets and scripts should not contain XML
- * markup delimiters: &amp;, &lt;, and ]]&gt; are trouble.
- * <li> Attribute values should not have line breaks or multiple
- * consecutive white space characters.
- * <li> Use no more than one of the deprecated (transitional)
- * <em>&lt;isindex&gt;</em> elements.
- * <li> Some boolean attributes (such as <em>compact, checked,
- * disabled, readonly, selected,</em> and more) confuse
- * some browsers, since they only understand minimized
- * versions which are illegal in XML.
- * </ul>
- *
- * <p> Also, some characteristics of the resulting output may be
- * a function of whether the document is later given a MIME
- * content type of <em>text/html</em> rather than one indicating
- * XML (<em>application/xml</em> or <em>text/xml</em>). Worse,
- * some browsers ignore MIME content types and prefer to rely URI
- * name suffixes -- so an "index.xml" could always be XML, never
- * XHTML, no matter its MIME type.
- */
- final public void setXhtml (boolean value)
- {
- if (locator != null)
- throw new IllegalStateException ("started parsing");
- xhtml = value;
- if (xhtml)
- canonical = false;
- }
-
- /**
- * Returns true if the output attempts to echo the input following
- * "transitional" XHTML rules and matching the "HTML Compatibility
- * Guidelines" so that an HTML version 3 browser can read the output
- * as HTML; returns false (the default) othewise.
- */
- final public boolean isXhtml ()
- {
- return xhtml;
- }
-
- /**
- * Controls whether the output text contains references to
- * entities (the default), or instead contains the expanded
- * values of those entities.
- */
- final public void setExpandingEntities (boolean value)
- {
- if (locator != null)
- throw new IllegalStateException ("started parsing");
- expandingEntities = value;
- if (!expandingEntities)
- canonical = false;
- }
-
- /**
- * Returns true if the output will have no entity references;
- * returns false (the default) otherwise.
- */
- final public boolean isExpandingEntities ()
- {
- return expandingEntities;
- }
-
- /**
- * Controls pretty-printing, which by default is not enabled
- * (and currently is most useful for XHTML output).
- * Pretty printing enables structural indentation, sorting of attributes
- * by name, line wrapping, and potentially other mechanisms for making
- * output more or less readable.
- *
- * <p> At this writing, structural indentation and line wrapping are
- * enabled when pretty printing is enabled and the <em>xml:space</em>
- * attribute has the value <em>default</em> (its other legal value is
- * <em>preserve</em>, as defined in the XML specification). The three
- * XHTML element types which use another value are recognized by their
- * names (namespaces are ignored).
- *
- * <p> Also, for the record, the "pretty" aspect of printing here
- * is more to provide basic structure on outputs that would otherwise
- * risk being a single long line of text. For now, expect the
- * structure to be ragged ... unless you'd like to submit a patch
- * to make this be more strictly formatted!
- *
- * @exception IllegalStateException thrown if this method is invoked
- * after output has begun.
- */
- final public void setPrettyPrinting (boolean value)
- {
- if (locator != null)
- throw new IllegalStateException ("started parsing");
- prettyPrinting = value;
- if (prettyPrinting)
- canonical = false;
- }
-
- /**
- * Returns value of flag controlling pretty printing.
- */
- final public boolean isPrettyPrinting ()
- {
- return prettyPrinting;
- }
-
-
- /**
- * Sets the output style to be canonicalized. Input events must
- * meet requirements that are slightly more stringent than the
- * basic well-formedness ones, and include: <ul>
- *
- * <li> Namespace prefixes must not have been changed from those
- * in the original document. (This may only be ensured by setting
- * the SAX2 XMLReader <em>namespace-prefixes</em> feature flag;
- * by default, it is cleared.)
- *
- * <li> Redundant namespace declaration attributes have been
- * removed. (If an ancestor element defines a namespace prefix
- * and that declaration hasn't been overriden, an element must
- * not redeclare it.)
- *
- * <li> If comments are not to be included in the canonical output,
- * they must first be removed from the input event stream; this
- * <em>Canonical XML with comments</em> by default.
- *
- * <li> If the input character encoding was not UCS-based, the
- * character data must have been normalized using Unicode
- * Normalization Form C. (UTF-8 and UTF-16 are UCS-based.)
- *
- * <li> Attribute values must have been normalized, as is done
- * by any conformant XML processor which processes all external
- * parameter entities.
- *
- * <li> Similarly, attribute value defaulting has been performed.
- *
- * </ul>
- *
- * <p> Note that fragments of XML documents, as specified by an XPath
- * node set, may be canonicalized. In such cases, elements may need
- * some fixup (for <em>xml:*</em> attributes and application-specific
- * context).
- *
- * @exception IllegalArgumentException if the output encoding
- * is anything other than UTF-8.
- */
- final public void setCanonical (boolean value)
- {
- if (value && !"UTF-8".equals (encoding))
- throw new IllegalArgumentException ("encoding != UTF-8");
- canonical = value;
- if (canonical) {
- prettyPrinting = xhtml = false;
- expandingEntities = true;
- eol = "\n";
- }
- }
-
-
- /**
- * Returns value of flag controlling canonical output.
- */
- final public boolean isCanonical ()
- {
- return canonical;
- }
-
-
- /**
- * Flushes the output stream. When this handler is used in long lived
- * pipelines, it can be important to flush buffered state, for example
- * so that it can reach the disk as part of a state checkpoint.
- */
- final public void flush ()
- throws IOException
- {
- if (out != null)
- out.flush ();
- }
-
-
- // convenience routines
-
-// FIXME: probably want a subclass that holds a lot of these...
-// and maybe more!
-
- /**
- * Writes the string as if characters() had been called on the contents
- * of the string. This is particularly useful when applications act as
- * producers and write data directly to event consumers.
- */
- final public void write (String data)
- throws SAXException
- {
- char buf [] = data.toCharArray ();
- characters (buf, 0, buf.length);
- }
-
-
- /**
- * Writes an element that has content consisting of a single string.
- * @see #writeEmptyElement
- * @see #startElement
- */
- public void writeElement (
- String uri,
- String localName,
- String qName,
- Attributes atts,
- String content
- ) throws SAXException
- {
- if (content == null || content.length () == 0) {
- writeEmptyElement (uri, localName, qName, atts);
- return;
- }
- startElement (uri, localName, qName, atts);
- char chars [] = content.toCharArray ();
- characters (chars, 0, chars.length);
- endElement (uri, localName, qName);
- }
-
-
- /**
- * Writes an element that has content consisting of a single integer,
- * encoded as a decimal string.
- * @see #writeEmptyElement
- * @see #startElement
- */
- public void writeElement (
- String uri,
- String localName,
- String qName,
- Attributes atts,
- int content
- ) throws SAXException
- {
- writeElement (uri, localName, qName, atts, Integer.toString (content));
- }
-
-
- // SAX1 ContentHandler
- /** <b>SAX1</b>: provides parser status information */
- final public void setDocumentLocator (Locator l)
- {
- locator = l;
- }
-
-
- // URL for dtd that validates against all normal HTML constructs
- private static final String xhtmlFullDTD =
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
-
-
- /**
- * <b>SAX1</b>: indicates the beginning of a document parse.
- * If you're writing (well formed) fragments of XML, neither
- * this nor endDocument should be called.
- */
- // NOT final
- public void startDocument ()
- throws SAXException
- {
- try {
- if (out == null)
- throw new IllegalStateException (
- "null Writer given to XMLWriter");
-
- // Not all parsers provide the locator we want; this also
- // flags whether events are being sent to this object yet.
- // We could only have this one call if we only printed whole
- // documents ... but we also print fragments, so most of the
- // callbacks here replicate this test.
-
- if (locator == null)
- locator = new LocatorImpl ();
-
- // Unless the data is in US-ASCII or we're canonicalizing, write
- // the XML declaration if we know the encoding. US-ASCII won't
- // normally get mangled by web server confusion about the
- // character encodings used. Plus, it's an easy way to
- // ensure we can write ASCII that's unlikely to confuse
- // elderly HTML parsers.
-
- if (!canonical
- && dangerMask != (short) 0xff80
- && encoding != null) {
- rawWrite ("<?xml version='1.0'");
- rawWrite (" encoding='" + encoding + "'");
- rawWrite ("?>");
- newline ();
- }
-
- if (xhtml) {
-
- rawWrite ("<!DOCTYPE html PUBLIC");
- newline ();
- rawWrite (" '-//W3C//DTD XHTML 1.0 Transitional//EN'");
- newline ();
- rawWrite (" '");
- // NOTE: URL (above) matches the REC
- rawWrite (xhtmlFullDTD);
- rawWrite ("'>");
- newline ();
- newline ();
-
- // fake the rest of the handler into ignoring
- // everything until the root element, so any
- // XHTML DTD comments, PIs, etc are ignored
- startedDoctype = true;
- }
-
- entityNestLevel = 0;
-
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /**
- * <b>SAX1</b>: indicates the completion of a parse.
- * Note that all complete SAX event streams make this call, even
- * if an error is reported during a parse.
- */
- // NOT final
- public void endDocument ()
- throws SAXException
- {
- try {
- if (!canonical) {
- newline ();
- newline ();
- }
- out.close ();
- out = null;
- locator = null;
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- // XHTML elements declared as EMPTY print differently
- final private static boolean isEmptyElementTag (String tag)
- {
- switch (tag.charAt (0)) {
- case 'a': return "area".equals (tag);
- case 'b': return "base".equals (tag)
- || "basefont".equals (tag)
- || "br".equals (tag);
- case 'c': return "col".equals (tag);
- case 'f': return "frame".equals (tag);
- case 'h': return "hr".equals (tag);
- case 'i': return "img".equals (tag)
- || "input".equals (tag)
- || "isindex".equals (tag);
- case 'l': return "link".equals (tag);
- case 'm': return "meta".equals (tag);
- case 'p': return "param".equals (tag);
- }
- return false;
- }
-
- private static boolean indentBefore (String tag)
- {
- // basically indent before block content
- // and within structure like tables, lists
- switch (tag.charAt (0)) {
- case 'a': return "applet".equals (tag);
- case 'b': return "body".equals (tag)
- || "blockquote".equals (tag);
- case 'c': return "center".equals (tag);
- case 'f': return "frame".equals (tag)
- || "frameset".equals (tag);
- case 'h': return "head".equals (tag);
- case 'm': return "meta".equals (tag);
- case 'o': return "object".equals (tag);
- case 'p': return "param".equals (tag)
- || "pre".equals (tag);
- case 's': return "style".equals (tag);
- case 't': return "title".equals (tag)
- || "td".equals (tag)
- || "th".equals (tag);
- }
- // ... but not inline elements like "em", "b", "font"
- return false;
- }
-
- private static boolean spaceBefore (String tag)
- {
- // blank line AND INDENT before certain structural content
- switch (tag.charAt (0)) {
- case 'h': return "h1".equals (tag)
- || "h2".equals (tag)
- || "h3".equals (tag)
- || "h4".equals (tag)
- || "h5".equals (tag)
- || "h6".equals (tag)
- || "hr".equals (tag);
- case 'l': return "li".equals (tag);
- case 'o': return "ol".equals (tag);
- case 'p': return "p".equals (tag);
- case 't': return "table".equals (tag)
- || "tr".equals (tag);
- case 'u': return "ul".equals (tag);
- }
- return false;
- }
-
- // XHTML DTDs say these three have xml:space="preserve"
- private static boolean spacePreserve (String tag)
- {
- return "pre".equals (tag)
- || "style".equals (tag)
- || "script".equals (tag);
- }
-
- /**
- * <b>SAX2</b>: ignored.
- */
- final public void startPrefixMapping (String prefix, String uri)
- {}
-
- /**
- * <b>SAX2</b>: ignored.
- */
- final public void endPrefixMapping (String prefix)
- {}
-
- private void writeStartTag (
- String name,
- Attributes atts,
- boolean isEmpty
- ) throws SAXException, IOException
- {
- rawWrite ('<');
- rawWrite (name);
-
- // write out attributes ... sorting is particularly useful
- // with output that's been heavily defaulted.
- if (atts != null && atts.getLength () != 0) {
-
- // Set up to write, with optional sorting
- int indices [] = new int [atts.getLength ()];
-
- for (int i= 0; i < indices.length; i++)
- indices [i] = i;
-
- // optionally sort
-
-// FIXME: canon xml demands xmlns nodes go first,
-// and sorting by URI first (empty first) then localname
-// it should maybe use a different sort
-
- if (canonical || prettyPrinting) {
-
- // insertion sort by attribute name
- for (int i = 1; i < indices.length; i++) {
- int n = indices [i], j;
- String s = atts.getQName (n);
-
- for (j = i - 1; j >= 0; j--) {
- if (s.compareTo (atts.getQName (indices [j]))
- >= 0)
- break;
- indices [j + 1] = indices [j];
- }
- indices [j + 1] = n;
- }
- }
-
- // write, sorted or no
- for (int i= 0; i < indices.length; i++) {
- String s = atts.getQName (indices [i]);
-
- if (s == null || "".equals (s))
- throw new IllegalArgumentException ("no XML name");
- rawWrite (" ");
- rawWrite (s);
- rawWrite ("=");
- writeQuotedValue (atts.getValue (indices [i]),
- CTX_ATTRIBUTE);
- }
- }
- if (isEmpty)
- rawWrite (" /");
- rawWrite ('>');
- }
-
- /**
- * <b>SAX2</b>: indicates the start of an element.
- * When XHTML is in use, avoid attribute values with
- * line breaks or multiple whitespace characters, since
- * not all user agents handle them correctly.
- */
- final public void startElement (
- String uri,
- String localName,
- String qName,
- Attributes atts
- ) throws SAXException
- {
- startedDoctype = false;
-
- if (locator == null)
- locator = new LocatorImpl ();
-
- if (qName == null || "".equals (qName))
- throw new IllegalArgumentException ("no XML name");
-
- try {
- if (entityNestLevel != 0)
- return;
- if (prettyPrinting) {
- String whitespace = null;
-
- if (xhtml && spacePreserve (qName))
- whitespace = "preserve";
- else if (atts != null)
- whitespace = atts.getValue ("xml:space");
- if (whitespace == null)
- whitespace = (String) space.peek ();
- space.push (whitespace);
-
- if ("default".equals (whitespace)) {
- if (xhtml) {
- if (spaceBefore (qName)) {
- newline ();
- doIndent ();
- } else if (indentBefore (qName))
- doIndent ();
- // else it's inlined, modulo line length
- // FIXME: incrementing element nest level
- // for inlined elements causes ugliness
- } else
- doIndent ();
- }
- }
- elementNestLevel++;
- writeStartTag (qName, atts, xhtml && isEmptyElementTag (qName));
-
- if (xhtml) {
-// FIXME: if this is an XHTML "pre" element, turn
-// off automatic wrapping.
- }
-
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /**
- * Writes an empty element.
- * @see #startElement
- */
- public void writeEmptyElement (
- String uri,
- String localName,
- String qName,
- Attributes atts
- ) throws SAXException
- {
- if (canonical) {
- startElement (uri, localName, qName, atts);
- endElement (uri, localName, qName);
- } else {
- try {
- writeStartTag (qName, atts, true);
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
- }
-
-
- /** <b>SAX2</b>: indicates the end of an element */
- final public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- if (qName == null || "".equals (qName))
- throw new IllegalArgumentException ("no XML name");
-
- try {
- elementNestLevel--;
- if (entityNestLevel != 0)
- return;
- if (xhtml && isEmptyElementTag (qName))
- return;
- rawWrite ("</");
- rawWrite (qName);
- rawWrite ('>');
-
- if (prettyPrinting) {
- if (!space.empty ())
- space.pop ();
- else
- fatal ("stack discipline", null);
- }
- if (elementNestLevel == 0)
- inEpilogue = true;
-
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX1</b>: reports content characters */
- final public void characters (char ch [], int start, int length)
- throws SAXException
- {
- if (locator == null)
- locator = new LocatorImpl ();
-
- try {
- if (entityNestLevel != 0)
- return;
- if (inCDATA) {
- escapeChars (ch, start, length, CTX_UNPARSED);
- } else {
- escapeChars (ch, start, length, CTX_CONTENT);
- }
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX1</b>: reports ignorable whitespace */
- final public void ignorableWhitespace (char ch [], int start, int length)
- throws SAXException
- {
- if (locator == null)
- locator = new LocatorImpl ();
-
- try {
- if (entityNestLevel != 0)
- return;
- // don't forget to map NL to CRLF, CR, etc
- escapeChars (ch, start, length, CTX_CONTENT);
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /**
- * <b>SAX1</b>: reports a PI.
- * This doesn't check for illegal target names, such as "xml" or "XML",
- * or namespace-incompatible ones like "big:dog"; the caller is
- * responsible for ensuring those names are legal.
- */
- final public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (locator == null)
- locator = new LocatorImpl ();
-
- // don't print internal subset for XHTML
- if (xhtml && startedDoctype)
- return;
-
- // ancient HTML browsers might render these ... their loss.
- // to prevent: "if (xhtml) return;".
-
- try {
- if (entityNestLevel != 0)
- return;
- if (canonical && inEpilogue)
- newline ();
- rawWrite ("<?");
- rawWrite (target);
- rawWrite (' ');
- escapeChars (data.toCharArray (), -1, -1, CTX_UNPARSED);
- rawWrite ("?>");
- if (elementNestLevel == 0 && !(canonical && inEpilogue))
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX1</b>: indicates a non-expanded entity reference */
- public void skippedEntity (String name)
- throws SAXException
- {
- try {
- rawWrite ("&");
- rawWrite (name);
- rawWrite (";");
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- // SAX2 LexicalHandler
-
- /** <b>SAX2</b>: called before parsing CDATA characters */
- final public void startCDATA ()
- throws SAXException
- {
- if (locator == null)
- locator = new LocatorImpl ();
-
- if (canonical)
- return;
-
- try {
- inCDATA = true;
- if (entityNestLevel == 0)
- rawWrite ("<![CDATA[");
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX2</b>: called after parsing CDATA characters */
- final public void endCDATA ()
- throws SAXException
- {
- if (canonical)
- return;
-
- try {
- inCDATA = false;
- if (entityNestLevel == 0)
- rawWrite ("]]>");
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /**
- * <b>SAX2</b>: called when the doctype is partially parsed
- * Note that this, like other doctype related calls, is ignored
- * when XHTML is in use.
- */
- final public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {
- if (locator == null)
- locator = new LocatorImpl ();
- if (xhtml)
- return;
- try {
- inDoctype = startedDoctype = true;
- if (canonical)
- return;
- rawWrite ("<!DOCTYPE ");
- rawWrite (name);
- rawWrite (' ');
-
- if (!expandingEntities) {
- if (publicId != null)
- rawWrite ("PUBLIC '" + publicId + "' '" + systemId + "' ");
- else if (systemId != null)
- rawWrite ("SYSTEM '" + systemId + "' ");
- }
-
- rawWrite ('[');
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX2</b>: called after the doctype is parsed */
- final public void endDTD ()
- throws SAXException
- {
- inDoctype = false;
- if (canonical || xhtml)
- return;
- try {
- rawWrite ("]>");
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /**
- * <b>SAX2</b>: called before parsing a general entity in content
- */
- final public void startEntity (String name)
- throws SAXException
- {
- try {
- boolean writeEOL = true;
-
- // Predefined XHTML entities (for characters) will get
- // mapped back later.
- if (xhtml || expandingEntities)
- return;
-
- entityNestLevel++;
- if (name.equals ("[dtd]"))
- return;
- if (entityNestLevel != 1)
- return;
- if (!name.startsWith ("%")) {
- writeEOL = false;
- rawWrite ('&');
- }
- rawWrite (name);
- rawWrite (';');
- if (writeEOL)
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /**
- * <b>SAX2</b>: called after parsing a general entity in content
- */
- final public void endEntity (String name)
- throws SAXException
- {
- if (xhtml || expandingEntities)
- return;
- entityNestLevel--;
- }
-
- /**
- * <b>SAX2</b>: called when comments are parsed.
- * When XHTML is used, the old HTML tradition of using comments
- * to for inline CSS, or for JavaScript code is discouraged.
- * This is because XML processors are encouraged to discard, on
- * the grounds that comments are for users (and perhaps text
- * editors) not programs. Instead, use external scripts
- */
- final public void comment (char ch [], int start, int length)
- throws SAXException
- {
- if (locator == null)
- locator = new LocatorImpl ();
-
- // don't print internal subset for XHTML
- if (xhtml && startedDoctype)
- return;
- // don't print comment in doctype for canon xml
- if (canonical && inDoctype)
- return;
-
- try {
- boolean indent;
-
- if (prettyPrinting && space.empty ())
- fatal ("stack discipline", null);
- indent = prettyPrinting && "default".equals (space.peek ());
- if (entityNestLevel != 0)
- return;
- if (indent)
- doIndent ();
- if (canonical && inEpilogue)
- newline ();
- rawWrite ("<!--");
- escapeChars (ch, start, length, CTX_UNPARSED);
- rawWrite ("-->");
- if (indent)
- doIndent ();
- if (elementNestLevel == 0 && !(canonical && inEpilogue))
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- // SAX1 DTDHandler
-
- /** <b>SAX1</b>: called on notation declarations */
- final public void notationDecl (String name,
- String publicId, String systemId)
- throws SAXException
- {
- if (xhtml)
- return;
- try {
- // At this time, only SAX2 callbacks start these.
- if (!startedDoctype)
- return;
-
- if (entityNestLevel != 0)
- return;
- rawWrite ("<!NOTATION " + name + " ");
- if (publicId != null)
- rawWrite ("PUBLIC \"" + publicId + '"');
- else
- rawWrite ("SYSTEM ");
- if (systemId != null)
- rawWrite ('"' + systemId + '"');
- rawWrite (">");
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX1</b>: called on unparsed entity declarations */
- final public void unparsedEntityDecl (String name,
- String publicId, String systemId,
- String notationName)
- throws SAXException
- {
- if (xhtml)
- return;
- try {
- // At this time, only SAX2 callbacks start these.
- if (!startedDoctype) {
- // FIXME: write to temporary buffer, and make the start
- // of the root element write these declarations.
- return;
- }
-
- if (entityNestLevel != 0)
- return;
- rawWrite ("<!ENTITY " + name + " ");
- if (publicId != null)
- rawWrite ("PUBLIC \"" + publicId + '"');
- else
- rawWrite ("SYSTEM ");
- rawWrite ('"' + systemId + '"');
- rawWrite (" NDATA " + notationName + ">");
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- // SAX2 DeclHandler
-
- /** <b>SAX2</b>: called on attribute declarations */
- final public void attributeDecl (String eName, String aName,
- String type, String mode, String value)
- throws SAXException
- {
- if (xhtml)
- return;
- try {
- // At this time, only SAX2 callbacks start these.
- if (!startedDoctype)
- return;
- if (entityNestLevel != 0)
- return;
- rawWrite ("<!ATTLIST " + eName + ' ' + aName + ' ');
- rawWrite (type);
- rawWrite (' ');
- if (mode != null)
- rawWrite (mode + ' ');
- if (value != null)
- writeQuotedValue (value, CTX_ATTRIBUTE);
- rawWrite ('>');
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX2</b>: called on element declarations */
- final public void elementDecl (String name, String model)
- throws SAXException
- {
- if (xhtml)
- return;
- try {
- // At this time, only SAX2 callbacks start these.
- if (!startedDoctype)
- return;
- if (entityNestLevel != 0)
- return;
- rawWrite ("<!ELEMENT " + name + ' ' + model + '>');
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX2</b>: called on external entity declarations */
- final public void externalEntityDecl (
- String name,
- String publicId,
- String systemId)
- throws SAXException
- {
- if (xhtml)
- return;
- try {
- // At this time, only SAX2 callbacks start these.
- if (!startedDoctype)
- return;
- if (entityNestLevel != 0)
- return;
- rawWrite ("<!ENTITY ");
- if (name.startsWith ("%")) {
- rawWrite ("% ");
- rawWrite (name.substring (1));
- } else
- rawWrite (name);
- if (publicId != null)
- rawWrite (" PUBLIC \"" + publicId + '"');
- else
- rawWrite (" SYSTEM ");
- rawWrite ('"' + systemId + "\">");
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- /** <b>SAX2</b>: called on internal entity declarations */
- final public void internalEntityDecl (String name, String value)
- throws SAXException
- {
- if (xhtml)
- return;
- try {
- // At this time, only SAX2 callbacks start these.
- if (!startedDoctype)
- return;
- if (entityNestLevel != 0)
- return;
- rawWrite ("<!ENTITY ");
- if (name.startsWith ("%")) {
- rawWrite ("% ");
- rawWrite (name.substring (1));
- } else
- rawWrite (name);
- rawWrite (' ');
- writeQuotedValue (value, CTX_ENTITY);
- rawWrite ('>');
- newline ();
- } catch (IOException e) {
- fatal ("can't write", e);
- }
- }
-
- private void writeQuotedValue (String value, int code)
- throws SAXException, IOException
- {
- char buf [] = value.toCharArray ();
- int off = 0, len = buf.length;
-
- // we can't add line breaks to attribute/entity/... values
- noWrap = true;
- rawWrite ('"');
- escapeChars (buf, off, len, code);
- rawWrite ('"');
- noWrap = false;
- }
-
- // From "HTMLlat1x.ent" ... names of entities for ISO-8859-1
- // (Latin/1) characters, all codes: 160-255 (0xA0-0xFF).
- // Codes 128-159 have no assigned values.
- private static final String HTMLlat1x [] = {
- // 160
- "nbsp", "iexcl", "cent", "pound", "curren",
- "yen", "brvbar", "sect", "uml", "copy",
-
- // 170
- "ordf", "laquo", "not", "shy", "reg",
- "macr", "deg", "plusmn", "sup2", "sup3",
-
- // 180
- "acute", "micro", "para", "middot", "cedil",
- "sup1", "ordm", "raquo", "frac14", "frac12",
-
- // 190
- "frac34", "iquest", "Agrave", "Aacute", "Acirc",
- "Atilde", "Auml", "Aring", "AElig", "Ccedil",
-
- // 200
- "Egrave", "Eacute", "Ecirc", "Euml", "Igrave",
- "Iacute", "Icirc", "Iuml", "ETH", "Ntilde",
-
- // 210
- "Ograve", "Oacute", "Ocirc", "Otilde", "Ouml",
- "times", "Oslash", "Ugrave", "Uacute", "Ucirc",
-
- // 220
- "Uuml", "Yacute", "THORN", "szlig", "agrave",
- "aacute", "acirc", "atilde", "auml", "aring",
-
- // 230
- "aelig", "ccedil", "egrave", "eacute", "ecirc",
- "euml", "igrave", "iacute", "icirc", "iuml",
-
- // 240
- "eth", "ntilde", "ograve", "oacute", "ocirc",
- "otilde", "ouml", "divide", "oslash", "ugrave",
-
- // 250
- "uacute", "ucirc", "uuml", "yacute", "thorn",
- "yuml"
- };
-
- // From "HTMLsymbolx.ent" ... some of the symbols that
- // we can conveniently handle. Entities for the Greek.
- // alphabet (upper and lower cases) are compact.
- private static final String HTMLsymbolx_GR [] = {
- // 913
- "Alpha", "Beta", "Gamma", "Delta", "Epsilon",
- "Zeta", "Eta", "Theta", "Iota", "Kappa",
-
- // 923
- "Lambda", "Mu", "Nu", "Xi", "Omicron",
- "Pi", "Rho", null, "Sigma", "Tau",
-
- // 933
- "Upsilon", "Phi", "Chi", "Psi", "Omega"
- };
-
- private static final String HTMLsymbolx_gr [] = {
- // 945
- "alpha", "beta", "gamma", "delta", "epsilon",
- "zeta", "eta", "theta", "iota", "kappa",
-
- // 955
- "lambda", "mu", "nu", "xi", "omicron",
- "pi", "rho", "sigmaf", "sigma", "tau",
-
- // 965
- "upsilon", "phi", "chi", "psi", "omega"
- };
-
-
- // General routine to write text and substitute predefined
- // entities (XML, and a special case for XHTML) as needed.
- private void escapeChars (char buf [], int off, int len, int code)
- throws SAXException, IOException
- {
- int first = 0;
-
- if (off < 0) {
- off = 0;
- len = buf.length;
- }
- for (int i = 0; i < len; i++) {
- String esc;
- char c = buf [off + i];
-
- switch (c) {
- // Note that CTX_ATTRIBUTE isn't explicitly tested here;
- // all syntax delimiters are escaped in CTX_ATTRIBUTE,
- // otherwise it's similar to CTX_CONTENT
-
- // ampersand flags entity references; entity replacement
- // text has unexpanded references, other text doesn't.
- case '&':
- if (code == CTX_ENTITY || code == CTX_UNPARSED)
- continue;
- esc = "amp";
- break;
-
- // attributes and text may NOT have literal '<', but
- // entities may have markup constructs
- case '<':
- if (code == CTX_ENTITY || code == CTX_UNPARSED)
- continue;
- esc = "lt";
- break;
-
- // as above re markup constructs; but otherwise
- // except when canonicalizing, this is for consistency
- case '>':
- if (code == CTX_ENTITY || code == CTX_UNPARSED)
- continue;
- esc = "gt";
- break;
- case '\'':
- if (code == CTX_CONTENT || code == CTX_UNPARSED)
- continue;
- if (canonical)
- continue;
- esc = "apos";
- break;
-
- // needed when printing quoted attribute/entity values
- case '"':
- if (code == CTX_CONTENT || code == CTX_UNPARSED)
- continue;
- esc = "quot";
- break;
-
- // make line ends work per host OS convention
- case '\n':
- esc = eol;
- break;
-
- //
- // No other characters NEED special treatment ... except
- // for encoding-specific issues, like whether the character
- // can really be represented in that encoding.
- //
- default:
- //
- // There are characters we can never write safely; getting
- // them is an error.
- //
- // (a) They're never legal in XML ... detected by range
- // checks, and (eventually) by remerging surrogate
- // pairs on output. (Easy error for apps to prevent.)
- //
- // (b) This encoding can't represent them, and we
- // can't make reference substitution (e.g. inside
- // CDATA sections, names, PI data, etc). (Hard for
- // apps to prevent, except by using UTF-8 or UTF-16
- // as their output encoding.)
- //
- // We know a very little bit about what characters
- // the US-ASCII and ISO-8859-1 encodings support. For
- // other encodings we can't detect the second type of
- // error at all. (Never an issue for UTF-8 or UTF-16.)
- //
-
-// FIXME: CR in CDATA is an error; in text, turn to a char ref
-
-// FIXME: CR/LF/TAB in attributes should become char refs
-
- if ((c > 0xfffd)
- || ((c < 0x0020) && !((c == 0x0009)
- || (c == 0x000A) || (c == 0x000D)))
- || (((c & dangerMask) != 0)
- && (code == CTX_UNPARSED))) {
-
- // if case (b) in CDATA, we might end the section,
- // write a reference, then restart ... possible
- // in one DOM L3 draft.
-
- throw new CharConversionException (
- "Illegal or non-writable character: U+"
- + Integer.toHexString (c));
- }
-
- //
- // If the output encoding represents the character
- // directly, let it do so! Else we'll escape it.
- //
- if ((c & dangerMask) == 0)
- continue;
- esc = null;
-
- // Avoid numeric refs where symbolic ones exist, as
- // symbolic ones make more sense to humans reading!
- if (xhtml) {
- // all the HTMLlat1x.ent entities
- // (all the "ISO-8859-1" characters)
- if (c >= 160 && c <= 255)
- esc = HTMLlat1x [c - 160];
-
- // not quite half the HTMLsymbolx.ent entities
- else if (c >= 913 && c <= 937)
- esc = HTMLsymbolx_GR [c - 913];
- else if (c >= 945 && c <= 969)
- esc = HTMLsymbolx_gr [c - 945];
-
- else switch (c) {
- // all of the HTMLspecialx.ent entities
- case 338: esc = "OElig"; break;
- case 339: esc = "oelig"; break;
- case 352: esc = "Scaron"; break;
- case 353: esc = "scaron"; break;
- case 376: esc = "Yuml"; break;
- case 710: esc = "circ"; break;
- case 732: esc = "tilde"; break;
- case 8194: esc = "ensp"; break;
- case 8195: esc = "emsp"; break;
- case 8201: esc = "thinsp"; break;
- case 8204: esc = "zwnj"; break;
- case 8205: esc = "zwj"; break;
- case 8206: esc = "lrm"; break;
- case 8207: esc = "rlm"; break;
- case 8211: esc = "ndash"; break;
- case 8212: esc = "mdash"; break;
- case 8216: esc = "lsquo"; break;
- case 8217: esc = "rsquo"; break;
- case 8218: esc = "sbquo"; break;
- case 8220: esc = "ldquo"; break;
- case 8221: esc = "rdquo"; break;
- case 8222: esc = "bdquo"; break;
- case 8224: esc = "dagger"; break;
- case 8225: esc = "Dagger"; break;
- case 8240: esc = "permil"; break;
- case 8249: esc = "lsaquo"; break;
- case 8250: esc = "rsaquo"; break;
- case 8364: esc = "euro"; break;
-
- // the other HTMLsymbox.ent entities
- case 402: esc = "fnof"; break;
- case 977: esc = "thetasym"; break;
- case 978: esc = "upsih"; break;
- case 982: esc = "piv"; break;
- case 8226: esc = "bull"; break;
- case 8230: esc = "hellip"; break;
- case 8242: esc = "prime"; break;
- case 8243: esc = "Prime"; break;
- case 8254: esc = "oline"; break;
- case 8260: esc = "frasl"; break;
- case 8472: esc = "weierp"; break;
- case 8465: esc = "image"; break;
- case 8476: esc = "real"; break;
- case 8482: esc = "trade"; break;
- case 8501: esc = "alefsym"; break;
- case 8592: esc = "larr"; break;
- case 8593: esc = "uarr"; break;
- case 8594: esc = "rarr"; break;
- case 8595: esc = "darr"; break;
- case 8596: esc = "harr"; break;
- case 8629: esc = "crarr"; break;
- case 8656: esc = "lArr"; break;
- case 8657: esc = "uArr"; break;
- case 8658: esc = "rArr"; break;
- case 8659: esc = "dArr"; break;
- case 8660: esc = "hArr"; break;
- case 8704: esc = "forall"; break;
- case 8706: esc = "part"; break;
- case 8707: esc = "exist"; break;
- case 8709: esc = "empty"; break;
- case 8711: esc = "nabla"; break;
- case 8712: esc = "isin"; break;
- case 8713: esc = "notin"; break;
- case 8715: esc = "ni"; break;
- case 8719: esc = "prod"; break;
- case 8721: esc = "sum"; break;
- case 8722: esc = "minus"; break;
- case 8727: esc = "lowast"; break;
- case 8730: esc = "radic"; break;
- case 8733: esc = "prop"; break;
- case 8734: esc = "infin"; break;
- case 8736: esc = "ang"; break;
- case 8743: esc = "and"; break;
- case 8744: esc = "or"; break;
- case 8745: esc = "cap"; break;
- case 8746: esc = "cup"; break;
- case 8747: esc = "int"; break;
- case 8756: esc = "there4"; break;
- case 8764: esc = "sim"; break;
- case 8773: esc = "cong"; break;
- case 8776: esc = "asymp"; break;
- case 8800: esc = "ne"; break;
- case 8801: esc = "equiv"; break;
- case 8804: esc = "le"; break;
- case 8805: esc = "ge"; break;
- case 8834: esc = "sub"; break;
- case 8835: esc = "sup"; break;
- case 8836: esc = "nsub"; break;
- case 8838: esc = "sube"; break;
- case 8839: esc = "supe"; break;
- case 8853: esc = "oplus"; break;
- case 8855: esc = "otimes"; break;
- case 8869: esc = "perp"; break;
- case 8901: esc = "sdot"; break;
- case 8968: esc = "lceil"; break;
- case 8969: esc = "rceil"; break;
- case 8970: esc = "lfloor"; break;
- case 8971: esc = "rfloor"; break;
- case 9001: esc = "lang"; break;
- case 9002: esc = "rang"; break;
- case 9674: esc = "loz"; break;
- case 9824: esc = "spades"; break;
- case 9827: esc = "clubs"; break;
- case 9829: esc = "hearts"; break;
- case 9830: esc = "diams"; break;
- }
- }
-
- // else escape with numeric char refs
- if (esc == null) {
- stringBuf.setLength (0);
- stringBuf.append ("#x");
- stringBuf.append (Integer.toHexString (c).toUpperCase ());
- esc = stringBuf.toString ();
-
- // FIXME: We don't write surrogate pairs correctly.
- // They should work as one ref per character, since
- // each pair is one character. For reading back into
- // Unicode, it matters beginning in Unicode 3.1 ...
- }
- break;
- }
- if (i != first)
- rawWrite (buf, off + first, i - first);
- first = i + 1;
- if (esc == eol)
- newline ();
- else {
- rawWrite ('&');
- rawWrite (esc);
- rawWrite (';');
- }
- }
- if (first < len)
- rawWrite (buf, off + first, len - first);
- }
-
-
-
- private void newline ()
- throws SAXException, IOException
- {
- out.write (eol);
- column = 0;
- }
-
- private void doIndent ()
- throws SAXException, IOException
- {
- int space = elementNestLevel * 2;
-
- newline ();
- column = space;
- // track tabs only at line starts
- while (space > 8) {
- out.write ("\t");
- space -= 8;
- }
- while (space > 0) {
- out.write (" ");
- space -= 2;
- }
- }
-
- private void rawWrite (char c)
- throws IOException
- {
- out.write (c);
- column++;
- }
-
- private void rawWrite (String s)
- throws SAXException, IOException
- {
- if (prettyPrinting && "default".equals (space.peek ())) {
- char data [] = s.toCharArray ();
- rawWrite (data, 0, data.length);
- } else {
- out.write (s);
- column += s.length ();
- }
- }
-
- // NOTE: if xhtml, the REC gives some rules about whitespace
- // which we could follow ... notably, many places where conformant
- // agents "must" consolidate/normalize whitespace. Line ends can
- // be removed there, etc. This may not be the right place to do
- // such mappings though.
-
- // Line buffering may help clarify algorithms and improve results.
-
- // It's likely xml:space needs more attention.
-
- private void rawWrite (char buf [], int offset, int length)
- throws SAXException, IOException
- {
- boolean wrap;
-
- if (prettyPrinting && space.empty ())
- fatal ("stack discipline", null);
-
- wrap = prettyPrinting && "default".equals (space.peek ());
- if (!wrap) {
- out.write (buf, offset, length);
- column += length;
- return;
- }
-
- // we're pretty printing and want to fill lines out only
- // to the desired line length.
- while (length > 0) {
- int target = lineLength - column;
- boolean wrote = false;
-
- // Do we even have a problem?
- if (target > length || noWrap) {
- out.write (buf, offset, length);
- column += length;
- return;
- }
-
- // break the line at a space character, trying to fill
- // as much of the line as possible.
- char c;
-
- for (int i = target - 1; i >= 0; i--) {
- if ((c = buf [offset + i]) == ' ' || c == '\t') {
- i++;
- out.write (buf, offset, i);
- doIndent ();
- offset += i;
- length -= i;
- wrote = true;
- break;
- }
- }
- if (wrote)
- continue;
-
- // no space character permitting break before target
- // line length is filled. So, take the next one.
- if (target < 0)
- target = 0;
- for (int i = target; i < length; i++)
- if ((c = buf [offset + i]) == ' ' || c == '\t') {
- i++;
- out.write (buf, offset, i);
- doIndent ();
- offset += i;
- length -= i;
- wrote = true;
- break;
- }
- if (wrote)
- continue;
-
- // no such luck.
- out.write (buf, offset, length);
- column += length;
- break;
- }
- }
-}
diff --git a/external/jaxp/source/gnu/xml/util/package.html b/external/jaxp/source/gnu/xml/util/package.html
deleted file mode 100644
index 5c5736bff..000000000
--- a/external/jaxp/source/gnu/xml/util/package.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html PUBLIC
- "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd">
-
-<html><head><title> org.brownell.xml package </title> </head>
-<!--
-/*
- * Copyright (c) 1999-2000 by David Brownell.
- *
- * $Id: package.html,v 1.2 2004-05-01 16:18:51 mark Exp $
- */
--->
-<body>
- <p> This package contains XML utilities, including SAX2 XML writers
- and a parser of DOM trees, plus a command line driver.
- That <a href="DoParse.html">driver</a>
- connects parsers simple processing pipelines.
- It can be handy for command line validation or
- transformation tasks, possibly in batch mode,
- or within Makefiles. </p>
-
-</body></html>
diff --git a/external/jaxp/source/javax/xml/parsers/ClassStuff.java b/external/jaxp/source/javax/xml/parsers/ClassStuff.java
deleted file mode 100644
index 6c8d9dca2..000000000
--- a/external/jaxp/source/javax/xml/parsers/ClassStuff.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * $Id: ClassStuff.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.lang.reflect.Method;
-import java.util.Properties;
-
-
-// $Id: ClassStuff.java,v 1.2 2004-05-01 16:18:51 mark Exp $
-
-/**
- * Package-private utility methods for sharing
- * magic related to class loading.
- * NOTE: This is cloned in javax.xml.transform,
- * where a different exception is thrown (bleech).
- * Keep changes to the two copies in sync.
- *
- * @author David Brownell
- * @version $Id: ClassStuff.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- */
-final class ClassStuff
-{
- private ClassStuff () { }
-
- /**
- * Get the default factory using the four-stage defaulting
- * mechanism defined by JAXP.
- */
- static Object
- createFactory (String label, String defaultClass)
- throws FactoryConfigurationError
- {
- String name = null;
- ClassLoader loader = null;
-
- // figure out which class loader to use.
- // source compiles on jdk 1.1, but works with jdk 1.2+ security
- try {
- Method m = null;
-
- // Can we use JDK 1.2 APIs? Preferred: security policies apply.
- m = Thread.class.getMethod ("getContextClassLoader", null);
- loader = (ClassLoader) m.invoke (Thread.currentThread(), null);
- } catch (NoSuchMethodException e) {
- // Assume that we are running JDK 1.1; use current ClassLoader
- loader = ClassStuff.class.getClassLoader();
- } catch (NoSuchMethodError e) {
- // evidently IE does this (one of its bugs)
- loader = ClassStuff.class.getClassLoader();
- } catch (Throwable e) {
- // "should not happen"
- throw new UnknownError (e.getMessage());
- }
-
- // 1. Check System Property
- // ... normally fails in applet environments
- try { name = System.getProperty (label);
- } catch (SecurityException e) { /* IGNORE */ }
-
- // 2. Check in $JAVA_HOME/lib/jaxp.properties
- try {
- if (name == null) {
- String javaHome;
- File file;
-
- javaHome = System.getProperty ("java.home");
- file = new File (new File (javaHome, "lib"), "jaxp.properties");
- if (file.exists() == true) {
- FileInputStream in = new FileInputStream (file);
- Properties props = new Properties();
-
- props.load (in);
- name = props.getProperty (label);
- in.close ();
- }
- }
- } catch (Exception e) { /* IGNORE */ }
-
- // 3. Check Services API
- if (name == null) {
- try {
- String service = "META-INF/services/" + label;
- InputStream in;
- BufferedReader reader;
-
- if (loader == null)
- in = ClassLoader.getSystemResourceAsStream (service);
- else
- in = loader.getResourceAsStream (service);
- if (in != null) {
- reader = new BufferedReader (
- new InputStreamReader (in, "UTF8"));
- name = reader.readLine();
- in.close ();
- }
- } catch (Exception e2) { /* IGNORE */ }
- }
-
- // 4. Distro-specific fallback
- if (name == null)
- name = defaultClass;
-
- // Instantiate!
- try {
- Class klass;
-
- if (loader == null)
- klass = Class.forName (name);
- else
- klass = loader.loadClass (name);
- return klass.newInstance ();
-
- } catch (ClassNotFoundException e) {
- throw new FactoryConfigurationError (e,
- "Factory class " + name
- + " not found");
- } catch (IllegalAccessException e) {
- throw new FactoryConfigurationError (e,
- "Factory class " + name
- + " found but cannot be loaded");
- } catch (InstantiationException e) {
- throw new FactoryConfigurationError (e,
- "Factory class " + name
- + " loaded but cannot be instantiated"
- + " ((no default constructor?)");
- }
- }
-}
diff --git a/external/jaxp/source/javax/xml/parsers/DocumentBuilder.java b/external/jaxp/source/javax/xml/parsers/DocumentBuilder.java
deleted file mode 100644
index 0b4665943..000000000
--- a/external/jaxp/source/javax/xml/parsers/DocumentBuilder.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * $Id: DocumentBuilder.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-// Imports
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.IOException;
-// import java.net.*;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-
-/**
- * Uses an XML parser to construct a DOM document.
- * @author Andrew Selkirk, David Brownell
- * @version $Id: DocumentBuilder.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- */
-public abstract class DocumentBuilder
-{
- /** Only subclasses may use the constructor. */
- protected DocumentBuilder() { }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public abstract DOMImplementation getDOMImplementation ();
-
- public abstract boolean isNamespaceAware();
-
- public abstract boolean isValidating();
-
- public abstract Document newDocument();
-
- // we don't demand jdk 1.2 File.toURL() in the runtime
- // keep in sync with gnu.xml.util.Resolver
- // and javax.xml.transform.stream.StreamSource
- static String fileToURL (File f)
- throws IOException
- {
- String temp;
-
- // FIXME: getAbsolutePath() seems buggy; I'm seeing components
- // like "/foo/../" which are clearly not "absolute"
- // and should have been resolved with the filesystem.
-
- // Substituting "/" would be wrong, "foo" may have been
- // symlinked ... the URL code will make that change
- // later, so that things can get _really_ broken!
-
- temp = f.getAbsolutePath ();
-
- if (File.separatorChar != '/')
- temp = temp.replace (File.separatorChar, '/');
- if (!temp.startsWith ("/"))
- temp = "/" + temp;
- if (!temp.endsWith ("/") && f.isDirectory ())
- temp = temp + "/";
- return "file:" + temp;
- }
-
- /**
- * Constructs an InputSource from the file, and invokes parse ().
- * The InputSource includes the URI for the file.
- * @param file the file to parse
- * @return the DOM representation of the xml document
- * @exception IOException
- * @exception SAXException if parse errors occur
- * @exception IllegalArgumentException if the file is null
- */
- public Document parse (File file)
- throws SAXException, IOException
- {
- if (file==null)
- {
- throw new IllegalArgumentException("File si 'null'");
- }
- InputSource source;
-
- source = new InputSource (fileToURL (file));
- source.setByteStream (new FileInputStream(file));
- return parse (source);
- }
-
- /**
- *
- * @exception IllegalArgumentException if InputSource is null
- */
- public abstract Document parse(InputSource source)
- throws SAXException, IOException;
-
- /**
- * Avoid using this call; provide the system ID wherever possible.
- * System IDs are essential when parsers resolve relative URIs,
- * or provide diagnostics.
- * @exception IllegalArgumentException if InputStream is null
- */
- public Document parse(InputStream stream)
- throws SAXException, IOException {
- if (stream==null)
- {
- throw new IllegalArgumentException("InputStream si 'null'");
- }
- return parse(new InputSource(stream));
- } // parse()
-
- /**
- *
- * @exception IllegalArgumentException if InputStream is null
- */
- public Document parse(InputStream stream, String systemID)
- throws SAXException, IOException {
-
- if (stream==null)
- {
- throw new IllegalArgumentException("InputStream si 'null'");
- }
- // Variables
- InputSource source;
-
- // Create Source
- source = new InputSource(stream);
- source.setSystemId(systemID);
-
- // Parse Input Source
- return parse(source);
-
- } // parse()
-
- /**
- *
- * @exception IllegalArgumentException if the URI is null
- */
- public Document parse(String uri)
- throws SAXException, IOException {
- if (uri==null)
- {
- throw new IllegalArgumentException("URI si 'null'");
- }
- return parse(new InputSource(uri));
- } // parse()
-
- public abstract void setEntityResolver(EntityResolver resolver);
-
- public abstract void setErrorHandler(ErrorHandler handler);
-}
diff --git a/external/jaxp/source/javax/xml/parsers/DocumentBuilderFactory.java b/external/jaxp/source/javax/xml/parsers/DocumentBuilderFactory.java
deleted file mode 100644
index f13b02bf0..000000000
--- a/external/jaxp/source/javax/xml/parsers/DocumentBuilderFactory.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * $Id: DocumentBuilderFactory.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-// Imports
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.File;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Properties;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-/**
- * DocumentBuilderFactory is used to resolve the problem that the
- * W3C DOM APIs don't include portable bootstrapping.
- *
- * @author Andrew Selkirk, David Brownell
- * @version $Id: DocumentBuilderFactory.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- */
-public abstract class DocumentBuilderFactory {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- private static final String defaultPropName =
- "javax.xml.parsers.DocumentBuilderFactory";
-
- private boolean validating = false;
- private boolean namespaceAware = false;
- private boolean whitespace = false;
- private boolean expandEntityRef = false;
- private boolean ignoreComments = false;
- private boolean coalescing = false;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- protected DocumentBuilderFactory() {
- } // DocumentBuilderFactory()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * @exception IllegalArgumentException if implementation doesn't recognize the attribute
- */
- public abstract Object getAttribute(String name)
- throws IllegalArgumentException;
-
- public boolean isCoalescing() {
- return coalescing;
- } // isCoalescing()
-
- public boolean isExpandEntityReferences() {
- return expandEntityRef;
- } // isExpandEntityReferences()
-
- public boolean isIgnoringComments() {
- return ignoreComments;
- } // isIgnoringComments()
-
- public boolean isIgnoringElementContentWhitespace() {
- return whitespace;
- } // isIgnoringElementContentWhitespace()
-
- public boolean isNamespaceAware() {
- return namespaceAware;
- } // isNamespaceAware()
-
- public boolean isValidating() {
- return validating;
- } // isValidating()
-
- public abstract DocumentBuilder newDocumentBuilder()
- throws ParserConfigurationException;
-
- /**
- * @exception FactoryConfigurationError if the implementation is not available
- */
- public static DocumentBuilderFactory newInstance() {
- try {
- return (DocumentBuilderFactory)
- ClassStuff.createFactory (
- defaultPropName,
- "gnu.xml.dom.JAXPFactory");
- } catch (ClassCastException e) {
- throw new FactoryConfigurationError (e,
- "Factory class is the wrong type");
- }
- }
-
- /**
- * @exception IllegalArgumentException if implementation doesn't recognize the attribute
- */
- public abstract void setAttribute(String name, Object value)
- throws IllegalArgumentException;
-
- public void setCoalescing(boolean value) {
- coalescing = value;
- } // setCoalescing()
-
- public void setExpandEntityReferences(boolean value) {
- expandEntityRef = value;
- } // setExpandEntityReferences()
-
- public void setIgnoringComments(boolean value) {
- ignoreComments = value;
- } // setIgnoringComments()
-
- public void setIgnoringElementContentWhitespace(boolean value) {
- whitespace = value;
- } // setIgnoringElementContentWhitespace()
-
- public void setNamespaceAware(boolean value) {
- namespaceAware = value;
- } // setNamespaceAware()
-
- public void setValidating(boolean value) {
- validating = value;
- } // setValidating()
-}
diff --git a/external/jaxp/source/javax/xml/parsers/FactoryConfigurationError.java b/external/jaxp/source/javax/xml/parsers/FactoryConfigurationError.java
deleted file mode 100644
index 4438e19c0..000000000
--- a/external/jaxp/source/javax/xml/parsers/FactoryConfigurationError.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * $Id: FactoryConfigurationError.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-/**
- * FactoryConfigurationError
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class FactoryConfigurationError extends Error {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- private Exception exception = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
- public FactoryConfigurationError() {
- super();
- } // FactoryConfigurationError()
-
- public FactoryConfigurationError(String msg) {
- super(msg);
- } // FactoryConfigurationError()
-
- public FactoryConfigurationError(Exception ex) {
- super();
- exception = ex;
- } // FactoryConfigurationError()
-
- public FactoryConfigurationError(Exception ex, String msg) {
- super(msg);
- exception = ex;
- } // FactoryConfigurationError()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public String getMessage() {
- return super.getMessage();
- } // getMessage()
-
- public Exception getException() {
- return exception;
- } // getException()
-
-
-} // FactoryConfigurationError
-
-
diff --git a/external/jaxp/source/javax/xml/parsers/ParserConfigurationException.java b/external/jaxp/source/javax/xml/parsers/ParserConfigurationException.java
deleted file mode 100644
index e34c03ca7..000000000
--- a/external/jaxp/source/javax/xml/parsers/ParserConfigurationException.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * $Id: ParserConfigurationException.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-/**
- * ParserConfigurationException
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class ParserConfigurationException extends Exception {
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public ParserConfigurationException() {
- super();
- } // ParserConfigurationException()
-
- public ParserConfigurationException(String message) {
- super(message);
- } // ParserConfigurationException()
-
-
-} // ParserConfigurationException
-
diff --git a/external/jaxp/source/javax/xml/parsers/SAXParser.java b/external/jaxp/source/javax/xml/parsers/SAXParser.java
deleted file mode 100644
index b5b53989b..000000000
--- a/external/jaxp/source/javax/xml/parsers/SAXParser.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * $Id: SAXParser.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-// Imports
-import java.io.*;
-import java.net.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * Wraps a SAX2 (or SAX1) parser.
- *
- * <p>Note that parsing with methods on this interface requires use of one
- * of the optional SAX base classes. It's usually preferable to use the
- * SAX parser APIs directly. SAX gives much more flexibility about how
- * application classes are organized, and about how the document entity is
- * packaged for delivery to the parser. And JAXP doesn't otherwise provide
- * access to the SAX2 extension handlers for lexical or declaration events.
- *
- * @author Andrew Selkirk
- * @author David Brownell
- * @version 1.0
- */
-public abstract class SAXParser
-{
- /** Only subclasses may use the constructor. */
- protected SAXParser() { }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public abstract void setProperty (String id, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
- public abstract Object getProperty (String id)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
- /**
- * Parse using (deprecated) SAX1 style handlers,
- * and a byte stream (with no URI).
- * Avoid using this API, since relative URIs in the document need
- * to be resolved against the document entity's URI, and good
- * diagnostics also need that URI.
- * @exception IllegalArgumentException if InputStream is null
- */
- public void parse(InputStream stream, HandlerBase handler)
- throws SAXException, IOException
- { parse (new InputSource (stream), handler); }
-
- /**
- * Parse using (deprecated) SAX1 style handlers,
- * and a byte stream with a specified URI.
- * @exception IllegalArgumentException if InputStream is null
- */
- public void parse (
- InputStream stream,
- HandlerBase handler,
- String systemID
- ) throws SAXException, IOException
- {
- if(stream==null)
- {
- throw new IllegalArgumentException("InputStream is 'null'");
- }
- InputSource source;
-
- // Prepare Source
- source = new InputSource(stream);
- source.setSystemId(systemID);
-
- parse(source, handler);
-
- }
-
- /**
- * Parse using SAX2 style handlers,
- * and a byte stream (with no URI).
- * Avoid using this API, since relative URIs in the document need
- * to be resolved against the document entity's URI, and good
- * diagnostics also need that URI.
- * @exception IllegalArgumentException if InputStream is null
- */
- public void parse(InputStream stream, DefaultHandler def)
- throws SAXException, IOException
- {
- if(stream==null)
- {
- throw new IllegalArgumentException("InputStream is 'null'");
- }
- parse (new InputSource (stream), def);
- }
-
- /**
- * Parse using SAX2 style handlers,
- * and a byte stream with a specified URI.
- * @exception IllegalArgumentException if InputStream is null
- */
- public void parse (
- InputStream stream,
- DefaultHandler def,
- String systemID
- ) throws SAXException, IOException
- {
- if(stream==null)
- {
- throw new IllegalArgumentException("InputStream is 'null'");
- }
- InputSource source;
-
- // Prepare Source
- source = new InputSource(stream);
- source.setSystemId(systemID);
-
- parse(source, def);
-
- }
-
- /**
- * Parse using (deprecated) SAX1 style handlers,
- * and a URI for the document entity.
- * @exception IllegalArgumentException if URI is null
- */
- public void parse(String uri, HandlerBase handler)
- throws SAXException, IOException
- {
- if(uri==null)
- {
- throw new IllegalArgumentException("URI is 'null'");
- }
- parse (new InputSource (uri), handler);
- }
-
- /**
- * Parse using SAX2 style handlers,
- * and a URI for the document entity.
- * @exception IllegalArgumentException if URI is null
- */
- public void parse(String uri, DefaultHandler def)
- throws SAXException, IOException
- {
- if(uri==null)
- {
- throw new IllegalArgumentException("URI is 'null'");
- }
- parse (new InputSource (uri), def);
- }
-
- /**
- * Parse using (deprecated) SAX1 style handlers,
- * turning a file name into the document URI.
- * @exception IllegalArgumentException if file is null
- */
- public void parse(File file, HandlerBase handler)
- throws SAXException, IOException
- {
- if(file==null)
- {
- throw new IllegalArgumentException("The file is 'null'");
- }
- InputSource in;
-
- in = new InputSource (DocumentBuilder.fileToURL (file));
- parse (in, handler);
- }
-
- /**
- * Parse using SAX2 style handlers,
- * turning a file name into the document URI.
- * @exception IllegalArgumentException if file is null
- */
- public void parse(File file, DefaultHandler def)
- throws SAXException, IOException
- {
- if(file==null)
- {
- throw new IllegalArgumentException("The file is 'null'");
- }
- InputSource in;
-
- in = new InputSource (DocumentBuilder.fileToURL (file));
- parse (in, def);
- }
-
- /**
- * Parse using (deprecated) SAX1 style handlers.
- * @exception IllegalArgumentException if InputSource is null
- */
- public void parse(InputSource source, HandlerBase handler)
- throws SAXException, IOException
- {
- if(source==null)
- {
- throw new IllegalArgumentException("The InputSource is 'null'");
- }
- Parser parser;
-
- // Prepare Parser
- parser = getParser();
- parser.setDocumentHandler(handler);
- parser.setDTDHandler(handler);
- parser.setEntityResolver(handler);
- parser.setErrorHandler(handler);
-
- // Parse
- parser.parse(source);
-
- }
-
- /**
- * Parse using SAX2 style handlers.
- * @exception IllegalArgumentException if InputSource is null
- */
- public void parse(InputSource source, DefaultHandler def)
- throws SAXException, IOException
- {
- if(source==null)
- {
- throw new IllegalArgumentException("The InputSource is 'null'");
- }
- XMLReader reader;
-
- // Prepare XML Reader
- reader = getXMLReader();
- reader.setContentHandler(def);
- reader.setDTDHandler(def);
- reader.setEntityResolver(def);
- reader.setErrorHandler(def);
-
- // NOTE: this should NOT understand the
- // extension handlers (lexical, decl).
-
- reader.parse(source);
- }
-
- /**
- * Get a (deprecated) SAX1 driver for the underlying parser.
- */
- public abstract Parser getParser() throws SAXException;
-
- /**
- * Get a SAX2 driver for the underlying parser.
- * @since 1.1
- */
- public abstract XMLReader getXMLReader() throws SAXException;
-
- public abstract boolean isNamespaceAware();
-
- public abstract boolean isValidating();
-}
diff --git a/external/jaxp/source/javax/xml/parsers/SAXParserFactory.java b/external/jaxp/source/javax/xml/parsers/SAXParserFactory.java
deleted file mode 100644
index c6a47bbb8..000000000
--- a/external/jaxp/source/javax/xml/parsers/SAXParserFactory.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * $Id: SAXParserFactory.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.parsers;
-
-// Imports
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.File;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Properties;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-/**
- * SAXParserFactory is used to bootstrap JAXP wrappers for
- * SAX parsers.
- *
- * <para> Note that the JAXP 1.1 spec does not specify how
- * the <em>isValidating()</em> or <em>isNamespaceAware()</em>
- * flags relate to the SAX2 feature flags controlling those
- * same features.
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-
-public abstract class SAXParserFactory {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- private static final String defaultPropName =
- "javax.xml.parsers.SAXParserFactory";
-
- private boolean validating = false;
- private boolean namespaceAware = false;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- protected SAXParserFactory() {
- } // SAXParserFactory()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public static SAXParserFactory newInstance() {
- try {
- return (SAXParserFactory)
- ClassStuff.createFactory (
- defaultPropName,
- "gnu.xml.aelfred2.JAXPFactory");
- } catch (ClassCastException e) {
- throw new FactoryConfigurationError (e,
- "Factory class is the wrong type");
- }
- }
-
- /**
- * Returns a new instance of a SAXParser using the platform
- * default implementation and the currently specified factory
- * feature flag settings.
- *
- * @exception ParserConfigurationException
- * when the parameter combination is not supported
- * @exception SAXNotRecognizedException
- * if one of the specified SAX2 feature flags is not recognized
- * @exception SAXNotSupportedException
- * if one of the specified SAX2 feature flags values can
- * not be set, perhaps because of sequencing requirements
- * (which could be met by using SAX2 directly)
- */
- public abstract SAXParser newSAXParser()
- throws ParserConfigurationException, SAXException;
-
- public void setNamespaceAware(boolean value) {
- namespaceAware = value;
- } // setNamespaceAware()
-
- public void setValidating(boolean value) {
- validating = value;
- } // setValidating()
-
- public boolean isNamespaceAware() {
- return namespaceAware;
- } // isNamespaceAware()
-
- public boolean isValidating() {
- return validating;
- } // isValidating()
-
- /**
- * Establishes a factory parameter corresponding to the
- * specified feature flag.
- *
- * @param name identifies the feature flag
- * @param value specifies the desired flag value
- *
- * @exception SAXNotRecognizedException
- * if the specified SAX2 feature flag is not recognized
- * @exception SAXNotSupportedException
- * if the specified SAX2 feature flag values can not be set,
- * perhaps because of sequencing requirements (which could
- * be met by using SAX2 directly)
- */
- public abstract void setFeature (String name, boolean value)
- throws ParserConfigurationException,
- SAXNotRecognizedException,
- SAXNotSupportedException;
-
- /**
- * Retrieves a current factory feature flag setting.
- *
- * @param name identifies the feature flag
- *
- * @exception SAXNotRecognizedException
- * if the specified SAX2 feature flag is not recognized
- * @exception SAXNotSupportedException
- * if the specified SAX2 feature flag values can not be
- * accessed before parsing begins.
- */
- public abstract boolean getFeature (String name)
- throws ParserConfigurationException,
- SAXNotRecognizedException,
- SAXNotSupportedException;
-
-} // SAXParserFactory
-
diff --git a/external/jaxp/source/javax/xml/parsers/package.html b/external/jaxp/source/javax/xml/parsers/package.html
deleted file mode 100644
index 71739b92c..000000000
--- a/external/jaxp/source/javax/xml/parsers/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html><head>javax.xml.parsers</head><body>
-
-<p>Bootstrapping APIs for JAXP parsers.
-This is the first portable API defined for bootstrapping DOM.
-
-<p>JAXP parsers bootstrap in two stages.
-First is getting a factory, and configuring it.
-Second is asking that factory for a parser.
-
-<p>The SAX bootstrapping support corresponds to functionality
-found in the <em>org.xml.sax.helpers</em> package, except
-that it uses the JAXP two stage bootstrap paradigm and
-that the parser that's bootstrapped is normally wrapping
-a SAX parser rather than exposing it for direct use.
-
-</body></html>
diff --git a/external/jaxp/source/javax/xml/transform/ClassStuff.java b/external/jaxp/source/javax/xml/transform/ClassStuff.java
deleted file mode 100644
index 6be50d772..000000000
--- a/external/jaxp/source/javax/xml/transform/ClassStuff.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * $Id: ClassStuff.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-
-package javax.xml.transform;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.lang.reflect.Method;
-import java.util.Properties;
-
-
-// $Id: ClassStuff.java,v 1.2 2004-05-01 16:18:51 mark Exp $
-
-/**
- * Package-private utility methods for sharing
- * magic related to class loading.
- * NOTE: This is cloned in javax.xml.parsers,
- * where a different exception is thrown (bleech).
- * Keep changes to the two copies in sync.
- *
- * @author David Brownell
- * @version $Id: ClassStuff.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- */
-final class ClassStuff
-{
- private ClassStuff () { }
-
- /**
- * Get the default factory using the four-stage defaulting
- * mechanism defined by JAXP.
- */
- static Object
- createFactory (String label, String defaultClass)
- throws TransformerFactoryConfigurationError
- {
- String name = null;
- ClassLoader loader = null;
-
- // figure out which class loader to use.
- // source compiles on jdk 1.1, but works with jdk 1.2+ security
- try {
- Method m = null;
-
- // Can we use JDK 1.2 APIs? Preferred: security policies apply.
- m = Thread.class.getMethod ("getContextClassLoader", null);
- loader = (ClassLoader) m.invoke (Thread.currentThread(), null);
- } catch (NoSuchMethodException e) {
- // Assume that we are running JDK 1.1; use current ClassLoader
- loader = ClassStuff.class.getClassLoader();
- } catch (Exception e) {
- // "should not happen"
- throw new UnknownError (e.getMessage());
- }
-
- // 1. Check System Property
- // ... normally fails in applet environments
- try { name = System.getProperty (label);
- } catch (SecurityException e) { /* IGNORE */ }
-
- // 2. Check in $JAVA_HOME/lib/jaxp.properties
- try {
- if (name == null) {
- String javaHome;
- File file;
-
- javaHome = System.getProperty ("java.home");
- file = new File (new File (javaHome, "lib"), "jaxp.properties");
- if (file.exists() == true) {
- FileInputStream in = new FileInputStream (file);
- Properties props = new Properties();
-
- props.load (in);
- name = props.getProperty (label);
- in.close ();
- }
- }
- } catch (Exception e) { /* IGNORE */ }
-
- // 3. Check Services API
- if (name == null) {
- try {
- String service = "META-INF/services/" + label;
- InputStream in;
- BufferedReader reader;
-
- if (loader == null)
- in = ClassLoader.getSystemResourceAsStream (service);
- else
- in = loader.getResourceAsStream (service);
- if (in != null) {
- reader = new BufferedReader (
- new InputStreamReader (in, "UTF8"));
- name = reader.readLine();
- in.close ();
- }
- } catch (Exception e2) { /* IGNORE */ }
- }
-
- // 4. Distro-specific fallback
- if (name == null)
- name = defaultClass;
-
- // Instantiate!
- try {
- Class klass;
-
- if (loader == null)
- klass = Class.forName (name);
- else
- klass = loader.loadClass (name);
- return klass.newInstance ();
-
- } catch (ClassNotFoundException e) {
- throw new TransformerFactoryConfigurationError (e,
- "Factory class " + name
- + " not found");
- } catch (IllegalAccessException e) {
- throw new TransformerFactoryConfigurationError (e,
- "Factory class " + name
- + " found but cannot be loaded");
- } catch (InstantiationException e) {
- throw new TransformerFactoryConfigurationError (e,
- "Factory class " + name
- + " loaded but cannot be instantiated"
- + " ((no default constructor?)");
- }
- }
-}
diff --git a/external/jaxp/source/javax/xml/transform/ErrorListener.java b/external/jaxp/source/javax/xml/transform/ErrorListener.java
deleted file mode 100644
index aaf4071dd..000000000
--- a/external/jaxp/source/javax/xml/transform/ErrorListener.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: ErrorListener.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * JAXP/Transform analogue of SAX ErrorHandler, using
- * {@link TransformerException} classes.
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface ErrorListener {
-
- //-------------------------------------------------------------
- // Interface: ErrorListener -----------------------------------
- //-------------------------------------------------------------
-
- public void error(TransformerException exception)
- throws TransformerException;
-
- public void fatalError(TransformerException exception)
- throws TransformerException;
-
- public void warning(TransformerException exception)
- throws TransformerException;
-
-
-} // ErrorListener
-
diff --git a/external/jaxp/source/javax/xml/transform/OutputKeys.java b/external/jaxp/source/javax/xml/transform/OutputKeys.java
deleted file mode 100644
index bfb9619da..000000000
--- a/external/jaxp/source/javax/xml/transform/OutputKeys.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * $Id: OutputKeys.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * Provides names for XSLT output attributes.
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class OutputKeys {
-
- //-------------------------------------------------------------
- // Constants --------------------------------------------------
- //-------------------------------------------------------------
-
- public static final String CDATA_SECTION_ELEMENTS = "cdata-section-elements";
- public static final String DOCTYPE_PUBLIC = "doctype-public";
- public static final String DOCTYPE_SYSTEM = "doctype-system";
- public static final String ENCODING = "encoding";
- public static final String INDENT = "indent";
- public static final String MEDIA_TYPE = "media-type";
- public static final String METHOD = "method";
- public static final String OMIT_XML_DECLARATION = "omit-xml-declaration";
- public static final String STANDALONE = "standalone";
- public static final String VERSION = "version";
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- private OutputKeys() {
- } // OutputKeys()
-
-
-} // OutputKeys
-
diff --git a/external/jaxp/source/javax/xml/transform/Result.java b/external/jaxp/source/javax/xml/transform/Result.java
deleted file mode 100644
index e023f607a..000000000
--- a/external/jaxp/source/javax/xml/transform/Result.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * $Id: Result.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * Result
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface Result {
-
- //-------------------------------------------------------------
- // Constants --------------------------------------------------
- //-------------------------------------------------------------
-
- public static final String PI_DISABLE_OUTPUT_ESCAPING =
- "javax.xml.transform.disable-output-escaping";
-
- public static final String PI_ENABLE_OUTPUT_ESCAPING =
- "javax.xml.transform.disable-output-escaping";
-
-
- //-------------------------------------------------------------
- // Interface: Result ------------------------------------------
- //-------------------------------------------------------------
-
- public String getSystemId();
-
- public void setSystemId(String systemID);
-
-
-} // Result
-
diff --git a/external/jaxp/source/javax/xml/transform/Source.java b/external/jaxp/source/javax/xml/transform/Source.java
deleted file mode 100644
index 50fe85e01..000000000
--- a/external/jaxp/source/javax/xml/transform/Source.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * $Id: Source.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * Identifies the URI for either a transformation (XSLT stylesheet)
- * or an input to a transformation (XML document to be transformed).
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public interface Source {
-
- //-------------------------------------------------------------
- // Interface: Source ------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Returns the URI for this source. Some sources may not need URIs,
- * for example ones provided as an input stream, but such URIs
- * are important for resolving relative URIs and for providing
- * usable diagnostics.
- */
- public String getSystemId();
-
- /**
- * Associates a URI with this source.
- *
- * @param systemID the URI
- */
- public void setSystemId(String systemID);
-
-
-} // Source
-
diff --git a/external/jaxp/source/javax/xml/transform/SourceLocator.java b/external/jaxp/source/javax/xml/transform/SourceLocator.java
deleted file mode 100644
index 978de72c5..000000000
--- a/external/jaxp/source/javax/xml/transform/SourceLocator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: SourceLocator.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * JAXP/transform analogue of SAX Locator.
- * @see org.xml.sax.Locator
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface SourceLocator {
-
- //-------------------------------------------------------------
- // Interface: SourceLocator -----------------------------------
- //-------------------------------------------------------------
-
- public String getPublicId();
-
- public String getSystemId();
-
- public int getLineNumber();
-
- public int getColumnNumber();
-
-
-} // SourceLocator
-
-
diff --git a/external/jaxp/source/javax/xml/transform/Templates.java b/external/jaxp/source/javax/xml/transform/Templates.java
deleted file mode 100644
index eb3fd085f..000000000
--- a/external/jaxp/source/javax/xml/transform/Templates.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * $Id: Templates.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-// Imports
-import java.util.Properties;
-
-/**
- * Encapsulates a pre-parsed (reusable) XSLT transform.
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface Templates {
-
- //-------------------------------------------------------------
- // Interface: Templates ---------------------------------------
- //-------------------------------------------------------------
-
- public Transformer newTransformer()
- throws TransformerConfigurationException;
-
- public Properties getOutputProperties();
-
-
-} // Templates
-
diff --git a/external/jaxp/source/javax/xml/transform/Transformer.java b/external/jaxp/source/javax/xml/transform/Transformer.java
deleted file mode 100644
index cc57ec421..000000000
--- a/external/jaxp/source/javax/xml/transform/Transformer.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * $Id: Transformer.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-// Imports
-import java.util.Properties;
-
-/**
- * Apply a transformation from a source, populating a result.
- * Transformers may be reused, but not concurrently.
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public abstract class Transformer {
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- /** Default constructor, for use only by subclasses. */
- protected Transformer() {
- } // Transformer()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Clears all parameter settings.
- * @see #setParameter
- */
- public abstract void clearParameters();
-
- /** Returns the error handler used as documents are transformed. */
- public abstract ErrorListener getErrorListener();
-
- /**
- * Returns a copy of the transformer's non-default output properties.
- * That is, properties set in the stylesheet or through
- * methods on this class are not set.
- * @see OutputKeys
- * @see #setOutputProperties
- */
- public abstract Properties getOutputProperties();
-
- /**
- * Returns the value of a property applying to this transform.
- * Values returned by this method are only those that have
- * been set explicitly.
- * @see OutputKeys
- * @see #setOutputProperty
- */
- public abstract String getOutputProperty(String name)
- throws IllegalArgumentException;
-
- /**
- * Returns the value of a parameter passed to this transform.
- * These are primarily for use access within transformations
- * and extensions.
- * @see #setParameter
- */
- public abstract Object getParameter(String name);
-
- /** Returns the resolver applied to documents being transformed. */
- public abstract URIResolver getURIResolver();
-
- /** Assigns the error handler used as documents are transformed. */
- public abstract void setErrorListener(ErrorListener listener)
- throws IllegalArgumentException;
- /**
- * Assigns a set of output properties, as if made by multiple
- * calls to {@link #setOutputProperty}.
- * @see OutputKeys
- * @param outputformat set of properties, or null to reset all
- * properties to their default values
- */
- public abstract void setOutputProperties(Properties outputformat)
- throws IllegalArgumentException;
-
- /**
- * Assigns the value of a transformation property, affecting
- * generation of output (mostly text syntax). Parameters include
- * those defined by the xslt:output element. Default settings may
- * be explicitly overridden.
- * @see OutputKeys
- * @see #getOutputProperty
- * @see #setOutputProperties
- * @param name an XML name, or a namespace-scoped XML name
- * encoded as <em>{uri}localName</em>.
- * @param value associated with the name
- */
- public abstract void setOutputProperty(String name, String value)
- throws IllegalArgumentException;
-
- /**
- * Assigns the value of a parameter passed to this transform.
- * These are primarily for use access within transformations
- * and extensions.
- * @see #getParameter
- * @see #clearParameters
- * @param name an XML name, or a namespace-scoped XML name
- * encoded as <em>{uri}localName</em>.
- * @param value associated with the name
- */
- public abstract void setParameter(String name, Object value);
-
- /** Assigns the resolver applied to documents being transformed. */
- public abstract void setURIResolver(URIResolver resolver);
-
- /** Apply the appropriate transformation */
- public abstract void transform(Source source, Result result)
- throws TransformerException;
-
-} // Transformer
-
diff --git a/external/jaxp/source/javax/xml/transform/TransformerConfigurationException.java b/external/jaxp/source/javax/xml/transform/TransformerConfigurationException.java
deleted file mode 100644
index 7af8ab5f3..000000000
--- a/external/jaxp/source/javax/xml/transform/TransformerConfigurationException.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * $Id: TransformerConfigurationException.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * TransformerConfigurationException
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class TransformerConfigurationException extends TransformerException {
-
- protected SourceLocator locator = null;
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public TransformerConfigurationException() {
- super((String)null);
- } // TransformerConfigurationException()
-
- public TransformerConfigurationException(String msg) {
- super(msg);
- } // TransformerConfigurationException()
-
- public TransformerConfigurationException(Throwable ex) {
- super(ex);
- } // TransformerConfigurationException()
-
- public TransformerConfigurationException(String msg, Throwable ex) {
- super(msg, ex);
- } // TransformerConfigurationException()
-
- public TransformerConfigurationException(String msg, SourceLocator locator) {
- super(msg);
- this.locator = locator;
- }
-
- public TransformerConfigurationException(String msg, SourceLocator locator, Throwable ex) {
- super(msg, ex);
- this.locator = locator;
- }
-
-} // TranformerConfigurationException
-
-
diff --git a/external/jaxp/source/javax/xml/transform/TransformerException.java b/external/jaxp/source/javax/xml/transform/TransformerException.java
deleted file mode 100644
index f2647209f..000000000
--- a/external/jaxp/source/javax/xml/transform/TransformerException.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * $Id: TransformerException.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-// Imports
-import java.io.*;
-
-/**
- * Encapsulates a problem exposed during a transformation.
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public class TransformerException extends Exception {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- private SourceLocator locator = null;
- private Throwable containedException = null;
- private boolean causeKnown;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public TransformerException(String msg) {
- super(msg);
- }
-
- public TransformerException(Throwable cause) {
- super();
- initCause (cause);
- }
-
- public TransformerException(String msg, Throwable cause) {
- super(msg);
- initCause (cause);
- }
-
- public TransformerException(String msg, SourceLocator locator) {
- super(msg);
- setLocator (locator);
- }
-
- public TransformerException(String msg, SourceLocator locator,
- Throwable cause) {
- super(msg);
- setLocator (locator);
- initCause (cause);
- }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Returns the root cause of this exception,
- * or null if none is known.
- */
- public Throwable getCause() {
- return containedException;
- }
-
- /**
- * Synonym for {@link #getCause}.
- */
- public Throwable getException() {
- return containedException;
- }
-
- /**
- * Returns a readable version of the locator info, or null
- * if there is no locator.
- */
- public String getLocationAsString() {
- if (locator == null)
- return null;
-
- StringBuffer retval = new StringBuffer ();
-
- if (locator.getPublicId () != null) {
- retval.append ("public='");
- retval.append (locator.getPublicId ());
- retval.append ("' ");
- }
- if (locator.getSystemId () != null) {
- retval.append ("uri='");
- retval.append (locator.getSystemId ());
- retval.append ("' ");
- }
- if (locator.getLineNumber () != -1) {
- retval.append ("line=");
- retval.append (locator.getLineNumber ());
- retval.append (" ");
- }
- if (locator.getColumnNumber () != -1) {
- retval.append ("column=");
- retval.append (locator.getColumnNumber ());
- //retval.append (" ");
- }
- return retval.toString ();
- }
-
- public SourceLocator getLocator() {
- return locator;
- }
-
- /**
- * Returns this exception's message, with readable location
- * information appended if it is available.
- */
- public String getMessageAndLocation() {
- if (locator == null)
- return getMessage ();
- return getMessage () + ": " + getLocationAsString ();
- }
-
- /**
- * Records the root cause of this exception; may be
- * called only once, normally during initialization.
- */
- public synchronized Throwable initCause(Throwable cause) {
- if (cause == this)
- throw new IllegalArgumentException ();
- if (containedException != null)
- throw new IllegalStateException ();
- containedException = cause;
- causeKnown = true;
-// FIXME: spec implies "this" may be the right value; another bug?
- return cause;
- }
-
-
- public void printStackTrace() {
- printStackTrace(System.out);// shouldn't it be System.err?
- }
-
- public void printStackTrace(PrintStream stream) {
- PrintWriter out = new PrintWriter(
- new OutputStreamWriter(stream));
- printStackTrace(out);
- out.flush ();
- }
-
- public void printStackTrace(PrintWriter writer) {
- if (containedException != null) {
- containedException.printStackTrace(writer);
- }
- super.printStackTrace(writer);
- }
-
- public void setLocator (SourceLocator location) {
- locator = location;
- }
-}
diff --git a/external/jaxp/source/javax/xml/transform/TransformerFactory.java b/external/jaxp/source/javax/xml/transform/TransformerFactory.java
deleted file mode 100644
index 66ce93613..000000000
--- a/external/jaxp/source/javax/xml/transform/TransformerFactory.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * $Id: TransformerFactory.java,v 1.3 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-// Imports
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.FileInputStream;
-import java.io.File;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Properties;
-
-/**
- * Abstract class extended by implementations.
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public abstract class TransformerFactory {
-
- /** Constructor, for use by subclasses. */
- protected TransformerFactory() {
- }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Returns an object encapsulating the &lt;?xml-stylesheet&nbsp;?&gt;
- * processing instruction from the document that matches the
- * specified criteria.
- */
- public abstract Source getAssociatedStylesheet(Source source,
- String media, String title, String charset)
- throws TransformerConfigurationException;
-
- /** Returns an implementation-specific attribute */
- public abstract Object getAttribute(String name)
- throws IllegalArgumentException;
-
- /** Returns the ErrorListener used when parsing stylesheets. */
- public abstract ErrorListener getErrorListener();
-
- /**
- * Exposes capabilities of the underlying implementation.
- * Examples include SAXSource.FEATURE and DOMResult.FEATURE.
- */
- public abstract boolean getFeature(String name);
-
- /** Returns the URIResolver used when parsing stylesheets. */
- public abstract URIResolver getURIResolver();
-
-
- /**
- * Returns a new TransformerFactory. The name of this class
- * is found by checking, in order:
- * the <em>javax.xml.transform.TransformerFactory</em>
- * system property,
- * <em>$JAVA_HOME/lib/jaxp.properties</em> for the key with
- * that same name,
- * JAR files in the class path with a <em>META-INF/services</em>
- * file with that same name,
- * else the compiled-in platform default.
- */
- public static TransformerFactory newInstance()
- throws TransformerFactoryConfigurationError
- {
- try {
- return (TransformerFactory) ClassStuff.createFactory (
- "javax.xml.transform.TransformerFactory",
- "com.icl.saxon.TransformerFactoryImpl"
- // "gnu.xml.util.SAXNullTransformerFactory"
- // "org.apache.xalan.processor.TransformerFactoryImpl"
- );
- } catch (ClassCastException e) {
- throw new TransformerFactoryConfigurationError(e);
- }
- }
-
-
- /**
- * Returns a pre-compiled stylesheet.
- * @param stylesheet XSLT stylesheet specifying transform
- */
- public abstract Templates newTemplates (Source stylesheet)
- throws TransformerConfigurationException;
-
- /**
- * Returns a transformer that performs the null transform.
- */
- public abstract Transformer newTransformer()
- throws TransformerConfigurationException;
-
- /**
- * Returns a transformer making a specified transform.
- * @param stylesheet XSLT stylesheet specifying transform
- */
- public abstract Transformer newTransformer (Source stylesheet)
- throws TransformerConfigurationException;
-
-
- /** Assigns an implementation-specific attribute */
- public abstract void setAttribute(String name, Object value)
- throws IllegalArgumentException;
-
- /** Assigns the ErrorListener used when parsing stylesheets. */
- public abstract void setErrorListener(ErrorListener listener)
- throws IllegalArgumentException;
-
- /** Assigns the URIResolver used when parsing stylesheets. */
- public abstract void setURIResolver(URIResolver resolver);
-}
diff --git a/external/jaxp/source/javax/xml/transform/TransformerFactoryConfigurationError.java b/external/jaxp/source/javax/xml/transform/TransformerFactoryConfigurationError.java
deleted file mode 100644
index d5a8381ad..000000000
--- a/external/jaxp/source/javax/xml/transform/TransformerFactoryConfigurationError.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * $Id: TransformerFactoryConfigurationError.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * Reports a {@link TransformerFactory} configuration error.
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public class TransformerFactoryConfigurationError extends Error
-{
- private Exception exception = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public TransformerFactoryConfigurationError ()
- { }
-
- public TransformerFactoryConfigurationError (Exception e)
- { exception = e; }
-
- public TransformerFactoryConfigurationError (Exception e, String msg)
- {
- super (msg);
- exception = e;
- }
-
- public TransformerFactoryConfigurationError (String msg)
- { super (msg); }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public String getMessage ()
- {
- if (super.getMessage () == null && exception != null)
- return exception.getMessage ();
- return super.getMessage ();
- }
-
- public Exception getException ()
- { return exception; }
-}
diff --git a/external/jaxp/source/javax/xml/transform/URIResolver.java b/external/jaxp/source/javax/xml/transform/URIResolver.java
deleted file mode 100644
index a827ed040..000000000
--- a/external/jaxp/source/javax/xml/transform/URIResolver.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform;
-
-/**
- * URIResolver
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface URIResolver {
-
- //-------------------------------------------------------------
- // Interface: URIResolver -------------------------------------
- //-------------------------------------------------------------
-
- public Source resolve(String href, String base)
- throws TransformerException;
-
-
-} // URIResolver
-
diff --git a/external/jaxp/source/javax/xml/transform/dom/DOMLocator.java b/external/jaxp/source/javax/xml/transform/dom/DOMLocator.java
deleted file mode 100644
index 1c580fca6..000000000
--- a/external/jaxp/source/javax/xml/transform/dom/DOMLocator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * $Id: DOMLocator.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.dom;
-
-// Imports
-import org.w3c.dom.Node;
-import javax.xml.transform.SourceLocator;
-
-/**
- * DOM Locator
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface DOMLocator extends SourceLocator {
-
- //-------------------------------------------------------------
- // Interface: DOMLocator --------------------------------------
- //-------------------------------------------------------------
-
- public Node getOriginatingNode();
-
-
-} // DOMLocator
-
-
diff --git a/external/jaxp/source/javax/xml/transform/dom/DOMResult.java b/external/jaxp/source/javax/xml/transform/dom/DOMResult.java
deleted file mode 100644
index ebfc3c9fb..000000000
--- a/external/jaxp/source/javax/xml/transform/dom/DOMResult.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * $Id: DOMResult.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.dom;
-
-// Imports
-import org.w3c.dom.Node;
-import javax.xml.transform.Result;
-
-/**
- * DOM Result
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class DOMResult implements Result {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- public static final String FEATURE =
- "http://javax.xml.transform.dom.DOMResult/feature";
-
- private Node node = null;
- private String systemId = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public DOMResult() {
- } // DOMResult()
-
- public DOMResult(Node node) {
- this.node = node;
- } // DOMResult()
-
- public DOMResult(Node node, String systemID) {
- this.node = node;
- this.systemId = systemID;
- } // DOMResult()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public void setNode(Node node) {
- this.node = node;
- } // setNode()
-
- public Node getNode() {
- return node;
- } // getNode()
-
- public void setSystemId(String systemID) {
- this.systemId = systemID;
- } // systemID()
-
- public String getSystemId() {
- return systemId;
- } // getSystemId()
-
-
-} // DOMResult
-
diff --git a/external/jaxp/source/javax/xml/transform/dom/DOMSource.java b/external/jaxp/source/javax/xml/transform/dom/DOMSource.java
deleted file mode 100644
index 66e61fd38..000000000
--- a/external/jaxp/source/javax/xml/transform/dom/DOMSource.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * $Id: DOMSource.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.dom;
-
-// Imports
-import org.w3c.dom.Node;
-import javax.xml.transform.Source;
-
-/**
- * DOM Source
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class DOMSource implements Source {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- public static final String FEATURE =
- "http://javax.xml.transform.dom.DOMSource/feature";
-
- private Node node = null;
- String baseID = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public DOMSource() {
- } // DOMSource()
-
- public DOMSource(Node node) {
- this.node = node;
- } // DOMSource()
-
- public DOMSource(Node node, String systemID) {
- this.node = node;
- this.baseID = systemID;
- } // DOMSource()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public void setNode(Node node) {
- this.node = node;
- } // setNode()
-
- public Node getNode() {
- return node;
- } // getNode()
-
- public void setSystemId(String systemID) {
- baseID = systemID;
- } // setSystemId()
-
- public String getSystemId() {
- return baseID;
- } // getSystemId()
-
-
-} // DOMSource
-
diff --git a/external/jaxp/source/javax/xml/transform/dom/package.html b/external/jaxp/source/javax/xml/transform/dom/package.html
deleted file mode 100644
index 0600fc724..000000000
--- a/external/jaxp/source/javax/xml/transform/dom/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><head>trax for dom</head><body>
-
-<p>Support for DOM inputs and outputs to transformers.
-
-</body></html>
diff --git a/external/jaxp/source/javax/xml/transform/package.html b/external/jaxp/source/javax/xml/transform/package.html
deleted file mode 100644
index bc67c2b80..000000000
--- a/external/jaxp/source/javax/xml/transform/package.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html><head>trax </head><body>
-
-<p>Base "TRAX" API for XSLT transformers.
-This API borrows many structural notions from SAX,
-such as the way error handling and external entity
-resolution are handled, although it does not reuse
-the corresponding SAX classes.
-To use XSLT transformers: <ul>
-
-<li>Start with <em>TransformerFactory.newInstance()</em>;
-
-<li>Then you may wish to configure that factory through
-its features and properties. This includes modifying
-the way errors are handled and URIs are resolved.
-
-<li>Then you have several options for how to perform
-the XSLT transformations. One generic option is to ask the
-factory for a <a href="Transformer.html">Transformer</a>
-and then use <em>Transformer.transform()</em> to pull
-input text onto output text.
-
-<li>Alternatively, most factories support flexible integration
-with SAX event streams. You can cast such factories to a
-<a href="sax/SAXTransformerFactory.html">SAXTransformerFactory</a>
-and perform either push or pull mode transformations.
-
-</ul>
-
-<p>The <a href="OutputKeys.html">OutputKeys</a> class
-holds constants that can be used to configure output
-properties used with <em>Result</em> objects, as if
-they were specified in <em>xslt:output</em> attributes
-in the stylesheet specifying the transform.
-
-<p>The <a href="Templates.html">Templates</a> class
-accomodates the notion of "compiled" transforms.
-
-</body></html>
diff --git a/external/jaxp/source/javax/xml/transform/sax/SAXResult.java b/external/jaxp/source/javax/xml/transform/sax/SAXResult.java
deleted file mode 100644
index 66260bca1..000000000
--- a/external/jaxp/source/javax/xml/transform/sax/SAXResult.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * $Id: SAXResult.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.sax;
-
-// Imports
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ext.LexicalHandler;
-import javax.xml.transform.Result;
-
-/**
- * Collects the result of a SAX transform.
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public class SAXResult implements Result
-{
- /**
- * Used with <em>TransformerFactory.getFeature()</em> to determine
- * whether the transformers it produces support SAXResult objects
- * as outputs.
- */
- public static final String FEATURE =
- "http://javax.xml.transform.sax.SAXResult/feature";
-
- private ContentHandler handler = null;
- private LexicalHandler lexhandler = null;
- private String systemId = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public SAXResult() {
- } // SAXResult()
-
- public SAXResult(ContentHandler handler) {
- this.handler = handler;
- } // SAXResult()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public ContentHandler getHandler() {
- return handler;
- }
-
- public String getSystemId() {
- return systemId;
- }
-
- public LexicalHandler getLexicalHandler() {
- return lexhandler;
- }
-
-
- public void setHandler(ContentHandler handler) {
- this.handler = handler;
- }
-
- public void setSystemId(String systemID) {
- this.systemId = systemID;
- }
-
- public void setLexicalHandler(LexicalHandler lexHandler) {
- this.lexhandler = lexHandler;
- }
-}
diff --git a/external/jaxp/source/javax/xml/transform/sax/SAXSource.java b/external/jaxp/source/javax/xml/transform/sax/SAXSource.java
deleted file mode 100644
index cf227eda6..000000000
--- a/external/jaxp/source/javax/xml/transform/sax/SAXSource.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * $Id: SAXSource.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.sax;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.InputSource;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-
-
-/**
- * Acts as a holder for "pull style" inputs to an XSLT transform.
- * SAX based transforms can support a second style of inputs,
- * driving by a {@link TransformerHandler} as output of some
- * other SAX processing pipeline. stage.
- *
- * @see SAXTransformerFactory#newTransformerHandler
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public class SAXSource implements Source
-{
- /**
- * Used with <em>TransformerFactory.getFeature()</em> to determine
- * whether the transformers it produces support SAXSource objects
- * (possibly without URIs) as inputs.
- */
- public static final String FEATURE =
- "http://javax.xml.transform.sax.SAXSource/feature";
-
- private XMLReader reader = null;
- private InputSource inputSource = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public SAXSource() {
- } // SAXSource()
-
- public SAXSource(XMLReader reader, InputSource source) {
- this.reader = reader;
- this.inputSource = source;
- } // SAXSource()
-
- public SAXSource(InputSource source) {
- this.inputSource = source;
- } // SAXSource()
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public void setXMLReader(XMLReader reader) {
- this.reader = reader;
- } // setXMLReader()
-
- public XMLReader getXMLReader() {
- return reader;
- } // getXMLReader()
-
- public void setInputSource(InputSource source) {
- this.inputSource = source;
- } // setInputSource()
-
- public InputSource getInputSource() {
- return inputSource;
- } // inputSource()
-
- public void setSystemId(String systemID) {
- if (inputSource != null) {
- inputSource.setSystemId(systemID);
- }
- } // setSystemId()
-
- public String getSystemId() {
- if (inputSource != null) {
- return inputSource.getSystemId();
- } // if
- return null;
- } // getSystemId()
-
- /**
- * Creates a SAX input source from its argument.
- * Understands StreamSource and System ID based input sources,
- * and insists on finding either a system ID (URI) or some kind
- * of input stream (character or byte).
- *
- * @param in TRAX style input source
- * @return SAX input source, or null if one could not be
- * created.
- */
- public static InputSource sourceToInputSource (Source in)
- {
- InputSource retval;
- boolean ok = false;
-
- if (in instanceof SAXSource) {
- return ((SAXSource) in).inputSource;
- }
-
- if (in.getSystemId () != null) {
- retval = new InputSource (in.getSystemId ());
- ok = true;
- } else
- retval = new InputSource ();
-
- if (in instanceof StreamSource) {
- StreamSource ss = (StreamSource) in;
-
- if (ss.getReader () != null) {
- retval.setCharacterStream (ss.getReader ());
- ok = true;
- } else if (ss.getInputStream () != null) {
- retval.setByteStream (ss.getInputStream ());
- ok = true;
- }
- if (ss.getPublicId () != null)
- retval.setPublicId (ss.getPublicId ());
- }
-
- return ok ? retval : null;
- }
-}
diff --git a/external/jaxp/source/javax/xml/transform/sax/SAXTransformerFactory.java b/external/jaxp/source/javax/xml/transform/sax/SAXTransformerFactory.java
deleted file mode 100644
index 8dca4b0f0..000000000
--- a/external/jaxp/source/javax/xml/transform/sax/SAXTransformerFactory.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * $Id: SAXTransformerFactory.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.sax;
-
-// Imports
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLFilter;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Templates;
-import javax.xml.transform.TransformerConfigurationException;
-
-/**
- * A TransformerFactory that supports several separate modes for
- * working with SAX inputs and outputs. Those modes include: <ul>
- *
- * <li> Pipeline Stage, pushing events through {@link TransformerHandler}
- * objects used as SAX handlers, and passing the transformed data
- * through a {@link SAXResult} encapsulating SAX ContentHandler and
- * LexicalHandler objects;
- * <li> Pipeline Termination, like a normal pipeline stage but using some
- * other kind of {@link Result} to store transformed data rather than
- * passing it to another stage;
- * <li> Event producer, an {@link XMLFilter} object taking data from a URI
- * or from a SAX {@link InputSource} input object and delivering it
- * to a SAX ContentHandler;
- * <li> Transformer objects produced by this factory will usually be able
- * to accept {@link SAXSource} objects as inputs, and the XMLReader
- * object in such a source could be an XMLFilter.
- * </ul>
- *
- * <p>Transformer objects produced by this factory will of course be
- * able to perform {@link Transformer#transform Transformer.transform()}
- * operations to map XML text into other text.
- *
- * <p>The factory also supports creating Templates objects.
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public abstract class SAXTransformerFactory extends TransformerFactory
-{
- /**
- * Used with <em>TransformerFactory.getFeature()</em> to determine
- * whether the transformers it produces extend this class.
- */
- public static final String FEATURE =
- "http://javax.xml.transform.sax.SAXTransformerFactory/feature";
-
- /**
- * Used with <em>TransformerFactory.getFeature()</em> to determine
- * whether <em>newXMLFilter()</em> methods are supported.
- */
- public static final String FEATURE_XMLFILTER =
- "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter";
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- /** Constructor, for use with subclasses */
- protected SAXTransformerFactory() {
- }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- /**
- * Returns a SAX event consumer sending its inputs to some Result
- * after transforming them according to a stylesheet.
- */
- public abstract TransformerHandler
- newTransformerHandler (Source stylesheet)
- throws TransformerConfigurationException;
-
- /**
- * Returns a SAX event consumer sending its inputs to some Result
- * after transforming them according to a pre-parsed stylesheet.
- */
- public abstract TransformerHandler
- newTransformerHandler (Templates stylesheet)
- throws TransformerConfigurationException;
-
- /**
- * Returns a SAX event consumer sending its inputs to some Result
- * without transforming them (null transformation).
- */
- public abstract TransformerHandler newTransformerHandler()
- throws TransformerConfigurationException;
-
- /**
- * Returns a SAX parser that transforms XML data according
- * to a stylesheet before reporting SAX events.
- */
- public abstract XMLFilter newXMLFilter (Source stylesheet)
- throws TransformerConfigurationException;
-
- /**
- * Returns a SAX parser that transforms XML data according
- * to a pre-parsed stylesheet before reporting SAX events.
- */
- public abstract XMLFilter newXMLFilter (Templates stylesheet)
- throws TransformerConfigurationException;
-
- /**
- * Returns a SAX event consumer collecting its inputs into
- * a pre-parsed stylesheet.
- */
- public abstract TemplatesHandler newTemplatesHandler()
- throws TransformerConfigurationException;
-
-}
diff --git a/external/jaxp/source/javax/xml/transform/sax/TemplatesHandler.java b/external/jaxp/source/javax/xml/transform/sax/TemplatesHandler.java
deleted file mode 100644
index 4a813de76..000000000
--- a/external/jaxp/source/javax/xml/transform/sax/TemplatesHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * $Id: TemplatesHandler.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.sax;
-
-// Imports
-import org.xml.sax.ContentHandler;
-import javax.xml.transform.Templates;
-
-/**
- * Handler used to create pre-parsed XSLT transforms.
- * @author Andrew Selkirk
- * @version 1.0
- */
-public interface TemplatesHandler extends ContentHandler {
-
- //-------------------------------------------------------------
- // Interface: TemplatesHandler --------------------------------
- //-------------------------------------------------------------
-
- public Templates getTemplates();
-
- public void setSystemId(String systemID);
-
- public String getSystemId();
-
-
-} // TemplatesHandler
-
diff --git a/external/jaxp/source/javax/xml/transform/sax/TransformerHandler.java b/external/jaxp/source/javax/xml/transform/sax/TransformerHandler.java
deleted file mode 100644
index 5f093fcd6..000000000
--- a/external/jaxp/source/javax/xml/transform/sax/TransformerHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * $Id: TransformerHandler.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.sax;
-
-import org.xml.sax.ContentHandler;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.ext.LexicalHandler;
-import javax.xml.transform.Result;
-import javax.xml.transform.Transformer;
-
-
-/**
- * Transforms SAX input events to a Result, according to some
- * stylesheet. Note the expectation that XSLT transforms will
- * discard most DTD declarations (DeclHandler is not supported).
- *
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public interface TransformerHandler
- extends ContentHandler, LexicalHandler, DTDHandler
-{
- /**
- * Assigns the result of the transform.
- */
- public void setResult(Result result)
- throws IllegalArgumentException;
-
- public void setSystemId(String systemID);
-
- public String getSystemId();
-
- /**
- * Returns the associated transformer, for use in setting
- * parameters and output properties.
- */
- public Transformer getTransformer();
-}
diff --git a/external/jaxp/source/javax/xml/transform/sax/package.html b/external/jaxp/source/javax/xml/transform/sax/package.html
deleted file mode 100644
index b2d2978a3..000000000
--- a/external/jaxp/source/javax/xml/transform/sax/package.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><head>trax for sax</head><body>
-
-<p>Support for SAX2-based XSLT transformers.
-Normally you would cast a TransformerFactory to a
-<a href="SAXTransformerFactory.html">SAXTransformerFactory</a>
-and use that to in any of the various modes supported
-(such as push or pull).
-
-</body></html>
diff --git a/external/jaxp/source/javax/xml/transform/stream/StreamResult.java b/external/jaxp/source/javax/xml/transform/stream/StreamResult.java
deleted file mode 100644
index ac7750bee..000000000
--- a/external/jaxp/source/javax/xml/transform/stream/StreamResult.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * $Id: StreamResult.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.stream;
-
-import java.io.OutputStream;
-import java.io.Writer;
-import java.io.File;
-import java.io.IOException;
-import javax.xml.transform.Result;
-
-
-/**
- * Stream Result
- * @author Andrew Selkirk, David Brownell
- * @version 1.0
- */
-public class StreamResult implements Result {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- public static final String FEATURE =
- "http://javax.xml.transform.stream.StreamResult/feature";
-
- private String systemId = null;
- private OutputStream outputStream = null;
- private Writer writer = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public StreamResult() {
- }
-
- public StreamResult(OutputStream stream) {
- this.outputStream = stream;
- }
-
- public StreamResult(Writer writer) {
- this.writer = writer;
- }
-
- public StreamResult(String systemID) {
- this.systemId = systemID;
- }
-
- public StreamResult(File file) {
- setSystemId (file);
- }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public OutputStream getOutputStream() {
- return outputStream;
- }
-
- public String getSystemId() {
- return systemId;
- }
-
- public Writer getWriter() {
- return writer;
- }
-
- public void setOutputStream(OutputStream stream) {
- this.outputStream = stream;
- }
-
- public void setWriter(Writer writer) {
- this.writer = writer;
- }
-
- public void setSystemId(File file) {
- try {
- this.systemId = StreamSource.fileToURL (file).toString ();
- } catch (IOException e) {
- // can't happen
- throw new RuntimeException (e.getMessage ());
- }
- }
-
- public void setSystemId(String systemID) {
- this.systemId = systemID;
- }
-}
diff --git a/external/jaxp/source/javax/xml/transform/stream/StreamSource.java b/external/jaxp/source/javax/xml/transform/stream/StreamSource.java
deleted file mode 100644
index 22d6a306a..000000000
--- a/external/jaxp/source/javax/xml/transform/stream/StreamSource.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * $Id: StreamSource.java,v 1.2 2004-05-01 16:18:51 mark Exp $
- * Copyright (C) 2001 Andrew Selkirk
- * Copyright (C) 2001 David Brownell
- *
- * This file is part of GNU JAXP, a library.
- *
- * GNU JAXP is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GNU JAXP is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * As a special exception, if you link this library with other files to
- * produce an executable, this library does not by itself cause the
- * resulting executable to be covered by the GNU General Public License.
- * This exception does not however invalidate any other reasons why the
- * executable file might be covered by the GNU General Public License.
- */
-package javax.xml.transform.stream;
-
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.File;
-import java.io.IOException;
-import javax.xml.transform.Source;
-
-
-/**
- * Stream Source
- * @author Andrew Selkirk
- * @version 1.0
- */
-public class StreamSource implements Source {
-
- //-------------------------------------------------------------
- // Variables --------------------------------------------------
- //-------------------------------------------------------------
-
- public static final String FEATURE =
- "http://javax.xml.transform.stream.StreamSource/feature";
-
- private String publicId = null;
- private String systemId = null;
- private InputStream inputStream = null;
- private Reader reader = null;
-
-
- //-------------------------------------------------------------
- // Initialization ---------------------------------------------
- //-------------------------------------------------------------
-
- public StreamSource() {
- }
-
- public StreamSource(File file) {
- setSystemId (file);
- }
-
- public StreamSource(InputStream stream) {
- this.inputStream = stream;
- }
-
- public StreamSource(InputStream stream, String systemID) {
- this.inputStream = stream;
- this.systemId = systemID;
- }
-
- public StreamSource(Reader reader) {
- this.reader = reader;
- }
-
- public StreamSource(Reader reader, String systemID) {
- this.reader = reader;
- this.systemId = systemID;
- }
-
- public StreamSource(String systemID) {
- this.systemId = systemID;
- }
-
-
- //-------------------------------------------------------------
- // Methods ----------------------------------------------------
- //-------------------------------------------------------------
-
- public InputStream getInputStream() {
- return inputStream;
- }
-
- public String getPublicId() {
- return publicId;
- }
-
- public Reader getReader() {
- return reader;
- }
-
- public String getSystemId() {
- return systemId;
- }
-
-
- public void setInputStream(InputStream stream) {
- this.inputStream = stream;
- }
-
- public void setPublicId(String publicID) {
- this.publicId = publicID;
- }
-
- public void setReader(Reader reader) {
- this.reader = reader;
- }
-
- public void setSystemId(File file) {
- try {
- this.systemId = fileToURL (file).toString ();
- } catch (IOException e) {
- // can't happen
- throw new RuntimeException (e.getMessage ());
- }
- }
-
- public void setSystemId(String systemID) {
- this.systemId = systemID;
- }
-
- // we don't demand jdk 1.2 File.toURL() in the runtime
- // keep in sync with gnu.xml.util.Resolver
- // and javax.xml.parsers.DocumentBuilder
- static String fileToURL (File f)
- throws IOException
- {
- String temp;
-
- // FIXME: getAbsolutePath() seems buggy; I'm seeing components
- // like "/foo/../" which are clearly not "absolute"
- // and should have been resolved with the filesystem.
-
- // Substituting "/" would be wrong, "foo" may have been
- // symlinked ... the URL code will make that change
- // later, so that things can get _really_ broken!
-
- temp = f.getAbsolutePath ();
-
- if (File.separatorChar != '/')
- temp = temp.replace (File.separatorChar, '/');
- if (!temp.startsWith ("/"))
- temp = "/" + temp;
- if (!temp.endsWith ("/") && f.isDirectory ())
- temp = temp + "/";
- return "file:" + temp;
- }
-}
diff --git a/external/jaxp/source/javax/xml/transform/stream/package.html b/external/jaxp/source/javax/xml/transform/stream/package.html
deleted file mode 100644
index f9d052b19..000000000
--- a/external/jaxp/source/javax/xml/transform/stream/package.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><head>trax for streams</head><body>
-
-<p>Support for text stream inputs and outputs to transformers.
-
-</body></html>
-
diff --git a/external/jaxp/source/org/w3c/dom/Attr.java b/external/jaxp/source/org/w3c/dom/Attr.java
deleted file mode 100755
index 4ba62e239..000000000
--- a/external/jaxp/source/org/w3c/dom/Attr.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>Attr</code> interface represents an attribute in an
- * <code>Element</code> object. Typically the allowable values for the
- * attribute are defined in a document type definition.
- * <p><code>Attr</code> objects inherit the <code>Node</code> interface, but
- * since they are not actually child nodes of the element they describe, the
- * DOM does not consider them part of the document tree. Thus, the
- * <code>Node</code> attributes <code>parentNode</code>,
- * <code>previousSibling</code>, and <code>nextSibling</code> have a
- * <code>null</code> value for <code>Attr</code> objects. The DOM takes the
- * view that attributes are properties of elements rather than having a
- * separate identity from the elements they are associated with; this should
- * make it more efficient to implement such features as default attributes
- * associated with all elements of a given type. Furthermore,
- * <code>Attr</code> nodes may not be immediate children of a
- * <code>DocumentFragment</code>. However, they can be associated with
- * <code>Element</code> nodes contained within a
- * <code>DocumentFragment</code>. In short, users and implementors of the
- * DOM need to be aware that <code>Attr</code> nodes have some things in
- * common with other objects inheriting the <code>Node</code> interface, but
- * they also are quite distinct.
- * <p>The attribute's effective value is determined as follows: if this
- * attribute has been explicitly assigned any value, that value is the
- * attribute's effective value; otherwise, if there is a declaration for
- * this attribute, and that declaration includes a default value, then that
- * default value is the attribute's effective value; otherwise, the
- * attribute does not exist on this element in the structure model until it
- * has been explicitly added. Note that the <code>nodeValue</code> attribute
- * on the <code>Attr</code> instance can also be used to retrieve the string
- * version of the attribute's value(s).
- * <p>In XML, where the value of an attribute can contain entity references,
- * the child nodes of the <code>Attr</code> node may be either
- * <code>Text</code> or <code>EntityReference</code> nodes (when these are
- * in use; see the description of <code>EntityReference</code> for
- * discussion). Because the DOM Core is not aware of attribute types, it
- * treats all attribute values as simple strings, even if the DTD or schema
- * declares them as having tokenized types.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Attr extends Node {
- /**
- * Returns the name of this attribute.
- */
- public String getName();
-
- /**
- * If this attribute was explicitly given a value in the original
- * document, this is <code>true</code>; otherwise, it is
- * <code>false</code>. Note that the implementation is in charge of this
- * attribute, not the user. If the user changes the value of the
- * attribute (even if it ends up having the same value as the default
- * value) then the <code>specified</code> flag is automatically flipped
- * to <code>true</code>. To re-specify the attribute as the default
- * value from the DTD, the user must delete the attribute. The
- * implementation will then make a new attribute available with
- * <code>specified</code> set to <code>false</code> and the default
- * value (if one exists).
- * <br>In summary: If the attribute has an assigned value in the document
- * then <code>specified</code> is <code>true</code>, and the value is
- * the assigned value.If the attribute has no assigned value in the
- * document and has a default value in the DTD, then
- * <code>specified</code> is <code>false</code>, and the value is the
- * default value in the DTD.If the attribute has no assigned value in
- * the document and has a value of #IMPLIED in the DTD, then the
- * attribute does not appear in the structure model of the document.If
- * the <code>ownerElement</code> attribute is <code>null</code> (i.e.
- * because it was just created or was set to <code>null</code> by the
- * various removal and cloning operations) <code>specified</code> is
- * <code>true</code>.
- */
- public boolean getSpecified();
-
- /**
- * On retrieval, the value of the attribute is returned as a string.
- * Character and general entity references are replaced with their
- * values. See also the method <code>getAttribute</code> on the
- * <code>Element</code> interface.
- * <br>On setting, this creates a <code>Text</code> node with the unparsed
- * contents of the string. I.e. any characters that an XML processor
- * would recognize as markup are instead treated as literal text. See
- * also the method <code>setAttribute</code> on the <code>Element</code>
- * interface.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- */
- public String getValue();
- /**
- * On retrieval, the value of the attribute is returned as a string.
- * Character and general entity references are replaced with their
- * values. See also the method <code>getAttribute</code> on the
- * <code>Element</code> interface.
- * <br>On setting, this creates a <code>Text</code> node with the unparsed
- * contents of the string. I.e. any characters that an XML processor
- * would recognize as markup are instead treated as literal text. See
- * also the method <code>setAttribute</code> on the <code>Element</code>
- * interface.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- */
- public void setValue(String value)
- throws DOMException;
-
- /**
- * The <code>Element</code> node this attribute is attached to or
- * <code>null</code> if this attribute is not in use.
- * @since DOM Level 2
- */
- public Element getOwnerElement();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/CDATASection.java b/external/jaxp/source/org/w3c/dom/CDATASection.java
deleted file mode 100755
index f3aea8ae8..000000000
--- a/external/jaxp/source/org/w3c/dom/CDATASection.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * CDATA sections are used to escape blocks of text containing characters that
- * would otherwise be regarded as markup. The only delimiter that is
- * recognized in a CDATA section is the "]]&gt;" string that ends the CDATA
- * section. CDATA sections cannot be nested. Their primary purpose is for
- * including material such as XML fragments, without needing to escape all
- * the delimiters.
- * <p>The <code>DOMString</code> attribute of the <code>Text</code> node holds
- * the text that is contained by the CDATA section. Note that this may
- * contain characters that need to be escaped outside of CDATA sections and
- * that, depending on the character encoding ("charset") chosen for
- * serialization, it may be impossible to write out some characters as part
- * of a CDATA section.
- * <p>The <code>CDATASection</code> interface inherits from the
- * <code>CharacterData</code> interface through the <code>Text</code>
- * interface. Adjacent <code>CDATASection</code> nodes are not merged by use
- * of the <code>normalize</code> method of the <code>Node</code> interface.
- * Because no markup is recognized within a <code>CDATASection</code>,
- * character numeric references cannot be used as an escape mechanism when
- * serializing. Therefore, action needs to be taken when serializing a
- * <code>CDATASection</code> with a character encoding where some of the
- * contained characters cannot be represented. Failure to do so would not
- * produce well-formed XML.One potential solution in the serialization
- * process is to end the CDATA section before the character, output the
- * character using a character reference or entity reference, and open a new
- * CDATA section for any further characters in the text node. Note, however,
- * that some code conversion libraries at the time of writing do not return
- * an error or exception when a character is missing from the encoding,
- * making the task of ensuring that data is not corrupted on serialization
- * more difficult.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface CDATASection extends Text {
-}
diff --git a/external/jaxp/source/org/w3c/dom/CharacterData.java b/external/jaxp/source/org/w3c/dom/CharacterData.java
deleted file mode 100755
index c067120f6..000000000
--- a/external/jaxp/source/org/w3c/dom/CharacterData.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>CharacterData</code> interface extends Node with a set of
- * attributes and methods for accessing character data in the DOM. For
- * clarity this set is defined here rather than on each object that uses
- * these attributes and methods. No DOM objects correspond directly to
- * <code>CharacterData</code>, though <code>Text</code> and others do
- * inherit the interface from it. All <code>offsets</code> in this interface
- * start from <code>0</code>.
- * <p>As explained in the <code>DOMString</code> interface, text strings in
- * the DOM are represented in UTF-16, i.e. as a sequence of 16-bit units. In
- * the following, the term 16-bit units is used whenever necessary to
- * indicate that indexing on CharacterData is done in 16-bit units.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface CharacterData extends Node {
- /**
- * The character data of the node that implements this interface. The DOM
- * implementation may not put arbitrary limits on the amount of data
- * that may be stored in a <code>CharacterData</code> node. However,
- * implementation limits may mean that the entirety of a node's data may
- * not fit into a single <code>DOMString</code>. In such cases, the user
- * may call <code>substringData</code> to retrieve the data in
- * appropriately sized pieces.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- * @exception DOMException
- * DOMSTRING_SIZE_ERR: Raised when it would return more characters than
- * fit in a <code>DOMString</code> variable on the implementation
- * platform.
- */
- public String getData()
- throws DOMException;
- /**
- * The character data of the node that implements this interface. The DOM
- * implementation may not put arbitrary limits on the amount of data
- * that may be stored in a <code>CharacterData</code> node. However,
- * implementation limits may mean that the entirety of a node's data may
- * not fit into a single <code>DOMString</code>. In such cases, the user
- * may call <code>substringData</code> to retrieve the data in
- * appropriately sized pieces.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- * @exception DOMException
- * DOMSTRING_SIZE_ERR: Raised when it would return more characters than
- * fit in a <code>DOMString</code> variable on the implementation
- * platform.
- */
- public void setData(String data)
- throws DOMException;
-
- /**
- * The number of 16-bit units that are available through <code>data</code>
- * and the <code>substringData</code> method below. This may have the
- * value zero, i.e., <code>CharacterData</code> nodes may be empty.
- */
- public int getLength();
-
- /**
- * Extracts a range of data from the node.
- * @param offset Start offset of substring to extract.
- * @param count The number of 16-bit units to extract.
- * @return The specified substring. If the sum of <code>offset</code> and
- * <code>count</code> exceeds the <code>length</code>, then all 16-bit
- * units to the end of the data are returned.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is
- * negative or greater than the number of 16-bit units in
- * <code>data</code>, or if the specified <code>count</code> is
- * negative.
- * <br>DOMSTRING_SIZE_ERR: Raised if the specified range of text does
- * not fit into a <code>DOMString</code>.
- */
- public String substringData(int offset,
- int count)
- throws DOMException;
-
- /**
- * Append the string to the end of the character data of the node. Upon
- * success, <code>data</code> provides access to the concatenation of
- * <code>data</code> and the <code>DOMString</code> specified.
- * @param arg The <code>DOMString</code> to append.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public void appendData(String arg)
- throws DOMException;
-
- /**
- * Insert a string at the specified 16-bit unit offset.
- * @param offset The character offset at which to insert.
- * @param arg The <code>DOMString</code> to insert.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is
- * negative or greater than the number of 16-bit units in
- * <code>data</code>.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public void insertData(int offset,
- String arg)
- throws DOMException;
-
- /**
- * Remove a range of 16-bit units from the node. Upon success,
- * <code>data</code> and <code>length</code> reflect the change.
- * @param offset The offset from which to start removing.
- * @param count The number of 16-bit units to delete. If the sum of
- * <code>offset</code> and <code>count</code> exceeds
- * <code>length</code> then all 16-bit units from <code>offset</code>
- * to the end of the data are deleted.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is
- * negative or greater than the number of 16-bit units in
- * <code>data</code>, or if the specified <code>count</code> is
- * negative.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public void deleteData(int offset,
- int count)
- throws DOMException;
-
- /**
- * Replace the characters starting at the specified 16-bit unit offset
- * with the specified string.
- * @param offset The offset from which to start replacing.
- * @param count The number of 16-bit units to replace. If the sum of
- * <code>offset</code> and <code>count</code> exceeds
- * <code>length</code>, then all 16-bit units to the end of the data
- * are replaced; (i.e., the effect is the same as a <code>remove</code>
- * method call with the same range, followed by an <code>append</code>
- * method invocation).
- * @param arg The <code>DOMString</code> with which the range must be
- * replaced.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>offset</code> is
- * negative or greater than the number of 16-bit units in
- * <code>data</code>, or if the specified <code>count</code> is
- * negative.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public void replaceData(int offset,
- int count,
- String arg)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Comment.java b/external/jaxp/source/org/w3c/dom/Comment.java
deleted file mode 100755
index 109792190..000000000
--- a/external/jaxp/source/org/w3c/dom/Comment.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * This interface inherits from <code>CharacterData</code> and represents the
- * content of a comment, i.e., all the characters between the starting '
- * <code>&lt;!--</code>' and ending '<code>--&gt;</code>'. Note that this is
- * the definition of a comment in XML, and, in practice, HTML, although some
- * HTML tools may implement the full SGML comment structure.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Comment extends CharacterData {
-}
diff --git a/external/jaxp/source/org/w3c/dom/DOMException.java b/external/jaxp/source/org/w3c/dom/DOMException.java
deleted file mode 100755
index 16866cebc..000000000
--- a/external/jaxp/source/org/w3c/dom/DOMException.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * DOM operations only raise exceptions in "exceptional" circumstances, i.e.,
- * when an operation is impossible to perform (either for logical reasons,
- * because data is lost, or because the implementation has become unstable).
- * In general, DOM methods return specific error values in ordinary
- * processing situations, such as out-of-bound errors when using
- * <code>NodeList</code>.
- * <p>Implementations should raise other exceptions under other circumstances.
- * For example, implementations should raise an implementation-dependent
- * exception if a <code>null</code> argument is passed.
- * <p>Some languages and object systems do not support the concept of
- * exceptions. For such systems, error conditions may be indicated using
- * native error reporting mechanisms. For some bindings, for example,
- * methods may return error codes similar to those listed in the
- * corresponding method descriptions.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public class DOMException extends RuntimeException {
- public DOMException(short code, String message) {
- super(message);
- this.code = code;
- }
- public short code;
- // ExceptionCode
- /**
- * If index or size is negative, or greater than the allowed value
- */
- public static final short INDEX_SIZE_ERR = 1;
- /**
- * If the specified range of text does not fit into a DOMString
- */
- public static final short DOMSTRING_SIZE_ERR = 2;
- /**
- * If any node is inserted somewhere it doesn't belong
- */
- public static final short HIERARCHY_REQUEST_ERR = 3;
- /**
- * If a node is used in a different document than the one that created it
- * (that doesn't support it)
- */
- public static final short WRONG_DOCUMENT_ERR = 4;
- /**
- * If an invalid or illegal character is specified, such as in a name. See
- * production 2 in the XML specification for the definition of a legal
- * character, and production 5 for the definition of a legal name
- * character.
- */
- public static final short INVALID_CHARACTER_ERR = 5;
- /**
- * If data is specified for a node which does not support data
- */
- public static final short NO_DATA_ALLOWED_ERR = 6;
- /**
- * If an attempt is made to modify an object where modifications are not
- * allowed
- */
- public static final short NO_MODIFICATION_ALLOWED_ERR = 7;
- /**
- * If an attempt is made to reference a node in a context where it does
- * not exist
- */
- public static final short NOT_FOUND_ERR = 8;
- /**
- * If the implementation does not support the requested type of object or
- * operation.
- */
- public static final short NOT_SUPPORTED_ERR = 9;
- /**
- * If an attempt is made to add an attribute that is already in use
- * elsewhere
- */
- public static final short INUSE_ATTRIBUTE_ERR = 10;
- /**
- * If an attempt is made to use an object that is not, or is no longer,
- * usable.
- * @since DOM Level 2
- */
- public static final short INVALID_STATE_ERR = 11;
- /**
- * If an invalid or illegal string is specified.
- * @since DOM Level 2
- */
- public static final short SYNTAX_ERR = 12;
- /**
- * If an attempt is made to modify the type of the underlying object.
- * @since DOM Level 2
- */
- public static final short INVALID_MODIFICATION_ERR = 13;
- /**
- * If an attempt is made to create or change an object in a way which is
- * incorrect with regard to namespaces.
- * @since DOM Level 2
- */
- public static final short NAMESPACE_ERR = 14;
- /**
- * If a parameter or an operation is not supported by the underlying
- * object.
- * @since DOM Level 2
- */
- public static final short INVALID_ACCESS_ERR = 15;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/DOMImplementation.java b/external/jaxp/source/org/w3c/dom/DOMImplementation.java
deleted file mode 100755
index 6e9a55404..000000000
--- a/external/jaxp/source/org/w3c/dom/DOMImplementation.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>DOMImplementation</code> interface provides a number of methods
- * for performing operations that are independent of any particular instance
- * of the document object model.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface DOMImplementation {
- /**
- * Test if the DOM implementation implements a specific feature.
- * @param feature The name of the feature to test (case-insensitive). The
- * values used by DOM features are defined throughout the DOM Level 2
- * specifications and listed in the section. The name must be an XML
- * name. To avoid possible conflicts, as a convention, names referring
- * to features defined outside the DOM specification should be made
- * unique.
- * @param version This is the version number of the feature to test. In
- * Level 2, the string can be either "2.0" or "1.0". If the version is
- * not specified, supporting any version of the feature causes the
- * method to return <code>true</code>.
- * @return <code>true</code> if the feature is implemented in the
- * specified version, <code>false</code> otherwise.
- */
- public boolean hasFeature(String feature,
- String version);
-
- /**
- * Creates an empty <code>DocumentType</code> node. Entity declarations
- * and notations are not made available. Entity reference expansions and
- * default attribute additions do not occur. It is expected that a
- * future version of the DOM will provide a way for populating a
- * <code>DocumentType</code>.
- * @param qualifiedName The qualified name of the document type to be
- * created.
- * @param publicId The external subset public identifier.
- * @param systemId The external subset system identifier.
- * @return A new <code>DocumentType</code> node with
- * <code>Node.ownerDocument</code> set to <code>null</code>.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified qualified name
- * contains an illegal character.
- * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is
- * malformed.
- * <br>NOT_SUPPORTED_ERR: May be raised by DOM implementations which do
- * not support the <code>"XML"</code> feature, if they choose not to
- * support this method. Other features introduced in the future, by
- * the DOM WG or in extensions defined by other groups, may also
- * demand support for this method; please consult the definition of
- * the feature to see if it requires this method.
- * @since DOM Level 2
- */
- public DocumentType createDocumentType(String qualifiedName,
- String publicId,
- String systemId)
- throws DOMException;
-
- /**
- * Creates a DOM Document object of the specified type with its document
- * element.
- * @param namespaceURI The namespace URI of the document element to
- * create.
- * @param qualifiedName The qualified name of the document element to be
- * created.
- * @param doctype The type of document to be created or <code>null</code>.
- * When <code>doctype</code> is not <code>null</code>, its
- * <code>Node.ownerDocument</code> attribute is set to the document
- * being created.
- * @return A new <code>Document</code> object.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified qualified name
- * contains an illegal character.
- * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is
- * malformed, if the <code>qualifiedName</code> has a prefix and the
- * <code>namespaceURI</code> is <code>null</code>, or if the
- * <code>qualifiedName</code> has a prefix that is "xml" and the
- * <code>namespaceURI</code> is different from "
- * http://www.w3.org/XML/1998/namespace" , or if the DOM
- * implementation does not support the <code>"XML"</code> feature but
- * a non-null namespace URI was provided, since namespaces were
- * defined by XML.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has already
- * been used with a different document or was created from a different
- * implementation.
- * <br>NOT_SUPPORTED_ERR: May be raised by DOM implementations which do
- * not support the "XML" feature, if they choose not to support this
- * method. Other features introduced in the future, by the DOM WG or
- * in extensions defined by other groups, may also demand support for
- * this method; please consult the definition of the feature to see if
- * it requires this method.
- * @since DOM Level 2
- */
- public Document createDocument(String namespaceURI,
- String qualifiedName,
- DocumentType doctype)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Document.java b/external/jaxp/source/org/w3c/dom/Document.java
deleted file mode 100755
index 79214e017..000000000
--- a/external/jaxp/source/org/w3c/dom/Document.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>Document</code> interface represents the entire HTML or XML
- * document. Conceptually, it is the root of the document tree, and provides
- * the primary access to the document's data.
- * <p>Since elements, text nodes, comments, processing instructions, etc.
- * cannot exist outside the context of a <code>Document</code>, the
- * <code>Document</code> interface also contains the factory methods needed
- * to create these objects. The <code>Node</code> objects created have a
- * <code>ownerDocument</code> attribute which associates them with the
- * <code>Document</code> within whose context they were created.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Document extends Node {
- /**
- * The Document Type Declaration (see <code>DocumentType</code>)
- * associated with this document. For HTML documents as well as XML
- * documents without a document type declaration this returns
- * <code>null</code>. The DOM Level 2 does not support editing the
- * Document Type Declaration. <code>docType</code> cannot be altered in
- * any way, including through the use of methods inherited from the
- * <code>Node</code> interface, such as <code>insertNode</code> or
- * <code>removeNode</code>.
- */
- public DocumentType getDoctype();
-
- /**
- * The <code>DOMImplementation</code> object that handles this document. A
- * DOM application may use objects from multiple implementations.
- */
- public DOMImplementation getImplementation();
-
- /**
- * This is a convenience attribute that allows direct access to the child
- * node that is the root element of the document. For HTML documents,
- * this is the element with the tagName "HTML".
- */
- public Element getDocumentElement();
-
- /**
- * Creates an element of the type specified. Note that the instance
- * returned implements the <code>Element</code> interface, so attributes
- * can be specified directly on the returned object.
- * <br>In addition, if there are known attributes with default values,
- * <code>Attr</code> nodes representing them are automatically created
- * and attached to the element.
- * <br>To create an element with a qualified name and namespace URI, use
- * the <code>createElementNS</code> method.
- * @param tagName The name of the element type to instantiate. For XML,
- * this is case-sensitive. For HTML, the <code>tagName</code>
- * parameter may be provided in any case, but it must be mapped to the
- * canonical uppercase form by the DOM implementation.
- * @return A new <code>Element</code> object with the
- * <code>nodeName</code> attribute set to <code>tagName</code>, and
- * <code>localName</code>, <code>prefix</code>, and
- * <code>namespaceURI</code> set to <code>null</code>.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified name contains an
- * illegal character.
- */
- public Element createElement(String tagName)
- throws DOMException;
-
- /**
- * Creates an empty <code>DocumentFragment</code> object.
- * @return A new <code>DocumentFragment</code>.
- */
- public DocumentFragment createDocumentFragment();
-
- /**
- * Creates a <code>Text</code> node given the specified string.
- * @param data The data for the node.
- * @return The new <code>Text</code> object.
- */
- public Text createTextNode(String data);
-
- /**
- * Creates a <code>Comment</code> node given the specified string.
- * @param data The data for the node.
- * @return The new <code>Comment</code> object.
- */
- public Comment createComment(String data);
-
- /**
- * Creates a <code>CDATASection</code> node whose value is the specified
- * string.
- * @param data The data for the <code>CDATASection</code> contents.
- * @return The new <code>CDATASection</code> object.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
- */
- public CDATASection createCDATASection(String data)
- throws DOMException;
-
- /**
- * Creates a <code>ProcessingInstruction</code> node given the specified
- * name and data strings.
- * @param target The target part of the processing instruction.
- * @param data The data for the node.
- * @return The new <code>ProcessingInstruction</code> object.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified target contains an
- * illegal character.
- * <br>NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
- */
- public ProcessingInstruction createProcessingInstruction(String target,
- String data)
- throws DOMException;
-
- /**
- * Creates an <code>Attr</code> of the given name. Note that the
- * <code>Attr</code> instance can then be set on an <code>Element</code>
- * using the <code>setAttributeNode</code> method.
- * <br>To create an attribute with a qualified name and namespace URI, use
- * the <code>createAttributeNS</code> method.
- * @param name The name of the attribute.
- * @return A new <code>Attr</code> object with the <code>nodeName</code>
- * attribute set to <code>name</code>, and <code>localName</code>,
- * <code>prefix</code>, and <code>namespaceURI</code> set to
- * <code>null</code>. The value of the attribute is the empty string.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified name contains an
- * illegal character.
- */
- public Attr createAttribute(String name)
- throws DOMException;
-
- /**
- * Creates an <code>EntityReference</code> object. In addition, if the
- * referenced entity is known, the child list of the
- * <code>EntityReference</code> node is made the same as that of the
- * corresponding <code>Entity</code> node.If any descendant of the
- * <code>Entity</code> node has an unbound namespace prefix, the
- * corresponding descendant of the created <code>EntityReference</code>
- * node is also unbound; (its <code>namespaceURI</code> is
- * <code>null</code>). The DOM Level 2 does not support any mechanism to
- * resolve namespace prefixes.
- * @param name The name of the entity to reference.
- * @return The new <code>EntityReference</code> object.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified name contains an
- * illegal character.
- * <br>NOT_SUPPORTED_ERR: Raised if this document is an HTML document.
- */
- public EntityReference createEntityReference(String name)
- throws DOMException;
-
- /**
- * Returns a <code>NodeList</code> of all the <code>Elements</code> with a
- * given tag name in the order in which they are encountered in a
- * preorder traversal of the <code>Document</code> tree.
- * @param tagname The name of the tag to match on. The special value "*"
- * matches all tags.
- * @return A new <code>NodeList</code> object containing all the matched
- * <code>Elements</code>.
- */
- public NodeList getElementsByTagName(String tagname);
-
- /**
- * Imports a node from another document to this document. The returned
- * node has no parent; (<code>parentNode</code> is <code>null</code>).
- * The source node is not altered or removed from the original document;
- * this method creates a new copy of the source node.
- * <br>For all nodes, importing a node creates a node object owned by the
- * importing document, with attribute values identical to the source
- * node's <code>nodeName</code> and <code>nodeType</code>, plus the
- * attributes related to namespaces (<code>prefix</code>,
- * <code>localName</code>, and <code>namespaceURI</code>). As in the
- * <code>cloneNode</code> operation on a <code>Node</code>, the source
- * node is not altered.
- * <br>Additional information is copied as appropriate to the
- * <code>nodeType</code>, attempting to mirror the behavior expected if
- * a fragment of XML or HTML source was copied from one document to
- * another, recognizing that the two documents may have different DTDs
- * in the XML case. The following list describes the specifics for each
- * type of node.
- * <dl>
- * <dt>ATTRIBUTE_NODE</dt>
- * <dd>The <code>ownerElement</code> attribute
- * is set to <code>null</code> and the <code>specified</code> flag is
- * set to <code>true</code> on the generated <code>Attr</code>. The
- * descendants of the source <code>Attr</code> are recursively imported
- * and the resulting nodes reassembled to form the corresponding subtree.
- * Note that the <code>deep</code> parameter has no effect on
- * <code>Attr</code> nodes; they always carry their children with them
- * when imported.</dd>
- * <dt>DOCUMENT_FRAGMENT_NODE</dt>
- * <dd>If the <code>deep</code> option
- * was set to <code>true</code>, the descendants of the source element
- * are recursively imported and the resulting nodes reassembled to form
- * the corresponding subtree. Otherwise, this simply generates an empty
- * <code>DocumentFragment</code>.</dd>
- * <dt>DOCUMENT_NODE</dt>
- * <dd><code>Document</code>
- * nodes cannot be imported.</dd>
- * <dt>DOCUMENT_TYPE_NODE</dt>
- * <dd><code>DocumentType</code>
- * nodes cannot be imported.</dd>
- * <dt>ELEMENT_NODE</dt>
- * <dd>Specified attribute nodes of the
- * source element are imported, and the generated <code>Attr</code>
- * nodes are attached to the generated <code>Element</code>. Default
- * attributes are not copied, though if the document being imported into
- * defines default attributes for this element name, those are assigned.
- * If the <code>importNode</code> <code>deep</code> parameter was set to
- * <code>true</code>, the descendants of the source element are
- * recursively imported and the resulting nodes reassembled to form the
- * corresponding subtree.</dd>
- * <dt>ENTITY_NODE</dt>
- * <dd><code>Entity</code> nodes can be
- * imported, however in the current release of the DOM the
- * <code>DocumentType</code> is readonly. Ability to add these imported
- * nodes to a <code>DocumentType</code> will be considered for addition
- * to a future release of the DOM.On import, the <code>publicId</code>,
- * <code>systemId</code>, and <code>notationName</code> attributes are
- * copied. If a <code>deep</code> import is requested, the descendants
- * of the the source <code>Entity</code> are recursively imported and
- * the resulting nodes reassembled to form the corresponding subtree.</dd>
- * <dt>
- * ENTITY_REFERENCE_NODE</dt>
- * <dd>Only the <code>EntityReference</code> itself is
- * copied, even if a <code>deep</code> import is requested, since the
- * source and destination documents might have defined the entity
- * differently. If the document being imported into provides a
- * definition for this entity name, its value is assigned.</dd>
- * <dt>NOTATION_NODE</dt>
- * <dd>
- * <code>Notation</code> nodes can be imported, however in the current
- * release of the DOM the <code>DocumentType</code> is readonly. Ability
- * to add these imported nodes to a <code>DocumentType</code> will be
- * considered for addition to a future release of the DOM.On import, the
- * <code>publicId</code> and <code>systemId</code> attributes are copied.
- * Note that the <code>deep</code> parameter has no effect on
- * <code>Notation</code> nodes since they never have any children.</dd>
- * <dt>
- * PROCESSING_INSTRUCTION_NODE</dt>
- * <dd>The imported node copies its
- * <code>target</code> and <code>data</code> values from those of the
- * source node.</dd>
- * <dt>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE</dt>
- * <dd>These three
- * types of nodes inheriting from <code>CharacterData</code> copy their
- * <code>data</code> and <code>length</code> attributes from those of
- * the source node.</dd>
- * </dl>
- * @param importedNode The node to import.
- * @param deep If <code>true</code>, recursively import the subtree under
- * the specified node; if <code>false</code>, import only the node
- * itself, as explained above. This has no effect on <code>Attr</code>
- * , <code>EntityReference</code>, and <code>Notation</code> nodes.
- * @return The imported node that belongs to this <code>Document</code>.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if the type of node being imported is not
- * supported.
- * @since DOM Level 2
- */
- public Node importNode(Node importedNode,
- boolean deep)
- throws DOMException;
-
- /**
- * Creates an element of the given qualified name and namespace URI.
- * @param namespaceURI The namespace URI of the element to create.
- * @param qualifiedName The qualified name of the element type to
- * instantiate.
- * @return A new <code>Element</code> object with the following
- * attributes:
- * <table border='1'>
- * <tr>
- * <th>Attribute</th>
- * <th>Value</th>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeName</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>qualifiedName</code></td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.namespaceURI</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>namespaceURI</code></td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.prefix</code></td>
- * <td valign='top' rowspan='1' colspan='1'>prefix, extracted
- * from <code>qualifiedName</code>, or <code>null</code> if there is
- * no prefix</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.localName</code></td>
- * <td valign='top' rowspan='1' colspan='1'>local name, extracted from
- * <code>qualifiedName</code></td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Element.tagName</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>qualifiedName</code></td>
- * </tr>
- * </table>
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified qualified name
- * contains an illegal character, per the XML 1.0 specification .
- * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is
- * malformed per the Namespaces in XML specification, if the
- * <code>qualifiedName</code> has a prefix and the
- * <code>namespaceURI</code> is <code>null</code>, or if the
- * <code>qualifiedName</code> has a prefix that is "xml" and the
- * <code>namespaceURI</code> is different from "
- * http://www.w3.org/XML/1998/namespace" .
- * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not
- * support the <code>"XML"</code> feature, since namespaces were
- * defined by XML.
- * @since DOM Level 2
- */
- public Element createElementNS(String namespaceURI,
- String qualifiedName)
- throws DOMException;
-
- /**
- * Creates an attribute of the given qualified name and namespace URI.
- * @param namespaceURI The namespace URI of the attribute to create.
- * @param qualifiedName The qualified name of the attribute to
- * instantiate.
- * @return A new <code>Attr</code> object with the following attributes:
- * <table border='1'>
- * <tr>
- * <th>
- * Attribute</th>
- * <th>Value</th>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeName</code></td>
- * <td valign='top' rowspan='1' colspan='1'>qualifiedName</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>Node.namespaceURI</code></td>
- * <td valign='top' rowspan='1' colspan='1'><code>namespaceURI</code></td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>Node.prefix</code></td>
- * <td valign='top' rowspan='1' colspan='1'>prefix, extracted from
- * <code>qualifiedName</code>, or <code>null</code> if there is no
- * prefix</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.localName</code></td>
- * <td valign='top' rowspan='1' colspan='1'>local name, extracted from
- * <code>qualifiedName</code></td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Attr.name</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>qualifiedName</code></td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'><code>Node.nodeValue</code></td>
- * <td valign='top' rowspan='1' colspan='1'>the empty
- * string</td>
- * </tr>
- * </table>
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified qualified name
- * contains an illegal character, per the XML 1.0 specification .
- * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is
- * malformed per the Namespaces in XML specification, if the
- * <code>qualifiedName</code> has a prefix and the
- * <code>namespaceURI</code> is <code>null</code>, if the
- * <code>qualifiedName</code> has a prefix that is "xml" and the
- * <code>namespaceURI</code> is different from "
- * http://www.w3.org/XML/1998/namespace", or if the
- * <code>qualifiedName</code>, or its prefix, is "xmlns" and the
- * <code>namespaceURI</code> is different from "
- * http://www.w3.org/2000/xmlns/".
- * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not
- * support the <code>"XML"</code> feature, since namespaces were
- * defined by XML.
- * @since DOM Level 2
- */
- public Attr createAttributeNS(String namespaceURI,
- String qualifiedName)
- throws DOMException;
-
- /**
- * Returns a <code>NodeList</code> of all the <code>Elements</code> with a
- * given local name and namespace URI in the order in which they are
- * encountered in a preorder traversal of the <code>Document</code> tree.
- * @param namespaceURI The namespace URI of the elements to match on. The
- * special value "*" matches all namespaces.
- * @param localName The local name of the elements to match on. The
- * special value "*" matches all local names.
- * @return A new <code>NodeList</code> object containing all the matched
- * <code>Elements</code>.
- * @since DOM Level 2
- */
- public NodeList getElementsByTagNameNS(String namespaceURI,
- String localName);
-
- /**
- * Returns the <code>Element</code> whose <code>ID</code> is given by
- * <code>elementId</code>. If no such element exists, returns
- * <code>null</code>. Behavior is not defined if more than one element
- * has this <code>ID</code>. The DOM implementation must have
- * information that says which attributes are of type ID. Attributes
- * with the name "ID" are not of type ID unless so defined.
- * Implementations that do not know whether attributes are of type ID or
- * not are expected to return <code>null</code>.
- * @param elementId The unique <code>id</code> value for an element.
- * @return The matching element.
- * @since DOM Level 2
- */
- public Element getElementById(String elementId);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/DocumentFragment.java b/external/jaxp/source/org/w3c/dom/DocumentFragment.java
deleted file mode 100755
index 6ade30cc9..000000000
--- a/external/jaxp/source/org/w3c/dom/DocumentFragment.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * <code>DocumentFragment</code> is a "lightweight" or "minimal"
- * <code>Document</code> object. It is very common to want to be able to
- * extract a portion of a document's tree or to create a new fragment of a
- * document. Imagine implementing a user command like cut or rearranging a
- * document by moving fragments around. It is desirable to have an object
- * which can hold such fragments and it is quite natural to use a Node for
- * this purpose. While it is true that a <code>Document</code> object could
- * fulfill this role, a <code>Document</code> object can potentially be a
- * heavyweight object, depending on the underlying implementation. What is
- * really needed for this is a very lightweight object.
- * <code>DocumentFragment</code> is such an object.
- * <p>Furthermore, various operations -- such as inserting nodes as children
- * of another <code>Node</code> -- may take <code>DocumentFragment</code>
- * objects as arguments; this results in all the child nodes of the
- * <code>DocumentFragment</code> being moved to the child list of this node.
- * <p>The children of a <code>DocumentFragment</code> node are zero or more
- * nodes representing the tops of any sub-trees defining the structure of
- * the document. <code>DocumentFragment</code> nodes do not need to be
- * well-formed XML documents (although they do need to follow the rules
- * imposed upon well-formed XML parsed entities, which can have multiple top
- * nodes). For example, a <code>DocumentFragment</code> might have only one
- * child and that child node could be a <code>Text</code> node. Such a
- * structure model represents neither an HTML document nor a well-formed XML
- * document.
- * <p>When a <code>DocumentFragment</code> is inserted into a
- * <code>Document</code> (or indeed any other <code>Node</code> that may
- * take children) the children of the <code>DocumentFragment</code> and not
- * the <code>DocumentFragment</code> itself are inserted into the
- * <code>Node</code>. This makes the <code>DocumentFragment</code> very
- * useful when the user wishes to create nodes that are siblings; the
- * <code>DocumentFragment</code> acts as the parent of these nodes so that
- * the user can use the standard methods from the <code>Node</code>
- * interface, such as <code>insertBefore</code> and <code>appendChild</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface DocumentFragment extends Node {
-}
diff --git a/external/jaxp/source/org/w3c/dom/DocumentType.java b/external/jaxp/source/org/w3c/dom/DocumentType.java
deleted file mode 100755
index 86c312b72..000000000
--- a/external/jaxp/source/org/w3c/dom/DocumentType.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * Each <code>Document</code> has a <code>doctype</code> attribute whose value
- * is either <code>null</code> or a <code>DocumentType</code> object. The
- * <code>DocumentType</code> interface in the DOM Core provides an interface
- * to the list of entities that are defined for the document, and little
- * else because the effect of namespaces and the various XML schema efforts
- * on DTD representation are not clearly understood as of this writing.
- * <p>The DOM Level 2 doesn't support editing <code>DocumentType</code> nodes.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface DocumentType extends Node {
- /**
- * The name of DTD; i.e., the name immediately following the
- * <code>DOCTYPE</code> keyword.
- */
- public String getName();
-
- /**
- * A <code>NamedNodeMap</code> containing the general entities, both
- * external and internal, declared in the DTD. Parameter entities are
- * not contained. Duplicates are discarded. For example in:
- * <pre>&lt;!DOCTYPE
- * ex SYSTEM "ex.dtd" [ &lt;!ENTITY foo "foo"&gt; &lt;!ENTITY bar
- * "bar"&gt; &lt;!ENTITY bar "bar2"&gt; &lt;!ENTITY % baz "baz"&gt;
- * ]&gt; &lt;ex/&gt;</pre>
- * the interface provides access to <code>foo</code>
- * and the first declaration of <code>bar</code> but not the second
- * declaration of <code>bar</code> or <code>baz</code>. Every node in
- * this map also implements the <code>Entity</code> interface.
- * <br>The DOM Level 2 does not support editing entities, therefore
- * <code>entities</code> cannot be altered in any way.
- */
- public NamedNodeMap getEntities();
-
- /**
- * A <code>NamedNodeMap</code> containing the notations declared in the
- * DTD. Duplicates are discarded. Every node in this map also implements
- * the <code>Notation</code> interface.
- * <br>The DOM Level 2 does not support editing notations, therefore
- * <code>notations</code> cannot be altered in any way.
- */
- public NamedNodeMap getNotations();
-
- /**
- * The public identifier of the external subset.
- * @since DOM Level 2
- */
- public String getPublicId();
-
- /**
- * The system identifier of the external subset.
- * @since DOM Level 2
- */
- public String getSystemId();
-
- /**
- * The internal subset as a string, or <code>null</code> if there is none.
- * This is does not contain the delimiting square brackets.The actual
- * content returned depends on how much information is available to the
- * implementation. This may vary depending on various parameters,
- * including the XML processor used to build the document.
- * @since DOM Level 2
- */
- public String getInternalSubset();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Element.java b/external/jaxp/source/org/w3c/dom/Element.java
deleted file mode 100755
index 614ca8784..000000000
--- a/external/jaxp/source/org/w3c/dom/Element.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>Element</code> interface represents an element in an HTML or XML
- * document. Elements may have attributes associated with them; since the
- * <code>Element</code> interface inherits from <code>Node</code>, the
- * generic <code>Node</code> interface attribute <code>attributes</code> may
- * be used to retrieve the set of all attributes for an element. There are
- * methods on the <code>Element</code> interface to retrieve either an
- * <code>Attr</code> object by name or an attribute value by name. In XML,
- * where an attribute value may contain entity references, an
- * <code>Attr</code> object should be retrieved to examine the possibly
- * fairly complex sub-tree representing the attribute value. On the other
- * hand, in HTML, where all attributes have simple string values, methods to
- * directly access an attribute value can safely be used as a convenience.In
- * DOM Level 2, the method <code>normalize</code> is inherited from the
- * <code>Node</code> interface where it was moved.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Element extends Node {
- /**
- * The name of the element. For example, in:
- * <pre> &lt;elementExample
- * id="demo"&gt; ... &lt;/elementExample&gt; , </pre>
- * <code>tagName</code> has
- * the value <code>"elementExample"</code>. Note that this is
- * case-preserving in XML, as are all of the operations of the DOM. The
- * HTML DOM returns the <code>tagName</code> of an HTML element in the
- * canonical uppercase form, regardless of the case in the source HTML
- * document.
- */
- public String getTagName();
-
- /**
- * Retrieves an attribute value by name.
- * @param name The name of the attribute to retrieve.
- * @return The <code>Attr</code> value as a string, or the empty string
- * if that attribute does not have a specified or default value.
- */
- public String getAttribute(String name);
-
- /**
- * Adds a new attribute. If an attribute with that name is already present
- * in the element, its value is changed to be that of the value
- * parameter. This value is a simple string; it is not parsed as it is
- * being set. So any markup (such as syntax to be recognized as an
- * entity reference) is treated as literal text, and needs to be
- * appropriately escaped by the implementation when it is written out.
- * In order to assign an attribute value that contains entity
- * references, the user must create an <code>Attr</code> node plus any
- * <code>Text</code> and <code>EntityReference</code> nodes, build the
- * appropriate subtree, and use <code>setAttributeNode</code> to assign
- * it as the value of an attribute.
- * <br>To set an attribute with a qualified name and namespace URI, use
- * the <code>setAttributeNS</code> method.
- * @param name The name of the attribute to create or alter.
- * @param value Value to set in string form.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified name contains an
- * illegal character.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public void setAttribute(String name,
- String value)
- throws DOMException;
-
- /**
- * Removes an attribute by name. If the removed attribute is known to have
- * a default value, an attribute immediately appears containing the
- * default value as well as the corresponding namespace URI, local name,
- * and prefix when applicable.
- * <br>To remove an attribute by local name and namespace URI, use the
- * <code>removeAttributeNS</code> method.
- * @param name The name of the attribute to remove.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public void removeAttribute(String name)
- throws DOMException;
-
- /**
- * Retrieves an attribute node by name.
- * <br>To retrieve an attribute node by qualified name and namespace URI,
- * use the <code>getAttributeNodeNS</code> method.
- * @param name The name (<code>nodeName</code>) of the attribute to
- * retrieve.
- * @return The <code>Attr</code> node with the specified name (
- * <code>nodeName</code>) or <code>null</code> if there is no such
- * attribute.
- */
- public Attr getAttributeNode(String name);
-
- /**
- * Adds a new attribute node. If an attribute with that name (
- * <code>nodeName</code>) is already present in the element, it is
- * replaced by the new one.
- * <br>To add a new attribute node with a qualified name and namespace
- * URI, use the <code>setAttributeNodeNS</code> method.
- * @param newAttr The <code>Attr</code> node to add to the attribute list.
- * @return If the <code>newAttr</code> attribute replaces an existing
- * attribute, the replaced <code>Attr</code> node is returned,
- * otherwise <code>null</code> is returned.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a
- * different document than the one that created the element.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an
- * attribute of another <code>Element</code> object. The DOM user must
- * explicitly clone <code>Attr</code> nodes to re-use them in other
- * elements.
- */
- public Attr setAttributeNode(Attr newAttr)
- throws DOMException;
-
- /**
- * Removes the specified attribute node. If the removed <code>Attr</code>
- * has a default value it is immediately replaced. The replacing
- * attribute has the same namespace URI and local name, as well as the
- * original prefix, when applicable.
- * @param oldAttr The <code>Attr</code> node to remove from the attribute
- * list.
- * @return The <code>Attr</code> node that was removed.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>NOT_FOUND_ERR: Raised if <code>oldAttr</code> is not an attribute
- * of the element.
- */
- public Attr removeAttributeNode(Attr oldAttr)
- throws DOMException;
-
- /**
- * Returns a <code>NodeList</code> of all descendant <code>Elements</code>
- * with a given tag name, in the order in which they are encountered in
- * a preorder traversal of this <code>Element</code> tree.
- * @param name The name of the tag to match on. The special value "*"
- * matches all tags.
- * @return A list of matching <code>Element</code> nodes.
- */
- public NodeList getElementsByTagName(String name);
-
- /**
- * Retrieves an attribute value by local name and namespace URI.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the attribute to retrieve.
- * @param localName The local name of the attribute to retrieve.
- * @return The <code>Attr</code> value as a string, or the empty string
- * if that attribute does not have a specified or default value.
- * @since DOM Level 2
- */
- public String getAttributeNS(String namespaceURI,
- String localName);
-
- /**
- * Adds a new attribute. If an attribute with the same local name and
- * namespace URI is already present on the element, its prefix is
- * changed to be the prefix part of the <code>qualifiedName</code>, and
- * its value is changed to be the <code>value</code> parameter. This
- * value is a simple string; it is not parsed as it is being set. So any
- * markup (such as syntax to be recognized as an entity reference) is
- * treated as literal text, and needs to be appropriately escaped by the
- * implementation when it is written out. In order to assign an
- * attribute value that contains entity references, the user must create
- * an <code>Attr</code> node plus any <code>Text</code> and
- * <code>EntityReference</code> nodes, build the appropriate subtree,
- * and use <code>setAttributeNodeNS</code> or
- * <code>setAttributeNode</code> to assign it as the value of an
- * attribute.
- * @param namespaceURI The namespace URI of the attribute to create or
- * alter.
- * @param qualifiedName The qualified name of the attribute to create or
- * alter.
- * @param value The value to set in string form.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified qualified name
- * contains an illegal character, per the XML 1.0 specification .
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is
- * malformed per the Namespaces in XML specification, if the
- * <code>qualifiedName</code> has a prefix and the
- * <code>namespaceURI</code> is <code>null</code>, if the
- * <code>qualifiedName</code> has a prefix that is "xml" and the
- * <code>namespaceURI</code> is different from "
- * http://www.w3.org/XML/1998/namespace", or if the
- * <code>qualifiedName</code>, or its prefix, is "xmlns" and the
- * <code>namespaceURI</code> is different from "
- * http://www.w3.org/2000/xmlns/".
- * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not
- * support the <code>"XML"</code> feature, since namespaces were
- * defined by XML.
- * @since DOM Level 2
- */
- public void setAttributeNS(String namespaceURI,
- String qualifiedName,
- String value)
- throws DOMException;
-
- /**
- * Removes an attribute by local name and namespace URI. If the removed
- * attribute has a default value it is immediately replaced. The
- * replacing attribute has the same namespace URI and local name, as
- * well as the original prefix.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the attribute to remove.
- * @param localName The local name of the attribute to remove.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * @since DOM Level 2
- */
- public void removeAttributeNS(String namespaceURI,
- String localName)
- throws DOMException;
-
- /**
- * Retrieves an <code>Attr</code> node by local name and namespace URI.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the attribute to retrieve.
- * @param localName The local name of the attribute to retrieve.
- * @return The <code>Attr</code> node with the specified attribute local
- * name and namespace URI or <code>null</code> if there is no such
- * attribute.
- * @since DOM Level 2
- */
- public Attr getAttributeNodeNS(String namespaceURI,
- String localName);
-
- /**
- * Adds a new attribute. If an attribute with that local name and that
- * namespace URI is already present in the element, it is replaced by
- * the new one.
- * @param newAttr The <code>Attr</code> node to add to the attribute list.
- * @return If the <code>newAttr</code> attribute replaces an existing
- * attribute with the same local name and namespace URI, the replaced
- * <code>Attr</code> node is returned, otherwise <code>null</code> is
- * returned.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: Raised if <code>newAttr</code> was created from a
- * different document than the one that created the element.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>newAttr</code> is already an
- * attribute of another <code>Element</code> object. The DOM user must
- * explicitly clone <code>Attr</code> nodes to re-use them in other
- * elements.
- * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not
- * support the <code>"XML"</code> feature, since namespaces were
- * defined by XML.
- * @since DOM Level 2
- */
- public Attr setAttributeNodeNS(Attr newAttr)
- throws DOMException;
-
- /**
- * Returns a <code>NodeList</code> of all the descendant
- * <code>Elements</code> with a given local name and namespace URI in
- * the order in which they are encountered in a preorder traversal of
- * this <code>Element</code> tree.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the elements to match on. The
- * special value "*" matches all namespaces.
- * @param localName The local name of the elements to match on. The
- * special value "*" matches all local names.
- * @return A new <code>NodeList</code> object containing all the matched
- * <code>Elements</code>.
- * @since DOM Level 2
- */
- public NodeList getElementsByTagNameNS(String namespaceURI,
- String localName);
-
- /**
- * Returns <code>true</code> when an attribute with a given name is
- * specified on this element or has a default value, <code>false</code>
- * otherwise.
- * @param name The name of the attribute to look for.
- * @return <code>true</code> if an attribute with the given name is
- * specified on this element or has a default value, <code>false</code>
- * otherwise.
- * @since DOM Level 2
- */
- public boolean hasAttribute(String name);
-
- /**
- * Returns <code>true</code> when an attribute with a given local name and
- * namespace URI is specified on this element or has a default value,
- * <code>false</code> otherwise.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the attribute to look for.
- * @param localName The local name of the attribute to look for.
- * @return <code>true</code> if an attribute with the given local name
- * and namespace URI is specified or has a default value on this
- * element, <code>false</code> otherwise.
- * @since DOM Level 2
- */
- public boolean hasAttributeNS(String namespaceURI,
- String localName);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Entity.java b/external/jaxp/source/org/w3c/dom/Entity.java
deleted file mode 100755
index 11bd0dfd6..000000000
--- a/external/jaxp/source/org/w3c/dom/Entity.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * This interface represents an entity, either parsed or unparsed, in an XML
- * document. Note that this models the entity itself not the entity
- * declaration. <code>Entity</code> declaration modeling has been left for a
- * later Level of the DOM specification.
- * <p>The <code>nodeName</code> attribute that is inherited from
- * <code>Node</code> contains the name of the entity.
- * <p>An XML processor may choose to completely expand entities before the
- * structure model is passed to the DOM; in this case there will be no
- * <code>EntityReference</code> nodes in the document tree.
- * <p>XML does not mandate that a non-validating XML processor read and
- * process entity declarations made in the external subset or declared in
- * external parameter entities. This means that parsed entities declared in
- * the external subset need not be expanded by some classes of applications,
- * and that the replacement value of the entity may not be available. When
- * the replacement value is available, the corresponding <code>Entity</code>
- * node's child list represents the structure of that replacement text.
- * Otherwise, the child list is empty.
- * <p>The DOM Level 2 does not support editing <code>Entity</code> nodes; if a
- * user wants to make changes to the contents of an <code>Entity</code>,
- * every related <code>EntityReference</code> node has to be replaced in the
- * structure model by a clone of the <code>Entity</code>'s contents, and
- * then the desired changes must be made to each of those clones instead.
- * <code>Entity</code> nodes and all their descendants are readonly.
- * <p>An <code>Entity</code> node does not have any parent.If the entity
- * contains an unbound namespace prefix, the <code>namespaceURI</code> of
- * the corresponding node in the <code>Entity</code> node subtree is
- * <code>null</code>. The same is true for <code>EntityReference</code>
- * nodes that refer to this entity, when they are created using the
- * <code>createEntityReference</code> method of the <code>Document</code>
- * interface. The DOM Level 2 does not support any mechanism to resolve
- * namespace prefixes.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Entity extends Node {
- /**
- * The public identifier associated with the entity, if specified. If the
- * public identifier was not specified, this is <code>null</code>.
- */
- public String getPublicId();
-
- /**
- * The system identifier associated with the entity, if specified. If the
- * system identifier was not specified, this is <code>null</code>.
- */
- public String getSystemId();
-
- /**
- * For unparsed entities, the name of the notation for the entity. For
- * parsed entities, this is <code>null</code>.
- */
- public String getNotationName();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/EntityReference.java b/external/jaxp/source/org/w3c/dom/EntityReference.java
deleted file mode 100755
index ff3cf9d9f..000000000
--- a/external/jaxp/source/org/w3c/dom/EntityReference.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * <code>EntityReference</code> objects may be inserted into the structure
- * model when an entity reference is in the source document, or when the
- * user wishes to insert an entity reference. Note that character references
- * and references to predefined entities are considered to be expanded by
- * the HTML or XML processor so that characters are represented by their
- * Unicode equivalent rather than by an entity reference. Moreover, the XML
- * processor may completely expand references to entities while building the
- * structure model, instead of providing <code>EntityReference</code>
- * objects. If it does provide such objects, then for a given
- * <code>EntityReference</code> node, it may be that there is no
- * <code>Entity</code> node representing the referenced entity. If such an
- * <code>Entity</code> exists, then the subtree of the
- * <code>EntityReference</code> node is in general a copy of the
- * <code>Entity</code> node subtree. However, this may not be true when an
- * entity contains an unbound namespace prefix. In such a case, because the
- * namespace prefix resolution depends on where the entity reference is, the
- * descendants of the <code>EntityReference</code> node may be bound to
- * different namespace URIs.
- * <p>As for <code>Entity</code> nodes, <code>EntityReference</code> nodes and
- * all their descendants are readonly.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface EntityReference extends Node {
-}
diff --git a/external/jaxp/source/org/w3c/dom/NamedNodeMap.java b/external/jaxp/source/org/w3c/dom/NamedNodeMap.java
deleted file mode 100755
index 843736679..000000000
--- a/external/jaxp/source/org/w3c/dom/NamedNodeMap.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * Objects implementing the <code>NamedNodeMap</code> interface are used to
- * represent collections of nodes that can be accessed by name. Note that
- * <code>NamedNodeMap</code> does not inherit from <code>NodeList</code>;
- * <code>NamedNodeMaps</code> are not maintained in any particular order.
- * Objects contained in an object implementing <code>NamedNodeMap</code> may
- * also be accessed by an ordinal index, but this is simply to allow
- * convenient enumeration of the contents of a <code>NamedNodeMap</code>,
- * and does not imply that the DOM specifies an order to these Nodes.
- * <p><code>NamedNodeMap</code> objects in the DOM are live.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface NamedNodeMap {
- /**
- * Retrieves a node specified by name.
- * @param name The <code>nodeName</code> of a node to retrieve.
- * @return A <code>Node</code> (of any type) with the specified
- * <code>nodeName</code>, or <code>null</code> if it does not identify
- * any node in this map.
- */
- public Node getNamedItem(String name);
-
- /**
- * Adds a node using its <code>nodeName</code> attribute. If a node with
- * that name is already present in this map, it is replaced by the new
- * one.
- * <br>As the <code>nodeName</code> attribute is used to derive the name
- * which the node must be stored under, multiple nodes of certain types
- * (those that have a "special" string value) cannot be stored as the
- * names would clash. This is seen as preferable to allowing nodes to be
- * aliased.
- * @param arg A node to store in this map. The node will later be
- * accessible using the value of its <code>nodeName</code> attribute.
- * @return If the new <code>Node</code> replaces an existing node the
- * replaced <code>Node</code> is returned, otherwise <code>null</code>
- * is returned.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a
- * different document than the one that created this map.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
- * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an
- * <code>Attr</code> that is already an attribute of another
- * <code>Element</code> object. The DOM user must explicitly clone
- * <code>Attr</code> nodes to re-use them in other elements.
- * <br>HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node
- * doesn't belong in this NamedNodeMap. Examples would include trying
- * to insert something other than an Attr node into an Element's map
- * of attributes, or a non-Entity node into the DocumentType's map of
- * Entities.
- */
- public Node setNamedItem(Node arg)
- throws DOMException;
-
- /**
- * Removes a node specified by name. When this map contains the attributes
- * attached to an element, if the removed attribute is known to have a
- * default value, an attribute immediately appears containing the
- * default value as well as the corresponding namespace URI, local name,
- * and prefix when applicable.
- * @param name The <code>nodeName</code> of the node to remove.
- * @return The node removed from this map if a node with such a name
- * exists.
- * @exception DOMException
- * NOT_FOUND_ERR: Raised if there is no node named <code>name</code> in
- * this map.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
- */
- public Node removeNamedItem(String name)
- throws DOMException;
-
- /**
- * Returns the <code>index</code>th item in the map. If <code>index</code>
- * is greater than or equal to the number of nodes in this map, this
- * returns <code>null</code>.
- * @param index Index into this map.
- * @return The node at the <code>index</code>th position in the map, or
- * <code>null</code> if that is not a valid index.
- */
- public Node item(int index);
-
- /**
- * The number of nodes in this map. The range of valid child node indices
- * is <code>0</code> to <code>length-1</code> inclusive.
- */
- public int getLength();
-
- /**
- * Retrieves a node specified by local name and namespace URI.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the node to retrieve.
- * @param localName The local name of the node to retrieve.
- * @return A <code>Node</code> (of any type) with the specified local
- * name and namespace URI, or <code>null</code> if they do not
- * identify any node in this map.
- * @since DOM Level 2
- */
- public Node getNamedItemNS(String namespaceURI,
- String localName);
-
- /**
- * Adds a node using its <code>namespaceURI</code> and
- * <code>localName</code>. If a node with that namespace URI and that
- * local name is already present in this map, it is replaced by the new
- * one.
- * @param arg A node to store in this map. The node will later be
- * accessible using the value of its <code>namespaceURI</code> and
- * <code>localName</code> attributes.
- * @return If the new <code>Node</code> replaces an existing node the
- * replaced <code>Node</code> is returned, otherwise <code>null</code>
- * is returned.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: Raised if <code>arg</code> was created from a
- * different document than the one that created this map.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
- * <br>INUSE_ATTRIBUTE_ERR: Raised if <code>arg</code> is an
- * <code>Attr</code> that is already an attribute of another
- * <code>Element</code> object. The DOM user must explicitly clone
- * <code>Attr</code> nodes to re-use them in other elements.
- * <br>HIERARCHY_REQUEST_ERR: Raised if an attempt is made to add a node
- * doesn't belong in this NamedNodeMap. Examples would include trying
- * to insert something other than an Attr node into an Element's map
- * of attributes, or a non-Entity node into the DocumentType's map of
- * Entities.
- * <br>NOT_SUPPORTED_ERR: Always thrown if the current document does not
- * support the <code>"XML"</code> feature, since namespaces were
- * defined by XML.
- * @since DOM Level 2
- */
- public Node setNamedItemNS(Node arg)
- throws DOMException;
-
- /**
- * Removes a node specified by local name and namespace URI. A removed
- * attribute may be known to have a default value when this map contains
- * the attributes attached to an element, as returned by the attributes
- * attribute of the <code>Node</code> interface. If so, an attribute
- * immediately appears containing the default value as well as the
- * corresponding namespace URI, local name, and prefix when applicable.
- * <br>Documents which do not support the "XML" feature will permit only
- * the DOM Level 1 calls for creating/setting elements and attributes.
- * Hence, if you specify a non-null namespace URI, these DOMs will never
- * find a matching node.
- * @param namespaceURI The namespace URI of the node to remove.
- * @param localName The local name of the node to remove.
- * @return The node removed from this map if a node with such a local
- * name and namespace URI exists.
- * @exception DOMException
- * NOT_FOUND_ERR: Raised if there is no node with the specified
- * <code>namespaceURI</code> and <code>localName</code> in this map.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.
- * @since DOM Level 2
- */
- public Node removeNamedItemNS(String namespaceURI,
- String localName)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Node.java b/external/jaxp/source/org/w3c/dom/Node.java
deleted file mode 100755
index 56ed30a57..000000000
--- a/external/jaxp/source/org/w3c/dom/Node.java
+++ /dev/null
@@ -1,526 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>Node</code> interface is the primary datatype for the entire
- * Document Object Model. It represents a single node in the document tree.
- * While all objects implementing the <code>Node</code> interface expose
- * methods for dealing with children, not all objects implementing the
- * <code>Node</code> interface may have children. For example,
- * <code>Text</code> nodes may not have children, and adding children to
- * such nodes results in a <code>DOMException</code> being raised.
- * <p>The attributes <code>nodeName</code>, <code>nodeValue</code> and
- * <code>attributes</code> are included as a mechanism to get at node
- * information without casting down to the specific derived interface. In
- * cases where there is no obvious mapping of these attributes for a
- * specific <code>nodeType</code> (e.g., <code>nodeValue</code> for an
- * <code>Element</code> or <code>attributes</code> for a <code>Comment</code>
- * ), this returns <code>null</code>. Note that the specialized interfaces
- * may contain additional and more convenient mechanisms to get and set the
- * relevant information.
- * <p>The values of <code>nodeName</code>,
- * <code>nodeValue</code>, and <code>attributes</code> vary according to the
- * node type as follows:
- * <table border='1'>
- * <tr>
- * <th>Interface</th>
- * <th>nodeName</th>
- * <th>nodeValue</th>
- * <th>attributes</th>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Attr</td>
- * <td valign='top' rowspan='1' colspan='1'>name of
- * attribute</td>
- * <td valign='top' rowspan='1' colspan='1'>value of attribute</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>CDATASection</td>
- * <td valign='top' rowspan='1' colspan='1'><code>"#cdata-section"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>
- * content of the CDATA Section</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Comment</td>
- * <td valign='top' rowspan='1' colspan='1'><code>"#comment"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>content of
- * the comment</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Document</td>
- * <td valign='top' rowspan='1' colspan='1'><code>"#document"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>DocumentFragment</td>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>"#document-fragment"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>DocumentType</td>
- * <td valign='top' rowspan='1' colspan='1'>document type name</td>
- * <td valign='top' rowspan='1' colspan='1'>
- * null</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Element</td>
- * <td valign='top' rowspan='1' colspan='1'>tag name</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * <td valign='top' rowspan='1' colspan='1'>NamedNodeMap</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Entity</td>
- * <td valign='top' rowspan='1' colspan='1'>entity name</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
- * EntityReference</td>
- * <td valign='top' rowspan='1' colspan='1'>name of entity referenced</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Notation</td>
- * <td valign='top' rowspan='1' colspan='1'>notation name</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * <td valign='top' rowspan='1' colspan='1'>
- * null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>ProcessingInstruction</td>
- * <td valign='top' rowspan='1' colspan='1'>target</td>
- * <td valign='top' rowspan='1' colspan='1'>entire content excluding the target</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Text</td>
- * <td valign='top' rowspan='1' colspan='1'>
- * <code>"#text"</code></td>
- * <td valign='top' rowspan='1' colspan='1'>content of the text node</td>
- * <td valign='top' rowspan='1' colspan='1'>null</td>
- * </tr>
- * </table>
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Node {
- // NodeType
- /**
- * The node is an <code>Element</code>.
- */
- public static final short ELEMENT_NODE = 1;
- /**
- * The node is an <code>Attr</code>.
- */
- public static final short ATTRIBUTE_NODE = 2;
- /**
- * The node is a <code>Text</code> node.
- */
- public static final short TEXT_NODE = 3;
- /**
- * The node is a <code>CDATASection</code>.
- */
- public static final short CDATA_SECTION_NODE = 4;
- /**
- * The node is an <code>EntityReference</code>.
- */
- public static final short ENTITY_REFERENCE_NODE = 5;
- /**
- * The node is an <code>Entity</code>.
- */
- public static final short ENTITY_NODE = 6;
- /**
- * The node is a <code>ProcessingInstruction</code>.
- */
- public static final short PROCESSING_INSTRUCTION_NODE = 7;
- /**
- * The node is a <code>Comment</code>.
- */
- public static final short COMMENT_NODE = 8;
- /**
- * The node is a <code>Document</code>.
- */
- public static final short DOCUMENT_NODE = 9;
- /**
- * The node is a <code>DocumentType</code>.
- */
- public static final short DOCUMENT_TYPE_NODE = 10;
- /**
- * The node is a <code>DocumentFragment</code>.
- */
- public static final short DOCUMENT_FRAGMENT_NODE = 11;
- /**
- * The node is a <code>Notation</code>.
- */
- public static final short NOTATION_NODE = 12;
-
- /**
- * The name of this node, depending on its type; see the table above.
- */
- public String getNodeName();
-
- /**
- * The value of this node, depending on its type; see the table above.
- * When it is defined to be <code>null</code>, setting it has no effect.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- * @exception DOMException
- * DOMSTRING_SIZE_ERR: Raised when it would return more characters than
- * fit in a <code>DOMString</code> variable on the implementation
- * platform.
- */
- public String getNodeValue()
- throws DOMException;
- /**
- * The value of this node, depending on its type; see the table above.
- * When it is defined to be <code>null</code>, setting it has no effect.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- * @exception DOMException
- * DOMSTRING_SIZE_ERR: Raised when it would return more characters than
- * fit in a <code>DOMString</code> variable on the implementation
- * platform.
- */
- public void setNodeValue(String nodeValue)
- throws DOMException;
-
- /**
- * A code representing the type of the underlying object, as defined above.
- */
- public short getNodeType();
-
- /**
- * The parent of this node. All nodes, except <code>Attr</code>,
- * <code>Document</code>, <code>DocumentFragment</code>,
- * <code>Entity</code>, and <code>Notation</code> may have a parent.
- * However, if a node has just been created and not yet added to the
- * tree, or if it has been removed from the tree, this is
- * <code>null</code>.
- */
- public Node getParentNode();
-
- /**
- * A <code>NodeList</code> that contains all children of this node. If
- * there are no children, this is a <code>NodeList</code> containing no
- * nodes.
- */
- public NodeList getChildNodes();
-
- /**
- * The first child of this node. If there is no such node, this returns
- * <code>null</code>.
- */
- public Node getFirstChild();
-
- /**
- * The last child of this node. If there is no such node, this returns
- * <code>null</code>.
- */
- public Node getLastChild();
-
- /**
- * The node immediately preceding this node. If there is no such node,
- * this returns <code>null</code>.
- */
- public Node getPreviousSibling();
-
- /**
- * The node immediately following this node. If there is no such node,
- * this returns <code>null</code>.
- */
- public Node getNextSibling();
-
- /**
- * A <code>NamedNodeMap</code> containing the attributes of this node (if
- * it is an <code>Element</code>) or <code>null</code> otherwise.
- */
- public NamedNodeMap getAttributes();
-
- /**
- * The <code>Document</code> object associated with this node. This is
- * also the <code>Document</code> object used to create new nodes. When
- * this node is a <code>Document</code> or a <code>DocumentType</code>
- * which is not used with any <code>Document</code> yet, this is
- * <code>null</code>.
- * @version DOM Level 2
- */
- public Document getOwnerDocument();
-
- /**
- * Inserts the node <code>newChild</code> before the existing child node
- * <code>refChild</code>. If <code>refChild</code> is <code>null</code>,
- * insert <code>newChild</code> at the end of the list of children.
- * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
- * all of its children are inserted, in the same order, before
- * <code>refChild</code>. If the <code>newChild</code> is already in the
- * tree, it is first removed.
- * @param newChild The node to insert.
- * @param refChild The reference node, i.e., the node before which the
- * new node must be inserted.
- * @return The node being inserted.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
- * allow children of the type of the <code>newChild</code> node, or if
- * the node to insert is one of this node's ancestors or this node
- * itself.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
- * from a different document than the one that created this node.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or
- * if the parent of the node being inserted is readonly.
- * <br>NOT_FOUND_ERR: Raised if <code>refChild</code> is not a child of
- * this node.
- */
- public Node insertBefore(Node newChild,
- Node refChild)
- throws DOMException;
-
- /**
- * Replaces the child node <code>oldChild</code> with <code>newChild</code>
- * in the list of children, and returns the <code>oldChild</code> node.
- * <br>If <code>newChild</code> is a <code>DocumentFragment</code> object,
- * <code>oldChild</code> is replaced by all of the
- * <code>DocumentFragment</code> children, which are inserted in the
- * same order. If the <code>newChild</code> is already in the tree, it
- * is first removed.
- * @param newChild The new node to put in the child list.
- * @param oldChild The node being replaced in the list.
- * @return The node replaced.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
- * allow children of the type of the <code>newChild</code> node, or if
- * the node to put in is one of this node's ancestors or this node
- * itself.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
- * from a different document than the one that created this node.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of
- * the new node is readonly.
- * <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of
- * this node.
- */
- public Node replaceChild(Node newChild,
- Node oldChild)
- throws DOMException;
-
- /**
- * Removes the child node indicated by <code>oldChild</code> from the list
- * of children, and returns it.
- * @param oldChild The node being removed.
- * @return The node removed.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>NOT_FOUND_ERR: Raised if <code>oldChild</code> is not a child of
- * this node.
- */
- public Node removeChild(Node oldChild)
- throws DOMException;
-
- /**
- * Adds the node <code>newChild</code> to the end of the list of children
- * of this node. If the <code>newChild</code> is already in the tree, it
- * is first removed.
- * @param newChild The node to add.If it is a
- * <code>DocumentFragment</code> object, the entire contents of the
- * document fragment are moved into the child list of this node
- * @return The node added.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not
- * allow children of the type of the <code>newChild</code> node, or if
- * the node to append is one of this node's ancestors or this node
- * itself.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>newChild</code> was created
- * from a different document than the one that created this node.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or
- * if the previous parent of the node being inserted is readonly.
- */
- public Node appendChild(Node newChild)
- throws DOMException;
-
- /**
- * Returns whether this node has any children.
- * @return <code>true</code> if this node has any children,
- * <code>false</code> otherwise.
- */
- public boolean hasChildNodes();
-
- /**
- * Returns a duplicate of this node, i.e., serves as a generic copy
- * constructor for nodes. The duplicate node has no parent; (
- * <code>parentNode</code> is <code>null</code>.).
- * <br>Cloning an <code>Element</code> copies all attributes and their
- * values, including those generated by the XML processor to represent
- * defaulted attributes, but this method does not copy any text it
- * contains unless it is a deep clone, since the text is contained in a
- * child <code>Text</code> node. Cloning an <code>Attribute</code>
- * directly, as opposed to be cloned as part of an <code>Element</code>
- * cloning operation, returns a specified attribute (
- * <code>specified</code> is <code>true</code>). Cloning any other type
- * of node simply returns a copy of this node.
- * <br>Note that cloning an immutable subtree results in a mutable copy,
- * but the children of an <code>EntityReference</code> clone are readonly
- * . In addition, clones of unspecified <code>Attr</code> nodes are
- * specified. And, cloning <code>Document</code>,
- * <code>DocumentType</code>, <code>Entity</code>, and
- * <code>Notation</code> nodes is implementation dependent.
- * @param deep If <code>true</code>, recursively clone the subtree under
- * the specified node; if <code>false</code>, clone only the node
- * itself (and its attributes, if it is an <code>Element</code>).
- * @return The duplicate node.
- */
- public Node cloneNode(boolean deep);
-
- /**
- * Puts all <code>Text</code> nodes in the full depth of the sub-tree
- * underneath this <code>Node</code>, including attribute nodes, into a
- * "normal" form where only structure (e.g., elements, comments,
- * processing instructions, CDATA sections, and entity references)
- * separates <code>Text</code> nodes, i.e., there are neither adjacent
- * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can
- * be used to ensure that the DOM view of a document is the same as if
- * it were saved and re-loaded, and is useful when operations (such as
- * XPointer lookups) that depend on a particular document tree
- * structure are to be used.In cases where the document contains
- * <code>CDATASections</code>, the normalize operation alone may not be
- * sufficient, since XPointers do not differentiate between
- * <code>Text</code> nodes and <code>CDATASection</code> nodes.
- * @version DOM Level 2
- */
- public void normalize();
-
- /**
- * Tests whether the DOM implementation implements a specific feature and
- * that feature is supported by this node.
- * @param feature The name of the feature to test. This is the same name
- * which can be passed to the method <code>hasFeature</code> on
- * <code>DOMImplementation</code>.
- * @param version This is the version number of the feature to test. In
- * Level 2, version 1, this is the string "2.0". If the version is not
- * specified, supporting any version of the feature will cause the
- * method to return <code>true</code>.
- * @return Returns <code>true</code> if the specified feature is
- * supported on this node, <code>false</code> otherwise.
- * @since DOM Level 2
- */
- public boolean isSupported(String feature,
- String version);
-
- /**
- * The namespace URI of this node, or <code>null</code> if it is
- * unspecified.
- * <br>This is not a computed value that is the result of a namespace
- * lookup based on an examination of the namespace declarations in
- * scope. It is merely the namespace URI given at creation time.
- * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and
- * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1
- * method, such as <code>createElement</code> from the
- * <code>Document</code> interface, this is always <code>null</code>.Per
- * the Namespaces in XML Specification an attribute does not inherit
- * its namespace from the element it is attached to. If an attribute is
- * not explicitly given a namespace, it simply has no namespace.
- * @since DOM Level 2
- */
- public String getNamespaceURI();
-
- /**
- * The namespace prefix of this node, or <code>null</code> if it is
- * unspecified.
- * <br>Note that setting this attribute, when permitted, changes the
- * <code>nodeName</code> attribute, which holds the qualified name, as
- * well as the <code>tagName</code> and <code>name</code> attributes of
- * the <code>Element</code> and <code>Attr</code> interfaces, when
- * applicable.
- * <br>Note also that changing the prefix of an attribute that is known to
- * have a default value, does not make a new attribute with the default
- * value and the original prefix appear, since the
- * <code>namespaceURI</code> and <code>localName</code> do not change.
- * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and
- * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1
- * method, such as <code>createElement</code> from the
- * <code>Document</code> interface, this is always <code>null</code>.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified prefix contains an
- * illegal character, per the XML 1.0 specification .
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>NAMESPACE_ERR: Raised if the specified <code>prefix</code> is
- * malformed per the Namespaces in XML specification, if the
- * <code>namespaceURI</code> of this node is <code>null</code>, if the
- * specified prefix is "xml" and the <code>namespaceURI</code> of this
- * node is different from "http://www.w3.org/XML/1998/namespace", if
- * this node is an attribute and the specified prefix is "xmlns" and
- * the <code>namespaceURI</code> of this node is different from "
- * http://www.w3.org/2000/xmlns/", or if this node is an attribute and
- * the <code>qualifiedName</code> of this node is "xmlns" .
- * @since DOM Level 2
- */
- public String getPrefix();
- /**
- * The namespace prefix of this node, or <code>null</code> if it is
- * unspecified.
- * <br>Note that setting this attribute, when permitted, changes the
- * <code>nodeName</code> attribute, which holds the qualified name, as
- * well as the <code>tagName</code> and <code>name</code> attributes of
- * the <code>Element</code> and <code>Attr</code> interfaces, when
- * applicable.
- * <br>Note also that changing the prefix of an attribute that is known to
- * have a default value, does not make a new attribute with the default
- * value and the original prefix appear, since the
- * <code>namespaceURI</code> and <code>localName</code> do not change.
- * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and
- * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1
- * method, such as <code>createElement</code> from the
- * <code>Document</code> interface, this is always <code>null</code>.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: Raised if the specified prefix contains an
- * illegal character, per the XML 1.0 specification .
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>NAMESPACE_ERR: Raised if the specified <code>prefix</code> is
- * malformed per the Namespaces in XML specification, if the
- * <code>namespaceURI</code> of this node is <code>null</code>, if the
- * specified prefix is "xml" and the <code>namespaceURI</code> of this
- * node is different from "http://www.w3.org/XML/1998/namespace", if
- * this node is an attribute and the specified prefix is "xmlns" and
- * the <code>namespaceURI</code> of this node is different from "
- * http://www.w3.org/2000/xmlns/", or if this node is an attribute and
- * the <code>qualifiedName</code> of this node is "xmlns" .
- * @since DOM Level 2
- */
- public void setPrefix(String prefix)
- throws DOMException;
-
- /**
- * Returns the local part of the qualified name of this node.
- * <br>For nodes of any type other than <code>ELEMENT_NODE</code> and
- * <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1
- * method, such as <code>createElement</code> from the
- * <code>Document</code> interface, this is always <code>null</code>.
- * @since DOM Level 2
- */
- public String getLocalName();
-
- /**
- * Returns whether this node (if it is an element) has any attributes.
- * @return <code>true</code> if this node has any attributes,
- * <code>false</code> otherwise.
- * @since DOM Level 2
- */
- public boolean hasAttributes();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/NodeList.java b/external/jaxp/source/org/w3c/dom/NodeList.java
deleted file mode 100755
index a90b4fd4f..000000000
--- a/external/jaxp/source/org/w3c/dom/NodeList.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>NodeList</code> interface provides the abstraction of an ordered
- * collection of nodes, without defining or constraining how this collection
- * is implemented. <code>NodeList</code> objects in the DOM are live.
- * <p>The items in the <code>NodeList</code> are accessible via an integral
- * index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface NodeList {
- /**
- * Returns the <code>index</code>th item in the collection. If
- * <code>index</code> is greater than or equal to the number of nodes in
- * the list, this returns <code>null</code>.
- * @param index Index into the collection.
- * @return The node at the <code>index</code>th position in the
- * <code>NodeList</code>, or <code>null</code> if that is not a valid
- * index.
- */
- public Node item(int index);
-
- /**
- * The number of nodes in the list. The range of valid child node indices
- * is 0 to <code>length-1</code> inclusive.
- */
- public int getLength();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Notation.java b/external/jaxp/source/org/w3c/dom/Notation.java
deleted file mode 100755
index 186836d73..000000000
--- a/external/jaxp/source/org/w3c/dom/Notation.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * This interface represents a notation declared in the DTD. A notation either
- * declares, by name, the format of an unparsed entity (see section 4.7 of
- * the XML 1.0 specification ), or is used for formal declaration of
- * processing instruction targets (see section 2.6 of the XML 1.0
- * specification ). The <code>nodeName</code> attribute inherited from
- * <code>Node</code> is set to the declared name of the notation.
- * <p>The DOM Level 1 does not support editing <code>Notation</code> nodes;
- * they are therefore readonly.
- * <p>A <code>Notation</code> node does not have any parent.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Notation extends Node {
- /**
- * The public identifier of this notation. If the public identifier was
- * not specified, this is <code>null</code>.
- */
- public String getPublicId();
-
- /**
- * The system identifier of this notation. If the system identifier was
- * not specified, this is <code>null</code>.
- */
- public String getSystemId();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/ProcessingInstruction.java b/external/jaxp/source/org/w3c/dom/ProcessingInstruction.java
deleted file mode 100755
index fe447b51c..000000000
--- a/external/jaxp/source/org/w3c/dom/ProcessingInstruction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>ProcessingInstruction</code> interface represents a "processing
- * instruction", used in XML as a way to keep processor-specific information
- * in the text of the document.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface ProcessingInstruction extends Node {
- /**
- * The target of this processing instruction. XML defines this as being
- * the first token following the markup that begins the processing
- * instruction.
- */
- public String getTarget();
-
- /**
- * The content of this processing instruction. This is from the first non
- * white space character after the target to the character immediately
- * preceding the <code>?&gt;</code>.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- */
- public String getData();
- /**
- * The content of this processing instruction. This is from the first non
- * white space character after the target to the character immediately
- * preceding the <code>?&gt;</code>.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
- */
- public void setData(String data)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/Text.java b/external/jaxp/source/org/w3c/dom/Text.java
deleted file mode 100755
index 842a9737b..000000000
--- a/external/jaxp/source/org/w3c/dom/Text.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom;
-
-/**
- * The <code>Text</code> interface inherits from <code>CharacterData</code>
- * and represents the textual content (termed character data in XML) of an
- * <code>Element</code> or <code>Attr</code>. If there is no markup inside
- * an element's content, the text is contained in a single object
- * implementing the <code>Text</code> interface that is the only child of
- * the element. If there is markup, it is parsed into the information items
- * (elements, comments, etc.) and <code>Text</code> nodes that form the list
- * of children of the element.
- * <p>When a document is first made available via the DOM, there is only one
- * <code>Text</code> node for each block of text. Users may create adjacent
- * <code>Text</code> nodes that represent the contents of a given element
- * without any intervening markup, but should be aware that there is no way
- * to represent the separations between these nodes in XML or HTML, so they
- * will not (in general) persist between DOM editing sessions. The
- * <code>normalize()</code> method on <code>Node</code> merges any such
- * adjacent <code>Text</code> objects into a single node for each block of
- * text.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
- */
-public interface Text extends CharacterData {
- /**
- * Breaks this node into two nodes at the specified <code>offset</code>,
- * keeping both in the tree as siblings. After being split, this node
- * will contain all the content up to the <code>offset</code> point. A
- * new node of the same type, which contains all the content at and
- * after the <code>offset</code> point, is returned. If the original
- * node had a parent node, the new node is inserted as the next sibling
- * of the original node. When the <code>offset</code> is equal to the
- * length of this node, the new node has no data.
- * @param offset The 16-bit unit offset at which to split, starting from
- * <code>0</code>.
- * @return The new node, of the same type as this node.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified offset is negative or greater
- * than the number of 16-bit units in <code>data</code>.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- */
- public Text splitText(int offset)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2Azimuth.java b/external/jaxp/source/org/w3c/dom/css/CSS2Azimuth.java
deleted file mode 100755
index de9016ec0..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2Azimuth.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2Azimuth</code> interface represents the azimuth CSS Level 2
- * property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2Azimuth extends CSSValue {
- /**
- * A code defining the type of the value as defined in
- * <code>CSSValue</code> . It would be one of <code>CSS_DEG</code> ,
- * <code>CSS_RAD</code> , <code>CSS_GRAD</code> or <code>CSS_IDENT</code>
- * .
- */
- public short getAzimuthType();
-
- /**
- * If <code>azimuthType</code> is <code>CSS_IDENT</code> ,
- * <code>identifier</code> contains one of left-side, far-left, left,
- * center-left, center, center-right, right, far-right, right-side,
- * leftwards, rightwards. The empty string if none is set.
- */
- public String getIdentifier();
-
- /**
- * <code>behind</code> indicates whether the behind identifier has been
- * set.
- */
- public boolean getBehind();
-
- /**
- * A method to set the angle value with a specified unit. This method
- * will unset any previously set identifier value.
- * @param uType The unitType could only be one of <code>CSS_DEG</code> ,
- * <code>CSS_RAD</code> or <code>CSS_GRAD</code> ).
- * @param fValue The new float value of the angle.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the unit type is invalid.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setAngleValue(short uType,
- float fValue)
- throws DOMException;
-
- /**
- * Used to retrieved the float value of the azimuth property.
- * @param uType The unit type can be only an angle unit type (
- * <code>CSS_DEG</code> , <code>CSS_RAD</code> or <code>CSS_GRAD</code>
- * ).
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the unit type is invalid.
- */
- public float getAngleValue(short uType)
- throws DOMException;
-
- /**
- * Setting the identifier for the azimuth property will unset any
- * previously set angle value. The value of <code>azimuthType</code> is
- * set to <code>CSS_IDENT</code>
- * @param ident The new identifier. If the identifier is "leftwards" or
- * "rightward", the behind attribute is ignored.
- * @param b The new value for behind.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified <code>identifier</code> has a
- * syntax error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setIdentifier(String ident,
- boolean b)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2BackgroundPosition.java b/external/jaxp/source/org/w3c/dom/css/CSS2BackgroundPosition.java
deleted file mode 100755
index 159504353..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2BackgroundPosition.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2BackgroundPosition</code> interface represents the
- * background-position CSS Level 2 property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2BackgroundPosition extends CSSValue {
- /**
- * A code defining the type of the horizontal value. It would be one of
- * <code>CSS_PERCENTAGE</code> , <code>CSS_EMS</code> ,
- * <code>CSS_EXS</code> , <code>CSS_PX</code> , <code>CSS_CM</code> ,
- * <code>CSS_MM</code> , <code>CSS_IN</code> , <code>CSS_PT</code> ,
- * <code>CSS_PC</code> or <code>CSS_IDENT</code> . If one of horizontal or
- * vertical is <code>CSS_IDENT</code> , it's guaranteed that the other is
- * the same.
- */
- public short getHorizontalType();
-
- /**
- * A code defining the type of the horizontal value. The code can be one
- * of the following units : <code>CSS_PERCENTAGE</code> ,
- * <code>CSS_EMS</code> , <code>CSS_EXS</code> , <code>CSS_PX</code> ,
- * <code>CSS_CM</code> , <code>CSS_MM</code> , <code>CSS_IN</code> ,
- * <code>CSS_PT</code> , <code>CSS_PC</code> , <code>CSS_IDENT</code> ,
- * <code>CSS_INHERIT</code> . If one of horizontal or vertical is
- * <code>CSS_IDENT</code> or <code>CSS_INHERIT</code> , it's guaranteed
- * that the other is the same.
- */
- public short getVerticalType();
-
- /**
- * If <code>horizontalType</code> is <code>CSS_IDENT</code> or
- * <code>CSS_INHERIT</code> , this attribute contains the string
- * representation of the ident, otherwise it contains an empty string.
- */
- public String getHorizontalIdentifier();
-
- /**
- * If <code>verticalType</code> is <code>CSS_IDENT</code> or
- * <code>CSS_INHERIT</code> , this attribute contains the string
- * representation of the ident, otherwise it contains an empty string. The
- * value is <code>"center"</code> if only the horizontalIdentifier has
- * been set.
- */
- public String getVerticalIdentifier();
-
- /**
- * This method is used to get the float value in a specified unit if the
- * <code>horizontalPosition</code> represents a length or a percentage. If
- * the float doesn't contain a float value or can't be converted into the
- * specified unit, a <code>DOMException</code> is raised.
- * @param hType The horizontal unit.
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
- * or the value can't be converted.
- */
- public float getHorizontalPosition(float hType)
- throws DOMException;
-
- /**
- * This method is used to get the float value in a specified unit if the
- * <code>verticalPosition</code> represents a length or a percentage. If
- * the float doesn't contain a float value or can't be converted into the
- * specified unit, a <code>DOMException</code> is raised. The value is
- * <code>50%</code> if only the horizontal value has been specified.
- * @param vType The vertical unit.
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
- * or the value can't be converted.
- */
- public float getVerticalPosition(float vType)
- throws DOMException;
-
- /**
- * This method is used to set the horizontal position with a specified
- * unit. If the vertical value is not a percentage or a length, it sets
- * the vertical position to <code>50%</code> .
- * @param hType The specified unit (a length or a percentage).
- * @param value The new value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
- * a percentage.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setHorizontalPosition(short hType,
- float value)
- throws DOMException;
-
- /**
- * This method is used to set the vertical position with a specified
- * unit. If the horizontal value is not a percentage or a length, it sets
- * the vertical position to <code>50%</code> .
- * @param vType The specified unit (a length or a percentage).
- * @param value The new value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
- * a percentage.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setVerticalPosition(short vType,
- float value)
- throws DOMException;
-
- /**
- * Sets the identifiers. If the second identifier is the empty string,
- * the vertical identifier is set to its default value (
- * <code>"center"</code> ).
- * @param hIdentifier The new horizontal identifier.
- * @param vIdentifier The new vertical identifier.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the identifiers have a syntax error and are
- * unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setPositionIdentifier(String hIdentifier,
- String vIdentifier)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2BorderSpacing.java b/external/jaxp/source/org/w3c/dom/css/CSS2BorderSpacing.java
deleted file mode 100755
index 920ebb2b3..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2BorderSpacing.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2BorderSpacing</code> interface represents the border-spacing
- * CSS Level 2 property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2BorderSpacing extends CSSValue {
- /**
- * The A code defining the type of the value as defined in
- * <code>CSSValue</code> . It would be one of <code>CSS_EMS</code> ,
- * <code>CSS_EXS</code> , <code>CSS_PX</code> , <code>CSS_CM</code> ,
- * <code>CSS_MM</code> , <code>CSS_IN</code> , <code>CSS_PT</code> or
- * <code>CSS_PC</code> .
- */
- public short getHorizontalType();
-
- /**
- * The A code defining the type of the value as defined in
- * <code>CSSValue</code> . It would be one of <code>CSS_EMS</code> ,
- * <code>CSS_EXS</code> , <code>CSS_PX</code> , <code>CSS_CM</code> ,
- * <code>CSS_MM</code> , <code>CSS_IN</code> , <code>CSS_PT</code> ,
- * <code>CSS_PC</code> or <code>CSS_INHERIT</code> .
- */
- public short getVerticalType();
-
- /**
- * This method is used to get the float value in a specified unit if the
- * <code>horizontalSpacing</code> represents a length. If the float
- * doesn't contain a float value or can't be converted into the specified
- * unit, a <code>DOMException</code> is raised.
- * @param hType The horizontal unit.
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
- * or the value can't be converted.
- */
- public float getHorizontalSpacing(float hType)
- throws DOMException;
-
- /**
- * This method is used to get the float value in a specified unit if the
- * <code>verticalSpacing</code> represents a length. If the float doesn't
- * contain a float value or can't be converted into the specified unit, a
- * <code>DOMException</code> is raised. The value is <code>0</code> if
- * only the horizontal value has been specified.
- * @param vType The vertical unit.
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
- * or the value can't be converted.
- */
- public float getVerticalSpacing(float vType)
- throws DOMException;
-
- /**
- * This method is used to set the horizontal spacing with a specified
- * unit. If the vertical value is a length, it sets the vertical spacing
- * to <code>0</code> .
- * @param hType The horizontal unit.
- * @param value The new value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the specified unit is not a length.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setHorizontalSpacing(short hType,
- float value)
- throws DOMException;
-
- /**
- * This method is used to set the vertical spacing with a specified unit.
- * If the horizontal value is not a length, it sets the vertical spacing
- * to <code>0</code> .
- * @param vType The vertical unit.
- * @param value The new value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
- * a percentage.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setVerticalSpacing(short vType,
- float value)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2CounterIncrement.java b/external/jaxp/source/org/w3c/dom/css/CSS2CounterIncrement.java
deleted file mode 100755
index f1bd26ba1..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2CounterIncrement.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2CounterIncrement</code> interface represents a simple value
- * for the counter-increment CSS Level 2 property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2CounterIncrement extends CSSValue {
- /**
- * The element name.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified identifier has a syntax error
- * and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this identifier is
- * readonly.
- */
- public String getIdentifier();
- public void setIdentifier(String identifier)
- throws DOMException;
-
- /**
- * The increment. (Default value is 1.)
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this identifier is readonly.
- */
- public short getIncrement();
- public void setIncrement(short increment)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2CounterReset.java b/external/jaxp/source/org/w3c/dom/css/CSS2CounterReset.java
deleted file mode 100755
index 5c665f5da..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2CounterReset.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2CounterReset</code> interface represents a simple value for
- * the counter-reset CSS Level 2 property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2CounterReset extends CSSValue {
- /**
- * The element name.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified identifier has a syntax error
- * and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this identifier is
- * readonly.
- */
- public String getIdentifier();
- public void setIdentifier(String identifier)
- throws DOMException;
-
- /**
- * The reset (default value is 0).
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this identifier is readonly.
- */
- public short getReset();
- public void setReset(short reset)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2Cursor.java b/external/jaxp/source/org/w3c/dom/css/CSS2Cursor.java
deleted file mode 100755
index 298565d88..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2Cursor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2Cursor</code> interface represents the cursor CSS Level 2
- * property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2Cursor extends CSSValue {
- /**
- * <code>uris</code> represents the list of URIs (<code>CSS_URI</code> )
- * on the cursor property. The list can be empty.
- */
- public CSSValueList getUris();
-
- /**
- * This identifier represents a generic cursor name or an empty string.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly.
- */
- public String getPredefinedCursor();
- public void setPredefinedCursor(String predefinedCursor)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2FontFaceSrc.java b/external/jaxp/source/org/w3c/dom/css/CSS2FontFaceSrc.java
deleted file mode 100755
index 1385e9357..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2FontFaceSrc.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2FontFaceSrc</code> interface represents the src CSS Level 2
- * descriptor.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2FontFaceSrc extends CSSValue {
- /**
- * Specifies the source of the font, empty string otherwise.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly.
- */
- public String getUri();
- public void setUri(String uri)
- throws DOMException;
-
- /**
- * This attribute contains a list of strings for the format CSS function.
- */
- public CSSValueList getFormat();
-
- /**
- * Specifies the full font name of a locally installed font.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly.
- */
- public String getFontFaceName();
- public void setFontFaceName(String fontFaceName)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2FontFaceWidths.java b/external/jaxp/source/org/w3c/dom/css/CSS2FontFaceWidths.java
deleted file mode 100755
index e4ad5e82c..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2FontFaceWidths.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2FontFaceWidths</code> interface represents a simple value
- * for the widths CSS Level 2 descriptor.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2FontFaceWidths extends CSSValue {
- /**
- * The range for the characters.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly.
- */
- public String getUrange();
- public void setUrange(String urange)
- throws DOMException;
-
- /**
- * A list of numbers representing the glyph widths.
- */
- public CSSValueList getNumbers();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2PageSize.java b/external/jaxp/source/org/w3c/dom/css/CSS2PageSize.java
deleted file mode 100755
index d27ec909e..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2PageSize.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2PageSize</code> interface represents the size CSS Level 2
- * descriptor.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2PageSize extends CSSValue {
- /**
- * A code defining the type of the width of the page. It would be one of
- * <code>CSS_EMS</code> , <code>CSS_EXS</code> , <code>CSS_PX</code> ,
- * <code>CSS_CM</code> , <code>CSS_MM</code> , <code>CSS_IN</code> ,
- * <code>CSS_PT</code> , <code>CSS_PC</code> or <code>CSS_IDENT</code> .
- */
- public short getWidthType();
-
- /**
- * A code defining the type of the height of the page. It would be one of
- * <code>CSS_EMS</code> , <code>CSS_EXS</code> , <code>CSS_PX</code> ,
- * <code>CSS_CM</code> , <code>CSS_MM</code> , <code>CSS_IN</code> ,
- * <code>CSS_PT</code> , <code>CSS_PC</code> or <code>CSS_IDENT</code> .
- * If one of width or height is <code>CSS_IDENT</code> , it's guaranteed
- * that the other is the same.
- */
- public short getHeightType();
-
- /**
- * If <code>width</code> is <code>CSS_IDENT</code> , this attribute
- * contains the string representation of the ident, otherwise it contains
- * an empty string.
- */
- public String getIdentifier();
-
- /**
- * This method is used to get the float value in a specified unit if the
- * <code>widthType</code> represents a length. If the float doesn't
- * contain a float value or can't be converted into the specified unit, a
- * <code>DOMException</code> is raised.
- * @param wType The width unit.
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
- * or the value can't be converted.
- */
- public float getWidth(float wType)
- throws DOMException;
-
- /**
- * This method is used to get the float value in a specified unit if the
- * <code>heightType</code> represents a length. If the float doesn't
- * contain a float value or can't be converted into the specified unit, a
- * <code>DOMException</code> is raised. If only the width value has been
- * specified, the height value is the same.
- * @param hType The height unit.
- * @return The float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
- * or the value can't be converted.
- */
- public float getHeightSize(float hType)
- throws DOMException;
-
- /**
- * This method is used to set the width position with a specified unit.
- * If the <code>heightType</code> is not a length, it sets the height
- * position to the same value.
- * @param wType The width unit.
- * @param value The new value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
- * a percentage.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setWidthSize(short wType,
- float value)
- throws DOMException;
-
- /**
- * This method is used to set the height position with a specified unit.
- * If the <code>widthType</code> is not a length, it sets the width
- * position to the same value.
- * @param hType The height unit.
- * @param value The new value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
- * a percentage.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setHeightSize(short hType,
- float value)
- throws DOMException;
-
- /**
- * Sets the identifier.
- * @param ident The new identifier.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the identifier has a syntax error and is
- * unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
- * readonly.
- */
- public void setIdentifier(String ident)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2PlayDuring.java b/external/jaxp/source/org/w3c/dom/css/CSS2PlayDuring.java
deleted file mode 100755
index 4034cc4e5..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2PlayDuring.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2PlayDuring</code> interface represents the play-during CSS
- * Level 2 property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2PlayDuring extends CSSValue {
- /**
- * A code defining the type of the value as defined in
- * <code>CSSvalue</code> . It would be one of <code>CSS_UNKNOWN</code> or
- * <code>CSS_IDENT</code> .
- */
- public short getPlayDuringType();
-
- /**
- * One of <code>"inherit"</code> , <code>"auto"</code> ,
- * <code>"none"</code> or the empty string if the
- * <code>playDuringType</code> is <code>CSS_UNKNOWN</code> . On setting,
- * it will set the <code>uri</code> to the empty string and
- * <code>mix</code> and <code>repeat</code> to <code>false</code> .
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly.
- */
- public String getPlayDuringIdentifier();
- public void setPlayDuringIdentifier(String playDuringIdentifier)
- throws DOMException;
-
- /**
- * The sound specified by the <code>uri</code> . It will set the
- * <code>playDuringType</code> attribute to <code>CSS_UNKNOWN</code> .
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly.
- */
- public String getUri();
- public void setUri(String uri)
- throws DOMException;
-
- /**
- * <code>true</code> if the sound should be mixed. It will be ignored if
- * the attribute doesn't contain a <code>uri</code> .
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly.
- */
- public boolean getMix();
- public void setMix(boolean mix)
- throws DOMException;
-
- /**
- * <code>true</code> if the sound should be repeated. It will be ignored
- * if the attribute doesn't contain a <code>uri</code> .
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly.
- */
- public boolean getRepeat();
- public void setRepeat(boolean repeat)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2Properties.java b/external/jaxp/source/org/w3c/dom/css/CSS2Properties.java
deleted file mode 100755
index 18f589fd2..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2Properties.java
+++ /dev/null
@@ -1,2265 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSS2Properties</code> interface represents a convenience
- * mechanism for retrieving and setting properties within a
- * <code>CSSStyleDeclaration</code>. The attributes of this interface
- * correspond to all the properties specified in CSS2. Getting an attribute
- * of this interface is equivalent to calling the
- * <code>getPropertyValue</code> method of the
- * <code>CSSStyleDeclaration</code> interface. Setting an attribute of this
- * interface is equivalent to calling the <code>setProperty</code> method of
- * the <code>CSSStyleDeclaration</code> interface.
- * <p> A conformant implementation of the CSS module is not required to
- * implement the <code>CSS2Properties</code> interface. If an implementation
- * does implement this interface, the expectation is that language-specific
- * methods can be used to cast from an instance of the
- * <code>CSSStyleDeclaration</code> interface to the
- * <code>CSS2Properties</code> interface.
- * <p> If an implementation does implement this interface, it is expected to
- * understand the specific syntax of the shorthand properties, and apply
- * their semantics; when the <code>margin</code> property is set, for
- * example, the <code>marginTop</code>, <code>marginRight</code>,
- * <code>marginBottom</code> and <code>marginLeft</code> properties are
- * actually being set by the underlying implementation.
- * <p> When dealing with CSS "shorthand" properties, the shorthand properties
- * should be decomposed into their component longhand properties as
- * appropriate, and when querying for their value, the form returned should
- * be the shortest form exactly equivalent to the declarations made in the
- * ruleset. However, if there is no shorthand declaration that could be
- * added to the ruleset without changing in any way the rules already
- * declared in the ruleset (i.e., by adding longhand rules that were
- * previously not declared in the ruleset), then the empty string should be
- * returned for the shorthand property.
- * <p> For example, querying for the <code>font</code> property should not
- * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt
- * Arial, sans-serif" suffices. (The normals are initial values, and are
- * implied by use of the longhand property.)
- * <p> If the values for all the longhand properties that compose a particular
- * string are the initial values, then a string consisting of all the
- * initial values should be returned (e.g. a <code>border-width</code> value
- * of "medium" should be returned as such, not as "").
- * <p> For some shorthand properties that take missing values from other
- * sides, such as the <code>margin</code>, <code>padding</code>, and
- * <code>border-[width|style|color]</code> properties, the minimum number of
- * sides possible should be used; i.e., "0px 10px" will be returned instead
- * of "0px 10px 0px 10px".
- * <p> If the value of a shorthand property can not be decomposed into its
- * component longhand properties, as is the case for the <code>font</code>
- * property with a value of "menu", querying for the values of the component
- * longhand properties should return the empty string.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2Properties {
- /**
- * See the azimuth property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getAzimuth();
- /**
- * See the azimuth property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setAzimuth(String azimuth)
- throws DOMException;
-
- /**
- * See the background property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBackground();
- /**
- * See the background property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackground(String background)
- throws DOMException;
-
- /**
- * See the background-attachment property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBackgroundAttachment();
- /**
- * See the background-attachment property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundAttachment(String backgroundAttachment)
- throws DOMException;
-
- /**
- * See the background-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBackgroundColor();
- /**
- * See the background-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundColor(String backgroundColor)
- throws DOMException;
-
- /**
- * See the background-image property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBackgroundImage();
- /**
- * See the background-image property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundImage(String backgroundImage)
- throws DOMException;
-
- /**
- * See the background-position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBackgroundPosition();
- /**
- * See the background-position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundPosition(String backgroundPosition)
- throws DOMException;
-
- /**
- * See the background-repeat property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBackgroundRepeat();
- /**
- * See the background-repeat property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBackgroundRepeat(String backgroundRepeat)
- throws DOMException;
-
- /**
- * See the border property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorder();
- /**
- * See the border property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorder(String border)
- throws DOMException;
-
- /**
- * See the border-collapse property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderCollapse();
- /**
- * See the border-collapse property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderCollapse(String borderCollapse)
- throws DOMException;
-
- /**
- * See the border-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderColor();
- /**
- * See the border-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderColor(String borderColor)
- throws DOMException;
-
- /**
- * See the border-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderSpacing();
- /**
- * See the border-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderSpacing(String borderSpacing)
- throws DOMException;
-
- /**
- * See the border-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderStyle();
- /**
- * See the border-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderStyle(String borderStyle)
- throws DOMException;
-
- /**
- * See the border-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderTop();
- /**
- * See the border-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTop(String borderTop)
- throws DOMException;
-
- /**
- * See the border-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderRight();
- /**
- * See the border-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRight(String borderRight)
- throws DOMException;
-
- /**
- * See the border-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderBottom();
- /**
- * See the border-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottom(String borderBottom)
- throws DOMException;
-
- /**
- * See the border-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderLeft();
- /**
- * See the border-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeft(String borderLeft)
- throws DOMException;
-
- /**
- * See the border-top-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderTopColor();
- /**
- * See the border-top-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTopColor(String borderTopColor)
- throws DOMException;
-
- /**
- * See the border-right-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderRightColor();
- /**
- * See the border-right-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRightColor(String borderRightColor)
- throws DOMException;
-
- /**
- * See the border-bottom-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderBottomColor();
- /**
- * See the border-bottom-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottomColor(String borderBottomColor)
- throws DOMException;
-
- /**
- * See the border-left-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderLeftColor();
- /**
- * See the border-left-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeftColor(String borderLeftColor)
- throws DOMException;
-
- /**
- * See the border-top-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderTopStyle();
- /**
- * See the border-top-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTopStyle(String borderTopStyle)
- throws DOMException;
-
- /**
- * See the border-right-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderRightStyle();
- /**
- * See the border-right-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRightStyle(String borderRightStyle)
- throws DOMException;
-
- /**
- * See the border-bottom-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderBottomStyle();
- /**
- * See the border-bottom-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottomStyle(String borderBottomStyle)
- throws DOMException;
-
- /**
- * See the border-left-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderLeftStyle();
- /**
- * See the border-left-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeftStyle(String borderLeftStyle)
- throws DOMException;
-
- /**
- * See the border-top-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderTopWidth();
- /**
- * See the border-top-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderTopWidth(String borderTopWidth)
- throws DOMException;
-
- /**
- * See the border-right-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderRightWidth();
- /**
- * See the border-right-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderRightWidth(String borderRightWidth)
- throws DOMException;
-
- /**
- * See the border-bottom-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderBottomWidth();
- /**
- * See the border-bottom-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderBottomWidth(String borderBottomWidth)
- throws DOMException;
-
- /**
- * See the border-left-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderLeftWidth();
- /**
- * See the border-left-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderLeftWidth(String borderLeftWidth)
- throws DOMException;
-
- /**
- * See the border-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBorderWidth();
- /**
- * See the border-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBorderWidth(String borderWidth)
- throws DOMException;
-
- /**
- * See the bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getBottom();
- /**
- * See the bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setBottom(String bottom)
- throws DOMException;
-
- /**
- * See the caption-side property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCaptionSide();
- /**
- * See the caption-side property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCaptionSide(String captionSide)
- throws DOMException;
-
- /**
- * See the clear property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getClear();
- /**
- * See the clear property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setClear(String clear)
- throws DOMException;
-
- /**
- * See the clip property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getClip();
- /**
- * See the clip property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setClip(String clip)
- throws DOMException;
-
- /**
- * See the color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getColor();
- /**
- * See the color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setColor(String color)
- throws DOMException;
-
- /**
- * See the content property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getContent();
- /**
- * See the content property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setContent(String content)
- throws DOMException;
-
- /**
- * See the counter-increment property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCounterIncrement();
- /**
- * See the counter-increment property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCounterIncrement(String counterIncrement)
- throws DOMException;
-
- /**
- * See the counter-reset property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCounterReset();
- /**
- * See the counter-reset property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCounterReset(String counterReset)
- throws DOMException;
-
- /**
- * See the cue property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCue();
- /**
- * See the cue property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCue(String cue)
- throws DOMException;
-
- /**
- * See the cue-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCueAfter();
- /**
- * See the cue-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCueAfter(String cueAfter)
- throws DOMException;
-
- /**
- * See the cue-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCueBefore();
- /**
- * See the cue-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCueBefore(String cueBefore)
- throws DOMException;
-
- /**
- * See the cursor property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCursor();
- /**
- * See the cursor property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCursor(String cursor)
- throws DOMException;
-
- /**
- * See the direction property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getDirection();
- /**
- * See the direction property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setDirection(String direction)
- throws DOMException;
-
- /**
- * See the display property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getDisplay();
- /**
- * See the display property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setDisplay(String display)
- throws DOMException;
-
- /**
- * See the elevation property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getElevation();
- /**
- * See the elevation property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setElevation(String elevation)
- throws DOMException;
-
- /**
- * See the empty-cells property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getEmptyCells();
- /**
- * See the empty-cells property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setEmptyCells(String emptyCells)
- throws DOMException;
-
- /**
- * See the float property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getCssFloat();
- /**
- * See the float property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setCssFloat(String cssFloat)
- throws DOMException;
-
- /**
- * See the font property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFont();
- /**
- * See the font property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFont(String font)
- throws DOMException;
-
- /**
- * See the font-family property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontFamily();
- /**
- * See the font-family property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontFamily(String fontFamily)
- throws DOMException;
-
- /**
- * See the font-size property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontSize();
- /**
- * See the font-size property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontSize(String fontSize)
- throws DOMException;
-
- /**
- * See the font-size-adjust property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontSizeAdjust();
- /**
- * See the font-size-adjust property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontSizeAdjust(String fontSizeAdjust)
- throws DOMException;
-
- /**
- * See the font-stretch property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontStretch();
- /**
- * See the font-stretch property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontStretch(String fontStretch)
- throws DOMException;
-
- /**
- * See the font-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontStyle();
- /**
- * See the font-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontStyle(String fontStyle)
- throws DOMException;
-
- /**
- * See the font-variant property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontVariant();
- /**
- * See the font-variant property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontVariant(String fontVariant)
- throws DOMException;
-
- /**
- * See the font-weight property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getFontWeight();
- /**
- * See the font-weight property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFontWeight(String fontWeight)
- throws DOMException;
-
- /**
- * See the height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getHeight();
- /**
- * See the height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setHeight(String height)
- throws DOMException;
-
- /**
- * See the left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getLeft();
- /**
- * See the left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setLeft(String left)
- throws DOMException;
-
- /**
- * See the letter-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getLetterSpacing();
- /**
- * See the letter-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setLetterSpacing(String letterSpacing)
- throws DOMException;
-
- /**
- * See the line-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getLineHeight();
- /**
- * See the line-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setLineHeight(String lineHeight)
- throws DOMException;
-
- /**
- * See the list-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getListStyle();
- /**
- * See the list-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStyle(String listStyle)
- throws DOMException;
-
- /**
- * See the list-style-image property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getListStyleImage();
- /**
- * See the list-style-image property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStyleImage(String listStyleImage)
- throws DOMException;
-
- /**
- * See the list-style-position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getListStylePosition();
- /**
- * See the list-style-position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStylePosition(String listStylePosition)
- throws DOMException;
-
- /**
- * See the list-style-type property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getListStyleType();
- /**
- * See the list-style-type property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setListStyleType(String listStyleType)
- throws DOMException;
-
- /**
- * See the margin property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMargin();
- /**
- * See the margin property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMargin(String margin)
- throws DOMException;
-
- /**
- * See the margin-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMarginTop();
- /**
- * See the margin-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginTop(String marginTop)
- throws DOMException;
-
- /**
- * See the margin-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMarginRight();
- /**
- * See the margin-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginRight(String marginRight)
- throws DOMException;
-
- /**
- * See the margin-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMarginBottom();
- /**
- * See the margin-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginBottom(String marginBottom)
- throws DOMException;
-
- /**
- * See the margin-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMarginLeft();
- /**
- * See the margin-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarginLeft(String marginLeft)
- throws DOMException;
-
- /**
- * See the marker-offset property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMarkerOffset();
- /**
- * See the marker-offset property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarkerOffset(String markerOffset)
- throws DOMException;
-
- /**
- * See the marks property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMarks();
- /**
- * See the marks property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMarks(String marks)
- throws DOMException;
-
- /**
- * See the max-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMaxHeight();
- /**
- * See the max-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMaxHeight(String maxHeight)
- throws DOMException;
-
- /**
- * See the max-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMaxWidth();
- /**
- * See the max-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMaxWidth(String maxWidth)
- throws DOMException;
-
- /**
- * See the min-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMinHeight();
- /**
- * See the min-height property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMinHeight(String minHeight)
- throws DOMException;
-
- /**
- * See the min-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getMinWidth();
- /**
- * See the min-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setMinWidth(String minWidth)
- throws DOMException;
-
- /**
- * See the orphans property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getOrphans();
- /**
- * See the orphans property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOrphans(String orphans)
- throws DOMException;
-
- /**
- * See the outline property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getOutline();
- /**
- * See the outline property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutline(String outline)
- throws DOMException;
-
- /**
- * See the outline-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getOutlineColor();
- /**
- * See the outline-color property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutlineColor(String outlineColor)
- throws DOMException;
-
- /**
- * See the outline-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getOutlineStyle();
- /**
- * See the outline-style property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutlineStyle(String outlineStyle)
- throws DOMException;
-
- /**
- * See the outline-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getOutlineWidth();
- /**
- * See the outline-width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOutlineWidth(String outlineWidth)
- throws DOMException;
-
- /**
- * See the overflow property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getOverflow();
- /**
- * See the overflow property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setOverflow(String overflow)
- throws DOMException;
-
- /**
- * See the padding property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPadding();
- /**
- * See the padding property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPadding(String padding)
- throws DOMException;
-
- /**
- * See the padding-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPaddingTop();
- /**
- * See the padding-top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingTop(String paddingTop)
- throws DOMException;
-
- /**
- * See the padding-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPaddingRight();
- /**
- * See the padding-right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingRight(String paddingRight)
- throws DOMException;
-
- /**
- * See the padding-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPaddingBottom();
- /**
- * See the padding-bottom property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingBottom(String paddingBottom)
- throws DOMException;
-
- /**
- * See the padding-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPaddingLeft();
- /**
- * See the padding-left property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPaddingLeft(String paddingLeft)
- throws DOMException;
-
- /**
- * See the page property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPage();
- /**
- * See the page property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPage(String page)
- throws DOMException;
-
- /**
- * See the page-break-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPageBreakAfter();
- /**
- * See the page-break-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPageBreakAfter(String pageBreakAfter)
- throws DOMException;
-
- /**
- * See the page-break-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPageBreakBefore();
- /**
- * See the page-break-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPageBreakBefore(String pageBreakBefore)
- throws DOMException;
-
- /**
- * See the page-break-inside property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPageBreakInside();
- /**
- * See the page-break-inside property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPageBreakInside(String pageBreakInside)
- throws DOMException;
-
- /**
- * See the pause property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPause();
- /**
- * See the pause property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPause(String pause)
- throws DOMException;
-
- /**
- * See the pause-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPauseAfter();
- /**
- * See the pause-after property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPauseAfter(String pauseAfter)
- throws DOMException;
-
- /**
- * See the pause-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPauseBefore();
- /**
- * See the pause-before property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPauseBefore(String pauseBefore)
- throws DOMException;
-
- /**
- * See the pitch property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPitch();
- /**
- * See the pitch property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPitch(String pitch)
- throws DOMException;
-
- /**
- * See the pitch-range property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPitchRange();
- /**
- * See the pitch-range property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPitchRange(String pitchRange)
- throws DOMException;
-
- /**
- * See the play-during property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPlayDuring();
- /**
- * See the play-during property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPlayDuring(String playDuring)
- throws DOMException;
-
- /**
- * See the position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getPosition();
- /**
- * See the position property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setPosition(String position)
- throws DOMException;
-
- /**
- * See the quotes property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getQuotes();
- /**
- * See the quotes property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setQuotes(String quotes)
- throws DOMException;
-
- /**
- * See the richness property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getRichness();
- /**
- * See the richness property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setRichness(String richness)
- throws DOMException;
-
- /**
- * See the right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getRight();
- /**
- * See the right property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setRight(String right)
- throws DOMException;
-
- /**
- * See the size property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getSize();
- /**
- * See the size property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSize(String size)
- throws DOMException;
-
- /**
- * See the speak property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getSpeak();
- /**
- * See the speak property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeak(String speak)
- throws DOMException;
-
- /**
- * See the speak-header property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getSpeakHeader();
- /**
- * See the speak-header property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeakHeader(String speakHeader)
- throws DOMException;
-
- /**
- * See the speak-numeral property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getSpeakNumeral();
- /**
- * See the speak-numeral property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeakNumeral(String speakNumeral)
- throws DOMException;
-
- /**
- * See the speak-punctuation property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getSpeakPunctuation();
- /**
- * See the speak-punctuation property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeakPunctuation(String speakPunctuation)
- throws DOMException;
-
- /**
- * See the speech-rate property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getSpeechRate();
- /**
- * See the speech-rate property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setSpeechRate(String speechRate)
- throws DOMException;
-
- /**
- * See the stress property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getStress();
- /**
- * See the stress property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setStress(String stress)
- throws DOMException;
-
- /**
- * See the table-layout property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTableLayout();
- /**
- * See the table-layout property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTableLayout(String tableLayout)
- throws DOMException;
-
- /**
- * See the text-align property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTextAlign();
- /**
- * See the text-align property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextAlign(String textAlign)
- throws DOMException;
-
- /**
- * See the text-decoration property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTextDecoration();
- /**
- * See the text-decoration property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextDecoration(String textDecoration)
- throws DOMException;
-
- /**
- * See the text-indent property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTextIndent();
- /**
- * See the text-indent property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextIndent(String textIndent)
- throws DOMException;
-
- /**
- * See the text-shadow property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTextShadow();
- /**
- * See the text-shadow property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextShadow(String textShadow)
- throws DOMException;
-
- /**
- * See the text-transform property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTextTransform();
- /**
- * See the text-transform property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTextTransform(String textTransform)
- throws DOMException;
-
- /**
- * See the top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getTop();
- /**
- * See the top property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setTop(String top)
- throws DOMException;
-
- /**
- * See the unicode-bidi property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getUnicodeBidi();
- /**
- * See the unicode-bidi property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setUnicodeBidi(String unicodeBidi)
- throws DOMException;
-
- /**
- * See the vertical-align property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getVerticalAlign();
- /**
- * See the vertical-align property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVerticalAlign(String verticalAlign)
- throws DOMException;
-
- /**
- * See the visibility property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getVisibility();
- /**
- * See the visibility property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVisibility(String visibility)
- throws DOMException;
-
- /**
- * See the voice-family property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getVoiceFamily();
- /**
- * See the voice-family property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVoiceFamily(String voiceFamily)
- throws DOMException;
-
- /**
- * See the volume property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getVolume();
- /**
- * See the volume property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setVolume(String volume)
- throws DOMException;
-
- /**
- * See the white-space property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getWhiteSpace();
- /**
- * See the white-space property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWhiteSpace(String whiteSpace)
- throws DOMException;
-
- /**
- * See the widows property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getWidows();
- /**
- * See the widows property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWidows(String widows)
- throws DOMException;
-
- /**
- * See the width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getWidth();
- /**
- * See the width property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWidth(String width)
- throws DOMException;
-
- /**
- * See the word-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getWordSpacing();
- /**
- * See the word-spacing property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setWordSpacing(String wordSpacing)
- throws DOMException;
-
- /**
- * See the z-index property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public String getZIndex();
- /**
- * See the z-index property definition in CSS2.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the new value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setZIndex(String zIndex)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSS2TextShadow.java b/external/jaxp/source/org/w3c/dom/css/CSS2TextShadow.java
deleted file mode 100755
index fd17ef9cd..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSS2TextShadow.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSS2TextShadow</code> interface represents a simple value for
- * the text-shadow CSS Level 2 property.
- * <p> For this extension of the <code>CSSValue</code> interface, the
- * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
- * interface shall be <code>CSS_CUSTOM</code> .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface CSS2TextShadow extends CSSValue {
- /**
- * Specifies the color of the text shadow. The CSS Value can contain an
- * empty string if no color has been specified.
- */
- public CSSValue getColor();
-
- /**
- * The horizontal position of the text shadow. <code>0</code> if no
- * length has been specified.
- */
- public CSSValue getHorizontal();
-
- /**
- * The vertical position of the text shadow. <code>0</code> if no length
- * has been specified.
- */
- public CSSValue getVertical();
-
- /**
- * The blur radius of the text shadow. <code>0</code> if no length has
- * been specified.
- */
- public CSSValue getBlur();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSCharsetRule.java b/external/jaxp/source/org/w3c/dom/css/CSSCharsetRule.java
deleted file mode 100755
index fc85a057d..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSCharsetRule.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSCharsetRule</code> interface represents a @charset rule in a
- * CSS style sheet. The value of the <code>encoding</code> attribute does
- * not affect the encoding of text data in the DOM objects; this encoding is
- * always UTF-16. After a stylesheet is loaded, the value of the
- * <code>encoding</code> attribute is the value found in the
- * <code>@charset</code> rule. If there was no <code>@charset</code> in the
- * original document, then no <code>CSSCharsetRule</code> is created. The
- * value of the <code>encoding</code> attribute may also be used as a hint
- * for the encoding used on serialization of the style sheet.
- * <p> The value of the @charset rule (and therefore of the
- * <code>CSSCharsetRule</code>) may not correspond to the encoding the
- * document actually came in; character encoding information e.g. in an HTTP
- * header, has priority (see CSS document representation) but this is not
- * reflected in the <code>CSSCharsetRule</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSCharsetRule extends CSSRule {
- /**
- * The encoding information used in this <code>@charset</code> rule.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified encoding value has a syntax error
- * and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is
- * readonly.
- */
- public String getEncoding();
- /**
- * The encoding information used in this <code>@charset</code> rule.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified encoding value has a syntax error
- * and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is
- * readonly.
- */
- public void setEncoding(String encoding)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSFontFaceRule.java b/external/jaxp/source/org/w3c/dom/css/CSSFontFaceRule.java
deleted file mode 100755
index a17957061..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSFontFaceRule.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSFontFaceRule</code> interface represents a @font-face rule in
- * a CSS style sheet. The <code>@font-face</code> rule is used to hold a set
- * of font descriptions.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSFontFaceRule extends CSSRule {
- /**
- * The declaration-block of this rule.
- */
- public CSSStyleDeclaration getStyle();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSImportRule.java b/external/jaxp/source/org/w3c/dom/css/CSSImportRule.java
deleted file mode 100755
index e18ad569b..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSImportRule.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * The <code>CSSImportRule</code> interface represents a @import rule within
- * a CSS style sheet. The <code>@import</code> rule is used to import style
- * rules from other style sheets.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSImportRule extends CSSRule {
- /**
- * The location of the style sheet to be imported. The attribute will not
- * contain the <code>"url(...)"</code> specifier around the URI.
- */
- public String getHref();
-
- /**
- * A list of media types for which this style sheet may be used.
- */
- public MediaList getMedia();
-
- /**
- * The style sheet referred to by this rule, if it has been loaded. The
- * value of this attribute is <code>null</code> if the style sheet has
- * not yet been loaded or if it will not be loaded (e.g. if the style
- * sheet is for a media type not supported by the user agent).
- */
- public CSSStyleSheet getStyleSheet();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSMediaRule.java b/external/jaxp/source/org/w3c/dom/css/CSSMediaRule.java
deleted file mode 100755
index 68a73045e..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSMediaRule.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.MediaList;
-
-/**
- * The <code>CSSMediaRule</code> interface represents a @media rule in a CSS
- * style sheet. A <code>@media</code> rule can be used to delimit style
- * rules for specific media types.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSMediaRule extends CSSRule {
- /**
- * A list of media types for this rule.
- */
- public MediaList getMedia();
-
- /**
- * A list of all CSS rules contained within the media block.
- */
- public CSSRuleList getCssRules();
-
- /**
- * Used to insert a new rule into the media block.
- * @param rule The parsable text representing the rule. For rule sets
- * this contains both the selector and the style declaration. For
- * at-rules, this specifies both the at-identifier and the rule
- * content.
- * @param index The index within the media block's rule collection of
- * the rule before which to insert the specified rule. If the
- * specified index is equal to the length of the media blocks's rule
- * collection, the rule will be added to the end of the media block.
- * @return The index within the media block's rule collection of the
- * newly inserted rule.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
- * specified index, e.g., if an <code>@import</code> rule is inserted
- * after a standard rule set or other at-rule.
- * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
- * insertion point.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
- * readonly.
- * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
- * is unparsable.
- */
- public int insertRule(String rule,
- int index)
- throws DOMException;
-
- /**
- * Used to delete a rule from the media block.
- * @param index The index within the media block's rule collection of
- * the rule to remove.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index does not correspond to
- * a rule in the media rule list.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is
- * readonly.
- */
- public void deleteRule(int index)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSPageRule.java b/external/jaxp/source/org/w3c/dom/css/CSSPageRule.java
deleted file mode 100755
index cb95a3e59..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSPageRule.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSPageRule</code> interface represents a @page rule within a
- * CSS style sheet. The <code>@page</code> rule is used to specify the
- * dimensions, orientation, margins, etc. of a page box for paged media.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSPageRule extends CSSRule {
- /**
- * The parsable textual representation of the page selector for the rule.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
- */
- public String getSelectorText();
- /**
- * The parsable textual representation of the page selector for the rule.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
- */
- public void setSelectorText(String selectorText)
- throws DOMException;
-
- /**
- * The declaration-block of this rule.
- */
- public CSSStyleDeclaration getStyle();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSPrimitiveValue.java b/external/jaxp/source/org/w3c/dom/css/CSSPrimitiveValue.java
deleted file mode 100755
index 4131d26cd..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSPrimitiveValue.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSPrimitiveValue</code> interface represents a single CSS value
- * . This interface may be used to determine the value of a specific style
- * property currently set in a block or to set a specific style property
- * explicitly within the block. An instance of this interface might be
- * obtained from the <code>getPropertyCSSValue</code> method of the
- * <code>CSSStyleDeclaration</code> interface. A
- * <code>CSSPrimitiveValue</code> object only occurs in a context of a CSS
- * property.
- * <p> Conversions are allowed between absolute values (from millimeters to
- * centimeters, from degrees to radians, and so on) but not between relative
- * values. (For example, a pixel value cannot be converted to a centimeter
- * value.) Percentage values can't be converted since they are relative to
- * the parent value (or another property value). There is one exception for
- * color percentage values: since a color percentage value is relative to
- * the range 0-255, a color percentage value can be converted to a number;
- * (see also the <code>RGBColor</code> interface).
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSPrimitiveValue extends CSSValue {
- // UnitTypes
- /**
- * The value is not a recognized CSS2 value. The value can only be
- * obtained by using the <code>cssText</code> attribute.
- */
- public static final short CSS_UNKNOWN = 0;
- /**
- * The value is a simple number. The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_NUMBER = 1;
- /**
- * The value is a percentage. The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PERCENTAGE = 2;
- /**
- * The value is a length (ems). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_EMS = 3;
- /**
- * The value is a length (exs). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_EXS = 4;
- /**
- * The value is a length (px). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PX = 5;
- /**
- * The value is a length (cm). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_CM = 6;
- /**
- * The value is a length (mm). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_MM = 7;
- /**
- * The value is a length (in). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_IN = 8;
- /**
- * The value is a length (pt). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PT = 9;
- /**
- * The value is a length (pc). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_PC = 10;
- /**
- * The value is an angle (deg). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_DEG = 11;
- /**
- * The value is an angle (rad). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_RAD = 12;
- /**
- * The value is an angle (grad). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_GRAD = 13;
- /**
- * The value is a time (ms). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_MS = 14;
- /**
- * The value is a time (s). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_S = 15;
- /**
- * The value is a frequency (Hz). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_HZ = 16;
- /**
- * The value is a frequency (kHz). The value can be obtained by using the
- * <code>getFloatValue</code> method.
- */
- public static final short CSS_KHZ = 17;
- /**
- * The value is a number with an unknown dimension. The value can be
- * obtained by using the <code>getFloatValue</code> method.
- */
- public static final short CSS_DIMENSION = 18;
- /**
- * The value is a STRING. The value can be obtained by using the
- * <code>getStringValue</code> method.
- */
- public static final short CSS_STRING = 19;
- /**
- * The value is a URI. The value can be obtained by using the
- * <code>getStringValue</code> method.
- */
- public static final short CSS_URI = 20;
- /**
- * The value is an identifier. The value can be obtained by using the
- * <code>getStringValue</code> method.
- */
- public static final short CSS_IDENT = 21;
- /**
- * The value is a attribute function. The value can be obtained by using
- * the <code>getStringValue</code> method.
- */
- public static final short CSS_ATTR = 22;
- /**
- * The value is a counter or counters function. The value can be obtained
- * by using the <code>getCounterValue</code> method.
- */
- public static final short CSS_COUNTER = 23;
- /**
- * The value is a rect function. The value can be obtained by using the
- * <code>getRectValue</code> method.
- */
- public static final short CSS_RECT = 24;
- /**
- * The value is a RGB color. The value can be obtained by using the
- * <code>getRGBColorValue</code> method.
- */
- public static final short CSS_RGBCOLOR = 25;
-
- /**
- * The type of the value as defined by the constants specified above.
- */
- public short getPrimitiveType();
-
- /**
- * A method to set the float value with a specified unit. If the property
- * attached with this value can not accept the specified unit or the
- * float value, the value will be unchanged and a
- * <code>DOMException</code> will be raised.
- * @param unitType A unit code as defined above. The unit code can only
- * be a float unit type (i.e. <code>CSS_NUMBER</code>,
- * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
- * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
- * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
- * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
- * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
- * <code>CSS_HZ</code>, <code>CSS_KHZ</code>,
- * <code>CSS_DIMENSION</code>).
- * @param floatValue The new float value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the attached property doesn't support
- * the float value or the unit type.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setFloatValue(short unitType,
- float floatValue)
- throws DOMException;
-
- /**
- * This method is used to get a float value in a specified unit. If this
- * CSS value doesn't contain a float value or can't be converted into
- * the specified unit, a <code>DOMException</code> is raised.
- * @param unitType A unit code to get the float value. The unit code can
- * only be a float unit type (i.e. <code>CSS_NUMBER</code>,
- * <code>CSS_PERCENTAGE</code>, <code>CSS_EMS</code>,
- * <code>CSS_EXS</code>, <code>CSS_PX</code>, <code>CSS_CM</code>,
- * <code>CSS_MM</code>, <code>CSS_IN</code>, <code>CSS_PT</code>,
- * <code>CSS_PC</code>, <code>CSS_DEG</code>, <code>CSS_RAD</code>,
- * <code>CSS_GRAD</code>, <code>CSS_MS</code>, <code>CSS_S</code>,
- * <code>CSS_HZ</code>, <code>CSS_KHZ</code>,
- * <code>CSS_DIMENSION</code>).
- * @return The float value in the specified unit.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float
- * value or if the float value can't be converted into the specified
- * unit.
- */
- public float getFloatValue(short unitType)
- throws DOMException;
-
- /**
- * A method to set the string value with the specified unit. If the
- * property attached to this value can't accept the specified unit or
- * the string value, the value will be unchanged and a
- * <code>DOMException</code> will be raised.
- * @param stringType A string code as defined above. The string code can
- * only be a string unit type (i.e. <code>CSS_STRING</code>,
- * <code>CSS_URI</code>, <code>CSS_IDENT</code>, and
- * <code>CSS_ATTR</code>).
- * @param stringValue The new string value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
- * value or if the string value can't be converted into the specified
- * unit.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
- */
- public void setStringValue(short stringType,
- String stringValue)
- throws DOMException;
-
- /**
- * This method is used to get the string value. If the CSS value doesn't
- * contain a string value, a <code>DOMException</code> is raised. Some
- * properties (like 'font-family' or 'voice-family') convert a
- * whitespace separated list of idents to a string.
- * @return The string value in the current unit. The current
- * <code>primitiveType</code> can only be a string unit type (i.e.
- * <code>CSS_STRING</code>, <code>CSS_URI</code>,
- * <code>CSS_IDENT</code> and <code>CSS_ATTR</code>).
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string
- * value.
- */
- public String getStringValue()
- throws DOMException;
-
- /**
- * This method is used to get the Counter value. If this CSS value
- * doesn't contain a counter value, a <code>DOMException</code> is
- * raised. Modification to the corresponding style property can be
- * achieved using the <code>Counter</code> interface.
- * @return The Counter value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a
- * Counter value (e.g. this is not <code>CSS_COUNTER</code>).
- */
- public Counter getCounterValue()
- throws DOMException;
-
- /**
- * This method is used to get the Rect value. If this CSS value doesn't
- * contain a rect value, a <code>DOMException</code> is raised.
- * Modification to the corresponding style property can be achieved
- * using the <code>Rect</code> interface.
- * @return The Rect value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect
- * value. (e.g. this is not <code>CSS_RECT</code>).
- */
- public Rect getRectValue()
- throws DOMException;
-
- /**
- * This method is used to get the RGB color. If this CSS value doesn't
- * contain a RGB color value, a <code>DOMException</code> is raised.
- * Modification to the corresponding style property can be achieved
- * using the <code>RGBColor</code> interface.
- * @return the RGB color value.
- * @exception DOMException
- * INVALID_ACCESS_ERR: Raised if the attached property can't return a
- * RGB color value (e.g. this is not <code>CSS_RGBCOLOR</code>).
- */
- public RGBColor getRGBColorValue()
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSRule.java b/external/jaxp/source/org/w3c/dom/css/CSSRule.java
deleted file mode 100755
index 2d375e91a..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSRule.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSRule</code> interface is the abstract base interface for any
- * type of CSS statement. This includes both rule sets and at-rules. An
- * implementation is expected to preserve all rules specified in a CSS style
- * sheet, even if the rule is not recognized by the parser. Unrecognized
- * rules are represented using the <code>CSSUnknownRule</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSRule {
- // RuleType
- /**
- * The rule is a <code>CSSUnknownRule</code>.
- */
- public static final short UNKNOWN_RULE = 0;
- /**
- * The rule is a <code>CSSStyleRule</code>.
- */
- public static final short STYLE_RULE = 1;
- /**
- * The rule is a <code>CSSCharsetRule</code>.
- */
- public static final short CHARSET_RULE = 2;
- /**
- * The rule is a <code>CSSImportRule</code>.
- */
- public static final short IMPORT_RULE = 3;
- /**
- * The rule is a <code>CSSMediaRule</code>.
- */
- public static final short MEDIA_RULE = 4;
- /**
- * The rule is a <code>CSSFontFaceRule</code>.
- */
- public static final short FONT_FACE_RULE = 5;
- /**
- * The rule is a <code>CSSPageRule</code>.
- */
- public static final short PAGE_RULE = 6;
-
- /**
- * The type of the rule, as defined above. The expectation is that
- * binding-specific casting methods can be used to cast down from an
- * instance of the <code>CSSRule</code> interface to the specific
- * derived interface implied by the <code>type</code>.
- */
- public short getType();
-
- /**
- * The parsable textual representation of the rule. This reflects the
- * current state of the rule and not its initial value.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
- * value represents a different type of rule than the current one.
- * <br>HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at
- * this point in the style sheet.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.
- */
- public String getCssText();
- /**
- * The parsable textual representation of the rule. This reflects the
- * current state of the rule and not its initial value.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
- * value represents a different type of rule than the current one.
- * <br>HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at
- * this point in the style sheet.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.
- */
- public void setCssText(String cssText)
- throws DOMException;
-
- /**
- * The style sheet that contains this rule.
- */
- public CSSStyleSheet getParentStyleSheet();
-
- /**
- * If this rule is contained inside another rule (e.g. a style rule
- * inside an @media block), this is the containing rule. If this rule is
- * not nested inside any other rules, this returns <code>null</code>.
- */
- public CSSRule getParentRule();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSRuleList.java b/external/jaxp/source/org/w3c/dom/css/CSSRuleList.java
deleted file mode 100755
index 41c2c6837..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSRuleList.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSRuleList</code> interface provides the abstraction of an
- * ordered collection of CSS rules.
- * <p> The items in the <code>CSSRuleList</code> are accessible via an
- * integral index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSRuleList {
- /**
- * The number of <code>CSSRules</code> in the list. The range of valid
- * child rule indices is <code>0</code> to <code>length-1</code>
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve a CSS rule by ordinal index. The order in this
- * collection represents the order of the rules in the CSS style sheet.
- * If index is greater than or equal to the number of rules in the list,
- * this returns <code>null</code>.
- * @param index Index into the collection
- * @return The style rule at the <code>index</code> position in the
- * <code>CSSRuleList</code>, or <code>null</code> if that is not a
- * valid index.
- */
- public CSSRule item(int index);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSStyleDeclaration.java b/external/jaxp/source/org/w3c/dom/css/CSSStyleDeclaration.java
deleted file mode 100755
index bcd5229ff..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSStyleDeclaration.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSStyleDeclaration</code> interface represents a single CSS
- * declaration block. This interface may be used to determine the style
- * properties currently set in a block or to set style properties explicitly
- * within the block.
- * <p> While an implementation may not recognize all CSS properties within a
- * CSS declaration block, it is expected to provide access to all specified
- * properties in the style sheet through the <code>CSSStyleDeclaration</code>
- * interface. Furthermore, implementations that support a specific level of
- * CSS should correctly handle CSS shorthand properties for that level. For
- * a further discussion of shorthand properties, see the
- * <code>CSS2Properties</code> interface.
- * <p> This interface is also used to provide a read-only access to the
- * computed values of an element. See also the <code>ViewCSS</code>
- * interface. The CSS Object Model doesn't provide an access to the
- * specified or actual values of the CSS cascade.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSStyleDeclaration {
- /**
- * The parsable textual representation of the declaration block
- * (excluding the surrounding curly braces). Setting this attribute will
- * result in the parsing of the new value and resetting of all the
- * properties in the declaration block including the removal or addition
- * of properties.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly or a property is readonly.
- */
- public String getCssText();
- /**
- * The parsable textual representation of the declaration block
- * (excluding the surrounding curly braces). Setting this attribute will
- * result in the parsing of the new value and resetting of all the
- * properties in the declaration block including the removal or addition
- * of properties.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly or a property is readonly.
- */
- public void setCssText(String cssText)
- throws DOMException;
-
- /**
- * Used to retrieve the value of a CSS property if it has been explicitly
- * set within this declaration block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return Returns the value of the property if it has been explicitly
- * set for this declaration block. Returns the empty string if the
- * property has not been set.
- */
- public String getPropertyValue(String propertyName);
-
- /**
- * Used to retrieve the object representation of the value of a CSS
- * property if it has been explicitly set within this declaration block.
- * This method returns <code>null</code> if the property is a shorthand
- * property. Shorthand property values can only be accessed and modified
- * as strings, using the <code>getPropertyValue</code> and
- * <code>setProperty</code> methods.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return Returns the value of the property if it has been explicitly
- * set for this declaration block. Returns <code>null</code> if the
- * property has not been set.
- */
- public CSSValue getPropertyCSSValue(String propertyName);
-
- /**
- * Used to remove a CSS property if it has been explicitly set within
- * this declaration block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return Returns the value of the property if it has been explicitly
- * set for this declaration block. Returns the empty string if the
- * property has not been set or the property name does not correspond
- * to a known CSS property.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly
- * or the property is readonly.
- */
- public String removeProperty(String propertyName)
- throws DOMException;
-
- /**
- * Used to retrieve the priority of a CSS property (e.g. the
- * <code>"important"</code> qualifier) if the property has been
- * explicitly set in this declaration block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @return A string representing the priority (e.g.
- * <code>"important"</code>) if one exists. The empty string if none
- * exists.
- */
- public String getPropertyPriority(String propertyName);
-
- /**
- * Used to set a property value and priority within this declaration
- * block.
- * @param propertyName The name of the CSS property. See the CSS
- * property index.
- * @param value The new value of the property.
- * @param priority The new priority of the property (e.g.
- * <code>"important"</code>).
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified value has a syntax error and is
- * unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is
- * readonly or the property is readonly.
- */
- public void setProperty(String propertyName,
- String value,
- String priority)
- throws DOMException;
-
- /**
- * The number of properties that have been explicitly set in this
- * declaration block. The range of valid indices is 0 to length-1
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve the properties that have been explicitly set in this
- * declaration block. The order of the properties retrieved using this
- * method does not have to be the order in which they were set. This
- * method can be used to iterate over all properties in this declaration
- * block.
- * @param index Index of the property name to retrieve.
- * @return The name of the property at this ordinal position. The empty
- * string if no property exists at this position.
- */
- public String item(int index);
-
- /**
- * The CSS rule that contains this declaration block or <code>null</code>
- * if this <code>CSSStyleDeclaration</code> is not attached to a
- * <code>CSSRule</code>.
- */
- public CSSRule getParentRule();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSStyleRule.java b/external/jaxp/source/org/w3c/dom/css/CSSStyleRule.java
deleted file mode 100755
index e3e0cd81a..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSStyleRule.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSStyleRule</code> interface represents a single rule set in a
- * CSS style sheet.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSStyleRule extends CSSRule {
- /**
- * The textual representation of the selector for the rule set. The
- * implementation may have stripped out insignificant whitespace while
- * parsing the selector.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
- */
- public String getSelectorText();
- /**
- * The textual representation of the selector for the rule set. The
- * implementation may have stripped out insignificant whitespace while
- * parsing the selector.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly.
- */
- public void setSelectorText(String selectorText)
- throws DOMException;
-
- /**
- * The declaration-block of this rule set.
- */
- public CSSStyleDeclaration getStyle();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSStyleSheet.java b/external/jaxp/source/org/w3c/dom/css/CSSStyleSheet.java
deleted file mode 100755
index b529e5db0..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSStyleSheet.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-import org.w3c.dom.stylesheets.StyleSheet;
-
-/**
- * The <code>CSSStyleSheet</code> interface is a concrete interface used to
- * represent a CSS style sheet i.e., a style sheet whose content type is
- * "text/css".
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSStyleSheet extends StyleSheet {
- /**
- * If this style sheet comes from an <code>@import</code> rule, the
- * <code>ownerRule</code> attribute will contain the
- * <code>CSSImportRule</code>. In that case, the <code>ownerNode</code>
- * attribute in the <code>StyleSheet</code> interface will be
- * <code>null</code>. If the style sheet comes from an element or a
- * processing instruction, the <code>ownerRule</code> attribute will be
- * <code>null</code> and the <code>ownerNode</code> attribute will
- * contain the <code>Node</code>.
- */
- public CSSRule getOwnerRule();
-
- /**
- * The list of all CSS rules contained within the style sheet. This
- * includes both rule sets and at-rules.
- */
- public CSSRuleList getCssRules();
-
- /**
- * Used to insert a new rule into the style sheet. The new rule now
- * becomes part of the cascade.
- * @param rule The parsable text representing the rule. For rule sets
- * this contains both the selector and the style declaration. For
- * at-rules, this specifies both the at-identifier and the rule
- * content.
- * @param index The index within the style sheet's rule list of the rule
- * before which to insert the specified rule. If the specified index
- * is equal to the length of the style sheet's rule collection, the
- * rule will be added to the end of the style sheet.
- * @return The index within the style sheet's rule collection of the
- * newly inserted rule.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the
- * specified index e.g. if an <code>@import</code> rule is inserted
- * after a standard rule set or other at-rule.
- * <br>INDEX_SIZE_ERR: Raised if the specified index is not a valid
- * insertion point.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
- * readonly.
- * <br>SYNTAX_ERR: Raised if the specified rule has a syntax error and
- * is unparsable.
- */
- public int insertRule(String rule,
- int index)
- throws DOMException;
-
- /**
- * Used to delete a rule from the style sheet.
- * @param index The index within the style sheet's rule list of the rule
- * to remove.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index does not correspond to
- * a rule in the style sheet's rule list.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is
- * readonly.
- */
- public void deleteRule(int index)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSUnknownRule.java b/external/jaxp/source/org/w3c/dom/css/CSSUnknownRule.java
deleted file mode 100755
index 763d5f1b6..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSUnknownRule.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSUnknownRule</code> interface represents an at-rule not
- * supported by this user agent.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSUnknownRule extends CSSRule {
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSValue.java b/external/jaxp/source/org/w3c/dom/css/CSSValue.java
deleted file mode 100755
index 48b2fbd6f..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSValue.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>CSSValue</code> interface represents a simple or a complex
- * value. A <code>CSSValue</code> object only occurs in a context of a CSS
- * property.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSValue {
- // UnitTypes
- /**
- * The value is inherited and the <code>cssText</code> contains "inherit".
- */
- public static final short CSS_INHERIT = 0;
- /**
- * The value is a primitive value and an instance of the
- * <code>CSSPrimitiveValue</code> interface can be obtained by using
- * binding-specific casting methods on this instance of the
- * <code>CSSValue</code> interface.
- */
- public static final short CSS_PRIMITIVE_VALUE = 1;
- /**
- * The value is a <code>CSSValue</code> list and an instance of the
- * <code>CSSValueList</code> interface can be obtained by using
- * binding-specific casting methods on this instance of the
- * <code>CSSValue</code> interface.
- */
- public static final short CSS_VALUE_LIST = 2;
- /**
- * The value is a custom value.
- */
- public static final short CSS_CUSTOM = 3;
-
- /**
- * A string representation of the current value.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error (according to the attached property) or is unparsable.
- * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
- * value represents a different type of values than the values allowed
- * by the CSS property.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly.
- */
- public String getCssText();
- /**
- * A string representation of the current value.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified CSS string value has a syntax
- * error (according to the attached property) or is unparsable.
- * <br>INVALID_MODIFICATION_ERR: Raised if the specified CSS string
- * value represents a different type of values than the values allowed
- * by the CSS property.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly.
- */
- public void setCssText(String cssText)
- throws DOMException;
-
- /**
- * A code defining the type of the value as defined above.
- */
- public short getCssValueType();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/CSSValueList.java b/external/jaxp/source/org/w3c/dom/css/CSSValueList.java
deleted file mode 100755
index bf15bb3eb..000000000
--- a/external/jaxp/source/org/w3c/dom/css/CSSValueList.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>CSSValueList</code> interface provides the abstraction of an
- * ordered collection of CSS values.
- * <p> Some properties allow an empty list into their syntax. In that case,
- * these properties take the <code>none</code> identifier. So, an empty list
- * means that the property has the value <code>none</code>.
- * <p> The items in the <code>CSSValueList</code> are accessible via an
- * integral index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface CSSValueList extends CSSValue {
- /**
- * The number of <code>CSSValues</code> in the list. The range of valid
- * values of the indices is <code>0</code> to <code>length-1</code>
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve a <code>CSSValue</code> by ordinal index. The order in
- * this collection represents the order of the values in the CSS style
- * property. If index is greater than or equal to the number of values
- * in the list, this returns <code>null</code>.
- * @param index Index into the collection.
- * @return The <code>CSSValue</code> at the <code>index</code> position
- * in the <code>CSSValueList</code>, or <code>null</code> if that is
- * not a valid index.
- */
- public CSSValue item(int index);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/Counter.java b/external/jaxp/source/org/w3c/dom/css/Counter.java
deleted file mode 100755
index 8cd4967b3..000000000
--- a/external/jaxp/source/org/w3c/dom/css/Counter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>Counter</code> interface is used to represent any counter or
- * counters function value. This interface reflects the values in the
- * underlying style property.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface Counter {
- /**
- * This attribute is used for the identifier of the counter.
- */
- public String getIdentifier();
-
- /**
- * This attribute is used for the style of the list.
- */
- public String getListStyle();
-
- /**
- * This attribute is used for the separator of the nested counters.
- */
- public String getSeparator();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/DOMImplementationCSS.java b/external/jaxp/source/org/w3c/dom/css/DOMImplementationCSS.java
deleted file mode 100755
index 65c97291e..000000000
--- a/external/jaxp/source/org/w3c/dom/css/DOMImplementationCSS.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.DOMException;
-
-/**
- * This interface allows the DOM user to create a <code>CSSStyleSheet</code>
- * outside the context of a document. There is no way to associate the new
- * <code>CSSStyleSheet</code> with a document in DOM Level 2.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface DOMImplementationCSS extends DOMImplementation {
- /**
- * Creates a new <code>CSSStyleSheet</code>.
- * @param title The advisory title. See also the section.
- * @param media The comma-separated list of media associated with the
- * new style sheet. See also the section.
- * @return A new CSS style sheet.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified media string value has a syntax
- * error and is unparsable.
- */
- public CSSStyleSheet createCSSStyleSheet(String title,
- String media)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/DocumentCSS.java b/external/jaxp/source/org/w3c/dom/css/DocumentCSS.java
deleted file mode 100755
index 8fe93c79a..000000000
--- a/external/jaxp/source/org/w3c/dom/css/DocumentCSS.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.stylesheets.DocumentStyle;
-
-/**
- * This interface represents a document with a CSS view.
- * <p> The <code>getOverrideStyle</code> method provides a mechanism through
- * which a DOM author could effect immediate change to the style of an
- * element without modifying the explicitly linked style sheets of a
- * document or the inline style of elements in the style sheets. This style
- * sheet comes after the author style sheet in the cascade algorithm and is
- * called override style sheet. The override style sheet takes precedence
- * over author style sheets. An "!important" declaration still takes
- * precedence over a normal declaration. Override, author, and user style
- * sheets all may contain "!important" declarations. User "!important" rules
- * take precedence over both override and author "!important" rules, and
- * override "!important" rules take precedence over author "!important"
- * rules.
- * <p> The expectation is that an instance of the <code>DocumentCSS</code>
- * interface can be obtained by using binding-specific casting methods on an
- * instance of the <code>Document</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentCSS extends DocumentStyle {
- /**
- * This method is used to retrieve the override style declaration for a
- * specified element and a specified pseudo-element.
- * @param elt The element whose style is to be modified. This parameter
- * cannot be null.
- * @param pseudoElt The pseudo-element or <code>null</code> if none.
- * @return The override style declaration.
- */
- public CSSStyleDeclaration getOverrideStyle(Element elt,
- String pseudoElt);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/ElementCSSInlineStyle.java b/external/jaxp/source/org/w3c/dom/css/ElementCSSInlineStyle.java
deleted file mode 100755
index 98b60bf9d..000000000
--- a/external/jaxp/source/org/w3c/dom/css/ElementCSSInlineStyle.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * Inline style information attached to elements is exposed through the
- * <code>style</code> attribute. This represents the contents of the STYLE
- * attribute for HTML elements (or elements in other schemas or DTDs which
- * use the STYLE attribute in the same way). The expectation is that an
- * instance of the ElementCSSInlineStyle interface can be obtained by using
- * binding-specific casting methods on an instance of the Element interface
- * when the element supports inline CSS style informations.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface ElementCSSInlineStyle {
- /**
- * The style attribute.
- */
- public CSSStyleDeclaration getStyle();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/RGBColor.java b/external/jaxp/source/org/w3c/dom/css/RGBColor.java
deleted file mode 100755
index cd5daa567..000000000
--- a/external/jaxp/source/org/w3c/dom/css/RGBColor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>RGBColor</code> interface is used to represent any RGB color
- * value. This interface reflects the values in the underlying style
- * property. Hence, modifications made to the <code>CSSPrimitiveValue</code>
- * objects modify the style property.
- * <p> A specified RGB color is not clipped (even if the number is outside the
- * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the
- * device.
- * <p> Even if a style sheet can only contain an integer for a color value,
- * the internal storage of this integer is a float, and this can be used as
- * a float in the specified or the computed style.
- * <p> A color percentage value can always be converted to a number and vice
- * versa.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface RGBColor {
- /**
- * This attribute is used for the red value of the RGB color.
- */
- public CSSPrimitiveValue getRed();
-
- /**
- * This attribute is used for the green value of the RGB color.
- */
- public CSSPrimitiveValue getGreen();
-
- /**
- * This attribute is used for the blue value of the RGB color.
- */
- public CSSPrimitiveValue getBlue();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/Rect.java b/external/jaxp/source/org/w3c/dom/css/Rect.java
deleted file mode 100755
index f5efb1084..000000000
--- a/external/jaxp/source/org/w3c/dom/css/Rect.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-/**
- * The <code>Rect</code> interface is used to represent any rect value. This
- * interface reflects the values in the underlying style property. Hence,
- * modifications made to the <code>CSSPrimitiveValue</code> objects modify
- * the style property.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface Rect {
- /**
- * This attribute is used for the top of the rect.
- */
- public CSSPrimitiveValue getTop();
-
- /**
- * This attribute is used for the right of the rect.
- */
- public CSSPrimitiveValue getRight();
-
- /**
- * This attribute is used for the bottom of the rect.
- */
- public CSSPrimitiveValue getBottom();
-
- /**
- * This attribute is used for the left of the rect.
- */
- public CSSPrimitiveValue getLeft();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/ViewCSS.java b/external/jaxp/source/org/w3c/dom/css/ViewCSS.java
deleted file mode 100755
index 0f7e88ff9..000000000
--- a/external/jaxp/source/org/w3c/dom/css/ViewCSS.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.css;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.views.AbstractView;
-
-/**
- * This interface represents a CSS view. The <code>getComputedStyle</code>
- * method provides a read only access to the computed values of an element.
- * <p> The expectation is that an instance of the <code>ViewCSS</code>
- * interface can be obtained by using binding-specific casting methods on an
- * instance of the <code>AbstractView</code> interface.
- * <p> Since a computed style is related to an <code>Element</code> node, if
- * this element is removed from the document, the associated
- * <code>CSSStyleDeclaration</code> and <code>CSSValue</code> related to
- * this declaration are no longer valid.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface ViewCSS extends AbstractView {
- /**
- * This method is used to get the computed style as it is defined in .
- * @param elt The element whose style is to be computed. This parameter
- * cannot be null.
- * @param pseudoElt The pseudo-element or <code>null</code> if none.
- * @return The computed style. The <code>CSSStyleDeclaration</code> is
- * read-only and contains only absolute values.
- */
- public CSSStyleDeclaration getComputedStyle(Element elt,
- String pseudoElt);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/css/package.html b/external/jaxp/source/org/w3c/dom/css/package.html
deleted file mode 100755
index 7f4d5a7ea..000000000
--- a/external/jaxp/source/org/w3c/dom/css/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports the optional "CSS" and "CSS2"
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/"
->stylesheet</a>
-features of the
-DOM Level 2 Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/events/DocumentEvent.java b/external/jaxp/source/org/w3c/dom/events/DocumentEvent.java
deleted file mode 100755
index 76644bc5a..000000000
--- a/external/jaxp/source/org/w3c/dom/events/DocumentEvent.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>DocumentEvent</code> interface provides a mechanism by which the
- * user can create an Event of a type supported by the implementation. It is
- * expected that the <code>DocumentEvent</code> interface will be
- * implemented on the same object which implements the <code>Document</code>
- * interface in an implementation which supports the Event model.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentEvent {
- /**
- *
- * @param eventType The <code>eventType</code> parameter specifies the
- * type of <code>Event</code> interface to be created. If the
- * <code>Event</code> interface specified is supported by the
- * implementation this method will return a new <code>Event</code> of
- * the interface type requested. If the <code>Event</code> is to be
- * dispatched via the <code>dispatchEvent</code> method the
- * appropriate event init method must be called after creation in
- * order to initialize the <code>Event</code>'s values. As an example,
- * a user wishing to synthesize some kind of <code>UIEvent</code>
- * would call <code>createEvent</code> with the parameter "UIEvents".
- * The <code>initUIEvent</code> method could then be called on the
- * newly created <code>UIEvent</code> to set the specific type of
- * UIEvent to be dispatched and set its context information.The
- * <code>createEvent</code> method is used in creating
- * <code>Event</code>s when it is either inconvenient or unnecessary
- * for the user to create an <code>Event</code> themselves. In cases
- * where the implementation provided <code>Event</code> is
- * insufficient, users may supply their own <code>Event</code>
- * implementations for use with the <code>dispatchEvent</code> method.
- * @return The newly created <code>Event</code>
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if the implementation does not support the
- * type of <code>Event</code> interface requested
- */
- public Event createEvent(String eventType)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/Event.java b/external/jaxp/source/org/w3c/dom/events/Event.java
deleted file mode 100755
index 14a9239ed..000000000
--- a/external/jaxp/source/org/w3c/dom/events/Event.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- * The <code>Event</code> interface is used to provide contextual information
- * about an event to the handler processing the event. An object which
- * implements the <code>Event</code> interface is generally passed as the
- * first parameter to an event handler. More specific context information is
- * passed to event handlers by deriving additional interfaces from
- * <code>Event</code> which contain information directly relating to the
- * type of event they accompany. These derived interfaces are also
- * implemented by the object passed to the event listener.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface Event {
- // PhaseType
- /**
- * The current event phase is the capturing phase.
- */
- public static final short CAPTURING_PHASE = 1;
- /**
- * The event is currently being evaluated at the target
- * <code>EventTarget</code>.
- */
- public static final short AT_TARGET = 2;
- /**
- * The current event phase is the bubbling phase.
- */
- public static final short BUBBLING_PHASE = 3;
-
- /**
- * The name of the event (case-insensitive). The name must be an XML name.
- */
- public String getType();
-
- /**
- * Used to indicate the <code>EventTarget</code> to which the event was
- * originally dispatched.
- */
- public EventTarget getTarget();
-
- /**
- * Used to indicate the <code>EventTarget</code> whose
- * <code>EventListeners</code> are currently being processed. This is
- * particularly useful during capturing and bubbling.
- */
- public EventTarget getCurrentTarget();
-
- /**
- * Used to indicate which phase of event flow is currently being
- * evaluated.
- */
- public short getEventPhase();
-
- /**
- * Used to indicate whether or not an event is a bubbling event. If the
- * event can bubble the value is true, else the value is false.
- */
- public boolean getBubbles();
-
- /**
- * Used to indicate whether or not an event can have its default action
- * prevented. If the default action can be prevented the value is true,
- * else the value is false.
- */
- public boolean getCancelable();
-
- /**
- * Used to specify the time (in milliseconds relative to the epoch) at
- * which the event was created. Due to the fact that some systems may
- * not provide this information the value of <code>timeStamp</code> may
- * be not available for all events. When not available, a value of 0
- * will be returned. Examples of epoch time are the time of the system
- * start or 0:0:0 UTC 1st January 1970.
- */
- public long getTimeStamp();
-
- /**
- * The <code>stopPropagation</code> method is used prevent further
- * propagation of an event during event flow. If this method is called
- * by any <code>EventListener</code> the event will cease propagating
- * through the tree. The event will complete dispatch to all listeners
- * on the current <code>EventTarget</code> before event flow stops. This
- * method may be used during any stage of event flow.
- */
- public void stopPropagation();
-
- /**
- * If an event is cancelable, the <code>preventDefault</code> method is
- * used to signify that the event is to be canceled, meaning any default
- * action normally taken by the implementation as a result of the event
- * will not occur. If, during any stage of event flow, the
- * <code>preventDefault</code> method is called the event is canceled.
- * Any default action associated with the event will not occur. Calling
- * this method for a non-cancelable event has no effect. Once
- * <code>preventDefault</code> has been called it will remain in effect
- * throughout the remainder of the event's propagation. This method may
- * be used during any stage of event flow.
- */
- public void preventDefault();
-
- /**
- * The <code>initEvent</code> method is used to initialize the value of an
- * <code>Event</code> created through the <code>DocumentEvent</code>
- * interface. This method may only be called before the
- * <code>Event</code> has been dispatched via the
- * <code>dispatchEvent</code> method, though it may be called multiple
- * times during that phase if necessary. If called multiple times the
- * final invocation takes precedence. If called from a subclass of
- * <code>Event</code> interface only the values specified in the
- * <code>initEvent</code> method are modified, all other attributes are
- * left unchanged.
- * @param eventTypeArg Specifies the event type. This type may be any
- * event type currently defined in this specification or a new event
- * type.. The string must be an XML name. Any new event type must not
- * begin with any upper, lower, or mixed case version of the string
- * "DOM". This prefix is reserved for future DOM event sets. It is
- * also strongly recommended that third parties adding their own
- * events use their own prefix to avoid confusion and lessen the
- * probability of conflicts with other new events.
- * @param canBubbleArg Specifies whether or not the event can bubble.
- * @param cancelableArg Specifies whether or not the event's default
- * action can be prevented.
- */
- public void initEvent(String eventTypeArg,
- boolean canBubbleArg,
- boolean cancelableArg);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/EventException.java b/external/jaxp/source/org/w3c/dom/events/EventException.java
deleted file mode 100755
index 7a6ff2620..000000000
--- a/external/jaxp/source/org/w3c/dom/events/EventException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- * Event operations may throw an <code>EventException</code> as specified in
- * their method descriptions.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public class EventException extends RuntimeException {
- public EventException(short code, String message) {
- super(message);
- this.code = code;
- }
- public short code;
- // EventExceptionCode
- /**
- * If the <code>Event</code>'s type was not specified by initializing the
- * event before the method was called. Specification of the Event's type
- * as <code>null</code> or an empty string will also trigger this
- * exception.
- */
- public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/EventListener.java b/external/jaxp/source/org/w3c/dom/events/EventListener.java
deleted file mode 100755
index 1df80202c..000000000
--- a/external/jaxp/source/org/w3c/dom/events/EventListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- * The <code>EventListener</code> interface is the primary method for
- * handling events. Users implement the <code>EventListener</code> interface
- * and register their listener on an <code>EventTarget</code> using the
- * <code>AddEventListener</code> method. The users should also remove their
- * <code>EventListener</code> from its <code>EventTarget</code> after they
- * have completed using the listener.
- * <p> When a <code>Node</code> is copied using the <code>cloneNode</code>
- * method the <code>EventListener</code>s attached to the source
- * <code>Node</code> are not attached to the copied <code>Node</code>. If
- * the user wishes the same <code>EventListener</code>s to be added to the
- * newly created copy the user must add them manually.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface EventListener {
- /**
- * This method is called whenever an event occurs of the type for which
- * the <code> EventListener</code> interface was registered.
- * @param evt The <code>Event</code> contains contextual information
- * about the event. It also contains the <code>stopPropagation</code>
- * and <code>preventDefault</code> methods which are used in
- * determining the event's flow and default action.
- */
- public void handleEvent(Event evt);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/EventTarget.java b/external/jaxp/source/org/w3c/dom/events/EventTarget.java
deleted file mode 100755
index f07663660..000000000
--- a/external/jaxp/source/org/w3c/dom/events/EventTarget.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-/**
- * The <code>EventTarget</code> interface is implemented by all
- * <code>Nodes</code> in an implementation which supports the DOM Event
- * Model. Therefore, this interface can be obtained by using
- * binding-specific casting methods on an instance of the <code>Node</code>
- * interface. The interface allows registration and removal of
- * <code>EventListeners</code> on an <code>EventTarget</code> and dispatch
- * of events to that <code>EventTarget</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface EventTarget {
- /**
- * This method allows the registration of event listeners on the event
- * target. If an <code>EventListener</code> is added to an
- * <code>EventTarget</code> while it is processing an event, it will not
- * be triggered by the current actions but may be triggered during a
- * later stage of event flow, such as the bubbling phase.
- * <br> If multiple identical <code>EventListener</code>s are registered
- * on the same <code>EventTarget</code> with the same parameters the
- * duplicate instances are discarded. They do not cause the
- * <code>EventListener</code> to be called twice and since they are
- * discarded they do not need to be removed with the
- * <code>removeEventListener</code> method.
- * @param type The event type for which the user is registering
- * @param listener The <code>listener</code> parameter takes an interface
- * implemented by the user which contains the methods to be called
- * when the event occurs.
- * @param useCapture If true, <code>useCapture</code> indicates that the
- * user wishes to initiate capture. After initiating capture, all
- * events of the specified type will be dispatched to the registered
- * <code>EventListener</code> before being dispatched to any
- * <code>EventTargets</code> beneath them in the tree. Events which
- * are bubbling upward through the tree will not trigger an
- * <code>EventListener</code> designated to use capture.
- */
- public void addEventListener(String type,
- EventListener listener,
- boolean useCapture);
-
- /**
- * This method allows the removal of event listeners from the event
- * target. If an <code>EventListener</code> is removed from an
- * <code>EventTarget</code> while it is processing an event, it will not
- * be triggered by the current actions. <code>EventListener</code>s can
- * never be invoked after being removed.
- * <br>Calling <code>removeEventListener</code> with arguments which do
- * not identify any currently registered <code>EventListener</code> on
- * the <code>EventTarget</code> has no effect.
- * @param type Specifies the event type of the <code>EventListener</code>
- * being removed.
- * @param listener The <code>EventListener</code> parameter indicates the
- * <code>EventListener </code> to be removed.
- * @param useCapture Specifies whether the <code>EventListener</code>
- * being removed was registered as a capturing listener or not. If a
- * listener was registered twice, one with capture and one without,
- * each must be removed separately. Removal of a capturing listener
- * does not affect a non-capturing version of the same listener, and
- * vice versa.
- */
- public void removeEventListener(String type,
- EventListener listener,
- boolean useCapture);
-
- /**
- * This method allows the dispatch of events into the implementations
- * event model. Events dispatched in this manner will have the same
- * capturing and bubbling behavior as events dispatched directly by the
- * implementation. The target of the event is the
- * <code> EventTarget</code> on which <code>dispatchEvent</code> is
- * called.
- * @param evt Specifies the event type, behavior, and contextual
- * information to be used in processing the event.
- * @return The return value of <code>dispatchEvent</code> indicates
- * whether any of the listeners which handled the event called
- * <code>preventDefault</code>. If <code>preventDefault</code> was
- * called the value is false, else the value is true.
- * @exception EventException
- * UNSPECIFIED_EVENT_TYPE_ERR: Raised if the <code>Event</code>'s type
- * was not specified by initializing the event before
- * <code>dispatchEvent</code> was called. Specification of the
- * <code>Event</code>'s type as <code>null</code> or an empty string
- * will also trigger this exception.
- */
- public boolean dispatchEvent(Event evt)
- throws EventException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/MouseEvent.java b/external/jaxp/source/org/w3c/dom/events/MouseEvent.java
deleted file mode 100755
index be780357a..000000000
--- a/external/jaxp/source/org/w3c/dom/events/MouseEvent.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-import org.w3c.dom.views.AbstractView;
-
-/**
- * The <code>MouseEvent</code> interface provides specific contextual
- * information associated with Mouse events.
- * <p>The <code>detail</code> attribute inherited from <code>UIEvent</code>
- * indicates the number of times a mouse button has been pressed and
- * released over the same screen location during a user action. The
- * attribute value is 1 when the user begins this action and increments by 1
- * for each full sequence of pressing and releasing. If the user moves the
- * mouse between the mousedown and mouseup the value will be set to 0,
- * indicating that no click is occurring.
- * <p>In the case of nested elements mouse events are always targeted at the
- * most deeply nested element. Ancestors of the targeted element may use
- * bubbling to obtain notification of mouse events which occur within its
- * descendent elements.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface MouseEvent extends UIEvent {
- /**
- * The horizontal coordinate at which the event occurred relative to the
- * origin of the screen coordinate system.
- */
- public int getScreenX();
-
- /**
- * The vertical coordinate at which the event occurred relative to the
- * origin of the screen coordinate system.
- */
- public int getScreenY();
-
- /**
- * The horizontal coordinate at which the event occurred relative to the
- * DOM implementation's client area.
- */
- public int getClientX();
-
- /**
- * The vertical coordinate at which the event occurred relative to the DOM
- * implementation's client area.
- */
- public int getClientY();
-
- /**
- * Used to indicate whether the 'ctrl' key was depressed during the firing
- * of the event.
- */
- public boolean getCtrlKey();
-
- /**
- * Used to indicate whether the 'shift' key was depressed during the
- * firing of the event.
- */
- public boolean getShiftKey();
-
- /**
- * Used to indicate whether the 'alt' key was depressed during the firing
- * of the event. On some platforms this key may map to an alternative
- * key name.
- */
- public boolean getAltKey();
-
- /**
- * Used to indicate whether the 'meta' key was depressed during the firing
- * of the event. On some platforms this key may map to an alternative
- * key name.
- */
- public boolean getMetaKey();
-
- /**
- * During mouse events caused by the depression or release of a mouse
- * button, <code>button</code> is used to indicate which mouse button
- * changed state. The values for <code>button</code> range from zero to
- * indicate the left button of the mouse, one to indicate the middle
- * button if present, and two to indicate the right button. For mice
- * configured for left handed use in which the button actions are
- * reversed the values are instead read from right to left.
- */
- public short getButton();
-
- /**
- * Used to identify a secondary <code>EventTarget</code> related to a UI
- * event. Currently this attribute is used with the mouseover event to
- * indicate the <code>EventTarget</code> which the pointing device
- * exited and with the mouseout event to indicate the
- * <code>EventTarget</code> which the pointing device entered.
- */
- public EventTarget getRelatedTarget();
-
- /**
- * The <code>initMouseEvent</code> method is used to initialize the value
- * of a <code>MouseEvent</code> created through the
- * <code>DocumentEvent</code> interface. This method may only be called
- * before the <code>MouseEvent</code> has been dispatched via the
- * <code>dispatchEvent</code> method, though it may be called multiple
- * times during that phase if necessary. If called multiple times, the
- * final invocation takes precedence.
- * @param typeArg Specifies the event type.
- * @param canBubbleArg Specifies whether or not the event can bubble.
- * @param cancelableArg Specifies whether or not the event's default
- * action can be prevented.
- * @param viewArg Specifies the <code>Event</code>'s
- * <code>AbstractView</code>.
- * @param detailArg Specifies the <code>Event</code>'s mouse click count.
- * @param screenXArg Specifies the <code>Event</code>'s screen x
- * coordinate
- * @param screenYArg Specifies the <code>Event</code>'s screen y
- * coordinate
- * @param clientXArg Specifies the <code>Event</code>'s client x
- * coordinate
- * @param clientYArg Specifies the <code>Event</code>'s client y
- * coordinate
- * @param ctrlKeyArg Specifies whether or not control key was depressed
- * during the <code>Event</code>.
- * @param altKeyArg Specifies whether or not alt key was depressed during
- * the <code>Event</code>.
- * @param shiftKeyArg Specifies whether or not shift key was depressed
- * during the <code>Event</code>.
- * @param metaKeyArg Specifies whether or not meta key was depressed
- * during the <code>Event</code>.
- * @param buttonArg Specifies the <code>Event</code>'s mouse button.
- * @param relatedTargetArg Specifies the <code>Event</code>'s related
- * <code>EventTarget</code>.
- */
- public void initMouseEvent(String typeArg,
- boolean canBubbleArg,
- boolean cancelableArg,
- AbstractView viewArg,
- int detailArg,
- int screenXArg,
- int screenYArg,
- int clientXArg,
- int clientYArg,
- boolean ctrlKeyArg,
- boolean altKeyArg,
- boolean shiftKeyArg,
- boolean metaKeyArg,
- short buttonArg,
- EventTarget relatedTargetArg);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/MutationEvent.java b/external/jaxp/source/org/w3c/dom/events/MutationEvent.java
deleted file mode 100755
index 351f77b3b..000000000
--- a/external/jaxp/source/org/w3c/dom/events/MutationEvent.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-import org.w3c.dom.Node;
-
-/**
- * The <code>MutationEvent</code> interface provides specific contextual
- * information associated with Mutation events.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface MutationEvent extends Event {
- // attrChangeType
- /**
- * The <code>Attr</code> was modified in place.
- */
- public static final short MODIFICATION = 1;
- /**
- * The <code>Attr</code> was just added.
- */
- public static final short ADDITION = 2;
- /**
- * The <code>Attr</code> was just removed.
- */
- public static final short REMOVAL = 3;
-
- /**
- * <code>relatedNode</code> is used to identify a secondary node related
- * to a mutation event. For example, if a mutation event is dispatched
- * to a node indicating that its parent has changed, the
- * <code>relatedNode</code> is the changed parent. If an event is
- * instead dispatched to a subtree indicating a node was changed within
- * it, the <code>relatedNode</code> is the changed node. In the case of
- * the DOMAttrModified event it indicates the <code>Attr</code> node
- * which was modified, added, or removed.
- */
- public Node getRelatedNode();
-
- /**
- * <code>prevValue</code> indicates the previous value of the
- * <code>Attr</code> node in DOMAttrModified events, and of the
- * <code>CharacterData</code> node in DOMCharDataModified events.
- */
- public String getPrevValue();
-
- /**
- * <code>newValue</code> indicates the new value of the <code>Attr</code>
- * node in DOMAttrModified events, and of the <code>CharacterData</code>
- * node in DOMCharDataModified events.
- */
- public String getNewValue();
-
- /**
- * <code>attrName</code> indicates the name of the changed
- * <code>Attr</code> node in a DOMAttrModified event.
- */
- public String getAttrName();
-
- /**
- * <code>attrChange</code> indicates the type of change which triggered
- * the DOMAttrModified event. The values can be <code>MODIFICATION</code>
- * , <code>ADDITION</code>, or <code>REMOVAL</code>.
- */
- public short getAttrChange();
-
- /**
- * The <code>initMutationEvent</code> method is used to initialize the
- * value of a <code>MutationEvent</code> created through the
- * <code>DocumentEvent</code> interface. This method may only be called
- * before the <code>MutationEvent</code> has been dispatched via the
- * <code>dispatchEvent</code> method, though it may be called multiple
- * times during that phase if necessary. If called multiple times, the
- * final invocation takes precedence.
- * @param typeArg Specifies the event type.
- * @param canBubbleArg Specifies whether or not the event can bubble.
- * @param cancelableArg Specifies whether or not the event's default
- * action can be prevented.
- * @param relatedNodeArg Specifies the <code>Event</code>'s related Node.
- * @param prevValueArg Specifies the <code>Event</code>'s
- * <code>prevValue</code> attribute. This value may be null.
- * @param newValueArg Specifies the <code>Event</code>'s
- * <code>newValue</code> attribute. This value may be null.
- * @param attrNameArg Specifies the <code>Event</code>'s
- * <code>attrName</code> attribute. This value may be null.
- * @param attrChangeArg Specifies the <code>Event</code>'s
- * <code>attrChange</code> attribute
- */
- public void initMutationEvent(String typeArg,
- boolean canBubbleArg,
- boolean cancelableArg,
- Node relatedNodeArg,
- String prevValueArg,
- String newValueArg,
- String attrNameArg,
- short attrChangeArg);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/UIEvent.java b/external/jaxp/source/org/w3c/dom/events/UIEvent.java
deleted file mode 100755
index 15affe879..000000000
--- a/external/jaxp/source/org/w3c/dom/events/UIEvent.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.events;
-
-import org.w3c.dom.views.AbstractView;
-
-/**
- * The <code>UIEvent</code> interface provides specific contextual information
- * associated with User Interface events.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113'>Document Object Model (DOM) Level 2 Events Specification</a>.
- * @since DOM Level 2
- */
-public interface UIEvent extends Event {
- /**
- * The <code>view</code> attribute identifies the <code>AbstractView</code>
- * from which the event was generated.
- */
- public AbstractView getView();
-
- /**
- * Specifies some detail information about the <code>Event</code>,
- * depending on the type of event.
- */
- public int getDetail();
-
- /**
- * The <code>initUIEvent</code> method is used to initialize the value of
- * a <code>UIEvent</code> created through the <code>DocumentEvent</code>
- * interface. This method may only be called before the
- * <code>UIEvent</code> has been dispatched via the
- * <code>dispatchEvent</code> method, though it may be called multiple
- * times during that phase if necessary. If called multiple times, the
- * final invocation takes precedence.
- * @param typeArg Specifies the event type.
- * @param canBubbleArg Specifies whether or not the event can bubble.
- * @param cancelableArg Specifies whether or not the event's default
- * action can be prevented.
- * @param viewArg Specifies the <code>Event</code>'s
- * <code>AbstractView</code>.
- * @param detailArg Specifies the <code>Event</code>'s detail.
- */
- public void initUIEvent(String typeArg,
- boolean canBubbleArg,
- boolean cancelableArg,
- AbstractView viewArg,
- int detailArg);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/events/package.html b/external/jaxp/source/org/w3c/dom/events/package.html
deleted file mode 100755
index 7131ce96e..000000000
--- a/external/jaxp/source/org/w3c/dom/events/package.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports the optional
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/"
->"Events"</a>, "UIEvents", "MouseEvents",
-"MutationEvents", and "HTMLEvents" features of the
-DOM Level 2 Recommendation. </p>
-
-<p> Note that apart from the basic "Events" infrastructure and
-the "MutationEvents", all other events currently defined in the
-DOM specification imply having some user interface that issues
-various events to the DOM. Also, to fully
-support the "UIEvents" and its child event set "MouseEvents",
-the DOM implementation must also support the "Views" feature. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLAnchorElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLAnchorElement.java
deleted file mode 100755
index b086cb7f1..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLAnchorElement.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The anchor element. See the A element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLAnchorElement extends HTMLElement {
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * The character encoding of the linked resource. See the charset
- * attribute definition in HTML 4.0.
- */
- public String getCharset();
- public void setCharset(String charset);
-
- /**
- * Comma-separated list of lengths, defining an active region geometry.
- * See also <code>shape</code> for the shape of the region. See the
- * coords attribute definition in HTML 4.0.
- */
- public String getCoords();
- public void setCoords(String coords);
-
- /**
- * The URI of the linked resource. See the href attribute definition in
- * HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * Language code of the linked resource. See the hreflang attribute
- * definition in HTML 4.0.
- */
- public String getHreflang();
- public void setHreflang(String hreflang);
-
- /**
- * Anchor name. See the name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Forward link type. See the rel attribute definition in HTML 4.0.
- */
- public String getRel();
- public void setRel(String rel);
-
- /**
- * Reverse link type. See the rev attribute definition in HTML 4.0.
- */
- public String getRev();
- public void setRev(String rev);
-
- /**
- * The shape of the active area. The coordinates are given by
- * <code>coords</code> . See the shape attribute definition in HTML 4.0.
- */
- public String getShape();
- public void setShape(String shape);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
- /**
- * Advisory content type. See the type attribute definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLAppletElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLAppletElement.java
deleted file mode 100755
index 2e32bd6b9..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLAppletElement.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * An embedded Java applet. See the APPLET element definition in HTML 4.0.
- * This element is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLAppletElement extends HTMLElement {
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * Comma-separated archive list. See the archive attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getArchive();
- public void setArchive(String archive);
-
- /**
- * Applet class file. See the code attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getCode();
- public void setCode(String code);
-
- /**
- * Optional base URI for applet. See the codebase attribute definition
- * in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getCodeBase();
- public void setCodeBase(String codeBase);
-
- /**
- * Override height. See the height attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Horizontal space to the left and right of this image, applet, or
- * object. See the hspace attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getHspace();
- public void setHspace(String hspace);
-
- /**
- * The name of the applet. See the name attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Serialized applet file. See the object attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getObject();
- public void setObject(String object);
-
- /**
- * Vertical space above and below this image, applet, or object. See the
- * vspace attribute definition in HTML 4.0. This attribute is deprecated
- * in HTML 4.0.
- */
- public String getVspace();
- public void setVspace(String vspace);
-
- /**
- * Override width. See the width attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLAreaElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLAreaElement.java
deleted file mode 100755
index bbb244825..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLAreaElement.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Client-side image map area definition. See the AREA element definition in
- * HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLAreaElement extends HTMLElement {
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * Comma-separated list of lengths, defining an active region geometry.
- * See also <code>shape</code> for the shape of the region. See the
- * coords attribute definition in HTML 4.0.
- */
- public String getCoords();
- public void setCoords(String coords);
-
- /**
- * The URI of the linked resource. See the href attribute definition in
- * HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * Specifies that this area is inactive, i.e., has no associated action.
- * See the nohref attribute definition in HTML 4.0.
- */
- public boolean getNoHref();
- public void setNoHref(boolean noHref);
-
- /**
- * The shape of the active area. The coordinates are given by
- * <code>coords</code> . See the shape attribute definition in HTML 4.0.
- */
- public String getShape();
- public void setShape(String shape);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLBRElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLBRElement.java
deleted file mode 100755
index 12eba4e69..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLBRElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Force a line break. See the BR element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBRElement extends HTMLElement {
- /**
- * Control flow of text around floats. See the clear attribute definition
- * in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getClear();
- public void setClear(String clear);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLBaseElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLBaseElement.java
deleted file mode 100755
index c976632e1..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLBaseElement.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Document base URI. See the BASE element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBaseElement extends HTMLElement {
- /**
- * The base URI. See the href attribute definition in HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * The default target frame. See the target attribute definition in HTML
- * 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLBaseFontElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLBaseFontElement.java
deleted file mode 100755
index ba6a9f989..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLBaseFontElement.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Base font. See the BASEFONT element definition in HTML 4.0. This element
- * is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBaseFontElement extends HTMLElement {
- /**
- * Font color. See the color attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getColor();
- public void setColor(String color);
-
- /**
- * Font face identifier. See the face attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getFace();
- public void setFace(String face);
-
- /**
- * Font size. See the size attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLBodyElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLBodyElement.java
deleted file mode 100755
index fd780b5b2..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLBodyElement.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The HTML document body. This element is always present in the DOM API,
- * even if the tags are not present in the source document. See the BODY
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLBodyElement extends HTMLElement {
- /**
- * Color of active links (after mouse-button down, but before
- * mouse-button up). See the alink attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getALink();
- public void setALink(String aLink);
-
- /**
- * URI of the background texture tile image. See the background
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getBackground();
- public void setBackground(String background);
-
- /**
- * Document background color. See the bgcolor attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * Color of links that are not active and unvisited. See the link
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getLink();
- public void setLink(String link);
-
- /**
- * Document text color. See the text attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getText();
- public void setText(String text);
-
- /**
- * Color of links that have been visited by the user. See the vlink
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getVLink();
- public void setVLink(String vLink);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLButtonElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLButtonElement.java
deleted file mode 100755
index 4696cfaa9..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLButtonElement.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Push button. See the BUTTON element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLButtonElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * The type of button. See the type attribute definition in HTML 4.0.
- */
- public String getType();
-
- /**
- * The current form control value. See the value attribute definition in
- * HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLCollection.java b/external/jaxp/source/org/w3c/dom/html/HTMLCollection.java
deleted file mode 100755
index 8fd54f68c..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLCollection.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Node;
-
-/**
- * An <code>HTMLCollection</code> is a list of nodes. An individual node may
- * be accessed by either ordinal index or the node's<code>name</code> or
- * <code>id</code> attributes. Note: Collections in the HTML DOM are assumed
- * to be live meaning that they are automatically updated when the
- * underlying document is changed.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLCollection {
- /**
- * This attribute specifies the length or size of the list.
- */
- public int getLength();
-
- /**
- * This method retrieves a node specified by ordinal index. Nodes are
- * numbered in tree order (depth-first traversal order).
- * @param index The index of the node to be fetched. The index origin is
- * 0.
- * @return The <code>Node</code> at the corresponding position upon
- * success. A value of <code>null</code> is returned if the index is
- * out of range.
- */
- public Node item(int index);
-
- /**
- * This method retrieves a <code>Node</code> using a name. It first
- * searches for a <code>Node</code> with a matching <code>id</code>
- * attribute. If it doesn't find one, it then searches for a
- * <code>Node</code> with a matching <code>name</code> attribute, but
- * only on those elements that are allowed a name attribute.
- * @param name The name of the <code>Node</code> to be fetched.
- * @return The <code>Node</code> with a <code>name</code> or
- * <code>id</code> attribute whose value corresponds to the specified
- * string. Upon failure (e.g., no node with this name exists), returns
- * <code>null</code> .
- */
- public Node namedItem(String name);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLDListElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLDListElement.java
deleted file mode 100755
index 0d4bbeb29..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLDListElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Definition list. See the DL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDListElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLDOMImplementation.java b/external/jaxp/source/org/w3c/dom/html/HTMLDOMImplementation.java
deleted file mode 100755
index 98284078e..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLDOMImplementation.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMImplementation;
-
-/**
- * The <code>HTMLDOMImplementation</code> interface extends the
- * <code>DOMImplementation</code> interface with a method for creating an
- * HTML document instance.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- * @since DOM Level 2
- */
-public interface HTMLDOMImplementation extends DOMImplementation {
- /**
- * Creates an <code>HTMLDocument</code> object with the minimal tree made
- * of the following elements: <code>HTML</code> , <code>HEAD</code> ,
- * <code>TITLE</code> , and <code>BODY</code> .
- * @param title The title of the document to be set as the content of the
- * <code>TITLE</code> element, through a child <code>Text</code> node.
- * @return A new <code>HTMLDocument</code> object.
- */
- public HTMLDocument createHTMLDocument(String title);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLDirectoryElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLDirectoryElement.java
deleted file mode 100755
index 7c9de1019..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLDirectoryElement.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Directory list. See the DIR element definition in HTML 4.0. This element
- * is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDirectoryElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLDivElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLDivElement.java
deleted file mode 100755
index 239a3ad85..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLDivElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Generic block container. See the DIV element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDivElement extends HTMLElement {
- /**
- * Horizontal text alignment. See the align attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLDocument.java b/external/jaxp/source/org/w3c/dom/html/HTMLDocument.java
deleted file mode 100755
index 23c3099d6..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLDocument.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-
-/**
- * An <code>HTMLDocument</code> is the root of the HTML hierarchy and holds
- * the entire content. Besides providing access to the hierarchy, it also
- * provides some convenience methods for accessing certain sets of
- * information from the document.
- * <p> The following properties have been deprecated in favor of the
- * corresponding ones for the <code>BODY</code> element: alinkColor background
- * bgColor fgColor linkColor vlinkColor In DOM Level 2, the method
- * <code>getElementById</code> is inherited from the <code>Document</code>
- * interface where it was moved.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLDocument extends Document {
- /**
- * The title of a document as specified by the <code>TITLE</code> element
- * in the head of the document.
- */
- public String getTitle();
- public void setTitle(String title);
-
- /**
- * Returns the URI of the page that linked to this page. The value is an
- * empty string if the user navigated to the page directly (not through a
- * link, but, for example, via a bookmark).
- */
- public String getReferrer();
-
- /**
- * The domain name of the server that served the document, or
- * <code>null</code> if the server cannot be identified by a domain name.
- */
- public String getDomain();
-
- /**
- * The complete URI of the document.
- */
- public String getURL();
-
- /**
- * The element that contains the content for the document. In documents
- * with <code>BODY</code> contents, returns the <code>BODY</code>
- * element. In frameset documents, this returns the outermost
- * <code>FRAMESET</code> element.
- */
- public HTMLElement getBody();
- public void setBody(HTMLElement body);
-
- /**
- * A collection of all the <code>IMG</code> elements in a document. The
- * behavior is limited to <code>IMG</code> elements for backwards
- * compatibility.
- */
- public HTMLCollection getImages();
-
- /**
- * A collection of all the <code>OBJECT</code> elements that include
- * applets and <code>APPLET</code> ( deprecated ) elements in a document.
- */
- public HTMLCollection getApplets();
-
- /**
- * A collection of all <code>AREA</code> elements and anchor (
- * <code>A</code> ) elements in a document with a value for the
- * <code>href</code> attribute.
- */
- public HTMLCollection getLinks();
-
- /**
- * A collection of all the forms of a document.
- */
- public HTMLCollection getForms();
-
- /**
- * A collection of all the anchor (<code>A</code> ) elements in a document
- * with a value for the <code>name</code> attribute. Note. For reasons
- * of backwards compatibility, the returned set of anchors only contains
- * those anchors created with the <code>name</code> attribute, not those
- * created with the <code>id</code> attribute.
- */
- public HTMLCollection getAnchors();
-
- /**
- * The cookies associated with this document. If there are none, the
- * value is an empty string. Otherwise, the value is a string: a
- * semicolon-delimited list of "name, value" pairs for all the cookies
- * associated with the page. For example,
- * <code>name=value;expires=date</code> .
- */
- public String getCookie();
- public void setCookie(String cookie);
-
- /**
- * Note. This method and the ones following allow a user to add to or
- * replace the structure model of a document using strings of unparsed
- * HTML. At the time of writing alternate methods for providing similar
- * functionality for both HTML and XML documents were being considered.
- * The following methods may be deprecated at some point in the future in
- * favor of a more general-purpose mechanism.
- * <br> Open a document stream for writing. If a document exists in the
- * target, this method clears it.
- */
- public void open();
-
- /**
- * Closes a document stream opened by <code>open()</code> and forces
- * rendering.
- */
- public void close();
-
- /**
- * Write a string of text to a document stream opened by
- * <code>open()</code> . The text is parsed into the document's structure
- * model.
- * @param text The string to be parsed into some structure in the
- * document structure model.
- */
- public void write(String text);
-
- /**
- * Write a string of text followed by a newline character to a document
- * stream opened by <code>open()</code> . The text is parsed into the
- * document's structure model.
- * @param text The string to be parsed into some structure in the
- * document structure model.
- */
- public void writeln(String text);
-
- /**
- * Returns the (possibly empty) collection of elements whose
- * <code>name</code> value is given by <code>elementName</code> .
- * @param elementName The <code>name</code> attribute value for an
- * element.
- * @return The matching elements.
- */
- public NodeList getElementsByName(String elementName);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLElement.java
deleted file mode 100755
index 73ac6d4cb..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLElement.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Element;
-
-/**
- * All HTML element interfaces derive from this class. Elements that only
- * expose the HTML core attributes are represented by the base
- * <code>HTMLElement</code> interface. These elements are as follows: HEAD
- * special: SUB, SUP, SPAN, BDO font: TT, I, B, U, S, STRIKE, BIG, SMALL
- * phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBR list:
- * DD, DT NOFRAMES, NOSCRIPT ADDRESS, CENTER The <code>style</code> attribute
- * of an HTML element is accessible through the
- * <code>ElementCSSInlineStyle</code> interface which is defined in the .
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLElement extends Element {
- /**
- * The element's identifier. See the id attribute definition in HTML 4.0.
- */
- public String getId();
- public void setId(String id);
-
- /**
- * The element's advisory title. See the title attribute definition in
- * HTML 4.0.
- */
- public String getTitle();
- public void setTitle(String title);
-
- /**
- * Language code defined in RFC 1766. See the lang attribute definition
- * in HTML 4.0.
- */
- public String getLang();
- public void setLang(String lang);
-
- /**
- * Specifies the base direction of directionally neutral text and the
- * directionality of tables. See the dir attribute definition in HTML
- * 4.0.
- */
- public String getDir();
- public void setDir(String dir);
-
- /**
- * The class attribute of the element. This attribute has been renamed
- * due to conflicts with the "class" keyword exposed by many languages.
- * See the class attribute definition in HTML 4.0.
- */
- public String getClassName();
- public void setClassName(String className);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLFieldSetElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLFieldSetElement.java
deleted file mode 100755
index 0abea21db..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLFieldSetElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Organizes form controls into logical groups. See the FIELDSET element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFieldSetElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLFontElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLFontElement.java
deleted file mode 100755
index 052020baf..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLFontElement.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Local change to font. See the FONT element definition in HTML 4.0. This
- * element is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFontElement extends HTMLElement {
- /**
- * Font color. See the color attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getColor();
- public void setColor(String color);
-
- /**
- * Font face identifier. See the face attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getFace();
- public void setFace(String face);
-
- /**
- * Font size. See the size attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLFormElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLFormElement.java
deleted file mode 100755
index 2a74fb328..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLFormElement.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The <code>FORM</code> element encompasses behavior similar to a collection
- * and an element. It provides direct access to the contained input elements
- * as well as the attributes of the form element. See the FORM element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFormElement extends HTMLElement {
- /**
- * Returns a collection of all control elements in the form.
- */
- public HTMLCollection getElements();
-
- /**
- * The number of form controls in the form.
- */
- public int getLength();
-
- /**
- * Names the form.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * List of character sets supported by the server. See the
- * accept-charset attribute definition in HTML 4.0.
- */
- public String getAcceptCharset();
- public void setAcceptCharset(String acceptCharset);
-
- /**
- * Server-side form handler. See the action attribute definition in HTML
- * 4.0.
- */
- public String getAction();
- public void setAction(String action);
-
- /**
- * The content type of the submitted form, generally
- * "application/x-www-form-urlencoded". See the enctype attribute
- * definition in HTML 4.0.
- */
- public String getEnctype();
- public void setEnctype(String enctype);
-
- /**
- * HTTP method used to submit form. See the method attribute definition
- * in HTML 4.0.
- */
- public String getMethod();
- public void setMethod(String method);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
- /**
- * Submits the form. It performs the same action as a submit button.
- */
- public void submit();
-
- /**
- * Restores a form element's default values. It performs the same action
- * as a reset button.
- */
- public void reset();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLFrameElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLFrameElement.java
deleted file mode 100755
index 6efd70257..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLFrameElement.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-
-/**
- * Create a frame. See the FRAME element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFrameElement extends HTMLElement {
- /**
- * Request frame borders. See the frameborder attribute definition in
- * HTML 4.0.
- */
- public String getFrameBorder();
- public void setFrameBorder(String frameBorder);
-
- /**
- * URI designating a long description of this image or frame. See the
- * longdesc attribute definition in HTML 4.0.
- */
- public String getLongDesc();
- public void setLongDesc(String longDesc);
-
- /**
- * Frame margin height, in pixels. See the marginheight attribute
- * definition in HTML 4.0.
- */
- public String getMarginHeight();
- public void setMarginHeight(String marginHeight);
-
- /**
- * Frame margin width, in pixels. See the marginwidth attribute
- * definition in HTML 4.0.
- */
- public String getMarginWidth();
- public void setMarginWidth(String marginWidth);
-
- /**
- * The frame name (object of the <code>target</code> attribute). See the
- * name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * When true, forbid user from resizing frame. See the noresize
- * attribute definition in HTML 4.0.
- */
- public boolean getNoResize();
- public void setNoResize(boolean noResize);
-
- /**
- * Specify whether or not the frame should have scrollbars. See the
- * scrolling attribute definition in HTML 4.0.
- */
- public String getScrolling();
- public void setScrolling(String scrolling);
-
- /**
- * A URI designating the initial frame contents. See the src attribute
- * definition in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * The document this frame contains, if there is any and it is available,
- * or <code>null</code> otherwise.
- * @since DOM Level 2
- */
- public Document getContentDocument();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLFrameSetElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLFrameSetElement.java
deleted file mode 100755
index c13453b64..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLFrameSetElement.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Create a grid of frames. See the FRAMESET element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLFrameSetElement extends HTMLElement {
- /**
- * The number of columns of frames in the frameset. See the cols
- * attribute definition in HTML 4.0.
- */
- public String getCols();
- public void setCols(String cols);
-
- /**
- * The number of rows of frames in the frameset. See the rows attribute
- * definition in HTML 4.0.
- */
- public String getRows();
- public void setRows(String rows);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLHRElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLHRElement.java
deleted file mode 100755
index 8a10aa660..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLHRElement.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Create a horizontal rule. See the HR element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHRElement extends HTMLElement {
- /**
- * Align the rule on the page. See the align attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Indicates to the user agent that there should be no shading in the
- * rendering of this element. See the noshade attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getNoShade();
- public void setNoShade(boolean noShade);
-
- /**
- * The height of the rule. See the size attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
- /**
- * The width of the rule. See the width attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLHeadElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLHeadElement.java
deleted file mode 100755
index 93abb7502..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLHeadElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Document head information. See the HEAD element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHeadElement extends HTMLElement {
- /**
- * URI designating a metadata profile. See the profile attribute
- * definition in HTML 4.0.
- */
- public String getProfile();
- public void setProfile(String profile);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLHeadingElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLHeadingElement.java
deleted file mode 100755
index 8121d2c45..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLHeadingElement.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * For the <code>H1</code> to <code>H6</code> elements. See the H1 element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHeadingElement extends HTMLElement {
- /**
- * Horizontal text alignment. See the align attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLHtmlElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLHtmlElement.java
deleted file mode 100755
index ee8f16eab..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLHtmlElement.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Root of an HTML document. See the HTML element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLHtmlElement extends HTMLElement {
- /**
- * Version information about the document's DTD. See the version
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getVersion();
- public void setVersion(String version);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLIFrameElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLIFrameElement.java
deleted file mode 100755
index d78f4a99c..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLIFrameElement.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-
-/**
- * Inline subwindows. See the IFRAME element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLIFrameElement extends HTMLElement {
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Request frame borders. See the frameborder attribute definition in
- * HTML 4.0.
- */
- public String getFrameBorder();
- public void setFrameBorder(String frameBorder);
-
- /**
- * Frame height. See the height attribute definition in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * URI designating a long description of this image or frame. See the
- * longdesc attribute definition in HTML 4.0.
- */
- public String getLongDesc();
- public void setLongDesc(String longDesc);
-
- /**
- * Frame margin height, in pixels. See the marginheight attribute
- * definition in HTML 4.0.
- */
- public String getMarginHeight();
- public void setMarginHeight(String marginHeight);
-
- /**
- * Frame margin width, in pixels. See the marginwidth attribute
- * definition in HTML 4.0.
- */
- public String getMarginWidth();
- public void setMarginWidth(String marginWidth);
-
- /**
- * The frame name (object of the <code>target</code> attribute). See the
- * name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Specify whether or not the frame should have scrollbars. See the
- * scrolling attribute definition in HTML 4.0.
- */
- public String getScrolling();
- public void setScrolling(String scrolling);
-
- /**
- * A URI designating the initial frame contents. See the src attribute
- * definition in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * Frame width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
- /**
- * The document this frame contains, if there is any and it is available,
- * or <code>null</code> otherwise.
- * @since DOM Level 2
- */
- public Document getContentDocument();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLImageElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLImageElement.java
deleted file mode 100755
index 6b59c032d..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLImageElement.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Embedded image. See the IMG element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLImageElement extends HTMLElement {
- /**
- * URI designating the source of this image, for low-resolution output.
- */
- public String getLowSrc();
- public void setLowSrc(String lowSrc);
-
- /**
- * The name of the element (for backwards compatibility).
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * Width of border around image. See the border attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBorder();
- public void setBorder(String border);
-
- /**
- * Override height. See the height attribute definition in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Horizontal space to the left and right of this image. See the hspace
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getHspace();
- public void setHspace(String hspace);
-
- /**
- * Use server-side image map. See the ismap attribute definition in HTML
- * 4.0.
- */
- public boolean getIsMap();
- public void setIsMap(boolean isMap);
-
- /**
- * URI designating a long description of this image or frame. See the
- * longdesc attribute definition in HTML 4.0.
- */
- public String getLongDesc();
- public void setLongDesc(String longDesc);
-
- /**
- * URI designating the source of this image. See the src attribute
- * definition in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * Use client-side image map. See the usemap attribute definition in
- * HTML 4.0.
- */
- public String getUseMap();
- public void setUseMap(String useMap);
-
- /**
- * Vertical space above and below this image. See the vspace attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getVspace();
- public void setVspace(String vspace);
-
- /**
- * Override width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLInputElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLInputElement.java
deleted file mode 100755
index 372eb8a91..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLInputElement.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Form control. Note. Depending upon the environment in which the page is
- * being viewed, the value property may be read-only for the file upload
- * input type. For the "password" input type, the actual value returned may
- * be masked to prevent unauthorized use. See the INPUT element definition
- * in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLInputElement extends HTMLElement {
- /**
- * When the <code>type</code> attribute of the element has the value
- * "Text", "File" or "Password", this represents the HTML value attribute
- * of the element. The value of this attribute does not change if the
- * contents of the corresponding form control, in an interactive user
- * agent, changes. Changing this attribute, however, resets the contents
- * of the form control. See the value attribute definition in HTML 4.0.
- */
- public String getDefaultValue();
- public void setDefaultValue(String defaultValue);
-
- /**
- * When <code>type</code> has the value "Radio" or "Checkbox", this
- * represents the HTML checked attribute of the element. The value of
- * this attribute does not change if the state of the corresponding form
- * control, in an interactive user agent, changes. Changes to this
- * attribute, however, resets the state of the form control. See the
- * checked attribute definition in HTML 4.0.
- */
- public boolean getDefaultChecked();
- public void setDefaultChecked(boolean defaultChecked);
-
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A comma-separated list of content types that a server processing this
- * form will handle correctly. See the accept attribute definition in
- * HTML 4.0.
- */
- public String getAccept();
- public void setAccept(String accept);
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alternate text for user agents not rendering the normal content of
- * this element. See the alt attribute definition in HTML 4.0.
- */
- public String getAlt();
- public void setAlt(String alt);
-
- /**
- * When the <code>type</code> attribute of the element has the value
- * "Radio" or "Checkbox", this represents the current state of the form
- * control, in an interactive user agent. Changes to this attribute
- * change the state of the form control, but do not change the value of
- * the HTML value attribute of the element.
- */
- public boolean getChecked();
- public void setChecked(boolean checked);
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Maximum number of characters for text fields, when <code>type</code>
- * has the value "Text" or "Password". See the maxlength attribute
- * definition in HTML 4.0.
- */
- public int getMaxLength();
- public void setMaxLength(int maxLength);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * This control is read-only. Relevant only when <code>type</code> has
- * the value "Text" or "Password". See the readonly attribute definition
- * in HTML 4.0.
- */
- public boolean getReadOnly();
- public void setReadOnly(boolean readOnly);
-
- /**
- * Size information. The precise meaning is specific to each type of
- * field. See the size attribute definition in HTML 4.0.
- */
- public String getSize();
- public void setSize(String size);
-
- /**
- * When the <code>type</code> attribute has the value "Image", this
- * attribute specifies the location of the image to be used to decorate
- * the graphical submit button. See the src attribute definition in HTML
- * 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * The type of control created. See the type attribute definition in
- * HTML 4.0.
- */
- public String getType();
-
- /**
- * Use client-side image map. See the usemap attribute definition in
- * HTML 4.0.
- */
- public String getUseMap();
- public void setUseMap(String useMap);
-
- /**
- * When the <code>type</code> attribute of the element has the value
- * "Text", "File" or "Password", this represents the current contents of
- * the corresponding form control, in an interactive user agent. Changing
- * this attribute changes the contents of the form control, but does not
- * change the value of the HTML value attribute of the element. When the
- * <code>type</code> attribute of the element has the value "Button",
- * "Hidden", "Submit", "Reset", "Image", "Checkbox" or "Radio", this
- * represents the HTML value attribute of the element. See the value
- * attribute definition in HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
- /**
- * Select the contents of the text area. For <code>INPUT</code> elements
- * whose <code>type</code> attribute has one of the following values:
- * "Text", "File", or "Password".
- */
- public void select();
-
- /**
- * Simulate a mouse-click. For <code>INPUT</code> elements whose
- * <code>type</code> attribute has one of the following values: "Button",
- * "Checkbox", "Radio", "Reset", or "Submit".
- */
- public void click();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLIsIndexElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLIsIndexElement.java
deleted file mode 100755
index 6eb459627..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLIsIndexElement.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * This element is used for single-line text input. See the ISINDEX element
- * definition in HTML 4.0. This element is deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLIsIndexElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * The prompt message. See the prompt attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getPrompt();
- public void setPrompt(String prompt);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLLIElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLLIElement.java
deleted file mode 100755
index c7dba9ca5..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLLIElement.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * List item. See the LI element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLIElement extends HTMLElement {
- /**
- * List item bullet style. See the type attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * Reset sequence number when used in <code>OL</code> . See the value
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public int getValue();
- public void setValue(int value);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLLabelElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLLabelElement.java
deleted file mode 100755
index 17334155e..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLLabelElement.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Form field label text. See the LABEL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLabelElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * This attribute links this label with another form control by
- * <code>id</code> attribute. See the for attribute definition in HTML
- * 4.0.
- */
- public String getHtmlFor();
- public void setHtmlFor(String htmlFor);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLLegendElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLLegendElement.java
deleted file mode 100755
index 9bf48d43c..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLLegendElement.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Provides a caption for a <code>FIELDSET</code> grouping. See the LEGEND
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLegendElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Text alignment relative to <code>FIELDSET</code> . See the align
- * attribute definition in HTML 4.0. This attribute is deprecated in HTML
- * 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLLinkElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLLinkElement.java
deleted file mode 100755
index 089b90cc5..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLLinkElement.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The <code>LINK</code> element specifies a link to an external resource,
- * and defines this document's relationship to that resource (or vice versa).
- * See the LINK element definition in HTML 4.0 (see also the
- * <code>LinkStyle</code> interface in the module).
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLLinkElement extends HTMLElement {
- /**
- * Enables/disables the link. This is currently only used for style sheet
- * links, and may be used to activate or deactivate style sheets.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * The character encoding of the resource being linked to. See the
- * charset attribute definition in HTML 4.0.
- */
- public String getCharset();
- public void setCharset(String charset);
-
- /**
- * The URI of the linked resource. See the href attribute definition in
- * HTML 4.0.
- */
- public String getHref();
- public void setHref(String href);
-
- /**
- * Language code of the linked resource. See the hreflang attribute
- * definition in HTML 4.0.
- */
- public String getHreflang();
- public void setHreflang(String hreflang);
-
- /**
- * Designed for use with one or more target media. See the media
- * attribute definition in HTML 4.0.
- */
- public String getMedia();
- public void setMedia(String media);
-
- /**
- * Forward link type. See the rel attribute definition in HTML 4.0.
- */
- public String getRel();
- public void setRel(String rel);
-
- /**
- * Reverse link type. See the rev attribute definition in HTML 4.0.
- */
- public String getRev();
- public void setRev(String rev);
-
- /**
- * Frame to render the resource in. See the target attribute definition
- * in HTML 4.0.
- */
- public String getTarget();
- public void setTarget(String target);
-
- /**
- * Advisory content type. See the type attribute definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLMapElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLMapElement.java
deleted file mode 100755
index bd464b1a7..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLMapElement.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Client-side image map. See the MAP element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLMapElement extends HTMLElement {
- /**
- * The list of areas defined for the image map.
- */
- public HTMLCollection getAreas();
-
- /**
- * Names the map (for use with <code>usemap</code> ). See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLMenuElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLMenuElement.java
deleted file mode 100755
index cf1fd1247..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLMenuElement.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Menu list. See the MENU element definition in HTML 4.0. This element is
- * deprecated in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLMenuElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLMetaElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLMetaElement.java
deleted file mode 100755
index 8cb608a27..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLMetaElement.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * This contains generic meta-information about the document. See the META
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLMetaElement extends HTMLElement {
- /**
- * Associated information. See the content attribute definition in HTML
- * 4.0.
- */
- public String getContent();
- public void setContent(String content);
-
- /**
- * HTTP response header name. See the http-equiv attribute definition in
- * HTML 4.0.
- */
- public String getHttpEquiv();
- public void setHttpEquiv(String httpEquiv);
-
- /**
- * Meta information name. See the name attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Select form of content. See the scheme attribute definition in HTML
- * 4.0.
- */
- public String getScheme();
- public void setScheme(String scheme);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLModElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLModElement.java
deleted file mode 100755
index 419825d8b..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLModElement.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Notice of modification to part of a document. See the INS and DEL
- * element definitions in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLModElement extends HTMLElement {
- /**
- * A URI designating a document that describes the reason for the change.
- * See the cite attribute definition in HTML 4.0.
- */
- public String getCite();
- public void setCite(String cite);
-
- /**
- * The date and time of the change. See the datetime attribute definition
- * in HTML 4.0.
- */
- public String getDateTime();
- public void setDateTime(String dateTime);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLOListElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLOListElement.java
deleted file mode 100755
index 1357ff138..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLOListElement.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Ordered list. See the OL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLOListElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
- /**
- * Starting sequence number. See the start attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public int getStart();
- public void setStart(int start);
-
- /**
- * Numbering style. See the type attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLObjectElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLObjectElement.java
deleted file mode 100755
index c682e67fc..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLObjectElement.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.Document;
-
-/**
- * Generic embedded object. Note. In principle, all properties on the object
- * element are read-write but in some environments some properties may be
- * read-only once the underlying object is instantiated. See the OBJECT
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLObjectElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * Applet class file. See the <code>code</code> attribute for
- * HTMLAppletElement.
- */
- public String getCode();
- public void setCode(String code);
-
- /**
- * Aligns this object (vertically or horizontally) with respect to its
- * surrounding text. See the align attribute definition in HTML 4.0.
- * This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Space-separated list of archives. See the archive attribute definition
- * in HTML 4.0.
- */
- public String getArchive();
- public void setArchive(String archive);
-
- /**
- * Width of border around the object. See the border attribute definition
- * in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBorder();
- public void setBorder(String border);
-
- /**
- * Base URI for <code>classid</code> , <code>data</code> , and
- * <code>archive</code> attributes. See the codebase attribute definition
- * in HTML 4.0.
- */
- public String getCodeBase();
- public void setCodeBase(String codeBase);
-
- /**
- * Content type for data downloaded via <code>classid</code> attribute.
- * See the codetype attribute definition in HTML 4.0.
- */
- public String getCodeType();
- public void setCodeType(String codeType);
-
- /**
- * A URI specifying the location of the object's data. See the data
- * attribute definition in HTML 4.0.
- */
- public String getData();
- public void setData(String data);
-
- /**
- * Declare (for future reference), but do not instantiate, this object.
- * See the declare attribute definition in HTML 4.0.
- */
- public boolean getDeclare();
- public void setDeclare(boolean declare);
-
- /**
- * Override height. See the height attribute definition in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Horizontal space to the left and right of this image, applet, or
- * object. See the hspace attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getHspace();
- public void setHspace(String hspace);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Message to render while loading the object. See the standby attribute
- * definition in HTML 4.0.
- */
- public String getStandby();
- public void setStandby(String standby);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Content type for data downloaded via <code>data</code> attribute. See
- * the type attribute definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * Use client-side image map. See the usemap attribute definition in
- * HTML 4.0.
- */
- public String getUseMap();
- public void setUseMap(String useMap);
-
- /**
- * Vertical space above and below this image, applet, or object. See the
- * vspace attribute definition in HTML 4.0. This attribute is deprecated
- * in HTML 4.0.
- */
- public String getVspace();
- public void setVspace(String vspace);
-
- /**
- * Override width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
- /**
- * The document this object contains, if there is any and it is
- * available, or <code>null</code> otherwise.
- * @since DOM Level 2
- */
- public Document getContentDocument();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLOptGroupElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLOptGroupElement.java
deleted file mode 100755
index ca38157b6..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLOptGroupElement.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Group options together in logical subdivisions. See the OPTGROUP element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLOptGroupElement extends HTMLElement {
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Assigns a label to this option group. See the label attribute
- * definition in HTML 4.0.
- */
- public String getLabel();
- public void setLabel(String label);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLOptionElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLOptionElement.java
deleted file mode 100755
index 8af033c37..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLOptionElement.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * A selectable choice. See the OPTION element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLOptionElement extends HTMLElement {
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * Represents the value of the HTML selected attribute. The value of this
- * attribute does not change if the state of the corresponding form
- * control, in an interactive user agent, changes. Changing
- * <code>defaultSelected</code> , however, resets the state of the form
- * control. See the selected attribute definition in HTML 4.0.
- */
- public boolean getDefaultSelected();
- public void setDefaultSelected(boolean defaultSelected);
-
- /**
- * The text contained within the option element.
- */
- public String getText();
-
- /**
- * The index of this <code>OPTION</code> in its parent <code>SELECT</code>
- * , starting from 0.
- */
- public int getIndex();
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Option label for use in hierarchical menus. See the label attribute
- * definition in HTML 4.0.
- */
- public String getLabel();
- public void setLabel(String label);
-
- /**
- * Represents the current state of the corresponding form control, in an
- * interactive user agent. Changing this attribute changes the state of
- * the form control, but does not change the value of the HTML selected
- * attribute of the element.
- */
- public boolean getSelected();
- public void setSelected(boolean selected);
-
- /**
- * The current form control value. See the value attribute definition in
- * HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLParagraphElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLParagraphElement.java
deleted file mode 100755
index 179241a9f..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLParagraphElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Paragraphs. See the P element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLParagraphElement extends HTMLElement {
- /**
- * Horizontal text alignment. See the align attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLParamElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLParamElement.java
deleted file mode 100755
index e30fd5329..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLParamElement.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Parameters fed to the <code>OBJECT</code> element. See the PARAM element
- * definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLParamElement extends HTMLElement {
- /**
- * The name of a run-time parameter. See the name attribute definition
- * in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Content type for the <code>value</code> attribute when
- * <code>valuetype</code> has the value "ref". See the type attribute
- * definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
- /**
- * The value of a run-time parameter. See the value attribute definition
- * in HTML 4.0.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * Information about the meaning of the <code>value</code> attribute
- * value. See the valuetype attribute definition in HTML 4.0.
- */
- public String getValueType();
- public void setValueType(String valueType);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLPreElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLPreElement.java
deleted file mode 100755
index 23fc398eb..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLPreElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Preformatted text. See the PRE element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLPreElement extends HTMLElement {
- /**
- * Fixed width for content. See the width attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public int getWidth();
- public void setWidth(int width);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLQuoteElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLQuoteElement.java
deleted file mode 100755
index 26873f48f..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLQuoteElement.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * For the <code>Q</code> and <code>BLOCKQUOTE</code> elements. See the Q
- * element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLQuoteElement extends HTMLElement {
- /**
- * A URI designating a source document or message. See the cite
- * attribute definition in HTML 4.0.
- */
- public String getCite();
- public void setCite(String cite);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLScriptElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLScriptElement.java
deleted file mode 100755
index 3294a504f..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLScriptElement.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Script statements. See the SCRIPT element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLScriptElement extends HTMLElement {
- /**
- * The script content of the element.
- */
- public String getText();
- public void setText(String text);
-
- /**
- * Reserved for future use.
- */
- public String getHtmlFor();
- public void setHtmlFor(String htmlFor);
-
- /**
- * Reserved for future use.
- */
- public String getEvent();
- public void setEvent(String event);
-
- /**
- * The character encoding of the linked resource. See the charset
- * attribute definition in HTML 4.0.
- */
- public String getCharset();
- public void setCharset(String charset);
-
- /**
- * Indicates that the user agent can defer processing of the script. See
- * the defer attribute definition in HTML 4.0.
- */
- public boolean getDefer();
- public void setDefer(boolean defer);
-
- /**
- * URI designating an external script. See the src attribute definition
- * in HTML 4.0.
- */
- public String getSrc();
- public void setSrc(String src);
-
- /**
- * The content type of the script language. See the type attribute
- * definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLSelectElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLSelectElement.java
deleted file mode 100755
index c66995f3c..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLSelectElement.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The select element allows the selection of an option. The contained
- * options can be directly accessed through the select element as a
- * collection. See the SELECT element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLSelectElement extends HTMLElement {
- /**
- * The type of this form control. This is the string "select-multiple"
- * when the multiple attribute is <code>true</code> and the string
- * "select-one" when <code>false</code> .
- */
- public String getType();
-
- /**
- * The ordinal index of the selected option, starting from 0. The value
- * -1 is returned if no element is selected. If multiple options are
- * selected, the index of the first selected option is returned.
- */
- public int getSelectedIndex();
- public void setSelectedIndex(int selectedIndex);
-
- /**
- * The current form control value.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * The number of options in this <code>SELECT</code> .
- */
- public int getLength();
-
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * The collection of <code>OPTION</code> elements contained by this
- * element.
- */
- public HTMLCollection getOptions();
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * If true, multiple <code>OPTION</code> elements may be selected in
- * this <code>SELECT</code> . See the multiple attribute definition in
- * HTML 4.0.
- */
- public boolean getMultiple();
- public void setMultiple(boolean multiple);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * Number of visible rows. See the size attribute definition in HTML 4.0.
- */
- public int getSize();
- public void setSize(int size);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * Add a new element to the collection of <code>OPTION</code> elements
- * for this <code>SELECT</code> . This method is the equivalent of the
- * <code>appendChild</code> method of the <code>Node</code> interface if
- * the <code>before</code> parameter is <code>null</code> . It is
- * equivalent to the <code>insertBefore</code> method on the parent of
- * <code>before</code> in all other cases.
- * @param element The element to add.
- * @param before The element to insert before, or <code>null</code> for
- * the tail of the list.
- * @exception DOMException
- * NOT_FOUND_ERR: Raised if <code>before</code> is not a descendant of
- * the <code>SELECT</code> element.
- */
- public void add(HTMLElement element,
- HTMLElement before)
- throws DOMException;
-
- /**
- * Remove an element from the collection of <code>OPTION</code> elements
- * for this <code>SELECT</code> . Does nothing if no element has the given
- * index.
- * @param index The index of the item to remove, starting from 0.
- */
- public void remove(int index);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLStyleElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLStyleElement.java
deleted file mode 100755
index e3d04bd44..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLStyleElement.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Style information. See the STYLE element definition in HTML 4.0, the
- * module and the <code>LinkStyle</code> interface in the module.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLStyleElement extends HTMLElement {
- /**
- * Enables/disables the style sheet.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Designed for use with one or more target media. See the media
- * attribute definition in HTML 4.0.
- */
- public String getMedia();
- public void setMedia(String media);
-
- /**
- * The content type pf the style sheet language. See the type attribute
- * definition in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTableCaptionElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTableCaptionElement.java
deleted file mode 100755
index 58a8bed5e..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTableCaptionElement.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Table caption See the CAPTION element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableCaptionElement extends HTMLElement {
- /**
- * Caption alignment with respect to the table. See the align attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTableCellElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTableCellElement.java
deleted file mode 100755
index b818ce137..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTableCellElement.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The object used to represent the <code>TH</code> and <code>TD</code>
- * elements. See the TD element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableCellElement extends HTMLElement {
- /**
- * The index of this cell in the row, starting from 0. This index is in
- * document tree order and not display order.
- */
- public int getCellIndex();
-
- /**
- * Abbreviation for header cells. See the abbr attribute definition in
- * HTML 4.0.
- */
- public String getAbbr();
- public void setAbbr(String abbr);
-
- /**
- * Horizontal alignment of data in cell. See the align attribute
- * definition in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Names group of related headers. See the axis attribute definition in
- * HTML 4.0.
- */
- public String getAxis();
- public void setAxis(String axis);
-
- /**
- * Cell background color. See the bgcolor attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Number of columns spanned by cell. See the colspan attribute
- * definition in HTML 4.0.
- */
- public int getColSpan();
- public void setColSpan(int colSpan);
-
- /**
- * List of <code>id</code> attribute values for header cells. See the
- * headers attribute definition in HTML 4.0.
- */
- public String getHeaders();
- public void setHeaders(String headers);
-
- /**
- * Cell height. See the height attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getHeight();
- public void setHeight(String height);
-
- /**
- * Suppress word wrapping. See the nowrap attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getNoWrap();
- public void setNoWrap(boolean noWrap);
-
- /**
- * Number of rows spanned by cell. See the rowspan attribute definition
- * in HTML 4.0.
- */
- public int getRowSpan();
- public void setRowSpan(int rowSpan);
-
- /**
- * Scope covered by header cells. See the scope attribute definition in
- * HTML 4.0.
- */
- public String getScope();
- public void setScope(String scope);
-
- /**
- * Vertical alignment of data in cell. See the valign attribute
- * definition in HTML 4.0.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * Cell width. See the width attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTableColElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTableColElement.java
deleted file mode 100755
index 895ee041e..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTableColElement.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Regroups the <code>COL</code> and <code>COLGROUP</code> elements. See the
- * COL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableColElement extends HTMLElement {
- /**
- * Horizontal alignment of cell data in column. See the align attribute
- * definition in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Indicates the number of columns in a group or affected by a grouping.
- * See the span attribute definition in HTML 4.0.
- */
- public int getSpan();
- public void setSpan(int span);
-
- /**
- * Vertical alignment of cell data in column. See the valign attribute
- * definition in HTML 4.0.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * Default column width. See the width attribute definition in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTableElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTableElement.java
deleted file mode 100755
index 42aa2482e..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTableElement.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The create* and delete* methods on the table allow authors to construct
- * and modify tables. HTML 4.0 specifies that only one of each of the
- * <code>CAPTION</code> , <code>THEAD</code> , and <code>TFOOT</code>
- * elements may exist in a table. Therefore, if one exists, and the
- * createTHead() or createTFoot() method is called, the method returns the
- * existing THead or TFoot element. See the TABLE element definition in HTML
- * 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableElement extends HTMLElement {
- /**
- * Returns the table's <code>CAPTION</code> , or void if none exists.
- */
- public HTMLTableCaptionElement getCaption();
- public void setCaption(HTMLTableCaptionElement caption);
-
- /**
- * Returns the table's <code>THEAD</code> , or <code>null</code> if none
- * exists.
- */
- public HTMLTableSectionElement getTHead();
- public void setTHead(HTMLTableSectionElement tHead);
-
- /**
- * Returns the table's <code>TFOOT</code> , or <code>null</code> if none
- * exists.
- */
- public HTMLTableSectionElement getTFoot();
- public void setTFoot(HTMLTableSectionElement tFoot);
-
- /**
- * Returns a collection of all the rows in the table, including all in
- * <code>THEAD</code> , <code>TFOOT</code> , all <code>TBODY</code>
- * elements.
- */
- public HTMLCollection getRows();
-
- /**
- * Returns a collection of the defined table bodies.
- */
- public HTMLCollection getTBodies();
-
- /**
- * Specifies the table's position with respect to the rest of the
- * document. See the align attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Cell background color. See the bgcolor attribute definition in HTML
- * 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * The width of the border around the table. See the border attribute
- * definition in HTML 4.0.
- */
- public String getBorder();
- public void setBorder(String border);
-
- /**
- * Specifies the horizontal and vertical space between cell content and
- * cell borders. See the cellpadding attribute definition in HTML 4.0.
- */
- public String getCellPadding();
- public void setCellPadding(String cellPadding);
-
- /**
- * Specifies the horizontal and vertical separation between cells. See
- * the cellspacing attribute definition in HTML 4.0.
- */
- public String getCellSpacing();
- public void setCellSpacing(String cellSpacing);
-
- /**
- * Specifies which external table borders to render. See the frame
- * attribute definition in HTML 4.0.
- */
- public String getFrame();
- public void setFrame(String frame);
-
- /**
- * Specifies which internal table borders to render. See the rules
- * attribute definition in HTML 4.0.
- */
- public String getRules();
- public void setRules(String rules);
-
- /**
- * Description about the purpose or structure of a table. See the
- * summary attribute definition in HTML 4.0.
- */
- public String getSummary();
- public void setSummary(String summary);
-
- /**
- * Specifies the desired table width. See the width attribute definition
- * in HTML 4.0.
- */
- public String getWidth();
- public void setWidth(String width);
-
- /**
- * Create a table header row or return an existing one.
- * @return A new table header element (<code>THEAD</code> ).
- */
- public HTMLElement createTHead();
-
- /**
- * Delete the header from the table, if one exists.
- */
- public void deleteTHead();
-
- /**
- * Create a table footer row or return an existing one.
- * @return A footer element (<code>TFOOT</code> ).
- */
- public HTMLElement createTFoot();
-
- /**
- * Delete the footer from the table, if one exists.
- */
- public void deleteTFoot();
-
- /**
- * Create a new table caption object or return an existing one.
- * @return A <code>CAPTION</code> element.
- */
- public HTMLElement createCaption();
-
- /**
- * Delete the table caption, if one exists.
- */
- public void deleteCaption();
-
- /**
- * Insert a new empty row in the table. The new row is inserted
- * immediately before and in the same section as the current
- * <code>index</code> th row in the table. If <code>index</code> is equal
- * to the number of rows, the new row is appended. In addition, when the
- * table is empty the row is inserted into a <code>TBODY</code> which is
- * created and inserted into the table. Note. A table row cannot be empty
- * according to HTML 4.0 Recommendation.
- * @param index The row number where to insert a new row. This index
- * starts from 0 and is relative to all the rows contained inside the
- * table, regardless of section parentage.
- * @return The newly created row.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than the
- * number of rows or if the index is negative.
- */
- public HTMLElement insertRow(int index)
- throws DOMException;
-
- /**
- * Delete a table row.
- * @param index The index of the row to be deleted. This index starts
- * from 0 and is relative to all the rows contained inside the table,
- * regardless of section parentage.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than or
- * equal to the number of rows or if the index is negative.
- */
- public void deleteRow(int index)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTableRowElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTableRowElement.java
deleted file mode 100755
index a15f06f0a..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTableRowElement.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * A row in a table. See the TR element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableRowElement extends HTMLElement {
- /**
- * The index of this row, relative to the entire table, starting from 0.
- * This is in document tree order and not display order. The
- * <code>rowIndex</code> does not take into account sections (
- * <code>THEAD</code> , <code>TFOOT</code> , or <code>TBODY</code> )
- * within the table.
- */
- public int getRowIndex();
-
- /**
- * The index of this row, relative to the current section (
- * <code>THEAD</code> , <code>TFOOT</code> , or <code>TBODY</code> ),
- * starting from 0.
- */
- public int getSectionRowIndex();
-
- /**
- * The collection of cells in this row.
- */
- public HTMLCollection getCells();
-
- /**
- * Horizontal alignment of data within cells of this row. See the align
- * attribute definition in HTML 4.0.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Background color for rows. See the bgcolor attribute definition in
- * HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public String getBgColor();
- public void setBgColor(String bgColor);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Vertical alignment of data within cells of this row. See the valign
- * attribute definition in HTML 4.0.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * Insert an empty <code>TD</code> cell into this row. If
- * <code>index</code> is equal to the number of cells, the new cell is
- * appended
- * @param index The place to insert the cell, starting from 0.
- * @return The newly created cell.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is
- * greater than the number of cells or if the index is negative.
- */
- public HTMLElement insertCell(int index)
- throws DOMException;
-
- /**
- * Delete a cell from the current row.
- * @param index The index of the cell to delete, starting from 0.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified <code>index</code> is
- * greater than or equal to the number of cells or if the index is
- * negative.
- */
- public void deleteCell(int index)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTableSectionElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTableSectionElement.java
deleted file mode 100755
index 99bff3591..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTableSectionElement.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>THEAD</code> , <code>TFOOT</code> , and <code>TBODY</code>
- * elements.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTableSectionElement extends HTMLElement {
- /**
- * Horizontal alignment of data in cells. See the <code>align</code>
- * attribute for HTMLTheadElement for details.
- */
- public String getAlign();
- public void setAlign(String align);
-
- /**
- * Alignment character for cells in a column. See the char attribute
- * definition in HTML 4.0.
- */
- public String getCh();
- public void setCh(String ch);
-
- /**
- * Offset of alignment character. See the charoff attribute definition
- * in HTML 4.0.
- */
- public String getChOff();
- public void setChOff(String chOff);
-
- /**
- * Vertical alignment of data in cells. See the <code>valign</code>
- * attribute for HTMLTheadElement for details.
- */
- public String getVAlign();
- public void setVAlign(String vAlign);
-
- /**
- * The collection of rows in this table section.
- */
- public HTMLCollection getRows();
-
- /**
- * Insert a row into this section. The new row is inserted immediately
- * before the current <code>index</code> th row in this section. If
- * <code>index</code> is equal to the number of rows in this section, the
- * new row is appended.
- * @param index The row number where to insert a new row. This index
- * starts from 0 and is relative only to the rows contained inside this
- * section, not all the rows in the table.
- * @return The newly created row.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than the
- * number of rows of if the index is neagative.
- */
- public HTMLElement insertRow(int index)
- throws DOMException;
-
- /**
- * Delete a row from this section.
- * @param index The index of the row to be deleted. This index starts
- * from 0 and is relative only to the rows contained inside this
- * section, not all the rows in the table.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if the specified index is greater than or
- * equal to the number of rows or if the index is negative.
- */
- public void deleteRow(int index)
- throws DOMException;
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTextAreaElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTextAreaElement.java
deleted file mode 100755
index b189a968d..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTextAreaElement.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Multi-line text field. See the TEXTAREA element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTextAreaElement extends HTMLElement {
- /**
- * Represents the contents of the element. The value of this attribute
- * does not change if the contents of the corresponding form control, in
- * an interactive user agent, changes. Changing this attribute, however,
- * resets the contents of the form control.
- */
- public String getDefaultValue();
- public void setDefaultValue(String defaultValue);
-
- /**
- * Returns the <code>FORM</code> element containing this control. Returns
- * <code>null</code> if this control is not within the context of a form.
- */
- public HTMLFormElement getForm();
-
- /**
- * A single character access key to give access to the form control. See
- * the accesskey attribute definition in HTML 4.0.
- */
- public String getAccessKey();
- public void setAccessKey(String accessKey);
-
- /**
- * Width of control (in characters). See the cols attribute definition
- * in HTML 4.0.
- */
- public int getCols();
- public void setCols(int cols);
-
- /**
- * The control is unavailable in this context. See the disabled
- * attribute definition in HTML 4.0.
- */
- public boolean getDisabled();
- public void setDisabled(boolean disabled);
-
- /**
- * Form control or object name when submitted with a form. See the name
- * attribute definition in HTML 4.0.
- */
- public String getName();
- public void setName(String name);
-
- /**
- * This control is read-only. See the readonly attribute definition in
- * HTML 4.0.
- */
- public boolean getReadOnly();
- public void setReadOnly(boolean readOnly);
-
- /**
- * Number of text rows. See the rows attribute definition in HTML 4.0.
- */
- public int getRows();
- public void setRows(int rows);
-
- /**
- * Index that represents the element's position in the tabbing order. See
- * the tabindex attribute definition in HTML 4.0.
- */
- public int getTabIndex();
- public void setTabIndex(int tabIndex);
-
- /**
- * The type of this form control. This the string "textarea".
- */
- public String getType();
-
- /**
- * Represents the current contents of the corresponding form control, in
- * an interactive user agent. Changing this attribute changes the
- * contents of the form control, but does not change the contents of the
- * element. If the entirety of the data can not fit into a single
- * <code>DOMString</code> , the implementation may truncate the data.
- */
- public String getValue();
- public void setValue(String value);
-
- /**
- * Removes keyboard focus from this element.
- */
- public void blur();
-
- /**
- * Gives keyboard focus to this element.
- */
- public void focus();
-
- /**
- * Select the contents of the <code>TEXTAREA</code> .
- */
- public void select();
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLTitleElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLTitleElement.java
deleted file mode 100755
index 9a2b1ff1d..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLTitleElement.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * The document title. See the TITLE element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLTitleElement extends HTMLElement {
- /**
- * The specified title as a string.
- */
- public String getText();
- public void setText(String text);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/HTMLUListElement.java b/external/jaxp/source/org/w3c/dom/html/HTMLUListElement.java
deleted file mode 100755
index dac1789d9..000000000
--- a/external/jaxp/source/org/w3c/dom/html/HTMLUListElement.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
- * details.
- */
-
-package org.w3c.dom.html;
-
-/**
- * Unordered list. See the UL element definition in HTML 4.0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
- */
-public interface HTMLUListElement extends HTMLElement {
- /**
- * Reduce spacing between list items. See the compact attribute
- * definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
- */
- public boolean getCompact();
- public void setCompact(boolean compact);
-
- /**
- * Bullet style. See the type attribute definition in HTML 4.0. This
- * attribute is deprecated in HTML 4.0.
- */
- public String getType();
- public void setType(String type);
-
-}
-
diff --git a/external/jaxp/source/org/w3c/dom/html/package.html b/external/jaxp/source/org/w3c/dom/html/package.html
deleted file mode 100755
index f1dca68d2..000000000
--- a/external/jaxp/source/org/w3c/dom/html/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports the optional "HTML" feature of the
-second DOM Level 2 Candidate Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/package.html b/external/jaxp/source/org/w3c/dom/package.html
deleted file mode 100755
index b333acec6..000000000
--- a/external/jaxp/source/org/w3c/dom/package.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><head>
-<title>DOM Level 2</title>
-</head><body>
-
-<p>Contains the core and "XML" feature set of the
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-core-20001113/">
-DOM Level 2</a> Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/ranges/DocumentRange.java b/external/jaxp/source/org/w3c/dom/ranges/DocumentRange.java
deleted file mode 100644
index 6b522670e..000000000
--- a/external/jaxp/source/org/w3c/dom/ranges/DocumentRange.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.ranges;
-
-/**
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentRange {
- /**
- * This interface can be obtained from the object implementing the
- * <code>Document</code> interface using binding-specific casting
- * methods.
- * @return The initial state of the Range returned from this method is
- * such that both of its boundary-points are positioned at the
- * beginning of the corresponding Document, before any content. The
- * Range returned can only be used to select content associated with
- * this Document, or with DocumentFragments and Attrs for which this
- * Document is the <code>ownerDocument</code>.
- */
- public Range createRange();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/ranges/Range.java b/external/jaxp/source/org/w3c/dom/ranges/Range.java
deleted file mode 100644
index a576b4dd6..000000000
--- a/external/jaxp/source/org/w3c/dom/ranges/Range.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.ranges;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.DocumentFragment;
-
-/**
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public interface Range {
- /**
- * Node within which the Range begins
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public Node getStartContainer()
- throws DOMException;
-
- /**
- * Offset within the starting node of the Range.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public int getStartOffset()
- throws DOMException;
-
- /**
- * Node within which the Range ends
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public Node getEndContainer()
- throws DOMException;
-
- /**
- * Offset within the ending node of the Range.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public int getEndOffset()
- throws DOMException;
-
- /**
- * TRUE if the Range is collapsed
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public boolean getCollapsed()
- throws DOMException;
-
- /**
- * The deepest common ancestor container of the Range's two
- * boundary-points.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public Node getCommonAncestorContainer()
- throws DOMException;
-
- /**
- * Sets the attributes describing the start of the Range.
- * @param refNode The <code>refNode</code> value. This parameter must be
- * different from <code>null</code>.
- * @param offset The <code>startOffset</code> value.
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an ancestor
- * of <code>refNode</code> is an Entity, Notation, or DocumentType
- * node.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if <code>offset</code> is negative or greater
- * than the number of child units in <code>refNode</code>. Child units
- * are 16-bit units if <code>refNode</code> is a type of CharacterData
- * node (e.g., a Text or Comment node) or a ProcessingInstruction
- * node. Child units are Nodes in all other cases.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void setStart(Node refNode,
- int offset)
- throws RangeException, DOMException;
-
- /**
- * Sets the attributes describing the end of a Range.
- * @param refNode The <code>refNode</code> value. This parameter must be
- * different from <code>null</code>.
- * @param offset The <code>endOffset</code> value.
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an ancestor
- * of <code>refNode</code> is an Entity, Notation, or DocumentType
- * node.
- * @exception DOMException
- * INDEX_SIZE_ERR: Raised if <code>offset</code> is negative or greater
- * than the number of child units in <code>refNode</code>. Child units
- * are 16-bit units if <code>refNode</code> is a type of CharacterData
- * node (e.g., a Text or Comment node) or a ProcessingInstruction
- * node. Child units are Nodes in all other cases.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void setEnd(Node refNode,
- int offset)
- throws RangeException, DOMException;
-
- /**
- * Sets the start position to be before a node
- * @param refNode Range starts before <code>refNode</code>
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if the root container of
- * <code>refNode</code> is not an Attr, Document, or DocumentFragment
- * node or if <code>refNode</code> is a Document, DocumentFragment,
- * Attr, Entity, or Notation node.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void setStartBefore(Node refNode)
- throws RangeException, DOMException;
-
- /**
- * Sets the start position to be after a node
- * @param refNode Range starts after <code>refNode</code>
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if the root container of
- * <code>refNode</code> is not an Attr, Document, or DocumentFragment
- * node or if <code>refNode</code> is a Document, DocumentFragment,
- * Attr, Entity, or Notation node.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void setStartAfter(Node refNode)
- throws RangeException, DOMException;
-
- /**
- * Sets the end position to be before a node.
- * @param refNode Range ends before <code>refNode</code>
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if the root container of
- * <code>refNode</code> is not an Attr, Document, or DocumentFragment
- * node or if <code>refNode</code> is a Document, DocumentFragment,
- * Attr, Entity, or Notation node.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void setEndBefore(Node refNode)
- throws RangeException, DOMException;
-
- /**
- * Sets the end of a Range to be after a node
- * @param refNode Range ends after <code>refNode</code>.
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if the root container of
- * <code>refNode</code> is not an Attr, Document or DocumentFragment
- * node or if <code>refNode</code> is a Document, DocumentFragment,
- * Attr, Entity, or Notation node.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void setEndAfter(Node refNode)
- throws RangeException, DOMException;
-
- /**
- * Collapse a Range onto one of its boundary-points
- * @param toStart If TRUE, collapses the Range onto its start; if FALSE,
- * collapses it onto its end.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public void collapse(boolean toStart)
- throws DOMException;
-
- /**
- * Select a node and its contents
- * @param refNode The node to select.
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if an ancestor of <code>refNode</code>
- * is an Entity, Notation or DocumentType node or if
- * <code>refNode</code> is a Document, DocumentFragment, Attr, Entity,
- * or Notation node.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void selectNode(Node refNode)
- throws RangeException, DOMException;
-
- /**
- * Select the contents within a node
- * @param refNode Node to select from
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if <code>refNode</code> or an ancestor
- * of <code>refNode</code> is an Entity, Notation or DocumentType node.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>refNode</code> was created
- * from a different document than the one that created this range.
- */
- public void selectNodeContents(Node refNode)
- throws RangeException, DOMException;
-
- // CompareHow
- /**
- * Compare start boundary-point of <code>sourceRange</code> to start
- * boundary-point of Range on which <code>compareBoundaryPoints</code>
- * is invoked.
- */
- public static final short START_TO_START = 0;
- /**
- * Compare start boundary-point of <code>sourceRange</code> to end
- * boundary-point of Range on which <code>compareBoundaryPoints</code>
- * is invoked.
- */
- public static final short START_TO_END = 1;
- /**
- * Compare end boundary-point of <code>sourceRange</code> to end
- * boundary-point of Range on which <code>compareBoundaryPoints</code>
- * is invoked.
- */
- public static final short END_TO_END = 2;
- /**
- * Compare end boundary-point of <code>sourceRange</code> to start
- * boundary-point of Range on which <code>compareBoundaryPoints</code>
- * is invoked.
- */
- public static final short END_TO_START = 3;
-
- /**
- * Compare the boundary-points of two Ranges in a document.
- * @param how A code representing the type of comparison, as defined
- * above.
- * @param sourceRange The <code>Range</code> on which this current
- * <code>Range</code> is compared to.
- * @return -1, 0 or 1 depending on whether the corresponding
- * boundary-point of the Range is respectively before, equal to, or
- * after the corresponding boundary-point of <code>sourceRange</code>.
- * @exception DOMException
- * WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same
- * Document or DocumentFragment.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- */
- public short compareBoundaryPoints(short how,
- Range sourceRange)
- throws DOMException;
-
- /**
- * Removes the contents of a Range from the containing document or
- * document fragment without returning a reference to the removed
- * content.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of
- * the Range is read-only or any of the nodes that contain any of the
- * content of the Range are read-only.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- */
- public void deleteContents()
- throws DOMException;
-
- /**
- * Moves the contents of a Range from the containing document or document
- * fragment to a new DocumentFragment.
- * @return A DocumentFragment containing the extracted contents.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of
- * the Range is read-only or any of the nodes which contain any of the
- * content of the Range are read-only.
- * <br>HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be
- * extracted into the new DocumentFragment.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- */
- public DocumentFragment extractContents()
- throws DOMException;
-
- /**
- * Duplicates the contents of a Range
- * @return A DocumentFragment that contains content equivalent to this
- * Range.
- * @exception DOMException
- * HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be
- * extracted into the new DocumentFragment.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- */
- public DocumentFragment cloneContents()
- throws DOMException;
-
- /**
- * Inserts a node into the Document or DocumentFragment at the start of
- * the Range. If the container is a Text node, this will be split at the
- * start of the Range (as if the Text node's splitText method was
- * performed at the insertion point) and the insertion will occur
- * between the two resulting Text nodes. Adjacent Text nodes will not be
- * automatically merged. If the node to be inserted is a
- * DocumentFragment node, the children will be inserted rather than the
- * DocumentFragment node itself.
- * @param newNode The node to insert at the start of the Range
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the
- * start of the Range is read-only.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code>newNode</code> and the
- * container of the start of the Range were not created from the same
- * document.
- * <br>HIERARCHY_REQUEST_ERR: Raised if the container of the start of
- * the Range is of a type that does not allow children of the type of
- * <code>newNode</code> or if <code>newNode</code> is an ancestor of
- * the container.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- * @exception RangeException
- * INVALID_NODE_TYPE_ERR: Raised if <code>newNode</code> is an Attr,
- * Entity, Notation, or Document node.
- */
- public void insertNode(Node newNode)
- throws DOMException, RangeException;
-
- /**
- * Reparents the contents of the Range to the given node and inserts the
- * node at the position of the start of the Range.
- * @param newParent The node to surround the contents with.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of
- * either boundary-point of the Range is read-only.
- * <br>WRONG_DOCUMENT_ERR: Raised if <code> newParent</code> and the
- * container of the start of the Range were not created from the same
- * document.
- * <br>HIERARCHY_REQUEST_ERR: Raised if the container of the start of
- * the Range is of a type that does not allow children of the type of
- * <code>newParent</code> or if <code>newParent</code> is an ancestor
- * of the container or if <code>node</code> would end up with a child
- * node of a type not allowed by the type of <code>node</code>.
- * <br>INVALID_STATE_ERR: Raised if <code>detach()</code> has already
- * been invoked on this object.
- * @exception RangeException
- * BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a
- * non-text node.
- * <br>INVALID_NODE_TYPE_ERR: Raised if <code> node</code> is an Attr,
- * Entity, DocumentType, Notation, Document, or DocumentFragment node.
- */
- public void surroundContents(Node newParent)
- throws DOMException, RangeException;
-
- /**
- * Produces a new Range whose boundary-points are equal to the
- * boundary-points of the Range.
- * @return The duplicated Range.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public Range cloneRange()
- throws DOMException;
-
- /**
- * Returns the contents of a Range as a string. This string contains only
- * the data characters, not any markup.
- * @return The contents of the Range.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public String toString()
- throws DOMException;
-
- /**
- * Called to indicate that the Range is no longer in use and that the
- * implementation may relinquish any resources associated with this
- * Range. Subsequent calls to any methods or attribute getters on this
- * Range will result in a <code>DOMException</code> being thrown with an
- * error code of <code>INVALID_STATE_ERR</code>.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if <code>detach()</code> has already been
- * invoked on this object.
- */
- public void detach()
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/ranges/RangeException.java b/external/jaxp/source/org/w3c/dom/ranges/RangeException.java
deleted file mode 100644
index 551008e5d..000000000
--- a/external/jaxp/source/org/w3c/dom/ranges/RangeException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.ranges;
-
-/**
- * Range operations may throw a <code>RangeException</code> as specified in
- * their method descriptions.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public class RangeException extends RuntimeException {
- public RangeException(short code, String message) {
- super(message);
- this.code = code;
- }
- public short code;
- // RangeExceptionCode
- /**
- * If the boundary-points of a Range do not meet specific requirements.
- */
- public static final short BAD_BOUNDARYPOINTS_ERR = 1;
- /**
- * If the container of an boundary-point of a Range is being set to either
- * a node of an invalid type or a node with an ancestor of an invalid
- * type.
- */
- public static final short INVALID_NODE_TYPE_ERR = 2;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/ranges/package.html b/external/jaxp/source/org/w3c/dom/ranges/package.html
deleted file mode 100755
index cdb9bb792..000000000
--- a/external/jaxp/source/org/w3c/dom/ranges/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports the optional
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/"
->"Range"</a> feature of the
-DOM Level 2 Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/stylesheets/DocumentStyle.java b/external/jaxp/source/org/w3c/dom/stylesheets/DocumentStyle.java
deleted file mode 100755
index 2270505e7..000000000
--- a/external/jaxp/source/org/w3c/dom/stylesheets/DocumentStyle.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>DocumentStyle</code> interface provides a mechanism by which the
- * style sheets embedded in a document can be retrieved. The expectation is
- * that an instance of the <code>DocumentStyle</code> interface can be
- * obtained by using binding-specific casting methods on an instance of the
- * <code>Document</code> interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentStyle {
- /**
- * A list containing all the style sheets explicitly linked into or
- * embedded in a document. For HTML documents, this includes external
- * style sheets, included via the HTML LINK element, and inline STYLE
- * elements. In XML, this includes external style sheets, included via
- * style sheet processing instructions (see ).
- */
- public StyleSheetList getStyleSheets();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/stylesheets/LinkStyle.java b/external/jaxp/source/org/w3c/dom/stylesheets/LinkStyle.java
deleted file mode 100755
index 481bd19db..000000000
--- a/external/jaxp/source/org/w3c/dom/stylesheets/LinkStyle.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>LinkStyle</code> interface provides a mechanism by which a style
- * sheet can be retrieved from the node responsible for linking it into a
- * document. An instance of the <code>LinkStyle</code> interface can be
- * obtained using binding-specific casting methods on an instance of a
- * linking node (<code>HTMLLinkElement</code>, <code>HTMLStyleElement</code>
- * or <code>ProcessingInstruction</code> in DOM Level 2).
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface LinkStyle {
- /**
- * The style sheet.
- */
- public StyleSheet getSheet();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/stylesheets/MediaList.java b/external/jaxp/source/org/w3c/dom/stylesheets/MediaList.java
deleted file mode 100755
index 3b10ed213..000000000
--- a/external/jaxp/source/org/w3c/dom/stylesheets/MediaList.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-import org.w3c.dom.DOMException;
-
-/**
- * The <code>MediaList</code> interface provides the abstraction of an
- * ordered collection of media, without defining or constraining how this
- * collection is implemented. An empty list is the same as a list that
- * contains the medium <code>"all"</code>.
- * <p> The items in the <code>MediaList</code> are accessible via an integral
- * index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface MediaList {
- /**
- * The parsable textual representation of the media list. This is a
- * comma-separated list of media.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified string value has a syntax error
- * and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is
- * readonly.
- */
- public String getMediaText();
- /**
- * The parsable textual representation of the media list. This is a
- * comma-separated list of media.
- * @exception DOMException
- * SYNTAX_ERR: Raised if the specified string value has a syntax error
- * and is unparsable.
- * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is
- * readonly.
- */
- public void setMediaText(String mediaText)
- throws DOMException;
-
- /**
- * The number of media in the list. The range of valid media is
- * <code>0</code> to <code>length-1</code> inclusive.
- */
- public int getLength();
-
- /**
- * Returns the <code>index</code>th in the list. If <code>index</code> is
- * greater than or equal to the number of media in the list, this
- * returns <code>null</code>.
- * @param index Index into the collection.
- * @return The medium at the <code>index</code>th position in the
- * <code>MediaList</code>, or <code>null</code> if that is not a valid
- * index.
- */
- public String item(int index);
-
- /**
- * Deletes the medium indicated by <code>oldMedium</code> from the list.
- * @param oldMedium The medium to delete in the media list.
- * @exception DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly.
- * <br> NOT_FOUND_ERR: Raised if <code>oldMedium</code> is not in the
- * list.
- */
- public void deleteMedium(String oldMedium)
- throws DOMException;
-
- /**
- * Adds the medium <code>newMedium</code> to the end of the list. If the
- * <code>newMedium</code> is already used, it is first removed.
- * @param newMedium The new medium to add.
- * @exception DOMException
- * INVALID_CHARACTER_ERR: If the medium contains characters that are
- * invalid in the underlying style language.
- * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly.
- */
- public void appendMedium(String newMedium)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/stylesheets/StyleSheet.java b/external/jaxp/source/org/w3c/dom/stylesheets/StyleSheet.java
deleted file mode 100755
index 3da430769..000000000
--- a/external/jaxp/source/org/w3c/dom/stylesheets/StyleSheet.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-import org.w3c.dom.Node;
-
-/**
- * The <code>StyleSheet</code> interface is the abstract base interface for
- * any type of style sheet. It represents a single style sheet associated
- * with a structured document. In HTML, the StyleSheet interface represents
- * either an external style sheet, included via the HTML LINK element, or
- * an inline STYLE element. In XML, this interface represents an external
- * style sheet, included via a style sheet processing instruction.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface StyleSheet {
- /**
- * This specifies the style sheet language for this style sheet. The
- * style sheet language is specified as a content type (e.g.
- * "text/css"). The content type is often specified in the
- * <code>ownerNode</code>. Also see the type attribute definition for
- * the <code>LINK</code> element in HTML 4.0, and the type
- * pseudo-attribute for the XML style sheet processing instruction.
- */
- public String getType();
-
- /**
- * <code>false</code> if the style sheet is applied to the document.
- * <code>true</code> if it is not. Modifying this attribute may cause a
- * new resolution of style for the document. A stylesheet only applies
- * if both an appropriate medium definition is present and the disabled
- * attribute is false. So, if the media doesn't apply to the current
- * user agent, the <code>disabled</code> attribute is ignored.
- */
- public boolean getDisabled();
- /**
- * <code>false</code> if the style sheet is applied to the document.
- * <code>true</code> if it is not. Modifying this attribute may cause a
- * new resolution of style for the document. A stylesheet only applies
- * if both an appropriate medium definition is present and the disabled
- * attribute is false. So, if the media doesn't apply to the current
- * user agent, the <code>disabled</code> attribute is ignored.
- */
- public void setDisabled(boolean disabled);
-
- /**
- * The node that associates this style sheet with the document. For HTML,
- * this may be the corresponding <code>LINK</code> or <code>STYLE</code>
- * element. For XML, it may be the linking processing instruction. For
- * style sheets that are included by other style sheets, the value of
- * this attribute is <code>null</code>.
- */
- public Node getOwnerNode();
-
- /**
- * For style sheet languages that support the concept of style sheet
- * inclusion, this attribute represents the including style sheet, if
- * one exists. If the style sheet is a top-level style sheet, or the
- * style sheet language does not support inclusion, the value of this
- * attribute is <code>null</code>.
- */
- public StyleSheet getParentStyleSheet();
-
- /**
- * If the style sheet is a linked style sheet, the value of its attribute
- * is its location. For inline style sheets, the value of this attribute
- * is <code>null</code>. See the href attribute definition for the
- * <code>LINK</code> element in HTML 4.0, and the href pseudo-attribute
- * for the XML style sheet processing instruction.
- */
- public String getHref();
-
- /**
- * The advisory title. The title is often specified in the
- * <code>ownerNode</code>. See the title attribute definition for the
- * <code>LINK</code> element in HTML 4.0, and the title pseudo-attribute
- * for the XML style sheet processing instruction.
- */
- public String getTitle();
-
- /**
- * The intended destination media for style information. The media is
- * often specified in the <code>ownerNode</code>. If no media has been
- * specified, the <code>MediaList</code> will be empty. See the media
- * attribute definition for the <code>LINK</code> element in HTML 4.0,
- * and the media pseudo-attribute for the XML style sheet processing
- * instruction . Modifying the media list may cause a change to the
- * attribute <code>disabled</code>.
- */
- public MediaList getMedia();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/stylesheets/StyleSheetList.java b/external/jaxp/source/org/w3c/dom/stylesheets/StyleSheetList.java
deleted file mode 100755
index b8f9a4423..000000000
--- a/external/jaxp/source/org/w3c/dom/stylesheets/StyleSheetList.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.stylesheets;
-
-/**
- * The <code>StyleSheetList</code> interface provides the abstraction of an
- * ordered collection of style sheets.
- * <p> The items in the <code>StyleSheetList</code> are accessible via an
- * integral index, starting from 0.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113'>Document Object Model (DOM) Level 2 Style Specification</a>.
- * @since DOM Level 2
- */
-public interface StyleSheetList {
- /**
- * The number of <code>StyleSheets</code> in the list. The range of valid
- * child stylesheet indices is <code>0</code> to <code>length-1</code>
- * inclusive.
- */
- public int getLength();
-
- /**
- * Used to retrieve a style sheet by ordinal index. If index is greater
- * than or equal to the number of style sheets in the list, this returns
- * <code>null</code>.
- * @param index Index into the collection
- * @return The style sheet at the <code>index</code> position in the
- * <code>StyleSheetList</code>, or <code>null</code> if that is not a
- * valid index.
- */
- public StyleSheet item(int index);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/stylesheets/package.html b/external/jaxp/source/org/w3c/dom/stylesheets/package.html
deleted file mode 100755
index 8a50000de..000000000
--- a/external/jaxp/source/org/w3c/dom/stylesheets/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports optional
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/">
-"StyleSheets"</a> features (see the sibling
-CSS package) of the DOM Level 2 Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/traversal/DocumentTraversal.java b/external/jaxp/source/org/w3c/dom/traversal/DocumentTraversal.java
deleted file mode 100755
index 103cde0de..000000000
--- a/external/jaxp/source/org/w3c/dom/traversal/DocumentTraversal.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-/**
- * <code>DocumentTraversal</code> contains methods that create
- * <code>NodeIterators</code> and <code>TreeWalkers</code> to traverse a
- * node and its children in document order (depth first, pre-order
- * traversal, which is equivalent to the order in which the start tags occur
- * in the text representation of the document). In DOMs which support the
- * Traversal feature, <code>DocumentTraversal</code> will be implemented by
- * the same objects that implement the Document interface.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentTraversal {
- /**
- * Create a new <code>NodeIterator</code> over the subtree rooted at the
- * specified node.
- * @param root The node which will be iterated together with its
- * children. The <code>NodeIterator</code> is initially positioned
- * just before this node. The <code>whatToShow</code> flags and the
- * filter, if any, are not considered when setting this position. The
- * root must not be <code>null</code>.
- * @param whatToShow This flag specifies which node types may appear in
- * the logical view of the tree presented by the
- * <code>NodeIterator</code>. See the description of
- * <code>NodeFilter</code> for the set of possible <code>SHOW_</code>
- * values.These flags can be combined using <code>OR</code>.
- * @param filter The <code>NodeFilter</code> to be used with this
- * <code>TreeWalker</code>, or <code>null</code> to indicate no filter.
- * @param entityReferenceExpansion The value of this flag determines
- * whether entity reference nodes are expanded.
- * @return The newly created <code>NodeIterator</code>.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if the specified <code>root</code> is
- * <code>null</code>.
- */
- public NodeIterator createNodeIterator(Node root,
- int whatToShow,
- NodeFilter filter,
- boolean entityReferenceExpansion)
- throws DOMException;
-
- /**
- * Create a new <code>TreeWalker</code> over the subtree rooted at the
- * specified node.
- * @param root The node which will serve as the <code>root</code> for the
- * <code>TreeWalker</code>. The <code>whatToShow</code> flags and the
- * <code>NodeFilter</code> are not considered when setting this value;
- * any node type will be accepted as the <code>root</code>. The
- * <code>currentNode</code> of the <code>TreeWalker</code> is
- * initialized to this node, whether or not it is visible. The
- * <code>root</code> functions as a stopping point for traversal
- * methods that look upward in the document structure, such as
- * <code>parentNode</code> and nextNode. The <code>root</code> must
- * not be <code>null</code>.
- * @param whatToShow This flag specifies which node types may appear in
- * the logical view of the tree presented by the
- * <code>TreeWalker</code>. See the description of
- * <code>NodeFilter</code> for the set of possible <code>SHOW_</code>
- * values.These flags can be combined using <code>OR</code>.
- * @param filter The <code>NodeFilter</code> to be used with this
- * <code>TreeWalker</code>, or <code>null</code> to indicate no filter.
- * @param entityReferenceExpansion If this flag is false, the contents of
- * <code>EntityReference</code> nodes are not presented in the logical
- * view.
- * @return The newly created <code>TreeWalker</code>.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if the specified <code>root</code> is
- * <code>null</code>.
- */
- public TreeWalker createTreeWalker(Node root,
- int whatToShow,
- NodeFilter filter,
- boolean entityReferenceExpansion)
- throws DOMException;
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/traversal/NodeFilter.java b/external/jaxp/source/org/w3c/dom/traversal/NodeFilter.java
deleted file mode 100755
index b9beac476..000000000
--- a/external/jaxp/source/org/w3c/dom/traversal/NodeFilter.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.Node;
-
-/**
- * Filters are objects that know how to "filter out" nodes. If a
- * <code>NodeIterator</code> or <code>TreeWalker</code> is given a
- * <code>NodeFilter</code>, it applies the filter before it returns the next
- * node. If the filter says to accept the node, the traversal logic returns
- * it; otherwise, traversal looks for the next node and pretends that the
- * node that was rejected was not there.
- * <p>The DOM does not provide any filters. <code>NodeFilter</code> is just an
- * interface that users can implement to provide their own filters.
- * <p><code>NodeFilters</code> do not need to know how to traverse from node
- * to node, nor do they need to know anything about the data structure that
- * is being traversed. This makes it very easy to write filters, since the
- * only thing they have to know how to do is evaluate a single node. One
- * filter may be used with a number of different kinds of traversals,
- * encouraging code reuse.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public interface NodeFilter {
- // Constants returned by acceptNode
- /**
- * Accept the node. Navigation methods defined for
- * <code>NodeIterator</code> or <code>TreeWalker</code> will return this
- * node.
- */
- public static final short FILTER_ACCEPT = 1;
- /**
- * Reject the node. Navigation methods defined for
- * <code>NodeIterator</code> or <code>TreeWalker</code> will not return
- * this node. For <code>TreeWalker</code>, the children of this node
- * will also be rejected. <code>NodeIterators</code> treat this as a
- * synonym for <code>FILTER_SKIP</code>.
- */
- public static final short FILTER_REJECT = 2;
- /**
- * Skip this single node. Navigation methods defined for
- * <code>NodeIterator</code> or <code>TreeWalker</code> will not return
- * this node. For both <code>NodeIterator</code> and
- * <code>TreeWalker</code>, the children of this node will still be
- * considered.
- */
- public static final short FILTER_SKIP = 3;
-
- // Constants for whatToShow
- /**
- * Show all <code>Nodes</code>.
- */
- public static final int SHOW_ALL = 0xFFFFFFFF;
- /**
- * Show <code>Element</code> nodes.
- */
- public static final int SHOW_ELEMENT = 0x00000001;
- /**
- * Show <code>Attr</code> nodes. This is meaningful only when creating an
- * <code>NodeIterator</code> or <code>TreeWalker</code> with an
- * attribute node as its <code>root</code>; in this case, it means that
- * the attribute node will appear in the first position of the iteration
- * or traversal. Since attributes are never children of other nodes,
- * they do not appear when traversing over the document tree.
- */
- public static final int SHOW_ATTRIBUTE = 0x00000002;
- /**
- * Show <code>Text</code> nodes.
- */
- public static final int SHOW_TEXT = 0x00000004;
- /**
- * Show <code>CDATASection</code> nodes.
- */
- public static final int SHOW_CDATA_SECTION = 0x00000008;
- /**
- * Show <code>EntityReference</code> nodes.
- */
- public static final int SHOW_ENTITY_REFERENCE = 0x00000010;
- /**
- * Show <code>Entity</code> nodes. This is meaningful only when creating
- * an <code>NodeIterator</code> or <code>TreeWalker</code> with an
- * <code>Entity</code> node as its <code>root</code>; in this case, it
- * means that the <code>Entity</code> node will appear in the first
- * position of the traversal. Since entities are not part of the
- * document tree, they do not appear when traversing over the document
- * tree.
- */
- public static final int SHOW_ENTITY = 0x00000020;
- /**
- * Show <code>ProcessingInstruction</code> nodes.
- */
- public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040;
- /**
- * Show <code>Comment</code> nodes.
- */
- public static final int SHOW_COMMENT = 0x00000080;
- /**
- * Show <code>Document</code> nodes.
- */
- public static final int SHOW_DOCUMENT = 0x00000100;
- /**
- * Show <code>DocumentType</code> nodes.
- */
- public static final int SHOW_DOCUMENT_TYPE = 0x00000200;
- /**
- * Show <code>DocumentFragment</code> nodes.
- */
- public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400;
- /**
- * Show <code>Notation</code> nodes. This is meaningful only when creating
- * an <code>NodeIterator</code> or <code>TreeWalker</code> with a
- * <code>Notation</code> node as its <code>root</code>; in this case, it
- * means that the <code>Notation</code> node will appear in the first
- * position of the traversal. Since notations are not part of the
- * document tree, they do not appear when traversing over the document
- * tree.
- */
- public static final int SHOW_NOTATION = 0x00000800;
-
- /**
- * Test whether a specified node is visible in the logical view of a
- * <code>TreeWalker</code> or <code>NodeIterator</code>. This function
- * will be called by the implementation of <code>TreeWalker</code> and
- * <code>NodeIterator</code>; it is not normally called directly from
- * user code. (Though you could do so if you wanted to use the same
- * filter to guide your own application logic.)
- * @param n The node to check to see if it passes the filter or not.
- * @return A constant to determine whether the node is accepted,
- * rejected, or skipped, as defined above.
- */
- public short acceptNode(Node n);
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/traversal/NodeIterator.java b/external/jaxp/source/org/w3c/dom/traversal/NodeIterator.java
deleted file mode 100755
index d1f0d0839..000000000
--- a/external/jaxp/source/org/w3c/dom/traversal/NodeIterator.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-/**
- * <code>NodeIterators</code> are used to step through a set of nodes, e.g.
- * the set of nodes in a <code>NodeList</code>, the document subtree
- * governed by a particular <code>Node</code>, the results of a query, or
- * any other set of nodes. The set of nodes to be iterated is determined by
- * the implementation of the <code>NodeIterator</code>. DOM Level 2
- * specifies a single <code>NodeIterator</code> implementation for
- * document-order traversal of a document subtree. Instances of these
- * <code>NodeIterators</code> are created by calling
- * <code>DocumentTraversal</code><code>.createNodeIterator()</code>.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public interface NodeIterator {
- /**
- * The root node of the <code>NodeIterator</code>, as specified when it
- * was created.
- */
- public Node getRoot();
-
- /**
- * This attribute determines which node types are presented via the
- * <code>NodeIterator</code>. The available set of constants is defined
- * in the <code>NodeFilter</code> interface. Nodes not accepted by
- * <code>whatToShow</code> will be skipped, but their children may still
- * be considered. Note that this skip takes precedence over the filter,
- * if any.
- */
- public int getWhatToShow();
-
- /**
- * The <code>NodeFilter</code> used to screen nodes.
- */
- public NodeFilter getFilter();
-
- /**
- * The value of this flag determines whether the children of entity
- * reference nodes are visible to the <code>NodeIterator</code>. If
- * false, these children and their descendants will be rejected. Note
- * that this rejection takes precedence over <code>whatToShow</code> and
- * the filter. Also note that this is currently the only situation where
- * <code>NodeIterators</code> may reject a complete subtree rather than
- * skipping individual nodes.
- * <br>
- * <br> To produce a view of the document that has entity references
- * expanded and does not expose the entity reference node itself, use
- * the <code>whatToShow</code> flags to hide the entity reference node
- * and set <code>expandEntityReferences</code> to true when creating the
- * <code>NodeIterator</code>. To produce a view of the document that has
- * entity reference nodes but no entity expansion, use the
- * <code>whatToShow</code> flags to show the entity reference node and
- * set <code>expandEntityReferences</code> to false.
- */
- public boolean getExpandEntityReferences();
-
- /**
- * Returns the next node in the set and advances the position of the
- * <code>NodeIterator</code> in the set. After a
- * <code>NodeIterator</code> is created, the first call to
- * <code>nextNode()</code> returns the first node in the set.
- * @return The next <code>Node</code> in the set being iterated over, or
- * <code>null</code> if there are no more members in that set.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if this method is called after the
- * <code>detach</code> method was invoked.
- */
- public Node nextNode()
- throws DOMException;
-
- /**
- * Returns the previous node in the set and moves the position of the
- * <code>NodeIterator</code> backwards in the set.
- * @return The previous <code>Node</code> in the set being iterated over,
- * or <code>null</code> if there are no more members in that set.
- * @exception DOMException
- * INVALID_STATE_ERR: Raised if this method is called after the
- * <code>detach</code> method was invoked.
- */
- public Node previousNode()
- throws DOMException;
-
- /**
- * Detaches the <code>NodeIterator</code> from the set which it iterated
- * over, releasing any computational resources and placing the
- * <code>NodeIterator</code> in the INVALID state. After
- * <code>detach</code> has been invoked, calls to <code>nextNode</code>
- * or <code>previousNode</code> will raise the exception
- * INVALID_STATE_ERR.
- */
- public void detach();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/traversal/TreeWalker.java b/external/jaxp/source/org/w3c/dom/traversal/TreeWalker.java
deleted file mode 100755
index e90da0663..000000000
--- a/external/jaxp/source/org/w3c/dom/traversal/TreeWalker.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.traversal;
-
-import org.w3c.dom.Node;
-import org.w3c.dom.DOMException;
-
-/**
- * <code>TreeWalker</code> objects are used to navigate a document tree or
- * subtree using the view of the document defined by their
- * <code>whatToShow</code> flags and filter (if any). Any function which
- * performs navigation using a <code>TreeWalker</code> will automatically
- * support any view defined by a <code>TreeWalker</code>.
- * <p>Omitting nodes from the logical view of a subtree can result in a
- * structure that is substantially different from the same subtree in the
- * complete, unfiltered document. Nodes that are siblings in the
- * <code>TreeWalker</code> view may be children of different, widely
- * separated nodes in the original view. For instance, consider a
- * <code>NodeFilter</code> that skips all nodes except for Text nodes and
- * the root node of a document. In the logical view that results, all text
- * nodes will be siblings and appear as direct children of the root node, no
- * matter how deeply nested the structure of the original document.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>Document Object Model (DOM) Level 2 Traversal and Range Specification</a>.
- * @since DOM Level 2
- */
-public interface TreeWalker {
- /**
- * The <code>root</code> node of the <code>TreeWalker</code>, as specified
- * when it was created.
- */
- public Node getRoot();
-
- /**
- * This attribute determines which node types are presented via the
- * <code>TreeWalker</code>. The available set of constants is defined in
- * the <code>NodeFilter</code> interface. Nodes not accepted by
- * <code>whatToShow</code> will be skipped, but their children may still
- * be considered. Note that this skip takes precedence over the filter,
- * if any.
- */
- public int getWhatToShow();
-
- /**
- * The filter used to screen nodes.
- */
- public NodeFilter getFilter();
-
- /**
- * The value of this flag determines whether the children of entity
- * reference nodes are visible to the <code>TreeWalker</code>. If false,
- * these children and their descendants will be rejected. Note that
- * this rejection takes precedence over <code>whatToShow</code> and the
- * filter, if any.
- * <br> To produce a view of the document that has entity references
- * expanded and does not expose the entity reference node itself, use
- * the <code>whatToShow</code> flags to hide the entity reference node
- * and set <code>expandEntityReferences</code> to true when creating the
- * <code>TreeWalker</code>. To produce a view of the document that has
- * entity reference nodes but no entity expansion, use the
- * <code>whatToShow</code> flags to show the entity reference node and
- * set <code>expandEntityReferences</code> to false.
- */
- public boolean getExpandEntityReferences();
-
- /**
- * The node at which the <code>TreeWalker</code> is currently positioned.
- * <br>Alterations to the DOM tree may cause the current node to no longer
- * be accepted by the <code>TreeWalker</code>'s associated filter.
- * <code>currentNode</code> may also be explicitly set to any node,
- * whether or not it is within the subtree specified by the
- * <code>root</code> node or would be accepted by the filter and
- * <code>whatToShow</code> flags. Further traversal occurs relative to
- * <code>currentNode</code> even if it is not part of the current view,
- * by applying the filters in the requested direction; if no traversal
- * is possible, <code>currentNode</code> is not changed.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if an attempt is made to set
- * <code>currentNode</code> to <code>null</code>.
- */
- public Node getCurrentNode();
- /**
- * The node at which the <code>TreeWalker</code> is currently positioned.
- * <br>Alterations to the DOM tree may cause the current node to no longer
- * be accepted by the <code>TreeWalker</code>'s associated filter.
- * <code>currentNode</code> may also be explicitly set to any node,
- * whether or not it is within the subtree specified by the
- * <code>root</code> node or would be accepted by the filter and
- * <code>whatToShow</code> flags. Further traversal occurs relative to
- * <code>currentNode</code> even if it is not part of the current view,
- * by applying the filters in the requested direction; if no traversal
- * is possible, <code>currentNode</code> is not changed.
- * @exception DOMException
- * NOT_SUPPORTED_ERR: Raised if an attempt is made to set
- * <code>currentNode</code> to <code>null</code>.
- */
- public void setCurrentNode(Node currentNode)
- throws DOMException;
-
- /**
- * Moves to and returns the closest visible ancestor node of the current
- * node. If the search for <code>parentNode</code> attempts to step
- * upward from the <code>TreeWalker</code>'s <code>root</code> node, or
- * if it fails to find a visible ancestor node, this method retains the
- * current position and returns <code>null</code>.
- * @return The new parent node, or <code>null</code> if the current node
- * has no parent in the <code>TreeWalker</code>'s logical view.
- */
- public Node parentNode();
-
- /**
- * Moves the <code>TreeWalker</code> to the first visible child of the
- * current node, and returns the new node. If the current node has no
- * visible children, returns <code>null</code>, and retains the current
- * node.
- * @return The new node, or <code>null</code> if the current node has no
- * visible children in the <code>TreeWalker</code>'s logical view.
- */
- public Node firstChild();
-
- /**
- * Moves the <code>TreeWalker</code> to the last visible child of the
- * current node, and returns the new node. If the current node has no
- * visible children, returns <code>null</code>, and retains the current
- * node.
- * @return The new node, or <code>null</code> if the current node has no
- * children in the <code>TreeWalker</code>'s logical view.
- */
- public Node lastChild();
-
- /**
- * Moves the <code>TreeWalker</code> to the previous sibling of the
- * current node, and returns the new node. If the current node has no
- * visible previous sibling, returns <code>null</code>, and retains the
- * current node.
- * @return The new node, or <code>null</code> if the current node has no
- * previous sibling. in the <code>TreeWalker</code>'s logical view.
- */
- public Node previousSibling();
-
- /**
- * Moves the <code>TreeWalker</code> to the next sibling of the current
- * node, and returns the new node. If the current node has no visible
- * next sibling, returns <code>null</code>, and retains the current node.
- * @return The new node, or <code>null</code> if the current node has no
- * next sibling. in the <code>TreeWalker</code>'s logical view.
- */
- public Node nextSibling();
-
- /**
- * Moves the <code>TreeWalker</code> to the previous visible node in
- * document order relative to the current node, and returns the new
- * node. If the current node has no previous node, or if the search for
- * <code>previousNode</code> attempts to step upward from the
- * <code>TreeWalker</code>'s <code>root</code> node, returns
- * <code>null</code>, and retains the current node.
- * @return The new node, or <code>null</code> if the current node has no
- * previous node in the <code>TreeWalker</code>'s logical view.
- */
- public Node previousNode();
-
- /**
- * Moves the <code>TreeWalker</code> to the next visible node in document
- * order relative to the current node, and returns the new node. If the
- * current node has no next node, or if the search for nextNode attempts
- * to step upward from the <code>TreeWalker</code>'s <code>root</code>
- * node, returns <code>null</code>, and retains the current node.
- * @return The new node, or <code>null</code> if the current node has no
- * next node in the <code>TreeWalker</code>'s logical view.
- */
- public Node nextNode();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/traversal/package.html b/external/jaxp/source/org/w3c/dom/traversal/package.html
deleted file mode 100755
index f3caf0697..000000000
--- a/external/jaxp/source/org/w3c/dom/traversal/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports the optional
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/"
->"Traversal"</a> feature of the
-DOM Level 2 Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/w3c/dom/views/AbstractView.java b/external/jaxp/source/org/w3c/dom/views/AbstractView.java
deleted file mode 100755
index 97e8f0e2b..000000000
--- a/external/jaxp/source/org/w3c/dom/views/AbstractView.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.views;
-
-/**
- * A base interface that all views shall derive from.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document Object Model (DOM) Level 2 Views Specification</a>.
- * @since DOM Level 2
- */
-public interface AbstractView {
- /**
- * The source <code>DocumentView</code> of which this is an
- * <code>AbstractView</code>.
- */
- public DocumentView getDocument();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/views/DocumentView.java b/external/jaxp/source/org/w3c/dom/views/DocumentView.java
deleted file mode 100755
index 2cb9eebb8..000000000
--- a/external/jaxp/source/org/w3c/dom/views/DocumentView.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2000 World Wide Web Consortium,
- * (Massachusetts Institute of Technology, Institut National de
- * Recherche en Informatique et en Automatique, Keio University). All
- * Rights Reserved. This program is distributed under the W3C's Software
- * Intellectual Property License. This program is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.
- * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
- */
-
-package org.w3c.dom.views;
-
-/**
- * The <code>DocumentView</code> interface is implemented by
- * <code>Document</code> objects in DOM implementations supporting DOM
- * Views. It provides an attribute to retrieve the default view of a
- * document.
- * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113'>Document Object Model (DOM) Level 2 Views Specification</a>.
- * @since DOM Level 2
- */
-public interface DocumentView {
- /**
- * The default <code>AbstractView</code> for this <code>Document</code>,
- * or <code>null</code> if none available.
- */
- public AbstractView getDefaultView();
-
-}
diff --git a/external/jaxp/source/org/w3c/dom/views/package.html b/external/jaxp/source/org/w3c/dom/views/package.html
deleted file mode 100755
index 2582247ee..000000000
--- a/external/jaxp/source/org/w3c/dom/views/package.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html><head>
-<title>yadda yadda</title>
-</head><body>
-
-<p>Supports the optional
-<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/"
->"Views"</a> feature of the
-DOM Level 2 Recommendation. </p>
-
-</body></html>
diff --git a/external/jaxp/source/org/xml/sax/AttributeList.java b/external/jaxp/source/org/xml/sax/AttributeList.java
deleted file mode 100755
index 0d6405759..000000000
--- a/external/jaxp/source/org/xml/sax/AttributeList.java
+++ /dev/null
@@ -1,192 +0,0 @@
-// SAX Attribute List Interface.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-/**
- * Interface for an element's attribute specifications.
- *
- * <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 is the original SAX1 interface for reporting an element's
- * attributes. Unlike the new {@link org.xml.sax.Attributes Attributes}
- * interface, it does not support Namespace-related information.</p>
- *
- * <p>When an attribute list is supplied as part of a
- * {@link org.xml.sax.DocumentHandler#startElement startElement}
- * event, the list will return valid results only during the
- * scope of the event; once the event handler returns control
- * to the parser, the attribute list is invalid. To save a
- * persistent copy of the attribute list, use the SAX1
- * {@link org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
- * helper class.</p>
- *
- * <p>An attribute list includes only attributes that have been
- * specified or defaulted: #IMPLIED attributes will not be included.</p>
- *
- * <p>There are two ways for the SAX application to obtain information
- * from the AttributeList. First, it can iterate through the entire
- * list:</p>
- *
- * <pre>
- * public void startElement (String name, AttributeList atts) {
- * for (int i = 0; i < atts.getLength(); i++) {
- * String name = atts.getName(i);
- * String type = atts.getType(i);
- * String value = atts.getValue(i);
- * [...]
- * }
- * }
- * </pre>
- *
- * <p>(Note that the result of getLength() will be zero if there
- * are no attributes.)
- *
- * <p>As an alternative, the application can request the value or
- * type of specific attributes:</p>
- *
- * <pre>
- * public void startElement (String name, AttributeList atts) {
- * String identifier = atts.getValue("id");
- * String label = atts.getValue("label");
- * [...]
- * }
- * </pre>
- *
- * @deprecated This interface has been replaced by the SAX2
- * {@link org.xml.sax.Attributes Attributes}
- * interface, which includes Namespace support.
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.DocumentHandler#startElement startElement
- * @see org.xml.sax.helpers.AttributeListImpl AttributeListImpl
- */
-public interface AttributeList {
-
-
- ////////////////////////////////////////////////////////////////////
- // Iteration methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in this list.
- *
- * <p>The SAX parser may provide attributes in any
- * arbitrary order, regardless of the order in which they were
- * declared or specified. The number of attributes may be
- * zero.</p>
- *
- * @return The number of attributes in the list.
- */
- public abstract int getLength ();
-
-
- /**
- * Return the name of an attribute in this list (by position).
- *
- * <p>The names must be unique: the SAX parser shall not include the
- * same attribute twice. Attributes without values (those declared
- * #IMPLIED without a value specified in the start tag) will be
- * omitted from the list.</p>
- *
- * <p>If the attribute name has a namespace prefix, the prefix
- * will still be attached.</p>
- *
- * @param i The index of the attribute in the list (starting at 0).
- * @return The name of the indexed attribute, or null
- * if the index is out of range.
- * @see #getLength
- */
- public abstract String getName (int i);
-
-
- /**
- * Return the type of an attribute in the list (by position).
- *
- * <p>The attribute type is one of the strings "CDATA", "ID",
- * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
- * or "NOTATION" (always in upper case).</p>
- *
- * <p>If the parser has not read a declaration for the attribute,
- * or if the parser does not report attribute types, then it must
- * return the value "CDATA" as stated in the XML 1.0 Recommentation
- * (clause 3.3.3, "Attribute-Value Normalization").</p>
- *
- * <p>For an enumerated attribute that is not a notation, the
- * parser will report the type as "NMTOKEN".</p>
- *
- * @param i The index of the attribute in the list (starting at 0).
- * @return The attribute type as a string, or
- * null if the index is out of range.
- * @see #getLength
- * @see #getType(java.lang.String)
- */
- public abstract String getType (int i);
-
-
- /**
- * Return the value of an attribute in the list (by position).
- *
- * <p>If the attribute value is a list of tokens (IDREFS,
- * ENTITIES, or NMTOKENS), the tokens will be concatenated
- * into a single string separated by whitespace.</p>
- *
- * @param i The index of the attribute in the list (starting at 0).
- * @return The attribute value as a string, or
- * null if the index is out of range.
- * @see #getLength
- * @see #getValue(java.lang.String)
- */
- public abstract String getValue (int i);
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Lookup methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the type of an attribute in the list (by name).
- *
- * <p>The return value is the same as the return value for
- * getType(int).</p>
- *
- * <p>If the attribute name has a namespace prefix in the document,
- * the application must include the prefix here.</p>
- *
- * @param name The name of the attribute.
- * @return The attribute type as a string, or null if no
- * such attribute exists.
- * @see #getType(int)
- */
- public abstract String getType (String name);
-
-
- /**
- * Return the value of an attribute in the list (by name).
- *
- * <p>The return value is the same as the return value for
- * getValue(int).</p>
- *
- * <p>If the attribute name has a namespace prefix in the document,
- * the application must include the prefix here.</p>
- *
- * @param i The index of the attribute in the list.
- * @return The attribute value as a string, or null if
- * no such attribute exists.
- * @see #getValue(int)
- */
- public abstract String getValue (String name);
-
-}
-
-// end of AttributeList.java
diff --git a/external/jaxp/source/org/xml/sax/Attributes.java b/external/jaxp/source/org/xml/sax/Attributes.java
deleted file mode 100755
index 7affd992a..000000000
--- a/external/jaxp/source/org/xml/sax/Attributes.java
+++ /dev/null
@@ -1,249 +0,0 @@
-// Attributes.java - attribute list with Namespace support
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the public domain.
-
-package org.xml.sax;
-
-
-/**
- * Interface for a list of XML attributes.
- *
- * <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 interface allows access to a list of attributes in
- * three different ways:</p>
- *
- * <ol>
- * <li>by attribute index;</li>
- * <li>by Namespace-qualified name; or</li>
- * <li>by qualified (prefixed) name.</li>
- * </ol>
- *
- * <p>The list will not contain attributes that were declared
- * #IMPLIED but not specified in the start tag. It will also not
- * contain attributes used as Namespace declarations (xmlns*) unless
- * the <code>http://xml.org/sax/features/namespace-prefixes</code>
- * feature is set to <var>true</var> (it is <var>false</var> by
- * default).
- * Because SAX2 conforms to the "Namespaces in XML" specification,
- * it does not give namespace declaration attributes a namespace URI.
- * Some other W3C specifications are in conflict with that, expecting
- * these declarations to be in a namespace.
- * Handler code may need to resolve that conflict.
- * </p>
- *
- * <p>If the namespace-prefixes feature (see above) is <var>false</var>,
- * access by qualified name may not be available; if the
- * <code>http://xml.org/sax/features/namespaces</code>
- * feature is <var>false</var>, access by Namespace-qualified names
- * may not be available.</p>
- *
- * <p>This interface replaces the now-deprecated SAX1 {@link
- * org.xml.sax.AttributeList AttributeList} interface, which does not
- * contain Namespace support. In addition to Namespace support, it
- * adds the <var>getIndex</var> methods (below).</p>
- *
- * <p>The order of attributes in the list is unspecified, and will
- * vary from implementation to implementation.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.helpers.AttributesImpl
- * @see org.xml.sax.ext.DeclHandler#attributeDecl
- */
-public interface Attributes
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Indexed access.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in the list.
- *
- * <p>Once you know the number of attributes, you can iterate
- * through the list.</p>
- *
- * @return The number of attributes in the list.
- * @see #getURI(int)
- * @see #getLocalName(int)
- * @see #getQName(int)
- * @see #getType(int)
- * @see #getValue(int)
- */
- public abstract int getLength ();
-
-
- /**
- * Look up an attribute's Namespace URI by index.
- *
- * @param index The attribute index (zero-based).
- * @return The Namespace URI, or the empty string if none
- * is available, or null if the index is out of
- * range.
- * @see #getLength
- */
- public abstract String getURI (int index);
-
-
- /**
- * Look up an attribute's local name by index.
- *
- * @param index The attribute index (zero-based).
- * @return The local name, or the empty string if Namespace
- * processing is not being performed, or null
- * if the index is out of range.
- * @see #getLength
- */
- public abstract String getLocalName (int index);
-
-
- /**
- * Look up an attribute's XML 1.0 qualified name by index.
- *
- * @param index The attribute index (zero-based).
- * @return The XML 1.0 qualified name, or the empty string
- * if none is available, or null if the index
- * is out of range.
- * @see #getLength
- */
- public abstract String getQName (int index);
-
-
- /**
- * Look up an attribute's type by index.
- *
- * <p>The attribute type is one of the strings "CDATA", "ID",
- * "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES",
- * or "NOTATION" (always in upper case).</p>
- *
- * <p>If the parser has not read a declaration for the attribute,
- * or if the parser does not report attribute types, then it must
- * return the value "CDATA" as stated in the XML 1.0 Recommentation
- * (clause 3.3.3, "Attribute-Value Normalization").</p>
- *
- * <p>For an enumerated attribute that is not a notation, the
- * parser will report the type as "NMTOKEN".</p>
- *
- * @param index The attribute index (zero-based).
- * @return The attribute's type as a string, or null if the
- * index is out of range.
- * @see #getLength
- */
- public abstract String getType (int index);
-
-
- /**
- * Look up an attribute's value by index.
- *
- * <p>If the attribute value is a list of tokens (IDREFS,
- * ENTITIES, or NMTOKENS), the tokens will be concatenated
- * into a single string with each token separated by a
- * single space.</p>
- *
- * @param index The attribute index (zero-based).
- * @return The attribute's value as a string, or null if the
- * index is out of range.
- * @see #getLength
- */
- public abstract String getValue (int index);
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Name-based query.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Look up the index of an attribute by Namespace name.
- *
- * @param uri The Namespace URI, or the empty string if
- * the name has no Namespace URI.
- * @param localName The attribute's local name.
- * @return The index of the attribute, or -1 if it does not
- * appear in the list.
- */
- public int getIndex (String uri, String localName);
-
-
- /**
- * Look up the index of an attribute by XML 1.0 qualified name.
- *
- * @param qName The qualified (prefixed) name.
- * @return The index of the attribute, or -1 if it does not
- * appear in the list.
- */
- public int getIndex (String qName);
-
-
- /**
- * Look up an attribute's type by Namespace name.
- *
- * <p>See {@link #getType(int) getType(int)} for a description
- * of the possible types.</p>
- *
- * @param uri The Namespace URI, or the empty String if the
- * name has no Namespace URI.
- * @param localName The local name of the attribute.
- * @return The attribute type as a string, or null if the
- * attribute is not in the list or if Namespace
- * processing is not being performed.
- */
- public abstract String getType (String uri, String localName);
-
-
- /**
- * Look up an attribute's type by XML 1.0 qualified name.
- *
- * <p>See {@link #getType(int) getType(int)} for a description
- * of the possible types.</p>
- *
- * @param qName The XML 1.0 qualified name.
- * @return The attribute type as a string, or null if the
- * attribute is not in the list or if qualified names
- * are not available.
- */
- public abstract String getType (String qName);
-
-
- /**
- * Look up an attribute's value by Namespace name.
- *
- * <p>See {@link #getValue(int) getValue(int)} for a description
- * of the possible values.</p>
- *
- * @param uri The Namespace URI, or the empty String if the
- * name has no Namespace URI.
- * @param localName The local name of the attribute.
- * @return The attribute value as a string, or null if the
- * attribute is not in the list.
- */
- public abstract String getValue (String uri, String localName);
-
-
- /**
- * Look up an attribute's value by XML 1.0 qualified name.
- *
- * <p>See {@link #getValue(int) getValue(int)} for a description
- * of the possible values.</p>
- *
- * @param qName The XML 1.0 qualified name.
- * @return The attribute value as a string, or null if the
- * attribute is not in the list or if qualified names
- * are not available.
- */
- public abstract String getValue (String qName);
-
-}
-
-// end of Attributes.java
diff --git a/external/jaxp/source/org/xml/sax/ContentHandler.java b/external/jaxp/source/org/xml/sax/ContentHandler.java
deleted file mode 100755
index e1b68ae02..000000000
--- a/external/jaxp/source/org/xml/sax/ContentHandler.java
+++ /dev/null
@@ -1,406 +0,0 @@
-// ContentHandler.java - handle main document content.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the public domain.
-
-package org.xml.sax;
-
-
-/**
- * Receive notification of the logical content of a document.
- *
- * <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 is the main interface that most SAX applications
- * implement: if the application needs to be informed of basic parsing
- * events, it implements this interface and registers an instance with
- * the SAX parser using the {@link org.xml.sax.XMLReader#setContentHandler
- * setContentHandler} method. The parser uses the instance to report
- * basic document-related events like the start and end of elements
- * and character data.</p>
- *
- * <p>The order of events in this interface is very important, and
- * mirrors the order of information in the document itself. For
- * example, all of an element's content (character data, processing
- * instructions, and/or subelements) will appear, in order, between
- * the startElement event and the corresponding endElement event.</p>
- *
- * <p>This interface is similar to the now-deprecated SAX 1.0
- * DocumentHandler interface, but it adds support for Namespaces
- * and for reporting skipped entities (in non-validating XML
- * processors).</p>
- *
- * <p>Implementors should note that there is also a Java class
- * {@link java.net.ContentHandler ContentHandler} in the java.net
- * package; that means that it's probably a bad idea to do</p>
- *
- * <blockquote>
- * import java.net.*;
- * import org.xml.sax.*;
- * </blockquote>
- *
- * <p>In fact, "import ...*" is usually a sign of sloppy programming
- * anyway, so the user should consider this a feature rather than a
- * bug.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLReader
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.ErrorHandler
- */
-public interface ContentHandler
-{
-
- /**
- * Receive an object for locating the origin of SAX document events.
- *
- * <p>SAX parsers are strongly encouraged (though not absolutely
- * required) to supply a locator: if it does so, it must supply
- * the locator to the application by invoking this method before
- * invoking any of the other methods in the ContentHandler
- * interface.</p>
- *
- * <p>The locator allows the application to determine the end
- * position of any document-related event, even if the parser is
- * not reporting an error. Typically, the application will
- * use this information for reporting its own errors (such as
- * character content that does not match an application's
- * business rules). The information returned by the locator
- * is probably not sufficient for use with a search engine.</p>
- *
- * <p>Note that the locator will return correct information only
- * during the invocation of the events in this interface. The
- * application should not attempt to use it at any other time.</p>
- *
- * @param locator An object that can return the location of
- * any SAX document event.
- * @see org.xml.sax.Locator
- */
- public void setDocumentLocator (Locator locator);
-
-
- /**
- * Receive notification of the beginning of a document.
- *
- * <p>The SAX parser will invoke this method only once, before any
- * other event callbacks (except for {@link #setDocumentLocator
- * setDocumentLocator}).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #endDocument
- */
- public void startDocument ()
- throws SAXException;
-
-
- /**
- * Receive notification of the end of a document.
- *
- * <p>The SAX parser will invoke this method only once, and it will
- * be the last method invoked during the parse. The parser shall
- * not invoke this method until it has either abandoned parsing
- * (because of an unrecoverable error) or reached the end of
- * input.</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #startDocument
- */
- public void endDocument()
- throws SAXException;
-
-
- /**
- * Begin the scope of a prefix-URI Namespace mapping.
- *
- * <p>The information from this event is not necessary for
- * normal Namespace processing: the SAX XML reader will
- * automatically replace prefixes for element and attribute
- * names when the <code>http://xml.org/sax/features/namespaces</code>
- * feature is <var>true</var> (the default).</p>
- *
- * <p>There are cases, however, when applications need to
- * use prefixes in character data or in attribute values,
- * where they cannot safely be expanded automatically; the
- * start/endPrefixMapping event supplies the information
- * to the application to expand prefixes in those contexts
- * itself, if necessary.</p>
- *
- * <p>Note that start/endPrefixMapping events are not
- * guaranteed to be properly nested relative to each other:
- * all startPrefixMapping events will occur immediately before the
- * corresponding {@link #startElement startElement} event,
- * and all {@link #endPrefixMapping endPrefixMapping}
- * events will occur immediately after the corresponding
- * {@link #endElement endElement} event,
- * but their order is not otherwise
- * guaranteed.</p>
- *
- * <p>There should never be start/endPrefixMapping events for the
- * "xml" prefix, since it is predeclared and immutable.</p>
- *
- * @param prefix The Namespace prefix being declared.
- * An empty string is used for the default element namespace,
- * which has no prefix.
- * @param uri The Namespace URI the prefix is mapped to.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see #endPrefixMapping
- * @see #startElement
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException;
-
-
- /**
- * End the scope of a prefix-URI mapping.
- *
- * <p>See {@link #startPrefixMapping startPrefixMapping} for
- * details. These events will always occur immediately after the
- * corresponding {@link #endElement endElement} event, but the order of
- * {@link #endPrefixMapping endPrefixMapping} events is not otherwise
- * guaranteed.</p>
- *
- * @param prefix The prefix that was being mapped.
- * This is the empty string when a default mapping scope ends.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @see #startPrefixMapping
- * @see #endElement
- */
- public void endPrefixMapping (String prefix)
- throws SAXException;
-
-
- /**
- * Receive notification of the beginning of an element.
- *
- * <p>The Parser will invoke this method at the beginning of every
- * element in the XML document; there will be a corresponding
- * {@link #endElement endElement} event for every startElement event
- * (even when the element is empty). All of the element's content will be
- * reported, in order, before the corresponding endElement
- * event.</p>
- *
- * <p>This event allows up to three name components for each
- * element:</p>
- *
- * <ol>
- * <li>the Namespace URI;</li>
- * <li>the local name; and</li>
- * <li>the qualified (prefixed) name.</li>
- * </ol>
- *
- * <p>Any or all of these may be provided, depending on the
- * values of the <var>http://xml.org/sax/features/namespaces</var>
- * and the <var>http://xml.org/sax/features/namespace-prefixes</var>
- * properties:</p>
- *
- * <ul>
- * <li>the Namespace URI and local name are required when
- * the namespaces property is <var>true</var> (the default), and are
- * optional when the namespaces property is <var>false</var> (if one is
- * specified, both must be);</li>
- * <li>the qualified name is required when the namespace-prefixes property
- * is <var>true</var>, and is optional when the namespace-prefixes property
- * is <var>false</var> (the default).</li>
- * </ul>
- *
- * <p>Note that the attribute list provided will contain only
- * attributes with explicit values (specified or defaulted):
- * #IMPLIED attributes will be omitted. The attribute list
- * will contain attributes used for Namespace declarations
- * (xmlns* attributes) only if the
- * <code>http://xml.org/sax/features/namespace-prefixes</code>
- * property is true (it is false by default, and support for a
- * true value is optional).</p>
- *
- * <p>Like {@link #characters characters()}, attribute values may have
- * characters that need more than one <code>char</code> value. </p>
- *
- * @param uri The Namespace URI, or the empty string if the
- * element has no Namespace URI or if Namespace
- * processing is not being performed.
- * @param localName The local name (without prefix), or the
- * empty string if Namespace processing is not being
- * performed.
- * @param qName The qualified name (with prefix), or the
- * empty string if qualified names are not available.
- * @param atts The attributes attached to the element. If
- * there are no attributes, it shall be an empty
- * Attributes object.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #endElement
- * @see org.xml.sax.Attributes
- */
- public void startElement (String uri, String localName,
- String qName, Attributes atts)
- throws SAXException;
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>The SAX parser will invoke this method at the end of every
- * element in the XML document; there will be a corresponding
- * {@link #startElement startElement} event for every endElement
- * event (even when the element is empty).</p>
- *
- * <p>For information on the names, see startElement.</p>
- *
- * @param uri The Namespace URI, or the empty string if the
- * element has no Namespace URI or if Namespace
- * processing is not being performed.
- * @param localName The local name (without prefix), or the
- * empty string if Namespace processing is not being
- * performed.
- * @param qName The qualified XML 1.0 name (with prefix), or the
- * empty string if qualified names are not available.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public void endElement (String uri, String localName,
- String qName)
- throws SAXException;
-
-
- /**
- * Receive notification of character data.
- *
- * <p>The Parser will call this method to report each chunk of
- * character data. SAX parsers may return all contiguous character
- * data in a single chunk, or they may split it into several
- * chunks; however, all of the characters in any single event
- * must come from the same external entity so that the Locator
- * provides useful information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * <p>Individual characters may consist of more than one Java
- * <code>char</code> value. There are two important cases where this
- * happens, because characters can't be represented in just sixteen bits.
- * In one case, characters are represented in a <em>Surrogate Pair</em>,
- * using two special Unicode values. Such characters are in the so-called
- * "Astral Planes", with a code point above U+FFFF. A second case involves
- * composite characters, such as a base character combining with one or
- * more accent characters. </p>
- *
- * <p> Your code should not assume that algorithms using
- * <code>char</code>-at-a-time idioms will be working in character
- * units; in some cases they will split characters. This is relevant
- * wherever XML permits arbitrary characters, such as attribute values,
- * processing instruction data, and comments as well as in data reported
- * from this method. It's also generally relevant whenever Java code
- * manipulates internationalized text; the issue isn't unique to XML.</p>
- *
- * <p>Note that some parsers will report whitespace in element
- * content using the {@link #ignorableWhitespace ignorableWhitespace}
- * method rather than this one (validating parsers <em>must</em>
- * do so).</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #ignorableWhitespace
- * @see org.xml.sax.Locator
- */
- public void characters (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>Validating Parsers must use this method to report each chunk
- * of whitespace in element content (see the W3C XML 1.0 recommendation,
- * section 2.10): non-validating parsers may also use this method
- * if they are capable of parsing and using content models.</p>
- *
- * <p>SAX parsers may return all contiguous whitespace in a single
- * chunk, or they may split it into several chunks; however, all of
- * the characters in any single event must come from the same
- * external entity, so that the Locator provides useful
- * information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #characters
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>The Parser will invoke this method once for each processing
- * instruction found: note that processing instructions may occur
- * before or after the main document element.</p>
- *
- * <p>A SAX parser must never report an XML declaration (XML 1.0,
- * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
- * using this method.</p>
- *
- * <p>Like {@link #characters characters()}, processing instruction
- * data may have characters that need more than one <code>char</code>
- * value. </p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none was supplied. The data does not include any
- * whitespace separating it from the target.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public void processingInstruction (String target, String data)
- throws SAXException;
-
-
- /**
- * Receive notification of a skipped entity.
- * This is not called for entity references within markup constructs
- * such as element start tags or markup declarations. (The XML
- * recommendation requires reporting skipped external entities.
- * SAX also reports internal entity expansion/non-expansion, except
- * within markup constructs.)
- *
- * <p>The Parser will invoke this method each time the entity is
- * skipped. Non-validating processors may skip entities if they
- * have not seen the declarations (because, for example, the
- * entity was declared in an external DTD subset). All processors
- * may skip external entities, depending on the values of the
- * <code>http://xml.org/sax/features/external-general-entities</code>
- * and the
- * <code>http://xml.org/sax/features/external-parameter-entities</code>
- * properties.</p>
- *
- * @param name The name of the skipped entity. If it is a
- * parameter entity, the name will begin with '%', and if
- * it is the external DTD subset, it will be the string
- * "[dtd]".
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public void skippedEntity (String name)
- throws SAXException;
-}
-
-// end of ContentHandler.java
diff --git a/external/jaxp/source/org/xml/sax/DTDHandler.java b/external/jaxp/source/org/xml/sax/DTDHandler.java
deleted file mode 100755
index 9c95e9bcf..000000000
--- a/external/jaxp/source/org/xml/sax/DTDHandler.java
+++ /dev/null
@@ -1,116 +0,0 @@
-// SAX DTD handler.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-/**
- * Receive notification of basic DTD-related events.
- *
- * <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>If a SAX application needs information about notations and
- * unparsed entities, then the application implements this
- * interface and registers an instance with the SAX parser using
- * the parser's setDTDHandler method. The parser uses the
- * instance to report notation and unparsed entity declarations to
- * the application.</p>
- *
- * <p>Note that this interface includes only those DTD events that
- * the XML recommendation <em>requires</em> processors to report:
- * notation and unparsed entity declarations.</p>
- *
- * <p>The SAX parser may report these events in any order, regardless
- * of the order in which the notations and unparsed entities were
- * declared; however, all DTD events must be reported after the
- * document handler's startDocument event, and before the first
- * startElement event.
- * (If the {@link org.xml.sax.ext.LexicalHandler LexicalHandler} is
- * used, these events must also be reported before the endDTD event.)
- * </p>
- *
- * <p>It is up to the application to store the information for
- * future use (perhaps in a hash table or object tree).
- * If the application encounters attributes of type "NOTATION",
- * "ENTITY", or "ENTITIES", it can use the information that it
- * obtained through this interface to find the entity and/or
- * notation corresponding with the attribute value.</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLReader#setDTDHandler
- */
-public interface DTDHandler {
-
-
- /**
- * Receive notification of a notation declaration event.
- *
- * <p>It is up to the application to record the notation for later
- * reference, if necessary;
- * notations may appear as attribute values and in unparsed entity
- * declarations, and are sometime used with processing instruction
- * target names.</p>
- *
- * <p>At least one of publicId and systemId must be non-null.
- * If a system identifier is present, and it is a URL, the SAX
- * parser must resolve it fully before passing it to the
- * application through this event.</p>
- *
- * <p>There is no guarantee that the notation declaration will be
- * reported before any unparsed entities that use it.</p>
- *
- * @param name The notation name.
- * @param publicId The notation's public identifier, or null if
- * none was given.
- * @param systemId The notation's system identifier, or null if
- * none was given.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #unparsedEntityDecl
- * @see org.xml.sax.Attributes
- */
- public abstract void notationDecl (String name,
- String publicId,
- String systemId)
- throws SAXException;
-
-
- /**
- * Receive notification of an unparsed entity declaration event.
- *
- * <p>Note that the notation name corresponds to a notation
- * reported by the {@link #notationDecl notationDecl} event.
- * It is up to the application to record the entity for later
- * reference, if necessary;
- * unparsed entities may appear as attribute values.
- * </p>
- *
- * <p>If the system identifier is a URL, the parser must resolve it
- * fully before passing it to the application.</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @param name The unparsed entity's name.
- * @param publicId The entity's public identifier, or null if none
- * was given.
- * @param systemId The entity's system identifier.
- * @param notationName The name of the associated notation.
- * @see #notationDecl
- * @see org.xml.sax.Attributes
- */
- public abstract void unparsedEntityDecl (String name,
- String publicId,
- String systemId,
- String notationName)
- throws SAXException;
-
-}
-
-// end of DTDHandler.java
diff --git a/external/jaxp/source/org/xml/sax/DocumentHandler.java b/external/jaxp/source/org/xml/sax/DocumentHandler.java
deleted file mode 100755
index 7d925a260..000000000
--- a/external/jaxp/source/org/xml/sax/DocumentHandler.java
+++ /dev/null
@@ -1,231 +0,0 @@
-// SAX document handler.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-/**
- * Receive notification of general document events.
- *
- * <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 was the main event-handling interface for SAX1; in
- * SAX2, it has been replaced by {@link org.xml.sax.ContentHandler
- * ContentHandler}, which provides Namespace support and reporting
- * of skipped entities. This interface is included in SAX2 only
- * to support legacy SAX1 applications.</p>
- *
- * <p>The order of events in this interface is very important, and
- * mirrors the order of information in the document itself. For
- * example, all of an element's content (character data, processing
- * instructions, and/or subelements) will appear, in order, between
- * the startElement event and the corresponding endElement event.</p>
- *
- * <p>Application writers who do not want to implement the entire
- * interface can derive a class from HandlerBase, which implements
- * the default functionality; parser writers can instantiate
- * HandlerBase to obtain a default handler. The application can find
- * the location of any document event using the Locator interface
- * supplied by the Parser through the setDocumentLocator method.</p>
- *
- * @deprecated This interface has been replaced by the SAX2
- * {@link org.xml.sax.ContentHandler ContentHandler}
- * interface, which includes Namespace support.
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.Parser#setDocumentHandler
- * @see org.xml.sax.Locator
- * @see org.xml.sax.HandlerBase
- */
-public interface DocumentHandler {
-
-
- /**
- * Receive an object for locating the origin of SAX document events.
- *
- * <p>SAX parsers are strongly encouraged (though not absolutely
- * required) to supply a locator: if it does so, it must supply
- * the locator to the application by invoking this method before
- * invoking any of the other methods in the DocumentHandler
- * interface.</p>
- *
- * <p>The locator allows the application to determine the end
- * position of any document-related event, even if the parser is
- * not reporting an error. Typically, the application will
- * use this information for reporting its own errors (such as
- * character content that does not match an application's
- * business rules). The information returned by the locator
- * is probably not sufficient for use with a search engine.</p>
- *
- * <p>Note that the locator will return correct information only
- * during the invocation of the events in this interface. The
- * application should not attempt to use it at any other time.</p>
- *
- * @param locator An object that can return the location of
- * any SAX document event.
- * @see org.xml.sax.Locator
- */
- public abstract void setDocumentLocator (Locator locator);
-
-
- /**
- * Receive notification of the beginning of a document.
- *
- * <p>The SAX parser will invoke this method only once, before any
- * other methods in this interface or in DTDHandler (except for
- * setDocumentLocator).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void startDocument ()
- throws SAXException;
-
-
- /**
- * Receive notification of the end of a document.
- *
- * <p>The SAX parser will invoke this method only once, and it will
- * be the last method invoked during the parse. The parser shall
- * not invoke this method until it has either abandoned parsing
- * (because of an unrecoverable error) or reached the end of
- * input.</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void endDocument ()
- throws SAXException;
-
-
- /**
- * Receive notification of the beginning of an element.
- *
- * <p>The Parser will invoke this method at the beginning of every
- * element in the XML document; there will be a corresponding
- * endElement() event for every startElement() event (even when the
- * element is empty). All of the element's content will be
- * reported, in order, before the corresponding endElement()
- * event.</p>
- *
- * <p>If the element name has a namespace prefix, the prefix will
- * still be attached. Note that the attribute list provided will
- * contain only attributes with explicit values (specified or
- * defaulted): #IMPLIED attributes will be omitted.</p>
- *
- * @param name The element type name.
- * @param atts The attributes attached to the element, if any.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #endElement
- * @see org.xml.sax.AttributeList
- */
- public abstract void startElement (String name, AttributeList atts)
- throws SAXException;
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>The SAX parser will invoke this method at the end of every
- * element in the XML document; there will be a corresponding
- * startElement() event for every endElement() event (even when the
- * element is empty).</p>
- *
- * <p>If the element name has a namespace prefix, the prefix will
- * still be attached to the name.</p>
- *
- * @param name The element type name
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void endElement (String name)
- throws SAXException;
-
-
- /**
- * Receive notification of character data.
- *
- * <p>The Parser will call this method to report each chunk of
- * character data. SAX parsers may return all contiguous character
- * data in a single chunk, or they may split it into several
- * chunks; however, all of the characters in any single event
- * must come from the same external entity, so that the Locator
- * provides useful information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * <p>Note that some parsers will report whitespace using the
- * ignorableWhitespace() method rather than this one (validating
- * parsers must do so).</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #ignorableWhitespace
- * @see org.xml.sax.Locator
- */
- public abstract void characters (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>Validating Parsers must use this method to report each chunk
- * of ignorable whitespace (see the W3C XML 1.0 recommendation,
- * section 2.10): non-validating parsers may also use this method
- * if they are capable of parsing and using content models.</p>
- *
- * <p>SAX parsers may return all contiguous whitespace in a single
- * chunk, or they may split it into several chunks; however, all of
- * the characters in any single event must come from the same
- * external entity, so that the Locator provides useful
- * information.</p>
- *
- * <p>The application must not attempt to read from the array
- * outside of the specified range.</p>
- *
- * @param ch The characters from the XML document.
- * @param start The start position in the array.
- * @param length The number of characters to read from the array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see #characters
- */
- public abstract void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException;
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>The Parser will invoke this method once for each processing
- * instruction found: note that processing instructions may occur
- * before or after the main document element.</p>
- *
- * <p>A SAX parser should never report an XML declaration (XML 1.0,
- * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
- * using this method.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none was supplied.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- */
- public abstract void processingInstruction (String target, String data)
- throws SAXException;
-
-}
-
-// end of DocumentHandler.java
diff --git a/external/jaxp/source/org/xml/sax/EntityResolver.java b/external/jaxp/source/org/xml/sax/EntityResolver.java
deleted file mode 100755
index 4a0ecd964..000000000
--- a/external/jaxp/source/org/xml/sax/EntityResolver.java
+++ /dev/null
@@ -1,118 +0,0 @@
-// SAX entity resolver.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-import java.io.IOException;
-
-
-/**
- * Basic interface for resolving entities.
- *
- * <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>If a SAX application needs to implement customized handling
- * for external entities, it must implement this interface and
- * register an instance with the SAX driver using the
- * {@link org.xml.sax.XMLReader#setEntityResolver setEntityResolver}
- * method.</p>
- *
- * <p>The XML reader will then allow the application to intercept any
- * external entities (including the external DTD subset and external
- * parameter entities, if any) before including them.</p>
- *
- * <p>Many SAX applications will not need to implement this interface,
- * but it will be especially useful for applications that build
- * XML documents from databases or other specialised input sources,
- * or for applications that use URI types other than URLs.</p>
- *
- * <p>The following resolver would provide the application
- * with a special character stream for the entity with the system
- * identifier "http://www.myhost.com/today":</p>
- *
- * <pre>
- * import org.xml.sax.EntityResolver;
- * import org.xml.sax.InputSource;
- *
- * public class MyResolver implements EntityResolver {
- * public InputSource resolveEntity (String publicId, String systemId)
- * {
- * if (systemId.equals("http://www.myhost.com/today")) {
- * // return a special input source
- * MyReader reader = new MyReader();
- * return new InputSource(reader);
- * } else {
- * // use the default behaviour
- * return null;
- * }
- * }
- * }
- * </pre>
- *
- * <p>The application can also use this interface to redirect system
- * identifiers to local URIs or to look up replacements in a catalog
- * (possibly by using the public identifier).</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLReader#setEntityResolver
- * @see org.xml.sax.InputSource
- */
-public interface EntityResolver {
-
-
- /**
- * Allow the application to resolve external entities.
- *
- * <p>The parser will call this method before opening any external
- * entity except the top-level document entity. Such entities include
- * the external DTD subset and external parameter entities referenced
- * within the DTD (in either case, only if the parser reads external
- * parameter entities), and external general entities referenced
- * within the document element (if the parser reads external general
- * entities). The application may request that the parser locate
- * the entity itself, that it use an alternative URI, or that it
- * use data provided by the application (as a character or byte
- * input stream).</p>
- *
- * <p>Application writers can use this method to redirect external
- * system identifiers to secure and/or local URIs, to look up
- * public identifiers in a catalogue, or to read an entity from a
- * database or other input source (including, for example, a dialog
- * box). Neither XML nor SAX specifies a preferred policy for using
- * public or system IDs to resolve resources. However, SAX specifies
- * how to interpret any InputSource returned by this method, and that
- * if none is returned, then the system ID will be dereferenced as
- * a URL. </p>
- *
- * <p>If the system identifier is a URL, the SAX parser must
- * resolve it fully before reporting it to the application.</p>
- *
- * @param publicId The public identifier of the external entity
- * being referenced, or null if none was supplied.
- * @param systemId The system identifier of the external entity
- * being referenced.
- * @return An InputSource object describing the new input source,
- * or null to request that the parser open a regular
- * URI connection to the system identifier.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException A Java-specific IO exception,
- * possibly the result of creating a new InputStream
- * or Reader for the InputSource.
- * @see org.xml.sax.InputSource
- */
- public abstract InputSource resolveEntity (String publicId,
- String systemId)
- throws SAXException, IOException;
-
-}
-
-// end of EntityResolver.java
diff --git a/external/jaxp/source/org/xml/sax/ErrorHandler.java b/external/jaxp/source/org/xml/sax/ErrorHandler.java
deleted file mode 100755
index e3d304709..000000000
--- a/external/jaxp/source/org/xml/sax/ErrorHandler.java
+++ /dev/null
@@ -1,124 +0,0 @@
-// SAX error handler.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-
-/**
- * Basic interface for SAX error handlers.
- *
- * <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>If a SAX application needs to implement customized error
- * handling, it must implement this interface and then register an
- * instance with the XML reader using the
- * {@link org.xml.sax.XMLReader#setErrorHandler setErrorHandler}
- * method. The parser will then report all errors and warnings
- * through this interface.</p>
- *
- * <p><strong>WARNING:</strong> If an application does <em>not</em>
- * register an ErrorHandler, XML parsing errors will go unreported
- * and bizarre behaviour may result.</p>
- *
- * <p>For XML processing errors, a SAX driver must use this interface
- * instead of throwing an exception: it is up to the application
- * to decide whether to throw an exception for different types of
- * errors and warnings. Note, however, that there is no requirement that
- * the parser continue to provide useful information after a call to
- * {@link #fatalError fatalError} (in other words, a SAX driver class
- * could catch an exception and report a fatalError).</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLReader#setErrorHandler
- * @see org.xml.sax.SAXParseException
- */
-public interface ErrorHandler {
-
-
- /**
- * Receive notification of a warning.
- *
- * <p>SAX parsers will use this method to report conditions that
- * are not errors or fatal errors as defined by the XML 1.0
- * recommendation. The default behaviour is to take no action.</p>
- *
- * <p>The SAX parser must continue to provide normal parsing events
- * after invoking this method: it should still be possible for the
- * application to process the document through to the end.</p>
- *
- * <p>Filters may use this method to report other, non-XML warnings
- * as well.</p>
- *
- * @param exception The warning information encapsulated in a
- * SAX parse exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.SAXParseException
- */
- public abstract void warning (SAXParseException exception)
- throws SAXException;
-
-
- /**
- * Receive notification of a recoverable error.
- *
- * <p>This corresponds to the definition of "error" in section 1.2
- * of the W3C XML 1.0 Recommendation. For example, a validating
- * parser would use this callback to report the violation of a
- * validity constraint. The default behaviour is to take no
- * action.</p>
- *
- * <p>The SAX parser must continue to provide normal parsing events
- * after invoking this method: it should still be possible for the
- * application to process the document through to the end. If the
- * application cannot do so, then the parser should report a fatal
- * error even if the XML 1.0 recommendation does not require it to
- * do so.</p>
- *
- * <p>Filters may use this method to report other, non-XML errors
- * as well.</p>
- *
- * @param exception The error information encapsulated in a
- * SAX parse exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.SAXParseException
- */
- public abstract void error (SAXParseException exception)
- throws SAXException;
-
-
- /**
- * Receive notification of a non-recoverable error.
- *
- * <p>This corresponds to the definition of "fatal error" in
- * section 1.2 of the W3C XML 1.0 Recommendation. For example, a
- * parser would use this callback to report the violation of a
- * well-formedness constraint.</p>
- *
- * <p>The application must assume that the document is unusable
- * after the parser has invoked this method, and should continue
- * (if at all) only for the sake of collecting addition error
- * messages: in fact, SAX parsers are free to stop reporting any
- * other events once this method has been invoked.</p>
- *
- * @param exception The error information encapsulated in a
- * SAX parse exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.SAXParseException
- */
- public abstract void fatalError (SAXParseException exception)
- throws SAXException;
-
-}
-
-// end of ErrorHandler.java
diff --git a/external/jaxp/source/org/xml/sax/HandlerBase.java b/external/jaxp/source/org/xml/sax/HandlerBase.java
deleted file mode 100755
index cad622867..000000000
--- a/external/jaxp/source/org/xml/sax/HandlerBase.java
+++ /dev/null
@@ -1,369 +0,0 @@
-// SAX default handler base class.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-/**
- * Default base class for handlers.
- *
- * <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 implements the default behaviour for four SAX1
- * interfaces: EntityResolver, DTDHandler, DocumentHandler,
- * and ErrorHandler. It is now obsolete, but is included in SAX2 to
- * support legacy SAX1 applications. SAX2 applications should use
- * the {@link org.xml.sax.helpers.DefaultHandler DefaultHandler}
- * class instead.</p>
- *
- * <p>Application writers can extend this class when they need to
- * implement only part of an interface; parser writers can
- * instantiate this class to provide default handlers when the
- * application has not supplied its own.</p>
- *
- * <p>Note that the use of this class is optional.</p>
- *
- * @deprecated This class works with the deprecated
- * {@link org.xml.sax.DocumentHandler DocumentHandler}
- * interface. It has been replaced by the SAX2
- * {@link org.xml.sax.helpers.DefaultHandler DefaultHandler}
- * class.
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.DocumentHandler
- * @see org.xml.sax.ErrorHandler
- */
-public class HandlerBase
- implements EntityResolver, DTDHandler, DocumentHandler, ErrorHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the EntityResolver interface.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Resolve an external entity.
- *
- * <p>Always return null, so that the parser will use the system
- * identifier provided in the XML document. This method implements
- * the SAX default behaviour: application writers can override it
- * in a subclass to do special translations such as catalog lookups
- * or URI redirection.</p>
- *
- * @param publicId The public identifer, or null if none is
- * available.
- * @param systemId The system identifier provided in the XML
- * document.
- * @return The new input source, or null to require the
- * default behaviour.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.EntityResolver#resolveEntity
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException
- {
- return null;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of DTDHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a notation declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to keep track of the notations
- * declared in a document.</p>
- *
- * @param name The notation name.
- * @param publicId The notation public identifier, or null if not
- * available.
- * @param systemId The notation system identifier.
- * @see org.xml.sax.DTDHandler#notationDecl
- */
- public void notationDecl (String name, String publicId, String systemId)
- {
- // no op
- }
-
-
- /**
- * Receive notification of an unparsed entity declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to keep track of the unparsed entities
- * declared in a document.</p>
- *
- * @param name The entity name.
- * @param publicId The entity public identifier, or null if not
- * available.
- * @param systemId The entity system identifier.
- * @param notationName The name of the associated notation.
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public void unparsedEntityDecl (String name, String publicId,
- String systemId, String notationName)
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of DocumentHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive a Locator object for document events.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to store the locator for use
- * with other document events.</p>
- *
- * @param locator A locator for all SAX document events.
- * @see org.xml.sax.DocumentHandler#setDocumentLocator
- * @see org.xml.sax.Locator
- */
- public void setDocumentLocator (Locator locator)
- {
- // no op
- }
-
-
- /**
- * Receive notification of the beginning of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the beginning
- * of a document (such as allocating the root node of a tree or
- * creating an output file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the beginning
- * of a document (such as finalising a tree or closing an output
- * file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the start of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the start of
- * each element (such as allocating a new tree node or writing
- * output to a file).</p>
- *
- * @param name The element type name.
- * @param attributes The specified or defaulted attributes.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public void startElement (String name, AttributeList attributes)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end of
- * each element (such as finalising a tree node or writing
- * output to a file).</p>
- *
- * @param name The element type name.
- * @param attributes The specified or defaulted attributes.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#endElement
- */
- public void endElement (String name)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of character data inside an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of character data
- * (such as adding the data to a node or buffer, or printing it to
- * a file).</p>
- *
- * @param ch The characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of ignorable
- * whitespace (such as adding data to a node or buffer, or printing
- * it to a file).</p>
- *
- * @param ch The whitespace characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions for each
- * processing instruction, such as setting status variables or
- * invoking other methods.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none is supplied.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DocumentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the ErrorHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a parser warning.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each warning, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void warning (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a recoverable parser error.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each error, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void error (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Report a fatal XML parsing error.
- *
- * <p>The default implementation throws a SAXParseException.
- * Application writers may override this method in a subclass if
- * they need to take specific actions for each fatal error (such as
- * collecting all of the errors into a single report): in any case,
- * the application must stop all regular processing when this
- * method is invoked, since the document is no longer reliable, and
- * the parser may no longer report parsing events.</p>
- *
- * @param e The error information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#fatalError
- * @see org.xml.sax.SAXParseException
- */
- public void fatalError (SAXParseException e)
- throws SAXException
- {
- throw e;
- }
-
-}
-
-// end of HandlerBase.java
diff --git a/external/jaxp/source/org/xml/sax/InputSource.java b/external/jaxp/source/org/xml/sax/InputSource.java
deleted file mode 100755
index 9b4791258..000000000
--- a/external/jaxp/source/org/xml/sax/InputSource.java
+++ /dev/null
@@ -1,335 +0,0 @@
-// SAX input source.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-import java.io.Reader;
-import java.io.InputStream;
-
-/**
- * A single input source for an XML entity.
- *
- * <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 allows a SAX application to encapsulate information
- * about an input source in a single object, which may include
- * a public identifier, a system identifier, a byte stream (possibly
- * with a specified encoding), and/or a character stream.</p>
- *
- * <p>There are two places that the application can deliver an
- * input source to the parser: as the argument to the Parser.parse
- * method, or as the return value of the EntityResolver.resolveEntity
- * method.</p>
- *
- * <p>The SAX parser will use the InputSource object to determine how
- * to read XML input. If there is a character stream available, the
- * parser will read that stream directly, disregarding any text
- * encoding declaration found in that stream.
- * If there is no character stream, but there is
- * a byte stream, the parser will use that byte stream, using the
- * encoding specified in the InputSource or else (if no encoding is
- * specified) autodetecting the character encoding using an algorithm
- * such as the one in the XML specification. If neither a character
- * stream nor a
- * byte stream is available, the parser will attempt to open a URI
- * connection to the resource identified by the system
- * identifier.</p>
- *
- * <p>An InputSource object belongs to the application: the SAX parser
- * shall never modify it in any way (it may modify a copy if
- * necessary). However, standard processing of both byte and
- * character streams is to close them on as part of end-of-parse cleanup,
- * so applications should not attempt to re-use such streams after they
- * have been handed to a parser. </p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLReader#parse(org.xml.sax.InputSource)
- * @see org.xml.sax.EntityResolver#resolveEntity
- * @see java.io.InputStream
- * @see java.io.Reader
- */
-public class InputSource {
-
- /**
- * Zero-argument default constructor.
- *
- * @see #setPublicId
- * @see #setSystemId
- * @see #setByteStream
- * @see #setCharacterStream
- * @see #setEncoding
- */
- public InputSource ()
- {
- }
-
-
- /**
- * Create a new input source with a system identifier.
- *
- * <p>Applications may use setPublicId to include a
- * public identifier as well, or setEncoding to specify
- * the character encoding, if known.</p>
- *
- * <p>If the system identifier is a URL, it must be fully
- * resolved (it may not be a relative URL).</p>
- *
- * @param systemId The system identifier (URI).
- * @see #setPublicId
- * @see #setSystemId
- * @see #setByteStream
- * @see #setEncoding
- * @see #setCharacterStream
- */
- public InputSource (String systemId)
- {
- setSystemId(systemId);
- }
-
-
- /**
- * Create a new input source with a byte stream.
- *
- * <p>Application writers should use setSystemId() to provide a base
- * for resolving relative URIs, may use setPublicId to include a
- * public identifier, and may use setEncoding to specify the object's
- * character encoding.</p>
- *
- * @param byteStream The raw byte stream containing the document.
- * @see #setPublicId
- * @see #setSystemId
- * @see #setEncoding
- * @see #setByteStream
- * @see #setCharacterStream
- */
- public InputSource (InputStream byteStream)
- {
- setByteStream(byteStream);
- }
-
-
- /**
- * Create a new input source with a character stream.
- *
- * <p>Application writers should use setSystemId() to provide a base
- * for resolving relative URIs, and may use setPublicId to include a
- * public identifier.</p>
- *
- * <p>The character stream shall not include a byte order mark.</p>
- *
- * @see #setPublicId
- * @see #setSystemId
- * @see #setByteStream
- * @see #setCharacterStream
- */
- public InputSource (Reader characterStream)
- {
- setCharacterStream(characterStream);
- }
-
-
- /**
- * Set the public identifier for this input source.
- *
- * <p>The public identifier is always optional: if the application
- * writer includes one, it will be provided as part of the
- * location information.</p>
- *
- * @param publicId The public identifier as a string.
- * @see #getPublicId
- * @see org.xml.sax.Locator#getPublicId
- * @see org.xml.sax.SAXParseException#getPublicId
- */
- public void setPublicId (String publicId)
- {
- this.publicId = publicId;
- }
-
-
- /**
- * Get the public identifier for this input source.
- *
- * @return The public identifier, or null if none was supplied.
- * @see #setPublicId
- */
- public String getPublicId ()
- {
- return publicId;
- }
-
-
- /**
- * Set the system identifier for this input source.
- *
- * <p>The system identifier is optional if there is a byte stream
- * or a character stream, but it is still useful to provide one,
- * since the application can use it to resolve relative URIs
- * and can include it in error messages and warnings (the parser
- * will attempt to open a connection to the URI only if
- * there is no byte stream or character stream specified).</p>
- *
- * <p>If the application knows the character encoding of the
- * object pointed to by the system identifier, it can register
- * the encoding using the setEncoding method.</p>
- *
- * <p>If the system identifier is a URL, it must be fully
- * resolved (it may not be a relative URL).</p>
- *
- * @param systemId The system identifier as a string.
- * @see #setEncoding
- * @see #getSystemId
- * @see org.xml.sax.Locator#getSystemId
- * @see org.xml.sax.SAXParseException#getSystemId
- */
- public void setSystemId (String systemId)
- {
- this.systemId = systemId;
- }
-
-
- /**
- * Get the system identifier for this input source.
- *
- * <p>The getEncoding method will return the character encoding
- * of the object pointed to, or null if unknown.</p>
- *
- * <p>If the system ID is a URL, it will be fully resolved.</p>
- *
- * @return The system identifier, or null if none was supplied.
- * @see #setSystemId
- * @see #getEncoding
- */
- public String getSystemId ()
- {
- return systemId;
- }
-
-
- /**
- * Set the byte stream for this input source.
- *
- * <p>The SAX parser will ignore this if there is also a character
- * stream specified, but it will use a byte stream in preference
- * to opening a URI connection itself.</p>
- *
- * <p>If the application knows the character encoding of the
- * byte stream, it should set it with the setEncoding method.</p>
- *
- * @param byteStream A byte stream containing an XML document or
- * other entity.
- * @see #setEncoding
- * @see #getByteStream
- * @see #getEncoding
- * @see java.io.InputStream
- */
- public void setByteStream (InputStream byteStream)
- {
- this.byteStream = byteStream;
- }
-
-
- /**
- * Get the byte stream for this input source.
- *
- * <p>The getEncoding method will return the character
- * encoding for this byte stream, or null if unknown.</p>
- *
- * @return The byte stream, or null if none was supplied.
- * @see #getEncoding
- * @see #setByteStream
- */
- public InputStream getByteStream ()
- {
- return byteStream;
- }
-
-
- /**
- * Set the character encoding, if known.
- *
- * <p>The encoding must be a string acceptable for an
- * XML encoding declaration (see section 4.3.3 of the XML 1.0
- * recommendation).</p>
- *
- * <p>This method has no effect when the application provides a
- * character stream.</p>
- *
- * @param encoding A string describing the character encoding.
- * @see #setSystemId
- * @see #setByteStream
- * @see #getEncoding
- */
- public void setEncoding (String encoding)
- {
- this.encoding = encoding;
- }
-
-
- /**
- * Get the character encoding for a byte stream or URI.
- * This value will be ignored when the application provides a
- * character stream.
- *
- * @return The encoding, or null if none was supplied.
- * @see #setByteStream
- * @see #getSystemId
- * @see #getByteStream
- */
- public String getEncoding ()
- {
- return encoding;
- }
-
-
- /**
- * Set the character stream for this input source.
- *
- * <p>If there is a character stream specified, the SAX parser
- * will ignore any byte stream and will not attempt to open
- * a URI connection to the system identifier.</p>
- *
- * @param characterStream The character stream containing the
- * XML document or other entity.
- * @see #getCharacterStream
- * @see java.io.Reader
- */
- public void setCharacterStream (Reader characterStream)
- {
- this.characterStream = characterStream;
- }
-
-
- /**
- * Get the character stream for this input source.
- *
- * @return The character stream, or null if none was supplied.
- * @see #setCharacterStream
- */
- public Reader getCharacterStream ()
- {
- return characterStream;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private String publicId;
- private String systemId;
- private InputStream byteStream;
- private String encoding;
- private Reader characterStream;
-
-}
-
-// end of InputSource.java
diff --git a/external/jaxp/source/org/xml/sax/Locator.java b/external/jaxp/source/org/xml/sax/Locator.java
deleted file mode 100755
index 4428de22f..000000000
--- a/external/jaxp/source/org/xml/sax/Locator.java
+++ /dev/null
@@ -1,135 +0,0 @@
-// SAX locator interface for document events.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-
-/**
- * Interface for associating a SAX event with a document location.
- *
- * <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>If a SAX parser provides location information to the SAX
- * application, it does so by implementing this interface and then
- * passing an instance to the application using the content
- * handler's {@link org.xml.sax.ContentHandler#setDocumentLocator
- * setDocumentLocator} method. The application can use the
- * object to obtain the location of any other SAX event
- * in the XML source document.</p>
- *
- * <p>Note that the results returned by the object will be valid only
- * during the scope of each callback method: the application
- * will receive unpredictable results if it attempts to use the
- * locator at any other time, or after parsing completes.</p>
- *
- * <p>SAX parsers are not required to supply a locator, but they are
- * very strongly encouraged to do so. If the parser supplies a
- * locator, it must do so before reporting any other document events.
- * If no locator has been set by the time the application receives
- * the {@link org.xml.sax.ContentHandler#startDocument startDocument}
- * event, the application should assume that a locator is not
- * available.</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
-public interface Locator {
-
-
- /**
- * Return the public identifier for the current document event.
- *
- * <p>The return value is the public identifier of the document
- * entity or of the external parsed entity in which the markup
- * triggering the event appears.</p>
- *
- * @return A string containing the public identifier, or
- * null if none is available.
- * @see #getSystemId
- */
- public abstract String getPublicId ();
-
-
- /**
- * Return the system identifier for the current document event.
- *
- * <p>The return value is the system identifier of the document
- * entity or of the external parsed entity in which the markup
- * triggering the event appears.</p>
- *
- * <p>If the system identifier is a URL, the parser must resolve it
- * fully before passing it to the application. For example, a file
- * name must always be provided as a <em>file:...</em> URL, and other
- * kinds of relative URI are also resolved against their bases.</p>
- *
- * @return A string containing the system identifier, or null
- * if none is available.
- * @see #getPublicId
- */
- public abstract String getSystemId ();
-
-
- /**
- * Return the line number where the current document event ends.
- * Lines are delimited by line ends, which are defined in
- * the XML specification.
- *
- * <p><strong>Warning:</strong> The return value from the method
- * is intended only as an approximation for the sake of diagnostics;
- * it is not intended to provide sufficient information
- * to edit the character content of the original XML document.
- * In some cases, these "line" numbers match what would be displayed
- * as columns, and in others they may not match the source text
- * due to internal entity expansion. </p>
- *
- * <p>The return value is an approximation of the line number
- * in the document entity or external parsed entity where the
- * markup triggering the event appears.</p>
- *
- * <p>If possible, the SAX driver should provide the line position
- * of the first character after the text associated with the document
- * event. The first line is line 1.</p>
- *
- * @return The line number, or -1 if none is available.
- * @see #getColumnNumber
- */
- public abstract int getLineNumber ();
-
-
- /**
- * Return the column number where the current document event ends.
- * This is one-based number of Java <code>char</code> values since
- * the last line end.
- *
- * <p><strong>Warning:</strong> The return value from the method
- * is intended only as an approximation for the sake of diagnostics;
- * it is not intended to provide sufficient information
- * to edit the character content of the original XML document.
- * For example, when lines contain combining character sequences, wide
- * characters, surrogate pairs, or bi-directional text, the value may
- * not correspond to the column in a text editor's display. </p>
- *
- * <p>The return value is an approximation of the column number
- * in the document entity or external parsed entity where the
- * markup triggering the event appears.</p>
- *
- * <p>If possible, the SAX driver should provide the line position
- * of the first character after the text associated with the document
- * event. The first column in each line is column 1.</p>
- *
- * @return The column number, or -1 if none is available.
- * @see #getLineNumber
- */
- public abstract int getColumnNumber ();
-
-}
-
-// end of Locator.java
diff --git a/external/jaxp/source/org/xml/sax/Parser.java b/external/jaxp/source/org/xml/sax/Parser.java
deleted file mode 100755
index 2080b6105..000000000
--- a/external/jaxp/source/org/xml/sax/Parser.java
+++ /dev/null
@@ -1,208 +0,0 @@
-// SAX parser interface.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-import java.io.IOException;
-import java.util.Locale;
-
-
-/**
- * Basic interface for SAX (Simple API for XML) parsers.
- *
- * <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 was the main event supplier interface for SAX1; it has
- * been replaced in SAX2 by {@link org.xml.sax.XMLReader XMLReader},
- * which includes Namespace support and sophisticated configurability
- * and extensibility.</p>
- *
- * <p>All SAX1 parsers must implement this basic interface: it allows
- * applications to register handlers for different types of events
- * and to initiate a parse from a URI, or a character stream.</p>
- *
- * <p>All SAX1 parsers must also implement a zero-argument constructor
- * (though other constructors are also allowed).</p>
- *
- * <p>SAX1 parsers are reusable but not re-entrant: the application
- * may reuse a parser object (possibly with a different input source)
- * once the first parse has completed successfully, but it may not
- * invoke the parse() methods recursively within a parse.</p>
- *
- * @deprecated This interface has been replaced by the SAX2
- * {@link org.xml.sax.XMLReader XMLReader}
- * interface, which includes Namespace support.
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.DocumentHandler
- * @see org.xml.sax.ErrorHandler
- * @see org.xml.sax.HandlerBase
- * @see org.xml.sax.InputSource
- */
-public interface Parser
-{
-
- /**
- * Allow an application to request a locale for errors and warnings.
- *
- * <p>SAX parsers are not required to provide localisation for errors
- * and warnings; if they cannot support the requested locale,
- * however, they must throw a SAX exception. Applications may
- * not request a locale change in the middle of a parse.</p>
- *
- * @param locale A Java Locale object.
- * @exception org.xml.sax.SAXException Throws an exception
- * (using the previous or default locale) if the
- * requested locale is not supported.
- * @see org.xml.sax.SAXException
- * @see org.xml.sax.SAXParseException
- */
- public abstract void setLocale (Locale locale)
- throws SAXException;
-
-
- /**
- * Allow an application to register a custom entity resolver.
- *
- * <p>If the application does not register an entity resolver, the
- * SAX parser will resolve system identifiers and open connections
- * to entities itself (this is the default behaviour implemented in
- * HandlerBase).</p>
- *
- * <p>Applications may register a new or different entity resolver
- * in the middle of a parse, and the SAX parser must begin using
- * the new resolver immediately.</p>
- *
- * @param resolver The object for resolving entities.
- * @see EntityResolver
- * @see HandlerBase
- */
- public abstract void setEntityResolver (EntityResolver resolver);
-
-
- /**
- * Allow an application to register a DTD event handler.
- *
- * <p>If the application does not register a DTD handler, all DTD
- * events reported by the SAX parser will be silently
- * ignored (this is the default behaviour implemented by
- * HandlerBase).</p>
- *
- * <p>Applications may register a new or different
- * handler in the middle of a parse, and the SAX parser must
- * begin using the new handler immediately.</p>
- *
- * @param handler The DTD handler.
- * @see DTDHandler
- * @see HandlerBase
- */
- public abstract void setDTDHandler (DTDHandler handler);
-
-
- /**
- * Allow an application to register a document event handler.
- *
- * <p>If the application does not register a document handler, all
- * document events reported by the SAX parser will be silently
- * ignored (this is the default behaviour implemented by
- * HandlerBase).</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The document handler.
- * @see DocumentHandler
- * @see HandlerBase
- */
- public abstract void setDocumentHandler (DocumentHandler handler);
-
-
- /**
- * Allow an application to register an error event handler.
- *
- * <p>If the application does not register an error event handler,
- * all error events reported by the SAX parser will be silently
- * ignored, except for fatalError, which will throw a SAXException
- * (this is the default behaviour implemented by HandlerBase).</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The error handler.
- * @see ErrorHandler
- * @see SAXException
- * @see HandlerBase
- */
- public abstract void setErrorHandler (ErrorHandler handler);
-
-
- /**
- * Parse an XML document.
- *
- * <p>The application can use this method to instruct the SAX parser
- * to begin parsing an XML document from any valid input
- * source (a character stream, a byte stream, or a URI).</p>
- *
- * <p>Applications may not invoke this method while a parse is in
- * progress (they should create a new Parser instead for each
- * additional XML document). Once a parse is complete, an
- * application may reuse the same Parser object, possibly with a
- * different input source.</p>
- *
- * @param source The input source for the top-level of the
- * XML document.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see org.xml.sax.InputSource
- * @see #parse(java.lang.String)
- * @see #setEntityResolver
- * @see #setDTDHandler
- * @see #setDocumentHandler
- * @see #setErrorHandler
- */
- public abstract void parse (InputSource source)
- throws SAXException, IOException;
-
-
- /**
- * Parse an XML document from a system identifier (URI).
- *
- * <p>This method is a shortcut for the common case of reading a
- * document from a system identifier. It is the exact
- * equivalent of the following:</p>
- *
- * <pre>
- * parse(new InputSource(systemId));
- * </pre>
- *
- * <p>If the system identifier is a URL, it must be fully resolved
- * by the application before it is passed to the parser.</p>
- *
- * @param systemId The system identifier (URI).
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see #parse(org.xml.sax.InputSource)
- */
- public abstract void parse (String systemId)
- throws SAXException, IOException;
-
-}
-
-// end of Parser.java
diff --git a/external/jaxp/source/org/xml/sax/SAXException.java b/external/jaxp/source/org/xml/sax/SAXException.java
deleted file mode 100755
index 3e5005c7a..000000000
--- a/external/jaxp/source/org/xml/sax/SAXException.java
+++ /dev/null
@@ -1,152 +0,0 @@
-// SAX exception class.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-/**
- * Encapsulate a general SAX error or warning.
- *
- * <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 can contain basic error or warning information from
- * either the XML parser or the application: a parser writer or
- * application writer can subclass it to provide additional
- * functionality. SAX handlers may throw this exception or
- * any exception subclassed from it.</p>
- *
- * <p>If the application needs to pass through other types of
- * exceptions, it must wrap those exceptions in a SAXException
- * or an exception derived from a SAXException.</p>
- *
- * <p>If the parser or application needs to include information about a
- * specific location in an XML document, it should use the
- * {@link org.xml.sax.SAXParseException SAXParseException} subclass.</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.SAXParseException
- */
-public class SAXException extends Exception {
-
-
- /**
- * Create a new SAXException.
- */
- public SAXException ()
- {
- super();
- this.exception = null;
- }
-
-
- /**
- * Create a new SAXException.
- *
- * @param message The error or warning message.
- */
- public SAXException (String message) {
- super(message);
- this.exception = null;
- }
-
-
- /**
- * Create a new SAXException wrapping an existing exception.
- *
- * <p>The existing exception will be embedded in the new
- * one, and its message will become the default message for
- * the SAXException.</p>
- *
- * @param e The exception to be wrapped in a SAXException.
- */
- public SAXException (Exception e)
- {
- super();
- this.exception = e;
- }
-
-
- /**
- * Create a new SAXException from an existing exception.
- *
- * <p>The existing exception will be embedded in the new
- * one, but the new exception will have its own message.</p>
- *
- * @param message The detail message.
- * @param e The exception to be wrapped in a SAXException.
- */
- public SAXException (String message, Exception e)
- {
- super(message);
- this.exception = e;
- }
-
-
- /**
- * Return a detail message for this exception.
- *
- * <p>If there is an embedded exception, and if the SAXException
- * has no detail message of its own, this method will return
- * the detail message from the embedded exception.</p>
- *
- * @return The error or warning message.
- */
- public String getMessage ()
- {
- String message = super.getMessage();
-
- if (message == null && exception != null) {
- return exception.getMessage();
- } else {
- return message;
- }
- }
-
-
- /**
- * Return the embedded exception, if any.
- *
- * @return The embedded exception, or null if there is none.
- */
- public Exception getException ()
- {
- return exception;
- }
-
-
- /**
- * Override toString to pick up any embedded exception.
- *
- * @return A string representation of this exception.
- */
- public String toString ()
- {
- if (exception != null) {
- return exception.toString();
- } else {
- return super.toString();
- }
- }
-
-
-
- //////////////////////////////////////////////////////////////////////
- // Internal state.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * @serial The embedded exception if tunnelling, or null.
- */
- private Exception exception;
-
-}
-
-// end of SAXException.java
diff --git a/external/jaxp/source/org/xml/sax/SAXNotRecognizedException.java b/external/jaxp/source/org/xml/sax/SAXNotRecognizedException.java
deleted file mode 100755
index 07f62ff60..000000000
--- a/external/jaxp/source/org/xml/sax/SAXNotRecognizedException.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// SAXNotRecognizedException.java - unrecognized feature or value.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax;
-
-
-/**
- * Exception class for an unrecognized identifier.
- *
- * <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>An XMLReader will throw this exception when it finds an
- * unrecognized feature or property identifier; SAX applications and
- * extensions may use this class for other, similar purposes.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.SAXNotSupportedException
- */
-public class SAXNotRecognizedException extends SAXException
-{
-
- /**
- * Default constructor.
- */
- public SAXNotRecognizedException ()
- {
- super();
- }
-
-
- /**
- * Construct a new exception with the given message.
- *
- * @param message The text message of the exception.
- */
- public SAXNotRecognizedException (String message)
- {
- super(message);
- }
-
-}
-
-// end of SAXNotRecognizedException.java
diff --git a/external/jaxp/source/org/xml/sax/SAXNotSupportedException.java b/external/jaxp/source/org/xml/sax/SAXNotSupportedException.java
deleted file mode 100755
index 9eacfa6f3..000000000
--- a/external/jaxp/source/org/xml/sax/SAXNotSupportedException.java
+++ /dev/null
@@ -1,52 +0,0 @@
-// SAXNotSupportedException.java - unsupported feature or value.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax;
-
-/**
- * Exception class for an unsupported operation.
- *
- * <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>An XMLReader will throw this exception when it recognizes a
- * feature or property identifier, but cannot perform the requested
- * operation (setting a state or value). Other SAX2 applications and
- * extensions may use this class for similar purposes.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.SAXNotRecognizedException
- */
-public class SAXNotSupportedException extends SAXException
-{
-
- /**
- * Construct a new exception with no message.
- */
- public SAXNotSupportedException ()
- {
- super();
- }
-
-
- /**
- * Construct a new exception with the given message.
- *
- * @param message The text message of the exception.
- */
- public SAXNotSupportedException (String message)
- {
- super(message);
- }
-
-}
-
-// end of SAXNotSupportedException.java
diff --git a/external/jaxp/source/org/xml/sax/SAXParseException.java b/external/jaxp/source/org/xml/sax/SAXParseException.java
deleted file mode 100755
index eae1f4391..000000000
--- a/external/jaxp/source/org/xml/sax/SAXParseException.java
+++ /dev/null
@@ -1,269 +0,0 @@
-// SAX exception class.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax;
-
-/**
- * Encapsulate an XML parse error or warning.
- *
- * <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 exception may include information for locating the error
- * in the original XML document, as if it came from a {@link Locator}
- * object. Note that although the application
- * will receive a SAXParseException as the argument to the handlers
- * in the {@link org.xml.sax.ErrorHandler ErrorHandler} interface,
- * the application is not actually required to throw the exception;
- * instead, it can simply read the information in it and take a
- * different action.</p>
- *
- * <p>Since this exception is a subclass of {@link org.xml.sax.SAXException
- * SAXException}, it inherits the ability to wrap another exception.</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.SAXException
- * @see org.xml.sax.Locator
- * @see org.xml.sax.ErrorHandler
- */
-public class SAXParseException extends SAXException {
-
-
- //////////////////////////////////////////////////////////////////////
- // Constructors.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * Create a new SAXParseException from a message and a Locator.
- *
- * <p>This constructor is especially useful when an application is
- * creating its own exception from within a {@link org.xml.sax.ContentHandler
- * ContentHandler} callback.</p>
- *
- * @param message The error or warning message.
- * @param locator The locator object for the error or warning (may be
- * null).
- * @see org.xml.sax.Locator
- */
- public SAXParseException (String message, Locator locator) {
- super(message);
- if (locator != null) {
- init(locator.getPublicId(), locator.getSystemId(),
- locator.getLineNumber(), locator.getColumnNumber());
- } else {
- init(null, null, -1, -1);
- }
- }
-
-
- /**
- * Wrap an existing exception in a SAXParseException.
- *
- * <p>This constructor is especially useful when an application is
- * creating its own exception from within a {@link org.xml.sax.ContentHandler
- * ContentHandler} callback, and needs to wrap an existing exception that is not a
- * subclass of {@link org.xml.sax.SAXException SAXException}.</p>
- *
- * @param message The error or warning message, or null to
- * use the message from the embedded exception.
- * @param locator The locator object for the error or warning (may be
- * null).
- * @param e Any exception.
- * @see org.xml.sax.Locator
- */
- public SAXParseException (String message, Locator locator,
- Exception e) {
- super(message, e);
- if (locator != null) {
- init(locator.getPublicId(), locator.getSystemId(),
- locator.getLineNumber(), locator.getColumnNumber());
- } else {
- init(null, null, -1, -1);
- }
- }
-
-
- /**
- * Create a new SAXParseException.
- *
- * <p>This constructor is most useful for parser writers.</p>
- *
- * <p>All parameters except the message are as if
- * they were provided by a {@link Locator}. For example, if the
- * system identifier is a URL (including relative filename), the
- * caller must resolve it fully before creating the exception.</p>
- *
- *
- * @param message The error or warning message.
- * @param publicId The public identifer of the entity that generated
- * the error or warning.
- * @param systemId The system identifer of the entity that generated
- * the error or warning.
- * @param lineNumber The line number of the end of the text that
- * caused the error or warning.
- * @param columnNumber The column number of the end of the text that
- * cause the error or warning.
- */
- public SAXParseException (String message, String publicId, String systemId,
- int lineNumber, int columnNumber)
- {
- super(message);
- init(publicId, systemId, lineNumber, columnNumber);
- }
-
-
- /**
- * Create a new SAXParseException with an embedded exception.
- *
- * <p>This constructor is most useful for parser writers who
- * need to wrap an exception that is not a subclass of
- * {@link org.xml.sax.SAXException SAXException}.</p>
- *
- * <p>All parameters except the message and exception are as if
- * they were provided by a {@link Locator}. For example, if the
- * system identifier is a URL (including relative filename), the
- * caller must resolve it fully before creating the exception.</p>
- *
- * @param message The error or warning message, or null to use
- * the message from the embedded exception.
- * @param publicId The public identifer of the entity that generated
- * the error or warning.
- * @param systemId The system identifer of the entity that generated
- * the error or warning.
- * @param lineNumber The line number of the end of the text that
- * caused the error or warning.
- * @param columnNumber The column number of the end of the text that
- * cause the error or warning.
- * @param e Another exception to embed in this one.
- */
- public SAXParseException (String message, String publicId, String systemId,
- int lineNumber, int columnNumber, Exception e)
- {
- super(message, e);
- init(publicId, systemId, lineNumber, columnNumber);
- }
-
-
- /**
- * Internal initialization method.
- *
- * @param publicId The public identifier of the entity which generated the exception,
- * or null.
- * @param systemId The system identifier of the entity which generated the exception,
- * or null.
- * @param lineNumber The line number of the error, or -1.
- * @param columnNumber The column number of the error, or -1.
- */
- private void init (String publicId, String systemId,
- int lineNumber, int columnNumber)
- {
- this.publicId = publicId;
- this.systemId = systemId;
- this.lineNumber = lineNumber;
- this.columnNumber = columnNumber;
- }
-
-
- /**
- * Get the public identifier of the entity where the exception occurred.
- *
- * @return A string containing the public identifier, or null
- * if none is available.
- * @see org.xml.sax.Locator#getPublicId
- */
- public String getPublicId ()
- {
- return this.publicId;
- }
-
-
- /**
- * Get the system identifier of the entity where the exception occurred.
- *
- * <p>If the system identifier is a URL, it will have been resolved
- * fully.</p>
- *
- * @return A string containing the system identifier, or null
- * if none is available.
- * @see org.xml.sax.Locator#getSystemId
- */
- public String getSystemId ()
- {
- return this.systemId;
- }
-
-
- /**
- * The line number of the end of the text where the exception occurred.
- *
- * <p>The first line is line 1.</p>
- *
- * @return An integer representing the line number, or -1
- * if none is available.
- * @see org.xml.sax.Locator#getLineNumber
- */
- public int getLineNumber ()
- {
- return this.lineNumber;
- }
-
-
- /**
- * The column number of the end of the text where the exception occurred.
- *
- * <p>The first column in a line is position 1.</p>
- *
- * @return An integer representing the column number, or -1
- * if none is available.
- * @see org.xml.sax.Locator#getColumnNumber
- */
- public int getColumnNumber ()
- {
- return this.columnNumber;
- }
-
-
-
- //////////////////////////////////////////////////////////////////////
- // Internal state.
- //////////////////////////////////////////////////////////////////////
-
-
- /**
- * @serial The public identifier, or null.
- * @see #getPublicId
- */
- private String publicId;
-
-
- /**
- * @serial The system identifier, or null.
- * @see #getSystemId
- */
- private String systemId;
-
-
- /**
- * @serial The line number, or -1.
- * @see #getLineNumber
- */
- private int lineNumber;
-
-
- /**
- * @serial The column number, or -1.
- * @see #getColumnNumber
- */
- private int columnNumber;
-
-}
-
-// end of SAXParseException.java
diff --git a/external/jaxp/source/org/xml/sax/XMLFilter.java b/external/jaxp/source/org/xml/sax/XMLFilter.java
deleted file mode 100755
index 3fe733ff4..000000000
--- a/external/jaxp/source/org/xml/sax/XMLFilter.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// XMLFilter.java - filter SAX2 events.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax;
-
-
-/**
- * Interface for an XML filter.
- *
- * <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>An XML filter is like an XML reader, except that it obtains its
- * events from another XML reader rather than a primary source like
- * an XML document or database. Filters can modify a stream of
- * events as they pass on to the final application.</p>
- *
- * <p>The XMLFilterImpl helper class provides a convenient base
- * for creating SAX2 filters, by passing on all {@link org.xml.sax.EntityResolver
- * EntityResolver}, {@link org.xml.sax.DTDHandler DTDHandler},
- * {@link org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ErrorHandler
- * ErrorHandler} events automatically.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.helpers.XMLFilterImpl
- */
-public interface XMLFilter extends XMLReader
-{
-
- /**
- * Set the parent reader.
- *
- * <p>This method allows the application to link the filter to
- * a parent reader (which may be another filter). The argument
- * may not be null.</p>
- *
- * @param parent The parent reader.
- */
- public abstract void setParent (XMLReader parent);
-
-
- /**
- * Get the parent reader.
- *
- * <p>This method allows the application to query the parent
- * reader (which may be another filter). It is generally a
- * bad idea to perform any operations on the parent reader
- * directly: they should all pass through this filter.</p>
- *
- * @return The parent filter, or null if none has been set.
- */
- public abstract XMLReader getParent ();
-
-}
-
-// end of XMLFilter.java
diff --git a/external/jaxp/source/org/xml/sax/XMLReader.java b/external/jaxp/source/org/xml/sax/XMLReader.java
deleted file mode 100755
index 41aae08ec..000000000
--- a/external/jaxp/source/org/xml/sax/XMLReader.java
+++ /dev/null
@@ -1,396 +0,0 @@
-// XMLReader.java - read an XML document.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax;
-
-import java.io.IOException;
-
-
-/**
- * Interface for reading an XML document using callbacks.
- *
- * <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><strong>Note:</strong> despite its name, this interface does
- * <em>not</em> extend the standard Java {@link java.io.Reader Reader}
- * interface, because reading XML is a fundamentally different activity
- * than reading character data.</p>
- *
- * <p>XMLReader is the interface that an XML parser's SAX2 driver must
- * implement. This interface allows an application to set and
- * query features and properties in the parser, to register
- * event handlers for document processing, and to initiate
- * a document parse.</p>
- *
- * <p>All SAX interfaces are assumed to be synchronous: the
- * {@link #parse parse} methods must not return until parsing
- * is complete, and readers must wait for an event-handler callback
- * to return before reporting the next event.</p>
- *
- * <p>This interface replaces the (now deprecated) SAX 1.0 {@link
- * org.xml.sax.Parser Parser} interface. The XMLReader interface
- * contains two important enhancements over the old Parser
- * interface (as well as some minor ones):</p>
- *
- * <ol>
- * <li>it adds a standard way to query and set features and
- * properties; and</li>
- * <li>it adds Namespace support, which is required for many
- * higher-level XML standards.</li>
- * </ol>
- *
- * <p>There are adapters available to convert a SAX1 Parser to
- * a SAX2 XMLReader and vice-versa.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLFilter
- * @see org.xml.sax.helpers.ParserAdapter
- * @see org.xml.sax.helpers.XMLReaderAdapter
- */
-public interface XMLReader
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Configuration.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Look up the value of a feature flag.
- *
- * <p>The feature name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a feature name but
- * temporarily be unable to return its value.
- * Some feature values may be available only in specific
- * contexts, such as before, during, or after a parse.
- * Also, some feature values may not be programmatically accessible.
- * (In the case of an adapter for SAX1 {@link Parser}, there is no
- * implementation-independent way to expose whether the underlying
- * parser is performing validation, expanding external entities,
- * and so forth.) </p>
- *
- * <p>All XMLReaders are required to recognize the
- * http://xml.org/sax/features/namespaces and the
- * http://xml.org/sax/features/namespace-prefixes feature names.</p>
- *
- * <p>Typical usage is something like this:</p>
- *
- * <pre>
- * XMLReader r = new MySAXDriver();
- *
- * // try to activate validation
- * try {
- * r.setFeature("http://xml.org/sax/features/validation", true);
- * } catch (SAXException e) {
- * System.err.println("Cannot activate validation.");
- * }
- *
- * // register event handlers
- * r.setContentHandler(new MyContentHandler());
- * r.setErrorHandler(new MyErrorHandler());
- *
- * // parse the first document
- * try {
- * r.parse("http://www.foo.com/mydoc.xml");
- * } catch (IOException e) {
- * System.err.println("I/O exception reading XML document");
- * } catch (SAXException e) {
- * System.err.println("XML exception reading document.");
- * }
- * </pre>
- *
- * <p>Implementors are free (and encouraged) to invent their own features,
- * using names built on their own URIs.</p>
- *
- * @param name The feature name, which is a fully-qualified URI.
- * @return The current value of the feature (true or false).
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * value can't be assigned or retrieved.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the feature name but
- * cannot determine its value at this time.
- * @see #setFeature
- */
- public boolean getFeature (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
- /**
- * Set the value of a feature flag.
- *
- * <p>The feature name is any fully-qualified URI. It is
- * possible for an XMLReader to expose a feature value but
- * to be unable to change the current value.
- * Some feature values may be immutable or mutable only
- * in specific contexts, such as before, during, or after
- * a parse.</p>
- *
- * <p>All XMLReaders are required to support setting
- * http://xml.org/sax/features/namespaces to true and
- * http://xml.org/sax/features/namespace-prefixes to false.</p>
- *
- * @param name The feature name, which is a fully-qualified URI.
- * @param value The requested value of the feature (true or false).
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * value can't be assigned or retrieved.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the feature name but
- * cannot set the requested value.
- * @see #getFeature
- */
- public void setFeature (String name, boolean value)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
- /**
- * Look up the value of a property.
- *
- * <p>The property name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a property name but
- * temporarily be unable to return its value.
- * Some property values may be available only in specific
- * contexts, such as before, during, or after a parse.</p>
- *
- * <p>XMLReaders are not required to recognize any specific
- * property names, though an initial core set is documented for
- * SAX2.</p>
- *
- * <p>Implementors are free (and encouraged) to invent their own properties,
- * using names built on their own URIs.</p>
- *
- * @param name The property name, which is a fully-qualified URI.
- * @return The current value of the property.
- * @exception org.xml.sax.SAXNotRecognizedException If the property
- * value can't be assigned or retrieved.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the property name but
- * cannot determine its value at this time.
- * @see #setProperty
- */
- public Object getProperty (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
- /**
- * Set the value of a property.
- *
- * <p>The property name is any fully-qualified URI. It is
- * possible for an XMLReader to recognize a property name but
- * to be unable to change the current value.
- * Some property values may be immutable or mutable only
- * in specific contexts, such as before, during, or after
- * a parse.</p>
- *
- * <p>XMLReaders are not required to recognize setting
- * any specific property names, though a core set is defined by
- * SAX2.</p>
- *
- * <p>This method is also the standard mechanism for setting
- * extended handlers.</p>
- *
- * @param name The property name, which is a fully-qualified URI.
- * @param value The requested value for the property.
- * @exception org.xml.sax.SAXNotRecognizedException If the property
- * value can't be assigned or retrieved.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * XMLReader recognizes the property name but
- * cannot set the requested value.
- */
- public void setProperty (String name, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Event handlers.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Allow an application to register an entity resolver.
- *
- * <p>If the application does not register an entity resolver,
- * the XMLReader will perform its own default resolution.</p>
- *
- * <p>Applications may register a new or different resolver in the
- * middle of a parse, and the SAX parser must begin using the new
- * resolver immediately.</p>
- *
- * @param resolver The entity resolver.
- * @see #getEntityResolver
- */
- public void setEntityResolver (EntityResolver resolver);
-
-
- /**
- * Return the current entity resolver.
- *
- * @return The current entity resolver, or null if none
- * has been registered.
- * @see #setEntityResolver
- */
- public EntityResolver getEntityResolver ();
-
-
- /**
- * Allow an application to register a DTD event handler.
- *
- * <p>If the application does not register a DTD handler, all DTD
- * events reported by the SAX parser will be silently ignored.</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The DTD handler.
- * @see #getDTDHandler
- */
- public void setDTDHandler (DTDHandler handler);
-
-
- /**
- * Return the current DTD handler.
- *
- * @return The current DTD handler, or null if none
- * has been registered.
- * @see #setDTDHandler
- */
- public DTDHandler getDTDHandler ();
-
-
- /**
- * Allow an application to register a content event handler.
- *
- * <p>If the application does not register a content handler, all
- * content events reported by the SAX parser will be silently
- * ignored.</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The content handler.
- * @see #getContentHandler
- */
- public void setContentHandler (ContentHandler handler);
-
-
- /**
- * Return the current content handler.
- *
- * @return The current content handler, or null if none
- * has been registered.
- * @see #setContentHandler
- */
- public ContentHandler getContentHandler ();
-
-
- /**
- * Allow an application to register an error event handler.
- *
- * <p>If the application does not register an error handler, all
- * error events reported by the SAX parser will be silently
- * ignored; however, normal processing may not continue. It is
- * highly recommended that all SAX applications implement an
- * error handler to avoid unexpected bugs.</p>
- *
- * <p>Applications may register a new or different handler in the
- * middle of a parse, and the SAX parser must begin using the new
- * handler immediately.</p>
- *
- * @param handler The error handler.
- * @see #getErrorHandler
- */
- public void setErrorHandler (ErrorHandler handler);
-
-
- /**
- * Return the current error handler.
- *
- * @return The current error handler, or null if none
- * has been registered.
- * @see #setErrorHandler
- */
- public ErrorHandler getErrorHandler ();
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Parsing.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Parse an XML document.
- *
- * <p>The application can use this method to instruct the XML
- * reader to begin parsing an XML document from any valid input
- * source (a character stream, a byte stream, or a URI).</p>
- *
- * <p>Applications may not invoke this method while a parse is in
- * progress (they should create a new XMLReader instead for each
- * nested XML document). Once a parse is complete, an
- * application may reuse the same XMLReader object, possibly with a
- * different input source.</p>
- *
- * <p>During the parse, the XMLReader will provide information
- * about the XML document through the registered event
- * handlers.</p>
- *
- * <p>This method is synchronous: it will not return until parsing
- * has ended. If a client application wants to terminate
- * parsing early, it should throw an exception.</p>
- *
- * @param source The input source for the top-level of the
- * XML document.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see org.xml.sax.InputSource
- * @see #parse(java.lang.String)
- * @see #setEntityResolver
- * @see #setDTDHandler
- * @see #setContentHandler
- * @see #setErrorHandler
- */
- public void parse (InputSource input)
- throws IOException, SAXException;
-
-
- /**
- * Parse an XML document from a system identifier (URI).
- *
- * <p>This method is a shortcut for the common case of reading a
- * document from a system identifier. It is the exact
- * equivalent of the following:</p>
- *
- * <pre>
- * parse(new InputSource(systemId));
- * </pre>
- *
- * <p>If the system identifier is a URL, it must be fully resolved
- * by the application before it is passed to the parser.</p>
- *
- * @param systemId The system identifier (URI).
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- * @see #parse(org.xml.sax.InputSource)
- */
- public void parse (String systemId)
- throws IOException, SAXException;
-
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/Attributes2.java b/external/jaxp/source/org/xml/sax/ext/Attributes2.java
deleted file mode 100644
index ea7f1087e..000000000
--- a/external/jaxp/source/org/xml/sax/ext/Attributes2.java
+++ /dev/null
@@ -1,91 +0,0 @@
-// Attributes2.java - extended Attributes
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import org.xml.sax.Attributes;
-
-
-/**
- * SAX2 extension to augment the per-attribute information
- * provided though {@link Attributes}.
- * If an implementation supports this extension, the attributes
- * provided in {@link org.xml.sax.ContentHandler#startElement
- * ContentHandler.startElement() } will implement this interface,
- * and the <em>http://xml.org/sax/features/use-attributes2</em>
- * feature flag will have the value <em>true</em>.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p> XMLReader implementations are not required to support this
- * information, and it is not part of core-only SAX2 distributions.</p>
- *
- * @since SAX 2.0 (extensions 1.1 alpha)
- * @author David Brownell
- * @version TBS
- */
-public interface Attributes2 extends Attributes
-{
-
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.ArrayIndexOutOfBoundsException
- * When the supplied index does not identify an attribute.
- */
- public boolean isDeclared (int index);
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.IllegalArgumentException
- * When the supplied names do not identify an attribute.
- */
- public boolean isDeclared (java.lang.String qName);
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.IllegalArgumentException
- * When the supplied names do not identify an attribute.
- */
- public boolean isDeclared (java.lang.String uri, java.lang.String localName);
-
-
- /**
- * Returns true unless the attribute value was provided
- * by DTD defaulting.
- *
- * @param index The attribute index (zero-based).
- * @return true if the value was found in the XML text,
- * false if the value was provided by DTD defaulting.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not identify an attribute.
- */
- public boolean isSpecified (int index);
-
- /**
- * Returns true unless the attribute value was provided
- * by DTD defaulting.
- *
- * @param uri The Namespace URI, or the empty string if
- * the name has no Namespace URI.
- * @param localName The attribute's local name.
- * @return true if the value was found in the XML text,
- * false if the value was provided by DTD defaulting.
- * @exception java.lang.IllegalArgumentException When the
- * supplied names do not identify an attribute.
- */
- public boolean isSpecified (String uri, String localName);
-
- /**
- * Returns true unless the attribute value was provided
- * by DTD defaulting.
- *
- * @param qName The XML 1.0 qualified name.
- * @return true if the value was found in the XML text,
- * false if the value was provided by DTD defaulting.
- * @exception java.lang.IllegalArgumentException When the
- * supplied name does not identify an attribute.
- */
- public boolean isSpecified (String qName);
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/Attributes2Impl.java b/external/jaxp/source/org/xml/sax/ext/Attributes2Impl.java
deleted file mode 100644
index 6781e1856..000000000
--- a/external/jaxp/source/org/xml/sax/ext/Attributes2Impl.java
+++ /dev/null
@@ -1,279 +0,0 @@
-// Attributes2Impl.java - extended AttributesImpl
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.helpers.AttributesImpl;
-
-
-/**
- * SAX2 extension helper for additional Attributes information,
- * implementing the {@link Attributes2} interface.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>This is not part of core-only SAX2 distributions.</p>
- *
- * <p>The <em>specified</em> flag for each attribute will always
- * be true, unless it has been set to false in the copy constructor
- * or using {@link #setSpecified}. </p>
- *
- * @since SAX 2.0 (extensions 1.1 alpha)
- * @author David Brownell
- * @version TBS
- */
-public class Attributes2Impl extends AttributesImpl implements Attributes2
-{
- private boolean flags [];
-
- private boolean declaredFlags[];
-
- /**
- * Construct a new, empty Attributes2Impl object.
- */
- public Attributes2Impl () { }
-
-
- /**
- * Copy an existing Attributes or Attributes2 object.
- * If the object implements Attributes2, values of the
- * <em>specified</em> flag for each attribute are copied,
- * otherwise the flag values are set to <em>true</em>.
- *
- * <p>This constructor is especially useful inside a
- * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p>
- *
- * @param atts The existing Attributes object.
- */
- public Attributes2Impl (Attributes atts)
- {
- super (atts);
- }
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of Attributes2
- ////////////////////////////////////////////////////////////////////
-
-
-
- /*
- note(1)
- The implementation of the isDeclared methods is wrong. It's only here
- to make the class compile, it's not intended to work yet.
- */
-
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.ArrayIndexOutOfBoundsException
- * When the supplied index does not identify an attribute.
- */
- public boolean isDeclared (int index)
- {
- if (index < 0 || index >= getLength ())
- throw new ArrayIndexOutOfBoundsException ("No attribute at index: " + index);
- return declaredFlags [index];
- }
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.IllegalArgumentException
- * When the supplied names do not identify an attribute.
- */
- public boolean isDeclared (java.lang.String qName)
- {
- int index = getIndex (qName);
- if (index < 0)
- throw new IllegalArgumentException ("No such attribute: " + qName);
- return declaredFlags [index];
- }
-
- /** @return false unless the attribute was declared in the DTD.
- * @throws java.lang.IllegalArgumentException
- * When the supplied names do not identify an attribute.
- */
- public boolean isDeclared (java.lang.String uri, java.lang.String localName)
- {
- int index = getIndex (uri, localName);
- if (index < 0)
- throw new IllegalArgumentException ("No such attribute: local="
- + localName
- + ", namespace=" + uri);
- return declaredFlags [index];
- }
-
-
- /**
- * Returns the current value of an attribute's "specified" flag.
- *
- * @param index The attribute index (zero-based).
- * @return current flag value
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not identify an attribute.
- */
- public boolean isSpecified (int index)
- {
- if (index < 0 || index >= getLength ())
- throw new ArrayIndexOutOfBoundsException (
- "No attribute at index: " + index);
- return flags [index];
- }
-
-
- /**
- * Returns the current value of an attribute's "specified" flag.
- *
- * @param uri The Namespace URI, or the empty string if
- * the name has no Namespace URI.
- * @param localName The attribute's local name.
- * @return current flag value
- * @exception java.lang.IllegalArgumentException When the
- * supplied names do not identify an attribute.
- */
- public boolean isSpecified (String uri, String localName)
- {
- int index = getIndex (uri, localName);
-
- if (index < 0)
- throw new IllegalArgumentException (
- "No such attribute: local=" + localName
- + ", namespace=" + uri);
- return flags [index];
- }
-
-
- /**
- * Returns the current value of an attribute's "specified" flag.
- *
- * @param qName The XML 1.0 qualified name.
- * @return current flag value
- * @exception java.lang.IllegalArgumentException When the
- * supplied name does not identify an attribute.
- */
- public boolean isSpecified (String qName)
- {
- int index = getIndex (qName);
-
- if (index < 0)
- throw new IllegalArgumentException (
- "No such attribute: " + qName);
- return flags [index];
- }
-
-
- ////////////////////////////////////////////////////////////////////
- // Manipulators
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Copy an entire Attributes object. The "specified" flags are
- * assigned as true, unless the object is an Attributes2 object
- * in which case those values are copied.
- *
- * @see AttributesImpl#setAttributes
- */
- public void setAttributes (Attributes atts)
- {
- int length = atts.getLength ();
-
- super.setAttributes (atts);
- flags = new boolean [length];
- declaredFlags = new boolean[length];
-
- if (atts instanceof Attributes2) {
- Attributes2 a2 = (Attributes2) atts;
- for (int i = 0; i < length; i++) {
- flags [i] = a2.isSpecified (i);
- declaredFlags[i] = a2.isDeclared(i);
- }
- } else {
- for (int i = 0; i < length; i++) {
- flags [i] = true;
- declaredFlags[i] = getType(i).equals("CDATA");
- }
- }
-
- }
-
-
- /**
- * Add an attribute to the end of the list, setting its
- * "specified" flag to true. To set that flag's value
- * to false, use {@link #setSpecified}.
- *
- * @see AttributesImpl#addAttribute
- */
- public void addAttribute (String uri, String localName, String qName,
- String type, String value)
- {
- super.addAttribute (uri, localName, qName, type, value);
-
- int length = getLength ();
-
- if (length < flags.length) {
- boolean newFlags [] = new boolean [length];
- System.arraycopy (flags, 0, newFlags, 0, flags.length);
- flags = newFlags;
- boolean newDeclFlags[] = new boolean[length];
- System.arraycopy (declaredFlags, 0, newDeclFlags, 0, declaredFlags.length);
- declaredFlags = newDeclFlags;
- }
-
- flags [length - 1] = true;
- declaredFlags[length - 1] = type.equals("CDATA");
- }
-
-
- // javadoc entirely from superclass
- public void removeAttribute (int index)
- {
- int origMax = getLength () - 1;
-
- super.removeAttribute (index);
- if (index != origMax)
- System.arraycopy (flags, index + 1, flags, index,
- origMax - index);
- }
-
-
-
- /**
- * Assign a value to the "declared" flag of a specific attribute.
- * This is the only way this flag can be cleared, except clearing
- * by initialization with the copy constructor.
- *
- * @param index The index of the attribute (zero-based).
- * @param value The desired flag value.
- * @throws java.lang.ArrayIndexOutOfBoundsException
- * When the supplied index does not identify an attribute.
- */
- public void setDeclared (int index, boolean value)
- {
- if (index < 0 || index >= getLength ())
- throw new ArrayIndexOutOfBoundsException ("No attribute at index: " + index);
- declaredFlags [index] = value;
- }
-
- /**
- * Assign a value to the "specified" flag of a specific attribute.
- * This is the only way this flag can be cleared, except clearing
- * by initialization with the copy constructor.
- *
- * @param index The index of the attribute (zero-based).
- * @param value The desired flag value.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not identify an attribute.
- */
- public void setSpecified (int index, boolean value)
- {
- if (index < 0 || index >= getLength ())
- throw new ArrayIndexOutOfBoundsException (
- "No attribute at index: " + index);
- flags [index] = value;
- }
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/DeclHandler.java b/external/jaxp/source/org/xml/sax/ext/DeclHandler.java
deleted file mode 100755
index 85ac476f7..000000000
--- a/external/jaxp/source/org/xml/sax/ext/DeclHandler.java
+++ /dev/null
@@ -1,142 +0,0 @@
-// DeclHandler.java - Optional handler for DTD declaration events.
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import org.xml.sax.SAXException;
-
-
-/**
- * SAX2 extension handler for DTD declaration events.
- *
- * <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 is an optional extension handler for SAX2 to provide more
- * complete information about DTD declarations in an XML document.
- * XML readers are not required to recognize this handler, and it
- * is not part of core-only SAX2 distributions.</p>
- *
- * <p>Note that data-related DTD declarations (unparsed entities and
- * notations) are already reported through the {@link
- * org.xml.sax.DTDHandler DTDHandler} interface.</p>
- *
- * <p>If you are using the declaration handler together with a lexical
- * handler, all of the events will occur between the
- * {@link org.xml.sax.ext.LexicalHandler#startDTD startDTD} and the
- * {@link org.xml.sax.ext.LexicalHandler#endDTD endDTD} events.</p>
- *
- * <p>To set the DeclHandler for an XML reader, use the
- * {@link org.xml.sax.XMLReader#setProperty setProperty} method
- * with the property name
- * <code>http://xml.org/sax/properties/declaration-handler</code>
- * and an object implementing this interface (or null) as the value.
- * If the reader does not report declaration events, it will throw a
- * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException}
- * when you attempt to register the handler.</p>
- *
- * @since SAX 2.0 (extensions 1.0)
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- */
-public interface DeclHandler
-{
-
- /**
- * Report an element type declaration.
- *
- * <p>The content model will consist of the string "EMPTY", the
- * string "ANY", or a parenthesised group, optionally followed
- * by an occurrence indicator. The model will be normalized so
- * that all parameter entities are fully resolved and all whitespace
- * is removed,and will include the enclosing parentheses. Other
- * normalization (such as removing redundant parentheses or
- * simplifying occurrence indicators) is at the discretion of the
- * parser.</p>
- *
- * @param name The element type name.
- * @param model The content model as a normalized string.
- * @exception SAXException The application may raise an exception.
- */
- public abstract void elementDecl (String name, String model)
- throws SAXException;
-
-
- /**
- * Report an attribute type declaration.
- *
- * <p>Only the effective (first) declaration for an attribute will
- * be reported. The type will be one of the strings "CDATA",
- * "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY",
- * "ENTITIES", a parenthesized token group with
- * the separator "|" and all whitespace removed, or the word
- * "NOTATION" followed by a space followed by a parenthesized
- * token group with all whitespace removed.</p>
- *
- * <p>The value will be the value as reported to applications,
- * appropriately normalized and with entity and character
- * references expanded. </p>
- *
- * @param eName The name of the associated element.
- * @param aName The name of the attribute.
- * @param type A string representing the attribute type.
- * @param mode A string representing the attribute defaulting mode
- * ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if
- * none of these applies.
- * @param value A string representing the attribute's default value,
- * or null if there is none.
- * @exception SAXException The application may raise an exception.
- */
- public abstract void attributeDecl (String eName,
- String aName,
- String type,
- String mode,
- String value)
- throws SAXException;
-
-
- /**
- * Report an internal entity declaration.
- *
- * <p>Only the effective (first) declaration for each entity
- * will be reported. All parameter entities in the value
- * will be expanded, but general entities will not.</p>
- *
- * @param name The name of the entity. If it is a parameter
- * entity, the name will begin with '%'.
- * @param value The replacement text of the entity.
- * @exception SAXException The application may raise an exception.
- * @see #externalEntityDecl
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public abstract void internalEntityDecl (String name, String value)
- throws SAXException;
-
-
- /**
- * Report a parsed external entity declaration.
- *
- * <p>Only the effective (first) declaration for each entity
- * will be reported.</p>
- *
- * @param name The name of the entity. If it is a parameter
- * entity, the name will begin with '%'.
- * @param publicId The declared public identifier of the entity, or
- * null if none was declared.
- * @param systemId The declared system identifier of the entity.
- * @exception SAXException The application may raise an exception.
- * @see #internalEntityDecl
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public abstract void externalEntityDecl (String name, String publicId,
- String systemId)
- throws SAXException;
-
-}
-
-// end of DeclHandler.java
diff --git a/external/jaxp/source/org/xml/sax/ext/DefaultHandler2.java b/external/jaxp/source/org/xml/sax/ext/DefaultHandler2.java
deleted file mode 100644
index b8fc670d3..000000000
--- a/external/jaxp/source/org/xml/sax/ext/DefaultHandler2.java
+++ /dev/null
@@ -1,129 +0,0 @@
-// DefaultHandler2.java - extended DefaultHandler
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import java.io.IOException;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-
-/**
- * This class extends the SAX2 base handler class to support the
- * SAX2 {@link LexicalHandler}, {@link DeclHandler}, and
- * {@link EntityResolver2} extensions. Except for overriding the
- * original SAX1 {@link DefaultHandler#resolveEntity resolveEntity()}
- * method the added handler methods just return. Subclassers may
- * override everything on a method-by-method basis.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p> <em>Note:</em> this class might yet learn that the
- * <em>ContentHandler.setDocumentLocator()</em> call might be passed a
- * {@link Locator2} object, and that the
- * <em>ContentHandler.startElement()</em> call might be passed a
- * {@link Attributes2} object.
- *
- * @since SAX 2.0 (extensions 1.1 alpha)
- * @author David Brownell
- * @version TBS
- */
-public class DefaultHandler2 extends DefaultHandler
- implements LexicalHandler, DeclHandler, EntityResolver2
-{
- /** Constructs a handler which ignores all parsing events. */
- public DefaultHandler2 () { }
-
-
- // SAX2 ext-1.0 LexicalHandler
-
- public void startCDATA ()
- throws SAXException
- {}
-
- public void endCDATA ()
- throws SAXException
- {}
-
- public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {}
-
- public void endDTD ()
- throws SAXException
- {}
-
- public void startEntity (String name)
- throws SAXException
- {}
-
- public void endEntity (String name)
- throws SAXException
- {}
-
- public void comment (char ch [], int start, int length)
- throws SAXException
- { }
-
-
- // SAX2 ext-1.0 DeclHandler
-
- public void attributeDecl (String eName, String aName,
- String type, String mode, String value)
- throws SAXException
- {}
-
- public void elementDecl (String name, String model)
- throws SAXException
- {}
-
- public void externalEntityDecl (String name,
- String publicId, String systemId)
- throws SAXException
- {}
-
- public void internalEntityDecl (String name, String value)
- throws SAXException
- {}
-
- // SAX2 ext-1.1 EntityResolver2
-
- /**
- * Tells the parser that if no external subset has been declared
- * in the document text, none should be used.
- */
- public InputSource getExternalSubset (String name, String baseURI)
- throws SAXException, IOException
- { return null; }
-
- /**
- * Tells the parser to resolve the systemId against the baseURI
- * and read the entity text from that resulting absolute URI.
- * Note that because the older
- * {@link DefaultHandler#resolveEntity DefaultHandler.resolveEntity()},
- * method is overridden to call this one, this method may sometimes
- * be invoked with null <em>name</em> and <em>baseURI</em>, and
- * with the <em>systemId</em> already absolutized.
- */
- public InputSource resolveEntity (String name, String publicId,
- String baseURI, String systemId)
- throws SAXException, IOException
- { return null; }
-
- // SAX1 EntityResolver
-
- /**
- * Invokes
- * {@link EntityResolver2#resolveEntity EntityResolver2.resolveEntity()}
- * with null entity name and base URI.
- * You only need to override that method to use this class.
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException, IOException
- { return resolveEntity (null, publicId, null, systemId); }
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/EntityResolver2.java b/external/jaxp/source/org/xml/sax/ext/EntityResolver2.java
deleted file mode 100644
index f25bd32bc..000000000
--- a/external/jaxp/source/org/xml/sax/ext/EntityResolver2.java
+++ /dev/null
@@ -1,196 +0,0 @@
-// EntityResolver2.java - Extended SAX entity resolver.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax.ext;
-
-import java.io.IOException;
-
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-
-
-/**
- * Extended interface for mapping external entity references to input
- * sources, or providing a missing external subset. The
- * {@link XMLReader#setEntityResolver XMLReader.setEntityResolver()} method
- * is used to provide implementations of this interface to parsers.
- * When a parser uses the methods in this interface, the
- * {@link EntityResolver2#resolveEntity EntityResolver2.resolveEntity()}
- * method (in this interface) is used <em>instead of</em> the older (SAX 1.0)
- * {@link EntityResolver#resolveEntity EntityResolver.resolveEntity()} method.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p>If a SAX application requires the customized handling which this
- * interface defines for external entities, it must ensure that it uses
- * an XMLReader with the
- * <em>http://xml.org/sax/features/use-entity-resolver2</em> feature flag
- * set to <em>true</em> (which is its default value when the feature is
- * recognized). If that flag is unrecognized, or its value is false,
- * or the resolver does not implement this interface, then only the
- * {@link EntityResolver} method will be used.
- * </p>
- *
- * <p>That supports three categories of application that modify entity
- * resolution. <em>Old Style</em> applications won't know about this interface;
- * they will provide an EntityResolver.
- * <em>Transitional Mode</em> provide an EntityResolver2 and automatically
- * get the benefit of its methods in any systems (parsers or other tools)
- * supporting it, due to polymorphism.
- * Both <em>Old Style</em> and <em>Transitional Mode</em> applications will
- * work with any SAX2 parser.
- * <em>New style</em> applications will fail to run except on SAX2 parsers
- * that support this particular feature.
- * They will insist that feature flag have a value of "true", and the
- * EntityResolver2 implementation they provide might throw an exception
- * if the original SAX 1.0 style entity resolution method is invoked.
- * </p>
- *
- * @see org.xml.sax.XMLReader#setEntityResolver
- *
- * @since SAX 2.0 (extensions 1.1 alpha)
- * @author David Brownell
- * @version TBD
- */
-public interface EntityResolver2 extends EntityResolver
-{
- /**
- * Allows applications to provide an external subset for documents
- * that don't explicitly define one. Documents with DOCTYPE declarations
- * that omit an external subset can thus augment the declarations
- * available for validation, entity processing, and attribute processing
- * (normalization, defaulting, and reporting types including ID).
- * This augmentation is reported
- * through the {@link LexicalHandler#startDTD startDTD()} method as if
- * the document text had originally included the external subset;
- * this callback is made before any internal subset data or errors
- * are reported.</p>
- *
- * <p>This method can also be used with documents that have no DOCTYPE
- * declaration. When the root element is encountered,
- * but no DOCTYPE declaration has been seen, this method is
- * invoked. If it returns a value for the external subset, that root
- * element is declared to be the root element, giving the effect of
- * splicing a DOCTYPE declaration at the end the prolog of a document
- * that could not otherwise be valid. The sequence of parser callbacks
- * in that case logically resembles this:</p>
- *
- * <pre>
- * ... comments and PIs from the prolog (as usual)
- * startDTD ("rootName", source.getPublicId (), source.getSystemId ());
- * startEntity ("[dtd]");
- * ... declarations, comments, and PIs from the external subset
- * endEntity ("[dtd]");
- * endDTD ();
- * ... then the rest of the document (as usual)
- * startElement (..., "rootName", ...);
- * </pre>
- *
- * <p>Note that the InputSource gets no further resolution.
- * Implementations of this method may wish to invoke
- * {@link #resolveEntity resolveEntity()} to gain benefits such as use
- * of local caches of DTD entities. Also, this method will never be
- * used by a (non-validating) processor that is not including external
- * parameter entities. </p>
- *
- * <p>Uses for this method include facilitating data validation when
- * interoperating with XML processors that would always require
- * undesirable network accesses for external entities, or which for
- * other reasons adopt a "no DTDs" policy.
- * Non-validation motives include forcing documents to include DTDs so
- * that attributes are handled consistently.
- * For example, an XPath processor needs to know which attibutes have
- * type "ID" before it can process a widely used type of reference.</p>
- *
- * <p><strong>Warning:</strong> Returning an external subset modifies
- * the input document. By providing definitions for general entities,
- * it can make a malformed document appear to be well formed.
- * </p>
- *
- * @param name Identifies the document root element. This name comes
- * from a DOCTYPE declaration (where available) or from the actual
- * root element.
- * @param baseURI The document's base URI, serving as an additional
- * hint for selecting the external subset. This is always an absolute
- * URI, unless it is null because the XMLReader was given an InputSource
- * without one.
- *
- * @return An InputSource object describing the new external subset
- * to be used by the parser, or null to indicate that no external
- * subset is provided.
- *
- * @exception SAXException Any SAX exception, possibly wrapping
- * another exception.
- * @exception IOException Probably indicating a failure to create
- * a new InputStream or Reader, or an illegal URL.
- */
- public InputSource getExternalSubset (String name, String baseURI)
- throws SAXException, IOException;
-
- /**
- * Allows applications to map references to external entities into input
- * sources, or tell the parser it should use conventional URI resolution.
- * This method is only called for external entities which have been
- * properly declared.
- * This method provides more flexibility than the {@link EntityResolver}
- * interface, supporting implementations of more complex catalogue
- * schemes such as the one defined by the <a href=
- "http://www.oasis-open.org/committees/entity/spec-2001-08-06.html"
- >OASIS XML Catalogs</a> specification.</p>
- *
- * <p>Parsers configured to use this resolver method will call it
- * to determine the input source to use for any external entity
- * being included because of a reference in the XML text.
- * That excludes the document entity, and any external entity returned
- * by {@link #getExternalSubset getExternalSubset()}.
- * When a (non-validating) processor is configured not to include
- * a class of entities (parameter or general) through use of feature
- * flags, this method is not invoked for such entities. </p>
- *
- * <p>Note that the entity naming scheme used here is the same one
- * used in the {@link LexicalHandler}, or in the {@link
- org.xml.sax.ContentHandler#skippedEntity
- ContentHandler.skippedEntity()}
- * method. </p>
- *
- * @param name Identifies the external entity being resolved.
- * Either "[dtd]" for the external subset, or a name starting
- * with "%" to indicate a parameter entity, or else the name of
- * a general entity. This is never null when invoked by a SAX2
- * parser.
- * @param publicId The public identifier of the external entity being
- * referenced (normalized as required by the XML specification), or
- * null if none was supplied.
- * @param baseURI The URI with respect to which relative systemIDs
- * are interpreted. This is always an absolute URI, unless it is
- * null (likely because the XMLReader was given an InputSource without
- * one). This URI is defined by the XML specification to be the one
- * associated with the "&lt;" starting the relevant declaration.
- * @param systemId The system identifier of the external entity
- * being referenced; either a relative or absolute URI.
- * This is never null when invoked by a SAX2 parser; only declared
- * entities, and any external subset, are resolved by such parsers.
- *
- * @return An InputSource object describing the new input source to
- * be used by the parser. Returning null directs the parser to
- * resolve the system ID against the base URI and open a connection
- * to resulting URI.
- *
- * @exception SAXException Any SAX exception, possibly wrapping
- * another exception.
- * @exception IOException Probably indicating a failure to create
- * a new InputStream or Reader, or an illegal URL.
- */
- public InputSource resolveEntity (
- String name,
- String publicId,
- String baseURI,
- String systemId
- ) throws SAXException, IOException;
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/LexicalHandler.java b/external/jaxp/source/org/xml/sax/ext/LexicalHandler.java
deleted file mode 100755
index f59062c1a..000000000
--- a/external/jaxp/source/org/xml/sax/ext/LexicalHandler.java
+++ /dev/null
@@ -1,211 +0,0 @@
-// LexicalHandler.java - optional handler for lexical parse events.
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import org.xml.sax.SAXException;
-
-/**
- * SAX2 extension handler for lexical events.
- *
- * <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 is an optional extension handler for SAX2 to provide
- * lexical information about an XML document, such as comments
- * and CDATA section boundaries.
- * XML readers are not required to recognize this handler, and it
- * is not part of core-only SAX2 distributions.</p>
- *
- * <p>The events in the lexical handler apply to the entire document,
- * not just to the document element, and all lexical handler events
- * must appear between the content handler's startDocument and
- * endDocument events.</p>
- *
- * <p>To set the LexicalHandler for an XML reader, use the
- * {@link org.xml.sax.XMLReader#setProperty setProperty} method
- * with the property name
- * <code>http://xml.org/sax/properties/lexical-handler</code>
- * and an object implementing this interface (or null) as the value.
- * If the reader does not report lexical events, it will throw a
- * {@link org.xml.sax.SAXNotRecognizedException SAXNotRecognizedException}
- * when you attempt to register the handler.</p>
- *
- * @since SAX 2.0 (extensions 1.0)
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- */
-public interface LexicalHandler
-{
-
- /**
- * Report the start of DTD declarations, if any.
- *
- * <p>This method is intended to report the beginning of the
- * DOCTYPE declaration; if the document has no DOCTYPE declaration,
- * this method will not be invoked.</p>
- *
- * <p>All declarations reported through
- * {@link org.xml.sax.DTDHandler DTDHandler} or
- * {@link org.xml.sax.ext.DeclHandler DeclHandler} events must appear
- * between the startDTD and {@link #endDTD endDTD} events.
- * Declarations are assumed to belong to the internal DTD subset
- * unless they appear between {@link #startEntity startEntity}
- * and {@link #endEntity endEntity} events. Comments and
- * processing instructions from the DTD should also be reported
- * between the startDTD and endDTD events, in their original
- * order of (logical) occurrence; they are not required to
- * appear in their correct locations relative to DTDHandler
- * or DeclHandler events, however.</p>
- *
- * <p>Note that the start/endDTD events will appear within
- * the start/endDocument events from ContentHandler and
- * before the first
- * {@link org.xml.sax.ContentHandler#startElement startElement}
- * event.</p>
- *
- * @param name The document type name.
- * @param publicId The declared public identifier for the
- * external DTD subset, or null if none was declared.
- * @param systemId The declared system identifier for the
- * external DTD subset, or null if none was declared.
- * (Note that this is not resolved against the document
- * base URI.)
- * @exception SAXException The application may raise an
- * exception.
- * @see #endDTD
- * @see #startEntity
- */
- public abstract void startDTD (String name, String publicId,
- String systemId)
- throws SAXException;
-
-
- /**
- * Report the end of DTD declarations.
- *
- * <p>This method is intended to report the end of the
- * DOCTYPE declaration; if the document has no DOCTYPE declaration,
- * this method will not be invoked.</p>
- *
- * @exception SAXException The application may raise an exception.
- * @see #startDTD
- */
- public abstract void endDTD ()
- throws SAXException;
-
-
- /**
- * Report the beginning of some internal and external XML entities.
- *
- * <p>The reporting of parameter entities (including
- * the external DTD subset) is optional, and SAX2 drivers that
- * report LexicalHandler events may not implement it; you can use the
- * <code
- * >http://xml.org/sax/features/lexical-handler/parameter-entities</code>
- * feature to query or control the reporting of parameter entities.</p>
- *
- * <p>General entities are reported with their regular names,
- * parameter entities have '%' prepended to their names, and
- * the external DTD subset has the pseudo-entity name "[dtd]".</p>
- *
- * <p>When a SAX2 driver is providing these events, all other
- * events must be properly nested within start/end entity
- * events. There is no additional requirement that events from
- * {@link org.xml.sax.ext.DeclHandler DeclHandler} or
- * {@link org.xml.sax.DTDHandler DTDHandler} be properly ordered.</p>
- *
- * <p>Note that skipped entities will be reported through the
- * {@link org.xml.sax.ContentHandler#skippedEntity skippedEntity}
- * event, which is part of the ContentHandler interface.</p>
- *
- * <p>Because of the streaming event model that SAX uses, some
- * entity boundaries cannot be reported under any
- * circumstances:</p>
- *
- * <ul>
- * <li>general entities within attribute values</li>
- * <li>parameter entities within declarations</li>
- * </ul>
- *
- * <p>These will be silently expanded, with no indication of where
- * the original entity boundaries were.</p>
- *
- * <p>Note also that the boundaries of character references (which
- * are not really entities anyway) are not reported.</p>
- *
- * <p>All start/endEntity events must be properly nested.
- *
- * @param name The name of the entity. If it is a parameter
- * entity, the name will begin with '%', and if it is the
- * external DTD subset, it will be "[dtd]".
- * @exception SAXException The application may raise an exception.
- * @see #endEntity
- * @see org.xml.sax.ext.DeclHandler#internalEntityDecl
- * @see org.xml.sax.ext.DeclHandler#externalEntityDecl
- */
- public abstract void startEntity (String name)
- throws SAXException;
-
-
- /**
- * Report the end of an entity.
- *
- * @param name The name of the entity that is ending.
- * @exception SAXException The application may raise an exception.
- * @see #startEntity
- */
- public abstract void endEntity (String name)
- throws SAXException;
-
-
- /**
- * Report the start of a CDATA section.
- *
- * <p>The contents of the CDATA section will be reported through
- * the regular {@link org.xml.sax.ContentHandler#characters
- * characters} event; this event is intended only to report
- * the boundary.</p>
- *
- * @exception SAXException The application may raise an exception.
- * @see #endCDATA
- */
- public abstract void startCDATA ()
- throws SAXException;
-
-
- /**
- * Report the end of a CDATA section.
- *
- * @exception SAXException The application may raise an exception.
- * @see #startCDATA
- */
- public abstract void endCDATA ()
- throws SAXException;
-
-
- /**
- * Report an XML comment anywhere in the document.
- *
- * <p>This callback will be used for comments inside or outside the
- * document element, including comments in the external DTD
- * subset (if read). Comments in the DTD must be properly
- * nested inside start/endDTD and start/endEntity events (if
- * used).</p>
- *
- * @param ch An array holding the characters in the comment.
- * @param start The starting position in the array.
- * @param length The number of characters to use from the array.
- * @exception SAXException The application may raise an exception.
- */
- public abstract void comment (char ch[], int start, int length)
- throws SAXException;
-
-}
-
-// end of LexicalHandler.java
diff --git a/external/jaxp/source/org/xml/sax/ext/Locator2.java b/external/jaxp/source/org/xml/sax/ext/Locator2.java
deleted file mode 100644
index 150a1ba11..000000000
--- a/external/jaxp/source/org/xml/sax/ext/Locator2.java
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locator2.java - extended Locator
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import org.xml.sax.Locator;
-
-
-/**
- * SAX2 extension to augment the entity information provided
- * though a {@link Locator}.
- * If an implementation supports this extension, the Locator
- * provided in {@link org.xml.sax.ContentHandler#setDocumentLocator
- * ContentHandler.setDocumentLocator() } will implement this
- * interface, and the
- * <em>http://xml.org/sax/features/use-locator2</em> feature
- * flag will have the value <em>true</em>.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p> XMLReader implementations are not required to support this
- * information, and it is not part of core-only SAX2 distributions.</p>
- *
- * @since SAX 2.0 (extensions 1.1 alpha)
- * @author David Brownell
- * @version TBS
- */
-public interface Locator2 extends Locator
-{
- /**
- * Returns the version of XML used for the entity. This will
- * normally be the identifier from the current entity's
- * <em>&lt;?xml&nbsp;version='...'&nbsp;...?&gt;</em> declaration,
- * or be defaulted by the parser.
- *
- * <p> At this writing, only one version ("1.0") is defined, but it
- * seems likely that a new version will be defined which has slightly
- * different rules about which characters are legal in XML names.
- *
- * @return Identifier for the XML version being used to interpret
- * the entity's text.
- */
- public String getXMLVersion ();
-
- /**
- * Returns the name of the character encoding for the entity.
- * If the encoding was declared externally (for example, in a MIME
- * Content-Type header), that will be the name returned. Else if there
- * was an <em>&lt;?xml&nbsp;...encoding='...'?&gt;</em> declaration at
- * the start of the document, that encoding name will be returned.
- * Otherwise the encoding will been inferred (normally to be UTF-8, or
- * some UTF-16 variant), and that inferred name will be returned.
- *
- * <p>When an {@link org.xml.sax.InputSource InputSource} is used
- * to provide an entity's character stream, this method returns the
- * encoding provided in that input stream.
- *
- * <p> Note that some recent W3C specifications require that text
- * in some encodings be normalized, using Unicode Normalization
- * Form C, before processing. Such normalization must be performed
- * by applications, and would normally be triggered based on the
- * value returned by this method.
- *
- * <p> Encoding names may be those used by the underlying JVM,
- * and comparisons should be case-insensitive.
- *
- * @return Name of the character encoding being used to interpret
- * the entity's text, or null if this was not provided for a
- * character stream passed through an InputSource.
- */
- public String getEncoding ();
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/Locator2Impl.java b/external/jaxp/source/org/xml/sax/ext/Locator2Impl.java
deleted file mode 100644
index c77dfe605..000000000
--- a/external/jaxp/source/org/xml/sax/ext/Locator2Impl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-// Locator2Impl.java - extended LocatorImpl
-// http://www.saxproject.org
-// Public Domain: no warranty.
-
-package org.xml.sax.ext;
-
-import org.xml.sax.Locator;
-import org.xml.sax.helpers.LocatorImpl;
-
-
-/**
- * SAX2 extension helper for holding additional Entity information,
- * implementing the {@link Locator2} interface.
- *
- * <blockquote>
- * <em>This module, both source code and documentation, is in the
- * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
- * </blockquote>
- *
- * <p> This is not part of core-only SAX2 distributions.</p>
- *
- * @since SAX 2.0 (extensions 1.1 alpha)
- * @author David Brownell
- * @version TBS
- */
-public class Locator2Impl extends LocatorImpl implements Locator2
-{
- private String encoding;
- private String version;
-
-
- /**
- * Construct a new, empty Locator2Impl object.
- * This will not normally be useful, since the main purpose
- * of this class is to make a snapshot of an existing Locator.
- */
- public Locator2Impl () { }
-
- /**
- * Copy an existing Locator or Locator2 object.
- * If the object implements Locator2, values of the
- * <em>encoding</em> and <em>version</em>strings are copied,
- * otherwise they set to <em>null</em>.
- *
- * @param locator The existing Locator object.
- */
- public Locator2Impl (Locator locator)
- {
- super (locator);
- if (locator instanceof Locator2) {
- Locator2 l2 = (Locator2) locator;
-
- version = l2.getXMLVersion ();
- encoding = l2.getEncoding ();
- }
- }
-
- ////////////////////////////////////////////////////////////////////
- // Locator2 method implementations
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Returns the current value of the version property.
- *
- * @see #setXMLVersion
- */
- public String getXMLVersion ()
- { return version; }
-
- /**
- * Returns the current value of the encoding property.
- *
- * @see #setEncoding
- */
- public String getEncoding ()
- { return encoding; }
-
-
- ////////////////////////////////////////////////////////////////////
- // Setters
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Assigns the current value of the version property.
- *
- * @param version the new "version" value
- * @see #getXMLVersion
- */
- public void setXMLVersion (String version)
- { this.version = version; }
-
- /**
- * Assigns the current value of the encoding property.
- *
- * @param version the new "encoding" value
- * @see #getEncoding
- */
- public void setEncoding (String encoding)
- { this.encoding = encoding; }
-}
diff --git a/external/jaxp/source/org/xml/sax/ext/package.html b/external/jaxp/source/org/xml/sax/ext/package.html
deleted file mode 100755
index 6f5db3e3b..000000000
--- a/external/jaxp/source/org/xml/sax/ext/package.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<HTML><HEAD>
-<!-- $Id: package.html,v 1.2 2004-05-01 16:18:52 mark Exp $ -->
-</HEAD><BODY>
-
-<p>
-This package contains interfaces to SAX2 facilities that
-conformant SAX drivers won't necessarily support.
-
-<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
-for more information about SAX.</p>
-
-<p> This package is independent of the SAX2 core, though the functionality
-exposed generally needs to be implemented within a parser core.
-That independence has several consequences:</p>
-
-<ul>
-
-<li>SAX2 drivers are <em>not</em> required to recognize these handlers.
-</li>
-
-<li>You cannot assume that the class files will be present in every SAX2
-installation.</li>
-
-<li>This package may be updated independently of SAX2 (i.e. new
-handlers and classes may be added without updating SAX2 itself).</li>
-
-<li>The new handlers are not implemented by the SAX2
-<code>org.xml.sax.helpers.DefaultHandler</code> or
-<code>org.xml.sax.helpers.XMLFilterImpl</code> classes.
-You can subclass these if you need such behavior, or
-use the helper classes found here.</li>
-
-<li>The handlers need to be registered differently than core SAX2
-handlers.</li>
-
-</ul>
-
-<p>This package, SAX2-ext, is a standardized extension to SAX2. It is
-designed both to allow SAX parsers to pass certain types of information
-to applications, and to serve as a simple model for other SAX2 parser
-extension packages. Not all such extension packages should need to
-be recognized directly by parsers, however.
-As an example, most validation systems can be cleanly layered on top
-of parsers supporting the standardized SAX2 interfaces. </p>
-
-</BODY></HTML>
diff --git a/external/jaxp/source/org/xml/sax/helpers/AttributeListImpl.java b/external/jaxp/source/org/xml/sax/helpers/AttributeListImpl.java
deleted file mode 100755
index a8009e8a2..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/AttributeListImpl.java
+++ /dev/null
@@ -1,311 +0,0 @@
-// SAX default implementation for AttributeList.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.AttributeList;
-
-import java.util.Vector;
-
-
-/**
- * Default implementation for AttributeList.
- *
- * <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>AttributeList implements the deprecated SAX1 {@link
- * org.xml.sax.AttributeList AttributeList} interface, and has been
- * replaced by the new SAX2 {@link org.xml.sax.helpers.AttributesImpl
- * AttributesImpl} interface.</p>
- *
- * <p>This class provides a convenience implementation of the SAX
- * {@link org.xml.sax.AttributeList AttributeList} interface. This
- * implementation is useful both for SAX parser writers, who can use
- * it to provide attributes to the application, and for SAX application
- * writers, who can use it to create a persistent copy of an element's
- * attribute specifications:</p>
- *
- * <pre>
- * private AttributeList myatts;
- *
- * public void startElement (String name, AttributeList atts)
- * {
- * // create a persistent copy of the attribute list
- * // for use outside this method
- * myatts = new AttributeListImpl(atts);
- * [...]
- * }
- * </pre>
- *
- * <p>Please note that SAX parsers are not required to use this
- * class to provide an implementation of AttributeList; it is
- * supplied only as an optional convenience. In particular,
- * parser writers are encouraged to invent more efficient
- * implementations.</p>
- *
- * @deprecated This class implements a deprecated interface,
- * {@link org.xml.sax.AttributeList AttributeList};
- * that interface has been replaced by
- * {@link org.xml.sax.Attributes Attributes},
- * which is implemented in the
- * {@link org.xml.sax.helpers.AttributesImpl
- * AttributesImpl} helper class.
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.AttributeList
- * @see org.xml.sax.DocumentHandler#startElement
- */
-public class AttributeListImpl implements AttributeList
-{
-
- /**
- * Create an empty attribute list.
- *
- * <p>This constructor is most useful for parser writers, who
- * will use it to create a single, reusable attribute list that
- * can be reset with the clear method between elements.</p>
- *
- * @see #addAttribute
- * @see #clear
- */
- public AttributeListImpl ()
- {
- }
-
-
- /**
- * Construct a persistent copy of an existing attribute list.
- *
- * <p>This constructor is most useful for application writers,
- * who will use it to create a persistent copy of an existing
- * attribute list.</p>
- *
- * @param atts The attribute list to copy
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public AttributeListImpl (AttributeList atts)
- {
- setAttributeList(atts);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Methods specific to this class.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the attribute list, discarding previous contents.
- *
- * <p>This method allows an application writer to reuse an
- * attribute list easily.</p>
- *
- * @param atts The attribute list to copy.
- */
- public void setAttributeList (AttributeList atts)
- {
- int count = atts.getLength();
-
- clear();
-
- for (int i = 0; i < count; i++) {
- addAttribute(atts.getName(i), atts.getType(i), atts.getValue(i));
- }
- }
-
-
- /**
- * Add an attribute to an attribute list.
- *
- * <p>This method is provided for SAX parser writers, to allow them
- * to build up an attribute list incrementally before delivering
- * it to the application.</p>
- *
- * @param name The attribute name.
- * @param type The attribute type ("NMTOKEN" for an enumeration).
- * @param value The attribute value (must not be null).
- * @see #removeAttribute
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public void addAttribute (String name, String type, String value)
- {
- names.addElement(name);
- types.addElement(type);
- values.addElement(value);
- }
-
-
- /**
- * Remove an attribute from the list.
- *
- * <p>SAX application writers can use this method to filter an
- * attribute out of an AttributeList. Note that invoking this
- * method will change the length of the attribute list and
- * some of the attribute's indices.</p>
- *
- * <p>If the requested attribute is not in the list, this is
- * a no-op.</p>
- *
- * @param name The attribute name.
- * @see #addAttribute
- */
- public void removeAttribute (String name)
- {
- int i = names.indexOf(name);
-
- if (i >= 0) {
- names.removeElementAt(i);
- types.removeElementAt(i);
- values.removeElementAt(i);
- }
- }
-
-
- /**
- * Clear the attribute list.
- *
- * <p>SAX parser writers can use this method to reset the attribute
- * list between DocumentHandler.startElement events. Normally,
- * it will make sense to reuse the same AttributeListImpl object
- * rather than allocating a new one each time.</p>
- *
- * @see org.xml.sax.DocumentHandler#startElement
- */
- public void clear ()
- {
- names.removeAllElements();
- types.removeAllElements();
- values.removeAllElements();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.AttributeList
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in the list.
- *
- * @return The number of attributes in the list.
- * @see org.xml.sax.AttributeList#getLength
- */
- public int getLength ()
- {
- return names.size();
- }
-
-
- /**
- * Get the name of an attribute (by position).
- *
- * @param i The position of the attribute in the list.
- * @return The attribute name as a string, or null if there
- * is no attribute at that position.
- * @see org.xml.sax.AttributeList#getName(int)
- */
- public String getName (int i)
- {
- if (i < 0) {
- return null;
- }
- try {
- return (String)names.elementAt(i);
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
-
- /**
- * Get the type of an attribute (by position).
- *
- * @param i The position of the attribute in the list.
- * @return The attribute type as a string ("NMTOKEN" for an
- * enumeration, and "CDATA" if no declaration was
- * read), or null if there is no attribute at
- * that position.
- * @see org.xml.sax.AttributeList#getType(int)
- */
- public String getType (int i)
- {
- if (i < 0) {
- return null;
- }
- try {
- return (String)types.elementAt(i);
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
-
- /**
- * Get the value of an attribute (by position).
- *
- * @param i The position of the attribute in the list.
- * @return The attribute value as a string, or null if
- * there is no attribute at that position.
- * @see org.xml.sax.AttributeList#getValue(int)
- */
- public String getValue (int i)
- {
- if (i < 0) {
- return null;
- }
- try {
- return (String)values.elementAt(i);
- } catch (ArrayIndexOutOfBoundsException e) {
- return null;
- }
- }
-
-
- /**
- * Get the type of an attribute (by name).
- *
- * @param name The attribute name.
- * @return The attribute type as a string ("NMTOKEN" for an
- * enumeration, and "CDATA" if no declaration was
- * read).
- * @see org.xml.sax.AttributeList#getType(java.lang.String)
- */
- public String getType (String name)
- {
- return getType(names.indexOf(name));
- }
-
-
- /**
- * Get the value of an attribute (by name).
- *
- * @param name The attribute name.
- * @see org.xml.sax.AttributeList#getValue(java.lang.String)
- */
- public String getValue (String name)
- {
- return getValue(names.indexOf(name));
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- Vector names = new Vector();
- Vector types = new Vector();
- Vector values = new Vector();
-
-}
-
-// end of AttributeListImpl.java
diff --git a/external/jaxp/source/org/xml/sax/helpers/AttributesImpl.java b/external/jaxp/source/org/xml/sax/helpers/AttributesImpl.java
deleted file mode 100755
index 0a6099e93..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/AttributesImpl.java
+++ /dev/null
@@ -1,617 +0,0 @@
-// AttributesImpl.java - default implementation of Attributes.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the public domain.
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.Attributes;
-
-
-/**
- * Default implementation of the Attributes interface.
- *
- * <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 provides a default implementation of the SAX2
- * {@link org.xml.sax.Attributes Attributes} interface, with the
- * addition of manipulators so that the list can be modified or
- * reused.</p>
- *
- * <p>There are two typical uses of this class:</p>
- *
- * <ol>
- * <li>to take a persistent snapshot of an Attributes object
- * in a {@link org.xml.sax.ContentHandler#startElement startElement} event; or</li>
- * <li>to construct or modify an Attributes object in a SAX2 driver or filter.</li>
- * </ol>
- *
- * <p>This class replaces the now-deprecated SAX1 {@link
- * org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
- * class; in addition to supporting the updated Attributes
- * interface rather than the deprecated {@link org.xml.sax.AttributeList
- * AttributeList} interface, it also includes a much more efficient
- * implementation using a single array rather than a set of Vectors.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- */
-public class AttributesImpl implements Attributes
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructors.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Construct a new, empty AttributesImpl object.
- */
- public AttributesImpl ()
- {
- length = 0;
- data = null;
- }
-
-
- /**
- * Copy an existing Attributes object.
- *
- * <p>This constructor is especially useful inside a
- * {@link org.xml.sax.ContentHandler#startElement startElement} event.</p>
- *
- * @param atts The existing Attributes object.
- */
- public AttributesImpl (Attributes atts)
- {
- setAttributes(atts);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.Attributes.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the number of attributes in the list.
- *
- * @return The number of attributes in the list.
- * @see org.xml.sax.Attributes#getLength
- */
- public int getLength ()
- {
- return length;
- }
-
-
- /**
- * Return an attribute's Namespace URI.
- *
- * @param index The attribute's index (zero-based).
- * @return The Namespace URI, the empty string if none is
- * available, or null if the index is out of range.
- * @see org.xml.sax.Attributes#getURI
- */
- public String getURI (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's local name.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's local name, the empty string if
- * none is available, or null if the index if out of range.
- * @see org.xml.sax.Attributes#getLocalName
- */
- public String getLocalName (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+1];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's qualified (prefixed) name.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's qualified name, the empty string if
- * none is available, or null if the index is out of bounds.
- * @see org.xml.sax.Attributes#getQName
- */
- public String getQName (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+2];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's type by index.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's type, "CDATA" if the type is unknown, or null
- * if the index is out of bounds.
- * @see org.xml.sax.Attributes#getType(int)
- */
- public String getType (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+3];
- } else {
- return null;
- }
- }
-
-
- /**
- * Return an attribute's value by index.
- *
- * @param index The attribute's index (zero-based).
- * @return The attribute's value or null if the index is out of bounds.
- * @see org.xml.sax.Attributes#getValue(int)
- */
- public String getValue (int index)
- {
- if (index >= 0 && index < length) {
- return data[index*5+4];
- } else {
- return null;
- }
- }
-
-
- /**
- * Look up an attribute's index by Namespace name.
- *
- * <p>In many cases, it will be more efficient to look up the name once and
- * use the index query methods rather than using the name query methods
- * repeatedly.</p>
- *
- * @param uri The attribute's Namespace URI, or the empty
- * string if none is available.
- * @param localName The attribute's local name.
- * @return The attribute's index, or -1 if none matches.
- * @see org.xml.sax.Attributes#getIndex(java.lang.String,java.lang.String)
- */
- public int getIndex (String uri, String localName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i].equals(uri) && data[i+1].equals(localName)) {
- return i / 5;
- }
- }
- return -1;
- }
-
-
- /**
- * Look up an attribute's index by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's index, or -1 if none matches.
- * @see org.xml.sax.Attributes#getIndex(java.lang.String)
- */
- public int getIndex (String qName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i+2].equals(qName)) {
- return i / 5;
- }
- }
- return -1;
- }
-
-
- /**
- * Look up an attribute's type by Namespace-qualified name.
- *
- * @param uri The Namespace URI, or the empty string for a name
- * with no explicit Namespace URI.
- * @param localName The local name.
- * @return The attribute's type, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getType(java.lang.String,java.lang.String)
- */
- public String getType (String uri, String localName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i].equals(uri) && data[i+1].equals(localName)) {
- return data[i+3];
- }
- }
- return null;
- }
-
-
- /**
- * Look up an attribute's type by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's type, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getType(java.lang.String)
- */
- public String getType (String qName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i+2].equals(qName)) {
- return data[i+3];
- }
- }
- return null;
- }
-
-
- /**
- * Look up an attribute's value by Namespace-qualified name.
- *
- * @param uri The Namespace URI, or the empty string for a name
- * with no explicit Namespace URI.
- * @param localName The local name.
- * @return The attribute's value, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getValue(java.lang.String,java.lang.String)
- */
- public String getValue (String uri, String localName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i].equals(uri) && data[i+1].equals(localName)) {
- return data[i+4];
- }
- }
- return null;
- }
-
-
- /**
- * Look up an attribute's value by qualified (prefixed) name.
- *
- * @param qName The qualified name.
- * @return The attribute's value, or null if there is no
- * matching attribute.
- * @see org.xml.sax.Attributes#getValue(java.lang.String)
- */
- public String getValue (String qName)
- {
- int max = length * 5;
- for (int i = 0; i < max; i += 5) {
- if (data[i+2].equals(qName)) {
- return data[i+4];
- }
- }
- return null;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Manipulators.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Clear the attribute list for reuse.
- *
- * <p>Note that little memory is freed by this call:
- * the current array is kept so it can be
- * reused.</p>
- */
- public void clear ()
- {
- if (data != null) {
- for (int i = 0; i < (length * 5); i++)
- data [i] = null;
- }
- length = 0;
- }
-
-
- /**
- * Copy an entire Attributes object.
- *
- * <p>It may be more efficient to reuse an existing object
- * rather than constantly allocating new ones.</p>
- *
- * @param atts The attributes to copy.
- */
- public void setAttributes (Attributes atts)
- {
- clear();
- length = atts.getLength();
- if (length > 0) {
- data = new String[length*5];
- for (int i = 0; i < length; i++) {
- data[i*5] = atts.getURI(i);
- data[i*5+1] = atts.getLocalName(i);
- data[i*5+2] = atts.getQName(i);
- data[i*5+3] = atts.getType(i);
- data[i*5+4] = atts.getValue(i);
- }
- }
- }
-
-
- /**
- * Add an attribute to the end of the list.
- *
- * <p>For the sake of speed, this method does no checking
- * to see if the attribute is already in the list: that is
- * the responsibility of the application.</p>
- *
- * @param uri The Namespace URI, or the empty string if
- * none is available or Namespace processing is not
- * being performed.
- * @param localName The local name, or the empty string if
- * Namespace processing is not being performed.
- * @param qName The qualified (prefixed) name, or the empty string
- * if qualified names are not available.
- * @param type The attribute type as a string.
- * @param value The attribute value.
- */
- public void addAttribute (String uri, String localName, String qName,
- String type, String value)
- {
- ensureCapacity(length+1);
- data[length*5] = uri;
- data[length*5+1] = localName;
- data[length*5+2] = qName;
- data[length*5+3] = type;
- data[length*5+4] = value;
- length++;
- }
-
-
- /**
- * Set an attribute in the list.
- *
- * <p>For the sake of speed, this method does no checking
- * for name conflicts or well-formedness: such checks are the
- * responsibility of the application.</p>
- *
- * @param index The index of the attribute (zero-based).
- * @param uri The Namespace URI, or the empty string if
- * none is available or Namespace processing is not
- * being performed.
- * @param localName The local name, or the empty string if
- * Namespace processing is not being performed.
- * @param qName The qualified name, or the empty string
- * if qualified names are not available.
- * @param type The attribute type as a string.
- * @param value The attribute value.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setAttribute (int index, String uri, String localName,
- String qName, String type, String value)
- {
- if (index >= 0 && index < length) {
- data[index*5] = uri;
- data[index*5+1] = localName;
- data[index*5+2] = qName;
- data[index*5+3] = type;
- data[index*5+4] = value;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Remove an attribute from the list.
- *
- * @param index The index of the attribute (zero-based).
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void removeAttribute (int index)
- {
- if (index >= 0 && index < length) {
- if (index < length - 1) {
- System.arraycopy(data, (index+1)*5, data, index*5,
- (length-index-1)*5);
- }
- index = (length - 1) * 5;
- data [index++] = null;
- data [index++] = null;
- data [index++] = null;
- data [index++] = null;
- data [index] = null;
- length--;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the Namespace URI of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param uri The attribute's Namespace URI, or the empty
- * string for none.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setURI (int index, String uri)
- {
- if (index >= 0 && index < length) {
- data[index*5] = uri;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the local name of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param localName The attribute's local name, or the empty
- * string for none.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setLocalName (int index, String localName)
- {
- if (index >= 0 && index < length) {
- data[index*5+1] = localName;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the qualified name of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param qName The attribute's qualified name, or the empty
- * string for none.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setQName (int index, String qName)
- {
- if (index >= 0 && index < length) {
- data[index*5+2] = qName;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the type of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param type The attribute's type.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setType (int index, String type)
- {
- if (index >= 0 && index < length) {
- data[index*5+3] = type;
- } else {
- badIndex(index);
- }
- }
-
-
- /**
- * Set the value of a specific attribute.
- *
- * @param index The index of the attribute (zero-based).
- * @param value The attribute's value.
- * @exception java.lang.ArrayIndexOutOfBoundsException When the
- * supplied index does not point to an attribute
- * in the list.
- */
- public void setValue (int index, String value)
- {
- if (index >= 0 && index < length) {
- data[index*5+4] = value;
- } else {
- badIndex(index);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Ensure the internal array's capacity.
- *
- * @param n The minimum number of attributes that the array must
- * be able to hold.
- */
- private void ensureCapacity (int n) {
- if (n <= 0) {
- return;
- }
- int max;
- if (data == null || data.length == 0) {
- max = 25;
- }
- else if (data.length >= n * 5) {
- return;
- }
- else {
- max = data.length;
- }
- while (max < n * 5) {
- max *= 2;
- }
-
- String newData[] = new String[max];
- if (length > 0) {
- System.arraycopy(data, 0, newData, 0, length*5);
- }
- data = newData;
- }
-
-
- /**
- * Report a bad array index in a manipulator.
- *
- * @param index The index to report.
- * @exception java.lang.ArrayIndexOutOfBoundsException Always.
- */
- private void badIndex (int index)
- throws ArrayIndexOutOfBoundsException
- {
- String msg =
- "Attempt to modify attribute at illegal index: " + index;
- throw new ArrayIndexOutOfBoundsException(msg);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- int length;
- String data [];
-
-}
-
-// end of AttributesImpl.java
-
diff --git a/external/jaxp/source/org/xml/sax/helpers/DefaultHandler.java b/external/jaxp/source/org/xml/sax/helpers/DefaultHandler.java
deleted file mode 100755
index 343774dec..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/DefaultHandler.java
+++ /dev/null
@@ -1,466 +0,0 @@
-// DefaultHandler.java - default implementation of the core handlers.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the public domain.
-
-package org.xml.sax.helpers;
-
-import java.io.IOException;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-
-/**
- * Default base class for SAX2 event handlers.
- *
- * <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 is available as a convenience base class for SAX2
- * applications: it provides default implementations for all of the
- * callbacks in the four core SAX2 handler classes:</p>
- *
- * <ul>
- * <li>{@link org.xml.sax.EntityResolver EntityResolver}</li>
- * <li>{@link org.xml.sax.DTDHandler DTDHandler}</li>
- * <li>{@link org.xml.sax.ContentHandler ContentHandler}</li>
- * <li>{@link org.xml.sax.ErrorHandler ErrorHandler}</li>
- * </ul>
- *
- * <p>Application writers can extend this class when they need to
- * implement only part of an interface; parser writers can
- * instantiate this class to provide default handlers when the
- * application has not supplied its own.</p>
- *
- * <p>This class replaces the deprecated SAX1
- * {@link org.xml.sax.HandlerBase HandlerBase} class.</p>
- *
- * @since SAX 2.0
- * @author David Megginson,
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.ContentHandler
- * @see org.xml.sax.ErrorHandler
- */
-public class DefaultHandler
- implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the EntityResolver interface.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Resolve an external entity.
- *
- * <p>Always return null, so that the parser will use the system
- * identifier provided in the XML document. This method implements
- * the SAX default behaviour: application writers can override it
- * in a subclass to do special translations such as catalog lookups
- * or URI redirection.</p>
- *
- * @param publicId The public identifer, or null if none is
- * available.
- * @param systemId The system identifier provided in the XML
- * document.
- * @return The new input source, or null to require the
- * default behaviour.
- * @exception java.io.IOException If there is an error setting
- * up the new input source.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.EntityResolver#resolveEntity
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws IOException, SAXException
- {
- return null;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of DTDHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a notation declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to keep track of the notations
- * declared in a document.</p>
- *
- * @param name The notation name.
- * @param publicId The notation public identifier, or null if not
- * available.
- * @param systemId The notation system identifier.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DTDHandler#notationDecl
- */
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of an unparsed entity declaration.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to keep track of the unparsed entities
- * declared in a document.</p>
- *
- * @param name The entity name.
- * @param publicId The entity public identifier, or null if not
- * available.
- * @param systemId The entity system identifier.
- * @param notationName The name of the associated notation.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.DTDHandler#unparsedEntityDecl
- */
- public void unparsedEntityDecl (String name, String publicId,
- String systemId, String notationName)
- throws SAXException
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of ContentHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive a Locator object for document events.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to store the locator for use
- * with other document events.</p>
- *
- * @param locator A locator for all SAX document events.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- * @see org.xml.sax.Locator
- */
- public void setDocumentLocator (Locator locator)
- {
- // no op
- }
-
-
- /**
- * Receive notification of the beginning of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the beginning
- * of a document (such as allocating the root node of a tree or
- * creating an output file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of the document.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end
- * of a document (such as finalising a tree or closing an output
- * file).</p>
- *
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the start of a Namespace mapping.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the start of
- * each Namespace prefix scope (such as storing the prefix mapping).</p>
- *
- * @param prefix The Namespace prefix being declared.
- * @param uri The Namespace URI mapped to the prefix.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#startPrefixMapping
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of a Namespace mapping.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end of
- * each prefix mapping.</p>
- *
- * @param prefix The Namespace prefix being declared.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#endPrefixMapping
- */
- public void endPrefixMapping (String prefix)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the start of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the start of
- * each element (such as allocating a new tree node or writing
- * output to a file).</p>
- *
- * @param uri The Namespace URI, or the empty string if the
- * element has no Namespace URI or if Namespace
- * processing is not being performed.
- * @param localName The local name (without prefix), or the
- * empty string if Namespace processing is not being
- * performed.
- * @param qName The qualified name (with prefix), or the
- * empty string if qualified names are not available.
- * @param atts The attributes attached to the element. If
- * there are no attributes, it shall be an empty
- * Attributes object.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#startElement
- */
- public void startElement (String uri, String localName,
- String qName, Attributes attributes)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of the end of an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions at the end of
- * each element (such as finalising a tree node or writing
- * output to a file).</p>
- *
- * @param uri The Namespace URI, or the empty string if the
- * element has no Namespace URI or if Namespace
- * processing is not being performed.
- * @param localName The local name (without prefix), or the
- * empty string if Namespace processing is not being
- * performed.
- * @param qName The qualified name (with prefix), or the
- * empty string if qualified names are not available.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#endElement
- */
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of character data inside an element.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of character data
- * (such as adding the data to a node or buffer, or printing it to
- * a file).</p>
- *
- * @param ch The characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of ignorable whitespace in element content.
- *
- * <p>By default, do nothing. Application writers may override this
- * method to take specific actions for each chunk of ignorable
- * whitespace (such as adding data to a node or buffer, or printing
- * it to a file).</p>
- *
- * @param ch The whitespace characters.
- * @param start The start position in the character array.
- * @param length The number of characters to use from the
- * character array.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a processing instruction.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions for each
- * processing instruction, such as setting status variables or
- * invoking other methods.</p>
- *
- * @param target The processing instruction target.
- * @param data The processing instruction data, or null if
- * none is supplied.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a skipped entity.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass to take specific actions for each
- * processing instruction, such as setting status variables or
- * invoking other methods.</p>
- *
- * @param name The name of the skipped entity.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- // no op
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Default implementation of the ErrorHandler interface.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Receive notification of a parser warning.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each warning, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void warning (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Receive notification of a recoverable parser error.
- *
- * <p>The default implementation does nothing. Application writers
- * may override this method in a subclass to take specific actions
- * for each error, such as inserting the message in a log file or
- * printing it to the console.</p>
- *
- * @param e The warning information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#warning
- * @see org.xml.sax.SAXParseException
- */
- public void error (SAXParseException e)
- throws SAXException
- {
- // no op
- }
-
-
- /**
- * Report a fatal XML parsing error.
- *
- * <p>The default implementation throws a SAXParseException.
- * Application writers may override this method in a subclass if
- * they need to take specific actions for each fatal error (such as
- * collecting all of the errors into a single report): in any case,
- * the application must stop all regular processing when this
- * method is invoked, since the document is no longer reliable, and
- * the parser may no longer report parsing events.</p>
- *
- * @param e The error information encoded as an exception.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @see org.xml.sax.ErrorHandler#fatalError
- * @see org.xml.sax.SAXParseException
- */
- public void fatalError (SAXParseException e)
- throws SAXException
- {
- throw e;
- }
-
-}
-
-// end of DefaultHandler.java
diff --git a/external/jaxp/source/org/xml/sax/helpers/LocatorImpl.java b/external/jaxp/source/org/xml/sax/helpers/LocatorImpl.java
deleted file mode 100755
index a5b633c49..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/LocatorImpl.java
+++ /dev/null
@@ -1,213 +0,0 @@
-// SAX default implementation for Locator.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax.helpers;
-
-import org.xml.sax.Locator;
-
-
-/**
- * Provide an optional convenience implementation of Locator.
- *
- * <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 is available mainly for application writers, who
- * can use it to make a persistent snapshot of a locator at any
- * point during a document parse:</p>
- *
- * <pre>
- * Locator locator;
- * Locator startloc;
- *
- * public void setLocator (Locator locator)
- * {
- * // note the locator
- * this.locator = locator;
- * }
- *
- * public void startDocument ()
- * {
- * // save the location of the start of the document
- * // for future use.
- * Locator startloc = new LocatorImpl(locator);
- * }
- *</pre>
- *
- * <p>Normally, parser writers will not use this class, since it
- * is more efficient to provide location information only when
- * requested, rather than constantly updating a Locator object.</p>
- *
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.Locator Locator
- */
-public class LocatorImpl implements Locator
-{
-
-
- /**
- * Zero-argument constructor.
- *
- * <p>This will not normally be useful, since the main purpose
- * of this class is to make a snapshot of an existing Locator.</p>
- */
- public LocatorImpl ()
- {
- }
-
-
- /**
- * Copy constructor.
- *
- * <p>Create a persistent copy of the current state of a locator.
- * When the original locator changes, this copy will still keep
- * the original values (and it can be used outside the scope of
- * DocumentHandler methods).</p>
- *
- * @param locator The locator to copy.
- */
- public LocatorImpl (Locator locator)
- {
- setPublicId(locator.getPublicId());
- setSystemId(locator.getSystemId());
- setLineNumber(locator.getLineNumber());
- setColumnNumber(locator.getColumnNumber());
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.Locator
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Return the saved public identifier.
- *
- * @return The public identifier as a string, or null if none
- * is available.
- * @see org.xml.sax.Locator#getPublicId
- * @see #setPublicId
- */
- public String getPublicId ()
- {
- return publicId;
- }
-
-
- /**
- * Return the saved system identifier.
- *
- * @return The system identifier as a string, or null if none
- * is available.
- * @see org.xml.sax.Locator#getSystemId
- * @see #setSystemId
- */
- public String getSystemId ()
- {
- return systemId;
- }
-
-
- /**
- * Return the saved line number (1-based).
- *
- * @return The line number as an integer, or -1 if none is available.
- * @see org.xml.sax.Locator#getLineNumber
- * @see #setLineNumber
- */
- public int getLineNumber ()
- {
- return lineNumber;
- }
-
-
- /**
- * Return the saved column number (1-based).
- *
- * @return The column number as an integer, or -1 if none is available.
- * @see org.xml.sax.Locator#getColumnNumber
- * @see #setColumnNumber
- */
- public int getColumnNumber ()
- {
- return columnNumber;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Setters for the properties (not in org.xml.sax.Locator)
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the public identifier for this locator.
- *
- * @param publicId The new public identifier, or null
- * if none is available.
- * @see #getPublicId
- */
- public void setPublicId (String publicId)
- {
- this.publicId = publicId;
- }
-
-
- /**
- * Set the system identifier for this locator.
- *
- * @param systemId The new system identifier, or null
- * if none is available.
- * @see #getSystemId
- */
- public void setSystemId (String systemId)
- {
- this.systemId = systemId;
- }
-
-
- /**
- * Set the line number for this locator (1-based).
- *
- * @param lineNumber The line number, or -1 if none is available.
- * @see #getLineNumber
- */
- public void setLineNumber (int lineNumber)
- {
- this.lineNumber = lineNumber;
- }
-
-
- /**
- * Set the column number for this locator (1-based).
- *
- * @param columnNumber The column number, or -1 if none is available.
- * @see #getColumnNumber
- */
- public void setColumnNumber (int columnNumber)
- {
- this.columnNumber = columnNumber;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private String publicId;
- private String systemId;
- private int lineNumber;
- private int columnNumber;
-
-}
-
-// end of LocatorImpl.java
diff --git a/external/jaxp/source/org/xml/sax/helpers/NamespaceSupport.java b/external/jaxp/source/org/xml/sax/helpers/NamespaceSupport.java
deleted file mode 100755
index dae8e5cc7..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/NamespaceSupport.java
+++ /dev/null
@@ -1,768 +0,0 @@
-// NamespaceSupport.java - generic Namespace support for SAX.
-// http://www.saxproject.org
-// Written by David Megginson
-// This class is in the Public Domain. NO WARRANTY!
-
-package org.xml.sax.helpers;
-
-import java.util.EmptyStackException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Vector;
-
-
-/**
- * Encapsulate Namespace logic for use by applications using SAX,
- * or internally by SAX drivers.
- *
- * <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 encapsulates the logic of Namespace processing:
- * it tracks the declarations currently in force for each context
- * and automatically processes qualified XML 1.0 names into their
- * Namespace parts; it can also be used in reverse for generating
- * XML 1.0 from Namespaces.</p>
- *
- * <p>Namespace support objects are reusable, but the reset method
- * must be invoked between each session.</p>
- *
- * <p>Here is a simple session:</p>
- *
- * <pre>
- * String parts[] = new String[3];
- * NamespaceSupport support = new NamespaceSupport();
- *
- * support.pushContext();
- * support.declarePrefix("", "http://www.w3.org/1999/xhtml");
- * support.declarePrefix("dc", "http://www.purl.org/dc#");
- *
- * parts = support.processName("p", parts, false);
- * System.out.println("Namespace URI: " + parts[0]);
- * System.out.println("Local name: " + parts[1]);
- * System.out.println("Raw name: " + parts[2]);
- *
- * parts = support.processName("dc:title", parts, false);
- * System.out.println("Namespace URI: " + parts[0]);
- * System.out.println("Local name: " + parts[1]);
- * System.out.println("Raw name: " + parts[2]);
- *
- * support.popContext();
- * </pre>
- *
- * <p>Note that this class is optimized for the use case where most
- * elements do not contain Namespace declarations: if the same
- * prefix/URI mapping is repeated for each context (for example), this
- * class will be somewhat less efficient.</p>
- *
- * <p>Although SAX drivers (parsers) may choose to use this class to
- * implement namespace handling, they are not required to do so.
- * Applications must track namespace information themselves if they
- * want to use namespace information.
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- */
-public class NamespaceSupport
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constants.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * The XML Namespace URI as a constant.
- * The value is <code>http://www.w3.org/XML/1998/namespace</code>
- * as defined in the XML Namespaces specification.
- *
- * <p>This is the Namespace URI that is automatically mapped
- * to the "xml" prefix.</p>
- */
- public final static String XMLNS =
- "http://www.w3.org/XML/1998/namespace";
-
-
- /**
- * An empty enumeration.
- */
- private final static Enumeration EMPTY_ENUMERATION =
- new Vector().elements();
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructor.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Create a new Namespace support object.
- */
- public NamespaceSupport ()
- {
- reset();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Context management.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Reset this Namespace support object for reuse.
- *
- * <p>It is necessary to invoke this method before reusing the
- * Namespace support object for a new session.</p>
- */
- public void reset ()
- {
- contexts = new Context[32];
- contextPos = 0;
- contexts[contextPos] = currentContext = new Context();
- currentContext.declarePrefix("xml", XMLNS);
- }
-
-
- /**
- * Start a new Namespace context.
- * The new context will automatically inherit
- * the declarations of its parent context, but it will also keep
- * track of which declarations were made within this context.
- *
- * <p>Event callback code should start a new context once per element.
- * This means being ready to call this in either of two places.
- * For elements that don't include namespace declarations, the
- * <em>ContentHandler.startElement()</em> callback is the right place.
- * For elements with such a declaration, it'd done in the first
- * <em>ContentHandler.startPrefixMapping()</em> callback.
- * A boolean flag can be used to
- * track whether a context has been started yet. When either of
- * those methods is called, it checks the flag to see if a new context
- * needs to be started. If so, it starts the context and sets the
- * flag. After <em>ContentHandler.startElement()</em>
- * does that, it always clears the flag.
- *
- * <p>Normally, SAX drivers would push a new context at the beginning
- * of each XML element. Then they perform a first pass over the
- * attributes to process all namespace declarations, making
- * <em>ContentHandler.startPrefixMapping()</em> callbacks.
- * Then a second pass is made, to determine the namespace-qualified
- * names for all attributes and for the element name.
- * Finally all the information for the
- * <em>ContentHandler.startElement()</em> callback is available,
- * so it can then be made.
- *
- * <p>The Namespace support object always starts with a base context
- * already in force: in this context, only the "xml" prefix is
- * declared.</p>
- *
- * @see org.xml.sax.ContentHandler
- * @see #popContext
- */
- public void pushContext ()
- {
- int max = contexts.length;
-
- contexts [contextPos].declsOK = false;
- contextPos++;
-
- // Extend the array if necessary
- if (contextPos >= max) {
- Context newContexts[] = new Context[max*2];
- System.arraycopy(contexts, 0, newContexts, 0, max);
- max *= 2;
- contexts = newContexts;
- }
-
- // Allocate the context if necessary.
- currentContext = contexts[contextPos];
- if (currentContext == null) {
- contexts[contextPos] = currentContext = new Context();
- }
-
- // Set the parent, if any.
- if (contextPos > 0) {
- currentContext.setParent(contexts[contextPos - 1]);
- }
- }
-
-
- /**
- * Revert to the previous Namespace context.
- *
- * <p>Normally, you should pop the context at the end of each
- * XML element. After popping the context, all Namespace prefix
- * mappings that were previously in force are restored.</p>
- *
- * <p>You must not attempt to declare additional Namespace
- * prefixes after popping a context, unless you push another
- * context first.</p>
- *
- * @see #pushContext
- */
- public void popContext ()
- {
- contexts[contextPos].clear();
- contextPos--;
- if (contextPos < 0) {
- throw new EmptyStackException();
- }
- currentContext = contexts[contextPos];
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Operations within a context.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Declare a Namespace prefix. All prefixes must be declared
- * before they are referenced. For example, a SAX driver (parser)
- * would scan an element's attributes
- * in two passes: first for namespace declarations,
- * then a second pass using {@link #processName processName()} to
- * interpret prefixes against (potentially redefined) prefixes.
- *
- * <p>This method declares a prefix in the current Namespace
- * context; the prefix will remain in force until this context
- * is popped, unless it is shadowed in a descendant context.</p>
- *
- * <p>To declare the default element Namespace, use the empty string as
- * the prefix.</p>
- *
- * <p>Note that you must <em>not</em> declare a prefix after
- * you've pushed and popped another Namespace context, or
- * treated the declarations phase as complete by processing
- * a prefixed name.</p>
- *
- * <p>Note that there is an asymmetry in this library: {@link
- * #getPrefix getPrefix} will not return the "" prefix,
- * even if you have declared a default element namespace.
- * To check for a default namespace,
- * you have to look it up explicitly using {@link #getURI getURI}.
- * This asymmetry exists to make it easier to look up prefixes
- * for attribute names, where the default prefix is not allowed.</p>
- *
- * @param prefix The prefix to declare, or the empty string to
- * indicate the default element namespace. This may never have
- * the value "xml" or "xmlns".
- * @param uri The Namespace URI to associate with the prefix.
- * @return true if the prefix was legal, false otherwise
- * @exception IllegalStateException when a prefix is declared
- * after looking up a name in the context, or after pushing
- * another context on top of it.
- *
- * @see #processName
- * @see #getURI
- * @see #getPrefix
- */
- public boolean declarePrefix (String prefix, String uri)
- {
- if (prefix.equals("xml") || prefix.equals("xmlns")) {
- return false;
- } else {
- currentContext.declarePrefix(prefix, uri);
- return true;
- }
- }
-
-
- /**
- * Process a raw XML 1.0 name, after all declarations in the current
- * context have been handled by {@link #declarePrefix declarePrefix()}.
- *
- * <p>This method processes a raw XML 1.0 name in the current
- * context by removing the prefix and looking it up among the
- * prefixes currently declared. The return value will be the
- * array supplied by the caller, filled in as follows:</p>
- *
- * <dl>
- * <dt>parts[0]</dt>
- * <dd>The Namespace URI, or an empty string if none is
- * in use.</dd>
- * <dt>parts[1]</dt>
- * <dd>The local name (without prefix).</dd>
- * <dt>parts[2]</dt>
- * <dd>The original raw name.</dd>
- * </dl>
- *
- * <p>All of the strings in the array will be internalized. If
- * the raw name has a prefix that has not been declared, then
- * the return value will be null.</p>
- *
- * <p>Note that attribute names are processed differently than
- * element names: an unprefixed element name will received the
- * default Namespace (if any), while an unprefixed attribute name
- * will not.</p>
- *
- * @param qName The raw XML 1.0 name to be processed.
- * @param parts An array supplied by the caller, capable of
- * holding at least three members.
- * @param isAttribute A flag indicating whether this is an
- * attribute name (true) or an element name (false).
- * @return The supplied array holding three internalized strings
- * representing the Namespace URI (or empty string), the
- * local name, and the raw XML 1.0 name; or null if there
- * is an undeclared prefix.
- * @see #declarePrefix
- * @see java.lang.String#intern */
- public String [] processName (String qName, String parts[],
- boolean isAttribute)
- {
- String myParts[] = currentContext.processName(qName, isAttribute);
- if (myParts == null) {
- return null;
- } else {
- parts[0] = myParts[0];
- parts[1] = myParts[1];
- parts[2] = myParts[2];
- return parts;
- }
- }
-
-
- /**
- * Look up a prefix and get the currently-mapped Namespace URI.
- *
- * <p>This method looks up the prefix in the current context.
- * Use the empty string ("") for the default Namespace.</p>
- *
- * @param prefix The prefix to look up.
- * @return The associated Namespace URI, or null if the prefix
- * is undeclared in this context.
- * @see #getPrefix
- * @see #getPrefixes
- */
- public String getURI (String prefix)
- {
- return currentContext.getURI(prefix);
- }
-
-
- /**
- * Return an enumeration of all prefixes currently declared.
- *
- * <p><strong>Note:</strong> if there is a default prefix, it will not be
- * returned in this enumeration; check for the default prefix
- * using the {@link #getURI getURI} with an argument of "".</p>
- *
- * @return An enumeration of all prefixes declared in the
- * current context except for the empty (default)
- * prefix.
- * @see #getDeclaredPrefixes
- * @see #getURI
- */
- public Enumeration getPrefixes ()
- {
- return currentContext.getPrefixes();
- }
-
-
- /**
- * Return one of the prefixes mapped to a Namespace URI.
- *
- * <p>If more than one prefix is currently mapped to the same
- * URI, this method will make an arbitrary selection; if you
- * want all of the prefixes, use the {@link #getPrefixes}
- * method instead.</p>
- *
- * <p><strong>Note:</strong> this will never return the empty (default) prefix;
- * to check for a default prefix, use the {@link #getURI getURI}
- * method with an argument of "".</p>
- *
- * @param uri The Namespace URI.
- * @param isAttribute true if this prefix is for an attribute
- * (and the default Namespace is not allowed).
- * @return One of the prefixes currently mapped to the URI supplied,
- * or null if none is mapped or if the URI is assigned to
- * the default Namespace.
- * @see #getPrefixes(java.lang.String)
- * @see #getURI
- */
- public String getPrefix (String uri)
- {
- return currentContext.getPrefix(uri);
- }
-
-
- /**
- * Return an enumeration of all prefixes currently declared for a URI.
- *
- * <p>This method returns prefixes mapped to a specific Namespace
- * URI. The xml: prefix will be included. If you want only one
- * prefix that's mapped to the Namespace URI, and you don't care
- * which one you get, use the {@link #getPrefix getPrefix}
- * method instead.</p>
- *
- * <p><strong>Note:</strong> the empty (default) prefix is <em>never</em> included
- * in this enumeration; to check for the presence of a default
- * Namespace, use the {@link #getURI getURI} method with an
- * argument of "".</p>
- *
- * @param uri The Namespace URI.
- * @return An enumeration of all prefixes declared in the
- * current context.
- * @see #getPrefix
- * @see #getDeclaredPrefixes
- * @see #getURI
- */
- public Enumeration getPrefixes (String uri)
- {
- Vector prefixes = new Vector();
- Enumeration allPrefixes = getPrefixes();
- while (allPrefixes.hasMoreElements()) {
- String prefix = (String)allPrefixes.nextElement();
- if (uri.equals(getURI(prefix))) {
- prefixes.addElement(prefix);
- }
- }
- return prefixes.elements();
- }
-
-
- /**
- * Return an enumeration of all prefixes declared in this context.
- *
- * <p>The empty (default) prefix will be included in this
- * enumeration; note that this behaviour differs from that of
- * {@link #getPrefix} and {@link #getPrefixes}.</p>
- *
- * @return An enumeration of all prefixes declared in this
- * context.
- * @see #getPrefixes
- * @see #getURI
- */
- public Enumeration getDeclaredPrefixes ()
- {
- return currentContext.getDeclaredPrefixes();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private Context contexts[];
- private Context currentContext;
- private int contextPos;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal classes.
- ////////////////////////////////////////////////////////////////////
-
- /**
- * Internal class for a single Namespace context.
- *
- * <p>This module caches and reuses Namespace contexts,
- * so the number allocated
- * will be equal to the element depth of the document, not to the total
- * number of elements (i.e. 5-10 rather than tens of thousands).
- * Also, data structures used to represent contexts are shared when
- * possible (child contexts without declarations) to further reduce
- * the amount of memory that's consumed.
- * </p>
- */
- final class Context {
-
- /**
- * Create the root-level Namespace context.
- */
- Context ()
- {
- copyTables();
- }
-
-
- /**
- * (Re)set the parent of this Namespace context.
- * The context must either have been freshly constructed,
- * or must have been cleared.
- *
- * @param context The parent Namespace context object.
- */
- void setParent (Context parent)
- {
- this.parent = parent;
- declarations = null;
- prefixTable = parent.prefixTable;
- uriTable = parent.uriTable;
- elementNameTable = parent.elementNameTable;
- attributeNameTable = parent.attributeNameTable;
- defaultNS = parent.defaultNS;
- declSeen = false;
- declsOK = true;
- }
-
- /**
- * Makes associated state become collectible,
- * invalidating this context.
- * {@link #setParent} must be called before
- * this context may be used again.
- */
- void clear ()
- {
- parent = null;
- prefixTable = null;
- uriTable = null;
- elementNameTable = null;
- attributeNameTable = null;
- defaultNS = null;
- }
-
-
- /**
- * Declare a Namespace prefix for this context.
- *
- * @param prefix The prefix to declare.
- * @param uri The associated Namespace URI.
- * @see org.xml.sax.helpers.NamespaceSupport#declarePrefix
- */
- void declarePrefix (String prefix, String uri)
- {
- // Lazy processing...
- if (!declsOK)
- throw new IllegalStateException (
- "can't declare any more prefixes in this context");
- if (!declSeen) {
- copyTables();
- }
- if (declarations == null) {
- declarations = new Vector();
- }
-
- prefix = prefix.intern();
- uri = uri.intern();
- if ("".equals(prefix)) {
- if ("".equals(uri)) {
- defaultNS = null;
- } else {
- defaultNS = uri;
- }
- } else {
- prefixTable.put(prefix, uri);
- uriTable.put(uri, prefix); // may wipe out another prefix
- }
- declarations.addElement(prefix);
- }
-
-
- /**
- * Process a raw XML 1.0 name in this context.
- *
- * @param qName The raw XML 1.0 name.
- * @param isAttribute true if this is an attribute name.
- * @return An array of three strings containing the
- * URI part (or empty string), the local part,
- * and the raw name, all internalized, or null
- * if there is an undeclared prefix.
- * @see org.xml.sax.helpers.NamespaceSupport#processName
- */
- String [] processName (String qName, boolean isAttribute)
- {
- String name[];
- Hashtable table;
-
- // detect errors in call sequence
- declsOK = false;
-
- // Select the appropriate table.
- if (isAttribute) {
- table = attributeNameTable;
- } else {
- table = elementNameTable;
- }
-
- // Start by looking in the cache, and
- // return immediately if the name
- // is already known in this content
- name = (String[])table.get(qName);
- if (name != null) {
- return name;
- }
-
- // We haven't seen this name in this
- // context before. Maybe in the parent
- // context, but we can't assume prefix
- // bindings are the same.
- name = new String[3];
- name[2] = qName.intern();
- int index = qName.indexOf(':');
-
-
- // No prefix.
- if (index == -1) {
- if (isAttribute || defaultNS == null) {
- name[0] = "";
- } else {
- name[0] = defaultNS;
- }
- name[1] = name[2];
- }
-
- // Prefix
- else {
- String prefix = qName.substring(0, index);
- String local = qName.substring(index+1);
- String uri;
- if ("".equals(prefix)) {
- uri = defaultNS;
- } else {
- uri = (String)prefixTable.get(prefix);
- }
- if (uri == null) {
- return null;
- }
- name[0] = uri;
- name[1] = local.intern();
- }
-
- // Save in the cache for future use.
- // (Could be shared with parent context...)
- table.put(name[2], name);
- return name;
- }
-
-
- /**
- * Look up the URI associated with a prefix in this context.
- *
- * @param prefix The prefix to look up.
- * @return The associated Namespace URI, or null if none is
- * declared.
- * @see org.xml.sax.helpers.NamespaceSupport#getURI
- */
- String getURI (String prefix)
- {
- if ("".equals(prefix)) {
- return defaultNS;
- } else if (prefixTable == null) {
- return null;
- } else {
- return (String)prefixTable.get(prefix);
- }
- }
-
-
- /**
- * Look up one of the prefixes associated with a URI in this context.
- *
- * <p>Since many prefixes may be mapped to the same URI,
- * the return value may be unreliable.</p>
- *
- * @param uri The URI to look up.
- * @return The associated prefix, or null if none is declared.
- * @see org.xml.sax.helpers.NamespaceSupport#getPrefix
- */
- String getPrefix (String uri)
- {
- if (uriTable == null) {
- return null;
- } else {
- return (String)uriTable.get(uri);
- }
- }
-
-
- /**
- * Return an enumeration of prefixes declared in this context.
- *
- * @return An enumeration of prefixes (possibly empty).
- * @see org.xml.sax.helpers.NamespaceSupport#getDeclaredPrefixes
- */
- Enumeration getDeclaredPrefixes ()
- {
- if (declarations == null) {
- return EMPTY_ENUMERATION;
- } else {
- return declarations.elements();
- }
- }
-
-
- /**
- * Return an enumeration of all prefixes currently in force.
- *
- * <p>The default prefix, if in force, is <em>not</em>
- * returned, and will have to be checked for separately.</p>
- *
- * @return An enumeration of prefixes (never empty).
- * @see org.xml.sax.helpers.NamespaceSupport#getPrefixes
- */
- Enumeration getPrefixes ()
- {
- if (prefixTable == null) {
- return EMPTY_ENUMERATION;
- } else {
- return prefixTable.keys();
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////
- // Internal methods.
- ////////////////////////////////////////////////////////////////
-
-
- /**
- * Copy on write for the internal tables in this context.
- *
- * <p>This class is optimized for the normal case where most
- * elements do not contain Namespace declarations.</p>
- */
- private void copyTables ()
- {
- if (prefixTable != null) {
- prefixTable = (Hashtable)prefixTable.clone();
- } else {
- prefixTable = new Hashtable();
- }
- if (uriTable != null) {
- uriTable = (Hashtable)uriTable.clone();
- } else {
- uriTable = new Hashtable();
- }
- elementNameTable = new Hashtable();
- attributeNameTable = new Hashtable();
- declSeen = true;
- }
-
-
-
- ////////////////////////////////////////////////////////////////
- // Protected state.
- ////////////////////////////////////////////////////////////////
-
- Hashtable prefixTable;
- Hashtable uriTable;
- Hashtable elementNameTable;
- Hashtable attributeNameTable;
- String defaultNS = null;
- boolean declsOK = true;
-
-
-
- ////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////
-
- private Vector declarations = null;
- private boolean declSeen = false;
- private Context parent = null;
- }
-}
-
-// end of NamespaceSupport.java
diff --git a/external/jaxp/source/org/xml/sax/helpers/NewInstance.java b/external/jaxp/source/org/xml/sax/helpers/NewInstance.java
deleted file mode 100644
index cfd9a4724..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/NewInstance.java
+++ /dev/null
@@ -1,78 +0,0 @@
-// NewInstance.java - create a new instance of a class by name.
-// http://www.saxproject.org
-// Written by Edwin Goei, edwingo@apache.org
-// and by David Brownell, dbrownell@users.sourceforge.net
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax.helpers;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * Create a new instance of a class by name.
- *
- * <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 contains a static method for creating an instance of a
- * class from an explicit class name. It tries to use the thread's context
- * ClassLoader if possible and falls back to using
- * Class.forName(String).</p>
- *
- * <p>This code is designed to compile and run on JDK version 1.1 and later
- * including versions of Java 2.</p>
- *
- * @author Edwin Goei, David Brownell
- * @version 2.0.1 (sax2r2)
- */
-class NewInstance {
-
- /**
- * Creates a new instance of the specified class name
- *
- * Package private so this code is not exposed at the API level.
- */
- static Object newInstance (ClassLoader classLoader, String className)
- throws ClassNotFoundException, IllegalAccessException,
- InstantiationException
- {
- Class driverClass;
- if (classLoader == null) {
- driverClass = Class.forName(className);
- } else {
- driverClass = classLoader.loadClass(className);
- }
- return driverClass.newInstance();
- }
-
- /**
- * Figure out which ClassLoader to use. For JDK 1.2 and later use
- * the context ClassLoader.
- */
- static ClassLoader getClassLoader ()
- {
- Method m = null;
-
- try {
- m = Thread.class.getMethod("getContextClassLoader", null);
- } catch (NoSuchMethodException e) {
- // Assume that we are running JDK 1.1, use the current ClassLoader
- return NewInstance.class.getClassLoader();
- }
-
- try {
- return (ClassLoader) m.invoke(Thread.currentThread(), null);
- } catch (IllegalAccessException e) {
- // assert(false)
- throw new UnknownError(e.getMessage());
- } catch (InvocationTargetException e) {
- // assert(e.getTargetException() instanceof SecurityException)
- throw new UnknownError(e.getMessage());
- }
- }
-}
diff --git a/external/jaxp/source/org/xml/sax/helpers/ParserAdapter.java b/external/jaxp/source/org/xml/sax/helpers/ParserAdapter.java
deleted file mode 100755
index 1dfef61c7..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/ParserAdapter.java
+++ /dev/null
@@ -1,1024 +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.
-
-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
diff --git a/external/jaxp/source/org/xml/sax/helpers/ParserFactory.java b/external/jaxp/source/org/xml/sax/helpers/ParserFactory.java
deleted file mode 100755
index c3a64eafe..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/ParserFactory.java
+++ /dev/null
@@ -1,128 +0,0 @@
-// SAX parser factory.
-// http://www.saxproject.org
-// No warranty; no copyright -- use this as you will.
-
-package org.xml.sax.helpers;
-
-import java.lang.ClassNotFoundException;
-import java.lang.IllegalAccessException;
-import java.lang.InstantiationException;
-import java.lang.SecurityException;
-import java.lang.ClassCastException;
-
-import org.xml.sax.Parser;
-
-
-/**
- * Java-specific class for dynamically loading SAX parsers.
- *
- * <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><strong>Note:</strong> This class is designed to work with the now-deprecated
- * SAX1 {@link org.xml.sax.Parser Parser} class. SAX2 applications should use
- * {@link org.xml.sax.helpers.XMLReaderFactory XMLReaderFactory} instead.</p>
- *
- * <p>ParserFactory is not part of the platform-independent definition
- * of SAX; it is an additional convenience class designed
- * specifically for Java XML application writers. SAX applications
- * can use the static methods in this class to allocate a SAX parser
- * dynamically at run-time based either on the value of the
- * `org.xml.sax.parser' system property or on a string containing the class
- * name.</p>
- *
- * <p>Note that the application still requires an XML parser that
- * implements SAX1.</p>
- *
- * @deprecated This class works with the deprecated
- * {@link org.xml.sax.Parser Parser}
- * interface.
- * @since SAX 1.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- */
-public class ParserFactory {
-
-
- /**
- * Private null constructor.
- */
- private ParserFactory ()
- {
- }
-
-
- /**
- * Create a new SAX parser using the `org.xml.sax.parser' system property.
- *
- * <p>The named class must exist and must implement the
- * {@link org.xml.sax.Parser Parser} interface.</p>
- *
- * @exception java.lang.NullPointerException There is no value
- * for the `org.xml.sax.parser' system property.
- * @exception java.lang.ClassNotFoundException The SAX parser
- * class was not found (check your CLASSPATH).
- * @exception IllegalAccessException The SAX parser class was
- * found, but you do not have permission to load
- * it.
- * @exception InstantiationException The SAX parser class was
- * found but could not be instantiated.
- * @exception java.lang.ClassCastException The SAX parser class
- * was found and instantiated, but does not implement
- * org.xml.sax.Parser.
- * @see #makeParser(java.lang.String)
- * @see org.xml.sax.Parser
- */
- public static Parser makeParser ()
- throws ClassNotFoundException,
- IllegalAccessException,
- InstantiationException,
- NullPointerException,
- ClassCastException
- {
- String className = System.getProperty("org.xml.sax.parser");
- if (className == null) {
- throw new NullPointerException("No value for sax.parser property");
- } else {
- return makeParser(className);
- }
- }
-
-
- /**
- * Create a new SAX parser object using the class name provided.
- *
- * <p>The named class must exist and must implement the
- * {@link org.xml.sax.Parser Parser} interface.</p>
- *
- * @param className A string containing the name of the
- * SAX parser class.
- * @exception java.lang.ClassNotFoundException The SAX parser
- * class was not found (check your CLASSPATH).
- * @exception IllegalAccessException The SAX parser class was
- * found, but you do not have permission to load
- * it.
- * @exception InstantiationException The SAX parser class was
- * found but could not be instantiated.
- * @exception java.lang.ClassCastException The SAX parser class
- * was found and instantiated, but does not implement
- * org.xml.sax.Parser.
- * @see #makeParser()
- * @see org.xml.sax.Parser
- */
- public static Parser makeParser (String className)
- throws ClassNotFoundException,
- IllegalAccessException,
- InstantiationException,
- ClassCastException
- {
- return (Parser) NewInstance.newInstance (
- NewInstance.getClassLoader (), className);
- }
-
-}
-
diff --git a/external/jaxp/source/org/xml/sax/helpers/XMLFilterImpl.java b/external/jaxp/source/org/xml/sax/helpers/XMLFilterImpl.java
deleted file mode 100755
index b5f0e2fd0..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/XMLFilterImpl.java
+++ /dev/null
@@ -1,712 +0,0 @@
-// XMLFilterImpl.java - base SAX2 filter implementation.
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax.helpers;
-
-import java.io.IOException;
-
-import org.xml.sax.XMLReader;
-import org.xml.sax.XMLFilter;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.Attributes;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.DTDHandler;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.SAXNotRecognizedException;
-
-
-/**
- * Base class for deriving an XML filter.
- *
- * <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 is designed to sit between an {@link org.xml.sax.XMLReader
- * XMLReader} and the client application's event handlers. By default, it
- * does nothing but pass requests up to the reader and events
- * on to the handlers unmodified, but subclasses can override
- * specific methods to modify the event stream or the configuration
- * requests as they pass through.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.XMLFilter
- * @see org.xml.sax.XMLReader
- * @see org.xml.sax.EntityResolver
- * @see org.xml.sax.DTDHandler
- * @see org.xml.sax.ContentHandler
- * @see org.xml.sax.ErrorHandler
- */
-public class XMLFilterImpl
- implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructors.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Construct an empty XML filter, with no parent.
- *
- * <p>This filter will have no parent: you must assign a parent
- * before you start a parse or do any configuration with
- * setFeature or setProperty, unless you use this as a pure event
- * consumer rather than as an {@link XMLReader}.</p>
- *
- * @see org.xml.sax.XMLReader#setFeature
- * @see org.xml.sax.XMLReader#setProperty
- * @see #setParent
- */
- public XMLFilterImpl ()
- {
- super();
- }
-
-
- /**
- * Construct an XML filter with the specified parent.
- *
- * @see #setParent
- * @see #getParent
- */
- public XMLFilterImpl (XMLReader parent)
- {
- super();
- setParent(parent);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.XMLFilter.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the parent reader.
- *
- * <p>This is the {@link org.xml.sax.XMLReader XMLReader} from which
- * this filter will obtain its events and to which it will pass its
- * configuration requests. The parent may itself be another filter.</p>
- *
- * <p>If there is no parent reader set, any attempt to parse
- * or to set or get a feature or property will fail.</p>
- *
- * @param parent The parent XML reader.
- * @see #getParent
- */
- public void setParent (XMLReader parent)
- {
- this.parent = parent;
- }
-
-
- /**
- * Get the parent reader.
- *
- * @return The parent XML reader, or null if none is set.
- * @see #setParent
- */
- public XMLReader getParent ()
- {
- return parent;
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.XMLReader.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the value of a feature.
- *
- * <p>This will always fail if the parent is null.</p>
- *
- * @param name The feature name.
- * @param value The requested feature value.
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * value can't be assigned or retrieved from the parent.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * parent recognizes the feature name but
- * cannot set the requested value.
- */
- public void setFeature (String name, boolean value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- parent.setFeature(name, value);
- } else {
- throw new SAXNotRecognizedException("Feature: " + name);
- }
- }
-
-
- /**
- * Look up the value of a feature.
- *
- * <p>This will always fail if the parent is null.</p>
- *
- * @param name The feature name.
- * @return The current value of the feature.
- * @exception org.xml.sax.SAXNotRecognizedException If the feature
- * value can't be assigned or retrieved from the parent.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * parent recognizes the feature name but
- * cannot determine its value at this time.
- */
- public boolean getFeature (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- return parent.getFeature(name);
- } else {
- throw new SAXNotRecognizedException("Feature: " + name);
- }
- }
-
-
- /**
- * Set the value of a property.
- *
- * <p>This will always fail if the parent is null.</p>
- *
- * @param name The property name.
- * @param value The requested property value.
- * @exception org.xml.sax.SAXNotRecognizedException If the property
- * value can't be assigned or retrieved from the parent.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * parent recognizes the property name but
- * cannot set the requested value.
- */
- public void setProperty (String name, Object value)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- parent.setProperty(name, value);
- } else {
- throw new SAXNotRecognizedException("Property: " + name);
- }
- }
-
-
- /**
- * Look up the value of a property.
- *
- * @param name The property name.
- * @return The current value of the property.
- * @exception org.xml.sax.SAXNotRecognizedException If the property
- * value can't be assigned or retrieved from the parent.
- * @exception org.xml.sax.SAXNotSupportedException When the
- * parent recognizes the property name but
- * cannot determine its value at this time.
- */
- public Object getProperty (String name)
- throws SAXNotRecognizedException, SAXNotSupportedException
- {
- if (parent != null) {
- return parent.getProperty(name);
- } else {
- throw new SAXNotRecognizedException("Property: " + name);
- }
- }
-
-
- /**
- * Set the entity resolver.
- *
- * @param resolver The new entity resolver.
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- entityResolver = resolver;
- }
-
-
- /**
- * Get the current entity resolver.
- *
- * @return The current entity resolver, or null if none was set.
- */
- public EntityResolver getEntityResolver ()
- {
- return entityResolver;
- }
-
-
- /**
- * Set the DTD event handler.
- *
- * @param resolver The new DTD handler.
- */
- public void setDTDHandler (DTDHandler handler)
- {
- dtdHandler = handler;
- }
-
-
- /**
- * Get the current DTD event handler.
- *
- * @return The current DTD handler, or null if none was set.
- */
- public DTDHandler getDTDHandler ()
- {
- return dtdHandler;
- }
-
-
- /**
- * Set the content event handler.
- *
- * @param resolver The new content handler.
- */
- public void setContentHandler (ContentHandler handler)
- {
- contentHandler = handler;
- }
-
-
- /**
- * Get the content event handler.
- *
- * @return The current content handler, or null if none was set.
- */
- public ContentHandler getContentHandler ()
- {
- return contentHandler;
- }
-
-
- /**
- * Set the error event handler.
- *
- * @param handle The new error handler.
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- errorHandler = handler;
- }
-
-
- /**
- * Get the current error event handler.
- *
- * @return The current error handler, or null if none was set.
- */
- public ErrorHandler getErrorHandler ()
- {
- return errorHandler;
- }
-
-
- /**
- * Parse a document.
- *
- * @param input The input source for the document entity.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- */
- public void parse (InputSource input)
- throws SAXException, IOException
- {
- setupParse();
- parent.parse(input);
- }
-
-
- /**
- * Parse a document.
- *
- * @param systemId The system identifier as a fully-qualified URI.
- * @exception org.xml.sax.SAXException Any SAX exception, possibly
- * wrapping another exception.
- * @exception java.io.IOException An IO exception from the parser,
- * possibly from a byte stream or character stream
- * supplied by the application.
- */
- public void parse (String systemId)
- throws SAXException, IOException
- {
- parse(new InputSource(systemId));
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.EntityResolver.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter an external entity resolution.
- *
- * @param publicId The entity's public identifier, or null.
- * @param systemId The entity's system identifier.
- * @return A new InputSource or null for the default.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- * @exception java.io.IOException The client may throw an
- * I/O-related exception while obtaining the
- * new InputSource.
- */
- public InputSource resolveEntity (String publicId, String systemId)
- throws SAXException, IOException
- {
- if (entityResolver != null) {
- return entityResolver.resolveEntity(publicId, systemId);
- } else {
- return null;
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.DTDHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter a notation declaration event.
- *
- * @param name The notation name.
- * @param publicId The notation's public identifier, or null.
- * @param systemId The notation's system identifier, or null.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void notationDecl (String name, String publicId, String systemId)
- throws SAXException
- {
- if (dtdHandler != null) {
- dtdHandler.notationDecl(name, publicId, systemId);
- }
- }
-
-
- /**
- * Filter an unparsed entity declaration event.
- *
- * @param name The entity name.
- * @param publicId The entity's public identifier, or null.
- * @param systemId The entity's system identifier, or null.
- * @param notationName The name of the associated notation.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void unparsedEntityDecl (String name, String publicId,
- String systemId, String notationName)
- throws SAXException
- {
- if (dtdHandler != null) {
- dtdHandler.unparsedEntityDecl(name, publicId, systemId,
- notationName);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.ContentHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter a new document locator event.
- *
- * @param locator The document locator.
- */
- public void setDocumentLocator (Locator locator)
- {
- this.locator = locator;
- if (contentHandler != null) {
- contentHandler.setDocumentLocator(locator);
- }
- }
-
-
- /**
- * Filter a start document event.
- *
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void startDocument ()
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startDocument();
- }
- }
-
-
- /**
- * Filter an end document event.
- *
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void endDocument ()
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endDocument();
- }
- }
-
-
- /**
- * Filter a start Namespace prefix mapping event.
- *
- * @param prefix The Namespace prefix.
- * @param uri The Namespace URI.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void startPrefixMapping (String prefix, String uri)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startPrefixMapping(prefix, uri);
- }
- }
-
-
- /**
- * Filter an end Namespace prefix mapping event.
- *
- * @param prefix The Namespace prefix.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void endPrefixMapping (String prefix)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endPrefixMapping(prefix);
- }
- }
-
-
- /**
- * Filter a start element event.
- *
- * @param uri The element's Namespace URI, or the empty string.
- * @param localName The element's local name, or the empty string.
- * @param qName The element's qualified (prefixed) name, or the empty
- * string.
- * @param atts The element's attributes.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void startElement (String uri, String localName, String qName,
- Attributes atts)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.startElement(uri, localName, qName, atts);
- }
- }
-
-
- /**
- * Filter an end element event.
- *
- * @param uri The element's Namespace URI, or the empty string.
- * @param localName The element's local name, or the empty string.
- * @param qName The element's qualified (prefixed) name, or the empty
- * string.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void endElement (String uri, String localName, String qName)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.endElement(uri, localName, qName);
- }
- }
-
-
- /**
- * Filter a character data event.
- *
- * @param ch An array of characters.
- * @param start The starting position in the array.
- * @param length The number of characters to use from the array.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.characters(ch, start, length);
- }
- }
-
-
- /**
- * Filter an 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 from the array.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.ignorableWhitespace(ch, start, length);
- }
- }
-
-
- /**
- * Filter a processing instruction event.
- *
- * @param target The processing instruction target.
- * @param data The text following the target.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.processingInstruction(target, data);
- }
- }
-
-
- /**
- * Filter a skipped entity event.
- *
- * @param name The name of the skipped entity.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- if (contentHandler != null) {
- contentHandler.skippedEntity(name);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.ErrorHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Filter a warning event.
- *
- * @param e The warning as an exception.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void warning (SAXParseException e)
- throws SAXException
- {
- if (errorHandler != null) {
- errorHandler.warning(e);
- }
- }
-
-
- /**
- * Filter an error event.
- *
- * @param e The error as an exception.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void error (SAXParseException e)
- throws SAXException
- {
- if (errorHandler != null) {
- errorHandler.error(e);
- }
- }
-
-
- /**
- * Filter a fatal error event.
- *
- * @param e The error as an exception.
- * @exception org.xml.sax.SAXException The client may throw
- * an exception during processing.
- */
- public void fatalError (SAXParseException e)
- throws SAXException
- {
- if (errorHandler != null) {
- errorHandler.fatalError(e);
- }
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal methods.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set up before a parse.
- *
- * <p>Before every parse, check whether the parent is
- * non-null, and re-register the filter for all of the
- * events.</p>
- */
- private void setupParse ()
- {
- if (parent == null) {
- throw new NullPointerException("No parent for filter");
- }
- parent.setEntityResolver(this);
- parent.setDTDHandler(this);
- parent.setContentHandler(this);
- parent.setErrorHandler(this);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- private XMLReader parent = null;
- private Locator locator = null;
- private EntityResolver entityResolver = null;
- private DTDHandler dtdHandler = null;
- private ContentHandler contentHandler = null;
- private ErrorHandler errorHandler = null;
-
-}
-
-// end of XMLFilterImpl.java
diff --git a/external/jaxp/source/org/xml/sax/helpers/XMLReaderAdapter.java b/external/jaxp/source/org/xml/sax/helpers/XMLReaderAdapter.java
deleted file mode 100755
index 7438a3d04..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/XMLReaderAdapter.java
+++ /dev/null
@@ -1,537 +0,0 @@
-// XMLReaderAdapter.java - adapt an SAX2 XMLReader to a SAX1 Parser
-// http://www.saxproject.org
-// Written by David Megginson
-// NO WARRANTY! This class is in the public domain.
-
-package org.xml.sax.helpers;
-
-import java.io.IOException;
-import java.util.Locale;
-
-import org.xml.sax.Parser; // deprecated
-import org.xml.sax.Locator;
-import org.xml.sax.InputSource;
-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.XMLReader;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.SAXNotSupportedException;
-
-
-/**
- * Adapt a SAX2 XMLReader as a SAX1 Parser.
- *
- * <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 SAX2 {@link org.xml.sax.XMLReader XMLReader}
- * and makes it act as a SAX1 {@link org.xml.sax.Parser Parser}. The XMLReader
- * must support a true value for the
- * http://xml.org/sax/features/namespace-prefixes property or parsing will fail
- * with a {@link org.xml.sax.SAXException SAXException}; if the XMLReader
- * supports a false value for the http://xml.org/sax/features/namespaces
- * property, that will also be used to improve efficiency.</p>
- *
- * @since SAX 2.0
- * @author David Megginson
- * @version 2.0.1 (sax2r2)
- * @see org.xml.sax.Parser
- * @see org.xml.sax.XMLReader
- */
-public class XMLReaderAdapter implements Parser, ContentHandler
-{
-
-
- ////////////////////////////////////////////////////////////////////
- // Constructor.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Create a new adapter.
- *
- * <p>Use the "org.xml.sax.driver" property to locate the SAX2
- * driver to embed.</p>
- *
- * @exception org.xml.sax.SAXException If the embedded driver
- * cannot be instantiated or if the
- * org.xml.sax.driver property is not specified.
- */
- public XMLReaderAdapter ()
- throws SAXException
- {
- setup(XMLReaderFactory.createXMLReader());
- }
-
-
- /**
- * Create a new adapter.
- *
- * <p>Create a new adapter, wrapped around a SAX2 XMLReader.
- * The adapter will make the XMLReader act like a SAX1
- * Parser.</p>
- *
- * @param xmlReader The SAX2 XMLReader to wrap.
- * @exception java.lang.NullPointerException If the argument is null.
- */
- public XMLReaderAdapter (XMLReader xmlReader)
- {
- setup(xmlReader);
- }
-
-
-
- /**
- * Internal setup.
- *
- * @param xmlReader The embedded XMLReader.
- */
- private void setup (XMLReader xmlReader)
- {
- if (xmlReader == null) {
- throw new NullPointerException("XMLReader must not be null");
- }
- this.xmlReader = xmlReader;
- qAtts = new AttributesAdapter();
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.Parser.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set the locale for error reporting.
- *
- * <p>This is not supported in SAX2, and will always throw
- * an exception.</p>
- *
- * @param The locale for error reporting.
- * @see org.xml.sax.Parser#setLocale
- * @exception org.xml.sax.SAXException Thrown unless overridden.
- */
- public void setLocale (Locale locale)
- throws SAXException
- {
- throw new SAXNotSupportedException("setLocale not supported");
- }
-
-
- /**
- * Register the entity resolver.
- *
- * @param resolver The new resolver.
- * @see org.xml.sax.Parser#setEntityResolver
- */
- public void setEntityResolver (EntityResolver resolver)
- {
- xmlReader.setEntityResolver(resolver);
- }
-
-
- /**
- * Register the DTD event handler.
- *
- * @param handler The new DTD event handler.
- * @see org.xml.sax.Parser#setDTDHandler
- */
- public void setDTDHandler (DTDHandler handler)
- {
- xmlReader.setDTDHandler(handler);
- }
-
-
- /**
- * Register the SAX1 document event handler.
- *
- * <p>Note that the SAX1 document handler has no Namespace
- * support.</p>
- *
- * @param handler The new SAX1 document event handler.
- * @see org.xml.sax.Parser#setDocumentHandler
- */
- public void setDocumentHandler (DocumentHandler handler)
- {
- documentHandler = handler;
- }
-
-
- /**
- * Register the error event handler.
- *
- * @param handler The new error event handler.
- * @see org.xml.sax.Parser#setErrorHandler
- */
- public void setErrorHandler (ErrorHandler handler)
- {
- xmlReader.setErrorHandler(handler);
- }
-
-
- /**
- * Parse the document.
- *
- * <p>This method will throw an exception if the embedded
- * XMLReader does not support the
- * http://xml.org/sax/features/namespace-prefixes property.</p>
- *
- * @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 org.xml.sax.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 the document.
- *
- * <p>This method will throw an exception if the embedded
- * XMLReader does not support the
- * http://xml.org/sax/features/namespace-prefixes property.</p>
- *
- * @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 org.xml.sax.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
- {
- setupXMLReader();
- xmlReader.parse(input);
- }
-
-
- /**
- * Set up the XML reader.
- */
- private void setupXMLReader ()
- throws SAXException
- {
- xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
- try {
- xmlReader.setFeature("http://xml.org/sax/features/namespaces",
- false);
- } catch (SAXException e) {
- // NO OP: it's just extra information, and we can ignore it
- }
- xmlReader.setContentHandler(this);
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Implementation of org.xml.sax.ContentHandler.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Set a document locator.
- *
- * @param locator The document locator.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- */
- public void setDocumentLocator (Locator locator)
- {
- if (documentHandler != null)
- documentHandler.setDocumentLocator(locator);
- }
-
-
- /**
- * Start document event.
- *
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#startDocument
- */
- public void startDocument ()
- throws SAXException
- {
- if (documentHandler != null)
- documentHandler.startDocument();
- }
-
-
- /**
- * End document event.
- *
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void endDocument ()
- throws SAXException
- {
- if (documentHandler != null)
- documentHandler.endDocument();
- }
-
-
- /**
- * Adapt a SAX2 start prefix mapping event.
- *
- * @param prefix The prefix being mapped.
- * @param uri The Namespace URI being mapped to.
- * @see org.xml.sax.ContentHandler#startPrefixMapping
- */
- public void startPrefixMapping (String prefix, String uri)
- {
- }
-
-
- /**
- * Adapt a SAX2 end prefix mapping event.
- *
- * @param prefix The prefix being mapped.
- * @see org.xml.sax.ContentHandler#endPrefixMapping
- */
- public void endPrefixMapping (String prefix)
- {
- }
-
-
- /**
- * Adapt a SAX2 start element event.
- *
- * @param uri The Namespace URI.
- * @param localName The Namespace local name.
- * @param qName The qualified (prefixed) name.
- * @param atts The SAX2 attributes.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#endDocument
- */
- public void startElement (String uri, String localName,
- String qName, Attributes atts)
- throws SAXException
- {
- if (documentHandler != null) {
- qAtts.setAttributes(atts);
- documentHandler.startElement(qName, qAtts);
- }
- }
-
-
- /**
- * Adapt a SAX2 end element event.
- *
- * @param uri The Namespace URI.
- * @param localName The Namespace local name.
- * @param qName The qualified (prefixed) name.
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#endElement
- */
- public void endElement (String uri, String localName,
- String qName)
- throws SAXException
- {
- if (documentHandler != null)
- documentHandler.endElement(qName);
- }
-
-
- /**
- * Adapt a SAX2 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 org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#characters
- */
- public void characters (char ch[], int start, int length)
- throws SAXException
- {
- if (documentHandler != null)
- documentHandler.characters(ch, start, length);
- }
-
-
- /**
- * Adapt a SAX2 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 org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#ignorableWhitespace
- */
- public void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- if (documentHandler != null)
- documentHandler.ignorableWhitespace(ch, start, length);
- }
-
-
- /**
- * Adapt a SAX2 processing instruction event.
- *
- * @param target The processing instruction target.
- * @param data The remainder of the processing instruction
- * @exception org.xml.sax.SAXException The client may raise a
- * processing exception.
- * @see org.xml.sax.ContentHandler#processingInstruction
- */
- public void processingInstruction (String target, String data)
- throws SAXException
- {
- if (documentHandler != null)
- documentHandler.processingInstruction(target, data);
- }
-
-
- /**
- * Adapt a SAX2 skipped entity event.
- *
- * @param name The name of the skipped entity.
- * @see org.xml.sax.ContentHandler#skippedEntity
- * @exception org.xml.sax.SAXException Throwable by subclasses.
- */
- public void skippedEntity (String name)
- throws SAXException
- {
- }
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal state.
- ////////////////////////////////////////////////////////////////////
-
- XMLReader xmlReader;
- DocumentHandler documentHandler;
- AttributesAdapter qAtts;
-
-
-
- ////////////////////////////////////////////////////////////////////
- // Internal class.
- ////////////////////////////////////////////////////////////////////
-
-
- /**
- * Internal class to wrap a SAX2 Attributes object for SAX1.
- */
- final class AttributesAdapter implements AttributeList
- {
- AttributesAdapter ()
- {
- }
-
-
- /**
- * Set the embedded Attributes object.
- *
- * @param The embedded SAX2 Attributes.
- */
- void setAttributes (Attributes attributes)
- {
- this.attributes = attributes;
- }
-
-
- /**
- * Return the number of attributes.
- *
- * @return The length of the attribute list.
- * @see org.xml.sax.AttributeList#getLength
- */
- public int getLength ()
- {
- return attributes.getLength();
- }
-
-
- /**
- * Return the qualified (prefixed) name of an attribute by position.
- *
- * @return The qualified name.
- * @see org.xml.sax.AttributeList#getName
- */
- public String getName (int i)
- {
- return attributes.getQName(i);
- }
-
-
- /**
- * Return the type of an attribute by position.
- *
- * @return The type.
- * @see org.xml.sax.AttributeList#getType(int)
- */
- public String getType (int i)
- {
- return attributes.getType(i);
- }
-
-
- /**
- * Return the value of an attribute by position.
- *
- * @return The value.
- * @see org.xml.sax.AttributeList#getValue(int)
- */
- public String getValue (int i)
- {
- return attributes.getValue(i);
- }
-
-
- /**
- * Return the type of an attribute by qualified (prefixed) name.
- *
- * @return The type.
- * @see org.xml.sax.AttributeList#getType(java.lang.String)
- */
- public String getType (String qName)
- {
- return attributes.getType(qName);
- }
-
-
- /**
- * Return the value of an attribute by qualified (prefixed) name.
- *
- * @return The value.
- * @see org.xml.sax.AttributeList#getValue(java.lang.String)
- */
- public String getValue (String qName)
- {
- return attributes.getValue(qName);
- }
-
- private Attributes attributes;
- }
-
-}
-
-// end of XMLReaderAdapter.java
diff --git a/external/jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java b/external/jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java
deleted file mode 100755
index 32b7f1c08..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java
+++ /dev/null
@@ -1,200 +0,0 @@
-// XMLReaderFactory.java - factory for creating a new reader.
-// http://www.saxproject.org
-// Written by David Megginson
-// and by David Brownell
-// NO WARRANTY! This class is in the Public Domain.
-
-package org.xml.sax.helpers;
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import org.xml.sax.XMLReader;
-import org.xml.sax.SAXException;
-
-
-/**
- * Factory for creating an XML reader.
- *
- * <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 contains static methods for creating an XML reader
- * from an explicit class name, or based on runtime defaults:</p>
- *
- * <pre>
- * try {
- * XMLReader myReader = XMLReaderFactory.createXMLReader();
- * } catch (SAXException e) {
- * System.err.println(e.getMessage());
- * }
- * </pre>
- *
- * <p><strong>Note to Distributions bundled with parsers:</strong>
- * You should modify the implementation of the no-arguments
- * <em>createXMLReader</em> to handle cases where the external
- * configuration mechanisms aren't set up. That method should do its
- * best to return a parser when one is in the class path, even when
- * nothing bound its class name to <code>org.xml.sax.driver</code> so
- * those configuration mechanisms would see it.</p>
- *
- * @since SAX 2.0
- * @author David Megginson, David Brownell
- * @version 2.0.1 (sax2r2)
- */
-final public class XMLReaderFactory
-{
- /**
- * Private constructor.
- *
- * <p>This constructor prevents the class from being instantiated.</p>
- */
- private XMLReaderFactory ()
- {
- }
-
- private static final String property = "org.xml.sax.driver";
-
- /**
- * Attempt to create an XMLReader from system defaults.
- * In environments which can support it, the name of the XMLReader
- * class is determined by trying each these options in order, and
- * using the first one which succeeds:</p> <ul>
- *
- * <li>If the system property <code>org.xml.sax.driver</code>
- * has a value, that is used as an XMLReader class name. </li>
- *
- * <li>The JAR "Services API" is used to look for a class name
- * in the <em>META-INF/services/org.xml.sax.driver</em> file in
- * jarfiles available to the runtime.</li>
- *
- * <li> SAX parser distributions are strongly encouraged to provide
- * a default XMLReader class name that will take effect only when
- * previous options (on this list) are not successful.</li>
- *
- * <li>Finally, if {@link ParserFactory#makeParser()} can
- * return a system default SAX1 parser, that parser is wrapped in
- * a {@link ParserAdapter}. (This is a migration aid for SAX1
- * environments, where the <code>org.xml.sax.parser</code> system
- * property will often be usable.) </li>
- *
- * </ul>
- *
- * <p> In environments such as small embedded systems, which can not
- * support that flexibility, other mechanisms to determine the default
- * may be used. </p>
- *
- * <p>Note that many Java environments allow system properties to be
- * initialized on a command line. This means that <em>in most cases</em>
- * setting a good value for that property ensures that calls to this
- * method will succeed, except when security policies intervene.
- * This will also maximize application portability to older SAX
- * environments, with less robust implementations of this method.
- * </p>
- *
- * @return A new XMLReader.
- * @exception org.xml.sax.SAXException If no default XMLReader class
- * can be identified and instantiated.
- * @see #createXMLReader(java.lang.String)
- */
- public static XMLReader createXMLReader ()
- throws SAXException
- {
- String className = null;
- ClassLoader loader = NewInstance.getClassLoader ();
-
- // 1. try the JVM-instance-wide system property
- try { className = System.getProperty (property); }
- catch (RuntimeException e) { /* normally fails for applets */ }
-
- // 2. if that fails, try META-INF/services/
- if (className == null) {
- try {
- String service = "META-INF/services/" + property;
- InputStream in;
- BufferedReader reader;
-
- if (loader == null)
- in = ClassLoader.getSystemResourceAsStream (service);
- else
- in = loader.getResourceAsStream (service);
-
- if (in != null) {
- reader = new BufferedReader (
- new InputStreamReader (in, "UTF8"));
- className = reader.readLine ();
- in.close ();
- }
- } catch (Exception e) {
- }
- }
-
- // 3. Distro-specific fallback
- if (className == null) {
-// BEGIN DISTRIBUTION-SPECIFIC
-
- // use the non-validating one
- className = "gnu.xml.aelfred2.SAXDriver";
-
-// END DISTRIBUTION-SPECIFIC
- }
-
- // do we know the XMLReader implementation class yet?
- if (className != null)
- return loadClass (loader, className);
-
- // 4. panic -- adapt any SAX1 parser
- try {
- return new ParserAdapter (ParserFactory.makeParser ());
- } catch (Exception e) {
- throw new SAXException ("Can't create default XMLReader; "
- + "is system property org.xml.sax.driver set?");
- }
- }
-
-
- /**
- * Attempt to create an XML reader from a class name.
- *
- * <p>Given a class name, this method attempts to load
- * and instantiate the class as an XML reader.</p>
- *
- * <p>Note that this method will not be usable in environments where
- * the caller (perhaps an applet) is not permitted to load classes
- * dynamically.</p>
- *
- * @return A new XML reader.
- * @exception org.xml.sax.SAXException If the class cannot be
- * loaded, instantiated, and cast to XMLReader.
- * @see #createXMLReader()
- */
- public static XMLReader createXMLReader (String className)
- throws SAXException
- {
- return loadClass (NewInstance.getClassLoader (), className);
- }
-
- private static XMLReader loadClass (ClassLoader loader, String className)
- throws SAXException
- {
- try {
- return (XMLReader) NewInstance.newInstance (loader, className);
- } catch (ClassNotFoundException e1) {
- throw new SAXException("SAX2 driver class " + className +
- " not found", e1);
- } catch (IllegalAccessException e2) {
- throw new SAXException("SAX2 driver class " + className +
- " found but cannot be loaded", e2);
- } catch (InstantiationException e3) {
- throw new SAXException("SAX2 driver class " + className +
- " loaded but cannot be instantiated (no empty public constructor?)",
- e3);
- } catch (ClassCastException e4) {
- throw new SAXException("SAX2 driver class " + className +
- " does not implement XMLReader", e4);
- }
- }
-}
diff --git a/external/jaxp/source/org/xml/sax/helpers/package.html b/external/jaxp/source/org/xml/sax/helpers/package.html
deleted file mode 100755
index 3eecb08f7..000000000
--- a/external/jaxp/source/org/xml/sax/helpers/package.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<HTML><HEAD>
-<!-- $Id: package.html,v 1.2 2004-05-01 16:18:52 mark Exp $ -->
-</HEAD><BODY>
-
-<p>This package contains "helper" classes, including
-support for bootstrapping SAX-based applications.
-
-<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
-for more information about SAX.</p>
-
-</BODY></HTML>
diff --git a/external/jaxp/source/org/xml/sax/package.html b/external/jaxp/source/org/xml/sax/package.html
deleted file mode 100755
index e87676622..000000000
--- a/external/jaxp/source/org/xml/sax/package.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<html><head>
-<!-- $Id: package.html,v 1.2 2004-05-01 16:18:52 mark Exp $ -->
-</head><body>
-
-<p> This package provides the core SAX APIs.
-Some SAX1 APIs are deprecated to encourage integration of
-namespace-awareness into designs of new applications
-and into maintainance of existing infrastructure. </p>
-
-<p>See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
-for more information about SAX.</p>
-
-
-<h2> SAX2 Standard Feature Flags </h2>
-
-<p> One of the essential characteristics of SAX2 is that it added
-feature flags which can be used to examine and perhaps modify
-parser modes, in particular modes such as validation.
-Since features are identified by (absolute) URIs, anyone
-can define such features.
-Currently defined standard feature URIs have the prefix
-<code>http://xml.org/sax/features/</code> before an identifier such as
-<code>validation</code>. Turn features on or off using
-<em>setFeature</em>. Those standard identifiers are: </p>
-
-
-<table border="1" cellpadding="3" cellspacing="0" width="100%">
- <tr align="center" bgcolor="#ccccff">
- <th>Feature ID</th>
- <th>Default</th>
- <th>Description</th>
- </tr>
-
- <tr>
- <td>external-general-entities</td>
- <td><em>unspecified</em></td>
- <td> Reports whether this parser processes external
- general entities; always true if validating</td>
- </tr>
-
- <tr>
- <td>external-parameter-entities</td>
- <td><em>unspecified</em></td>
- <td> Reports whether this parser processes external
- parameter entities; always true if validating</td>
- </tr>
-
- <tr>
- <td>is-standalone</td>
- <td><em>none</em></td>
- <td> May be examined only during a parse, after the
- <em>startDocument()</em> callback has been made; read-only.
- The value is true if the document specified the
- "standalone" flag in its XML declaration,
- and otherwise is false. </td>
- </tr>
-
- <tr>
- <td>lexical-handler/parameter-entities</td>
- <td><em>unspecified</em></td>
- <td> true indicates that the LexicalHandler will report the
- beginning and end of parameter entities
- </td>
- </tr>
-
- <tr>
- <td>namespaces</td>
- <td>true</td>
- <td> true indicates namespace URIs and unprefixed local names
- for element and attribute names will be available </td>
- </tr>
-
- <tr>
- <td>namespace-prefixes</td>
- <td>false</td>
- <td> true indicates XML 1.0 names (with prefixes) and attributes
- (including <em>xmlns*</em> attributes) will be available </td>
- </tr>
-
- <tr>
- <td>resolve-dtd-uris</td>
- <td><em>true</em></td>
- <td> A value of "true" indicates that system IDs in declarations will
- be absolutized (relative to their base URIs) before reporting.
- (That is the default behavior for all SAX2 XML parsers.)
- A value of "false" indicates those IDs will not be absolutized;
- parsers will provide the base URI from
- <em>Locator.getSystemId()</em>.
- This applies to system IDs passed in <ul>
- <li><em>DTDHandler.notationDecl()</em>,
- <li><em>DTDHandler.unparsedEntityDecl()</em>, and
- <li><em>DeclHandler.externalEntityDecl()</em>.
- </ul>
- It does not apply to <em>EntityResolver.resolveEntity()</em>,
- which is not used to report declarations, or to
- <em>LexicalHandler.startDTD()</em>, which already provides
- the non-absolutized URI.
- </td>
- </tr>
-
- <tr>
- <td>string-interning</td>
- <td><em>unspecified</em></td>
- <td> true if all XML names (for elements, prefixes, attributes,
- entities, notations, and local names),
- as well as Namespace URIs, will have been interned
- using <em>java.lang.String.intern</em>. This supports fast
- testing of equality/inequality against string constants.</td>
- </tr>
-
- <tr>
- <td>use-attributes2</td>
- <td><em>unspecified</em></td>
- <td> Returns true if the <em>Attributes</em> objects passed by
- this parser in <em>ContentHandler.startElement()</em>
- implement the <a href="ext/Attributes2.html"
- ><em>org.xml.sax.ext.Attributes2</em></a> interface.
- That interface exposes additional information,
- such as whether the attribute was specified in the
- source text rather than defaulted.
- </td>
- </tr>
-
- <tr>
- <td>use-locator2</td>
- <td><em>unspecified</em></td>
- <td> Returns true if the <em>Locator</em> objects passed by
- this parser in <em>ContentHandler.setDocumentLocator()</em>
- implement the <a href="ext/Locator2.html"
- ><em>org.xml.sax.ext.Locator2</em></a> interface.
- That interface exposes additional entity information,
- such as the character encoding and XML version used.
- </td>
- </tr>
-
- <tr>
- <td>use-entity-resolver2</td>
- <td><em>true</em> (when recognized)</td>
- <td> Returns true if, when <em>setEntityResolver</em> is given
- an object implementing the <a href="ext/EntityResolver2.html"
- ><em>org.xml.sax.ext.EntityResolver2</em></a> interface,
- those new methods will be used.
- Returns false to indicate that those methods will not be used.
- </td>
- </tr>
-
- <tr>
- <td>validation</td>
- <td><em>unspecified</em></td>
- <td> controls whether the parser is reporting all validity
- errors; if true, all external entities will be read. </td>
- </tr>
-
-</table>
-
-<p> Support for the default values of the
-<em>namespaces</em> and <em>namespace-prefixes</em>
-properties is required.
-</p>
-
-<p> For default values not specified by SAX2,
-each XMLReader implementation specifies its default,
-or may choose not to expose the feature flag.
-Unless otherwise specified here,
-implementations may support changing current values
-of these standard feature flags, but not while parsing.
-</p>
-
-<h2> SAX2 Standard Handler and Property IDs </h2>
-
-<p> For parser interface characteristics that are described
-as objects, a separate namespace is defined. The
-objects in this namespace are again identified by URI, and
-the standard property URIs have the prefix
-<code>http://xml.org/sax/properties/</code> before an identifier such as
-<code>lexical-handler</code> or
-<code>dom-node</code>. Manage those properties using
-<em>setProperty()</em>. Those identifiers are: </p>
-
-<table border="1" cellpadding="3" cellspacing="0" width="100%">
- <tr align="center" bgcolor="#ccccff">
- <th>Property ID</th>
- <th>Description</th>
- </tr>
-
- <tr>
- <td>declaration-handler</td>
- <td> Used to see most DTD declarations except those treated
- as lexical ("document element name is ...") or which are
- mandatory for all SAX parsers (<em>DTDHandler</em>).
- The Object must implement <a href="ext/DeclHandler.html"
- ><em>org.xml.sax.ext.DeclHandler</em></a>.
- </td>
- </tr>
-
- <tr>
- <td>dom-node</td>
- <td> For "DOM Walker" style parsers, which ignore their
- <em>parser.parse()</em> parameters, this is used to
- specify the DOM (sub)tree being walked by the parser.
- The Object must implement the
- <em>org.w3c.dom.Node</em> interface.
- </td>
- </tr>
-
- <tr>
- <td>lexical-handler</td>
- <td> Used to see some syntax events that are essential in some
- applications: comments, CDATA delimeters, selected general
- entity inclusions, and the start and end of the DTD
- (and declaration of document element name).
- The Object must implement <a href="ext/LexicalHandler.html"
- ><em>org.xml.sax.ext.LexicalHandler</em></a>.
- </td>
- </tr>
-
- <tr>
- <td>xml-string</td>
- <td> Readable only during a parser callback, this exposes a <b>TBS</b>
- chunk of characters responsible for the current event. </td>
- </tr>
-
-</table>
-
-<p> All of these standard properties are optional;
-XMLReader implementations need not support them.
-</p>
-
-</body></html>
diff --git a/external/jaxp/tests/dom/NodeType.java b/external/jaxp/tests/dom/NodeType.java
deleted file mode 100644
index 7dac3b7d3..000000000
--- a/external/jaxp/tests/dom/NodeType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package tests.dom;
-
-
-import org.w3c.dom.*;
-import javax.xml.parsers.*;
-import java.io.*;
-
-/**
- * NodeType DOM test.
- * Test that the values of Dom nodes are correct.
- *
- *
- * @author <a href="mailto:arnaud.vandyck@ulg.ac.be">Arnaud Vandyck</a>
- * @created Thu Oct 10 21:44:07 2002
- * @version
- */
-public class NodeType
-{
-
- public static String[] NODETYPE =
- {
- "Unknow Node", "ELEMENT_NODE", "ATTRIBUTE_NODE", "TEXT_NODE",
- "CDATA_SECTION_NODE", "ENTITY_REFERENCE_NODE", "ENTITY_NODE",
- "PROCESSING_INSTRUCTION_NODE", "COMMENT_NODE", "DOCUMENT_NODE",
- "DOCUMENT_TYPE_NODE", "DOCUMENT_FRAGMENT_NODE", "NOTATION_NODE"
- };
-
- public NodeType ()
- {
- }
-
- public static void main(String[] args)
- {
- try
- {
- System.out.println( "Starting processing..." );
-
- DocumentBuilder domManager = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-
- FileInputStream fis = new FileInputStream("tests/dom/nodetype.xml");
- Document d = domManager.parse( fis );
- System.out.println( "File has been passed to the processor..." );
-
- Element root = d.getDocumentElement();
- System.out.println( "Root tag name: " + root.getTagName() );
-
- printChildNodes( root.getChildNodes() );
- }
- catch (Exception e1)
- {
- e1.printStackTrace();
- }
- }
-
- static private void printChildNodes( NodeList list )
- {
- int l = list.getLength();
- for (int i=0; i<l; i++)
- {
- Node node = list.item( i );
- printNode( node );
- printChildNodes( node.getChildNodes() );
- }
- }
-
- static private void printNode( Node node )
- {
- System.out.println( node.getNodeName()
- + " [" + NODETYPE[node.getNodeType()] + "]: "
- + node.getNodeValue() );
- }
-
-}
diff --git a/external/jaxp/tests/dom/nodetype.xml b/external/jaxp/tests/dom/nodetype.xml
deleted file mode 100644
index 333030d8a..000000000
--- a/external/jaxp/tests/dom/nodetype.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
-<?xml-stylesheet type="text/xsl" href="sdocbook.xsl"?>
-<!DOCTYPE article SYSTEM "file:///usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd"
-[
-<!NOTATION wmf SYSTEM "wmf" >
-<!ENTITY g001 SYSTEM "images/example_001.wmf" NDATA wmf >
-
-<!ENTITY yo "Yooooooo">
-<!ENTITY yo2 "&yo;">
-]>
-
-<article>
- <articleinfo>
- <title>Titre de test</title>
- <author>
- <firstname>Arnaud</firstname>
- <surname>Vandyck</surname>
- </author>
- </articleinfo>
- <section>
- <title>Test</title>
- <para>Entite yo: &yo;</para>
- <para>Entite yo2: &yo2;</para>
- <para>Entite EURO: &euro;</para>
- </section>
-</article> \ No newline at end of file
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 1516fe63b..3d9df3910 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -18,10 +18,10 @@ propertyfiles := $(shell cd $(top_srcdir)/resource && $(FIND) gnu java org -nam
# handling source to bytecode compiler programs like gcj, jikes and kjc
if FOUND_GCJ
-JAVAC = $(GCJ) --bootclasspath '' --classpath $(top_srcdir):$(top_srcdir)/external/jaxp/source:$(top_builddir)/vm/current:.:$(USER_CLASSLIB) -C -d . @classes
+JAVAC = $(GCJ) --bootclasspath '' --classpath $(top_srcdir):$(top_builddir)/vm/current:.:$(USER_CLASSLIB) -C -d . @classes
else
if FOUND_JIKES
-JAVAC = $(JIKES) +F -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_srcdir):$(top_srcdir)/external/jaxp/source:$(top_builddir)/vm/current:.:$(USER_CLASSLIB) -d . @classes
+JAVAC = $(JIKES) +F -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_srcdir):$(top_builddir)/vm/current:.:$(USER_CLASSLIB) -d . @classes
else
if FOUND_KJC
JAVAC = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes
diff --git a/lib/gen-classlist.sh.in b/lib/gen-classlist.sh.in
index ead9604da..3b8cb89bf 100755
--- a/lib/gen-classlist.sh.in
+++ b/lib/gen-classlist.sh.in
@@ -1,9 +1,9 @@
#! @SH@
# @configure_input@
if test "@top_srcdir@" = "${top_builddir}"; then
- @FIND@ @top_srcdir@/java @top_srcdir@/javax @top_srcdir@/gnu @top_srcdir@/external/jaxp/source @top_srcdir@/org ${top_builddir}/vm/current -follow -type f -print | grep '\.java$' > ${top_builddir}/lib/classes.1
+ @FIND@ @top_srcdir@/java @top_srcdir@/javax @top_srcdir@/gnu @top_srcdir@/org ${top_builddir}/vm/current -follow -type f -print | grep '\.java$' > ${top_builddir}/lib/classes.1
else
- @FIND@ @top_srcdir@/java @top_srcdir@/javax @top_srcdir@/gnu @top_srcdir@/external/jaxp/source @top_srcdir@/org ${top_builddir}/gnu ${top_builddir}/vm/current -follow -type f -print | grep '\.java$' > ${top_builddir}/lib/classes.1
+ @FIND@ @top_srcdir@/java @top_srcdir@/javax @top_srcdir@/gnu @top_srcdir@/org ${top_builddir}/gnu ${top_builddir}/vm/current -follow -type f -print | grep '\.java$' > ${top_builddir}/lib/classes.1
fi
for filexp in `cat @top_srcdir@/lib/$1.omit` ; do { grep -v ${filexp} < ${top_builddir}/lib/classes.1 > ${top_builddir}/lib/classes.2 ; mv ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1 ; } ; done