You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by gg...@apache.org on 2019/04/20 23:31:29 UTC
[xalan-java] 01/01: This commit was manufactured by cvs2svn to
create tag 'BEFORE_ITERATOR_CHANGES'.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to annotated tag BEFORE_ITERATOR_CHANGES
in repository https://gitbox.apache.org/repos/asf/xalan-java.git
commit e5b2940f9d07d4ec3edb87b67faff399e3fe0919
Author: No Author <de...@apache.org>
AuthorDate: Sat May 19 07:05:59 2001 +0000
This commit was manufactured by cvs2svn to create tag
'BEFORE_ITERATOR_CHANGES'.
---
KEYS | 73 -
License | 55 -
Makefile | 92 -
bin/ant.jar | Bin 295934 -> 0 bytes
bin/antRun | 9 -
bin/antRun.bat | 20 -
bin/bsf.jar | Bin 105573 -> 0 bytes
bin/stylebook-1.0-b3_xalan-2.jar | Bin 57679 -> 0 bytes
bin/xalan2jdoc.jar | Bin 122396 -> 0 bytes
bin/xerces.jar | Bin 1605266 -> 0 bytes
build.bat | 56 -
build.sh | 42 -
build.xml | 732 ------
commits.xml | 42 -
compat_src/compatOverview.html | 29 -
compat_src/org/apache/xalan/xpath/XBoolean.java | 140 --
.../org/apache/xalan/xpath/XBooleanStatic.java | 89 -
compat_src/org/apache/xalan/xpath/XNodeSet.java | 375 ---
compat_src/org/apache/xalan/xpath/XNull.java | 160 --
compat_src/org/apache/xalan/xpath/XNumber.java | 141 --
compat_src/org/apache/xalan/xpath/XObject.java | 87 -
.../org/apache/xalan/xpath/XPathSupport.java | 79 -
.../apache/xalan/xpath/XPathSupportDefault.java | 74 -
compat_src/org/apache/xalan/xpath/XRTreeFrag.java | 147 --
compat_src/org/apache/xalan/xpath/XString.java | 162 --
compat_src/org/apache/xalan/xpath/package.html | 5 -
.../org/apache/xalan/xpath/xdom/XercesLiaison.java | 388 ----
.../org/apache/xalan/xpath/xml/FormatterToDOM.java | 129 --
.../apache/xalan/xpath/xml/FormatterToHTML.java | 132 --
.../apache/xalan/xpath/xml/FormatterToText.java | 95 -
.../org/apache/xalan/xpath/xml/FormatterToXML.java | 138 --
.../apache/xalan/xpath/xml/ProblemListener.java | 111 -
.../xalan/xpath/xml/ProblemListenerDefault.java | 322 ---
.../org/apache/xalan/xpath/xml/TreeWalker.java | 105 -
.../apache/xalan/xpath/xml/XMLParserLiaison.java | 74 -
.../xalan/xpath/xml/XMLParserLiaisonDefault.java | 80 -
compat_src/org/apache/xalan/xpath/xml/package.html | 15 -
compat_src/org/apache/xalan/xslt/Stylesheet.java | 104 -
.../org/apache/xalan/xslt/StylesheetHandler.java | 123 -
.../org/apache/xalan/xslt/StylesheetRoot.java | 581 -----
.../org/apache/xalan/xslt/StylesheetSpec.java | 129 --
.../org/apache/xalan/xslt/XSLProcessorContext.java | 86 -
.../apache/xalan/xslt/XSLProcessorException.java | 107 -
.../org/apache/xalan/xslt/XSLTEngineImpl.java | 2426 --------------------
.../org/apache/xalan/xslt/XSLTInputSource.java | 374 ---
.../org/apache/xalan/xslt/XSLTProcessor.java | 385 ----
.../apache/xalan/xslt/XSLTProcessorFactory.java | 152 --
.../org/apache/xalan/xslt/XSLTResultTarget.java | 447 ----
compat_src/org/apache/xalan/xslt/package.html | 18 -
make.include | 168 --
make.include2 | 23 -
readme.html | 24 -
samples/AppletXMLtoHTML/README.html | 24 -
samples/AppletXMLtoHTML/appletXMLtoHTML.html | 16 -
samples/AppletXMLtoHTML/client.html | 121 -
samples/AppletXMLtoHTML/foo-s1.xml | 6 -
samples/AppletXMLtoHTML/get-todo-list.html | 26 -
samples/AppletXMLtoHTML/lts3611beac.jpg | 1 -
samples/AppletXMLtoHTML/rabbitwhorn.jpg | Bin 3260 -> 0 bytes
samples/AppletXMLtoHTML/s1ToHTML.xsl | 141 --
samples/AppletXMLtoHTML/target.html | 7 -
samples/AppletXMLtoHTML/xalanApplets.xml | 26 -
samples/ApplyXPath/ApplyXPath.java | 162 --
samples/ApplyXPath/foo.xml | 13 -
samples/ApplyXPath/readme.html | 13 -
samples/DOM2DOM/DOM2DOM.java | 155 --
samples/DOM2DOM/birds.xml | 136 --
samples/DOM2DOM/birds.xsl | 38 -
samples/DOM2DOM/readme.html | 13 -
samples/Pipe/Pipe.java | 144 --
samples/Pipe/foo.xml | 2 -
samples/Pipe/foo1.xsl | 6 -
samples/Pipe/foo2.xsl | 6 -
samples/Pipe/foo3.xsl | 6 -
samples/Pipe/readme.html | 13 -
samples/SAX2SAX/SAX2SAX.java | 148 --
samples/SAX2SAX/birds.xml | 136 --
samples/SAX2SAX/birds.xsl | 38 -
samples/SAX2SAX/foo.xml | 2 -
samples/SAX2SAX/foo.xsl | 6 -
samples/SQLExtension/ConnectionPools.htm | 80 -
samples/SQLExtension/README | 22 -
samples/SQLExtension/basic-connection/dbinfo.xml | 12 -
.../SQLExtension/basic-connection/dbtest-cinfo.xsl | 48 -
samples/SQLExtension/basic-connection/dbtest.xsl | 49 -
.../ext-connection/ExternalConnection.java | 121 -
samples/SQLExtension/ext-connection/dbtest.out | 19 -
samples/SQLExtension/ext-connection/dbtest.xml | 12 -
samples/SQLExtension/ext-connection/dbtest.xsl | 47 -
samples/SQLExtension/pquery/dbinfo.xml | 14 -
samples/SQLExtension/pquery/dbtest-pquery.xsl | 51 -
samples/SQLExtension/show-error/dbinfo.xml | 19 -
samples/SQLExtension/show-error/dbtest.xsl | 65 -
samples/SimpleTransform/SimpleTransform.java | 98 -
samples/SimpleTransform/birds.xml | 136 --
samples/SimpleTransform/birds.xsl | 38 -
samples/SimpleTransform/foo.xml | 2 -
samples/SimpleTransform/foo.xsl | 6 -
samples/SimpleTransform/readme.html | 13 -
samples/Trace/Trace.java | 114 -
samples/Trace/foo.xml | 67 -
samples/Trace/foo.xsl | 69 -
samples/UseStylesheetPI/UseStylesheetPI.java | 96 -
samples/UseStylesheetPI/foo.xsl | 6 -
samples/UseStylesheetPI/fooX.xml | 3 -
samples/UseStylesheetParam/UseStylesheetParam.java | 102 -
samples/UseStylesheetParam/foo.xml | 2 -
samples/UseStylesheetParam/foo.xsl | 7 -
samples/UseStylesheetParam/readme.html | 13 -
samples/UseXMLFilters/UseXMLFilters.java | 159 --
samples/UseXMLFilters/foo.xml | 2 -
samples/UseXMLFilters/foo1.xsl | 6 -
samples/UseXMLFilters/foo2.xsl | 6 -
samples/UseXMLFilters/foo3.xsl | 6 -
samples/UseXMLFilters/readme.html | 13 -
samples/extensions/1-redir.xml | 10 -
samples/extensions/1-redir.xsl | 43 -
samples/extensions/2-basicJscript.xml | 5 -
samples/extensions/2-basicJscript.xsl | 37 -
samples/extensions/3-java-namespace.xml | 6 -
samples/extensions/3-java-namespace.xsl | 22 -
samples/extensions/4-numlistJava.xsl | 35 -
samples/extensions/5-numlistJscript.xsl | 54 -
samples/extensions/6-sqllib-instantdb.xsl | 49 -
samples/extensions/IntDate.java | 17 -
samples/extensions/MyCounter.java | 94 -
samples/extensions/instantdb/idb.jar | Bin 231444 -> 0 bytes
samples/extensions/instantdb/sample.prp | 316 ---
samples/extensions/instantdb/tables/$db$types.tbl | Bin 1580 -> 0 bytes
samples/extensions/instantdb/tables/import1.tbl | Bin 12709 -> 0 bytes
.../instantdb/tables/sample$db$Cols$pKey.tbl | Bin 520 -> 0 bytes
.../extensions/instantdb/tables/sample$db$Cols.tbl | Bin 26541 -> 0 bytes
.../instantdb/tables/sample$db$Indexes.tbl | Bin 57 -> 0 bytes
.../instantdb/tables/sample$db$Tables$pKey.tbl | Bin 88 -> 0 bytes
.../instantdb/tables/sample$db$Tables.tbl | Bin 5302 -> 0 bytes
samples/extensions/instantdb/tables/sample.jrl | Bin 16 -> 0 bytes
samples/extensions/numlist.xml | 18 -
samples/extensions/readme.html | 13 -
samples/servlet/ApplyXSLT.java | 889 -------
samples/servlet/ApplyXSLTException.java | 214 --
samples/servlet/ApplyXSLTListener.java | 137 --
samples/servlet/ApplyXSLTProperties.java | 201 --
samples/servlet/DefaultApplyXSLTProperties.java | 307 ---
samples/servlet/SimpleXSLTServlet.java | 114 -
samples/servlet/UseStylesheetParamServlet.java | 71 -
samples/servlet/XSLTServletWithParams.java | 174 --
samples/servlet/default.xsl | 276 ---
samples/servlet/default2.xsl | 152 --
samples/servlet/fooparam.xml | 2 -
samples/servlet/fooparam.xsl | 7 -
samples/servlet/media.properties | 40 -
samples/servlet/readme.html | 13 -
samples/trax/ExampleContentHandler.java | 153 --
samples/trax/Examples.java | 880 -------
samples/trax/xml/baz.xml | 6 -
samples/trax/xml/foo.xml | 10 -
samples/trax/xml/subdir1/foo2.xml | 2 -
samples/trax/xml/subdir1/subdir2/foo3.xml | 2 -
samples/trax/xsl/baz.xsl | 18 -
samples/trax/xsl/foo.xsl | 27 -
samples/trax/xsl/foo2.xsl | 14 -
samples/trax/xsl/foo3.xsl | 14 -
samples/trax/xsl/inc1/inc1.xsl | 6 -
samples/trax/xsl/inc1/inc2/inc2.xsl | 4 -
src/ComposeDTM.java | 167 ++
.../apache/xalan/extensions/ExtensionHandler.java | 6 +-
.../xalan/extensions/ExtensionHandlerGeneral.java | 33 +-
.../extensions/ExtensionHandlerJavaClass.java | 15 +-
.../extensions/ExtensionHandlerJavaPackage.java | 18 +-
.../apache/xalan/extensions/ExtensionsTable.java | 3 +-
.../apache/xalan/extensions/MethodResolver.java | 57 +-
.../xalan/extensions/XSLProcessorContext.java | 91 +-
src/org/apache/xalan/lib/Extensions.java | 458 ++--
src/org/apache/xalan/lib/Redirect.java | 4 +-
src/org/apache/xalan/lib/sql/ExtensionError.java | 1 -
src/org/apache/xalan/lib/sql/XConnection.java | 2 -
.../processor/CompilingStylesheetHandler.java | 239 +-
.../xalan/processor/TransformerFactoryImpl.java | 2 +-
src/org/apache/xalan/stree/Parent.java | 43 -
src/org/apache/xalan/stree/SourceTreeHandler.java | 73 +-
src/org/apache/xalan/stree/StreeDOMBuilder.java | 1 -
src/org/apache/xalan/stree/StreeDTMManager.java | 305 +++
src/org/apache/xalan/templates/AVT.java | 4 +-
src/org/apache/xalan/templates/AVTPart.java | 5 +-
src/org/apache/xalan/templates/AVTPartSimple.java | 4 +-
src/org/apache/xalan/templates/AVTPartXPath.java | 7 +-
.../apache/xalan/templates/ElemApplyImport.java | 18 +-
.../apache/xalan/templates/ElemApplyTemplates.java | 47 +-
src/org/apache/xalan/templates/ElemAttribute.java | 18 +-
.../apache/xalan/templates/ElemAttributeSet.java | 12 +-
.../apache/xalan/templates/ElemCallTemplate.java | 10 +-
src/org/apache/xalan/templates/ElemChoose.java | 15 +-
src/org/apache/xalan/templates/ElemComment.java | 11 +-
src/org/apache/xalan/templates/ElemCopy.java | 34 +-
src/org/apache/xalan/templates/ElemCopyOf.java | 39 +-
src/org/apache/xalan/templates/ElemElement.java | 19 +-
.../apache/xalan/templates/ElemExtensionCall.java | 24 +-
src/org/apache/xalan/templates/ElemFallback.java | 9 +-
src/org/apache/xalan/templates/ElemForEach.java | 121 +-
src/org/apache/xalan/templates/ElemIf.java | 12 +-
.../apache/xalan/templates/ElemLiteralResult.java | 10 +-
src/org/apache/xalan/templates/ElemMessage.java | 8 +-
src/org/apache/xalan/templates/ElemNumber.java | 135 +-
src/org/apache/xalan/templates/ElemPI.java | 19 +-
src/org/apache/xalan/templates/ElemParam.java | 6 +-
src/org/apache/xalan/templates/ElemTemplate.java | 32 +-
.../xalan/templates/ElemTemplateElement.java | 358 ++-
src/org/apache/xalan/templates/ElemText.java | 5 +-
.../apache/xalan/templates/ElemTextLiteral.java | 8 +-
src/org/apache/xalan/templates/ElemUnknown.java | 2 +-
src/org/apache/xalan/templates/ElemUse.java | 13 +-
src/org/apache/xalan/templates/ElemValueOf.java | 60 +-
src/org/apache/xalan/templates/ElemVariable.java | 51 +-
src/org/apache/xalan/templates/FuncDocument.java | 90 +-
src/org/apache/xalan/templates/FuncKey.java | 28 +-
src/org/apache/xalan/templates/Stylesheet.java | 11 +-
src/org/apache/xalan/templates/StylesheetRoot.java | 22 +-
src/org/apache/xalan/templates/TemplateList.java | 42 +-
.../templates/TemplateSubPatternAssociation.java | 4 +-
.../xalan/templates/XUnresolvedVariable.java | 9 +-
src/org/apache/xalan/trace/PrintTraceListener.java | 62 +-
src/org/apache/xalan/trace/TraceManager.java | 25 +-
.../xalan/transformer/ClonerToResultTree.java | 155 +-
src/org/apache/xalan/transformer/Counter.java | 19 +-
.../apache/xalan/transformer/CountersTable.java | 15 +-
src/org/apache/xalan/transformer/KeyIterator.java | 30 +-
src/org/apache/xalan/transformer/KeyManager.java | 8 +-
.../apache/xalan/transformer/KeyRefIterator.java | 33 +-
src/org/apache/xalan/transformer/KeyTable.java | 24 +-
src/org/apache/xalan/transformer/KeyWalker.java | 88 +-
src/org/apache/xalan/transformer/NodeSortKey.java | 4 +-
src/org/apache/xalan/transformer/NodeSorter.java | 71 +-
.../xalan/transformer/QueuedStartElement.java | 30 +-
.../xalan/transformer/ResultTreeHandler.java | 235 +-
src/org/apache/xalan/transformer/StackGuard.java | 42 +-
src/org/apache/xalan/transformer/TrAXFilter.java | 6 +-
.../xalan/transformer/TransformSnapshotImpl.java | 18 +-
.../xalan/transformer/TransformerHandlerImpl.java | 998 ++++++++
.../apache/xalan/transformer/TransformerImpl.java | 889 ++++---
.../xalan/transformer/TreeWalker2Result.java | 118 +-
src/org/apache/xalan/xslt/Process.java | 429 ++--
src/org/apache/xml/dtm/ChunkedIntArray.java | 342 +++
src/org/apache/xml/dtm/CoroutineManager.java | 374 +++
src/org/apache/xml/dtm/CoroutineParser.java | 170 ++
src/org/apache/xml/dtm/CoroutineSAXFilterTest.java | 143 ++
src/org/apache/xml/dtm/CoroutineSAXParser.java | 1064 +++++++++
.../apache/xml/dtm/CoroutineSAXParser_Xerces.java | 334 +++
src/org/apache/xml/dtm/CustomStringPool.java | 125 +
src/org/apache/xml/dtm/DTM.java | 894 ++++++++
src/org/apache/xml/dtm/DTMBuilder.java | 476 ++++
.../apache/xml/dtm/DTMConfigurationException.java | 80 +
src/org/apache/xml/dtm/DTMDefaultBase.java | 1541 +++++++++++++
src/org/apache/xml/dtm/DTMDocumentImpl.java | 2363 +++++++++++++++++++
src/org/apache/xml/dtm/DTMException.java | 347 +++
src/org/apache/xml/dtm/DTMFilter.java | 224 ++
src/org/apache/xml/{utils => dtm}/DTMIterator.java | 155 +-
src/org/apache/xml/dtm/DTMManager.java | 537 +++++
src/org/apache/xml/dtm/DTMManagerDefault.java | 656 ++++++
src/org/apache/xml/dtm/DTMNamedNodeMap.java | 323 +++
src/org/apache/xml/dtm/DTMNodeProxy.java | 1156 ++++++++++
src/org/apache/xml/dtm/DTMSafeStringPool.java | 147 ++
src/org/apache/xml/dtm/DTMStringPool.java | 215 ++
.../TreeWalker.java => dtm/DTMTreeWalker.java} | 239 +-
src/org/apache/xml/dtm/DTMWSFilter.java | 36 +
src/org/apache/xml/dtm/ExpandedNameTable.java | 191 ++
src/org/apache/xml/dtm/TestDTM.java | 116 +
src/org/apache/xml/dtm/TestDTMNodes.java | 32 +
src/org/apache/xml/dtm/dom2dtm/DOM2DTM.java | 1364 +++++++++++
src/org/apache/xml/dtm/dom2dtm/UnitTest.java | 177 ++
src/org/apache/xml/dtm/sax2dtm/SAX2DTM.java | 2190 ++++++++++++++++++
src/org/apache/xml/utils/DOMBuilder.java | 6 +-
src/org/apache/xml/utils/DTM.java | 637 -----
src/org/apache/xml/utils/DTMFilter.java | 132 --
src/org/apache/xml/utils/DTMManager.java | 164 --
src/org/apache/xml/utils/FastStringBuffer.java | 1068 +++++----
src/org/apache/xml/utils/IntStack.java | 12 +
src/org/apache/xml/utils/IntVector.java | 64 +-
src/org/apache/xml/utils/NodeVector.java | 122 +-
src/org/apache/xml/utils/PrefixResolver.java | 19 +-
src/org/apache/xml/utils/TreeWalker.java | 23 +-
src/org/apache/xml/utils/XMLString.java | 711 ++++++
.../{PrefixResolver.java => XMLStringFactory.java} | 52 +-
src/org/apache/xpath/Expression.java | 2 +-
src/org/apache/xpath/NodeSet.java | 532 +++--
src/org/apache/xpath/SourceTree.java | 6 +-
src/org/apache/xpath/SourceTreeManager.java | 146 +-
src/org/apache/xpath/XPath.java | 65 +-
src/org/apache/xpath/XPathAPI.java | 12 +-
src/org/apache/xpath/XPathContext.java | 305 ++-
.../apache/xpath/axes/AncestorOrSelfWalker.java | 17 +-
src/org/apache/xpath/axes/AncestorWalker.java | 30 +-
src/org/apache/xpath/axes/AttributeIterator.java | 216 +-
src/org/apache/xpath/axes/AttributeWalker.java | 70 +-
.../apache/xpath/axes/AttributeWalkerOneStep.java | 88 +-
src/org/apache/xpath/axes/AxesWalker.java | 289 ++-
src/org/apache/xpath/axes/ChildIterator.java | 88 +-
src/org/apache/xpath/axes/ChildTestIterator.java | 67 +-
src/org/apache/xpath/axes/ChildWalker.java | 23 +-
.../apache/xpath/axes/ChildWalkerMultiStep.java | 45 +-
src/org/apache/xpath/axes/ChildWalkerOneStep.java | 25 +-
src/org/apache/xpath/axes/DescendantIterator.java | 94 +-
.../apache/xpath/axes/DescendantOrSelfWalker.java | 7 +-
src/org/apache/xpath/axes/DescendantWalker.java | 40 +-
src/org/apache/xpath/axes/FilterExprWalker.java | 53 +-
.../apache/xpath/axes/FollowingSiblingWalker.java | 9 +-
src/org/apache/xpath/axes/FollowingWalker.java | 56 +-
src/org/apache/xpath/axes/LocPathIterator.java | 243 +-
src/org/apache/xpath/axes/NamespaceWalker.java | 98 +-
src/org/apache/xpath/axes/ParentWalker.java | 14 +-
.../apache/xpath/axes/PrecedingSiblingWalker.java | 28 +-
src/org/apache/xpath/axes/PrecedingWalker.java | 88 +-
src/org/apache/xpath/axes/PredicatedNodeTest.java | 32 +-
src/org/apache/xpath/axes/ReverseAxesWalker.java | 33 +-
src/org/apache/xpath/axes/RootWalker.java | 11 +-
src/org/apache/xpath/axes/RootWalkerMultiStep.java | 38 +-
src/org/apache/xpath/axes/SelfWalker.java | 11 +-
src/org/apache/xpath/axes/SelfWalkerOneStep.java | 14 +-
src/org/apache/xpath/axes/SubContextList.java | 4 +-
src/org/apache/xpath/axes/UnionPathIterator.java | 212 +-
src/org/apache/xpath/compiler/Compiler.java | 43 +-
src/org/apache/xpath/functions/FuncBoolean.java | 2 +-
src/org/apache/xpath/functions/FuncCeiling.java | 2 +-
src/org/apache/xpath/functions/FuncConcat.java | 2 +-
src/org/apache/xpath/functions/FuncContains.java | 2 +-
src/org/apache/xpath/functions/FuncCount.java | 10 +-
src/org/apache/xpath/functions/FuncCurrent.java | 30 +-
.../apache/xpath/functions/FuncDoclocation.java | 28 +-
.../xpath/functions/FuncExtElementAvailable.java | 2 +-
.../apache/xpath/functions/FuncExtFunction.java | 26 +-
.../xpath/functions/FuncExtFunctionAvailable.java | 2 +-
src/org/apache/xpath/functions/FuncFalse.java | 2 +-
src/org/apache/xpath/functions/FuncFloor.java | 2 +-
src/org/apache/xpath/functions/FuncGenerateId.java | 11 +-
src/org/apache/xpath/functions/FuncId.java | 37 +-
src/org/apache/xpath/functions/FuncLang.java | 21 +-
src/org/apache/xpath/functions/FuncLast.java | 52 +-
src/org/apache/xpath/functions/FuncLocalPart.java | 14 +-
src/org/apache/xpath/functions/FuncNamespace.java | 23 +-
.../apache/xpath/functions/FuncNormalizeSpace.java | 120 +-
src/org/apache/xpath/functions/FuncNot.java | 2 +-
src/org/apache/xpath/functions/FuncNumber.java | 2 +-
src/org/apache/xpath/functions/FuncPosition.java | 41 +-
src/org/apache/xpath/functions/FuncQname.java | 45 +-
src/org/apache/xpath/functions/FuncRound.java | 2 +-
src/org/apache/xpath/functions/FuncStartsWith.java | 4 +-
src/org/apache/xpath/functions/FuncString.java | 4 +-
.../apache/xpath/functions/FuncStringLength.java | 2 +-
src/org/apache/xpath/functions/FuncSubstring.java | 2 +-
.../apache/xpath/functions/FuncSubstringAfter.java | 10 +-
.../xpath/functions/FuncSubstringBefore.java | 2 +-
src/org/apache/xpath/functions/FuncSum.java | 17 +-
.../apache/xpath/functions/FuncSystemProperty.java | 2 +-
src/org/apache/xpath/functions/FuncTranslate.java | 2 +-
src/org/apache/xpath/functions/FuncTrue.java | 2 +-
.../xpath/functions/FuncUnparsedEntityURI.java | 15 +-
src/org/apache/xpath/functions/Function.java | 2 +-
.../apache/xpath/functions/FunctionDef1Arg.java | 47 +-
src/org/apache/xpath/objects/XBoolean.java | 11 +-
src/org/apache/xpath/objects/XBooleanStatic.java | 11 +-
.../{XNull.java => XMLStringFactoryImpl.java} | 121 +-
src/org/apache/xpath/objects/XNodeSet.java | 289 +--
src/org/apache/xpath/objects/XNull.java | 19 +-
src/org/apache/xpath/objects/XNumber.java | 165 +-
src/org/apache/xpath/objects/XObject.java | 85 +-
src/org/apache/xpath/objects/XRTreeFrag.java | 336 +--
src/org/apache/xpath/objects/XString.java | 1061 ++++++++-
src/org/apache/xpath/objects/XStringForChars.java | 185 ++
src/org/apache/xpath/objects/XStringForFSB.java | 1043 +++++++++
src/org/apache/xpath/operations/Variable.java | 2 +-
.../apache/xpath/patterns/AncestorStepPattern.java | 42 +-
src/org/apache/xpath/patterns/FunctionPattern.java | 19 +-
src/org/apache/xpath/patterns/NodeTest.java | 123 +-
src/org/apache/xpath/patterns/StepPattern.java | 57 +-
src/org/w3c/dom/traversal/NodeIterator.java | 2 +
src/trax/trax.properties | 11 -
todo.xml | 402 ----
todo.xsl | 146 --
trax_bugs.xml | 53 -
xdocs/sources/design/compilation.gif | Bin 13454 -> 0 bytes
xdocs/sources/design/conceptual.gif | Bin 45017 -> 0 bytes
xdocs/sources/design/data.gif | Bin 59498 -> 0 bytes
xdocs/sources/design/design2_0_0.xml | 272 ---
xdocs/sources/design/org_apache.gif | Bin 976 -> 0 bytes
xdocs/sources/design/process.gif | Bin 19895 -> 0 bytes
xdocs/sources/design/trax.gif | Bin 11435 -> 0 bytes
xdocs/sources/design/xalan.gif | Bin 15576 -> 0 bytes
xdocs/sources/design/xalan1_1x1.gif | Bin 12782 -> 0 bytes
xdocs/sources/design/xmllogo.gif | Bin 2367 -> 0 bytes
xdocs/sources/design/xpath.gif | Bin 9798 -> 0 bytes
xdocs/sources/design/xslt_abstract.gif | Bin 9036 -> 0 bytes
xdocs/sources/entities.ent | 14 -
xdocs/sources/trax/trax.xml | 533 -----
xdocs/sources/xalan-collate.xsl | 31 -
xdocs/sources/xalan-jlocal.xml | 88 -
xdocs/sources/xalan-jsite.xml | 91 -
xdocs/sources/xalan/STATUS | 6 -
xdocs/sources/xalan/commandline.xml | 121 -
xdocs/sources/xalan/extensions.xml | 720 ------
xdocs/sources/xalan/extensionslib.xml | 325 ---
xdocs/sources/xalan/faq.xml | 141 --
xdocs/sources/xalan/getstarted.xml | 63 -
xdocs/sources/xalan/history.xml | 424 ----
xdocs/sources/xalan/index.xml | 99 -
xdocs/sources/xalan/overview.xml | 195 --
xdocs/sources/xalan/readme.xml | 288 ---
xdocs/sources/xalan/resources.xml | 100 -
xdocs/sources/xalan/samples.xml | 375 ---
xdocs/sources/xalan/usagepatterns.xml | 501 ----
xdocs/sources/xalan/whatsnew.xml | 69 -
xdocs/sources/xalandesign.xml | 67 -
xdocs/style/dtd/spec.dtd | 578 -----
xdocs/style/dtd/xsl-html40s.dtd | 1505 ------------
xdocs/style/loaderdesign.xml | 7 -
xdocs/style/stylesheets/design2project.xsl | 33 -
xdocs/style/stylesheets/designdoc2html.xsl | 217 --
xdocs/style/stylesheets/done.xsl | 55 -
xdocs/style/stylesheets/spec.xsl | 220 --
xdocs/style/stylesheets/xml2fo.xsl | 489 ----
xdocs/xml-site-style.tar.gz | Bin 23208 -> 0 bytes
419 files changed, 26260 insertions(+), 31180 deletions(-)
diff --git a/KEYS b/KEYS
deleted file mode 100644
index c8683c8..0000000
--- a/KEYS
+++ /dev/null
@@ -1,73 +0,0 @@
-This file contains the PGP keys of various Xalan developers.
-Please don't use them for email unless you have to. Their main
-purpose is code signing.
-
-Xalan users: pgp < KEYS
-Xalan developers: pgp -kxa <your name> and append it to this file.
-
-
-Type Bits/KeyID Date User ID
-pub 1024/30A21D55 1999/11/04 Shane Curcuru <sh...@lotus.com>
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP Personal Privacy 6.5.3
-
-mQGiBDghjNIRBADXB4UY4YfZ2DmbSushlzPZCkY00iDPUB+GkW6FQhgnGCLZovgy
-FhCnCsKdN1xyHFq/Ns3PV3HPrMGxFKgVOfRuxREbF8CoXAa/u0qR1WoAm+rlyC9l
-OVsHdXxyOpZ8e4SPGne8LQYZwr2q+LsHiXOZktkaBo8ua8F4EJYkBMFhZQCg/4Iw
-jXmfpt661Essmf8d05cMdAcEAL0r+PrFxCmrU8Ok+r74+eqyclxVbiDbOf7Uef6N
-fEJmC5ihX7p8k8eEf2XepeAo6N0gdOxYVXVwcoRCmqPy7SSg1jnXqKOnA87ylv16
-lOiJ5WUkiVX96WOWEsbbYKuggmWeDL+6iFc9hp6oEP2sf/geC8AEAEHTPfneJzpo
-3z28A/9iX41r4K0iRx5eIJu2KUrjdpPxhn0JPe9dz2XzWZIciNeki+ThrcarEj9h
-lmfvcGLifXbQfXuFid3btMsBRI8dqAbbXmyfvCYYSHDOkXEmoMW66AWfeF4hgfHF
-SA5lmcpH4mtHU69uC0+cvYlRROP+HaeOepYbriA+9A9Qq4MAW7QnU2hhbmUgQ3Vy
-Y3VydSA8c2hhbmVfY3VyY3VydUBsb3R1cy5jb20+iQBOBBARAgAOBQI4IYzSBAsD
-AgECGQEACgkQMuwXWTCiHVXQIQCg1Q1MKkWygIsDGAOhiPaM09pTdlUAniTeCkoO
-I0+2IgD/NtqnGDaSvNDniQBGBBARAgAGBQI4qZk/AAoJEFHrPvFXdlryVbIAoO/e
-gti1esgRI6GErIhICg3IoctfAKDlpw6NWq/WTxk1Aa0pN/1b6fmD5LkCDQQ4IYzS
-EAgA9kJXtwh/CBdyorrWqULzBej5UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstD
-qZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryD
-xUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSR
-BzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGze
-MyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1B
-n5x8vYlLIhkmuquiXsNV6TILOwACAggAzu/QObuykLGwPLCoSQEKfeNSGPOr7wK2
-XSp8c8DS1B2jrVL4oH+PYb6wVhcNd3+Xt4+P/BfllemRU80GD6t/RHoTEZhIhp/3
-8erBLJfLPqFDYdjKf30EMMjFWIhecg9QnZSXU2f7EJ24L+/vnotjAz6hZfJvjb1b
-1tX3PQ1W2e+lTFhSz1RYSKx4msEcez3Z0wValNqWlet3t78cCZRT4fPOkyM4C7Fb
-tK6csvFUXkIfu3qgx4aVk8HUIwXkHZD2W7XiFSPhMtgcPeUAb3AIeYJs/iqP4H4N
-4oJ8B6tXxmpDm3P85PhC4gJOFUThnZKGkLtWwdUago8XSKB5VUA/UIkARgQYEQIA
-BgUCOCGM0gAKCRAy7BdZMKIdVXS+AKDhyJwx048+c7ATINSGf6IxiXQyYQCg46pJ
-/fc0HVWUvHfjioDRaLQUIv8=
-=ut/M
------END PGP PUBLIC KEY BLOCK-----
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: PGP 6.5.8
-
-mQGiBDnjTUMRBADGzi7y1XiTty/HZ1QhRQxMkyf7JD/E5dGXCVLRoSQV9/hdKPtF
-OGzjZQt6DssPnisgrW6hSLEs8GrZKHCZE6z8h5Yekg+WJTs3K0LNJ3X/tStVe/fU
-DarLM7u0qwtcsaISWFMRoy1xbrxBkpFBeNkD+FRUk8sXTVXoOGvm3Fw/8wCg/+pg
-Y7XD6ZIA0m/CxrxR+xTBri8D/Rk4/5rzsT42AImJwAweJidzlmmvWcDGjZolDxrH
-TlVpIXFjGFJBj9tg1Xz+3/w9zKyk900gcwlHU7uz28xPylishgd8DyAb/enSXsEy
-NC1EagypAbMpEhTAdBaUNPb6t8yOX3dHUki5yuZ+PryOyKWTaiHyhHLwJ5vZi9xm
-o+/ZBACqjUqAL27JOC1qw1zrWCQQzEJIeIIdGFEGoMBiFC425vh/1dJA1LUICHSZ
-bZvg7VlvAMErnZb/IcVx4LX4R8Uergh0E/4Xi6krTYZvDuI4RmP5Jn/7IaK2c27I
-lCx7I0hj4CQIWVIEVCDAGjJk9E38VahJYHySHzjMdhXSjTbqW7QnTG90dXN4c2wg
-VGVhbSA8TG90dXN4c2xfVGVhbUBsb3R1cy5jb20+iQBOBBARAgAOBQI5401DBAsD
-AgECGQEACgkQGbnBi2RCw9yVZwCgjxC/ie5/GhPLZyQhMSQvJuDJP8kAn17UNfN/
-tRtFfcJDrNcC7P21ut+VuQINBDnjTUMQCAD2Qle3CH8IF3KiutapQvMF6PlTETlP
-tvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2
-Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVy
-OtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPw
-pVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnI
-Byl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICB/9g
-5aR6mWbvaZAwN/IFwIC9cd54cDAW6pvowo6/gkgLfwULI7iGR8jrHHs9rSu968fV
-3L7ys3pFLR93/22mJR1InTp+qQdUntcnh5fwbAd9Z8NoM2QEuY4c7cVjobazOgPf
-C6XZkS1C3tHcvUedzR8kmf1hiRtILWW2pF7A9JbJB3RHcuBut3cS3eME2+s+dCSl
-SugZKyVFuiDoKO59TD7OIn9dwipVhX7UgG0uLDlZzCd9dHLsrlr75LDxIZyiifDB
-1oa+xM5smFYEqux+3lf/UNGhpxcaGDJM09UUpOVv8yVz+FZQilZ7Bu0XKvnj1p91
-YFVAiQvQHijya+kMy6MCiQBGBBgRAgAGBQI5401DAAoJEBm5wYtkQsPcPlUAoNkm
-fMB0HL71h5QYfB/NRJupWsWUAKCi2UETq9cwA7QtuMyQ1cjvkA1mnQ==
-=lNZ2
------END PGP PUBLIC KEY BLOCK-----
-
diff --git a/License b/License
deleted file mode 100644
index 21156a6..0000000
--- a/License
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 207f367..0000000
--- a/Makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-###########################################################
-# Makefile for xml-xalan, an XSLT Processor
-#
-# Please note the following assumptions!
-# - See make.include for system tools definitions. We assume
-# that each of these tools are on the path and properly setup.
-#
-# - Use GNU make or an equivalent. On Win32, you can see
-# http://sourceware.cygnus.com/cygwin for a port.
-#
-# - With JDK 1.1.7B or earlier, a 'make all' may fail the first
-# time. Try running it again twice, and everything should work.
-# Note that when using JDK 1.2.x, it all works fine. We'll work on it.
-#
-# - Note the several attempts to determine if we're on WinXX or Unix:
-# ifeq (,$(findstring usr,$(PATH)))
-# Feel free to modify to work for your machine, and suggest a better
-# way to create a platform-independent makefile.
-#
-# - The docs directory currently requires javadoc from the JDK 1.2.x
-# You may need to edit make.include 'JAVADOC12' for your system.
-#
-# - Yes, we plan to move to an 'Ant' based make system soon
-# (Ant is from jakarta.apache.org and is a Java-based make)
-###########################################################
-
-include make.include
-
-SUBDIRS = src
-
-###########################################################
-# Main targets definitions
-#
-# Note that make.include also defines common targets
-###########################################################
-all: makesubdirs jars makesamples makedocs
-
-build: makesubdirs jars
-# To change debug/release options, see make.include for JAVADEBUG flag
-
-# Create a distribution module
-dist: makedist
-
-docs: makedocs
-
-samples: makesamples
-
-jars: makesubdirs $(JARNAME)
-
-compat: makecompat compatjars
-
-PROPPATH = org$(PATHSEP)apache$(PATHSEP)xalan$(PATHSEP)res
-$(JARNAME)::
- -mkdir src/$(CLASS_DIR)/META-INF;
- -mkdir src/$(CLASS_DIR)/META-INF/services;
- $(CP) src/$(PROPPATH)/*.properties src/$(CLASS_DIR)/$(PROPPATH)/.; \
- $(CP) src/org/apache/serialize/*.properties src/$(CLASS_DIR)/org/apache/serialize/.; \
- $(CPR) src/META-INF/* src/$(CLASS_DIR)/META-INF/.; \
- echo -n "Jarring ../bin/$@ .. "; \
- cd src/$(CLASS_DIR); $(JAR) $(JARFLAGS) ../../bin/$@ META-INF javax org; \
- echo "done"
-
-compatjars:
- echo -n "Jarring ../bin/$@ .. "; \
- cd src/$(CLASS_DIR); $(JAR) $(JARFLAGS) ../../bin/$@.jar org/apache/xalan/xslt org/apache/xalan/xpath; \
- echo "done"
-
-# Note: When making dist, copy the built docs up one level
-# Note: Create both a super-jar and a tar.gz archive
-DISTDIR = $(PRODUCT_NAME)$(VERSION)
-.PHONY: makedist
-makedist:
- echo Prepare creating $(DIST_NAME)
- -mkdir $(DISTDIR)
- $(CP) * $(DISTDIR);\
- $(CPR) xdocs $(DISTDIR);\
- $(CPR) samples $(DISTDIR);\
- $(CPR) src $(DISTDIR);\
- $(CPR) build/docs $(DISTDIR);\
- echo Create $(JARDISTNAME);\
- $(JAR) -cf $(JARDISTNAME) $(DISTDIR);\
- echo Create $(TARDISTNAME);\
- $(TARGZ) $(TARDISTNAME) $(DISTDIR);\
- echo Create $(ZIPDISTNAME);\
- $(JAR) -cMf $(ZIPDISTNAME) $(DISTDIR);\
- echo Done creating $(JARDISTNAME) etc., you should sign this with PGP before posting
-
-# Subsidiary targets are defined in make.include
-clean:: cleansubdirs cleandocs cleansamples
-
-compatclean:: cleancompat
-
diff --git a/bin/ant.jar b/bin/ant.jar
deleted file mode 100644
index e4efab3..0000000
Binary files a/bin/ant.jar and /dev/null differ
diff --git a/bin/antRun b/bin/antRun
deleted file mode 100644
index f0a18f1..0000000
--- a/bin/antRun
+++ /dev/null
@@ -1,9 +0,0 @@
-#! /bin/sh
-
-# Args: DIR command
-cd "$1"
-CMD="$2"
-shift
-shift
-
-exec $CMD "$@"
diff --git a/bin/antRun.bat b/bin/antRun.bat
deleted file mode 100755
index 816cb60..0000000
--- a/bin/antRun.bat
+++ /dev/null
@@ -1,20 +0,0 @@
-@echo off
-
-# Change drive and directory to %1 (Win9X only for NT/2K use "cd /d")
-cd %1
-%1\
-set ANT_RUN_CMD=%2
-shift
-shift
-
-set PARAMS=
-:loop
-if ""%1 == "" goto runCommand
-set PARAMS=%PARAMS% %1
-shift
-goto loop
-
-:runCommand
-rem echo %ANT_RUN_CMD% %PARAMS%
-%ANT_RUN_CMD% %PARAMS%
-
diff --git a/bin/bsf.jar b/bin/bsf.jar
deleted file mode 100644
index 19036c1..0000000
Binary files a/bin/bsf.jar and /dev/null differ
diff --git a/bin/stylebook-1.0-b3_xalan-2.jar b/bin/stylebook-1.0-b3_xalan-2.jar
deleted file mode 100644
index 2b640e9..0000000
Binary files a/bin/stylebook-1.0-b3_xalan-2.jar and /dev/null differ
diff --git a/bin/xalan2jdoc.jar b/bin/xalan2jdoc.jar
deleted file mode 100644
index 484b47b..0000000
Binary files a/bin/xalan2jdoc.jar and /dev/null differ
diff --git a/bin/xerces.jar b/bin/xerces.jar
deleted file mode 100644
index 3c7d18a..0000000
Binary files a/bin/xerces.jar and /dev/null differ
diff --git a/build.bat b/build.bat
deleted file mode 100755
index 6c91b9d..0000000
--- a/build.bat
+++ /dev/null
@@ -1,56 +0,0 @@
-@echo off
-rem Prerequisites: user must set JAVA_HOME
-if "%JAVA_HOME%" == "" goto error
-echo.
-echo Xalan-J 2.x Build
-echo -------------
-
-rem Default ANT_HOME if not set
-set SAVEANTHOME=%ANT_HOME%
-if "%ANT_HOME%" == "" set ANT_HOME=.
-
-rem This automatically adds system classes to CLASSPATH
-set SAVECP=%CLASSPATH%
-if exist "%JAVA_HOME%\lib\tools.jar" set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\tools.jar
-if exist "%JAVA_HOME%\lib\classes.zip" set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\classes.zip
-
-rem Default locations of jars we depend on
-set ANT=bin\ant.jar
-set XERCES=bin\xerces.jar
-set BSF=bin\bsf.jar
-set BSFENGINES=bin\bsfengines.jar
-set DOCGENERATOR=bin\stylebook-1.0-b3_xalan-2.jar
-set DOCLET=bin\xalanjdoc.jar
-
-rem DOCLET must be on system CLASSPATH for javadocs task to work. Just including it in
-rem -classpath arg for java or javadoc call doesn't work....
-rem set CLASSPATH=%ANT%;%XERCES%;%BSF%;%BSFENGINES%;%DOCGENERATOR%;%DOCLET%;%CLASSPATH%
-set CLASSPATH=%ANT%;%XERCES%;%DOCGENERATOR%;%DOCLET%;%CLASSPATH%
-echo.
-echo Building with classpath %CLASSPATH%
-echo Starting Ant...
-
-rem Temporarily, up the -mx memory since we compile a really big glob of files
-echo %JAVA_HOME%\bin\java.exe -mx64m -Dant.home="%ANT_HOME%" -classpath "%CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
-"%JAVA_HOME%\bin\java.exe" -mx64m -Dant.home="%ANT_HOME%" -classpath "%CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
-
-goto end
-
-:error
-
-echo "ERROR: JAVA_HOME not found in your environment."
-echo.
-echo "Please, set the JAVA_HOME environment variable to match the"
-echo "root directory of the Java Virtual Machine you want to use."
-
-:end
-rem Cleanup environment variables
-set CLASSPATH=%SAVECP%
-set SAVECP=
-set ANT_HOME=%SAVEANTHOME%
-set SAVEANTHOME=
-set XERCES=
-set BSF=
-set BSFENGINES=
-set DOCLET=
-set ANT=
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 7949501..0000000
--- a/build.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-# Name: build.sh
-# Author: Shane Curcuru
-
-echo "build.sh beginning..."
-
-if [ "$JAVA_HOME" = "" ] ; then
- echo "You must set JAVA_HOME, sorry; also JDK 1.1x add classes.zip to CLASSPATH!"
- exit 1
-fi
-
-# Default to UNIX-style pathing
-CLPATHSEP=:
-# if we're on a Windows box make it ;
-uname | grep WIN && CLPATHSEP=\;
-
-# Update SERVLET to point to JAR containing javax.servlet and javax.servlet.http
-# packages; alternately include this in the classpath yourself
-SERVLET=/jswdk-1.0.1/lib/servlet.jar
-
-# Default locations for each of our jars; change as needed
-BINDIR=./bin
-ANT=$BINDIR/ant.jar
-TOOLS_JAR=$JAVA_HOME/lib/tools.jar
-XERCES=$BINDIR/xerces.jar
-BSF=$BINDIR/bsf.jar
-BSFENGINES=$BINDIR/bsfengines.jar
-DOCGENERATOR=$BINDIR/stylebook-1.0-b3_xalan-2.jar
-DOCLET=$BINDIR/xalanjdoc.jar
-
-# Make sure this classpath scheme works. I.e., can javadoc find xalanjdoc.Standard?
-TEMP_CP="$ANT${CLPATHSEP}$TOOLS_JAR${CLPATHSEP}$XERCES${CLPATHSEP}$BSF${CLPATHSEP}$BSFENGINES${CLPATHSEP}$DOCGENERATOR${CLPATHSEP}$DOCLET${CLPATHSEP}$CLASSPATH"
-
-echo "Starting Ant with targets: $@"
-echo " ...with classpath: $TEMP_CP"
-
-"$JAVA_HOME"/bin/java -Dant.home=. -classpath "$TEMP_CP" org.apache.tools.ant.Main $@
-
-echo "build.sh complete!"
-
-
-
diff --git a/build.xml b/build.xml
deleted file mode 100644
index 19a237a..0000000
--- a/build.xml
+++ /dev/null
@@ -1,732 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- ===================================================================
-
- Build file for Xalan-J 2.x - for use with the Jakarta Ant java build tool
-
-Setup instructions:
- Before running an Ant build, you must
-
- - set the JAVA_HOME environment variable to the JDK root directory
- - To build 'servlet' sample: Include Servlet SDK in your classpath
- - To build docs/javadocs: use JDK 1.2.x or higher
-
-
-Build Instructions:
- To build, run
- build.bat (win32) or build.sh (unix) - optionally with a target arg as indicated below -
- in the directory where this file is located.
-
- The batch/shell file sets up your classpath and calls java org.apache.tools.ant.Main
-
-Build targets
- This build file supports the following targets:
- - compile compiles Xalan-J in ./build/classes.
- - jar creates ./build/xalan.jar [the default target]
- - samples compiles samples and puts classes in ./build/xalanxamples.jar
- - servlet compiles sample servlets and puts classes in ./build/xalanservlet.jar
- - docs generates the human-written documentation in ./build/docs
- - javadocs [or apidocs] generates the API documentation in ./build/docs/apidocs
- - compat.jar compiles compatibility tree and creates ./build/xalanj1compat.jar
- - compat.apidocs generates javadoc for the compatibility jar
- - clean purges the build tree.
- - dist creates a complete distribution in ./xalan-j_x_x_x
- - auto* targets used by automated build programs, without dependencies
- - minitest compile and run the minitest in xml-xalan\test
- - conftest compile and run the conftest in xml-xalan\test
- - smoketest run a pre-checkin smoketest (5 to 10 minutes).
- - print.docs create PDF documentation (requires fop.jar and w3c.jar).
-
-If you build a target that depends on other targets, those other targets are created in
-the correct order.
-
-Authors:
- Shane Curcuru <sh...@lotus.com>
- Don Leslie <do...@lotus.com>
-
-Copyright:
- Copyright (c) 1999-2000 The Apache Software Foundation.
-
- - Much of this file stolen from Stefano's xml-xerces build.xml
-
- $Id$
-
-==================================================================== -->
-
-<project name="Xalan" default="jar" basedir=".">
- <!-- =================================================================== -->
- <!-- Defines variables used by the other targets -->
- <!-- =================================================================== -->
- <property name="version" value="2_0_1"/>
- <property name="name" value="xalan"/>
- <property name="Name" value="Xalan-Java"/>
- <property name="year" value="2000"/>
-
-
- <property name="build.compiler" value="classic"/>
- <property name="debug" value="off"/>
-
- <property name="mfinf.dir" value="./src/META-INF"/>
- <property name="src.dir" value="./src"/>
- <property name="xpath.reldir" value="org/apache/xpath"/>
- <property name="xalan.reldir" value="org/apache/xalan"/>
- <property name="trax.reldir" value="javax/xml/transform"/>
- <property name="serialize.reldir" value="org/apache/serialize"/>
- <property name="serializer.reldir" value="org/apache/xalan/serialize"/>
- <property name="jaxp.reldir" value="javax/xml/parsers"/>
- <property name="sax.reldir" value="org/xml/sax"/>
- <property name="w3c.reldir" value="org/w3c"/>
- <property name="build.dir" value="./build"/>
- <!-- Where we put the xalan.jar we compile by default -->
- <property name="build.xalan.jar" value="${build.dir}/xalan.jar"/>
- <property name="build.classes" value="${build.dir}/classes"/>
- <property name="build.docs" value="${build.dir}/docs"/>
- <property name="build.samples" value="${build.dir}/samples"/>
- <property name="build.apidocs" value="${build.docs}/apidocs"/>
-
- <!-- Xalan-J1 compatability stuff. -->
- <property name="compat.jar" value="xalanj1compat.jar"/>
- <property name="compat.src.dir" value="./compat_src"/>
- <property name="build.compat.classes" value="${build.dir}/compat_classes"/>
- <property name="build.compat.jar" value="${build.dir}/${compat.jar}"/>
- <property name="build.compat.apidocs" value="${build.docs}/compat_apidocs"/>
-
- <!-- Reference to the top level of the test source code area. -->
- <property name="tests.dir" value="../test/java/"/>
- <property name="samples.dir" value="./samples"/>
- <property name="bin.dir" value="./bin"/>
- <property name="xerces.jar" value="${bin.dir}/xerces.jar"/>
- <property name="bsf.jar" value="${bin.dir}/bsf.jar"/>
-
- <property name="dist.file" value="${name}-j_${version}"/>
- <property name="dist.dir" value="${build.dir}/${dist.file}"/>
-
- <property name="xdocs.dir" value="./xdocs"/>
- <property name="version.file" value="org/apache/xalan/processor/XSLProcessorVersion.java"/>
- <property name="xdocs.book" value="${xdocs.dir}/sources/xalan-jlocal.xml"/>
- <property name="xdocs.style" value="${xdocs.dir}/style"/>
- <property name="xalanonly-styledocs"
- value="dtd/xsl-html40s.dtd,dtd/spec.dtd,stylesheets/patterns.xsl,stylesheets/notice.xsl,stylesheets/spec.xsl,stylesheets/done.xsl,loaderdesign.xml,stylesheets/design2project.xsl,stylesheets/designdoc2html.xsl,stylesheets/xml2fo.xsl"/>
- <property name="doc.generator" value="org.apache.stylebook.StyleBook"/>
- <property name="doc.generator.styletargz" value="${xdocs.dir}/xml-site-style.tar.gz"/>
- <property name="doc.generator.styletar" value="${xdocs.dir}/xml-site-style.tar"/>
-
- <property name="site.root" value="./xml-site"/>
- <property name="site.dir" value="${site.root}/target/xalan-j"/>
- <property name="site.book" value="${xdocs.dir}/sources/xalan-jsite.xml"/>
-
- <property name="test.loggingLevel" value="5"/>
- <!-- The excluded lre tests are at issue or are new bugs, and should be
- included as soon as they are resolved. -->
- <property name="test.excludes" value="impincl12.xsl;lre02.xsl;lre03.xsl;lre07.xsl;lre10.xsl;lre12.xsl;lre21.xsl"/>
- <property name="test.embedded" value="embed01.xsl;embed02.xsl;embed07.xsl"/>
-
- <!-- =================================================================== -->
- <!-- Prepares the xdocs/style and the build directories -->
- <!-- =================================================================== -->
- <target name="prepare">
- <mkdir dir="${build.dir}"/>
- <mkdir dir="${build.classes}"/>
- <!-- Note that all testing-related targets *must* depend on
- this target, either directly or indirectly, to get
- the tests-available property set for them.
- -->
- <available file="${tests.dir}" property="tests-available" />
- </target>
- <target name="prepare.docs" depends="prepare">
- <gunzip src="${doc.generator.styletargz}"/>
- <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
- <delete file="${doc.generator.styletar}"/>
- <mkdir dir="${build.docs}"/> <!-- transform todo.xml and put the result in build/docs -->
- <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.dir}/$xalan.jar">
- <arg line="-in todo.xml -xsl todo.xsl -out ${build.docs}/todo.html"/>
- </java>
- <!-- We use a Notes agent to extract Xalan-Java 2 commits from our team database into commits.xml. The following operation
- transforms commits.xml (just including source code commits) and puts the result in xdocs/sources/xalan for inclusion in the
- readme.xml -->
- <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.dir}/$xalan.jar">
- <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done.xsl -out ${xdocs.dir}/sources/xalan/DONE"/>
- </java>
- <!-- Generate the Xalan-J2 design document -->
- <java fork="yes" classname="${doc.generator}"
- classpath="${java.class.path}:${build.dir}/xalan.jar">
- <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./build/docs/design/
- ./xdocs/sources/xalandesign.xml ./xdocs/style"/>
- </java>
-
- <mkdir dir="${build.apidocs}"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Copy over the source code -->
- <!-- We're currently skipping this step, since it seems extraneous if
- you're not going to be using the filtering stuff. -->
- <!-- =================================================================== -->
-
- <!-- =================================================================== -->
- <!-- Compiles the source tree - xpath (independent xpath engine) -->
- <!-- =================================================================== -->
- <!-- Note: Still too many cross-dependencies to do this separately -->
- <target name="compile.xpath" depends="prepare">
- <javac srcdir="${src.dir}/${xpath.reldir}"
- destdir="${build.classes}"
- debug="${debug}" />
- </target>
-
- <!-- =================================================================== -->
- <!-- Compiles the source tree - xalan (the processor) -->
- <!-- =================================================================== -->
- <!-- Note: Still too many cross-dependencies to do this separately -->
- <target name="compile.xalan" depends="compile.xpath">
- <javac srcdir="${src.dir}/${xalan.reldir}"
- destdir="${build.classes}"
- debug="${debug}"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Compile entire source tree - except Xalan-J 1 compatability classes -->
- <!-- =================================================================== -->
- <target name="compile" depends="prepare"
- description="Compile Xalan the normal way" >
- <echo message="compile entire source tree and copy .properties and .res files to build tree."/>
- <!-- Note: split compile into separate javac steps to avoid JDK 1.1.8 bug reported at:
- http://developer.java.sun.com/developer/bugParade/bugs/4043508.html
- which causes an error like:
- [javac] E:\builds\xml-xalan\java\src\org\apache\xalan\templates\ElemTemplate.java:108: Cyclic class inheritance or scoping.
- -->
- <javac srcdir="${src.dir}"
- destdir="${build.classes}"
- includes="javax/**/*.java"
- debug="${debug}"/>
- <javac srcdir="${src.dir}"
- destdir="${build.classes}"
- includes="org/w3c/**/*.java,org/w3c/**/*.java"
- debug="${debug}"/>
- <javac srcdir="${src.dir}"
- destdir="${build.classes}"
- includes="org/apache/xml/**/*.java,org/apache/xpath/**/*.java"
- debug="${debug}"/>
- <javac srcdir="${src.dir}"
- destdir="${build.classes}"
- includes="org/apache/xalan/**/*.java"
- debug="${debug}"/>
- <copy todir="${build.classes}">
- <fileset dir="${src.dir}" includes="**/*.properties,**/*.res,**/javax.xml.parsers.*,**/javax.xml.transform.*"/>
- </copy>
- </target>
-
- <!-- =================================================================== -->
- <!-- Compiles other source trees -->
- <!-- =================================================================== -->
- <target name="compile.trax" depends="prepare">
- <javac srcdir="${src.dir}"
- destdir="${build.classes}"
- includes="${trax.reldir}/**"
- debug="${debug}"/>
- </target>
- <target name="compile.serialize" depends="prepare">
- <javac srcdir="${src.dir}"
- destdir="${build.classes}"
- includes="${serialize.reldir}/**"
- debug="${debug}"/>
- </target>
- <target name="compile.sax" depends="prepare">
- <javac srcdir="${src.dir}/${sax.reldir}"
- destdir="${build.classes}"
- debug="${debug}"/>
- </target>
- <target name="compile.w3c" depends="prepare">
- <javac srcdir="${src.dir}/${w3c.reldir}"
- destdir="${build.classes}"
- debug="${debug}"/>
- </target>
- <target name="compile.jaxp" depends="prepare">
- <javac srcdir="${src.dir}/${jaxp.reldir}"
- destdir="${build.classes}"
- debug="${debug}"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the xalan JAR -->
- <!-- =================================================================== -->
- <target name="jar" depends="compile"
- description="Jar up xalan.jar" >
- <jar jarfile="${build.xalan.jar}" manifest="src\MANIFEST.MF" basedir="${build.classes}"/>
- </target>
- <target name="package" depends="jar">
- <!-- OK, what are the 'Apache-standard' names for various targets? -->
- <echo message="package is an alias for jar"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the Xalan-J1 compatability JAR -->
- <!-- =================================================================== -->
- <target name="compat.jar" depends="jar">
- <echo message="compile and JAR Xalan-J 1 compability API."/>
- <mkdir dir="${build.compat.classes}"/>
- <javac srcdir="${compat.src.dir}" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.compat.classes}"
- includes="**/*.java"
- debug="${debug}"/>
- <copy todir="${build.compat.classes}">
- <fileset dir="${compat.src.dir}" includes="**/*.properties,**/*.res"/>
- </copy>
- <jar jarfile="${build.compat.jar}" manifest="src\MANIFEST.MF" basedir="${build.compat.classes}"/>
- </target>
- <target name="compat.package" depends="compat.jar">
- <echo message="compat.package is an alias for compat.jar"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the Xalan-J1 compatability javadoc -->
- <!-- =================================================================== -->
- <target name="compat.javadocs" depends="jar">
- <mkdir dir="${build.compat.apidocs}"/>
- <javadoc
- classpath="${java.class.path}"
- public="true"
- sourcepath="${compat.src.dir}"
- overview="${compat.src.dir}/compatOverview.html"
- packagenames="org.apache.xalan.xslt,org.apache.xalan.xpath,org.apache.xalan.xpath.xml"
- author="true"
- version="true"
- use="true"
- destdir="${build.compat.apidocs}"
- windowtitle="Xalan-Java 1 Compatability"
- doctitle="Xalan-Java 1 Compatability"
- bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
- </javadoc>
- </target>
- <target name="compat.apidocs" depends="compat.javadocs">
- <echo message="compat.apidocs is an alias for compat.javadocs"/>
- </target>
-
-
- <!-- =================================================================== -->
- <!-- Compiles the samples (servlet excluded) and jars the class files -->
- <!-- =================================================================== -->
- <target name="samples" depends="jar"
- description="Compile and jar the samples (except servlet)" >
- <property name="exclude" value="*.xml,*.xsl,*.txt,*.html,*.properties,*.out"/>
- <mkdir dir="${build.samples}"/>
- <!-- Since the samples are packageless, they must be compiled separately. -->
- <javac srcdir="${samples.dir}/SimpleTransform" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/UseStylesheetPI" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/UseStylesheetParam" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/SAX2SAX" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/DOM2DOM" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/Pipe" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/UseXMLFilters" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/Trace" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/ApplyXPath" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/trax" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samples.dir}/extensions" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <jar jarfile="${build.dir}/xalansamples.jar" basedir="${build.samples}"
- includes="*.class"/>
-
- </target>
-
- <!-- =================================================================== -->
- <!-- Compiles the sample servlet and jars the class files. -->
- <!-- The javax.servlet and javax.servlet.http packages -->
- <!-- must be on the classpath -->
- <!-- =================================================================== -->
- <target name="servlet" depends="jar"
- description="Compile and jar the servlet samples" >
- <echo message="To compile the sample servlets, javax.servlet and javax.servlet.http must be on the classpath"/>
- <mkdir dir="${build.samples}/servlet"/>
- <javac srcdir="${samples.dir}/servlet" classpath="${java.class.path}:${build.xalan.jar}"
- destdir="${build.samples}"
- debug="${debug}"/>
- <copy todir="${build.samples}/servlet">
- <fileset dir="${samples.dir}/servlet"
- includes="media.properties,default.xsl,default2.xsl"/>
- </copy>
- <jar jarfile="${build.dir}/xalanservlet.jar"
- basedir="${build.samples}"
- includes="servlet/**"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Generate HTML docs -->
- <!-- =================================================================== -->
- <target name="docs" depends="jar,prepare.docs,autodocs"
- description="Build the framework documentation (overview, readme, etc.)" >
- <echo message="docs is human-usable target with dependencies"/>
- </target>
-
- <target name="autodocs">
- <echo message="autodocs is for automated build process, without dependencies"/>
- <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}:${build.xalan.jar}">
- <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>
- </java>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the API documentation -->
- <!-- =================================================================== -->
- <target name="javadocs" depends="prepare.docs,autojavadocs"
- description="Build the Javadocs for Xalan sources" >
- <echo message="javadocs is human-usable target with dependencies"/>
- </target>
-
- <target name="autojavadocs">
- <echo message="autojavadocs is for automated build process, without dependencies"/>
-
- <!-- generate trax.html, a TRaX overview document, and a package.html for each trax package
- (the latter are generated with the the Redirect extension -->
- <mkdir dir="${build.apidocs}/javax/xml/transform"/>
- <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.xalan.jar}">
- <arg line="-in ${xdocs.dir}/sources/trax/trax.xml
- -param package-root '../../../src/'
- -xsl ${xdocs.style}/stylesheets/spec.xsl
- -out ${build.apidocs}/javax/xml/transform/trax.html"/>
- </java>
-
- <!-- Ant 1.2 ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
- <javadoc
- classpath="${java.class.path}"
- public="true"
- sourcepath="${src.dir}"
- overview="${src.dir}/javadocOverview.html"
- packagenames="org.apache.*,org.xml.*,org.w3c.*,javax.xml.*"
- author="true"
- version="true"
- use="true"
- windowtitle="${Name} 2"
- doctitle="${Name} 2"
- bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
- <doclet name="xalanjdoc.Standard" path="${bin.dir}/xalan2jdoc.jar">
- <param name="-d" value="${build.apidocs}"/>
- </doclet>
- <group title="Transformations API for XML (TrAX)" packages="javax.xml.transform*"/>
- <group title="Java API for XML Parsing" packages="javax.xml.parsers"/>
- <group title="Xalan Core"
- packages="org.apache.xalan.processor:org.apache.xalan.templates:org.apache.xalan.transformer"/>
- <group title="XPath" packages="org.apache.xpath*"/>
- <group title="Utilities" packages="org.apache.xml.utils*"/>
- <group title="Xalan Other" packages="org.apache.xalan.client:org:org.apache.xalan.extensions:org.apache.xalan.res:org.apache.xalan.stree:org.apache.xalan.trace:org.apache.xalan.xslt"/>
- <group title="Xalan Extensions" packages="org.apache.xalan.lib*"/>
- <group title="Serializers" packages="org.apache.xalan.serialize"/>
- <group title="SAX 2" packages="org.xml.sax*"/>
- <group title="DOM 2" packages="org.w3c.dom*"/>
- </javadoc>
-
- </target>
-
- <!-- =================================================================== -->
- <!-- Cleans everything: build tree, site tree, style docs in -->
- <!-- - build tree -->
- <!-- - distribution tree -->
- <!-- - site tree -->
- <!-- - style docs expanded from xml-site-style.tar.gz. -->
- <!-- (MUST update contents of ${xalanonly-styledocs} -->
- <!-- if change contents of xml-site-style.tar.gz) -->
- <!-- - Javadoc overview and packqage-level html docs placed -->
- <!-- in the source tree -->
- <!-- =================================================================== -->
- <target name="clean"
- description="Clean up the build" >
- <delete dir="${build.dir}"/>
- <delete dir="${site.root}"/>
- <delete>
- <fileset dir="${xdocs.style}" excludes="${xalanonly-styledocs}"/>
- </delete>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the distribution -->
- <!-- =================================================================== -->
- <target name="dist" depends="jar,docs,javadocs,samples,servlet,compat.jar,compat.javadocs,autodist"
- description="Create a .zip/.tar.gz distribution module" >
- <echo message="dist is human-useable target for distribution, with all dependencies"/>
- </target>
- <target name="autodist">
- <echo message="autodist is for automated build processes, without dependencies"/>
- <mkdir dir="${dist.dir}"/>
- <mkdir dir="${dist.dir}/bin"/>
- <mkdir dir="${dist.dir}/src"/>
- <mkdir dir="${dist.dir}/compat_src"/>
- <mkdir dir="${dist.dir}/xdocs"/>
- <mkdir dir="${dist.dir}/docs"/>
- <mkdir dir="${dist.dir}/docs/apidocs"/>
- <mkdir dir="${dist.dir}/docs/compat_apidocs"/>
- <mkdir dir="${dist.dir}/samples"/>
-
- <!-- Copy bin directory -->
- <copy todir="${dist.dir}/bin">
- <fileset dir="${bin.dir}"/>
- </copy>
-
- <!-- Copy sources and source documentation -->
- <copy todir="${dist.dir}/src">
- <fileset dir="${src.dir}"/>
- </copy>
- <copy todir="${dist.dir}/compat_src">
- <fileset dir="${compat.src.dir}"/>
- </copy>
- <copy todir="${dist.dir}/xdocs">
- <fileset dir="${xdocs.dir}"/>
- </copy>
-
- <!-- Copy built documentation and javadoc, and samples src and jars -->
- <copy todir="${dist.dir}/docs">
- <fileset dir="${build.docs}"/>
- </copy>
- <copy todir="${dist.dir}/samples">
- <fileset dir="${samples.dir}"/>
- </copy>
- <copy file="${build.dir}/xalansamples.jar" todir="${dist.dir}/bin"/>
- <copy file="${build.dir}/xalanservlet.jar" todir="${dist.dir}/bin"/>
-
- <!-- Copy xalan jar and compability into the bin directory (subject to change) -->
- <copy file="${build.xalan.jar}" todir="${dist.dir}/bin"/>
- <copy file="${build.compat.jar}" todir="${dist.dir}/bin"/>
-
- <copy todir="${dist.dir}">
- <fileset dir="." includes="readme.html,KEYS,License,build.xml,build.sh,build.bat,todo.xml,todo.xsl,commits.xml"/>
- </copy>
-
- <zip zipfile="${build.dir}/${dist.file}.zip" basedir="${build.dir}" includes="${dist.file}/**"/>
- <tar tarfile="${build.dir}/${dist.file}.tar" basedir="${build.dir}" includes="${dist.file}/**"/>
- <gzip src="${build.dir}/${dist.file}.tar" zipfile="${build.dir}/${dist.file}.tar.gz"/>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the documentation tree for the org.apache.xml website -->
- <!-- =================================================================== -->
- <target name="site" depends="prepare.docs">
-
- <mkdir dir="${site.dir}/apidocs"/>
- <mkdir dir="${site.dir}/compat_apidocs"/>
- <mkdir dir="${site.dir}/design"/>
- <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}:${build.dir}/$xalan.jar">
- <arg line="targetDirectory=${site.dir} ${site.book} ${xdocs.style}"/>
- </java>
-
- <!-- put todo.html in the site directory -->
- <copy file="${build.docs}/todo.html" todir="${site.dir}"/>
- <!-- put xalan design doc in the site design subdir -->
- <copy todir="${site.dir}/design">
- <fileset dir="${build.docs}/design"/>
- </copy>
- <!-- put in the javadoc -->
- <copy todir="${site.dir}/apidocs">
- <fileset dir="${build.apidocs}"/>
- </copy>
- <copy todir="${site.dir}/compat_apidocs">
- <fileset dir="${build.compat.apidocs}"/>
- </copy>
-
- </target>
-
- <!-- =================================================================== -->
- <!-- Compiles and runs the minitest from xml-xalan\test, if present -->
- <!-- =================================================================== -->
- <path id="minitest.class.path">
- <pathelement location="${xerces.jar}" />
- <pathelement location="${build.xalan.jar}" />
- <pathelement location="${bsf.jar}" />
- <pathelement path="${java.class.path}" />
- </path>
-
- <!-- Reference from the testing directory back to our directory,
- used when calling testing targets to set the classpath for
- the tests to include jars we just compiled.
- -->
- <property name="tests.backref" value="../../java/"/>
-
- <target name="minitest" depends="prepare,jar,minitest-run,tests-not-available"
- description="Run the Minitest from xml-xalan/test/java" >
- <!-- This target explicitly depends on the jar target, since
- without xalan.jar the tests won't compile/run.
- We then call the worker target minitest-run to do
- the work of running the minitest.
- We finally call a helper target tests-not-available
- to notify users that they need to checkout the tests
- explicitly from CVS - but this only runs if needed.
- -->
- </target>
- <target name="minitest-run" if="tests-available" depends="prepare" >
- <echo message=" [minitest] Calling ${tests.dir}build.xml now to run minitest.xalan2" />
- <ant dir="${tests.dir}" antfile="build.xml" target="minitest.xalan2" >
- <!-- Set the below testxsl.jar.name so that it will create
- minitest.jar instead of testxsl.jar; we only do this here
- since this is a commonly-called developer target, and it's
- good to differentiate this jar from the regular testing jar
- (which has many more test classes in it).
- -->
- <property name="testxsl.jar.name" value="minitest.jar" />
- <property name="prepend.class.path"
- value="${tests.backref}${xerces.jar}:${tests.backref}${build.xalan.jar}:${tests.backref}${bsf.jar}" />
- <!-- Why doesn't the following refid work? I get an error referencing it.
- <property name="prepend.class.path" refid="minitest.class.path" />
- -->
- </ant>
- </target>
-
- <!-- Called from various testing targets if the test dir doesn't exist. -->
- <target name="tests-not-available" unless="tests-available" >
- <echo message=" [tests] The tests do not seem to be present!" />
- <echo message=" [tests] You must have checked out from CVS to run the tests," />
- <echo message=" [tests] it is not included in binary distributions." />
- <echo message=" [tests] See http://xml.apache.org/xalan-j/test/ for more info." />
- </target>
-
- <!-- =================================================================== -->
- <!-- Compiles and runs the conformance test from xml-xalan\test, if present -->
- <!-- =================================================================== -->
- <!-- We should have a duplicate of minitest.class.path that
- in the future this may need to include references to dirs
- where Java-based extension tests keep their .classes.
- -->
-
- <target name="conftest" depends="prepare,jar,conftest-run,tests-not-available"
- description="Run the ConformanceTest from xml-xalan/test/java" >
- </target>
- <target name="conftest-run" if="tests-available" depends="prepare" >
- <echo message=" [conftest] Calling ${tests.dir}build.xml now to run conftest.xalan2" />
- <ant dir="${tests.dir}" antfile="build.xml" target="conftest.xalan2" >
- <property name="testxsl.jar.name" value="conftest.jar" />
- <!-- Set name above so that it will create conftest.jar instead
- of testxsl.jar - but, since the "ConformanceTest" depends
- on so many testing classes, it may not be worth calling
- this a different name from the default 'testxsl.jar'. It
- does reduce confusion, however, for people who build and
- run the tests directly from the testing directory, instead
- of doing it from this directory.
- -->
- <property name="prepend.class.path"
- value="${tests.backref}${xerces.jar}:${tests.backref}${build.xalan.jar}:${tests.backref}${bsf.jar}" />
- </ant>
- </target>
-
- <!-- =================================================================== -->
- <!-- Compiles and runs the smoke test from xml-xalan\test, if present -->
- <!-- =================================================================== -->
- <target name="smoketest" depends="prepare,jar,smoketest-run,tests-not-available"
- description="Run the smoke test - to be defined." >
- </target>
- <target name="smoketest-run" if="tests-available" depends="prepare" >
- <ant dir="${tests.dir}" antfile="build.xml" target="smoketest-xalan2" >
- <property name="prepend.class.path"
- value="${tests.backref}${xerces.jar}:${tests.backref}${build.xalan.jar}:${tests.backref}${bsf.jar}" />
- </ant>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the todo list for the org.apache.xml website -->
- <!-- =================================================================== -->
- <target name="todo">
- <java fork="yes" classname="org.apache.xalan.xslt.Process" classpath="${java.class.path}:${build.dir}/$xalan.jar">
- <arg line="-in todo.xml -xsl todo.xsl -out todo.html"/>
- </java>
- </target>
-
- <!-- =================================================================== -->
- <!-- Creates the xalan design document -->
- <!-- =================================================================== -->
- <target name="xalan-j2-design">
- <java fork="yes" classname="${doc.generator}" classpath="${java.class.path}:${build.dir}/xalan.jar">
- <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=${build.dir}/docs/design/
- ${xdocs.dir}/sources/xalandesign.xml ${xdocs.style}"/>
- </java>
- </target>
-
- <!-- =================================================================== -->
- <!-- Use FOP to create preliminary print (pdf) doc -->
- <!-- Note: fop.jar and xml.jar (from xml-fop) must be on classpath -->
-
- <!-- This is VERY preliminary, not yet for inclusion in distribution -->
- <!-- =================================================================== -->
-
- <!--Collate the xml sources into a single xml source with a litle extra structure -->
- <target name="print.docs" depends="prepare.docs">
- <echo message="fop.jar and xml.jar must be on the classpath"/>
- <java fork="yes" classname="org.apache.xalan.xslt.Process"
- classpath="${java.class.path}:${build.dir}/xalan.jar">
- <arg line="-xsl ${xdocs.dir}/sources/xalan-collate.xsl
- -out ${xdocs.dir}/sources/xalan/xalan-collate.xml"/>
- </java>
-
- <!-- Transform collation into Formatting Objects
- (with a little work on links along the way) -->
- <java fork="yes" classname="org.apache.xalan.xslt.Process"
- classpath="${java.class.path}:${build.dir}/xalan.jar">
- <arg line="-in ${xdocs.dir}/sources/xalan/xalan-collate.xml
- -param resourceFile '../../sources/xalan/resources.xml'
- -param project ${Name}
- -xsl ${xdocs.style}/stylesheets/xml2fo.xsl
- -out ${build.docs}/xalan-collate.fo"/>
- </java>
-
- <!-- Use FOP to generate a pdf file -->
- <java fork="yes" classname="org.apache.fop.apps.CommandLine"
- classpath="${java.class.path}:${build.dir}/xalan.jar:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
- <arg line="${build.docs}/xalan-collate.fo build/docs/xalan.pdf"/>
- </java>
- </target>
-
- <!-- =================================================================== -->
- <!-- for developers only; compiles xalan-j1 samples with compat jar and xalan-j2 xalan.jar-->
- <target name="compat.samples" description="Compile XalanJ1 samples" >
- <property name="exclude" value="*.xml,*.xsl,*.txt,*.html.*.properties"/>
- <property name="samplesj1.dir" value="/xml-xalan/samples"/>
- <property name="build.compat.samples" value="./build/compat_samples"/>
- <mkdir dir="${build.compat.samples}"/>
-
- <!--need to use the XalanJ2 XPathAPI, so cannot compile ApplyXPath as is -->
- <javac srcdir="${samplesj1.dir}/Pipe" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samplesj1.dir}/SimpleTransform" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samplesj1.dir}/TransformToDom" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samplesj1.dir}/PureSAX" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samplesj1.dir}/UseStylesheetParam" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <javac srcdir="${samplesj1.dir}/Servlet" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}" excludes="${exclude}"
- debug="${debug}"/>
- <jar jarfile="${build.compat.samples}/xalanjcompatsamples.jar" basedir="${build.compat.samples}"
- includes="*.class"/>
- <!--put the servlet in a separate jar -->
- <javac srcdir="${samplesj1.dir}/Servlet" classpath="${build.compat.jar}:${build.xalan.jar}:${java.class.path}"
- destdir="${build.compat.samples}"
- debug="${debug}"/>
- <copy todir="${build.compat.samples}/servlet">
- <fileset dir="${samplesj1.dir}/Servlet"
- includes="media.properties,default.xsl,default2.xsl"/>
- </copy>
- <jar jarfile="${build.compat.samples}/xalancompatservlet.jar" basedir="${build.compat.samples}"
- includes="servlet/**"/>
- </target>
-
-</project>
diff --git a/commits.xml b/commits.xml
deleted file mode 100644
index b43e8f4..0000000
--- a/commits.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<Commits>
-<Commit category="core">
-<Who>costin@apache.org</Who>
-<DateCommitted>03/16/2001</DateCommitted>
-<Modified>java/src/org/apache/xalan/processor StylesheetHandler.java
- java/src/org/apache/xpath Expression.java XPath.java
- XPathContext.java
- java/src/org/apache/xpath/compiler Compiler.java
- XPathParser.java</Modified>
-<Log>Renamed "assert()" to "assertion()".
-
- Assert can be a keyword, and brake the compilation.</Log>
-</Commit>
-<Commit category="core">
-<Who>mmidy@apache.org</Who>
-<DateCommitted>03/19/2001</DateCommitted>
-<Modified>java/src/org/apache/xalan/transformer KeyWalker.java</Modified>
-<Log>Throw an error message if the key name in a key function was not defined</Log>
-</Commit>
-<Commit category="core">
-<Who>jkesselm@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Modified>java/src/org/apache/xml/utils FastStringBuffer.java</Modified>
-<Log>Reworked "chunk growth" algorithm again. Growing mode not
- yet adequately tested, but fixed-size mode (which is what Xalan
- is currently using) is simpler code and shows improved performance.</Log>
-</Commit>
-<Commit category="core">
-<Who>curcuru@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Added>java/src/org/apache/xalan/xslt EnvironmentCheck.java</Added>
-<Log>Utility class to check your JVM environment for common problems</Log>
-</Commit>
-<Commit category="compat">
-<Who>jkesselm@apache.org</Who>
-<DateCommitted>03/20/2001</DateCommitted>
-<Modified>java/compat_src/org/apache/xalan/xpath XNumber.java</Modified>
-<Log>Double-semicolon fixed so Henri's compiler stops complaining about an
-unreachable statement. <grin/></Log>
-</Commit>
-</Commits>
diff --git a/compat_src/compatOverview.html b/compat_src/compatOverview.html
deleted file mode 100644
index cf64817..0000000
--- a/compat_src/compatOverview.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
- <P>This compatibility API supports limited use of the Xalan-Java 1 API in the Xalan-Java 2 environment. For the Xalan-Java 2 API, see <A href="../apidocs/index.html" target="_top">Xalan-Java 2 API</A>.</P>
-
- <P><B>Basic procedure for performing transformations:</B></P>
- <OL>
- <LI>Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to
- instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}.<BR><BR>
- The XSLT and XPath engines are independent from any given DOM or XML implementation. All parser-dependent
- calls are funneled through the {@link org.apache.xalan.xpath.xml.XMLParserLiaison}.<BR><BR></LI>
- <LI>Set up {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and XSL stylesheet.
- You can use a file name or URL, character stream, byte stream, or SAX input stream to instantiate an
- XSLTInputSource object.<BR><BR>
- If the XML document contains a stylesheet Processing Instruction (PI), you do not need to create a separate
- XSLTInputSource object for an XSL stylesheet.<BR><BR>
- <B>Note:</B> For improved performance with a series of transformations, use the XSLTProcessor
- processStylesheet method to compile the XSL stylesheet. The result is a
- {@link org.apache.xalan.xslt.StylesheetRoot} object with its own process() method for performing transformations.
- Compiling the stylesheet is also useful when you need to get information from the
- stylesheet before the transformation occurs. You also must compile the stylesheet if you are using the
- XSLTProcessor as a SAX document handler.<BR><BR></LI>
- <LI>Set up an {@link org.apache.xalan.xslt.XSLTResultTarget} for the transformation output. You can use a
- file name or URL, character stream, byte stream, or SAX document handler to instantiate an XSLTResultTarget
- object.<BR><BR></LI>
- <LI>Use the XSLTProcessor or (if you have compiled the stylesheet) the(@link org.apache.xalan.xslt.StylesheetRoot}
- process method to perform the transformation.<BR><BR>
- Xalan-Java is thread-safe for one instance per thread. If you are using the same instance of XSLTProcessor to
- perform more than one transformation, call the reset method between transformations.</LI>
- </OL>
- </BODY></HTML>
\ No newline at end of file
diff --git a/compat_src/org/apache/xalan/xpath/XBoolean.java b/compat_src/org/apache/xalan/xpath/XBoolean.java
deleted file mode 100644
index a1395bb..0000000
--- a/compat_src/org/apache/xalan/xpath/XBoolean.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="advanced"/>
- * This class represents an XPath boolean object, and is capable of
- * converting the boolean to other types, such as a string.
- */
-public class XBoolean extends XObject
-{
- org.apache.xpath.objects.XBoolean m_xboolean;
-
- /**
- * Construct a XBoolean object.
- */
- public XBoolean(boolean b)
- {
- super();
- m_xboolean = new org.apache.xpath.objects.XBoolean(b);
- }
-
- /**
- * Tell that this is a CLASS_BOOLEAN.
- */
- public int getType()
- {
- return m_xboolean.getType();
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- */
- public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<ga...@firstech.com> change to protected
- {
- return m_xboolean.getTypeString();
- }
-
- /**
- * Cast result object to a number.
- */
- public double num()
- {
- return m_xboolean.num();
- }
-
- /**
- * Cast result object to a boolean.
- */
- public boolean bool()
- {
- return m_xboolean.bool();
- }
-
- /**
- * Cast result object to a string.
- */
- public String str()
- {
- return m_xboolean.str();
- }
-
- /**
- * Return a java object that's closes to the represenation
- * that should be handed to an extension.
- */
- public Object object()
- {
- return m_xboolean.object();
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xboolean.equals(obj2);
- }
-
-
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/XBooleanStatic.java b/compat_src/org/apache/xalan/xpath/XBooleanStatic.java
deleted file mode 100644
index 9639687..0000000
--- a/compat_src/org/apache/xalan/xpath/XBooleanStatic.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="internal"/>
- * This class doesn't have any XPathSupport, so override
- * whatever to ensure it works OK.
- */
-public class XBooleanStatic extends XBoolean
-{
- org.apache.xpath.objects.XBooleanStatic m_xboolean;
-
- /**
- * Construct a XNodeSet object.
- */
- public XBooleanStatic(boolean b)
- {
- super(b);
- m_xboolean = new org.apache.xpath.objects.XBooleanStatic(b);
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xboolean.equals(obj2);
- }
-
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/XNodeSet.java b/compat_src/org/apache/xalan/xpath/XNodeSet.java
deleted file mode 100644
index 019ffee..0000000
--- a/compat_src/org/apache/xalan/xpath/XNodeSet.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.NodeIterator;
-import org.w3c.dom.traversal.NodeFilter;
-import java.text.*;
-
-import org.apache.xpath.XPathContext;
-import org.apache.xpath.NodeSet;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath nodeset object, and is capable of
- * converting the nodeset to other types, such as a string.
- */
-public class XNodeSet extends XObject
-{
- org.apache.xpath.objects.XNodeSet m_xnodeset;
-
- /**
- * Construct a XNodeSet object.
- */
- public XNodeSet(NodeList val)
- {
- super();
- m_xnodeset = new org.apache.xpath.objects.XNodeSet(new NodeIteratorWrapper(val)) ;
- }
-
- /**
- * Construct an empty XNodeSet object.
- */
- public XNodeSet()
- {
- super();
- m_xnodeset = new org.apache.xpath.objects.XNodeSet();
- }
-
- /**
- * Construct a XNodeSet object for one node.
- */
- public XNodeSet(Node n)
- {
- super(n);
- m_xnodeset = new org.apache.xpath.objects.XNodeSet(n);
- }
-
-
- /**
- * Tell that this is a CLASS_NODESET.
- */
- public int getType()
- {
- return m_xnodeset.getType();
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- */
- public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<ga...@firstech.com> change to protected
- {
- return m_xnodeset.getTypeString();
- }
-
- /**
- * Get the string conversion from a single node.
- */
- double getNumberFromNode(Node n)
- {
- return m_xnodeset.getNumberFromNode(n);
- }
-
- /**
- * Cast result object to a number.
- */
- public double num()
- {
- return m_xnodeset.num();
- }
-
- /**
- * Cast result object to a boolean.
- */
- public boolean bool()
- {
- return m_xnodeset.bool();
- }
-
-
- /**
- * Get the string conversion from a single node.
- */
- static String getStringFromNode(Node n)
- {
- return org.apache.xpath.objects.XNodeSet.getStringFromNode(n);
- }
-
- /**
- * Cast result object to a string.
- */
- public String str()
- {
- return m_xnodeset.str();
- }
-
- /**
- * Cast result object to a result tree fragment.
- */
- public DocumentFragment rtree(XPathSupport support)
- {
- return m_xnodeset.rtree((XPathContext) support);
- }
-
- /**
- * Cast result object to a result tree fragment.
- *
- * @param support The XPath context to use for the conversion
- *
- * @return the nodeset as a result tree fragment.
- */
- public DocumentFragment rtree(XPathContext support)
- {
- return m_xnodeset.rtree(support);
- }
-
- /**
- * Cast result object to a nodelist.
- */
- public NodeIterator nodeset()
- {
- return m_xnodeset.nodeset();
- }
-
- /**
- * Cast result object to a nodelist.
- */
- public NodeSet mutableNodeset()
- {
- return m_xnodeset.mutableNodeset();
- }
-
- /**
- * Tell if one object is less than the other.
- */
- public boolean lessThan(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnodeset.lessThan(obj2);
- }
-
- /**
- * Tell if one object is less than or equal to the other.
- */
- public boolean lessThanOrEqual(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnodeset.lessThanOrEqual(obj2);
- }
-
- /**
- * Tell if one object is greater than the other.
- */
- public boolean greaterThan(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnodeset.greaterThan(obj2);
- }
-
- /**
- * Tell if one object is greater than the other.
- */
- public boolean greaterThanOrEqual(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnodeset.greaterThanOrEqual(obj2);
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnodeset.equals(obj2);
- }
-
- /**
- * Tell if two objects are functionally not equal.
- */
- public boolean notEquals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnodeset.notEquals(obj2);
- }
-
- static class NodeIteratorWrapper implements NodeIterator
- {
-
- /** Position of next node */
- private int m_pos = 0;
-
- /** Document fragment instance this will wrap */
- private NodeList m_list;
-
- /**
- * Constructor NodeIteratorWrapper
- *
- *
- * @param df Document fragment instance this will wrap
- */
- NodeIteratorWrapper(NodeList list)
- {
- m_list = list;
- }
-
- /**
- * The root node of the Iterator, as specified when it was created.
- *
- * @return null
- */
- public Node getRoot()
- {
- return null;
- }
-
- /**
- * This attribute determines which node types are presented via the
- * iterator. The available set of constants is defined in the
- * <code>NodeFilter</code> interface.
- *
- * @return All node types
- */
- public int getWhatToShow()
- {
- return NodeFilter.SHOW_ALL;
- }
-
- /**
- * The filter used to screen nodes.
- *
- * @return null
- */
- public NodeFilter getFilter()
- {
- return null;
- }
-
- /**
- * The value of this flag determines whether the children of entity
- * reference nodes are visible to the iterator. If false, they will be
- * skipped over.
- * <br> To produce a view of the document that has entity references
- * expanded and does not expose the entity reference node itself, use the
- * whatToShow flags to hide the entity reference node and set
- * expandEntityReferences to true when creating the iterator. To produce
- * a view of the document that has entity reference nodes but no entity
- * expansion, use the whatToShow flags to show the entity reference node
- * and set expandEntityReferences to false.
- *
- * @return true
- */
- public boolean getExpandEntityReferences()
- {
- return true;
- }
-
- /**
- * Returns the next node in the set and advances the position of the
- * iterator in the set. After a NodeIterator is created, the first call
- * to nextNode() 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.
- * @throws DOMException
- * INVALID_STATE_ERR: Raised if this method is called after the
- * <code>detach</code> method was invoked.
- */
- public Node nextNode() throws DOMException
- {
-
- if (m_pos < m_list.getLength())
- {
- return m_list.item(m_pos++);
- }
- else
- return null;
- }
-
- /**
- * Returns the previous node in the set and moves the position of the
- * iterator 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.
- * @throws DOMException
- * INVALID_STATE_ERR: Raised if this method is called after the
- * <code>detach</code> method was invoked.
- */
- public Node previousNode() throws DOMException
- {
-
- if (m_pos >0)
- {
- return m_list.item(m_pos-1);
- }
- else
- return null;
- }
-
- /**
- * Detaches the iterator from the set which it iterated over, releasing
- * any computational resources and placing the iterator 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/compat_src/org/apache/xalan/xpath/XNull.java b/compat_src/org/apache/xalan/xpath/XNull.java
deleted file mode 100644
index 473a658..0000000
--- a/compat_src/org/apache/xalan/xpath/XNull.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.NodeIterator;
-
-import org.apache.xpath.XPathContext;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath null object, and is capable of
- * converting the null to other types, such as a string.
- */
-public class XNull extends XObject
-{
- org.apache.xpath.objects.XNull m_xnull;
- /**
- * Create an XObject.
- */
- public XNull()
- {
- super();
- m_xnull = new org.apache.xpath.objects.XNull() ;
- }
-
- /**
- * Tell what kind of class this is.
- */
- public int getType()
- {
- return m_xnull.getType();
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- */
- public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<ga...@firstech.com> change to protected
- {
- return m_xnull.getTypeString();
- }
-
- /**
- * Cast result object to a number.
- */
- public double num()
- {
- return m_xnull.num();
- }
-
- /**
- * Cast result object to a boolean.
- */
- public boolean bool()
- {
- return m_xnull.bool();
- }
-
- /**
- * Cast result object to a string.
- */
- public String str()
- {
- return m_xnull.str();
- }
-
- /**
- * Cast result object to a result tree fragment.
- */
- public DocumentFragment rtree(XPathSupport support)
- {
- return m_xnull.rtree((XPathContext)support);
- }
-
- /**
- * Cast result object to a result tree fragment.
- *
- * @param support XPath context to use for the conversion
- *
- * @return The object as a result tree fragment.
- */
- public DocumentFragment rtree(XPathContext support)
- {
- return m_xnull.rtree(support);
- }
-
-
- /**
- * Cast result object to a nodelist.
- */
- public NodeIterator nodeset()
- {
- return null;
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- {
- return m_xnull.equals(obj2);
- }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XNumber.java b/compat_src/org/apache/xalan/xpath/XNumber.java
deleted file mode 100644
index bf8e286..0000000
--- a/compat_src/org/apache/xalan/xpath/XNumber.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import java.text.DecimalFormat;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath number, and is capable of
- * converting the number to other types, such as a string.
- */
-public class XNumber extends XObject
-{
-
- org.apache.xpath.objects.XNumber m_xnumber;
- /**
- * Construct a XNodeSet object.
- */
- public XNumber(double d)
- {
- super();
- m_xnumber = new org.apache.xpath.objects.XNumber(d);
- }
-
- /**
- * Tell that this is a CLASS_NUMBER.
- */
- public int getType()
- {
- return m_xnumber.getType();
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- */
- public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<ga...@firstech.com> change to protected
- {
- return m_xnumber.getTypeString();
- }
-
- /**
- * Cast result object to a number.
- */
- public double num()
- {
- return m_xnumber.num();
- }
-
- /**
- * Cast result object to a boolean.
- */
- public boolean bool()
- {
- return m_xnumber.bool();
- }
-
- /**
- * Cast result object to a string.
- */
- public String str()
- {
- return m_xnumber.str();
- }
-
- /**
- * Return a java object that's closes to the represenation
- * that should be handed to an extension.
- */
- public Object object()
- {
- return m_xnumber.object();
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xnumber.equals(obj2);
- }
-
-
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/XObject.java b/compat_src/org/apache/xalan/xpath/XObject.java
deleted file mode 100644
index f0cb33e..0000000
--- a/compat_src/org/apache/xalan/xpath/XObject.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath object, and is capable of
- * converting the object to various types, such as a string.
- * This class acts as the base class to other XPath type objects,
- * such as XString, and provides polymorphic casting capabilities.
- */
-public class XObject extends org.apache.xpath.objects.XObject
-{
-
-
- /**
- * Create an XObject.
- */
- public XObject()
- {
- super();
- }
-
- /**
- * Create an XObject.
- */
- public XObject(Object obj)
- {
- super(obj);
- }
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XPathSupport.java b/compat_src/org/apache/xalan/xpath/XPathSupport.java
deleted file mode 100644
index 0a98708..0000000
--- a/compat_src/org/apache/xalan/xpath/XPathSupport.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-import java.util.*;
-import java.net.URL;
-import org.xml.sax.*;
-
-
-
-
-/**
- * <meta name="usage" content="advanced"/>
- * Provides basic support for independent use of XPath. This interface
- * is used in order that there may be loose coupling between the
- * XPath package and the support services, such as the variable store,
- * parser services, DOM implementation, etc. Most if all implementations
- * of this should derive from XPathSupportDefault (hence, it should
- * probably be an abstract class instead of an interface).
- */
-public interface XPathSupport extends org.apache.xalan.extensions.ExpressionContext
-{
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java b/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java
deleted file mode 100644
index c291d19..0000000
--- a/compat_src/org/apache/xalan/xpath/XPathSupportDefault.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import java.util.*;
-import org.w3c.dom.*;
-
-
-
-/**
- * <meta name="usage" content="advanced"/>
- * Default class for execution context when XPath is used by itself. Many
- * of the functions in this class need to be overridden in order to
- * perform correct execution of the XPath (for instance, variable
- * execution). This class will likely eventually replace XMLParserLiaisons.
- */
-public class XPathSupportDefault extends org.apache.xpath.XPathContext implements XPathSupport
-{
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XRTreeFrag.java b/compat_src/org/apache/xalan/xpath/XRTreeFrag.java
deleted file mode 100644
index a08cf18..0000000
--- a/compat_src/org/apache/xalan/xpath/XRTreeFrag.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath result tree fragment object, and is capable of
- * converting the RTF to other types, such as a string.
- */
-public class XRTreeFrag extends XObject
-{
-
- org.apache.xpath.objects.XRTreeFrag m_xrtreefrag;
-
- /**
- * Create an XObject.
- */
- public XRTreeFrag(DocumentFragment frag)
- {
- super(frag);
- m_xrtreefrag = new org.apache.xpath.objects.XRTreeFrag(frag);
- }
-
- /**
- * Tell what kind of class this is.
- */
- public int getType()
- {
- return m_xrtreefrag.getType();
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- */
- public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<ga...@firstech.com> change to protected
- {
- return m_xrtreefrag.getTypeString();
- }
-
- /**
- * Cast result object to a number.
- */
- public double num()
- {
- return m_xrtreefrag.num();
- }
-
- /**
- * Cast result object to a boolean.
- */
- public boolean bool()
- {
- return m_xrtreefrag.bool();
- }
-
- /**
- * Cast result object to a string.
- */
- public String str()
- {
- return m_xrtreefrag.str();
- }
-
- /**
- * Cast result object to a result tree fragment.
- */
- public DocumentFragment rtree()
- {
- return m_xrtreefrag.rtree();
- }
-
- /**
- * Cast result object to a nodelist. (special function).
- */
- public NodeList convertToNodeset()
- {
- return m_xrtreefrag.convertToNodeset();
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xrtreefrag.equals(obj2);
- }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/XString.java b/compat_src/org/apache/xalan/xpath/XString.java
deleted file mode 100644
index 9d2dc6e..0000000
--- a/compat_src/org/apache/xalan/xpath/XString.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath;
-
-
-import org.w3c.dom.*;
-
-import org.apache.xpath.XPathContext;
-/**
- * <meta name="usage" content="general"/>
- * This class represents an XPath string object, and is capable of
- * converting the string to other types, such as a number.
- */
-public class XString extends XObject
-{
-
- org.apache.xpath.objects.XString m_xstring;
-
- /**
- * Construct a XString object.
- */
- public XString(String val)
- {
- super(val);
- m_xstring = new org.apache.xpath.objects.XString(val);
- }
-
- /**
- * Tell that this is a CLASS_STRING.
- */
- public int getType()
- {
- return m_xstring.getType();
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- */
- public String getTypeString() // PR:DMAN4MBJ4D Submitted by:<ga...@firstech.com> change to protected
- {
- return m_xstring.getTypeString();
- }
-
- /**
- * Cast a string to a number.
- */
- public static double castToNum(String s)
- {
- return org.apache.xpath.objects.XString.castToNum(s);
- }
-
- /**
- * Cast result object to a number.
- */
- public double num()
- {
- return m_xstring.num();
- }
-
- /**
- * Cast result object to a boolean.
- */
- public boolean bool()
- {
- return m_xstring.bool();
- }
-
- /**
- * Cast result object to a string.
- */
- public String str()
- {
- return m_xstring.str();
- }
-
- /**
- * Cast result object to a result tree fragment.
- */
- public DocumentFragment rtree(XPathSupport support)
- {
- return m_xstring.rtree((XPathContext)support);
- }
-
-
- /**
- * Cast result object to a result tree fragment.
- *
- * @param support Xpath context to use for the conversion
- *
- * @return A document fragment with this string as a child node
- */
- public DocumentFragment rtree(XPathContext support)
- {
- return m_xstring.rtree(support);
- }
-
- /**
- * Tell if two objects are functionally equal.
- */
- public boolean equals(XObject obj2)
- throws org.xml.sax.SAXException, javax.xml.transform.TransformerException
- {
- return m_xstring.equals(obj2);
- }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/package.html b/compat_src/org/apache/xalan/xpath/package.html
deleted file mode 100644
index 29a55da..0000000
--- a/compat_src/org/apache/xalan/xpath/package.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
- <P>Infrastructure for processing XPATH expressions</P>
-
- <P></P>
- </BODY></HTML>
\ No newline at end of file
diff --git a/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java b/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java
deleted file mode 100644
index 5622796..0000000
--- a/compat_src/org/apache/xalan/xpath/xdom/XercesLiaison.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xdom;
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
-import org.apache.xerces.dom.*;
-import org.apache.xerces.parsers.*;
-import org.apache.xerces.framework.*;
-import org.xml.sax.*;
-import org.w3c.dom.*;
-import org.apache.xalan.xpath.xml.*;
-import org.apache.xalan.xpath.*;
-import org.apache.xpath.res.XPATHErrorResources;
-import org.apache.xalan.res.XSLMessages;
-
-import javax.xml.transform.TransformerException;
-import javax.xml.parsers.*;
-
-
-/**
- * <meta name="usage" content="general"/>
- * Provides XSLTProcessor an interface to the Xerces XML parser. This
- * liaison should be used if Xerces DOM nodes are being process as
- * the source tree or as the result tree.
- * @see org.apache.xalan.xslt.XSLTProcessor
- * @see org.apache.xml.parsers
- */
-public class XercesLiaison extends XMLParserLiaisonDefault //implements XPathSupport
-{
- /**
- * Return a string suitible for telling the user what parser is being used.
- */
- public String getParserDescription()
- {
- return "XML4J Version "+ getXML4JVersionString();
- }
-
- private org.xml.sax.ErrorHandler m_errorHandler;
- /**
- * Constructor that takes SAX ErrorHandler as an argument. The error handler
- * is registered with the XML Parser. Any XML-related errors will be reported
- * to the calling application using this error handler.
- *
- * @param errorHandler SAX ErrorHandler instance.
- */
- public XercesLiaison(org.xml.sax.ErrorHandler errorHandler)
- {
- m_errorHandler = errorHandler;
- }
-
- /**
- * Construct an instance.
- *
- public XercesLiaison(XPathEnvSupport envSupport)
- {
- m_envSupport = envSupport;
- }*/
-
- /**
- * Construct an instance.
- */
- public XercesLiaison()
- {
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Check node to see if it matches this liaison.
- */
- public void checkNode(Node node)
- throws TransformerException
- {
- if(!(node instanceof org.apache.xerces.dom.NodeImpl))
- throw new TransformerException(XSLMessages.createXPATHMessage(XPATHErrorResources.ER_XERCES_CANNOT_HANDLE_NODES, new Object[]{((Object)node).getClass()})); //"XercesLiaison can not handle nodes of type"
- //+((Object)node).getClass());
- }
-
- /**
- * Returns true that this implementation does support
- * the SAX DocumentHandler interface.
- */
- public boolean supportsSAX()
- {
- return true;
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Get Xerces version field... we have to do this 'cause
- * the "public static final" fields seem to get bound
- * at compile time otherwise.
- */
- private String getXML4JVersionString()
- {
- // return Version.fVersion;
- String version = "";
- try
- {
- java.lang.reflect.Field versionField = Version.class.getField("fVersion");
- version = (String)versionField.get(null);
- }
- catch(Exception e)
- {
- }
- return version;
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Get one of the Xerces version numbers...
- * we have to do this 'cause the "public static final"
- * fields seem to get bound at compile time otherwise.
- */
- private int getXML4JVersionNum(int field)
- {
- int versionNum = 0;
- String ver = getXML4JVersionString();
- StringTokenizer tokenizer = new StringTokenizer(ver, " .");
- for(int i = 0; tokenizer.hasMoreTokens(); i++)
- {
- String tok = tokenizer.nextToken();
- if(field == i)
- {
- versionNum = Integer.parseInt(tok);
- }
- }
- return versionNum;
- }
-
- /**
- * Pool the DOM parsers for reuse.
- *
- private ObjectPool m_domParserPool = new ObjectPool(DOMParser.class);
-
- /**
- * Pool the SAX parsers for reuse.
- *
- private ObjectPool m_saxParserPool = new ObjectPool(SAXParser.class);
-
- /**
- * Count the parses since the last garbage collection. GC every
- * 10 parses or so. (This might be a bad idea, but it seems to
- * help...)
- *
- protected int m_parseCountSinceGC = 0;
-*/
-
- /**
- * <meta name="usage" content="internal"/>
- * 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 void parse (InputSource source)
- throws javax.xml.transform.TransformerException
- {
- try
- {
-
- // I guess I should use JAXP factory here... when it's legal.
- // org.apache.xerces.parsers.DOMParser parser
- // = new org.apache.xerces.parsers.DOMParser();
- DocumentBuilderFactory builderFactory =
- DocumentBuilderFactory.newInstance();
-
- builderFactory.setNamespaceAware(true);
-
- DocumentBuilder parser = builderFactory.newDocumentBuilder();
- if (m_errorHandler == null)
- parser.setErrorHandler(new org.apache.xml.utils.DefaultErrorHandler());
- else
- parser.setErrorHandler(m_errorHandler);
-
- // if(null != m_entityResolver)
- // {
- // System.out.println("Setting the entity resolver.");
- // parser.setEntityResolver(m_entityResolver);
- // }
- setDocument(parser.parse(source));
- }
- catch (org.xml.sax.SAXException se)
- {
- throw new TransformerException(se);
- }
- catch (ParserConfigurationException pce)
- {
- throw new TransformerException(pce);
- }
- catch (IOException ioe)
- {
- throw new TransformerException(ioe);
- }
- }
-
- public void copyFromOtherLiaison(XMLParserLiaisonDefault from)
- throws SAXException
- {
- //super.copyFromOtherLiaison(from);
- if(null != from) // defensive
- {
- if(from instanceof XercesLiaison)
- this.m_useDOM2getNamespaceURI = ((XercesLiaison)from).m_useDOM2getNamespaceURI;
- }
- }
-
-
- /**
- * Create an empty DOM Document. Mainly used for creating an
- * output document. Implementation of XMLParserLiaison
- * interface method.
- */
- public Document createDocument()
- {
- org.apache.xerces.dom.DocumentImpl doc = new org.apache.xerces.dom.DocumentImpl();
- return doc;
- }
-
- /**
- * Given an ID, return the element.
- */
- public Element getElementByID(String id, Document doc)
- {
- return ((DocumentImpl)doc).getIdentifier(id);
- }
-
- /**
- * Tell if the node is ignorable whitespace.
- * @deprecated
- */
- public boolean isIgnorableWhitespace(Text node)
- {
- boolean isIgnorable;
- if( node instanceof org.apache.xerces.dom.TextImpl)
- {
- isIgnorable = ((org.apache.xerces.dom.TextImpl)node).isIgnorableWhitespace();
- }
- else
- {
- isIgnorable = false;
- }
- return isIgnorable;
- }
-
- protected boolean m_useDOM2getNamespaceURI = true;
-
- /**
- * Set whether or not getNamespaceOfNode should use the Xerces/DOM2
- * getNamespaceURI. This has to be set to true if the
- * http://xml.org/sax/features/namespaces is set to false, or if
- * the tree is mutated.
- */
- public void setUseDOM2getNamespaceURI(boolean b)
- {
- m_useDOM2getNamespaceURI = b;
- }
-
-
- /**
- * Get the namespace of the node. Calls org.apache.xerces.dom.NodeImpl's
- * getNamespaceURI() if setUseDOM2getNamespaceURI(true) has been called.
- */
- public String getNamespaceOfNode(Node n)
- {
- return(m_useDOM2getNamespaceURI) ?
- ((org.apache.xerces.dom.NodeImpl)n).getNamespaceURI()
- : super.getNamespaceOfNode(n);
- }
-
-
- /**
- * Returns the local name of the given node.
- */
- // public String getLocalNameOfNode(Node n)
- // {
- // return ((org.apache.xerces.dom.NodeImpl)n).getLocalName();
- // }
-
- /**
- * Returns the element name with the namespace expanded.
- */
- // public String getExpandedElementName(Element elem)
- // {
- // String namespace = getNamespaceOfNode(elem);
- // return (null != namespace) ? namespace+":"+ getLocalNameOfNode(elem)
- // : getLocalNameOfNode(elem);
- // }
-
- /**
- * Returns the attribute name with the namespace expanded.
- */
- // public String getExpandedAttributeName(Attr attr)
- // {
- // String namespace = getNamespaceOfNode(attr);
- // return (null != namespace) ? namespace+":"+ getLocalNameOfNode(attr)
- // : getLocalNameOfNode(attr);
- // }
-
- /**
- * Get the parent of a node.
- */
- public Node getParentOfNode(Node node)
- throws RuntimeException
- {
- return (Node.ATTRIBUTE_NODE == node.getNodeType())
- ? ((Attr)node).getOwnerElement() : node.getParentNode();
- }
-
-}
-
-
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java
deleted file mode 100644
index 9c1e25a..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToDOM.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-//import org.apache.xml.serialize.BaseMarkupSerializer;
-import org.apache.xalan.serialize.DOMSerializer;
-import org.apache.xalan.serialize.SerializerToXML;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-
-
-/**
- * <meta name="usage" content="general"/>
- * This class takes SAX events (in addition to some extra events
- * that SAX doesn't handle yet) and adds the result to a document
- * or document fragment.
- */
-public class FormatterToDOM extends ParserAdapter
-{
- DOMSerializer m_serializer;
-
- /**
- * FormatterToDOM instance constructor... it will add the DOM nodes
- * to the document fragment.
- */
- public FormatterToDOM(Document doc, Element elem) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- try{
- m_serializer = (new SerializerToXML()).asDOMSerializer();
- this.setContentHandler((SerializerToXML)m_serializer);
- }
- catch (java.io.IOException ioe)
- {}
- }
-
- /**
- * FormatterToDOM instance constructor... it will add the DOM nodes
- * to the document fragment.
- */
- public FormatterToDOM(Document doc, DocumentFragment docFrag) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- try{
- m_serializer = (new SerializerToXML()).asDOMSerializer();
- this.setContentHandler((SerializerToXML)m_serializer);
- }
- catch (java.io.IOException ioe)
- {}
- }
-
- /**
- * FormatterToDOM instance constructor... it will add the DOM nodes
- * to the document.
- */
- public FormatterToDOM(Document doc) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- try{
- m_serializer = (new SerializerToXML()).asDOMSerializer();
- this.setContentHandler((SerializerToXML)m_serializer);
- }
- catch (java.io.IOException ioe)
- {}
- }
-
- public SerializerToXML getSerializerObject()
- {
- return (SerializerToXML)m_serializer;
- }
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java
deleted file mode 100644
index b0621b2..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToHTML.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import java.io.Writer;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.SerializerToHTML;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-//import org.apache.xml.serialize.OutputFormat;
-
-/**
- * <meta name="usage" content="general"/>
- * FormatterToHTML formats SAX-style events into XML.
- * Warning: this class will be replaced by the Xerces Serializer classes.
- */
-public class FormatterToHTML extends ParserAdapter
-{
-
- SerializerToHTML m_serializer;
-
- public FormatterToHTML() throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToHTML();
- this.setContentHandler(m_serializer);
- }
-
- /**
- * Constructor using a writer.
- * @param writer The character output stream to use.
- */
- public FormatterToHTML(Writer writer) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToHTML();
- m_serializer.setWriter(writer);
- this.setContentHandler(m_serializer);
- }
-
- /**
- * Constructor using an output stream, and a simple OutputFormat.
- * @param writer The character output stream to use.
- */
- public FormatterToHTML(java.io.OutputStream os)
- throws UnsupportedEncodingException, SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToHTML();
- m_serializer.setOutputStream(os);
- this.setContentHandler(m_serializer);
-
- }
-
- /**
- * Constructor using a writer.
- * @param writer The character output stream to use.
- */
- public FormatterToHTML(FormatterToXML xmlListener) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToHTML();
- m_serializer.CopyFrom(xmlListener.m_serializer);
- this.setContentHandler(m_serializer);
- }
-
- public SerializerToHTML getSerializerObject()
- {
- return m_serializer;
- }
-
-}
-
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToText.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToText.java
deleted file mode 100644
index 2292679..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToText.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import java.io.Writer;
-
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.SerializerToText;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-
-/**
- * <meta name="usage" content="general"/>
- * This class takes SAX events (in addition to some extra events
- * that SAX doesn't handle yet) and produces simple text only.
- * Warning: this class will be replaced by the Xerces Serializer classes.
- */
-public class FormatterToText extends ParserAdapter
-{
-
- private SerializerToText m_serializer;
- /**
- * FormatterToText instance constructor... it will add the DOM nodes
- * to the document fragment.
- */
- public FormatterToText(Writer pw) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToText();
- m_serializer.setWriter(pw);
- this.setContentHandler(m_serializer);
- }
-
- public SerializerToText getSerializerObject()
- {
- return m_serializer;
- }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java b/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java
deleted file mode 100644
index ea0d032..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/FormatterToXML.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import java.io.Writer;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-
-import org.apache.xalan.serialize.Serializer;
-import org.apache.xalan.serialize.SerializerFactory;
-import org.apache.xalan.serialize.SerializerToXML;
-//import org.apache.xml.serialize.BaseMarkupSerializer;
-import org.apache.xalan.serialize.Method;
-import org.xml.sax.helpers.ParserAdapter;
-import org.xml.sax.SAXException;
-
-
-/**
- * <meta name="usage" content="general"/>
- * FormatterToXML formats SAX-style events into XML.
- * Warning: this class will be replaced by the Xerces Serializer classes.
- */
-public class FormatterToXML extends ParserAdapter
-{
- SerializerToXML m_serializer;
-
- public FormatterToXML()
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToXML();
- this.setContentHandler(m_serializer);
- //super( new OutputFormat( Method.XML, null, false ) );
- }
-
- /**
- * Constructor using a writer.
- * @param writer The character output stream to use.
- */
- public FormatterToXML(Writer writer) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToXML();
- // super( format != null ? format : new OutputFormat( Method.XML, null, false ) );
- //_format.setMethod( Method.XML );
- m_serializer.setWriter( writer );
- this.setContentHandler(m_serializer);
- }
-
- /**
- * Constructor using an output stream, and a simple OutputFormat.
- * @param writer The character output stream to use.
- */
- public FormatterToXML(java.io.OutputStream os)
- throws UnsupportedEncodingException , SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToXML();
- //super( format != null ? format : new OutputFormat( Method.XML, null, false ) );
- //_format.setMethod( Method.XML );
- m_serializer.setOutputStream( os );
- this.setContentHandler(m_serializer);
- }
-
- /**
- * Constructor using a writer.
- * @param writer The character output stream to use.
- */
- public FormatterToXML(FormatterToXML xmlListener) throws SAXException
- {
- super(new org.apache.xerces.parsers.SAXParser());
- m_serializer = new SerializerToXML();
- m_serializer.CopyFrom(xmlListener.m_serializer);
- //super( new OutputFormat( Method.XML, null, false ) );
- this.setContentHandler(m_serializer);
- }
-
- public SerializerToXML getSerializerObject()
- {
- return m_serializer;
- }
-
-
-} //ToXMLStringVisitor
diff --git a/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java b/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java
deleted file mode 100644
index 0bf4137..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/ProblemListener.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-
-/**
- * <meta name="usage" content="general"/>
- * This is the interface that the XSL processor calls when it
- * has a problem of some kind, either an error or a warning.
- * Users should ass the XSLTEngineImpl class to setProblemListener
- * if they wish an object instance to be called when a problem
- * event occurs.
- */
-public interface ProblemListener
-{
- public static final short WARNING = 1;
- public static final short ERROR = 2;
- public static final short MESSAGE = 3;
-
- public static final short XMLPARSER = 1;
- public static final short XSLPROCESSOR = 2;
- public static final short QUERYENGINE = 3;
- public static final short XPATHPROCESSOR = 4;
- public static final short XPATHPARSER = 5;
-
- /**
- * Function that is called when a problem event occurs.
- *
- * @param where Either and XMLPARSER, XSLPROCESSOR, or QUERYENGINE.
- * @param classification Either ERROR or WARNING.
- * @param styleNode The style tree node where the problem
- * occurred. May be null.
- * @param sourceNode The source tree node where the problem
- * occurred. May be null.
- * @param msg A string message explaining the problem.
- * @param lineNo The line number where the problem occurred,
- * if it is known. May be zero.
- * @param charOffset The character offset where the problem,
- * occurred if it is known. May be zero.
- *
- * @return true if the return is an ERROR, in which case
- * exception will be thrown. Otherwise the processor will
- * continue to process.
- */
- public boolean problem(short where, short classification,
- Object styleNode, Node sourceNode,
- String msg, String id, int lineNo, int charOffset)
- throws org.xml.sax.SAXException ;
-
- /**
- * Function that is called to issue a message.
- * @param msg A string message to output.
- */
- public boolean message(String msg);
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java b/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java
deleted file mode 100644
index ebc3927..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/ProblemListenerDefault.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.SAXException;
-import javax.xml.transform.TransformerException;
-
-/**
- * <meta name="usage" content="general"/>
- * This is the interface that the XSL processor calls when it
- * has a problem of some kind, either an error or a warning.
- * Users should ass the XSLTEngineImpl class to setProblemListener
- * if they wish an object instance to be called when a problem
- * event occurs.
- */
-public class ProblemListenerDefault extends org.apache.xml.utils.DefaultErrorHandler implements ProblemListener
-{
- //ErrorHandler m_errorHandler = null;
- ProblemListener m_problemListener = null;
-
- public ProblemListenerDefault()
- {
- super();
- }
-
- public ProblemListenerDefault(ProblemListener l)
- {
- //m_errorHandler = handler;
- m_problemListener = l;
- }
- /*
- public void setErrorHandler (ErrorHandler handler)
- {
- m_errorHandler = handler;
- }
- */
- public void setProblemListener (ProblemListener l)
- {
- m_problemListener = l;
- }
-
- public ErrorHandler getErrorHandler ()
- {
- return this; // m_errorHandler;
- }
-
- public ProblemListener getProblemListener ()
- {
- if (m_problemListener != null)
- return m_problemListener;
- else
- return this;
- }
-
- /**
- * Function that is called to issue a message.
- * @param msg A string message to output.
- */
- public boolean message(String msg)
- {
- if (m_problemListener != null)
- m_problemListener.message(msg);
- synchronized (this)
- {
- new java.io.PrintWriter( System.err, true ).println( msg );
- }
-
- return false; // we don't know this is an error
- }
-
- public boolean problem(short where, short classification,
- Object styleNode, Node sourceNode,
- String msg, String id, int lineNo, int charOffset)
- throws org.xml.sax.SAXException
- {
- if (m_problemListener != null)
- return m_problemListener.problem(where, classification, styleNode, sourceNode, msg, id, lineNo, charOffset);
- else
- {
- this.error(new SAXParseException(msg, null, id, lineNo, charOffset));
- return false;
- }
- }
-
- public void warning(SAXParseException exception) throws SAXException
- {
- if (m_problemListener == null)
- {
- super.warning(exception);
- }
- else
- {
- boolean shouldthrow = m_problemListener.problem(XSLPROCESSOR, WARNING,
- null, null,
- exception.getMessage(),
- exception.getSystemId(),
- exception.getLineNumber(),
- exception.getColumnNumber());
- if (shouldthrow)
- throw new SAXException(exception);
- }
- }
-
- public void error(SAXParseException exception) throws SAXException
- {
- if (m_problemListener == null)
- {
- super.error(exception);
- }
- else
- {
- boolean shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
- null, null,
- exception.getMessage(),
- exception.getSystemId(),
- exception.getLineNumber(),
- exception.getColumnNumber());
- if (shouldthrow)
- throw new SAXException(exception);
- }
- }
-
- public void fatalError(SAXParseException exception) throws SAXException
- {
- if (m_problemListener == null)
- {
- super.fatalError(exception);
- }
- else
- {
- boolean shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
- null, null,
- exception.getMessage(),
- exception.getSystemId(),
- exception.getLineNumber(),
- exception.getColumnNumber());
- if (shouldthrow)
- throw new SAXException(exception);
- }
- }
-
- public void warning(TransformerException exception) throws TransformerException
- {
- if (m_problemListener == null)
- {
- super.warning(exception);
- }
- else
- {
- boolean shouldthrow = true;
- try{
- javax.xml.transform.SourceLocator locator = exception.getLocator();
- if (locator != null)
- {
- shouldthrow = m_problemListener.problem(XSLPROCESSOR, WARNING,
- null, null,
- exception.getMessage(),
- locator.getSystemId(),
- locator.getLineNumber(),
- locator.getColumnNumber());
- }
- else
- {
- shouldthrow = m_problemListener.problem(XSLPROCESSOR, MESSAGE,
- null, null,
- exception.getMessage(),
- null,
- 0,
- 0);
- }
- }
- catch (SAXException se)
- {
- throw new TransformerException(se);
- }
- if (shouldthrow)
- throw new TransformerException(exception);
- }
- }
-
- public void error(TransformerException exception) throws TransformerException
- {
- if (m_problemListener == null)
- {
- super.error(exception);
- }
- else
- {
- boolean shouldthrow = true;
- try{
- javax.xml.transform.SourceLocator locator = exception.getLocator();
- if (locator != null)
- {
- shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
- null, null,
- exception.getMessage(),
- locator.getSystemId(),
- locator.getLineNumber(),
- locator.getColumnNumber());
- }
- else
- {
- shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
- null, null,
- exception.getMessage(),
- null,
- 0,
- 0);
- }
- }
- catch (SAXException se)
- {
- throw new TransformerException(se);
- }
- if (shouldthrow)
- throw new TransformerException(exception);
- }
- }
-
- public void fatalError(TransformerException exception) throws TransformerException
- {
- if (m_problemListener == null)
- {
- super.fatalError(exception);
- }
- else
- {
- boolean shouldthrow = true;
- try{
- javax.xml.transform.SourceLocator locator = exception.getLocator();
- if (locator != null)
- {
- shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
- null, null,
- exception.getMessage(),
- locator.getSystemId(),
- locator.getLineNumber(),
- locator.getColumnNumber());
- }
- else
- {
- shouldthrow = m_problemListener.problem(XSLPROCESSOR, ERROR,
- null, null,
- exception.getMessage(),
- null,
- 0,
- 0);
- }
- }
- catch (SAXException se)
- {
- throw new TransformerException(se);
- }
- if (shouldthrow)
- throw new TransformerException(exception);
- }
- }
- /*
- private class MessageMgr extends org.apache.xalan.transformer.MsgMgr
- {
- void MessageMgr()
- {}
- }*/
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java b/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java
deleted file mode 100644
index 50cbfb6..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/TreeWalker.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.xml.sax.*;
-import org.xml.sax.ext.LexicalHandler;
-
-import org.apache.xml.utils.AttList;
-
-/**
- * <meta name="usage" content="advanced"/>
- * This class does a pre-order walk of the DOM tree, calling the FormatterListener
- * interface as it goes.
- */
-public class TreeWalker //extends org.apache.xml.utils.TreeWalker
-{
-
- org.apache.xml.utils.TreeWalker m_walker;
-
- /**
- * Constructor.
- * @param formatterListener The implemention of the
- * FormatterListener operation (toXMLString, digest, ...)
- */
- public TreeWalker(DocumentHandler formatterListener)
- {
- if(formatterListener instanceof FormatterToXML)
- m_walker = new org.apache.xml.utils.TreeWalker(((FormatterToXML)formatterListener).getSerializerObject(), new org.apache.xpath.DOM2Helper());
- //super(formatterListener);
- }
-
- /**
- * Perform a pre-order traversal non-recursive style.
- */
- public void traverse(Node pos) throws SAXException
- {
- m_walker.traverse(pos);
- }
-
- /**
- * Perform a pre-order traversal non-recursive style.
- */
- public void traverse(Node pos, Node top) throws SAXException
- {
- m_walker.traverse(pos, top);
- }
-
-
-
-} //TreeWalker
diff --git a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java b/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java
deleted file mode 100644
index 952708f..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaison.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import org.w3c.dom.*;
-import org.apache.xpath.DOM2Helper;
-
-/**
- * <meta name="usage" content="general"/>
- * This is the interface that the XSL processor calls when it
- * has a problem of some kind, either an error or a warning.
- * Users should ass the XSLTEngineImpl class to setProblemListener
- * if they wish an object instance to be called when a problem
- * event occurs.
- */
-public class XMLParserLiaison extends DOM2Helper
-{
-
-
-}
diff --git a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaisonDefault.java b/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaisonDefault.java
deleted file mode 100644
index a3a239f..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/XMLParserLiaisonDefault.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xpath.xml;
-
-import javax.xml.parsers.*;
-import java.net.*;
-import java.io.*;
-import java.util.*;
-import org.xml.sax.*;
-import org.w3c.dom.*;
-
-import org.apache.xalan.xpath.xml.*;
-import org.apache.xalan.xpath.*;
-import org.apache.xpath.*;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-
-/**
- * A class that handles interfacing IBM's XML4J2 to the
- * Lotus XSL Processor.
- */
-public class XMLParserLiaisonDefault extends XMLParserLiaison
-{
-
-}
-
-
diff --git a/compat_src/org/apache/xalan/xpath/xml/package.html b/compat_src/org/apache/xalan/xpath/xml/package.html
deleted file mode 100644
index 57ee7d1..0000000
--- a/compat_src/org/apache/xalan/xpath/xml/package.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
- <P>Infrastructure for working with an XML parser.</P>
-
- <P>An implementation of the {@link org.apache.xalan.xpath.xml.XMLParserLiaison} interface provides a liaison
- between the XSLT processor and an XML parser. Unless you specify an XML parser and your own implementation of
- the XMLParserLiaison interface, Xalan-Java uses the
- {@link org.apache.xalan.xpath.xml.XMLParserLiaisonDefault}:</P>
- <P>This package also includes four implementations of the <A href="http://www.megginson.com/SAX/sax.html" target="_top">SAX</A> <A href="http://www.megginson.com/SAX/javadoc/org.xml.sax.DocumentHandler.html#_top" target="_top">org.xml.sax.DocumentHandler</A> interface:</P>
- <UL>
- <LI>{@link org.apache.xalan.xpath.xml.FormatterToDOM}</LI>
- <LI>{@link org.apache.xalan.xpath.xml.FormatterToXML}</LI>
- <LI>{@link org.apache.xalan.xpath.xml.FormatterToHTML} (an extension of FormatterToXML)</LI>
- <LI>{@link org.apache.xalan.xpath.xml.FormatterToText}</LI>
- </UL>
- </BODY></HTML>
\ No newline at end of file
diff --git a/compat_src/org/apache/xalan/xslt/Stylesheet.java b/compat_src/org/apache/xalan/xslt/Stylesheet.java
deleted file mode 100644
index 1998464..0000000
--- a/compat_src/org/apache/xalan/xslt/Stylesheet.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-package org.apache.xalan.xslt;
-
-import java.net.*;
-import java.io.*;
-import org.xml.sax.*;
-
-
-/**
- * Represents the base stylesheet or an
- * "import" stylesheet; "include" stylesheets are
- * combined with the including stylesheet.
- * At the moment these stylesheets can not be reused within the
- * stylesheet tree or between trees. This needs to be fixed
- * in the future.
- */
-public class Stylesheet extends org.apache.xalan.templates.Stylesheet
-{
-
- /**
- * Constructor for a Stylesheet needs a Document.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public Stylesheet(StylesheetRoot root,
- XSLTEngineImpl processor,
- String baseIdentifier)
- throws XSLProcessorException,
- MalformedURLException,
- FileNotFoundException,
- IOException,
- SAXException
- {
- super(root.getObject());
- }
-
- /**
- * Constructor using an org.apache.xalan.templates.StylesheetRoot.
- *
- * @param s an org.apache.xalan.templates.Stylesheet object
- */
- public Stylesheet(org.apache.xalan.templates.Stylesheet s)
- {
- super(s);
-
- }
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/StylesheetHandler.java b/compat_src/org/apache/xalan/xslt/StylesheetHandler.java
deleted file mode 100644
index 040fb35..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetHandler.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import java.util.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.AttributesImpl;
-import org.xml.sax.helpers.ParserAdapter;
-import org.w3c.dom.*;
-import java.util.Vector;
-import java.io.*;
-import java.net.*;
-
-import org.apache.xalan.templates.Stylesheet;
-
-/**
- * <meta name="usage" content="advanced"/>
- * Initializes and processes a stylesheet via SAX events.
- * If you need to alter the code in here,
- * it is not for the faint-of-heart, due to the state tracking
- * that has to be done due to the SAX event model.
- */
-public class StylesheetHandler extends ParserAdapter
-
-{
-
- /**
- * Instance constructor...
- * @param processor The XSLTProcessor implementation.
- * @param stylesheet The root stylesheet.
- *
- */
- public StylesheetHandler(XSLTEngineImpl processor, Stylesheet stylesheetTree)
- throws javax.xml.transform.TransformerConfigurationException, SAXException
- {
-
- super(new org.apache.xerces.parsers.SAXParser());
- //try{
- org.apache.xalan.processor.StylesheetHandler handler =
- new org.apache.xalan.processor.StylesheetHandler(processor.getTransformerFactory());
- handler.pushStylesheet(stylesheetTree);
- this.setContentHandler(handler);
- //}
- //catch (javax.xml.transform.TransformerConfigurationException tce)
- //{}
- }
-
- /**
- * Instance constructor...
- * @param processor The XSLTProcessor implementation.
- * @param stylesheet The root stylesheet.
- * @exception TransformerConfigurationException
- */
- public StylesheetHandler(XSLTEngineImpl processor, StylesheetRoot stylesheetTree)
- throws javax.xml.transform.TransformerConfigurationException, SAXException
- {
- //try{
- super(new org.apache.xerces.parsers.SAXParser());
- org.apache.xalan.processor.StylesheetHandler handler =
- new org.apache.xalan.processor.StylesheetHandler(processor.getTransformerFactory());
- handler.pushStylesheet(stylesheetTree.getObject());
- this.setContentHandler(handler);
- //}
- //catch (javax.xml.transform.TransformerConfigurationException tce)
- //{}
- }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/StylesheetRoot.java b/compat_src/org/apache/xalan/xslt/StylesheetRoot.java
deleted file mode 100644
index 892c31a..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetRoot.java
+++ /dev/null
@@ -1,581 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.w3c.dom.*;
-import java.util.*;
-import java.net.*;
-import java.io.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import org.apache.xml.serialize.*;
-import org.apache.xalan.serialize.*;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.OutputProperties;
-import javax.xml.transform.OutputKeys;
-import org.apache.xalan.xpath.xml.FormatterToXML;
-import org.apache.xalan.xpath.xml.FormatterToHTML;
-import org.apache.xalan.xpath.xml.FormatterToText;
-import org.apache.xalan.xpath.xml.FormatterToDOM;
-import org.apache.xalan.res.XSLTErrorResources;
-
-/**
- * <meta name="usage" content="general"/>
- * Binary representation of a stylesheet -- use the {@link org.apache.xalan.xslt.XSLTProcessor} ProcessStylesheet
- * method to create a StylesheetRoot and improve performance for a stylesheet performing multiple transformations.
- * Also required for XSLTProcessor to function as SAX DocumentHandler.
- */
-public class StylesheetRoot extends Stylesheet
-{
-
- private String m_liaisonClassUsedToCreate = null;
- private org.apache.xalan.templates.StylesheetRoot m_sRootObject;
-
- /**
- * Uses an XSL stylesheet document.
- * @param processor The XSLTProcessor implementation.
- * @param baseIdentifier The file name or URL for the XSL stylesheet.
- * @exception TransformerConfigurationException thrown
- */
- public StylesheetRoot(XSLTEngineImpl processor,
- String baseIdentifier)
- throws TransformerConfigurationException
- {
- super(null);
- m_sRootObject = new org.apache.xalan.templates.StylesheetRoot(processor.getTransformerFactory().getErrorListener());
- if (processor.getXMLProcessorLiaison()!= null)
- m_liaisonClassUsedToCreate = ((Object)processor.getXMLProcessorLiaison()).getClass().getName();
-
- }
-
-
- /**
- * Constructor using an org.apache.xalan.templates.StylesheetRoot.
- *
- * @param s an org.apache.xalan.templates.StylesheetRoot object
- */
- public StylesheetRoot(org.apache.xalan.templates.StylesheetRoot s)
- {
- super(null);
- m_sRootObject = s;
- }
-
- /**
- * Return the org.apache.xalan.templates.StylesheetRoot object
- * associated with this stylesheet root.
- *
- * @return an org.apache.xalan.templates.StylesheetRoot object
- */
- public org.apache.xalan.templates.StylesheetRoot getObject()
- {
- return m_sRootObject;
- }
-
- /**
- * Transform the XML source tree and place the output in the result tree target.
- * This method uses a new XSLTProcessor instance to track the running state.
- * @param xmlSource The XML input source tree.
- * @param outputTarget The output result tree.
- * @exception SAXException
- * @see org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)
- */
- public void process( XSLTInputSource xmlSource,
- XSLTResultTarget outputTarget)
- throws SAXException,
- MalformedURLException,
- FileNotFoundException,
- IOException
- {
- XSLTProcessor iprocessor =
- (null != m_liaisonClassUsedToCreate) ?
- new XSLTProcessorFactory().getProcessorUsingLiaisonName(m_liaisonClassUsedToCreate)
- : new XSLTProcessorFactory().getProcessor();
- process(iprocessor, iprocessor.getSourceTreeFromInput(xmlSource), outputTarget);
- // System.out.println("Number counters made: "+
- // ((XSLTEngineImpl)iprocessor).getCountersTable().m_countersMade);
- }
-
- /**
- * Transform the XML source tree and place the output in the result tree target.
- * Use this version of the StylesheetRoot process() method if you have used an
- * XSLTProcessor object to set a stylesheet parameter. That object is now the iprocessor parameter.
- * @param iprocessor The XSLTProcessor that will track the running state.
- * @param xmlSource The XML input source tree.
- * @param outputTarget The output result tree.
- * @exception SAXException
- * @see org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)
- */
- public void process( XSLTProcessor iprocessor, XSLTInputSource xmlSource,
- XSLTResultTarget outputTarget)
- throws SAXException,
- MalformedURLException,
- FileNotFoundException,
- IOException
- {
- process(iprocessor, iprocessor.getSourceTreeFromInput(xmlSource), outputTarget);
- }
-
- /**
- * Transform the XML source tree (a DOM Node) and place the output in the result tree target.
- * This is a convenience method. You can also use a DOM Node to instantiate an XSLTInputSource object,
- * and call {@link #process(org.apache.xalan.xslt.XSLTProcessor, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)} or
- * {@link org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)}.
- * @param iprocessor The processor that will track the running state.
- * @param sourceTree The input source tree in the form of a DOM Node.
- * @param outputTarget The output result tree.
- * @exception SAXException
- */
- public void process( XSLTProcessor iprocessor, Node sourceTree,
- XSLTResultTarget outputTarget)
- throws SAXException,
- MalformedURLException,
- FileNotFoundException,
- IOException
- {
- XSLTEngineImpl processor = (XSLTEngineImpl)iprocessor; // TODO: Check for class cast exception
- //checkInit(processor);
- synchronized(processor)
- {
- //processor.switchLiaisonsIfNeeded(sourceTree, outputTarget.getNode());
-
- processor.setStylesheet(this);
-
- OutputStream ostream = null;
-
- try
- {
- // Double-check the node to make sure it matches the processor liaison.
- //processor.getXMLProcessorLiaison().checkNode(sourceTree);
-
- // Needs work: We have to put the extension namespaces
- // into the liaison's table. We wouldn't have to do this
- // if the stylesheet handled it's own extensions, which
- // I'll fix on a later date.
- /* Enumeration keys = m_extensionNamespaces.keys();
- while(keys.hasMoreElements())
- {
- Object key = keys.nextElement();
- // System.out.println("Putting ext namespace: "+key);
- processor.getExecContext().addExtensionNamespace ((String)key,
- (ExtensionFunctionHandler)m_extensionNamespaces.get(key));
- }*/
-
- // Find the root pattern in the XSL.
- ElemTemplate rootRule = m_sRootObject.getTemplateComposed(processor.getTransformer().getXPathContext(), sourceTree, null, -1, false);
- //this.findTemplate(processor, sourceTree, sourceTree);
-
- if(null == rootRule)
- {
- rootRule = m_sRootObject.getDefaultRootRule();
- }
-
- DocumentHandler docHandler = outputTarget.getDocumentHandler();
-
- OutputFormat formatter = getOutputFormat();
-
- if(null != outputTarget.getEncoding())
- formatter.setEncoding(outputTarget.getEncoding());
-
- if(null != docHandler)
- {
- processor.setDocumentHandler(docHandler);
- }
- else if(null != outputTarget.getByteStream())
- {
- /* if (!(processor.getXMLProcessorLiaison()..getIndent() < 0))
- {
- // This is to get around differences between Xalan and Xerces.
- // Xalan uses -1 as default for no indenting, Xerces uses 0.
- // So we just bump up the indent value here because we will
- // subtract from it at output time (FormatterToXML.init());
- formatter.setIndent(processor.m_parserLiaison.getIndent() + 1);
- }*/
- processor.setDocumentHandler(makeSAXSerializer(outputTarget.getByteStream(),
- formatter));
- }
- else if(null != outputTarget.getCharacterStream())
- {
- /* if (!(processor.m_parserLiaison.getIndent() < 0))
- {
- formatter.setIndent(processor.m_parserLiaison.getIndent() + 1);
- }*/
- processor.setDocumentHandler(makeSAXSerializer(outputTarget.getCharacterStream(),
- formatter));
- }
- else if(null != outputTarget.getFileName())
- {
- /*if (!(processor.m_parserLiaison.getIndent() < 0))
- {
- formatter.setIndent(processor.m_parserLiaison.getIndent() + 1);
- }*/
- ostream = new FileOutputStream(outputTarget.getFileName());
- processor.setDocumentHandler( makeSAXSerializer(ostream, formatter));
- }
- else if(null != outputTarget.getNode())
- {
- ParserAdapter handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
- // Patch from Costin Manolache
-// if( "org.apache.xalan.xpath.dtm.DTMLiaison".equals( processor.getXMLProcessorLiaison().getClass().getName()))
-// processor.error(XSLTErrorResources.ER_CANT_USE_DTM_FOR_OUTPUT); //Can't use a DTMLiaison for an output DOM node... pass a org.apache.xalan.xpath.xdom.XercesLiaison instead!");
-
- switch(outputTarget.getNode().getNodeType())
- {
- case Node.DOCUMENT_NODE:
- handler.setContentHandler(new FormatterToDOM((Document)outputTarget.getNode()).getSerializerObject());
- processor.setDocumentHandler(handler);
- break;
- case Node.DOCUMENT_FRAGMENT_NODE:
- handler.setContentHandler(new FormatterToDOM(outputTarget.getNode().getOwnerDocument(), // PR:DMAN4M6PK5 Submitted by:<bk...@viae.de>
- (DocumentFragment)outputTarget.getNode()).getSerializerObject());
- processor.setDocumentHandler(handler);
- break;
- case Node.ELEMENT_NODE:
- handler.setContentHandler(new FormatterToDOM(outputTarget.getNode().getOwnerDocument(), // PR:DMAN4M6PK5 Submitted by:<bk...@viae.de>
- (Element)outputTarget.getNode()).getSerializerObject());
- processor.setDocumentHandler(handler);
- break;
- default:
- m_sRootObject.error(XSLTErrorResources.ER_CAN_ONLY_OUTPUT_TO_ELEMENT); //"Can only output to an Element, DocumentFragment, Document, or PrintWriter.");
- }
- }
- else
- {
- ParserAdapter handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
- outputTarget.setNode(processor.getXMLProcessorLiaison().createDocument());
- handler.setContentHandler(new FormatterToDOM((Document)outputTarget.getNode()).getSerializerObject());
- processor.setDocumentHandler(handler);
- }
-
- // processor.resetCurrentState(sourceTree);
- // processor.m_rootDoc = sourceTree;
-
- if(null != processor.m_diagnosticsPrintWriter)
- {
- processor.diag("=============================");
- processor.diag("Transforming...");
- processor.pushTime(sourceTree);
- }
-
- // processor.getVarStack().pushContextMarker();
- // try
- // {
- // processor.resolveTopLevelParams();
- // }
- // catch(Exception e)
- // {
- // throw new SAXException(XSLMessages.createMessage(XSLTErrorResources.ER_PROCESS_ERROR, null), e); //"StylesheetRoot.process error", e);
- // }
-
- processor.getTransformer().getResultTreeHandler().startDocument();
-
- // Output the action of the found root rule. All processing
- // occurs from here. buildResultFromTemplate is highly recursive.
- rootRule.execute(processor.getTransformer(), sourceTree, null);
-
- processor.getTransformer().getResultTreeHandler().endDocument();
-
- // Reset the top-level params for the next round.
- // processor.m_topLevelParams = new Vector();
-
- if(null != processor.m_diagnosticsPrintWriter)
- {
- processor.displayDuration("transform", sourceTree);
- }
- }
- catch(TransformerException te)
- {
- throw new SAXException(te);
- }
- finally
- {
- if (null != ostream)
- {
- ostream.close();
- }
- }
- }
-
- }
-
- /**
- * Creates a compatible SAX serializer for the specified writer
- * and output format. If the output format is missing, the default
- * is an XML format with UTF8 encoding.
- *
- * @param writer The writer
- * @param format The output format
- * @return A compatible SAX serializer
- */
- public DocumentHandler makeSAXSerializer( Writer writer, OutputFormat format )
- throws IOException, SAXException
- {
- DocumentHandler handler;
- if ( format == null )
- {
- format = new OutputFormat( "xml", "UTF-8", false );
- handler = null;
- }
- else
- {
- handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
- OutputProperties props = m_sRootObject.getOutputComposed();
-
- if ( format.getMethod().equalsIgnoreCase( "html" ) )
- {
- FormatterToHTML serializer = new FormatterToHTML(writer);
- serializer.getSerializerObject().setOutputFormat(props.getProperties());
- ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
- }
- else if ( format.getMethod().equalsIgnoreCase( "xml" ) )
- {
- FormatterToXML serializer = new FormatterToXML(writer);
- serializer.getSerializerObject().setOutputFormat(props.getProperties());
- ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
- }
- else if ( format.getMethod().equalsIgnoreCase( "text" ) )
- {
- FormatterToText serializer = new FormatterToText(writer);
- ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
- }
- else
- {
- handler = null;
- }
- }
-
- if(null == handler)
- {
- String method = format.getMethod();
- org.apache.xml.serialize.SerializerFactory factory = org.apache.xml.serialize.SerializerFactory.getSerializerFactory(method);
- org.apache.xml.serialize.Serializer serializer = factory.makeSerializer(writer, format);
- handler = serializer.asDocumentHandler();
- }
-
- return handler;
- }
-
- /**
- * Creates a compatible SAX serializer for the specified output stream
- * and output format. If the output format is missing, the default
- * is an XML format with UTF8 encoding.
- *
- * @param ostream The output stream.
- * @param format The output format
- * @return A compatible SAX serializer
- */
- public DocumentHandler makeSAXSerializer( OutputStream ostream, OutputFormat format )
- throws UnsupportedEncodingException, IOException, SAXException
- {
- DocumentHandler handler;
- OutputProperties props;
-
- if ( format == null )
- {
- props = new OutputProperties();
- handler = null;
- }
- else
- {
- handler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
- props = m_sRootObject.getOutputComposed();
- if ( format.getMethod().equalsIgnoreCase( "html" ) )
- {
- FormatterToHTML serializer = new FormatterToHTML(ostream);
- serializer.getSerializerObject().setOutputFormat(props.getProperties());
- ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
- }
- else if ( format.getMethod().equalsIgnoreCase( "xml" ) )
- {
- FormatterToXML serializer = new FormatterToXML(ostream);
- serializer.getSerializerObject().setOutputFormat(props.getProperties());
- ((ParserAdapter)handler).setContentHandler(serializer.getSerializerObject());
- }
- else if ( format.getMethod().equalsIgnoreCase( "text" ) )
- {
- String encoding = format.getEncoding();
- if(null == encoding)
- {
- try
- {
- encoding = System.getProperty("file.encoding");
- encoding = (null != encoding) ?
- org.apache.xalan.serialize.Encodings.convertJava2MimeEncoding( encoding ) : "ASCII";
- if(null == encoding)
- {
- encoding = "ASCII";
- }
- }
- catch(SecurityException se)
- {
- encoding = "ASCII";
- }
- }
-
- //this.m_encoding = encoding;
-
- String javaEncoding = org.apache.xalan.serialize.Encodings.convertMime2JavaEncoding(encoding);
-
- Writer w = new OutputStreamWriter( ostream, javaEncoding );
- ((ParserAdapter)handler).setContentHandler(new FormatterToText(w).getSerializerObject());
- }
- else if ( format.getMethod().equalsIgnoreCase( "xhtml" ) )
- {
- handler = new XMLSerializer(ostream, format);
- //handler = Serializer.makeSAXSerializer(ostream, format);
- }
- else
- {
- handler = new XMLSerializer(ostream, format);
- //handler = Serializer.makeSAXSerializer(ostream, format);
- }
- }
- if(null == handler)
- {
- String method = props.getProperty(OutputKeys.METHOD);
- org.apache.xml.serialize.SerializerFactory factory = org.apache.xml.serialize.SerializerFactory.getSerializerFactory(method);
- org.apache.xml.serialize.Serializer serializer = factory.makeSerializer(ostream, format);
- handler = serializer.asDocumentHandler();
- }
-
- return handler;
- }
-
- /**
- * Creates a compatible SAX serializer for the specified output stream
- * and output format. If the output format is missing, the default
- * is an XML format with UTF8 encoding.
- *
- * @param ostream The output stream.
- * @return A compatible SAX serializer
- */
- public DocumentHandler getSAXSerializer( OutputStream ostream )
- throws UnsupportedEncodingException, IOException, SAXException
- {
- return makeSAXSerializer(ostream, getOutputFormat());
- }
-
- /**
- * Get a new OutputFormat object according to the xsl:output attributes.
- */
- public OutputFormat getOutputFormat()
- {
- OutputProperties outputFormat = m_sRootObject.getOutputComposed();
- if (outputFormat == null)
- return null;
- OutputFormat formatter = new OutputFormat(outputFormat.getProperty(OutputKeys.METHOD),
- outputFormat.getProperty(OutputKeys.ENCODING),
- OutputProperties.getBooleanProperty(OutputKeys.INDENT, outputFormat.getProperties()));
- formatter.setDoctype(outputFormat.getProperty(OutputKeys.DOCTYPE_PUBLIC),
- outputFormat.getProperty(OutputKeys.DOCTYPE_SYSTEM));
- formatter.setOmitXMLDeclaration(OutputProperties.getBooleanProperty(OutputKeys.OMIT_XML_DECLARATION, outputFormat.getProperties()));
- formatter.setStandalone(OutputProperties.getBooleanProperty(OutputKeys.STANDALONE, outputFormat.getProperties()));
- formatter.setMediaType(outputFormat.getProperty(OutputKeys.MEDIA_TYPE));
- formatter.setVersion(outputFormat.getProperty(OutputKeys.VERSION));
- // This is to get around differences between Xalan and Xerces.
- // Xalan uses -1 as default for no indenting, Xerces uses 0.
- // So we just bump up the indent value here because we will
- // subtract from it at output time (FormatterToXML.init());
- // if (getOutputIndent())
- // formatter.setIndent(formatter.getIndent()+1);
-
-
- return formatter;
- }
-
- /**
- * Get the encoding string that was specified in the stylesheet.
- */
- public String getOutputEncoding()
- {
- return m_sRootObject.getOutputComposed().getProperty(OutputKeys.ENCODING);
- }
-
- /**
- * Get the media-type string that was specified in the stylesheet.
- */
- public String getOutputMediaType()
- {
- return m_sRootObject.getOutputComposed().getProperty(OutputKeys.MEDIA_TYPE);
- }
-
- /**
- * Get the output method that was specified in the stylesheet.
- */
- public String getOutputMethod()
- {
- return m_sRootObject.getOutputComposed().getProperty(OutputKeys.METHOD);
- }
-
- /**
- * Get the base identifier with which this stylesheet is associated.
- */
- public String getBaseIdentifier()
- {
- return m_sRootObject.getBaseIdentifier();
- }
-
- /**
- * Get the base identifier with which this stylesheet is associated.
- */
- public void setBaseIdentifier(String baseIdent)
- {
- m_sRootObject.setHref(baseIdent);
- }
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/StylesheetSpec.java b/compat_src/org/apache/xalan/xslt/StylesheetSpec.java
deleted file mode 100644
index ea5d837..0000000
--- a/compat_src/org/apache/xalan/xslt/StylesheetSpec.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import javax.xml.transform.stream.StreamSource;
-
-/**
- * <meta name="usage" content="general"/>
- * This class implements the representation of a stylesheet
- * specification via xml-stylesheet in an XML document.
- */
-public class StylesheetSpec extends StreamSource
-{
- String type; // CDATA #REQUIRED
- String title; // CDATA #IMPLIED
- String media; // CDATA #IMPLIED
- String encoding; // CDATA #IMPLIED
- boolean alternate; // (yes|no) "no"
-
- /**
- * Create a StylesheetSpec object.
- */
- public StylesheetSpec(String href, String type, String title,
- String media, boolean alternate,
- String encoding)
- {
- this.setSystemId(href);
- this.encoding = encoding;
- this.type = type;
- this.title = title;
- this.media = media;
- this.alternate = alternate;
- }
-
- /**
- * Get the encoding of the stylesheet.
- */
- public String getEncoding()
- {
- return encoding;
- }
-
- /**
- * Get the type of the stylesheet, i.e. "text/xsl".
- */
- public String getType()
- {
- return type;
- }
-
- /**
- * Get the title of the element (in other words, the
- * item to be presented to the user agent).
- */
- public String getTitle()
- {
- return title;
- }
-
- /**
- * Get the media attribute of the stylesheet.
- */
- public String getMedia()
- {
- return media;
- }
- /**
- * Get whether or not the stylesheet is specified as
- * an alternate.
- */
- public boolean getIsAlternate()
- {
- return alternate;
- }
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLProcessorContext.java b/compat_src/org/apache/xalan/xslt/XSLProcessorContext.java
deleted file mode 100644
index c6a2294..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLProcessorContext.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.w3c.dom.*;
-import org.apache.xalan.templates.Stylesheet;
-import org.apache.xml.utils.QName;
-import org.apache.xalan.transformer.TransformerImpl;
-
-// import org.apache.xalan.xslt.*;
-
-/**
- * <meta name="usage" content="general"/>
- * Captures processor context to be
- * passed to an extension element.
- *
- * @author Sanjiva Weerawarana (sanjiva@watson.ibm.com)
- */
-public class XSLProcessorContext extends org.apache.xalan.extensions.XSLProcessorContext
-{
- public XSLProcessorContext (XSLTEngineImpl processor,
- Stylesheet stylesheetTree,
- Node sourceTree, Node sourceNode, QName mode)
-
- {
- super((TransformerImpl)(processor.getTransformer()),
- stylesheetTree,
- sourceTree, sourceNode, mode);
- }
-
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLProcessorException.java b/compat_src/org/apache/xalan/xslt/XSLProcessorException.java
deleted file mode 100644
index 0a2b352..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLProcessorException.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.xml.sax.SAXException;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.res.XSLMessages;
-
-
-/**
- * <meta name="usage" content="general"/>
- * The exception used for most XSLT errors.
- */
-public class XSLProcessorException extends SAXException
-{
- private Exception m_exception;
-
- /**
- * Create an XSLProcessorException object that holds
- * an error message.
- * @param message The error message.
- */
- public XSLProcessorException(String message)
- {
- super((null == message) ? XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null) : message);
- m_exception = null;
- }
-
- /**
- * Create an XSLProcessorException object that holds
- * an error message, and another exception
- * that caused this exception.
- * @param message The error message.
- * @param e The exception that caused this exception.
- */
- public XSLProcessorException (String message, Exception e)
- {
- super((null == message) ? XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null) : message);
- this.m_exception = e;
- }
-
- /**
- * Create an XSLProcessorException object that holds
- * another exception that caused this exception.
- * @param e The exception that caused this exception.
- */
- public XSLProcessorException (Exception e)
- {
- super((null == e.getMessage()) ? XSLMessages.createMessage(XSLTErrorResources.ER_XSLT_ERROR, null) : e.getMessage());
- this.m_exception = e;
- }
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTEngineImpl.java b/compat_src/org/apache/xalan/xslt/XSLTEngineImpl.java
deleted file mode 100644
index 7f00511..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTEngineImpl.java
+++ /dev/null
@@ -1,2426 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.apache.xpath.*;
-import org.apache.xpath.compiler.XPathParser;
-import org.apache.xpath.compiler.Compiler;
-import org.apache.xalan.xpath.XObject;
-import org.apache.xalan.xpath.XString;
-import org.apache.xalan.xpath.XNodeSet;
-import org.apache.xalan.xpath.XBoolean;
-import org.apache.xalan.xpath.XNumber;
-import org.apache.xalan.xpath.XNull;
-
-import org.w3c.dom.*;
-import org.w3c.dom.traversal.NodeIterator;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-import org.xml.sax.ext.*;
-import org.xml.sax.helpers.ParserAdapter;
-import org.apache.xml.serialize.XMLSerializer;
-
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.Templates;
-import javax.xml.transform.Source;
-import javax.xml.transform.SourceLocator;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.sax.TransformerHandler;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.ErrorListener;
-
-import java.util.*;
-import java.net.*;
-import java.io.*;
-import java.lang.reflect.*;
-
-import org.apache.xalan.templates.Stylesheet;
-//import org.apache.xalan.templates.StylesheetRoot;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-import org.apache.xalan.xpath.xml.ProblemListenerDefault;
-import org.apache.xalan.xpath.xml.ProblemListener;
-import org.apache.xalan.templates.StylesheetComposed;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.apache.xalan.processor.StylesheetHandler;
-import org.apache.xalan.processor.TransformerFactoryImpl;
-//import org.apache.xalan.processor.ProcessorStylesheet;
-//import org.apache.xalan.xslt.StylesheetSpec;
-import org.apache.xalan.trace.*;
-import org.apache.xalan.res.XSLTErrorResources;
-import org.apache.xalan.res.XSLMessages;
-import org.apache.xml.utils.PrefixResolverDefault;
-import org.apache.xml.utils.TreeWalker;
-import org.apache.xml.utils.QName;
-import org.apache.xml.utils.DefaultErrorHandler;
-import org.apache.xalan.stree.SourceTreeHandler;
-
-
-/**
- * <meta name="usage" content="advanced"/>
- * The Xalan workhorse -- Collaborates with the XML parser liaison, the DOM,
- * and the XPath engine, to transform a source tree of nodes into a result tree
- * according to instructions and templates specified by a stylesheet tree.
- * We suggest you use one of the
- * static XSLTProcessorFactory getProcessor() methods to instantiate the processor
- * and return an interface that greatly simplifies the process of manipulating
- * XSLTEngineImpl.
- *
- * <p>The methods <code>process(...)</code> are the primary public entry points.
- * The best way to perform transformations is to use the
- * {@link org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)} method,
- * but you may use any of process methods defined in XSLTEngineImpl.</p>
- *
- * <p>Please note that this class is not safe per instance over multiple
- * threads. If you are in a multithreaded environment, you should
- * keep a pool of these objects, or create a new one each time. In a
- * multithreaded environment, the right way to do things is to create a
- * StylesheetRoot via processStylesheet, and then reuse this object
- * over multiple threads.</p>
- *
- * <p>If you reuse the processor instance, you should call reset() between transformations.</p>
- * @see XSLTProcessorFactory
- * @see XSLTProcessor
- */
-public class XSLTEngineImpl implements XSLTProcessor
-{
- //private Processor m_processor;
- private TransformerFactory m_tfactory;
- private TransformerImpl m_transformerImpl;
- private DOM2Helper m_liaison;
- private String m_outputFileName;
- private DocumentHandler m_documentHandler = null;
- private ProblemListenerDefault m_problemListener;
- private Hashtable m_stylesheetParams;
- StylesheetRoot m_stylesheetRoot = null;
-
- Vector m_evalList = null;
- boolean m_needToEval = false;
-
- /*
- * If this is true, then the diag function will
- * be called.
- */
- private boolean m_traceTemplateChildren = false;
-
- /*
- * If this is true, then the simple tracing of templates
- * will be performed.
- */
- private boolean m_traceTemplates = false;
-
- /*
- * If this is true, then diagnostics of each select
- * will be performed.
- */
- boolean m_traceSelects = false;
-
- /*
- * A stream to print diagnostics to.
- */
- java.io.PrintWriter m_diagnosticsPrintWriter = null;
-
- /* For diagnostics */
- Hashtable m_durationsTable = new Hashtable();
-
- /**
- * A XSLMessages instance capable of producing user messages.
- */
- private static XSLMessages m_XSLMessages = new XSLMessages();
-
-
- /**
- * Construct an XSLT processor that uses the default DTM (Document Table Model) liaison
- * and XML parser. As a general rule, you should use XSLTProcessorFactory to create an
- * instance of this class and provide access to the instance via the XSLTProcessor interface.
- *
- * @see XSLTProcessorFactory
- * @see XSLTProcessor
- */
- protected XSLTEngineImpl()
- throws org.xml.sax.SAXException
- {
- m_tfactory = TransformerFactory.newInstance();
- m_problemListener = new ProblemListenerDefault();
- //m_liaison = (DOM2Helper)createLiaison();
- }
-
- /**
- * Construct an XSLT processor that uses the the given parser liaison.
- * As a general rule, you should use XSLTProcessorFactory to create an
- * instance of this class and provide access to the instance via the XSLTProcessor interface.
- *
- * @see XSLTProcessorFactory
- * @see XSLTProcessor
- */
- public XSLTEngineImpl(String liaisonClassName)
- throws SAXException
- {
- m_tfactory = TransformerFactory.newInstance();
- m_problemListener = new ProblemListenerDefault();
-
- try
- {
- m_liaison = (DOM2Helper)(Class.forName(liaisonClassName).newInstance());
- //org.apache.xpath.XPathContext xctxt = this.getTransformer().getXPathContext();
-
- //xctxt.setDOMHelper(m_liaison);
- }
- catch (ClassNotFoundException e1)
- {
- throw new SAXException("XML Liaison class " + liaisonClassName +
- " specified but not found", e1);
- }
- catch (IllegalAccessException e2)
- {
- throw new SAXException("XML Liaison class " + liaisonClassName +
- " found but cannot be loaded", e2);
- }
- catch (InstantiationException e3)
- {
- throw new SAXException("XML Liaison class " + liaisonClassName +
- " loaded but cannot be instantiated (no empty public constructor?)",
- e3);
- }
- catch (ClassCastException e4)
- {
- throw new SAXException("XML Liaison class " + liaisonClassName +
- " does not implement DOM2Helper", e4);
- }
-
- }
-
-
-
- /**
- * Construct an XSL processor that uses the the given parser liaison.
- * As a general rule, you should use XSLTProcessorFactory to create an
- * instance of this class and provide access to the instance via the XSLTProcessor interface.
- *
- * @param XMLParserLiaison A liaison to an XML parser.
- *
- * @see org.apache.xalan.xpath.xml.XMLParserLiaison
- * @see XSLTProcessorFactory
- * @see XSLTProcessor
- */
- public XSLTEngineImpl(XMLParserLiaison parserLiaison)
- throws org.xml.sax.SAXException
- {
- m_tfactory = TransformerFactory.newInstance();
- m_problemListener = new ProblemListenerDefault();
-
- m_liaison = (DOM2Helper)parserLiaison;
- // org.apache.xpath.XPathContext xctxt = this.getTransformer().getXPathContext();
-
- //xctxt.setDOMHelper(m_liaison);
- }
-
- /**
- * Construct an XSLT processor that can call back to the XML parser, in order to handle
- * included files and the like.
- *
- * @param XMLParserLiaison A liaison to an XML parser.
- *
- * @see org.apache.xalan.xpath.xml.XMLParserLiaison
- * @see XSLTProcessorFactory
- * @see XSLTProcessor
- */
- XSLTEngineImpl(XMLParserLiaison parserLiaison, XPathFactory xpathFactory)
- throws SAXException
- {
- m_tfactory = TransformerFactory.newInstance();
- m_problemListener = new ProblemListenerDefault();
-
- m_liaison = (DOM2Helper)parserLiaison;
- // org.apache.xpath.XPathContext xctxt = this.getTransformer().getXPathContext();
-
- //xctxt.setDOMHelper(m_liaison);
- }
-
- /**
- * Get a Liaison class
- */
- public XMLParserLiaison createLiaison()
- throws org.xml.sax.SAXException
- {
- return new org.apache.xalan.xpath.xml.XMLParserLiaisonDefault();
- }
-
- /**
- * Reset the state. This needs to be called after a process() call
- * is invoked, if the processor is to be used again.
- */
- public void reset()
- {
- if (m_transformerImpl != null)
- m_transformerImpl.reset();
- m_stylesheetParams = null;
- }
-
-
-
- /**
- * Transform the source tree to the output in the given
- * result tree target. As a general rule, we recommend you use the
- * {@link org.apache.xalan.xslt.XSLTProcessor#process(org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTInputSource, org.apache.xalan.xslt.XSLTResultTarget)} method.
- * @param inputSource The input source.
- * @param stylesheetSource The stylesheet source. May be null if source has a xml-stylesheet PI.
- * @param outputTarget The output source tree.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void process( XSLTInputSource inputSource,
- XSLTInputSource stylesheetSource,
- XSLTResultTarget outputTarget)
- throws SAXException
- {
- try
- {
- Boolean totalTimeID = new Boolean(true);
- pushTime(totalTimeID);
- Node sourceTree = null;
-
- Templates templates = null;
- if (m_needToEval)
- {
- Node node = null;
- if (null != stylesheetSource)
- {
- Source ssSource = stylesheetSource.getSourceObject();
- if(ssSource instanceof DOMSource)
- {
- node = ((DOMSource)ssSource).getNode();
- }
- }
- if (null == node)
- {
- node = new DOM2Helper().createDocument() ;
- }
- for (int i=0; i< m_evalList.size(); i++)
- {
- String name = (String)m_evalList.elementAt(i);
- String expression = (String)m_stylesheetParams.get(name);
- try{
- org.apache.xpath.objects.XObject val = org.apache.xpath.XPathAPI.eval(node, expression);
-
- m_stylesheetParams.put(name, val);
- }
- catch(TransformerException te)
- {
- throw new SAXException(te);
- }
- }
- m_needToEval = false;
- m_evalList = null;
- }
-
- sourceTree = getSourceTreeFromInput(inputSource);
-
- if(null != stylesheetSource)
- {
- try{
- templates = m_tfactory.newTemplates(stylesheetSource.getSourceObject());
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
-
- }
- else if( null != inputSource)
- {
- if(null != sourceTree)
- {
- String stylesheetURI = null;
- Stack hrefs = new Stack();
- for(Node child=sourceTree.getFirstChild(); null != child; child=child.getNextSibling())
- {
- if(Node.PROCESSING_INSTRUCTION_NODE == child.getNodeType())
- {
- ProcessingInstruction pi = (ProcessingInstruction)child;
- if(pi.getNodeName().equals("xml-stylesheet")
- || pi.getNodeName().equals("xml:stylesheet"))
- {
- boolean isOK = true;
- StringTokenizer tokenizer = new StringTokenizer(pi.getNodeValue(), " \t=");
- while(tokenizer.hasMoreTokens())
- {
- if(tokenizer.nextToken().equals("type"))
- {
- String typeVal = tokenizer.nextToken();
- typeVal = typeVal.substring(1, typeVal.length()-1);
- if(!typeVal.equals("text/xsl") && !typeVal.equals("text/xml") && !typeVal.equals("application/xml+xslt"))
- {
- isOK = false;
- }
- }
- }
-
- if(isOK)
- {
- tokenizer = new StringTokenizer(pi.getNodeValue(), " \t=");
- while(tokenizer.hasMoreTokens())
- {
- if(tokenizer.nextToken().equals("href"))
- {
- stylesheetURI = tokenizer.nextToken();
- stylesheetURI = stylesheetURI.substring(1, stylesheetURI.length()-1);
- hrefs.push(stylesheetURI);
- }
- }
- }
- }
- }
- } // end for(int i = 0; i < nNodes; i++)
- boolean isRoot = true;
- Stylesheet prevStylesheet = null;
- while(!hrefs.isEmpty())
- {
- Stylesheet stylesheet = getStylesheetFromPIURL((String)hrefs.pop(), sourceTree,
- (null != inputSource)
- ? inputSource.getSystemId() : null,
- isRoot);
- if(false == isRoot)
- {
- prevStylesheet.setImport((StylesheetComposed)stylesheet);
- }
- prevStylesheet = stylesheet;
- isRoot = false;
- }
- }
- }
- else
- {
- error(XSLTErrorResources.ER_NO_INPUT_STYLESHEET); //"Stylesheet input was not specified!");
- }
-
-
- if(null == templates)
- {
- if (m_stylesheetRoot != null)
- templates = m_stylesheetRoot.getObject();
- else
- {
- error(XSLTErrorResources.ER_FAILED_PROCESS_STYLESHEET); //"Failed to process stylesheet!");
- return;
- }
- }
-
- if(null != templates)
- {
- try{
- m_transformerImpl = (TransformerImpl)templates.newTransformer();
- if (m_problemListener != null)
- m_transformerImpl.setErrorListener(m_problemListener);
- if (m_liaison != null)
- m_transformerImpl.getXPathContext().setDOMHelper(m_liaison);
-
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
-
- if (m_stylesheetParams != null)
- {
- Enumeration keys = m_stylesheetParams.keys();
- while (keys.hasMoreElements())
- {
- String name = (String)keys.nextElement();
- Object value = m_stylesheetParams.get(name);
- m_transformerImpl.setParameter(name, null, value);
- }
- }
-
- try{
- m_transformerImpl.transform(new DOMSource(sourceTree),
- outputTarget.getResultObject());
- }
- catch (TransformerException te)
- {
- throw new SAXException(te);
- }
- if(null != m_diagnosticsPrintWriter)
- {
- displayDuration("Total time", totalTimeID);
- }
- }
- }
- catch(MalformedURLException mue)
- {
- error(XSLTErrorResources.ERROR0000, new Object[] {mue.getMessage()}, mue);
- // throw se;
- }
- catch(FileNotFoundException fnfe)
- {
- error(XSLTErrorResources.ERROR0000, new Object[] {fnfe.getMessage()}, fnfe);
- // throw se;
- }
- catch(IOException ioe)
- {
- error(XSLTErrorResources.ERROR0000, new Object[] {ioe.getMessage()}, ioe);
- // throw se;
- }
- catch(SAXException se)
- {
- error(XSLTErrorResources.ER_SAX_EXCEPTION, se); //"SAX Exception", se);
- // throw se;
- }
- }
-
- /**
- * Bottleneck the creation of the stylesheet for derivation purposes.
- */
- public StylesheetRoot createStylesheetRoot(String baseIdentifier)
- throws MalformedURLException, FileNotFoundException,
- IOException, SAXException
- {
- try{
- if (baseIdentifier == null)
- return new StylesheetRoot(this, baseIdentifier);
-
- Source inSource = new XSLTInputSource(baseIdentifier).getSourceObject();
- Templates templates = m_tfactory.newTemplates(inSource);
- StylesheetRoot stylesheet = new StylesheetRoot((org.apache.xalan.templates.StylesheetRoot)templates);
- return stylesheet;
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
- }
-
- /**
- * Bottleneck the creation of the stylesheet for derivation purposes.
- */
- StylesheetRoot createStylesheetRoot(String baseIdentifier, XSLTInputSource source)
- throws MalformedURLException, FileNotFoundException,
- IOException, SAXException
- {
- try{
- Source inSource = source.getSourceObject();
- Templates templates = m_tfactory.newTemplates(inSource);
- StylesheetRoot stylesheet = new StylesheetRoot((org.apache.xalan.templates.StylesheetRoot)templates);
- return stylesheet;
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
- }
-
- /**
- * Given a URI to an XSL stylesheet,
- * Compile the stylesheet into an internal representation.
- * This calls reset() before processing if the stylesheet root has been set
- * to non-null.
- * @param xmldocURLString The URL to the input XML document.
- * @return The compiled stylesheet object.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public StylesheetRoot processStylesheet(XSLTInputSource stylesheetSource)
- throws SAXException
- {
- try{
- if(null != ((TransformerFactoryImpl)m_tfactory).newTemplatesHandler().getTemplates())
- reset();
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
-
- String xslIdentifier = ((null == stylesheetSource) ||
- (null == stylesheetSource.getSystemId()))
- ? "Input XSL" : stylesheetSource.getSystemId();
-
- // In case we have a fragment identifier, go ahead and
- // try and parse the XML here.
- m_stylesheetRoot = null;
- try
- {
- StylesheetHandler stylesheetProcessor
- = new StylesheetHandler((TransformerFactoryImpl)m_tfactory); //this, m_stylesheetRoot);
-
- Source ssSource = stylesheetSource.getSourceObject();
- if(ssSource instanceof DOMSource)
- {
- if(((DOMSource)ssSource).getNode() instanceof StylesheetRoot)
- {
- m_stylesheetRoot = (StylesheetRoot)((DOMSource)ssSource).getNode();
- }
- else
- {
- stylesheetProcessor.setSystemId(stylesheetSource.getSystemId());
- TreeWalker tw = new TreeWalker(stylesheetProcessor, new org.apache.xpath.DOM2Helper());
- tw.traverse(((DOMSource)ssSource).getNode());
- m_stylesheetRoot = new StylesheetRoot(stylesheetProcessor.getStylesheetRoot());
- }
- }
- else
- {
- if(null != m_liaison)
- {
- // DOM2Helper liaison = (DOM2Helper)(Class.forName(liaisonClassName).newInstance());
- m_liaison.parse(SAXSource.sourceToInputSource(ssSource));
- DOMSource source = new DOMSource(m_liaison.getDocument());
- Templates templates = m_tfactory.newTemplates(source);
- m_stylesheetRoot = new StylesheetRoot(
- (org.apache.xalan.templates.StylesheetRoot)templates);
- }
- else
- {
- m_stylesheetRoot = createStylesheetRoot(stylesheetSource.getSystemId(), stylesheetSource);
- }
- addTraceListenersToStylesheet();
-
-
- stylesheetProcessor.pushStylesheet(m_stylesheetRoot.getObject());
- diag("========= Parsing "+xslIdentifier+" ==========");
- pushTime(xslIdentifier);
- //String liaisonClassName = System.getProperty("org.apache.xalan.source.liaison");
-
-
- if(null != m_diagnosticsPrintWriter)
- displayDuration("Parse of "+xslIdentifier, xslIdentifier);
- }
- }
- catch(Exception e)
- {
- error(XSLTErrorResources.ER_COULDNT_PARSE_DOC, new Object[] {xslIdentifier}, e); //"Could not parse "+xslIdentifier+" document!", e);
- }
- return m_stylesheetRoot;
- }
-
- /**
- * Given a URI to an XSL stylesheet,
- * Compile the stylesheet into an internal representation.
- * This calls reset() before processing if the stylesheet root has been set
- * to non-null.
- * @param xmldocURLString The URL to the input XML document.
- * @return The compiled stylesheet object.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public StylesheetRoot processStylesheet(String xsldocURLString)
- throws SAXException
- {
- try
- {
- XSLTInputSource input = new XSLTInputSource(getURLFromString(xsldocURLString, null).toString());
- return processStylesheet(input);
- }
- catch(SAXException se)
- {
- error(XSLTErrorResources.ER_PROCESSSTYLESHEET_NOT_SUCCESSFUL, se); //"processStylesheet not succesfull!", se);
- return null; // shut up compiler
- }
- }
-
- /**
- * Set the stylesheet for this processor. If this is set, then the
- * process calls that take only the input .xml will use
- * this instead of looking for a stylesheet PI. Also,
- * setting the stylesheet is needed if you are going
- * to use the processor as a SAX DocumentHandler.
- */
- public void setStylesheet(StylesheetRoot stylesheetRoot)
- {
- m_stylesheetRoot = stylesheetRoot;
- org.apache.xalan.templates.StylesheetRoot sr = stylesheetRoot.getObject();
- if (m_transformerImpl == null)
- m_transformerImpl = (TransformerImpl)sr.newTransformer();
- m_transformerImpl.setStylesheet(sr);
- if (m_problemListener != null)
- m_transformerImpl.setErrorListener(m_problemListener);
- }
-
- /**
- * Get the current stylesheet for this processor.
- */
- public StylesheetRoot getStylesheet()
- {
- return m_stylesheetRoot;
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Get the filename of the output document, if it was set.
- * This is for use by multiple output documents, to determine
- * the base directory for the output document. It needs to
- * be set by the caller.
- */
- public String getOutputFileName()
- {
- return m_outputFileName;
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Set the filename of the output document.
- * This is for use by multiple output documents, to determine
- * the base directory for the output document. It needs to
- * be set by the caller.
- */
- public void setOutputFileName(String filename)
- {
- m_outputFileName = filename;
- }
-
-
-
- /**
- * Given an input source, get the source tree.
- */
- public Node getSourceTreeFromInput(XSLTInputSource inputSource)
- throws org.xml.sax.SAXException
- {
- Node sourceTree = null;
- String xmlIdentifier = ((null == inputSource) ||
- (null == inputSource.getSystemId()))
- ? "Input XML" : inputSource.getSystemId();
-
- Source iSource = inputSource.getSourceObject();
-
- if(iSource instanceof DOMSource)
- {
- //if(getXMLProcessorLiaison() instanceof org.apache.xalan.xpath.dtm.DTMLiaison)
- // error(XSLTErrorResources.ER_CANT_USE_DTM_FOR_INPUT);
-
- sourceTree = ((DOMSource)iSource).getNode();
- }
- else
- {
- // In case we have a fragment identifier, go ahead and
- // try and parse the XML here.
- try
- {
- diag("========= Parsing "+xmlIdentifier+" ==========");
- pushTime(xmlIdentifier);
-
- //String liaisonClassName = System.getProperty("org.apache.xalan.source.liaison");
-
- if(null != m_liaison)
- {
- //DOM2Helper liaison = (DOM2Helper)(Class.forName(liaisonClassName).newInstance());
- m_liaison.parse(SAXSource.sourceToInputSource(iSource));
- if(null != m_diagnosticsPrintWriter)
- displayDuration("Parse of "+xmlIdentifier, xmlIdentifier);
- sourceTree = m_liaison.getDocument();
- }
- else
- {
- XMLReader reader = XMLReaderFactory.createXMLReader();
- try
- {
- reader.setFeature("http://xml.org/sax/features/namespace-prefixes", true);
- }
- catch(SAXException se)
- {
- // What can we do?
- // TODO: User diagnostics.
- }
-
- // Get the input content handler, which will handle the
- // parse events and create the source tree.
- //StylesheetHandler inputHandler = (StylesheetHandler)m_processor.getTemplatesBuilder();
- //reader.setContentHandler( inputHandler );
-
- SourceTreeHandler handler = new SourceTreeHandler();
- reader.setContentHandler(handler);
- reader.setProperty("http://xml.org/sax/properties/lexical-handler", handler);
-
- // Kick off the parse. When the ContentHandler gets
- // the startDocument event, it will call transformNode( node ).
- reader.parse( SAXSource.sourceToInputSource(iSource));
- sourceTree = handler.getRoot();
- }
- }
- catch(Exception e)
- {
- // Unwrap exception
- if((e instanceof SAXException) && (null != ((SAXException)e).getException()))
- {
- // ((SAXException)e).getException().printStackTrace();
- e = ((SAXException)e).getException();
- }
- sourceTree = null; // shutup compiler
- error(XSLTErrorResources.ER_COULDNT_PARSE_DOC, new Object[] {xmlIdentifier}, e); //"Could not parse "+xmlIdentifier+" document!", e);
- }
- }
-
- return sourceTree;
- }
-
- /**
- * Get Stylesheet from PI URL
- *
- * @param xslURLString a valid URI to an XSL stylesheet.
- * @param fragbase Document fragment Node.
- * @param xmlBaseIdent Base URI to resolve stylesheet URL
- * @param isRoot Flag indicating if root node
- */
- Stylesheet getStylesheetFromPIURL(String xslURLString, Node fragBase,
- String xmlBaseIdent, boolean isRoot)
- throws SAXException,
- MalformedURLException,
- FileNotFoundException,
- IOException
- {
- Stylesheet stylesheet = null;
- String[] stringHolder =
- {
- null};
- xslURLString = xslURLString.trim();
- int fragIndex = xslURLString.indexOf('#');
- String fragID = null;
- Document stylesheetDoc;
- if(fragIndex == 0)
- {
- diag("Locating stylesheet from fragment identifier...");
- fragID = xslURLString.substring(1);
-
- // Try a bunch of really ugly stuff to find the fragment.
- // What's the right way to do this?
-
- // Create a XPath parser.
- XPathParser parser = new XPathParser((ErrorListener)m_problemListener.getErrorHandler(), null);
- XPathContext xpathContext = new XPathContext();
- PrefixResolverDefault nsNode = new PrefixResolverDefault(fragBase); //xpathContext.getNamespaceContext();
-
- NodeIterator nl = null;
- // Create the XPath object.
- try{
- XPath xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
- Compiler compiler = new Compiler();
- // Parse the xpath
- parser.initXPath(compiler, "id("+fragID+")", nsNode);
- org.apache.xpath.objects.XObject xobj = xpath.execute(xpathContext, fragBase, nsNode);
-
- nl = xobj.nodeset();
- if(nl.nextNode() == null)
- {
- // xobj = Stylesheet.evalXPathStr(getExecContext(), "//*[@id='"+fragID+"']", fragBase, nsNode);
- // Create the XPath object.
- xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-
- // Parse the xpath
- parser.initXPath(compiler, "//*[@id='"+fragID+"']", nsNode);
- xobj = xpath.execute(xpathContext, fragBase, nsNode);
-
- nl = xobj.nodeset();
- if(nl.nextNode() == null)
- {
- // xobj = Stylesheet.evalXPathStr(getExecContext(), "//*[@name='"+fragID+"']", fragBase, nsNode);
- // Create the XPath object.
- xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-
- // Parse the xpath
- parser.initXPath(compiler, "//*[@name='"+fragID+"']", nsNode);
- xobj = xpath.execute(xpathContext, fragBase, nsNode);
- nl = xobj.nodeset();
- if(nl.nextNode() == null)
- {
- // Well, hell, maybe it's an XPath...
- // xobj = Stylesheet.evalXPathStr(getExecContext(), fragID, fragBase, nsNode);
- // Create the XPath object.
- //((StylesheetHandler)( m_processor.getTemplatesBuilder())).getLocator()
- xpath = new XPath(fragID, null, nsNode, XPath.MATCH);
-
- // Parse the xpath
- parser.initXPath(compiler, fragID, nsNode);
- xobj = xpath.execute(xpathContext, fragBase, nsNode);
- nl = xobj.nodeset();
- }
- }
- }
- }
- catch (TransformerException te)
- {
- throw new SAXException(te);
- }
- if(nl.nextNode() == null)
- {
- error(XSLTErrorResources.ER_COULDNT_FIND_FRAGMENT, new Object[] {fragID}); //"Could not find fragment: "+fragID);
- }
- // Use previous because the previous call moved the pointer.
- // or should we use getRoot??
- Node frag = nl.previousNode(); //.item(0);
-
- if(Node.ELEMENT_NODE == frag.getNodeType())
- {
- pushTime(frag);
- if(isRoot)
- {
- m_stylesheetRoot = createStylesheetRoot(stringHolder[0]);
- stylesheet = m_stylesheetRoot.getObject();
- }
- else
- {
- //stylesheet = new Stylesheet(m_stylesheetRoot);
- // stylesheet = ((StylesheetHandler)(m_processor.getTemplatesBuilder())).getStylesheetRoot();
- try{
- Source source = new XSLTInputSource(fragID).getSourceObject();
- Templates templates = m_tfactory.newTemplates(source);
- stylesheet = (org.apache.xalan.templates.StylesheetRoot)templates;
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
- }
- addTraceListenersToStylesheet();
-
- try{
- StylesheetHandler stylesheetProcessor
- = new StylesheetHandler((TransformerFactoryImpl)m_tfactory);
-
- stylesheetProcessor.pushStylesheet(stylesheet);
- TreeWalker tw = new TreeWalker(stylesheetProcessor, new org.apache.xpath.DOM2Helper());
- tw.traverse(frag);
-
- displayDuration("Setup of "+xslURLString, frag);
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
- }
- else
- {
- stylesheetDoc = null;
- error(XSLTErrorResources.ER_NODE_NOT_ELEMENT, new Object[] {fragID}); //"Node pointed to by fragment identifier was not an element: "+fragID);
- }
- }
- else
- {
- // TODO: Use Reader here??
- // hmmm.. for now I'll rely on the XML parser to handle
- // fragment URLs.
- diag(XSLMessages.createMessage(XSLTErrorResources.WG_PARSING_AND_PREPARING, new Object[] {xslURLString})); //"========= Parsing and preparing "+xslURLString+" ==========");
- pushTime(xslURLString);
-
- URL xslURL = getURLFromString(xslURLString, xmlBaseIdent);
-
- XSLTInputSource inputSource = new XSLTInputSource(xslURL.toString());
-
- if(isRoot)
- {
- if(null != m_liaison)
- {
- try{
- m_liaison.parse(SAXSource.sourceToInputSource(inputSource.getSourceObject()));
- DOMSource source = new DOMSource(m_liaison.getDocument());
- Templates templates = m_tfactory.newTemplates(source);
- m_stylesheetRoot = new StylesheetRoot(
- (org.apache.xalan.templates.StylesheetRoot)templates);
- }
- catch (TransformerException tce)
- {
- throw new SAXException(tce);
- }
- }
- else
- {
- m_stylesheetRoot = createStylesheetRoot(xslURLString);
- }
- stylesheet = m_stylesheetRoot.getObject();
- }
- else
- {
- stylesheet = new Stylesheet(m_stylesheetRoot.getObject());
- }
- addTraceListenersToStylesheet();
-
- try{
- org.apache.xalan.processor.StylesheetHandler stylesheetProcessor
- = new StylesheetHandler((TransformerFactoryImpl)m_tfactory); //this, stylesheet);
- stylesheetProcessor.pushStylesheet(stylesheet);
- // new StylesheetHandler(this, stylesheet);
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
-
-
- //m_parserLiaison.setDocumentHandler(stylesheetProcessor);
- //m_parserLiaison.parse(inputSource);
-
- displayDuration("Parsing and init of "+xslURLString, xslURLString);
- }
- return stylesheet;
- }
-
-
- /**
- * Take a user string and try and parse XML, and also return
- * the url.
- * @exception XSLProcessorException thrown if the active ProblemListener and XPathContext decide
- * the error condition is severe enough to halt processing.
- */
- public static URL getURLFromString(String urlString, String base)
- throws SAXException
- {
- String origURLString = urlString;
- String origBase = base;
-
- // System.out.println("getURLFromString - urlString: "+urlString+", base: "+base);
- Object doc;
- URL url = null;
- int fileStartType = 0;
- try
- {
-
- if(null != base)
- {
- if(base.toLowerCase().startsWith("file:/"))
- {
- fileStartType = 1;
- }
- else if(base.toLowerCase().startsWith("file:"))
- {
- fileStartType = 2;
- }
- }
-
- boolean isAbsoluteURL;
-
- // From http://www.ics.uci.edu/pub/ietf/uri/rfc1630.txt
- // A partial form can be distinguished from an absolute form in that the
- // latter must have a colon and that colon must occur before any slash
- // characters. Systems not requiring partial forms should not use any
- // unencoded slashes in their naming schemes. If they do, absolute URIs
- // will still work, but confusion may result.
- int indexOfColon = urlString.indexOf(':');
- int indexOfSlash = urlString.indexOf('/');
- if((indexOfColon != -1) && (indexOfSlash != -1) && (indexOfColon < indexOfSlash))
- {
- // The url (or filename, for that matter) is absolute.
- isAbsoluteURL = true;
- }
- else
- {
- isAbsoluteURL = false;
- }
-
- if(isAbsoluteURL || (null == base) || (base.length() == 0))
- {
- try
- {
- url = new URL(urlString);
- }
- catch (MalformedURLException e) {}
- }
- // The Java URL handling doesn't seem to handle relative file names.
- else if(!((urlString.charAt(0) == '.') || (fileStartType > 0)))
- {
- try
- {
- URL baseUrl = new URL(base);
- url = new URL(baseUrl, urlString);
- }
- catch (MalformedURLException e)
- {
- }
- }
-
- if(null == url)
- {
- // Then we're going to try and make a file URL below, so strip
- // off the protocol header.
- if(urlString.toLowerCase().startsWith("file:/"))
- {
- urlString = urlString.substring(6);
- }
- else if(urlString.toLowerCase().startsWith("file:"))
- {
- urlString = urlString.substring(5);
- }
- }
-
- if((null == url) && ((null == base) || (fileStartType > 0)))
- {
- if(1 == fileStartType)
- {
- if(null != base)
- base = base.substring(6);
- fileStartType = 1;
- }
- else if(2 == fileStartType)
- {
- if(null != base)
- base = base.substring(5);
- fileStartType = 2;
- }
-
- File f = new File(urlString);
-
- if(!f.isAbsolute() && (null != base))
- {
- // String dir = f.isDirectory() ? f.getAbsolutePath() : f.getParent();
- // System.out.println("prebuiltUrlString (1): "+base);
- StringTokenizer tokenizer = new StringTokenizer(base, "\\/");
- String fixedBase = null;
- while(tokenizer.hasMoreTokens())
- {
- String token = tokenizer.nextToken();
- if (null == fixedBase)
- {
- // Thanks to Rick Maddy for the bug fix for UNIX here.
- if (base.charAt(0) == '\\' || base.charAt(0) == '/')
- {
- fixedBase = File.separator + token;
- }
- else
- {
- fixedBase = token;
- }
- }
- else
- {
- fixedBase+= File.separator + token;
- }
- }
- // System.out.println("rebuiltUrlString (1): "+fixedBase);
- f = new File(fixedBase);
- String dir = f.isDirectory() ? f.getAbsolutePath() : f.getParent();
- // System.out.println("dir: "+dir);
- // System.out.println("urlString: "+urlString);
- // f = new File(dir, urlString);
- // System.out.println("f (1): "+f.toString());
- // urlString = f.getAbsolutePath();
- f = new File(urlString);
- boolean isAbsolute = f.isAbsolute()
- || (urlString.charAt( 0 ) == '\\')
- || (urlString.charAt( 0 ) == '/');
- if(!isAbsolute)
- {
- // Getting more and more ugly...
- if(dir.charAt( dir.length()-1 ) != File.separator.charAt(0) &&
- urlString.charAt( 0 ) != File.separator.charAt(0))
- {
- urlString = dir + File.separator + urlString;
- }
- else
- {
- urlString = dir + urlString;
- }
-
- // System.out.println("prebuiltUrlString (2): "+urlString);
- tokenizer = new StringTokenizer(urlString, "\\/");
- String rebuiltUrlString = null;
- while(tokenizer.hasMoreTokens())
- {
- String token = tokenizer.nextToken();
- if (null == rebuiltUrlString)
- {
- // Thanks to Rick Maddy for the bug fix for UNIX here.
- if (urlString.charAt(0) == '\\' || urlString.charAt(0) == '/')
- {
- rebuiltUrlString = File.separator + token;
- }
- else
- {
- rebuiltUrlString = token;
- }
- }
- else
- {
- rebuiltUrlString+= File.separator + token;
- }
- }
- // System.out.println("rebuiltUrlString (2): "+rebuiltUrlString);
- if(null != rebuiltUrlString)
- urlString = rebuiltUrlString;
- }
- // System.out.println("fileStartType: "+fileStartType);
- if(1 == fileStartType)
- {
- if (urlString.charAt(0) == '/')
- {
- urlString = "file://"+urlString;
- }
- else
- {
- urlString = "file:/"+urlString;
- }
- }
- else if(2 == fileStartType)
- {
- urlString = "file:"+urlString;
- }
- try
- {
- // System.out.println("Final before try: "+urlString);
- url = new URL(urlString);
- }
- catch (MalformedURLException e)
- {
- // System.out.println("Error trying to make URL from "+urlString);
- }
- }
- }
- if(null == url)
- {
- // The sun java VM doesn't do this correctly, but I'll
- // try it here as a second-to-last resort.
- if((null != origBase) && (origBase.length() > 0))
- {
- try
- {
- URL baseURL = new URL(origBase);
- // System.out.println("Trying to make URL from "+origBase+" and "+origURLString);
- url = new URL(baseURL, origURLString);
- // System.out.println("Success! New URL is: "+url.toString());
- }
- catch (MalformedURLException e)
- {
- // System.out.println("Error trying to make URL from "+origBase+" and "+origURLString);
- }
- }
-
- if(null == url)
- {
- try
- {
- String lastPart;
- if(null != origBase)
- {
- File baseFile = new File(origBase);
- if(baseFile.isDirectory())
- {
- lastPart = new File(baseFile, urlString).getAbsolutePath ();
- }
- else
- {
- String parentDir = baseFile.getParent();
- lastPart = new File(parentDir, urlString).getAbsolutePath ();
- }
- }
- else
- {
- lastPart = new File (urlString).getAbsolutePath ();
- }
- // Hack
- // if((lastPart.charAt(0) == '/') && (lastPart.charAt(2) == ':'))
- // lastPart = lastPart.substring(1, lastPart.length() - 1);
-
- String fullpath;
- if (lastPart.charAt(0) == '\\' || lastPart.charAt(0) == '/')
- {
- fullpath = "file://" + lastPart;
- }
- else
- {
- fullpath = "file:" + lastPart;
- }
- url = new URL(fullpath);
- }
- catch (MalformedURLException e2)
- {
- throw new SAXException("Cannot create url for: " + urlString, e2 );
- //XSLMessages.createXPATHMessage(XPATHErrorResources.ER_CANNOT_CREATE_URL, new Object[]{urlString}),e2); //"Cannot create url for: " + urlString, e2 );
- }
- }
- }
- }
- catch(SecurityException se)
- {
- try
- {
- url = new URL("http://xml.apache.org/xslt/"+java.lang.Math.random()); // dummy
- }
- catch (MalformedURLException e2)
- {
- // I give up
- }
- }
- // System.out.println("url: "+url.toString());
- return url;
- }
-
- /**
- * Add a trace listener for the purposes of debugging and diagnosis.
- * @param tl Trace listener to be added.
- */
- void addTraceListenersToStylesheet()
- throws SAXException
- {
- /*try
- {
- TraceManager tm = m_transformerImpl.getTraceManager();
- if(tm.hasTraceListeners)
- {
- int nListeners = tm.size();
- for(int i = 0; i < nListeners; i++)
- {
- TraceListener tl = (TraceListener)m_traceListeners.elementAt(i);
- if(null != m_stylesheetRoot)
- m_stylesheetRoot.addTraceListener(tl);
- }
- }
- }
- catch(TooManyListenersException tmle)
- {
- throw new SAXException(XSLMessages.createMessage(XSLTErrorResources.ER_TOO_MANY_LISTENERS, null),tmle ); //"addTraceListenersToStylesheet - TooManyListenersException", tmle);
- }*/
- }
-
- /**
- * Warn the user of an problem.
- * This is public for access by extensions.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void message(String msg)
- throws SAXException
- {
- message(null, null, msg);
- }
-
-
-
- /**
- * Warn the user of an problem.
- * This is public for access by extensions.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void message(Node styleNode, Node sourceNode, String msg)
- throws SAXException
- {
- m_problemListener.message(msg);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Warn the user of an problem.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void warn(int msg)
- throws SAXException
- {
- warn(null, null, msg, null);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Warn the user of an problem.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void warn(int msg, Object[] args)
- throws SAXException
- {
- warn(null, null, msg, args);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Warn the user of an problem.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void warn(Node styleNode, Node sourceNode, int msg)
- throws SAXException
- {
- warn(styleNode, sourceNode, msg, null);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Warn the user of an problem.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void warn(Node styleNode, Node sourceNode, int msg, Object args[])
- throws SAXException
- {
- Exception e = null;
- String fmsg = m_XSLMessages.createWarning(msg, args);
- SourceLocator locator = null;
- try{
- locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
- }
- catch (TransformerConfigurationException tce)
- {
- }
-
- DefaultErrorHandler handler;
- if (m_problemListener == null)
- handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
- else
- handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
- TransformerException te = (null == e) ? new TransformerException(fmsg, locator) :
- new TransformerException(fmsg, locator, e);
- if(null != handler)
- {
- try{
- handler.warning(te);
- }
- catch (TransformerException te2)
- {
- throw new SAXException(te2);
- }
- }
- else
- throw new SAXException(te);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(String msg)
- throws SAXException
- {
- Exception e = null;
- SourceLocator locator = null;
- try{
- locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
- }
- catch (TransformerConfigurationException tce)
- {
- }
- DefaultErrorHandler handler;
- if (m_problemListener == null)
- handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
- else
- handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
- TransformerException te = (null == e) ? new TransformerException(msg, locator) :
- new TransformerException(msg, locator, e);
- if(null != handler)
- {
- try{
- handler.fatalError(te);
- }
- catch (TransformerException te2)
- {
- throw new SAXException(te2);
- }
- }
- else
- throw new SAXException(te);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(int msg)
- throws SAXException
- {
- error(null, null, msg, null);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(int msg, Object[] args)
- throws SAXException
- {
- error(null, null, msg, args);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(int msg, Exception e)
- throws SAXException
- {
- error(msg, null, e);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(int msg, Object args[], Exception e)
- throws SAXException
- {
- String fmsg = m_XSLMessages.createMessage(msg, args);
- SourceLocator locator = null;
- try{
- locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
- }
- catch (TransformerConfigurationException tce)
- {
- }
- DefaultErrorHandler handler;
- if (m_problemListener == null)
- handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
- else
- handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
- TransformerException te = (null == e) ? new TransformerException(fmsg, locator) :
- new TransformerException(fmsg, locator, e);
- if(null != handler)
- {
- try{
- handler.fatalError(te);
- }
- catch (TransformerException te2)
- {
- throw new SAXException(te2);
- }
- }
- else
- throw new SAXException(te);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(Node styleNode, Node sourceNode, int msg)
- throws SAXException
- {
- error(styleNode, sourceNode, msg, null);
- }
-
- /**
- * <meta name="usage" content="internal"/>
- * Tell the user of an error, and probably throw an
- * exception.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void error(Node styleNode, Node sourceNode, int msg, Object args[])
- throws SAXException
- {
- Exception e = null;
- String fmsg = m_XSLMessages.createMessage(msg, args);
- SourceLocator locator = null;
- try{
- locator = ((StylesheetHandler)(((TransformerFactoryImpl)this.m_tfactory).newTemplatesHandler())).getLocator();
- }
- catch (TransformerConfigurationException tce)
- {
- }
- DefaultErrorHandler handler;
- if (m_problemListener == null)
- handler = (DefaultErrorHandler)m_tfactory.getErrorListener();
- else
- handler = (DefaultErrorHandler)m_problemListener.getErrorHandler();
- TransformerException te = (null == e) ? new TransformerException(fmsg, locator) :
- new TransformerException(fmsg, locator, e);
- if(null != handler)
- {
- try{
- handler.fatalError(te);
- }
- catch (TransformerException te2)
- {
- throw new SAXException(te2);
- }
- }
- else
- throw new SAXException(te);
-
-
- }
-
- /**
- * Mark the time, so that displayDuration can later
- * display the elapse.
- */
- void pushTime(Object key)
- {
- if(null != key)
- {
- m_durationsTable.put(key, new Long(System.currentTimeMillis()));
- }
- }
-
- /**
- * Returns the duration since pushTime was called,
- * in milliseconds.
- */
- long popDuration(Object key)
- {
- long millisecondsDuration = 0;
- if(null != key)
- {
- long start = ((Long)m_durationsTable.get(key)).longValue();
- long stop = System.currentTimeMillis();
- millisecondsDuration = stop - start;
- m_durationsTable.remove(key);
- }
- return millisecondsDuration;
- }
-
- /**
- * Display the duration since pushTime was called.
- */
- protected void displayDuration(String info, Object key)
- {
- long millisecondsDuration = 0;
- if(null != key)
- {
- long start = ((Long)m_durationsTable.get(key)).longValue();
- long stop = System.currentTimeMillis();
- millisecondsDuration = stop - start;
- if(null != m_diagnosticsPrintWriter)
- {
- m_diagnosticsPrintWriter.println(info + " took " + millisecondsDuration + " milliseconds");
- }
- m_durationsTable.remove(key);
- }
- }
-
- /**
- * If this is set, diagnostics will be
- * written to the m_diagnosticsPrintWriter stream. If
- * the value is null, then diagnostics will be turned
- * off.
- */
- public void setDiagnosticsOutput(java.io.OutputStream out)
- {
- setDiagnosticsOutput(new PrintWriter(out));
- }
-
- /**
- * If this is set, diagnostics will be
- * written to the m_diagnosticsPrintWriter stream. If
- * the value is null, then diagnostics will be turned
- * off.
- */
- public void setDiagnosticsOutput(java.io.PrintWriter pw)
- {
- m_diagnosticsPrintWriter = pw;
- /* if(getProblemListener() instanceof ProblemListenerDefault)
- {
- ((ProblemListenerDefault)getProblemListener()).setDiagnosticsOutput(pw);
- }*/
- }
-
- /**
- * Bottleneck output of diagnostics.
- */
- protected void diag(String s)
- {
- if(null != m_diagnosticsPrintWriter)
- {
- m_diagnosticsPrintWriter.println(s);
- }
- }
-
- /**
- * If this is set to true, simple traces of
- * template calls are made.
- */
- public void setTraceTemplates(boolean b)
- {
- m_traceTemplates = b;
- }
-
- /**
- * If this is set to true, simple traces of
- * template calls are made.
- */
- public void setTraceSelect(boolean b)
- {
- m_traceSelects = b;
- }
-
- /**
- * If this is set to true, debug diagnostics about
- * template children as they are being constructed
- * will be written to the m_diagnosticsPrintWriter
- * stream. diagnoseTemplateChildren is false by
- * default.
- */
- public void setTraceTemplateChildren(boolean b)
- {
- m_traceTemplateChildren = b;
- }
-
- //
- // Lexical handler interface
- //
-
- /**
- * Report the start of DTD declarations, if any.
- *
- * <p>Any declarations are assumed to be in the internal subset
- * unless otherwise indicated by a {@link #startEntity startEntity}
- * event.</p>
- *
- * <p>Note that the start/endDTD events will appear within
- * the start/endDocument events from ContentHandler and
- * before the first 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.
- * @exception SAXException The application may raise an
- * exception.
- * @see #endDTD
- * @see #startEntity
- */
- public void startDTD (String name, String publicId, String systemId)
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().startDTD(name, publicId, systemId);
- }
-
-
- /**
- * Report the end of DTD declarations.
- *
- * @exception SAXException The application may raise an exception.
- * @see #startDTD
- */
- public void endDTD ()
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().endDTD();
- }
-
- public void startEntity (String name)
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().startEntity (name);
- }
-
-
- /**
- * 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 void endEntity (String name)
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().endEntity (name);
- }
-
-
- /**
- * 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.</p>
- *
- * @exception SAXException The application may raise an exception.
- * @see #endCDATA
- */
- public void startCDATA ()
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().startCDATA();
- }
-
-
- /**
- * Report the end of a CDATA section.
- *
- * @exception SAXException The application may raise an exception.
- * @see #startCDATA
- */
- public void endCDATA ()
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().endCDATA();
- }
-
-
- /**
- * 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).</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 void comment (char ch[], int start, int length)
- throws SAXException
- {
- if (m_transformerImpl != null && m_transformerImpl.getInputLexicalHandler() != null)
- m_transformerImpl.getInputLexicalHandler().comment (ch, start, length);
- }
-
- // DocumentHandler interface
-
- /**
- * 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 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 void startDocument ()
- throws SAXException
- {
- if (m_documentHandler != null)
- m_documentHandler.startDocument();
- else if (m_transformerImpl != null)
- m_transformerImpl.getInputContentHandler().startDocument();
- //m_transformerImpl.getResultTreeHandler().startDocument();
-
- }
-
-
- /**
- * 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 void endDocument ()
- throws SAXException
- {
- if (m_documentHandler != null)
- m_documentHandler.endDocument();
- else if (m_transformerImpl != null)
- m_transformerImpl.getInputContentHandler().endDocument();
- //m_transformerImpl.getResultTreeHandler().endDocument();
- }
-
-
- /**
- * 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 void startElement (String name, AttributeList atts)
- throws SAXException
- {
- if (m_documentHandler == null)
- {
- m_documentHandler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
- if (m_transformerImpl != null)
- {
- ((ParserAdapter)m_documentHandler).setContentHandler(m_transformerImpl.getInputContentHandler());
- }
- /* else if (m_transformerImpl != null)
- {
- int index = name.indexOf(":");
- if (index < 0 )
- m_transformerImpl.getInputContentHandler().startElement(null, name, name, (Attributes)atts);
- //getResultTreeHandler().startElement(null, name, name, (Attributes)atts);
- else
- m_transformerImpl.getInputContentHandler().startElement(name.substring(0,index), name.substring(index+1), name, (Attributes)atts);
- //m_transformerImpl.getResultTreeHandler().startElement(name.substring(0,index), name.substring(index+1), name, (Attributes)atts);
- */
- }
- m_documentHandler.startElement(name, atts);
- }
-
- /**
- * 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 void endElement (String name)
- throws SAXException
- {
- if (m_documentHandler == null)
- {
- m_documentHandler = new ParserAdapter(new org.apache.xerces.parsers.SAXParser());
- if (m_transformerImpl != null)
- {
- ((ParserAdapter)m_documentHandler).setContentHandler(m_transformerImpl.getInputContentHandler());
- }
- /* else if (m_transformerImpl != null)
- {
- int index = name.indexOf(":");
- if (index < 0 )
- m_transformerImpl.getInputContentHandler().endElement(null, name, name);
- //m_transformerImpl.getResultTreeHandler().endElement(null, name, name);
- else
- m_transformerImpl.getInputContentHandler().endElement(name.substring(0,index), name.substring(index+1), name);
- //m_transformerImpl.getResultTreeHandler().endElement(name.substring(0,index), name.substring(index+1), name);
- */
- }
- m_documentHandler.endElement(name);
- }
-
-
- /**
- * 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 void characters (char ch[], int start, int length)
- throws SAXException
- {
- if (m_documentHandler != null)
- m_documentHandler.characters(ch, start, length);
- else if (m_transformerImpl != null)
- m_transformerImpl.getInputContentHandler().characters(ch, start, length);
- //m_transformerImpl.getResultTreeHandler().characters(ch, start, length);
- }
-
-
- /**
- * 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 void ignorableWhitespace (char ch[], int start, int length)
- throws SAXException
- {
- if (m_documentHandler != null)
- m_documentHandler.ignorableWhitespace(ch, start, length);
- else if (m_transformerImpl != null)
- m_transformerImpl.getInputContentHandler().ignorableWhitespace(ch, start, length);
- //m_transformerImpl.getResultTreeHandler().ignorableWhitespace(ch, start, length);
- }
-
-
- /**
- * 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 void processingInstruction (String target, String data)
- throws SAXException
- {
- if (m_documentHandler != null)
- m_documentHandler.processingInstruction(target, data);
- else if (m_transformerImpl != null)
- m_transformerImpl.getInputContentHandler().processingInstruction(target, data);
- //m_transformerImpl.getResultTreeHandler().processingInstruction(target, data);
- }
-
- // Implement XSLTProcessor
-
- /**
- * Set the output stream. Required when the XSLTProcessor is being used
- * as a SAX DocumentHandler.
- */
- public void setOutputStream(java.io.OutputStream os)
- {
- SourceTreeHandler handler = new SourceTreeHandler(m_transformerImpl);
- handler.setResult(new StreamResult(os));
- }
-
- /**
- * Convenience function to create an XString.
- * @param s A valid string.
- * @return An XString object.
- */
- public XString createXString(String s)
- {
- return new XString(s);
- }
-
- /**
- * Convenience function to create an XObject.
- * @param o Any java object.
- * @return An XObject object.
- */
- public XObject createXObject(Object o)
- {
- return new XObject(o);
- }
-
- /**
- * Convenience function to create an XNumber.
- * @param d Any double number.
- * @return An XNumber object.
- */
- public XNumber createXNumber(double d)
- {
- return new XNumber(d);
- }
-
- /**
- * Convenience function to create an XBoolean.
- * @param b boolean value.
- * @return An XBoolean object.
- */
- public XBoolean createXBoolean(boolean b)
- {
- return new XBoolean(b);
- }
-
- /**
- * Convenience function to create an XNodeSet.
- * @param nl A NodeList object.
- * @return An XNodeSet object.
- */
- public XNodeSet createXNodeSet(NodeList nl)
- {
- return new XNodeSet(nl);
- }
-
- /**
- * Convenience function to create an XNodeSet from a node.
- * @param n A DOM node.
- * @return An XNodeSet object.
- */
- public XNodeSet createXNodeSet(Node n)
- {
- return new XNodeSet(n);
- }
-
- /**
- * Convenience function to create an XNull.
- * @return An XNull object.
- */
- public XNull createXNull()
- {
- return new XNull();
- }
-
- /**
- * Get the XMLParserLiaison that this processor uses.
- */
- public XMLParserLiaison getXMLProcessorLiaison()
- {
- return (XMLParserLiaison)m_liaison;
- }
-
- /**
- * Get the preferred stylesheet for the XSLTInputSource XML document,
- * as identified by the xml-stylesheet PI, and matching the media and
- * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
- * Associating Style Sheets with XML documents</a>.
- * Does not yet handle the LINK REL="stylesheet" syntax.
- *
- * @param media The media attribute to be matched. May be null, in which
- * case the prefered stylesheet will be used (i.e., alternate = no).
- * @param title The value of the title attribute to match. May be null.
- * @param charset The value of the charset attribute to match. May be null.
- * @returns StylesheetSpec extends XSLTInputSource extedns SAX InputSource; the return value
- * can be passed to the processStylesheet method.
- */
- public StylesheetSpec getAssociatedStylesheet(XSLTInputSource source,
- String media,
- String charset)
- throws SAXException
- {
- /*InputSource[]in = m_processor.getAssociatedStylesheets(source, media, null, charset);
- if (in.length >0)
- return (StylesheetSpec)in[0];
- else
- return null; */
- try{
- Source s = m_tfactory.getAssociatedStylesheet(source.getSourceObject(), media, null, charset);
- return (StylesheetSpec)s;
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
- }
-
- /**
- * Get a list of stylesheet specifications for the XSLTInputSource XML document,
- * as identified by the xml-stylesheet PI, and matching the media and
- * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
- * Associating Style Sheets with XML documents</a>.
- * Does not yet handle the LINK REL="stylesheet" syntax.
- *
- * @param media The media attribute to be matched. May be null, in which
- * case the prefered stylesheet will be used (i.e., alternate = no).
- * @param title The value of the title attribute to match. May be null.
- * @param charset The value of the charset attribute to match. May be null.
- * @returns list of StylesheetSpecs (extend XSLTInputSources extend SAX InputSources; a
- * list member may be passsed to the processStylesheet method.
- */
- public Vector getAssociatedStylesheets(XSLTInputSource source,
- String media,
- String charset)
- throws SAXException
- {
- try{
- Source s = m_tfactory.getAssociatedStylesheet(source.getSourceObject(), media, null, charset);
- Vector v = new Vector();
- //for (int i = 0; i< in.length; i++)
- v.addElement((StylesheetSpec)s);
- return v;
- }
- catch (TransformerConfigurationException tce)
- {
- throw new SAXException(tce);
- }
- }
-
- /**
- * Submit a top-level stylesheet parameter. This value can
- * be evaluated in the stylesheet via xsl:param-variable.
- * @param key The name of the param.
- * @param value An XObject that will be used.
- */
- public void setStylesheetParam(String key, XObject value)
- {
- setParameter(key, value);
- }
-
- /**
- * Set a top-level stylesheet parameter. This value can
- * be evaluated via xsl:param-variable. Note that the value
- * passed is an expression, and not a string. This means that
- * setStylesheetParam("foo", "hello"); will look for the
- * element "hello". If you want to pass a string, you'll
- * need to put quotes around it:
- * setStylesheetParam("foo", "'hello'"); will look for the
- * @param key The name of the param.
- * @param expression An expression that will be evaluated.
- */
- public void setStylesheetParam(String key, String expression)
- {
- if (m_evalList == null)
- m_evalList = new Vector();
- if (!m_evalList.contains(key))
- m_evalList.addElement(key);
- setParameter(key, expression);
- m_needToEval = true;
- }
-
- /**
- * Set a top-level stylesheet parameter. This value can
- * be evaluated via xsl:param-variable. Note that the value
- * passed is an expression, and not a string. This means that
- * setStylesheetParam("foo", "hello"); will look for the
- * element "hello". If you want to pass a string, you'll
- * need to put quotes around it:
- * setStylesheetParam("foo", "'hello'"); will look for the
- * @param key The name of the param.
- * @param expression An expression that will be evaluated.
- */
- public void setParameter(String key, Object value)
- {
- if (m_stylesheetParams == null)
- m_stylesheetParams = new Hashtable();
- m_stylesheetParams.put(key, value);
- }
-
- /**
- * Get the current FormatterListener (SAX DocumentHandler), or null if none has been set.
- */
- public DocumentHandler getFormatterListener()
- {
- return m_documentHandler;
-
- }
-
- /**
- * Set the FormatterListener (the SAX DocumentHandler).
- */
- public void setFormatterListener(DocumentHandler flistener)
- {
- m_documentHandler = flistener;
- }
-
- /**
- * Get the current SAX DocumentHandler (the same object as the FormatterListener), or null if none has been set.
- */
- public DocumentHandler getDocumentHandler()
- {
- return m_documentHandler;
- }
-
- /**
- * Set the current SAX DocumentHandler (the same
- * object as the FormatterListener).
- */
- public void setDocumentHandler(DocumentHandler listener)
- {
- if (listener instanceof ParserAdapter)
- m_transformerImpl.setContentHandler(((ParserAdapter)listener).getContentHandler());
- else if (listener instanceof XSLTEngineImpl)
- m_transformerImpl.setContentHandler(((XSLTEngineImpl)listener).getTransformer().getContentHandler());
- else if (listener instanceof XMLSerializer)
- {
- try{
- m_transformerImpl.setContentHandler(((XMLSerializer)listener).asContentHandler());
- }
- catch (IOException ioe)
- {}
- }
- m_documentHandler = listener;
- }
-
- /**
- * Add a trace listener for the purposes of debugging and diagnosis.
- * @param tl Trace listener to be added.
- */
- public void addTraceListener(TraceListener tl)
- throws TooManyListenersException
- {
- if (m_transformerImpl != null)
- m_transformerImpl.getTraceManager().addTraceListener(tl);
- }
-
- /**
- * If set to true (the default), pattern conflict warnings are not printed to the diagnostics stream.
- * @param b true if conflict warnings should be suppressed.
- */
- public void setQuietConflictWarnings(boolean b)
- {
- if (m_transformerImpl != null)
- m_transformerImpl.setQuietConflictWarnings(b);
- }
-
- /**
- * Remove a trace listener.
- * @param tl Trace listener to be removed.
- */
- public void removeTraceListener(TraceListener tl)
- {
- if (m_transformerImpl != null)
- m_transformerImpl.getTraceManager().removeTraceListener(tl);
- }
-
- /**
- * Set the problem listener property.
- * The XSL class can have a single listener to be informed
- * of errors and warnings. The problem listener normally controls whether an exception
- * is thrown or not (or the problem listeners can throw its own RuntimeException).
- * @param l A ProblemListener interface.
- */
- public void setProblemListener(ProblemListener l)
- {
- if (l instanceof ProblemListenerDefault)
- m_problemListener = (ProblemListenerDefault)l;
- else
- m_problemListener = new ProblemListenerDefault(l);
- if (m_transformerImpl != null)
- m_transformerImpl.setErrorListener(m_problemListener);
- m_tfactory.setErrorListener(m_problemListener);
- }
-
- /**
- * Get the problem listener property.
- * The XSL class can have a single listener to be informed
- * of errors and warnings. The problem listener normally controls whether an exception
- * is thrown or not (or the problem listener can throw its own RuntimeException).
- * @return A ProblemListener interface.
- */
- public ProblemListener getProblemListener()
- {
- if (m_problemListener.getProblemListener() != null)
- return m_problemListener.getProblemListener();
- else
- return m_problemListener;
- }
-
- public TransformerImpl getTransformer()
- {
- return m_transformerImpl;
- //return (StylesheetProcessor)m_processor;
- }
-
- public TransformerFactoryImpl getTransformerFactory()
- {
- return (TransformerFactoryImpl)m_tfactory;
- }
-
-
-} // end XSLTEngineImpl class
diff --git a/compat_src/org/apache/xalan/xslt/XSLTInputSource.java b/compat_src/org/apache/xalan/xslt/XSLTInputSource.java
deleted file mode 100644
index 1fe47cb..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTInputSource.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-import javax.xml.transform.Source;
-import org.w3c.dom.Node;
-import java.io.InputStream;
-import java.io.Reader;
-import javax.xml.transform.sax.SAXSource;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.transform.dom.DOMSource;
-
-/**
- * <meta name="usage" content="general"/>
- * Represents an XML source document or XSL stylesheet.
- * Use XSLTInputSource objects to provide input to the XSLTProcessor process() method
- * for a transformation. This class extends the SAX input source to handle
- * DOM nodes as input as well as files, character streams, byte streams and SAX DocumentHandlers.
- *
- * @see XSLTProcessor#process(XSLTInputSource, XSLTInputSource, XSLTResultTarget)
- */
-public class XSLTInputSource //extends SAXSource
-{
-
- private StreamSource streamSource = null;
- private SAXSource saxSource = null;
- private DOMSource domSource = null;
-
- /**
- * Zero-argument default constructor -- Before you can use the new XSLTInputSource object in a transformation,
- * you must define the document source with setSystemId(), setNode(), setInputStream(), or setCharacterStream().
- *
- * @see #setSystemId(String)
- * @see #setNode(Node)
- * @see #setInputStream
- * @see #setCharacterStream
- * @see #setEncoding(String)
- */
- public XSLTInputSource ()
- {
- saxSource = new SAXSource();
- }
-
- /**
- * Create a new input source with a system identifier (for a URL or file name) --
- * the equivalent of creating an input source with the zero-argument
- * constructor and setting the new object's SystemId property.
-
- * If the system identifier is a URL, it must be fully resolved.
- *
- * If the system identifier is a URL, it must be fully resolved.
- *
- * @param systemId The system identifier (URI).
- * @see #setSystemId(String)
- * @see #setNode(Node)
- * @see #setInputStream
- * @see #setEncoding(String)
- * @see #setCharacterStream
- */
- public XSLTInputSource (String systemId)
- {
- saxSource = new SAXSource();
- this.setSystemId(systemId);
- }
-
-
- /**
- * Create a new input source with a byte stream -- the equivalent of creating an input source
- * with the zero-argument constructor and setting the new object's ByteStream property.
- *
- * @param byteStream The raw byte stream containing the document.
- * @see #setInputStream
- * @see #setSystemId(String)
- * @see #setNode(Node)
- * @see #setEncoding(String)
- * @see #setCharacterStream
- */
- public XSLTInputSource (InputStream byteStream)
- {
- streamSource = new StreamSource();
- streamSource.setInputStream(byteStream);
- }
-
- /**
- * Create a new input source with a character stream -- the equivalent of creating an input source
- * with the zero-argument constructor and setting the new object's CharacterStream property.
- * <p>The character stream shall not include a byte order mark.</p>
- *
- * @param characterStream The character stream containing the document.
- * @see #setCharacterStream
- * @see #setInputStream
- * @see #setSystemId(String)
- * @see #setNode(Node)
- * @see #setEncoding(String)
- */
- public XSLTInputSource (Reader characterStream)
- {
- streamSource = new StreamSource();
- streamSource.setReader(characterStream);
- }
-
- /**
- * Create a new input source with a DOM Node -- the equivalent of creating an input source
- * with the zero-argument constructor and setting the new object's Node property.
- *
- * @param node The DOM Node containing the document.
- * @see #setNode(Node)
- * @see #setCharacterStream
- * @see #setInputStream
- * @see #setSystemId(String)
- * @see #setEncoding(String)
- */
- public XSLTInputSource (Node node)
- {
- domSource = new DOMSource();
- domSource.setNode(node);
- }
-
- /**
- * Create a new XSLTInputSource source from a SAX input source.
- * This operation sets the ByteStream, CharacterStream, SystemId, PublicID, and Encoding properties.
- *
- * @param isource The SAX input source.
- * @see #setCharacterStream
- * @see #setInputStream
- * @see #setSystemId(String)
- * @see #setEncoding(String)
- * @see #setNode(Node)
- */
- public XSLTInputSource (InputSource isource)
- {
- saxSource = new SAXSource();
- saxSource.setInputSource(isource);
- //saxSource.setXMLReader(isource.getCharacterStream());
- this.setEncoding(isource.getEncoding());
- this.setSystemId(isource.getSystemId());
- }
-
- /**
- * Set the DOM Node for this input source.
- *
- * @param node The DOM node containing the
- * XML document or XSL stylesheet.
- * @see #XSLTInputSource(Node)
- * @see #getCharacterStream() *
- * @see java.io.Reader
- */
- public void setNode (Node node)
- {
- if (domSource == null)
- domSource = new DOMSource();
- domSource.setNode(node);
- }
-
- /**
- * Get the DOM Node for this input source.
- *
- * @return The DOM node containing the document, or null if none was supplied.
- * @see #XSLTInputSource(Node)
- * @see #setNode(Node)
- */
- public Node getNode ()
- {
- if (domSource != null)
- return domSource.getNode();
- else
- return null;
- }
-
-
-
- /**
- * 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 #getEncoding
- */
- public void setEncoding (String encoding)
- {
- this.encoding = encoding;
- }
-
-
- /**
- * Get the character encoding for a byte stream or URI.
- *
- * @return The encoding, or null if none was supplied.
- * @see #getSystemId
- */
- public String getEncoding ()
- {
- return encoding;
- }
-
- private String encoding = null;
-
- /**
- * 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 java.io.Reader
- */
- public void setCharacterStream (Reader characterStream)
- {
- if (streamSource == null)
- streamSource = new StreamSource();
- streamSource.setReader(characterStream);
- }
-
-
- /**
- * Get the character stream for this input source.
- *
- * @return The character stream, or null if none was supplied.
- */
- public Reader getCharacterStream ()
- {
- if (streamSource != null)
- return streamSource.getReader();
- else
- return null;
- }
-
-
-
- /**
- * Set the base ID (URL or system ID) from where URLs
- * will be resolved.
- *
- * @param baseID Base URL for this.
- */
- public void setSystemId(String baseID)
- {
- this.baseID = baseID;
-
- if (saxSource != null)
- saxSource.setSystemId(baseID);
- else if (domSource != null)
- domSource.setSystemId(baseID);
- else if (streamSource != null)
- streamSource.setSystemId(baseID);
- }
-
- /**
- * Get the base ID (URL or system ID) from where URLs
- * will be resolved.
- *
- * @return Base URL for this.
- */
- public String getSystemId() {
- return this.baseID;
- }
-
- private String baseID = null;
-
-
- /**
- * Set the byte stream to be used as input. Normally,
- * a stream should be used rather than a reader, so that
- * the XML parser can resolve character encoding specified
- * by the XML declaration.
- *
- * <p>If this Source object is used to process a stylesheet, normally
- * setSystemId should also be called, so that relative URL references
- * can be resolved.</p>
- *
- * @param inputStream A valid InputStream reference to an XML stream.
- */
- public void setInputStream(InputStream inputStream)
- {
- if (streamSource == null)
- streamSource = new StreamSource();
- streamSource.setInputStream(inputStream);
- }
-
- /**
- * Get the byte stream that was set with setInputStream.
- *
- * @return The byte stream that was set with setInputStream, or null
- * if setByteStream or the ByteStream constructor was not called.
- */
- public InputStream getInputStream() {
- if (streamSource != null)
- return streamSource.getInputStream();
- else
- return null;
- }
-
-
- /**
- * Get the Result object associated with this XSLTResultTarget object .
- *
- * @return The Result object associated with this XSLTResultTarget object
- *
- */
- public Source getSourceObject()
- {
- if (streamSource != null)
- return streamSource;
- else if (domSource != null)
- return domSource;
- else
- return saxSource;
- }
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTProcessor.java b/compat_src/org/apache/xalan/xslt/XSLTProcessor.java
deleted file mode 100644
index b2e5cc5..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTProcessor.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import java.util.TooManyListenersException;
-import java.util.Vector;
-
-import org.apache.xalan.xpath.XObject;
-import org.apache.xalan.xpath.XNodeSet;
-import org.apache.xalan.xpath.XBoolean;
-import org.apache.xalan.xpath.XNumber;
-import org.apache.xalan.xpath.XNull;
-import org.apache.xalan.xpath.XString;
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-import org.apache.xalan.xpath.xml.ProblemListener;
-
-import org.apache.xalan.templates.Stylesheet;
-//import org.apache.xalan.templates.StylesheetRoot;
-//import org.apache.xalan.xslt.StylesheetSpec;
-import org.apache.xalan.trace.*;
-
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
-import org.xml.sax.DocumentHandler;
-import org.xml.sax.SAXException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import org.apache.xml.serialize.OutputFormat;
-import org.xml.sax.ext.LexicalHandler;
-
-/**
- * <meta name="usage" content="general"/>
- * The transformation processor -- use {@link org.apache.xalan.xslt.XSLTProcessorFactory} to instantiate an implementation of this interface.
- * It's the responsibility of the implementation (XSLTEngineImpl),
- * collaborating with a XMLParserLiaison, the DOM,
- * and the XPath engine, to transform a source tree
- * of nodes into a result tree according to instructions
- * and templates specified by a stylesheet tree.
- * Use the <code>process(...)</code> are the primary
- * public entry points.
- *
- * Look at the Process class main() method for
- * for an advanced usage example.
- *
- * <p>If you reuse the processor instance, you should call reset() between transformations.</p>
- */
-public interface XSLTProcessor extends DocumentHandler, LexicalHandler
-{
- /**
- * Use the XSL stylesheet to transform the XML input, placing the result in the result tree.
- * @param xmlSource The XML input to be transformed.
- * @param xslStylesheet The XSL stylesheet to be used for the transformation. May be null if XML input
- * has an XSL stylesheet PI.
- * @param resultTree The tree where the result of the transformation is placed.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public void process( XSLTInputSource xmlSource,
- XSLTInputSource xslStylesheet,
- XSLTResultTarget resultTree)
- throws SAXException;
-
- /**
- * Compile the XSL stylesheet represented by an XSLTInputSource object into an internal representation,
- * and use it to set the XSLTProcessor Stylesheet property.
- * This operation is required if the XSLTProcessor is to function as a
- * SAX DocumentHandler.
- * If the Stylesheet property has already been set to non-null, this operation
- * calls reset() before a transformation is performed.
- *
- * @param stylesheetSource The XSL stylesheet.
- * @return The compiled stylesheet object.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public StylesheetRoot processStylesheet(XSLTInputSource stylesheetSource)
- throws SAXException;
-
- /**
- * Given a URL to (or file name of) an XSL stylesheet,
- * Compile the stylesheet into an internal representation, and use it to
- * set the XSLTProcessor Stylesheet property.
- * This operation is required if the XSLTProcessor is to function as a
- * SAX DocumentHandler.
- * If the Stylesheet property has already been set to non-null, this operation
- * calls reset() before a transformation is performed.
- *
- * @param xsldocURLString The URL to the XSL stylesheet.
- * @return The compiled stylesheet object.
- * @exception XSLProcessorException thrown if the active ProblemListener and XMLParserLiaison decide
- * the error condition is severe enough to halt processing.
- */
- public StylesheetRoot processStylesheet(String xsldocURLString)
- throws SAXException;
-
- /**
- * Set the output stream. Required when the XSLTProcessor is being used
- * as a SAX DocumentHandler.
- */
- public void setOutputStream(java.io.OutputStream os);
-
- /**
- * Reset the XSLTProcessor state. Must be used after a process() call
- * if the XSLTProcessor instance is to be used again.
- */
- public void reset();
-
- /**
- * Get the DOM Node from the XSLTInputSource object. Returns null if the XSLTInputSource
- * object does not contain a Node (it may, for example, contain an input stream).
- */
- public Node getSourceTreeFromInput(XSLTInputSource inputSource)
- throws org.xml.sax.SAXException;
-
- /**
- * Use a compiled stylesheet to set the Stylesheet property for this processor.
- * When this property is set, the process method uses this stylesheet rather than
- * looking for a stylesheet PI if the stylesheet parameter is null. Also required
- * if you are going to use the XSLTProcessor as a SAX DocumentHandler.
- */
- public void setStylesheet(StylesheetRoot stylesheetRoot);
-
- /**
- * Get the current Stylesheet setting for this XSLTProcessor.
- */
- public StylesheetRoot getStylesheet();
-
- /**
- * Get the XMLParserLiaison that this processor uses.
- */
- public XMLParserLiaison getXMLProcessorLiaison();
-
- /**
- * Get the preferred stylesheet for the XSLTInputSource XML document,
- * as identified by the xml-stylesheet PI, and matching the media and
- * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
- * Associating Style Sheets with XML documents</a>.
- * Does not yet handle the LINK REL="stylesheet" syntax.
- *
- * @param media The media attribute to be matched. May be null, in which
- * case the prefered stylesheet will be used (i.e., alternate = no).
- * @param title The value of the title attribute to match. May be null.
- * @param charset The value of the charset attribute to match. May be null.
- * @returns StylesheetSpec extends XSLTInputSource extends SAX InputSource; the return value
- * can be passed to the processStylesheet method.
- */
- public StylesheetSpec getAssociatedStylesheet(XSLTInputSource source,
- String media,
- String charset)
- throws SAXException;
-
- /**
- * Get a list of stylesheet specifications for the XSLTInputSource XML document,
- * as identified by the xml-stylesheet PI, and matching the media and
- * charset criteria. See <a href="http://www.w3.org/TR/xml-stylesheet/">
- * Associating Style Sheets with XML documents</a>.
- * Does not yet handle the LINK REL="stylesheet" syntax.
- *
- * @param media The media attribute to be matched. May be null, in which
- * case the prefered stylesheet will be used (i.e., alternate = no).
- * @param title The value of the title attribute to match. May be null.
- * @param charset The value of the charset attribute to match. May be null.
- * @returns list of StylesheetSpecs (extend XSLTInputSources extend SAX InputSources; a
- * list member may be passsed to the processStylesheet method.
- */
- public Vector getAssociatedStylesheets(XSLTInputSource source,
- String media,
- String charset)
- throws SAXException;
-
-
- /**
- * Convenience function to create an XString.
- * @param s A valid string.
- * @return An XString object.
- */
- public XString createXString(String s);
-
- /**
- * Convenience function to create an XObject.
- * @param o Any java object.
- * @return An XObject object.
- */
- public XObject createXObject(Object o);
-
- /**
- * Convenience function to create an XNumber.
- * @param d Any double number.
- * @return An XNumber object.
- */
- public XNumber createXNumber(double d);
-
- /**
- * Convenience function to create an XBoolean.
- * @param b boolean value.
- * @return An XBoolean object.
- */
- public XBoolean createXBoolean(boolean b);
-
- /**
- * Convenience function to create an XNodeSet.
- * @param nl A NodeList object.
- * @return An XNodeSet object.
- */
- public XNodeSet createXNodeSet(NodeList nl);
-
- /**
- * Convenience function to create an XNodeSet from a node.
- * @param n A DOM node.
- * @return An XNodeSet object.
- */
- public XNodeSet createXNodeSet(Node n);
-
- /**
- * Convenience function to create an XNull.
- * @return An XNull object.
- */
- public XNull createXNull();
-
- /**
- * Submit a top-level stylesheet parameter. This value can
- * be evaluated in the stylesheet via xsl:param-variable.
- * @param key The name of the param.
- * @param value An XObject that will be used.
- */
- public void setStylesheetParam(String key, XObject value);
-
- /**
- * Set a top-level stylesheet parameter. This value can
- * be evaluated via xsl:param-variable. Note that the value
- * passed is an expression, and not a string. This means that
- * setStylesheetParam("foo", "hello"); will look for the
- * element "hello". If you want to pass a string, you'll
- * need to put quotes around it:
- * setStylesheetParam("foo", "'hello'"); will look for the
- * @param key The name of the param.
- * @param expression An expression that will be evaluated.
- */
- public void setStylesheetParam(String key, String expression);
-
- /**
- * Get the current FormatterListener (SAX DocumentHandler), or null if none has been set.
- */
- public DocumentHandler getFormatterListener();
-
- /**
- * Set the FormatterListener (the SAX DocumentHandler).
- */
- public void setFormatterListener(DocumentHandler flistener);
-
- /**
- * Get the current SAX DocumentHandler (the same object as the FormatterListener), or null if none has been set.
- */
- public DocumentHandler getDocumentHandler();
-
- /**
- * Set the current SAX DocumentHandler (the same
- * object as the FormatterListener).
- */
- public void setDocumentHandler(DocumentHandler listener);
-
- /**
- * Add a trace listener for the purposes of debugging and diagnosis.
- * @param tl Trace listener to be added.
- */
- public void addTraceListener(TraceListener tl)
- throws TooManyListenersException;
-
- /**
- * If set to true, template calls are traced.
- */
- public void setTraceTemplates(boolean b);
-
- /**
- * If set to true, selection events are traced.
- */
- public void setTraceSelect(boolean b);
-
- /**
- * If set to true (the default is false), as template children are being constructed, debug diagnostics
- * are written to the m_diagnosticsPrintWriter
- * stream.
- */
- public void setTraceTemplateChildren(boolean b);
-
- /**
- * If set to true (the default), pattern conflict warnings are not printed to the diagnostics stream.
- * @param b true if conflict warnings should be suppressed.
- */
- public void setQuietConflictWarnings(boolean b);
-
- /**
- * Remove a trace listener.
- * @param tl Trace listener to be removed.
- */
- public void removeTraceListener(TraceListener tl);
-
- /**
- * If set, diagnostics will be
- * written to the m_diagnosticsPrintWriter stream. If
- * null, diagnostics are turned off. This convenience method calls
- * {@link #setDiagnosticsOutput(java.io.PrintWriter)}.
- */
- public void setDiagnosticsOutput(java.io.OutputStream out);
-
- /**
- * If set, diagnostics will be
- * written to the m_diagnosticsPrintWriter stream. If
- * null, diagnostics are turned off.
- */
- public void setDiagnosticsOutput(java.io.PrintWriter pw);
-
- /**
- * Set the problem listener property.
- * The XSL class can have a single listener to be informed
- * of errors and warnings. The problem listener normally controls whether an exception
- * is thrown or not (or the problem listeners can throw its own RuntimeException).
- * @param l A ProblemListener interface.
- */
- public void setProblemListener(ProblemListener l);
-
- /**
- * Get the problem listener property.
- * The XSL class can have a single listener to be informed
- * of errors and warnings. The problem listener normally controls whether an exception
- * is thrown or not (or the problem listener can throw its own RuntimeException).
- * @return A ProblemListener interface.
- */
- public ProblemListener getProblemListener();
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.java b/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.java
deleted file mode 100644
index c295028..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTProcessorFactory.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.apache.xalan.xpath.xml.XMLParserLiaison;
-import org.apache.xpath.XPathFactory;
-//import javax.xml.transform.Processor;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.Templates;
-import org.apache.xml.utils.TreeWalker;
-
-/**
- * <meta name="usage" content="general"/>
- * Manufactures the processor for performing transformations. Use one of the static getProcessor methods
- * to create an XSLTProcessor object.
- */
-public class XSLTProcessorFactory
-{
- /**
- * Get a new XSLTProcessor.
- */
- public static XSLTProcessor getProcessor()
- throws org.xml.sax.SAXException
- {
- //Processor processor = Processor.newInstance("xslt");
- return new XSLTEngineImpl();
- }
-
- /**
- * Get a new XSLTProcessor (parserLiaisonClassName no longre used).
- * *
- * @see #getProcessor()
- * @see org.apache.xalan.xpath.xml.XMLParserLiaison
- */
- public static XSLTProcessor getProcessorUsingLiaisonName(String parserLiaisonClassName)
- throws org.xml.sax.SAXException
- {
- //return new XSLTEngineImpl(parserLiaisonClassName);
- //Processor processor = Processor.newInstance("xslt");
- return new XSLTEngineImpl();
- }
-
- /**
- * Get a new XSLTProcessor (XMLParserLiaison no longer used).
- *
- * @param parserLiaison the XMLParserLiaison set up to interact with a given XML parser.
- * @return An implementation of the XSLTProcessor interface with which you can perform transformations.
- *
- * @see #getProcessor()
- * @see org.apache.xalan.xpath.xml.XMLParserLiaison
- */
- public static XSLTProcessor getProcessor(XMLParserLiaison parserLiaison)
- {
- //return new XSLTEngineImpl(parserLiaison);
- try{
- //Processor processor = Processor.newInstance("xslt");
- return new XSLTEngineImpl();
- }
- /* catch (TransformerConfigurationException tce)
- {
- return null;
- }*/
- catch (org.xml.sax.SAXException e)
- {
- return null;
- }
-
- }
-
- /**
- * Get a new XSLTProcessor (XMLParserLiaison and XPathFactory no longer used).
- *
- * @param parserLiaison the XMLParserLiaison set up to interact with a given XML parser.
- * @param xpathFactory A custom XPathFactory.
- * @return An implentation of the XSLTProcessor interface with which you
- * can perform transformations.
- *
- * @see #getProcessor()
- * @see org.apache.xalan.xpath.xml.XMLParserLiaison
- */
- public static XSLTProcessor getProcessor(XMLParserLiaison parserLiaison,
- XPathFactory xpathFactory)
- {
- //return new XSLTEngineImpl(parserLiaison, xpathFactory);
- try{
- //Processor processor = Processor.newInstance("xslt");
- return new XSLTEngineImpl();
- }
- /* catch (TransformerConfigurationException pe)
- {
- return null;
- }*/
- catch (org.xml.sax.SAXException e)
- {
- return null;
- }
- }
-}
diff --git a/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java b/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java
deleted file mode 100644
index 4d8e398..0000000
--- a/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, Lotus
- * Development Corporation., http://www.lotus.com. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-package org.apache.xalan.xslt;
-
-import org.w3c.dom.Node;
-import java.io.OutputStream;
-import java.io.Writer;
-import org.xml.sax.DocumentHandler;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.helpers.ParserAdapter;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.sax.SAXResult;
-
-
-/**
- * <meta name="usage" content="general"/>
- * Contains the result of a transformation that you perform with the
- * XSLTProcessor process() method or one of the StylesheetRoot process() methods.
- * Create an instance of this class to provide the process() method a container
- * for the transformation result tree.
- * You can use a file name or URL, character stream, byte stream, DOM Node, or SAX DocumentHandler
- * to instantiate an XSLTResultTarget object.
- *
- * @see XSLTProcessor#process(XSLTInputSource, XSLTInputSource, XSLTResultTarget)
- * @see StylesheetRoot
- */
-public class XSLTResultTarget //implements Result //extends StreamResult
-{
-
- private StreamResult sr = null;
- private SAXResult saxResult = null;
- private DOMResult dr = null;
-
-
- /**
- * Zero-argument default constructor -- Before you can use the new XSLTResultTarget object in a transformation,
- * you must define the output container by setting its FileName, CharacterStrea, ByteStream, or Node property.
- *
- * @see #setFileName(String)
- * @see #setCharacterStream(Writer)
- * @see #setByteStream(OutputStream)
- * @see #setNode(Node)
- * @see #setDocumentHandler(DocumentHandler)
- * @see #setEncoding(String)
- */
- public XSLTResultTarget ()
- {
- sr = new StreamResult();
- }
-
- /**
- * Create a new output target with a file name -- the equivalent of creating an output target
- * with the zero-argument constructor and setting the new object's FileName property.
- *
- * @param fileName Identifies the file that will contain the transformation result (must be a valid system file name).
- *
- * @see #setFileName(String)
- * @see #setCharacterStream(Writer)
- * @see #setByteStream(OutputStream)
- * @see #setNode(Node)
- * @see #setDocumentHandler(DocumentHandler)
- * @see #setEncoding(String)
- */
- public XSLTResultTarget (String fileName) // File?
- {
- sr = new StreamResult();
- sr.setSystemId(fileName);
- }
-
-
- /**
- * Create a new output target with a byte stream -- the equivalent of creating an output target
- * with the zero-argument constructor and setting the new object's ByteStream property.
- *
- * @param byteStream The raw byte stream that will contain the transformation result.
- *
- * @see #setByteStream(OutputStream)
- * @see #setFileName(String)
- * @see #setCharacterStream(Writer)
- * @see #setNode(Node)
- * @see #setDocumentHandler(DocumentHandler)
- * @see #setEncoding(String)
- */
-
- public XSLTResultTarget (OutputStream byteStream)
- {
- sr = new StreamResult();
- sr.setOutputStream(byteStream);
- }
-
-
- /**
- * Create a new output target with a character stream -- the equivalent of creating an output target
- * with the zero-argument constructor and setting the new object's CharacterStream property.
- *
- * @param characterStream The character stream where the transformation result is written.
- *
- * @see #setCharacterStream(Writer)
- * @see #setByteStream(OutputStream)
- * @see #setFileName(String)
- * @see #setNode(Node)
- * @see #setDocumentHandler(DocumentHandler)
- * @see #setEncoding(String)
- */
- public XSLTResultTarget (Writer characterStream)
- {
- sr = new StreamResult();
- sr.setWriter(characterStream);
- }
-
- /**
- * Create a new output target with a DOM Node -- the equivalent of creating an output target
- * with the zero-argument constructor and setting the new object's Node property.
- *
- * @param node The DOM Node that will contain the transformation result.
- *
- * @see #setNode(Node)
- * @see #setCharacterStream(Writer)
- * @see #setByteStream(OutputStream)
- * @see #setFileName(String)
- * @see #setDocumentHandler(DocumentHandler)
- * @see #setEncoding(String)
- */
- public XSLTResultTarget (Node n)
- {
- dr = new DOMResult();
- dr.setNode(n);
- }
-
- /**
- * Create a new output target with a SAX Document handler, which
- * will handle result events -- the equivalent of creating an output target with the
- * zero-argument constructor and setting the new object's DocyumentHandler property.
- *
- * @param handler The SAX Document handler to which the result is written.
- *
- * @see #setDocumentHandler(DocumentHandler)
- * @see #setNode(Node)
- * @see #setCharacterStream(Writer)
- * @see #setByteStream(OutputStream)
- * @see #setFileName(String)
- * @see #setEncoding(String)
- */
- public XSLTResultTarget(DocumentHandler handler)
- {
- SAXResult saxResult = new SAXResult();
- setDocumentHandler(handler);
- }
-
-
- /**
- * Set the file name or URL where the transformation result will be written.
- *
- * @param fileName The system identifier as a string.
- *
- * @see #XSLTResultTarget(String)
- * @see #getFileName
- */
- public void setFileName (String fileName) // File?
- {
- if (sr == null)
- sr = new StreamResult();
- sr.setSystemId(fileName);
- }
-
-
- /**
- * Get the file name where the results are or will be written, or null if none was supplied.
- *
- * @return The file name or URL.
- *
- * @see #XSLTResultTarget(String)
- * @see #setFileName(String)
- */
- public String getFileName ()
- {
- if (sr != null)
- return sr.getSystemId();
- else
- return null;
- }
-
-
-
- /**
- * Set the character encoding, if known.
- *
- * @param encoding The character encoding.
- */
- public void setEncoding (String encoding)
- {
- this.encoding = encoding;
- }
-
-
- /**
- * Get the character encoding that was used.
- *
- * @return The encoding, or null if none was supplied.
- */
- public String getEncoding ()
- {
- return encoding;
- }
-
- private String encoding;
-
-
- /**
- * Set a SAX DocumentHandler to process the result tree events.
- * You can process events as they occur
- * rather than waiting for the transformation to be completed.
- *
- * @param handler The SAX DocumentHandler to process result tree events.
- *
- * @see #XSLTResultTarget(DocumentHandler)
- * @see #getDocumentHandler()
- */
- public void setDocumentHandler (DocumentHandler handler)
- {
- this.formatterListener = handler;
- if (handler instanceof ParserAdapter)
- {
- if (saxResult == null)
- saxResult = new SAXResult();
- saxResult.setHandler(((ParserAdapter)handler).getContentHandler());
- }
- }
-
- /**
- * Get the SAX DocumentHandler that processes the result tree events.
- * You can use the DocumentHandler to process events as they occur
- * rather than waiting for the transformation to be completed.
- *
- * @return The SAX DocumentHandler that processes result tree events.
- *
- * @see #XSLTResultTarget(DocumentHandler)
- * @see #setDocumentHandler(DocumentHandler)
- */
- public DocumentHandler getDocumentHandler ()
- {
- return formatterListener;
- }
-
- private DocumentHandler formatterListener = null;
-
- /**
- * Set the node that will contain the result DOM tree. In practice,
- * the node should be a {@link org.w3c.dom.Document} node,
- * a {@link org.w3c.dom.DocumentFragment} node, or a
- * {@link org.w3c.dom.Element} node. In other words, a node
- * that accepts children.
- *
- * @param node The node to which the transformation
- * will be appended.
- */
- public void setNode(Node node) {
- if (dr == null)
- dr = new DOMResult();
- dr.setNode(node);
- }
-
- /**
- * Get the node that will contain the result DOM tree.
- * If no node was set via setNode, the node will be
- * set by the transformation, and may be obtained from
- * this method once the transformation is complete.
- *
- * @return The node to which the transformation
- * will be appended.
- */
- public Node getNode() {
- if (dr != null)
- return dr.getNode();
- else
- return null;
- }
-
- /**
- * Set the byte stream to contain the transformation result.
- *
- * @param byteStream A byte stream that will contain the transformation result.
- *
- * @see #XSLTResultTarget(OutputStream)
- * @see #setByteStream(OutputStream)
- */
- public void setByteStream(OutputStream byteStrm) {
- if (sr == null)
- sr = new StreamResult();
- sr.setOutputStream(byteStrm);
- }
-
- /**
- * Get the byte stream that contains or will contain the transformation result.
- *
- * @return The byte stream, or null if none was supplied.
- *
- * @see #XSLTResultTarget(OutputStream)
- * @see #setByteStream(OutputStream)
- */
- public OutputStream getByteStream() {
- if (sr != null)
- return sr.getOutputStream();
- else
- return null;
- }
-
- /**
- * Set the system identifier for this Result.
- *
- * <p>If the Result is not to be written to a file, the system identifier is optional.
- * The application may still want to provide one, however, for use in error messages
- * and warnings, or to resolve relative output identifiers.</p>
- *
- * @param systemId The system identifier as a URI string.
- */
- public void setSystemId(String systemID)
- {
- if (sr != null)
- sr.setSystemId(systemID);
- else if (dr != null)
- dr.setSystemId(systemID);
- else if (saxResult != null)
- saxResult.setSystemId(systemID);
- }
-
- /**
- * Get the system identifier that was set with setSystemId.
- *
- * @return The system identifier that was set with setSystemId,
- * or null if setSystemId was not called.
- */
- public String getSystemId()
- {
- if (sr != null)
- return sr.getSystemId();
- else if (dr != null)
- dr.getSystemId();
- else if (saxResult != null)
- saxResult.getSystemId();
-
- return null;
- }
-
- /**
- * Set the writer that is to receive the result. Normally,
- * a stream should be used rather than a writer, so that
- * the transformer may use instructions contained in the
- * transformation instructions to control the encoding. However,
- * there are times when it is useful to write to a writer,
- * such as when using a StringWriter.
- *
- * @param writer A valid Writer reference.
- */
- public void setCharacterStream(Writer writer) {
- if (sr == null)
- sr = new StreamResult();
- sr.setWriter(writer);
- }
-
- /**
- * Get the character stream that was set with setWriter.
- *
- * @return The character stream that was set with setWriter, or null
- * if setWriter or the Writer constructor was not called.
- */
- public Writer getCharacterStream() {
- if (sr != null)
- return sr.getWriter();
- else
- return null;
- }
-
-
- /**
- * Get the Result object associated with this XSLTResultTarget object .
- *
- * @return The Result object associated with this XSLTResultTarget object
- *
- */
- public Result getResultObject()
- {
- if (sr != null)
- return sr;
- else if (dr != null)
- return dr;
- else
- return saxResult;
- }
-
-}
diff --git a/compat_src/org/apache/xalan/xslt/package.html b/compat_src/org/apache/xalan/xslt/package.html
deleted file mode 100644
index 76e39f2..0000000
--- a/compat_src/org/apache/xalan/xslt/package.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<HTML><HEAD></HEAD><BODY>
- <P><B>The main Xalan-Java 1 compatability package</B> -- facilities for setting up and performing XSL transformations.</P>
-
- <P>Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to
- instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}. The XSLTProcessor interface defines the
- XSLT processor API. You should never need to call the underlying implementation
- ({@link org.apache.xalan.xslt.XSLTEngineImpl}) directly.</P>
-
- <P>Instantiate {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and the XSL
- stylesheet, and an {@link org.apache.xalan.xslt.XSLTResultTarget} object for the transformation output.
- You may construct these objects with a variety of containers/formats, including files or URLs, character
- streams,byte streams, SAX input streams or document handlers, and a DOM tree.</P>
- <P>As a general rule, use the XSLTProcessor process method to perform a transformation, thereby filling the
- XSLTResultTarget object. For repeated transformations, to gather information from the stylesheet before you
- perform the transformation, or to set up the processor to function as a SAX document handler, use the
- XSLTProcessor processStylesheet method to compile the XSL stylesheet, which returns a
- {@link org.apache.xalan.xslt.StylesheetRoot} object with its own process method.</P>
- </BODY></HTML>
\ No newline at end of file
diff --git a/make.include b/make.include
deleted file mode 100644
index d971ce9..0000000
--- a/make.include
+++ /dev/null
@@ -1,168 +0,0 @@
-###########################################################
-# Common variables and targets for XPath and xslt4j
-#
-# See Makefile for important environment notes
-#
-###########################################################
-
-###########################################################
-# Project-specific variables and rules
-#
-# You should not need to edit these
-###########################################################
-JAVAX = .java
-CLASSX = .class
-JARX = .jar
-TARX = .tar.gz
-ZIPX = .zip
-OBJS = $(SRCS:%.java=%.class)
-
-# A simple marker file created to show last compile time
-# Note subdirectories may reset the name!
-SINCE_FILE = since.last
-
-# Relative directory (usually from ./src/.) where class files are to go
-CLASS_DIR = classes
-
-CURRENT_DIR = .
-
-###########################################################
-# Build-specific tools and flags definitions
-###########################################################
-PRODUCT_NAME := xalan
-VERSION = _1_1_D01
-JARNAME = $(PRODUCT_NAME)$(JARX)
-JARDISTNAME = $(PRODUCT_NAME)-j$(VERSION)$(JARX)
-TARDISTNAME = $(PRODUCT_NAME)-j$(VERSION)$(TARX)
-ZIPDISTNAME = $(PRODUCT_NAME)-j$(VERSION)$(ZIPX)
-
-###########################################################
-# Environment-specific tools and flags definitions
-#
-# You may need to edit these if you're not using
-# a standard JDK or the tools aren't on the path.
-###########################################################
-# References to default tools
-JAVA = java
-JAVAC = javac
-JAVADOC = javadoc
-JAR = jar
-# References to JDK 1.2-only tools; required for xdocs build
-# While the code compiles under 1.1.8 or 1.2.2, the docs require 1.2.2
-# Thus, you can install both JDK's, set 1.1.8 up as default,
-# then call us like 'make -f Makefile JAVAC12=c:/jdk122/bin/javac.exe ...'
-# This should compile the sources with 1.1.8, but the doc with 1.2.2
-JAVA12 = java
-JAVAC12 = javac
-JAVADOC12 = javadoc
-
-# Setting flags for various tools
-# You can override these on the make command line as well
-# Call us like 'make -f Makefile JAVADEBUG=-g:none ...'
-JAVADEBUG = -g
-# JAVADEBUG = -g:none -O
-JAVADESTDIR = -d $(CLASS_DIR)
-JAVACFLAGS = $(JAVADEBUG) $(JAVADESTDIR)
-JARFLAGS = Mcf0
-
-# References to other tools
-RM = rm -f
-RM-RF = rm -rf
-CP = cp -f
-CPR = cp -Rvf
-UPDIR := ..
-
-# References to standard UNIX or Cygwin tar utility, filtering through gzip
-TARGZ = tar cvzf
-UNTARGZ = tar xvzf
-
-# Decide if we're on unix or DOS
-ifeq (,$(findstring usr,$(PATH)))
-# DOS
-PATHSEP := \\
-CLPATHSEP := ;
-else
-# UNIX
-PATHSEP := /
-CLPATHSEP := :
-endif
-
-###########################################################
-# Main targets definitions
-###########################################################
-.PHONY: makeall
-makeall: all
-
-.PHONY: clean
-clean::
- $(RM) *.class $(JARNAME) *~ *.bak *.o *.obj *.dll $(SINCE_FILE)
-
-.PHONY: makesubdirs
-makesubdirs:
- @for i in $(SUBDIRS) ; \
- do \
- (cd $$i; echo making xpath engine in "$(CURRENT_DIR)/$$i..."; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makexpath4j JAVACFLAGS="$(JAVACFLAGS)" all); \
- (cd $$i; echo making xslt engine in "$(CURRENT_DIR)/$$i..."; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makexslt4j JAVACFLAGS="$(JAVACFLAGS)" all); \
- done
-
-.PHONY: makecompat
-makecompat:
- @for i in $(SUBDIRS) ; \
- do \
- (cd $$i; echo making compat engine in "$(CURRENT_DIR)/$$i...";pwd; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f makecompat JAVACFLAGS="$(JAVACFLAGS)" all); \
- done
-
-.PHONY: makedocs
-makedocs:
- @for i in xdocs ; \
- do \
- (cd $$i; echo making x-docs in "$(CURRENT_DIR)/$$i..."; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile all); \
- done
-
-.PHONY: makesamples
-makesamples:
- @for i in samples ; \
- do \
- (cd $$i; echo making samples in "$(CURRENT_DIR)/$$i..."; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i $(MFLAGS) -f Makefile all); \
- done
-
-.PHONY: cleansubdirs
-cleansubdirs:
- -@for i in $(SUBDIRS) ; \
- do \
- (cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makexpath4j $(MFLAGS) clean); \
- (cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
- $(MAKE) CURRENT_DIR=$(CURRENT_DIR)/$$i -f makexslt4j $(MFLAGS) clean); \
- done
-
-.PHONY: cleancompat
-cleancompat:
- -@for i in $(SUBDIRS) ; \
- do \
- (cd $$i; echo cleaning in "$(CURRENT_DIR)/$$i..."; \
... 59163 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xalan.apache.org
For additional commands, e-mail: dev-help@xalan.apache.org