You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mu...@apache.org on 2023/04/14 06:24:16 UTC
[xalan-java] branch master updated: updating master branch, to have same contents as the branch xalan-j_2_7_1_maint
This is an automated email from the ASF dual-hosted git repository.
mukulg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/xalan-java.git
The following commit(s) were added to refs/heads/master by this push:
new 356ce496 updating master branch, to have same contents as the branch xalan-j_2_7_1_maint
356ce496 is described below
commit 356ce496faa80d97ae8a8406e37f6bd994b39233
Author: Mukul Gandhi <ga...@gmail.com>
AuthorDate: Fri Apr 14 11:53:05 2023 +0530
updating master branch, to have same contents as the branch xalan-j_2_7_1_maint
---
.classpath | 16 +
.gitignore | 2 +
.project | 33 +
.settings/org.eclipse.jdt.core.prefs | 269 +
.settings/org.eclipse.jdt.ui.prefs | 5 +
KEYS | 503 ++
LICENSE.txt | 1074 ++++
NOTICE.txt | 85 +
README | 137 +
SECURITY.md | 23 +
Xalan2.7.0-REL_PLAN.html | 180 +
build.bat | 70 +
build.sh | 90 +
build.xml | 1936 ++++++
build_srcdist_xalan.xml | 1944 ++++++
build_srcdist_xalan_tests.xml | 1783 +++++
commits.xml | 2516 ++++++++
deprecated_build.sh | 73 +
lib/bcel-6.7.0.jar | Bin 0 -> 716107 bytes
lib/brazil-2.1.jar | Bin 0 -> 2761814 bytes
lib/bsf.jar | Bin 0 -> 113369 bytes
lib/commons-logging-1.2.jar | Bin 0 -> 61829 bytes
lib/endorsed/xercesImpl.jar | Bin 0 -> 1446149 bytes
lib/endorsed/xml-apis.jar | Bin 0 -> 228394 bytes
lib/javaee-api-5.0-2.jar | Bin 0 -> 753070 bytes
lib/regexp.jar | Bin 0 -> 29871 bytes
lib/rhino-1.7.14.jar | Bin 0 -> 1383644 bytes
lib/runtime.jar | Bin 0 -> 7820 bytes
lib/servlet-api-2.5.jar | Bin 0 -> 134133 bytes
samples/AppletXMLtoHTML/README.html | 40 +
samples/AppletXMLtoHTML/appletXMLtoHTML.html | 33 +
samples/AppletXMLtoHTML/client.html | 138 +
samples/AppletXMLtoHTML/foo-s1.xml | 6 +
samples/AppletXMLtoHTML/lts3611beac.jpg | 1 +
samples/AppletXMLtoHTML/rabbitwhorn.jpg | Bin 0 -> 3260 bytes
samples/AppletXMLtoHTML/s1ToHTML.xsl | 159 +
samples/AppletXMLtoHTML/target.html | 24 +
samples/AppletXMLtoHTML/trax.xml | 260 +
samples/AppletXMLtoHTML/xalanApplets.xml | 26 +
samples/ApplyXPath/ApplyXPath.java | 141 +
samples/ApplyXPath/foo.xml | 13 +
samples/ApplyXPath/readme.html | 30 +
samples/ApplyXPathDOM/ApplyXPathDOM.java | 154 +
samples/ApplyXPathDOM/foo.xml | 13 +
samples/ApplyXPathDOM/readme.html | 30 +
samples/CompiledApplet/README.applet | 111 +
samples/CompiledApplet/TransformApplet.java | 260 +
samples/CompiledApplet/index.html | 28 +
samples/CompiledApplet/menu.html | 67 +
samples/CompiledApplet/singleTransform.html | 25 +
samples/CompiledBrazil/README.brazil | 55 +
samples/CompiledBrazil/TransformHandler.java | 154 +
samples/CompiledEJB/README.ejb | 113 +
samples/CompiledEJB/TransformBean.java | 117 +
samples/CompiledEJB/TransformHome.java | 33 +
samples/CompiledEJB/TransformRemote.java | 33 +
samples/CompiledEJB/TransformServlet.java | 90 +
samples/CompiledEJB/bottom_frame.html | 24 +
samples/CompiledEJB/index.html | 31 +
samples/CompiledEJB/top_frame.html | 122 +
samples/CompiledJAXP/Compile.java | 64 +
samples/CompiledJAXP/README.cjaxp | 24 +
samples/CompiledJAXP/Transform.java | 73 +
samples/CompiledServlet/CompileServlet.java | 76 +
samples/CompiledServlet/README.servlet | 66 +
samples/CompiledServlet/TransformServlet.java | 99 +
samples/DOM2DOM/DOM2DOM.java | 107 +
samples/DOM2DOM/birds.xml | 136 +
samples/DOM2DOM/birds.xsl | 57 +
samples/DOM2DOM/readme.html | 30 +
samples/Pipe/Pipe.java | 85 +
samples/Pipe/foo.xml | 2 +
samples/Pipe/foo1.xsl | 25 +
samples/Pipe/foo2.xsl | 25 +
samples/Pipe/foo3.xsl | 25 +
samples/Pipe/readme.html | 30 +
samples/SAX2SAX/SAX2SAX.java | 108 +
samples/SAX2SAX/birds.xml | 136 +
samples/SAX2SAX/birds.xsl | 57 +
samples/SAX2SAX/foo.xml | 2 +
samples/SAX2SAX/foo.xsl | 25 +
samples/SimpleTransform/SimpleTransform.java | 60 +
samples/SimpleTransform/birds.xml | 136 +
samples/SimpleTransform/birds.xsl | 57 +
samples/SimpleTransform/foo.xml | 2 +
samples/SimpleTransform/foo.xsl | 25 +
samples/SimpleTransform/readme.html | 30 +
samples/Trace/Trace.java | 91 +
samples/Trace/foo.xml | 67 +
samples/Trace/foo.xsl | 89 +
samples/TransformThread/TransformThread.java | 323 +
samples/TransformThread/foo0.xml | 2 +
samples/TransformThread/foo0.xsl | 25 +
samples/TransformThread/foo1.xml | 2 +
samples/TransformThread/foo1.xsl | 25 +
samples/UseStylesheetPI/UseStylesheetPI.java | 55 +
samples/UseStylesheetPI/foo.xsl | 26 +
samples/UseStylesheetPI/fooX.xml | 3 +
samples/UseStylesheetParam/UseStylesheetParam.java | 61 +
samples/UseStylesheetParam/foo.xml | 2 +
samples/UseStylesheetParam/foo.xsl | 27 +
samples/UseStylesheetParam/readme.html | 30 +
samples/UseXMLFilters/UseXMLFilters.java | 101 +
samples/UseXMLFilters/foo.xml | 2 +
samples/UseXMLFilters/foo1.xsl | 25 +
samples/UseXMLFilters/foo2.xsl | 25 +
samples/UseXMLFilters/foo3.xsl | 25 +
samples/UseXMLFilters/readme.html | 30 +
samples/Validate/Validate.java | 270 +
samples/Validate/ValidateXMLInput.java | 115 +
samples/Validate/birds.xml | 145 +
samples/Validate/birds.xsl | 57 +
samples/Validate/readme.html | 30 +
samples/XPathAPI/ApplyXPathJAXP.java | 178 +
samples/XPathAPI/ExtensionFunctionResolver.java | 89 +
samples/XPathAPI/ExtensionTest.java | 25 +
samples/XPathAPI/XPathResolver.java | 157 +
samples/XPathAPI/foo.xml | 13 +
samples/XPathAPI/numlist.xml | 6 +
samples/extensions/1-redir.xml | 10 +
samples/extensions/1-redir.xsl | 56 +
samples/extensions/2-basicJscript.xml | 5 +
samples/extensions/2-basicJscript.xsl | 56 +
samples/extensions/3-java-namespace.xml | 6 +
samples/extensions/3-java-namespace.xsl | 41 +
samples/extensions/4-numlistJava.xsl | 54 +
samples/extensions/5-numlistJscript.xsl | 73 +
samples/extensions/IntDate.java | 36 +
samples/extensions/MyCounter.java | 58 +
samples/extensions/numlist.xml | 18 +
samples/extensions/readme.html | 30 +
samples/extensions/sql/GETTING_STARTED.txt | 55 +
.../extensions/sql/basic-connection/DumpSQL.xsl | 39 +
samples/extensions/sql/basic-connection/dbinfo.xml | 11 +
.../sql/basic-connection/dbtest-cinfo.xsl | 84 +
samples/extensions/sql/basic-connection/dbtest.xsl | 142 +
.../extensions/sql/basic-connection/readme.html | 30 +
samples/extensions/sql/createdb.sql | 8 +
.../sql/ext-connection/ExternalConnection.java | 105 +
samples/extensions/sql/ext-connection/dbtest.xsl | 78 +
samples/extensions/sql/ext-connection/readme.html | 30 +
samples/extensions/sql/pquery/dbinfo.xml | 14 +
samples/extensions/sql/pquery/dbtest.xsl | 88 +
samples/extensions/sql/pquery/readme.html | 30 +
samples/extensions/sql/readme.html | 30 +
samples/extensions/sql/runDerby.bat | 73 +
samples/extensions/sql/runDerby.sh | 58 +
samples/extensions/sql/runExtConnection.bat | 132 +
samples/extensions/sql/runExtConnection.sh | 104 +
samples/extensions/sql/runXalan.bat | 123 +
samples/extensions/sql/runXalan.sh | 93 +
samples/extensions/sql/show-error/dbinfo.xml | 14 +
samples/extensions/sql/show-error/invalidConn.xsl | 76 +
.../extensions/sql/show-error/invalidPQuery.xsl | 86 +
samples/extensions/sql/show-error/invalidQuery.xsl | 86 +
samples/extensions/sql/show-error/readme.html | 30 +
samples/extensions/sql/streamable/cachedNodes.xsl | 142 +
samples/extensions/sql/streamable/dbinfo.xml | 12 +
samples/extensions/sql/streamable/pivot.xsl | 183 +
samples/extensions/sql/streamable/readme.html | 30 +
samples/extensions/sql/streamable/streamNodes.xsl | 76 +
samples/servlet/ApplyXSLT.java | 854 +++
samples/servlet/ApplyXSLTException.java | 175 +
samples/servlet/ApplyXSLTListener.java | 101 +
samples/servlet/ApplyXSLTProperties.java | 165 +
samples/servlet/DefaultApplyXSLTProperties.java | 272 +
samples/servlet/SimpleXSLTServlet.java | 85 +
samples/servlet/UseStylesheetParamServlet.java | 103 +
samples/servlet/XSLTServletWithParams.java | 146 +
samples/servlet/birds.xml | 137 +
samples/servlet/birds.xsl | 57 +
samples/servlet/booklist1.xsl | 51 +
samples/servlet/booklist2.xsl | 53 +
samples/servlet/catalog.xml | 40 +
samples/servlet/default.xsl | 294 +
samples/servlet/default2.xsl | 170 +
samples/servlet/fooparam.xml | 2 +
samples/servlet/fooparam.xsl | 34 +
samples/servlet/jspSample.jsp | 48 +
samples/servlet/media.properties | 60 +
samples/servlet/readme.html | 30 +
samples/servlet/web.xml | 49 +
.../JAXPTransletMultipleTransformations.java | 88 +
.../translets/JAXPTransletOneTransformation.java | 81 +
samples/translets/readme.html | 30 +
samples/translets/todo.xml | 35 +
samples/translets/todo.xsl | 178 +
samples/translets/todotoo.xml | 29 +
samples/trax/ExampleContentHandler.java | 117 +
samples/trax/Examples.java | 844 +++
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 | 37 +
samples/trax/xsl/foo.xsl | 45 +
samples/trax/xsl/foo2.xsl | 33 +
samples/trax/xsl/foo3.xsl | 33 +
samples/trax/xsl/inc1/inc1.xsl | 24 +
samples/trax/xsl/inc1/inc2/inc2.xsl | 21 +
src/MANIFEST.MF | 70 +
src/MANIFEST.SERIALIZER | 20 +
.../javax.xml.transform.TransformerFactory | 1 +
src/META-INF/services/javax.xml.xpath.XPathFactory | 1 +
.../org.apache.xalan.extensions.bsf.BSFManager | 1 +
.../services/org.apache.xml.dtm.DTMManager | 1 +
src/javadocOverview.html | 28 +
src/manifest.xalan-interpretive | 29 +
src/manifest.xsltc | 51 +
src/org/apache/xalan/Version.src | 153 +
.../apache/xalan/client/XSLTProcessorApplet.java | 780 +++
src/org/apache/xalan/client/package.html | 26 +
.../apache/xalan/extensions/ExpressionContext.java | 93 +
.../apache/xalan/extensions/ExpressionVisitor.java | 82 +
.../apache/xalan/extensions/ExtensionHandler.java | 147 +
.../extensions/ExtensionHandlerExsltFunction.java | 229 +
.../xalan/extensions/ExtensionHandlerGeneral.java | 397 ++
.../xalan/extensions/ExtensionHandlerJava.java | 100 +
.../extensions/ExtensionHandlerJavaClass.java | 544 ++
.../extensions/ExtensionHandlerJavaPackage.java | 540 ++
.../extensions/ExtensionNamespaceContext.java | 140 +
.../extensions/ExtensionNamespaceSupport.java | 106 +
.../extensions/ExtensionNamespacesManager.java | 286 +
.../apache/xalan/extensions/ExtensionsTable.java | 241 +
.../apache/xalan/extensions/MethodResolver.java | 994 +++
src/org/apache/xalan/extensions/ObjectFactory.java | 656 ++
.../apache/xalan/extensions/SecuritySupport.java | 144 +
.../apache/xalan/extensions/XPathFunctionImpl.java | 82 +
.../extensions/XPathFunctionResolverImpl.java | 118 +
.../xalan/extensions/XSLProcessorContext.java | 317 +
src/org/apache/xalan/extensions/package.html | 26 +
src/org/apache/xalan/lib/ExsltBase.java | 84 +
src/org/apache/xalan/lib/ExsltCommon.java | 106 +
src/org/apache/xalan/lib/ExsltDatetime.java | 1142 ++++
src/org/apache/xalan/lib/ExsltDynamic.java | 614 ++
src/org/apache/xalan/lib/ExsltMath.java | 389 ++
src/org/apache/xalan/lib/ExsltSets.java | 240 +
src/org/apache/xalan/lib/ExsltStrings.java | 353 +
src/org/apache/xalan/lib/Extensions.java | 418 ++
src/org/apache/xalan/lib/NodeInfo.java | 248 +
src/org/apache/xalan/lib/ObjectFactory.java | 656 ++
src/org/apache/xalan/lib/PipeDocument.java | 230 +
src/org/apache/xalan/lib/Redirect.java | 490 ++
src/org/apache/xalan/lib/SecuritySupport.java | 144 +
src/org/apache/xalan/lib/package.html | 27 +
src/org/apache/xalan/lib/sql/ConnectionPool.java | 157 +
.../xalan/lib/sql/ConnectionPoolManager.java | 125 +
src/org/apache/xalan/lib/sql/DTMDocument.java | 1635 +++++
.../xalan/lib/sql/DefaultConnectionPool.java | 578 ++
.../apache/xalan/lib/sql/JNDIConnectionPool.java | 337 +
src/org/apache/xalan/lib/sql/ObjectArray.java | 227 +
src/org/apache/xalan/lib/sql/ObjectFactory.java | 656 ++
src/org/apache/xalan/lib/sql/PooledConnection.java | 92 +
src/org/apache/xalan/lib/sql/QueryParameter.java | 279 +
src/org/apache/xalan/lib/sql/SQLDocument.java | 1093 ++++
src/org/apache/xalan/lib/sql/SQLErrorDocument.java | 244 +
src/org/apache/xalan/lib/sql/SQLQueryParser.java | 442 ++
src/org/apache/xalan/lib/sql/SecuritySupport.java | 144 +
src/org/apache/xalan/lib/sql/XConnection.java | 1413 ++++
src/org/apache/xalan/lib/sql/package.html | 91 +
.../xalan/processor/ProcessorAttributeSet.java | 105 +
.../xalan/processor/ProcessorCharacters.java | 179 +
.../xalan/processor/ProcessorDecimalFormat.java | 75 +
.../xalan/processor/ProcessorExsltFuncResult.java | 70 +
.../xalan/processor/ProcessorExsltFunction.java | 189 +
.../xalan/processor/ProcessorGlobalParamDecl.java | 77 +
.../processor/ProcessorGlobalVariableDecl.java | 77 +
.../apache/xalan/processor/ProcessorImport.java | 56 +
.../apache/xalan/processor/ProcessorInclude.java | 396 ++
src/org/apache/xalan/processor/ProcessorKey.java | 156 +
src/org/apache/xalan/processor/ProcessorLRE.java | 369 ++
.../xalan/processor/ProcessorNamespaceAlias.java | 97 +
.../xalan/processor/ProcessorOutputElem.java | 223 +
.../xalan/processor/ProcessorPreserveSpace.java | 78 +
.../xalan/processor/ProcessorStripSpace.java | 78 +
.../xalan/processor/ProcessorStylesheetDoc.java | 31 +
.../processor/ProcessorStylesheetElement.java | 147 +
.../apache/xalan/processor/ProcessorTemplate.java | 53 +
.../xalan/processor/ProcessorTemplateElem.java | 126 +
src/org/apache/xalan/processor/ProcessorText.java | 82 +
.../apache/xalan/processor/ProcessorUnknown.java | 34 +
.../apache/xalan/processor/StylesheetHandler.java | 1724 +++++
.../xalan/processor/TransformerFactoryImpl.java | 1038 +++
.../xalan/processor/WhitespaceInfoPaths.java | 82 +
.../apache/xalan/processor/XSLProcessorVersion.src | 116 +
.../apache/xalan/processor/XSLTAttributeDef.java | 1665 +++++
src/org/apache/xalan/processor/XSLTElementDef.java | 833 +++
.../xalan/processor/XSLTElementProcessor.java | 396 ++
src/org/apache/xalan/processor/XSLTSchema.java | 922 +++
src/org/apache/xalan/processor/package.html | 41 +
src/org/apache/xalan/res/XSLMessages.java | 87 +
src/org/apache/xalan/res/XSLTErrorResources.java | 1511 +++++
.../apache/xalan/res/XSLTErrorResources_ca.java | 1529 +++++
.../apache/xalan/res/XSLTErrorResources_cs.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_de.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_en.java | 31 +
.../apache/xalan/res/XSLTErrorResources_es.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_fr.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_hu.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_it.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_ja.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_ko.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_pl.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_pt_BR.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_ru.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_sk.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_sl.java | 1517 +++++
.../apache/xalan/res/XSLTErrorResources_sv.java | 2339 +++++++
.../apache/xalan/res/XSLTErrorResources_tr.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_zh.java | 1530 +++++
.../apache/xalan/res/XSLTErrorResources_zh_CN.java | 22 +
.../apache/xalan/res/XSLTErrorResources_zh_TW.java | 1530 +++++
src/org/apache/xalan/res/XSLTInfo.properties | 30 +
src/org/apache/xalan/res/package.html | 26 +
src/org/apache/xalan/serialize/DOMSerializer.java | 30 +
src/org/apache/xalan/serialize/Serializer.java | 142 +
.../apache/xalan/serialize/SerializerFactory.java | 159 +
.../apache/xalan/serialize/SerializerUtils.java | 273 +
src/org/apache/xalan/templates/AVT.java | 614 ++
src/org/apache/xalan/templates/AVTPart.java | 94 +
src/org/apache/xalan/templates/AVTPartSimple.java | 100 +
src/org/apache/xalan/templates/AVTPartXPath.java | 150 +
src/org/apache/xalan/templates/AbsPathChecker.java | 81 +
src/org/apache/xalan/templates/Constants.java | 399 ++
.../xalan/templates/DecimalFormatProperties.java | 404 ++
.../apache/xalan/templates/ElemApplyImport.java | 117 +
.../apache/xalan/templates/ElemApplyTemplates.java | 454 ++
src/org/apache/xalan/templates/ElemAttribute.java | 276 +
.../apache/xalan/templates/ElemAttributeSet.java | 181 +
.../apache/xalan/templates/ElemCallTemplate.java | 374 ++
src/org/apache/xalan/templates/ElemChoose.java | 198 +
src/org/apache/xalan/templates/ElemComment.java | 150 +
src/org/apache/xalan/templates/ElemCopy.java | 147 +
src/org/apache/xalan/templates/ElemCopyOf.java | 251 +
src/org/apache/xalan/templates/ElemElement.java | 378 ++
src/org/apache/xalan/templates/ElemEmpty.java | 38 +
.../xalan/templates/ElemExsltFuncResult.java | 101 +
.../apache/xalan/templates/ElemExsltFunction.java | 151 +
.../apache/xalan/templates/ElemExtensionCall.java | 319 +
.../apache/xalan/templates/ElemExtensionDecl.java | 369 ++
.../xalan/templates/ElemExtensionScript.java | 103 +
src/org/apache/xalan/templates/ElemFallback.java | 115 +
src/org/apache/xalan/templates/ElemForEach.java | 549 ++
src/org/apache/xalan/templates/ElemIf.java | 178 +
.../apache/xalan/templates/ElemLiteralResult.java | 1490 +++++
src/org/apache/xalan/templates/ElemMessage.java | 130 +
src/org/apache/xalan/templates/ElemNumber.java | 2168 +++++++
src/org/apache/xalan/templates/ElemOtherwise.java | 57 +
src/org/apache/xalan/templates/ElemPI.java | 230 +
src/org/apache/xalan/templates/ElemParam.java | 130 +
src/org/apache/xalan/templates/ElemSort.java | 349 +
src/org/apache/xalan/templates/ElemTemplate.java | 421 ++
.../xalan/templates/ElemTemplateElement.java | 1660 +++++
src/org/apache/xalan/templates/ElemText.java | 148 +
.../apache/xalan/templates/ElemTextLiteral.java | 245 +
src/org/apache/xalan/templates/ElemUnknown.java | 128 +
src/org/apache/xalan/templates/ElemUse.java | 205 +
src/org/apache/xalan/templates/ElemValueOf.java | 335 +
src/org/apache/xalan/templates/ElemVariable.java | 538 ++
.../apache/xalan/templates/ElemVariablePsuedo.java | 68 +
src/org/apache/xalan/templates/ElemWhen.java | 126 +
src/org/apache/xalan/templates/ElemWithParam.java | 265 +
src/org/apache/xalan/templates/FuncDocument.java | 463 ++
src/org/apache/xalan/templates/FuncFormatNumb.java | 188 +
src/org/apache/xalan/templates/FuncKey.java | 151 +
src/org/apache/xalan/templates/KeyDeclaration.java | 198 +
src/org/apache/xalan/templates/NamespaceAlias.java | 159 +
.../apache/xalan/templates/OutputProperties.java | 689 ++
.../xalan/templates/RedundentExprEliminator.java | 1432 +++++
src/org/apache/xalan/templates/Stylesheet.java | 1516 +++++
.../apache/xalan/templates/StylesheetComposed.java | 349 +
src/org/apache/xalan/templates/StylesheetRoot.java | 1405 ++++
src/org/apache/xalan/templates/TemplateList.java | 923 +++
.../templates/TemplateSubPatternAssociation.java | 249 +
.../apache/xalan/templates/VarNameCollector.java | 80 +
src/org/apache/xalan/templates/WhiteSpaceInfo.java | 87 +
src/org/apache/xalan/templates/XMLNSDecl.java | 87 +
src/org/apache/xalan/templates/XSLTVisitable.java | 40 +
src/org/apache/xalan/templates/XSLTVisitor.java | 126 +
.../xalan/templates/XUnresolvedVariable.java | 187 +
.../xalan/templates/XUnresolvedVariableSimple.java | 84 +
src/org/apache/xalan/templates/package.html | 44 +
src/org/apache/xalan/trace/EndSelectionEvent.java | 56 +
src/org/apache/xalan/trace/ExtensionEvent.java | 70 +
src/org/apache/xalan/trace/GenerateEvent.java | 166 +
src/org/apache/xalan/trace/PrintTraceListener.java | 400 ++
src/org/apache/xalan/trace/SelectionEvent.java | 90 +
src/org/apache/xalan/trace/TraceListener.java | 58 +
src/org/apache/xalan/trace/TraceListenerEx.java | 40 +
src/org/apache/xalan/trace/TraceListenerEx2.java | 36 +
src/org/apache/xalan/trace/TraceListenerEx3.java | 47 +
src/org/apache/xalan/trace/TraceManager.java | 427 ++
src/org/apache/xalan/trace/TracerEvent.java | 167 +
src/org/apache/xalan/trace/package.html | 26 +
.../xalan/transformer/ClonerToResultTree.java | 212 +
src/org/apache/xalan/transformer/Counter.java | 157 +
.../apache/xalan/transformer/CountersTable.java | 208 +
.../apache/xalan/transformer/DecimalToRoman.java | 62 +
src/org/apache/xalan/transformer/KeyIterator.java | 153 +
src/org/apache/xalan/transformer/KeyManager.java | 115 +
.../apache/xalan/transformer/KeyRefIterator.java | 170 +
src/org/apache/xalan/transformer/KeyTable.java | 260 +
src/org/apache/xalan/transformer/MsgMgr.java | 315 +
src/org/apache/xalan/transformer/NodeSortKey.java | 129 +
src/org/apache/xalan/transformer/NodeSorter.java | 557 ++
.../xalan/transformer/NumeratorFormatter.java | 341 +
src/org/apache/xalan/transformer/QueuedEvents.java | 168 +
.../apache/xalan/transformer/ResultNameSpace.java | 53 +
.../xalan/transformer/SerializerSwitcher.java | 205 +
src/org/apache/xalan/transformer/StackGuard.java | 178 +
src/org/apache/xalan/transformer/TrAXFilter.java | 235 +
.../xalan/transformer/TransformSnapshot.java | 33 +
.../xalan/transformer/TransformSnapshotImpl.java | 249 +
.../apache/xalan/transformer/TransformState.java | 128 +
.../xalan/transformer/TransformerClient.java | 43 +
.../xalan/transformer/TransformerHandlerImpl.java | 1080 ++++
.../xalan/transformer/TransformerIdentityImpl.java | 1528 +++++
.../apache/xalan/transformer/TransformerImpl.java | 3687 +++++++++++
.../xalan/transformer/TreeWalker2Result.java | 155 +
.../transformer/XSLInfiniteLoopException.java | 49 +
.../apache/xalan/transformer/XalanProperties.java | 35 +
.../xalan/transformer/XalanTransformState.java | 148 +
src/org/apache/xalan/transformer/package.html | 39 +
src/org/apache/xalan/xslt/EnvironmentCheck.java | 1296 ++++
src/org/apache/xalan/xslt/ObjectFactory.java | 656 ++
src/org/apache/xalan/xslt/Process.java | 1194 ++++
src/org/apache/xalan/xslt/SecuritySupport.java | 144 +
src/org/apache/xalan/xslt/package.html | 26 +
.../xslt/util/XslTransformErrorLocatorHelper.java | 27 +
src/org/apache/xalan/xsltc/CollatorFactory.java | 35 +
src/org/apache/xalan/xsltc/DOM.java | 105 +
src/org/apache/xalan/xsltc/DOMCache.java | 56 +
src/org/apache/xalan/xsltc/DOMEnhancedForDTM.java | 45 +
src/org/apache/xalan/xsltc/NodeIterator.java | 84 +
src/org/apache/xalan/xsltc/ProcessorVersion.java | 49 +
src/org/apache/xalan/xsltc/StripFilter.java | 31 +
src/org/apache/xalan/xsltc/Translet.java | 52 +
src/org/apache/xalan/xsltc/TransletException.java | 45 +
src/org/apache/xalan/xsltc/cmdline/Compile.java | 153 +
.../apache/xalan/xsltc/cmdline/ObjectFactory.java | 656 ++
.../xalan/xsltc/cmdline/SecuritySupport.java | 144 +
src/org/apache/xalan/xsltc/cmdline/Transform.java | 295 +
.../apache/xalan/xsltc/cmdline/getopt/GetOpt.java | 254 +
.../xsltc/cmdline/getopt/GetOptsException.java | 32 +
.../cmdline/getopt/IllegalArgumentException.java | 30 +
.../cmdline/getopt/MissingOptArgException.java | 33 +
.../xalan/xsltc/compiler/AbsoluteLocationPath.java | 128 +
.../xalan/xsltc/compiler/AbsolutePathPattern.java | 140 +
.../xalan/xsltc/compiler/AlternativePattern.java | 100 +
.../xalan/xsltc/compiler/AncestorPattern.java | 182 +
.../apache/xalan/xsltc/compiler/ApplyImports.java | 152 +
.../xalan/xsltc/compiler/ApplyTemplates.java | 202 +
.../apache/xalan/xsltc/compiler/ArgumentList.java | 42 +
src/org/apache/xalan/xsltc/compiler/Attribute.java | 45 +
.../apache/xalan/xsltc/compiler/AttributeSet.java | 206 +
.../xalan/xsltc/compiler/AttributeValue.java | 48 +
.../xsltc/compiler/AttributeValueTemplate.java | 261 +
src/org/apache/xalan/xsltc/compiler/BinOpExpr.java | 130 +
.../apache/xalan/xsltc/compiler/BooleanCall.java | 57 +
.../apache/xalan/xsltc/compiler/BooleanExpr.java | 79 +
.../apache/xalan/xsltc/compiler/CallTemplate.java | 238 +
src/org/apache/xalan/xsltc/compiler/CastCall.java | 100 +
src/org/apache/xalan/xsltc/compiler/CastExpr.java | 237 +
.../apache/xalan/xsltc/compiler/CeilingCall.java | 48 +
src/org/apache/xalan/xsltc/compiler/Choose.java | 168 +
src/org/apache/xalan/xsltc/compiler/Closure.java | 50 +
src/org/apache/xalan/xsltc/compiler/Comment.java | 116 +
.../xalan/xsltc/compiler/CompilerException.java | 54 +
.../apache/xalan/xsltc/compiler/ConcatCall.java | 95 +
src/org/apache/xalan/xsltc/compiler/Constants.java | 537 ++
.../apache/xalan/xsltc/compiler/ContainsCall.java | 107 +
src/org/apache/xalan/xsltc/compiler/Copy.java | 151 +
src/org/apache/xalan/xsltc/compiler/CopyOf.java | 141 +
.../apache/xalan/xsltc/compiler/CurrentCall.java | 39 +
.../xalan/xsltc/compiler/DecimalFormatting.java | 256 +
.../apache/xalan/xsltc/compiler/DocumentCall.java | 155 +
.../xalan/xsltc/compiler/ElementAvailableCall.java | 93 +
.../apache/xalan/xsltc/compiler/EqualityExpr.java | 359 ++
.../apache/xalan/xsltc/compiler/Expression.java | 222 +
src/org/apache/xalan/xsltc/compiler/Fallback.java | 79 +
.../apache/xalan/xsltc/compiler/FilterExpr.java | 246 +
.../xalan/xsltc/compiler/FilterParentPath.java | 174 +
.../compiler/FilteredAbsoluteLocationPath.java | 125 +
src/org/apache/xalan/xsltc/compiler/FloorCall.java | 46 +
src/org/apache/xalan/xsltc/compiler/FlowList.java | 117 +
src/org/apache/xalan/xsltc/compiler/ForEach.java | 196 +
.../xalan/xsltc/compiler/FormatNumberCall.java | 114 +
.../xsltc/compiler/FunctionAvailableCall.java | 193 +
.../apache/xalan/xsltc/compiler/FunctionCall.java | 1093 ++++
.../xalan/xsltc/compiler/GenerateIdCall.java | 55 +
.../apache/xalan/xsltc/compiler/IdKeyPattern.java | 127 +
src/org/apache/xalan/xsltc/compiler/IdPattern.java | 35 +
src/org/apache/xalan/xsltc/compiler/If.java | 110 +
.../xalan/xsltc/compiler/IllegalCharException.java | 33 +
src/org/apache/xalan/xsltc/compiler/Import.java | 148 +
src/org/apache/xalan/xsltc/compiler/Include.java | 147 +
.../apache/xalan/xsltc/compiler/Instruction.java | 50 +
src/org/apache/xalan/xsltc/compiler/IntExpr.java | 56 +
src/org/apache/xalan/xsltc/compiler/Key.java | 299 +
src/org/apache/xalan/xsltc/compiler/KeyCall.java | 224 +
.../apache/xalan/xsltc/compiler/KeyPattern.java | 34 +
src/org/apache/xalan/xsltc/compiler/LangCall.java | 91 +
src/org/apache/xalan/xsltc/compiler/LastCall.java | 69 +
.../xalan/xsltc/compiler/LiteralAttribute.java | 157 +
.../xalan/xsltc/compiler/LiteralElement.java | 547 ++
.../apache/xalan/xsltc/compiler/LiteralExpr.java | 85 +
.../apache/xalan/xsltc/compiler/LocalNameCall.java | 74 +
.../xalan/xsltc/compiler/LocationPathPattern.java | 107 +
.../apache/xalan/xsltc/compiler/LogicalExpr.java | 233 +
src/org/apache/xalan/xsltc/compiler/Makefile.inc | 58 +
src/org/apache/xalan/xsltc/compiler/Message.java | 167 +
src/org/apache/xalan/xsltc/compiler/Mode.java | 1513 +++++
src/org/apache/xalan/xsltc/compiler/NameBase.java | 128 +
src/org/apache/xalan/xsltc/compiler/NameCall.java | 66 +
.../xalan/xsltc/compiler/NamespaceAlias.java | 55 +
.../xalan/xsltc/compiler/NamespaceUriCall.java | 67 +
src/org/apache/xalan/xsltc/compiler/NodeTest.java | 43 +
src/org/apache/xalan/xsltc/compiler/NotCall.java | 58 +
src/org/apache/xalan/xsltc/compiler/Number.java | 592 ++
.../apache/xalan/xsltc/compiler/NumberCall.java | 68 +
.../apache/xalan/xsltc/compiler/ObjectFactory.java | 656 ++
src/org/apache/xalan/xsltc/compiler/Otherwise.java | 53 +
src/org/apache/xalan/xsltc/compiler/Output.java | 419 ++
src/org/apache/xalan/xsltc/compiler/Param.java | 254 +
.../apache/xalan/xsltc/compiler/ParameterRef.java | 109 +
.../xalan/xsltc/compiler/ParentLocationPath.java | 244 +
.../apache/xalan/xsltc/compiler/ParentPattern.java | 150 +
src/org/apache/xalan/xsltc/compiler/Parser.java | 1401 ++++
src/org/apache/xalan/xsltc/compiler/Pattern.java | 60 +
.../apache/xalan/xsltc/compiler/PositionCall.java | 67 +
src/org/apache/xalan/xsltc/compiler/Predicate.java | 617 ++
.../xsltc/compiler/ProcessingInstruction.java | 140 +
.../compiler/ProcessingInstructionPattern.java | 158 +
src/org/apache/xalan/xsltc/compiler/QName.java | 85 +
src/org/apache/xalan/xsltc/compiler/RealExpr.java | 56 +
.../xalan/xsltc/compiler/RelationalExpr.java | 281 +
.../xalan/xsltc/compiler/RelativeLocationPath.java | 31 +
.../xalan/xsltc/compiler/RelativePathPattern.java | 28 +
src/org/apache/xalan/xsltc/compiler/RoundCall.java | 51 +
.../xalan/xsltc/compiler/SecuritySupport.java | 144 +
.../xalan/xsltc/compiler/SimpleAttributeValue.java | 75 +
src/org/apache/xalan/xsltc/compiler/Sort.java | 738 +++
.../apache/xalan/xsltc/compiler/SourceLoader.java | 42 +
.../xalan/xsltc/compiler/StartsWithCall.java | 91 +
src/org/apache/xalan/xsltc/compiler/Step.java | 521 ++
.../apache/xalan/xsltc/compiler/StepPattern.java | 532 ++
.../apache/xalan/xsltc/compiler/StringCall.java | 74 +
.../xalan/xsltc/compiler/StringLengthCall.java | 55 +
.../apache/xalan/xsltc/compiler/Stylesheet.java | 1561 +++++
.../apache/xalan/xsltc/compiler/SymbolTable.java | 295 +
.../xalan/xsltc/compiler/SyntaxTreeNode.java | 942 +++
src/org/apache/xalan/xsltc/compiler/Template.java | 340 +
src/org/apache/xalan/xsltc/compiler/TestSeq.java | 287 +
src/org/apache/xalan/xsltc/compiler/Text.java | 245 +
.../xalan/xsltc/compiler/TopLevelElement.java | 98 +
.../xalan/xsltc/compiler/TransletOutput.java | 147 +
.../apache/xalan/xsltc/compiler/UnaryOpExpr.java | 89 +
.../apache/xalan/xsltc/compiler/UnionPathExpr.java | 146 +
.../xsltc/compiler/UnparsedEntityUriCall.java | 70 +
.../apache/xalan/xsltc/compiler/UnresolvedRef.java | 102 +
.../xalan/xsltc/compiler/UnsupportedElement.java | 150 +
.../xalan/xsltc/compiler/UseAttributeSets.java | 115 +
src/org/apache/xalan/xsltc/compiler/ValueOf.java | 138 +
src/org/apache/xalan/xsltc/compiler/Variable.java | 200 +
.../apache/xalan/xsltc/compiler/VariableBase.java | 272 +
.../apache/xalan/xsltc/compiler/VariableRef.java | 95 +
.../xalan/xsltc/compiler/VariableRefBase.java | 158 +
src/org/apache/xalan/xsltc/compiler/When.java | 105 +
.../apache/xalan/xsltc/compiler/Whitespace.java | 531 ++
src/org/apache/xalan/xsltc/compiler/WithParam.java | 209 +
src/org/apache/xalan/xsltc/compiler/XSLTC.java | 1006 +++
.../apache/xalan/xsltc/compiler/XslAttribute.java | 293 +
.../apache/xalan/xsltc/compiler/XslElement.java | 323 +
.../compiler/util/AttributeSetMethodGenerator.java | 99 +
.../xalan/xsltc/compiler/util/BooleanType.java | 223 +
.../xalan/xsltc/compiler/util/ClassGenerator.java | 142 +
.../xsltc/compiler/util/CompareGenerator.java | 118 +
.../xalan/xsltc/compiler/util/ErrorMessages.java | 1004 +++
.../xsltc/compiler/util/ErrorMessages_ca.java | 912 +++
.../xsltc/compiler/util/ErrorMessages_cs.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_de.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_es.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_fr.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_hu.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_it.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_ja.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_ko.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_no.java | 222 +
.../xsltc/compiler/util/ErrorMessages_pl.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_pt_BR.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_ru.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_sk.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_sl.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_tr.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_zh.java | 913 +++
.../xsltc/compiler/util/ErrorMessages_zh_TW.java | 913 +++
.../apache/xalan/xsltc/compiler/util/ErrorMsg.java | 317 +
.../xalan/xsltc/compiler/util/FilterGenerator.java | 64 +
.../apache/xalan/xsltc/compiler/util/IntType.java | 300 +
.../xalan/xsltc/compiler/util/InternalError.java | 36 +
.../xsltc/compiler/util/MarkerInstruction.java | 97 +
.../xalan/xsltc/compiler/util/MatchGenerator.java | 102 +
.../xalan/xsltc/compiler/util/MethodGenerator.java | 2147 +++++++
.../xalan/xsltc/compiler/util/MethodType.java | 171 +
.../xalan/xsltc/compiler/util/MultiHashtable.java | 55 +
.../xsltc/compiler/util/NamedMethodGenerator.java | 65 +
.../xsltc/compiler/util/NodeCounterGenerator.java | 73 +
.../xalan/xsltc/compiler/util/NodeSetType.java | 329 +
.../compiler/util/NodeSortRecordFactGenerator.java | 47 +
.../compiler/util/NodeSortRecordGenerator.java | 63 +
.../apache/xalan/xsltc/compiler/util/NodeType.java | 323 +
.../xalan/xsltc/compiler/util/NumberType.java | 38 +
.../xalan/xsltc/compiler/util/ObjectFactory.java | 656 ++
.../xalan/xsltc/compiler/util/ObjectType.java | 177 +
.../xsltc/compiler/util/OutlineableChunkEnd.java | 70 +
.../xsltc/compiler/util/OutlineableChunkStart.java | 79 +
.../apache/xalan/xsltc/compiler/util/RealType.java | 342 +
.../xalan/xsltc/compiler/util/ReferenceType.java | 378 ++
.../xalan/xsltc/compiler/util/ResultTreeType.java | 463 ++
.../xsltc/compiler/util/RtMethodGenerator.java | 68 +
.../xalan/xsltc/compiler/util/SecuritySupport.java | 144 +
.../xalan/xsltc/compiler/util/SlotAllocator.java | 100 +
.../xalan/xsltc/compiler/util/StringStack.java | 43 +
.../xalan/xsltc/compiler/util/StringType.java | 226 +
.../xalan/xsltc/compiler/util/TestGenerator.java | 115 +
src/org/apache/xalan/xsltc/compiler/util/Type.java | 291 +
.../xalan/xsltc/compiler/util/TypeCheckError.java | 77 +
src/org/apache/xalan/xsltc/compiler/util/Util.java | 202 +
.../apache/xalan/xsltc/compiler/util/VoidType.java | 98 +
src/org/apache/xalan/xsltc/compiler/xpath.cup | 1113 ++++
src/org/apache/xalan/xsltc/compiler/xpath.lex | 257 +
.../apache/xalan/xsltc/dom/AbsoluteIterator.java | 99 +
.../xalan/xsltc/dom/AdaptiveResultTreeImpl.java | 1320 ++++
src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java | 122 +
.../xalan/xsltc/dom/ArrayNodeListIterator.java | 89 +
src/org/apache/xalan/xsltc/dom/BitArray.java | 266 +
.../xalan/xsltc/dom/CachedNodeListIterator.java | 113 +
.../xalan/xsltc/dom/ClonedNodeListIterator.java | 81 +
.../xalan/xsltc/dom/CollatorFactoryBase.java | 50 +
.../xalan/xsltc/dom/CurrentNodeListFilter.java | 35 +
.../xalan/xsltc/dom/CurrentNodeListIterator.java | 199 +
src/org/apache/xalan/xsltc/dom/DOMAdapter.java | 466 ++
src/org/apache/xalan/xsltc/dom/DOMBuilder.java | 27 +
src/org/apache/xalan/xsltc/dom/DOMWSFilter.java | 130 +
src/org/apache/xalan/xsltc/dom/DocumentCache.java | 339 +
.../apache/xalan/xsltc/dom/DupFilterIterator.java | 165 +
src/org/apache/xalan/xsltc/dom/EmptyFilter.java | 32 +
src/org/apache/xalan/xsltc/dom/ExtendedSAX.java | 34 +
src/org/apache/xalan/xsltc/dom/Filter.java | 30 +
src/org/apache/xalan/xsltc/dom/FilterIterator.java | 118 +
.../xalan/xsltc/dom/FilteredStepIterator.java | 54 +
.../xalan/xsltc/dom/ForwardPositionIterator.java | 107 +
src/org/apache/xalan/xsltc/dom/KeyIndex.java | 892 +++
src/org/apache/xalan/xsltc/dom/LoadDocument.java | 289 +
.../apache/xalan/xsltc/dom/MatchingIterator.java | 127 +
src/org/apache/xalan/xsltc/dom/MultiDOM.java | 665 ++
.../xsltc/dom/MultiValuedNodeHeapIterator.java | 294 +
.../xalan/xsltc/dom/MultipleNodeCounter.java | 111 +
src/org/apache/xalan/xsltc/dom/NodeCounter.java | 350 +
.../apache/xalan/xsltc/dom/NodeIteratorBase.java | 170 +
src/org/apache/xalan/xsltc/dom/NodeSortRecord.java | 243 +
.../xalan/xsltc/dom/NodeSortRecordFactory.java | 164 +
src/org/apache/xalan/xsltc/dom/NthIterator.java | 115 +
src/org/apache/xalan/xsltc/dom/ObjectFactory.java | 656 ++
src/org/apache/xalan/xsltc/dom/SAXImpl.java | 1903 ++++++
.../apache/xalan/xsltc/dom/SecuritySupport.java | 144 +
.../xalan/xsltc/dom/SimpleResultTreeImpl.java | 1018 +++
.../apache/xalan/xsltc/dom/SingleNodeCounter.java | 133 +
.../apache/xalan/xsltc/dom/SingletonIterator.java | 92 +
src/org/apache/xalan/xsltc/dom/SortSettings.java | 138 +
.../apache/xalan/xsltc/dom/SortingIterator.java | 149 +
src/org/apache/xalan/xsltc/dom/StepIterator.java | 138 +
.../xalan/xsltc/dom/StripWhitespaceFilter.java | 32 +
src/org/apache/xalan/xsltc/dom/UnionIterator.java | 98 +
.../apache/xalan/xsltc/dom/XSLTCDTMManager.java | 416 ++
.../xsltc/javax.xml.transform.TransformerFactory | 1 +
.../xalan/xsltc/runtime/AbstractTranslet.java | 754 +++
.../apache/xalan/xsltc/runtime/AttributeList.java | 228 +
src/org/apache/xalan/xsltc/runtime/Attributes.java | 63 +
.../apache/xalan/xsltc/runtime/BasisLibrary.java | 1731 +++++
src/org/apache/xalan/xsltc/runtime/Constants.java | 51 +
.../apache/xalan/xsltc/runtime/ErrorMessages.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_ca.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_cs.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_de.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_es.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_fr.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_hu.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_it.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_ja.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_ko.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_no.java | 85 +
.../xalan/xsltc/runtime/ErrorMessages_pl.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_pt_BR.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_ru.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_sk.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_sl.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_tr.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_zh.java | 285 +
.../xalan/xsltc/runtime/ErrorMessages_zh_TW.java | 285 +
src/org/apache/xalan/xsltc/runtime/Hashtable.java | 343 +
.../xalan/xsltc/runtime/InternalRuntimeError.java | 34 +
.../apache/xalan/xsltc/runtime/MessageHandler.java | 31 +
src/org/apache/xalan/xsltc/runtime/Node.java | 38 +
.../apache/xalan/xsltc/runtime/ObjectFactory.java | 656 ++
src/org/apache/xalan/xsltc/runtime/Operators.java | 58 +
src/org/apache/xalan/xsltc/runtime/Parameter.java | 46 +
.../xalan/xsltc/runtime/SecuritySupport.java | 144 +
.../xalan/xsltc/runtime/StringValueHandler.java | 125 +
.../xalan/xsltc/runtime/output/OutputBuffer.java | 36 +
.../xsltc/runtime/output/StringOutputBuffer.java | 54 +
.../output/TransletOutputHandlerFactory.java | 189 +
.../xsltc/runtime/output/WriterOutputBuffer.java | 96 +
src/org/apache/xalan/xsltc/trax/DOM2SAX.java | 474 ++
src/org/apache/xalan/xsltc/trax/DOM2TO.java | 393 ++
src/org/apache/xalan/xsltc/trax/ObjectFactory.java | 656 ++
.../apache/xalan/xsltc/trax/OutputSettings.java | 47 +
src/org/apache/xalan/xsltc/trax/SAX2DOM.java | 249 +
.../apache/xalan/xsltc/trax/SecuritySupport.java | 144 +
.../xsltc/trax/SmartTransformerFactoryImpl.java | 452 ++
.../xalan/xsltc/trax/TemplatesHandlerImpl.java | 343 +
src/org/apache/xalan/xsltc/trax/TemplatesImpl.java | 410 ++
src/org/apache/xalan/xsltc/trax/TrAXFilter.java | 144 +
.../xalan/xsltc/trax/TransformerFactoryImpl.java | 1413 ++++
.../xalan/xsltc/trax/TransformerHandlerImpl.java | 470 ++
.../apache/xalan/xsltc/trax/TransformerImpl.java | 1277 ++++
src/org/apache/xalan/xsltc/trax/Util.java | 195 +
src/org/apache/xalan/xsltc/trax/XSLTCSource.java | 140 +
src/org/apache/xalan/xsltc/util/IntegerArray.java | 226 +
.../apache/xalan/xsltc/util/JavaCupRedirect.java | 97 +
src/org/apache/xml/dtm/Axis.java | 220 +
src/org/apache/xml/dtm/DTM.java | 967 +++
src/org/apache/xml/dtm/DTMAxisIterator.java | 110 +
src/org/apache/xml/dtm/DTMAxisTraverser.java | 116 +
.../apache/xml/dtm/DTMConfigurationException.java | 99 +
src/org/apache/xml/dtm/DTMDOMException.java | 54 +
src/org/apache/xml/dtm/DTMException.java | 383 ++
src/org/apache/xml/dtm/DTMFilter.java | 188 +
src/org/apache/xml/dtm/DTMIterator.java | 344 +
src/org/apache/xml/dtm/DTMManager.java | 430 ++
src/org/apache/xml/dtm/DTMWSFilter.java | 56 +
src/org/apache/xml/dtm/ObjectFactory.java | 656 ++
src/org/apache/xml/dtm/SecuritySupport.java | 144 +
src/org/apache/xml/dtm/ref/ChunkedIntArray.java | 306 +
src/org/apache/xml/dtm/ref/CoroutineManager.java | 344 +
src/org/apache/xml/dtm/ref/CoroutineParser.java | 140 +
src/org/apache/xml/dtm/ref/CustomStringPool.java | 94 +
.../apache/xml/dtm/ref/DTMAxisIterNodeList.java | 142 +
.../apache/xml/dtm/ref/DTMAxisIteratorBase.java | 281 +
.../apache/xml/dtm/ref/DTMChildIterNodeList.java | 119 +
src/org/apache/xml/dtm/ref/DTMDefaultBase.java | 2371 +++++++
.../xml/dtm/ref/DTMDefaultBaseIterators.java | 2193 +++++++
.../xml/dtm/ref/DTMDefaultBaseTraversers.java | 1745 +++++
src/org/apache/xml/dtm/ref/DTMDocumentImpl.java | 2411 +++++++
src/org/apache/xml/dtm/ref/DTMManagerDefault.java | 859 +++
src/org/apache/xml/dtm/ref/DTMNamedNodeMap.java | 300 +
src/org/apache/xml/dtm/ref/DTMNodeIterator.java | 186 +
src/org/apache/xml/dtm/ref/DTMNodeList.java | 127 +
src/org/apache/xml/dtm/ref/DTMNodeListBase.java | 81 +
src/org/apache/xml/dtm/ref/DTMNodeProxy.java | 2218 +++++++
src/org/apache/xml/dtm/ref/DTMSafeStringPool.java | 110 +
src/org/apache/xml/dtm/ref/DTMStringPool.java | 170 +
src/org/apache/xml/dtm/ref/DTMTreeWalker.java | 404 ++
src/org/apache/xml/dtm/ref/EmptyIterator.java | 62 +
src/org/apache/xml/dtm/ref/ExpandedNameTable.java | 391 ++
src/org/apache/xml/dtm/ref/ExtendedType.java | 145 +
.../apache/xml/dtm/ref/IncrementalSAXSource.java | 89 +
.../xml/dtm/ref/IncrementalSAXSource_Filter.java | 807 +++
.../xml/dtm/ref/IncrementalSAXSource_Xerces.java | 454 ++
src/org/apache/xml/dtm/ref/NodeLocator.java | 110 +
src/org/apache/xml/dtm/ref/ObjectFactory.java | 656 ++
src/org/apache/xml/dtm/ref/SecuritySupport.java | 144 +
src/org/apache/xml/dtm/ref/dom2dtm/DOM2DTM.java | 1766 +++++
.../DOM2DTMdefaultNamespaceDeclarationNode.java | 679 ++
src/org/apache/xml/dtm/ref/sax2dtm/SAX2DTM.java | 2513 ++++++++
src/org/apache/xml/dtm/ref/sax2dtm/SAX2DTM2.java | 3383 ++++++++++
src/org/apache/xml/dtm/ref/sax2dtm/SAX2RTFDTM.java | 362 ++
src/org/apache/xml/res/XMLErrorResources.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_ca.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_cs.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_de.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_en.java | 31 +
src/org/apache/xml/res/XMLErrorResources_es.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_fr.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_hu.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_it.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_ja.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_ko.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_pl.java | 430 ++
.../apache/xml/res/XMLErrorResources_pt_BR.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_ru.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_sk.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_sl.java | 431 ++
src/org/apache/xml/res/XMLErrorResources_sv.java | 626 ++
src/org/apache/xml/res/XMLErrorResources_tr.java | 430 ++
src/org/apache/xml/res/XMLErrorResources_zh.java | 430 ++
.../apache/xml/res/XMLErrorResources_zh_TW.java | 430 ++
src/org/apache/xml/res/XMLMessages.java | 214 +
.../xml/serializer/AttributesImplSerializer.java | 237 +
src/org/apache/xml/serializer/CharInfo.java | 807 +++
src/org/apache/xml/serializer/DOM3Serializer.java | 170 +
src/org/apache/xml/serializer/DOMSerializer.java | 74 +
src/org/apache/xml/serializer/ElemContext.java | 222 +
src/org/apache/xml/serializer/ElemDesc.java | 179 +
src/org/apache/xml/serializer/EmptySerializer.java | 787 +++
src/org/apache/xml/serializer/EncodingInfo.java | 562 ++
src/org/apache/xml/serializer/Encodings.java | 495 ++
src/org/apache/xml/serializer/Encodings.properties | 260 +
.../xml/serializer/ExtendedContentHandler.java | 271 +
.../xml/serializer/ExtendedLexicalHandler.java | 39 +
.../apache/xml/serializer/HTMLEntities.properties | 311 +
src/org/apache/xml/serializer/Method.java | 82 +
.../apache/xml/serializer/NamespaceMappings.java | 500 ++
src/org/apache/xml/serializer/ObjectFactory.java | 655 ++
.../xml/serializer/OutputPropertiesFactory.java | 516 ++
.../apache/xml/serializer/OutputPropertyUtils.java | 83 +
src/org/apache/xml/serializer/SecuritySupport.java | 144 +
.../xml/serializer/SerializationHandler.java | 145 +
src/org/apache/xml/serializer/Serializer.java | 238 +
src/org/apache/xml/serializer/SerializerBase.java | 1699 +++++
.../apache/xml/serializer/SerializerConstants.java | 59 +
.../apache/xml/serializer/SerializerFactory.java | 185 +
src/org/apache/xml/serializer/SerializerTrace.java | 153 +
.../xml/serializer/SerializerTraceWriter.java | 341 +
.../apache/xml/serializer/ToHTMLSAXHandler.java | 748 +++
src/org/apache/xml/serializer/ToHTMLStream.java | 2350 +++++++
src/org/apache/xml/serializer/ToSAXHandler.java | 438 ++
src/org/apache/xml/serializer/ToStream.java | 3600 +++++++++++
.../apache/xml/serializer/ToTextSAXHandler.java | 413 ++
src/org/apache/xml/serializer/ToTextStream.java | 634 ++
src/org/apache/xml/serializer/ToUnknownStream.java | 1316 ++++
src/org/apache/xml/serializer/ToXMLSAXHandler.java | 774 +++
src/org/apache/xml/serializer/ToXMLStream.java | 646 ++
.../xml/serializer/TransformStateSetter.java | 56 +
src/org/apache/xml/serializer/TreeWalker.java | 527 ++
src/org/apache/xml/serializer/Version.src | 150 +
src/org/apache/xml/serializer/WriterChain.java | 82 +
src/org/apache/xml/serializer/WriterToASCI.java | 155 +
.../xml/serializer/WriterToUTF8Buffered.java | 502 ++
.../apache/xml/serializer/XMLEntities.properties | 30 +
.../apache/xml/serializer/XSLOutputAttributes.java | 236 +
.../xml/serializer/dom3/DOM3SerializerImpl.java | 158 +
.../apache/xml/serializer/dom3/DOM3TreeWalker.java | 2149 +++++++
.../apache/xml/serializer/dom3/DOMConstants.java | 134 +
.../xml/serializer/dom3/DOMErrorHandlerImpl.java | 67 +
.../apache/xml/serializer/dom3/DOMErrorImpl.java | 176 +
.../apache/xml/serializer/dom3/DOMLocatorImpl.java | 180 +
.../apache/xml/serializer/dom3/DOMOutputImpl.java | 177 +
.../xml/serializer/dom3/DOMStringListImpl.java | 99 +
.../xml/serializer/dom3/LSSerializerImpl.java | 1537 +++++
.../xml/serializer/dom3/NamespaceSupport.java | 315 +
.../apache/xml/serializer/output_html.properties | 44 +
.../apache/xml/serializer/output_text.properties | 37 +
.../xml/serializer/output_unknown.properties | 46 +
.../apache/xml/serializer/output_xml.properties | 46 +
src/org/apache/xml/serializer/package.html | 43 +
src/org/apache/xml/serializer/utils/AttList.java | 264 +
src/org/apache/xml/serializer/utils/BoolStack.java | 204 +
.../apache/xml/serializer/utils/DOM2Helper.java | 122 +
src/org/apache/xml/serializer/utils/Messages.java | 366 ++
src/org/apache/xml/serializer/utils/MsgKey.java | 131 +
.../xml/serializer/utils/SerializerMessages.java | 296 +
.../serializer/utils/SerializerMessages_ca.java | 293 +
.../serializer/utils/SerializerMessages_cs.java | 293 +
.../serializer/utils/SerializerMessages_de.java | 293 +
.../serializer/utils/SerializerMessages_en.java | 30 +
.../serializer/utils/SerializerMessages_es.java | 293 +
.../serializer/utils/SerializerMessages_fr.java | 293 +
.../serializer/utils/SerializerMessages_hu.java | 293 +
.../serializer/utils/SerializerMessages_it.java | 293 +
.../serializer/utils/SerializerMessages_ja.java | 293 +
.../serializer/utils/SerializerMessages_ko.java | 293 +
.../serializer/utils/SerializerMessages_pl.java | 293 +
.../serializer/utils/SerializerMessages_pt_BR.java | 293 +
.../serializer/utils/SerializerMessages_ru.java | 293 +
.../serializer/utils/SerializerMessages_sk.java | 293 +
.../serializer/utils/SerializerMessages_sl.java | 293 +
.../serializer/utils/SerializerMessages_sv.java | 98 +
.../serializer/utils/SerializerMessages_tr.java | 293 +
.../serializer/utils/SerializerMessages_zh.java | 291 +
.../serializer/utils/SerializerMessages_zh_CN.java | 28 +
.../serializer/utils/SerializerMessages_zh_TW.java | 293 +
.../xml/serializer/utils/StringToIntTable.java | 203 +
.../xml/serializer/utils/SystemIDResolver.java | 302 +
src/org/apache/xml/serializer/utils/URI.java | 1653 +++++
src/org/apache/xml/serializer/utils/Utils.java | 40 +
.../serializer/utils/WrappedRuntimeException.java | 81 +
src/org/apache/xml/serializer/utils/XML11Char.java | 414 ++
src/org/apache/xml/serializer/utils/XMLChar.java | 1026 +++
src/org/apache/xml/utils/AttList.java | 255 +
src/org/apache/xml/utils/BoolStack.java | 202 +
src/org/apache/xml/utils/Constants.java | 112 +
src/org/apache/xml/utils/DOM2Helper.java | 314 +
src/org/apache/xml/utils/DOMBuilder.java | 795 +++
src/org/apache/xml/utils/DOMHelper.java | 1334 ++++
src/org/apache/xml/utils/DOMOrder.java | 41 +
src/org/apache/xml/utils/DefaultErrorHandler.java | 369 ++
src/org/apache/xml/utils/ElemDesc.java | 189 +
src/org/apache/xml/utils/FastStringBuffer.java | 1293 ++++
src/org/apache/xml/utils/Hashtree2Node.java | 141 +
src/org/apache/xml/utils/IntStack.java | 211 +
src/org/apache/xml/utils/IntVector.java | 419 ++
src/org/apache/xml/utils/ListingErrorHandler.java | 566 ++
src/org/apache/xml/utils/LocaleUtility.java | 88 +
src/org/apache/xml/utils/MutableAttrListImpl.java | 139 +
src/org/apache/xml/utils/NSInfo.java | 110 +
src/org/apache/xml/utils/NameSpace.java | 59 +
src/org/apache/xml/utils/NamespaceSupport2.java | 749 +++
src/org/apache/xml/utils/NodeConsumer.java | 40 +
src/org/apache/xml/utils/NodeVector.java | 740 +++
src/org/apache/xml/utils/ObjectFactory.java | 656 ++
src/org/apache/xml/utils/ObjectPool.java | 174 +
src/org/apache/xml/utils/ObjectStack.java | 215 +
src/org/apache/xml/utils/ObjectVector.java | 431 ++
src/org/apache/xml/utils/PrefixResolver.java | 72 +
.../apache/xml/utils/PrefixResolverDefault.java | 145 +
src/org/apache/xml/utils/QName.java | 709 ++
src/org/apache/xml/utils/RawCharacterHandler.java | 42 +
src/org/apache/xml/utils/SAXSourceLocator.java | 170 +
src/org/apache/xml/utils/SecuritySupport.java | 144 +
.../apache/xml/utils/SerializableLocatorImpl.java | 226 +
src/org/apache/xml/utils/StopParseException.java | 40 +
src/org/apache/xml/utils/StringBufferPool.java | 60 +
src/org/apache/xml/utils/StringComparable.java | 215 +
src/org/apache/xml/utils/StringToIntTable.java | 196 +
src/org/apache/xml/utils/StringToStringTable.java | 242 +
.../xml/utils/StringToStringTableVector.java | 199 +
src/org/apache/xml/utils/StringVector.java | 223 +
src/org/apache/xml/utils/StylesheetPIHandler.java | 340 +
.../apache/xml/utils/SuballocatedByteVector.java | 498 ++
.../apache/xml/utils/SuballocatedIntVector.java | 557 ++
src/org/apache/xml/utils/SystemIDResolver.java | 295 +
.../apache/xml/utils/ThreadControllerWrapper.java | 96 +
src/org/apache/xml/utils/TreeWalker.java | 508 ++
src/org/apache/xml/utils/URI.java | 1673 +++++
src/org/apache/xml/utils/UnImplNode.java | 1977 ++++++
.../apache/xml/utils/WrappedRuntimeException.java | 74 +
src/org/apache/xml/utils/WrongParserException.java | 40 +
src/org/apache/xml/utils/XML11Char.java | 432 ++
src/org/apache/xml/utils/XMLChar.java | 668 ++
.../apache/xml/utils/XMLCharacterRecognizer.java | 133 +
src/org/apache/xml/utils/XMLReaderManager.java | 161 +
src/org/apache/xml/utils/XMLString.java | 689 ++
src/org/apache/xml/utils/XMLStringDefault.java | 818 +++
src/org/apache/xml/utils/XMLStringFactory.java | 71 +
.../apache/xml/utils/XMLStringFactoryDefault.java | 84 +
src/org/apache/xml/utils/package.html | 27 +
src/org/apache/xml/utils/res/CharArrayWrapper.java | 42 +
src/org/apache/xml/utils/res/IntArrayWrapper.java | 42 +
src/org/apache/xml/utils/res/LongArrayWrapper.java | 42 +
.../apache/xml/utils/res/StringArrayWrapper.java | 43 +
src/org/apache/xml/utils/res/XResourceBundle.java | 140 +
.../apache/xml/utils/res/XResourceBundleBase.java | 50 +
src/org/apache/xml/utils/res/XResources_cy.java | 84 +
src/org/apache/xml/utils/res/XResources_de.java | 73 +
src/org/apache/xml/utils/res/XResources_el.java | 90 +
src/org/apache/xml/utils/res/XResources_en.java | 73 +
src/org/apache/xml/utils/res/XResources_es.java | 73 +
src/org/apache/xml/utils/res/XResources_fr.java | 73 +
src/org/apache/xml/utils/res/XResources_he.java | 79 +
src/org/apache/xml/utils/res/XResources_hy.java | 86 +
src/org/apache/xml/utils/res/XResources_it.java | 73 +
.../apache/xml/utils/res/XResources_ja_JP_A.java | 86 +
.../apache/xml/utils/res/XResources_ja_JP_HA.java | 86 +
.../apache/xml/utils/res/XResources_ja_JP_HI.java | 87 +
.../apache/xml/utils/res/XResources_ja_JP_I.java | 86 +
src/org/apache/xml/utils/res/XResources_ka.java | 84 +
src/org/apache/xml/utils/res/XResources_ko.java | 80 +
src/org/apache/xml/utils/res/XResources_sv.java | 73 +
src/org/apache/xml/utils/res/XResources_zh_CN.java | 80 +
src/org/apache/xml/utils/res/XResources_zh_TW.java | 80 +
src/org/apache/xpath/Arg.java | 258 +
src/org/apache/xpath/CachedXPathAPI.java | 340 +
src/org/apache/xpath/Expression.java | 589 ++
src/org/apache/xpath/ExpressionNode.java | 52 +
src/org/apache/xpath/ExpressionOwner.java | 45 +
src/org/apache/xpath/ExtensionsProvider.java | 60 +
src/org/apache/xpath/FoundIndex.java | 37 +
src/org/apache/xpath/NodeSet.java | 1370 ++++
src/org/apache/xpath/NodeSetDTM.java | 1247 ++++
src/org/apache/xpath/SourceTree.java | 52 +
src/org/apache/xpath/SourceTreeManager.java | 390 ++
src/org/apache/xpath/VariableStack.java | 547 ++
.../xpath/WhitespaceStrippingElementMatcher.java | 54 +
src/org/apache/xpath/XPath.java | 643 ++
src/org/apache/xpath/XPathAPI.java | 288 +
src/org/apache/xpath/XPathContext.java | 1352 ++++
src/org/apache/xpath/XPathException.java | 328 +
src/org/apache/xpath/XPathFactory.java | 50 +
src/org/apache/xpath/XPathProcessorException.java | 54 +
src/org/apache/xpath/XPathVisitable.java | 42 +
src/org/apache/xpath/XPathVisitor.java | 203 +
src/org/apache/xpath/axes/AttributeIterator.java | 75 +
src/org/apache/xpath/axes/AxesWalker.java | 590 ++
src/org/apache/xpath/axes/BasicTestIterator.java | 226 +
src/org/apache/xpath/axes/ChildIterator.java | 121 +
src/org/apache/xpath/axes/ChildTestIterator.java | 178 +
src/org/apache/xpath/axes/ContextNodeList.java | 136 +
src/org/apache/xpath/axes/DescendantIterator.java | 380 ++
src/org/apache/xpath/axes/FilterExprIterator.java | 214 +
.../xpath/axes/FilterExprIteratorSimple.java | 315 +
src/org/apache/xpath/axes/FilterExprWalker.java | 349 +
.../xpath/axes/HasPositionalPredChecker.java | 124 +
src/org/apache/xpath/axes/IteratorPool.java | 119 +
src/org/apache/xpath/axes/LocPathIterator.java | 1033 +++
.../apache/xpath/axes/MatchPatternIterator.java | 331 +
src/org/apache/xpath/axes/NodeSequence.java | 953 +++
src/org/apache/xpath/axes/OneStepIterator.java | 345 +
.../apache/xpath/axes/OneStepIteratorForward.java | 172 +
src/org/apache/xpath/axes/PathComponent.java | 36 +
src/org/apache/xpath/axes/PredicatedNodeTest.java | 647 ++
src/org/apache/xpath/axes/RTFIterator.java | 43 +
src/org/apache/xpath/axes/ReverseAxesWalker.java | 247 +
.../apache/xpath/axes/SelfIteratorNoPredicate.java | 127 +
src/org/apache/xpath/axes/SubContextList.java | 52 +
src/org/apache/xpath/axes/UnionChildIterator.java | 150 +
src/org/apache/xpath/axes/UnionPathIterator.java | 584 ++
src/org/apache/xpath/axes/WalkerFactory.java | 1825 ++++++
src/org/apache/xpath/axes/WalkingIterator.java | 363 ++
.../apache/xpath/axes/WalkingIteratorSorted.java | 214 +
src/org/apache/xpath/axes/package.html | 27 +
src/org/apache/xpath/compiler/Compiler.java | 1268 ++++
src/org/apache/xpath/compiler/FunctionTable.java | 407 ++
src/org/apache/xpath/compiler/Keywords.java | 286 +
src/org/apache/xpath/compiler/Lexer.java | 669 ++
src/org/apache/xpath/compiler/OpCodes.java | 632 ++
src/org/apache/xpath/compiler/OpMap.java | 455 ++
src/org/apache/xpath/compiler/OpMapVector.java | 116 +
src/org/apache/xpath/compiler/PsuedoNames.java | 59 +
src/org/apache/xpath/compiler/XPathDumper.java | 31 +
src/org/apache/xpath/compiler/XPathParser.java | 2401 +++++++
src/org/apache/xpath/compiler/package.html | 26 +
.../apache/xpath/domapi/XPathEvaluatorImpl.java | 271 +
.../apache/xpath/domapi/XPathExpressionImpl.java | 186 +
.../apache/xpath/domapi/XPathNSResolverImpl.java | 61 +
.../apache/xpath/domapi/XPathNamespaceImpl.java | 322 +
src/org/apache/xpath/domapi/XPathResultImpl.java | 510 ++
.../xpath/domapi/XPathStylesheetDOM3Exception.java | 34 +
src/org/apache/xpath/domapi/package.html | 26 +
src/org/apache/xpath/functions/FuncBoolean.java | 48 +
src/org/apache/xpath/functions/FuncCeiling.java | 47 +
src/org/apache/xpath/functions/FuncConcat.java | 90 +
src/org/apache/xpath/functions/FuncContains.java | 57 +
src/org/apache/xpath/functions/FuncCount.java | 64 +
src/org/apache/xpath/functions/FuncCurrent.java | 82 +
.../apache/xpath/functions/FuncDoclocation.java | 71 +
.../xpath/functions/FuncExtElementAvailable.java | 95 +
.../apache/xpath/functions/FuncExtFunction.java | 340 +
.../xpath/functions/FuncExtFunctionAvailable.java | 104 +
src/org/apache/xpath/functions/FuncFalse.java | 56 +
src/org/apache/xpath/functions/FuncFloor.java | 47 +
src/org/apache/xpath/functions/FuncGenerateId.java | 62 +
src/org/apache/xpath/functions/FuncId.java | 151 +
src/org/apache/xpath/functions/FuncLang.java | 82 +
src/org/apache/xpath/functions/FuncLast.java | 106 +
src/org/apache/xpath/functions/FuncLocalPart.java | 57 +
src/org/apache/xpath/functions/FuncNamespace.java | 78 +
.../apache/xpath/functions/FuncNormalizeSpace.java | 86 +
src/org/apache/xpath/functions/FuncNot.java | 47 +
src/org/apache/xpath/functions/FuncNumber.java | 47 +
src/org/apache/xpath/functions/FuncPosition.java | 134 +
src/org/apache/xpath/functions/FuncQname.java | 63 +
src/org/apache/xpath/functions/FuncRound.java | 52 +
src/org/apache/xpath/functions/FuncStartsWith.java | 48 +
src/org/apache/xpath/functions/FuncString.java | 47 +
.../apache/xpath/functions/FuncStringLength.java | 47 +
src/org/apache/xpath/functions/FuncSubstring.java | 124 +
.../apache/xpath/functions/FuncSubstringAfter.java | 55 +
.../xpath/functions/FuncSubstringBefore.java | 53 +
src/org/apache/xpath/functions/FuncSum.java | 65 +
.../apache/xpath/functions/FuncSystemProperty.java | 195 +
src/org/apache/xpath/functions/FuncTranslate.java | 88 +
src/org/apache/xpath/functions/FuncTrue.java | 56 +
.../xpath/functions/FuncUnparsedEntityURI.java | 55 +
src/org/apache/xpath/functions/Function.java | 144 +
src/org/apache/xpath/functions/Function2Args.java | 184 +
src/org/apache/xpath/functions/Function3Args.java | 183 +
.../apache/xpath/functions/FunctionDef1Arg.java | 167 +
.../apache/xpath/functions/FunctionMultiArgs.java | 236 +
src/org/apache/xpath/functions/FunctionOneArg.java | 174 +
src/org/apache/xpath/functions/ObjectFactory.java | 656 ++
.../apache/xpath/functions/SecuritySupport.java | 144 +
.../xpath/functions/WrongNumberArgsException.java | 43 +
src/org/apache/xpath/functions/package.html | 29 +
.../apache/xpath/jaxp/JAXPExtensionsProvider.java | 208 +
src/org/apache/xpath/jaxp/JAXPPrefixResolver.java | 127 +
src/org/apache/xpath/jaxp/JAXPVariableStack.java | 73 +
src/org/apache/xpath/jaxp/XPathExpressionImpl.java | 388 ++
src/org/apache/xpath/jaxp/XPathFactoryImpl.java | 265 +
src/org/apache/xpath/jaxp/XPathImpl.java | 545 ++
src/org/apache/xpath/objects/DTMXRTreeFrag.java | 58 +
src/org/apache/xpath/objects/XBoolean.java | 168 +
src/org/apache/xpath/objects/XBooleanStatic.java | 69 +
.../apache/xpath/objects/XMLStringFactoryImpl.java | 101 +
src/org/apache/xpath/objects/XNodeSet.java | 969 +++
src/org/apache/xpath/objects/XNodeSetForDOM.java | 128 +
src/org/apache/xpath/objects/XNull.java | 130 +
src/org/apache/xpath/objects/XNumber.java | 437 ++
src/org/apache/xpath/objects/XObject.java | 759 +++
src/org/apache/xpath/objects/XObjectFactory.java | 161 +
src/org/apache/xpath/objects/XRTreeFrag.java | 301 +
.../xpath/objects/XRTreeFragSelectWrapper.java | 154 +
src/org/apache/xpath/objects/XString.java | 1122 ++++
src/org/apache/xpath/objects/XStringForChars.java | 216 +
src/org/apache/xpath/objects/XStringForFSB.java | 986 +++
src/org/apache/xpath/objects/package.html | 27 +
src/org/apache/xpath/operations/And.java | 75 +
src/org/apache/xpath/operations/Bool.java | 68 +
src/org/apache/xpath/operations/Div.java | 67 +
src/org/apache/xpath/operations/Equals.java | 74 +
src/org/apache/xpath/operations/Gt.java | 49 +
src/org/apache/xpath/operations/Gte.java | 50 +
src/org/apache/xpath/operations/Lt.java | 49 +
src/org/apache/xpath/operations/Lte.java | 49 +
src/org/apache/xpath/operations/Minus.java | 68 +
src/org/apache/xpath/operations/Mod.java | 67 +
src/org/apache/xpath/operations/Mult.java | 66 +
src/org/apache/xpath/operations/Neg.java | 65 +
src/org/apache/xpath/operations/NotEquals.java | 49 +
src/org/apache/xpath/operations/Number.java | 69 +
src/org/apache/xpath/operations/Operation.java | 212 +
src/org/apache/xpath/operations/Or.java | 75 +
src/org/apache/xpath/operations/Plus.java | 67 +
src/org/apache/xpath/operations/Quo.java | 52 +
src/org/apache/xpath/operations/String.java | 47 +
.../apache/xpath/operations/UnaryOperation.java | 163 +
src/org/apache/xpath/operations/Variable.java | 387 ++
.../xpath/operations/VariableSafeAbsRef.java | 74 +
src/org/apache/xpath/operations/package.html | 26 +
src/org/apache/xpath/package.html | 27 +
.../xpath/patterns/ContextMatchStepPattern.java | 179 +
src/org/apache/xpath/patterns/FunctionPattern.java | 248 +
src/org/apache/xpath/patterns/NodeTest.java | 692 ++
src/org/apache/xpath/patterns/NodeTestFilter.java | 39 +
src/org/apache/xpath/patterns/StepPattern.java | 1053 +++
src/org/apache/xpath/patterns/UnionPattern.java | 218 +
src/org/apache/xpath/patterns/package.html | 26 +
src/org/apache/xpath/res/XPATHErrorResources.java | 999 +++
.../apache/xpath/res/XPATHErrorResources_ca.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_cs.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_de.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_en.java | 31 +
.../apache/xpath/res/XPATHErrorResources_es.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_fr.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_hu.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_it.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_ja.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_ko.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_pl.java | 991 +++
.../xpath/res/XPATHErrorResources_pt_BR.java | 992 +++
.../apache/xpath/res/XPATHErrorResources_ru.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_sk.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_sl.java | 992 +++
.../apache/xpath/res/XPATHErrorResources_sv.java | 1252 ++++
.../apache/xpath/res/XPATHErrorResources_tr.java | 991 +++
.../apache/xpath/res/XPATHErrorResources_zh.java | 991 +++
.../xpath/res/XPATHErrorResources_zh_CN.java | 25 +
.../xpath/res/XPATHErrorResources_zh_TW.java | 991 +++
src/org/apache/xpath/res/XPATHMessages.java | 149 +
src/org/apache/xpath/res/package.html | 26 +
src/trax/trax.properties | 28 +
src/xml-commons-external-1.3.02-src.tar.gz | Bin 0 -> 311599 bytes
todo.xsl | 175 +
tools/JLex.jar | Bin 0 -> 54603 bytes
tools/ant.jar | Bin 0 -> 717666 bytes
tools/antRun | 9 +
tools/antRun.bat | 36 +
tools/java_cup.jar | Bin 0 -> 62365 bytes
tools/stylebook-1.0-b3_xalan-2.jar | Bin 0 -> 52198 bytes
tools/xalan2jdoc.jar | Bin 0 -> 124095 bytes
tools/xalan2jtaglet.jar | Bin 0 -> 2701 bytes
trax_bugs.xml | 69 +
xdocs/sources/design/compilation.gif | Bin 0 -> 13454 bytes
xdocs/sources/design/conceptual.gif | Bin 0 -> 45017 bytes
xdocs/sources/design/data.gif | Bin 0 -> 59498 bytes
xdocs/sources/design/design2_0_0.xml | 293 +
xdocs/sources/design/org_apache.gif | Bin 0 -> 976 bytes
xdocs/sources/design/process.gif | Bin 0 -> 19895 bytes
xdocs/sources/design/trax.gif | Bin 0 -> 11435 bytes
xdocs/sources/design/xalan.gif | Bin 0 -> 15576 bytes
xdocs/sources/design/xalan1_1x1.gif | Bin 0 -> 12782 bytes
xdocs/sources/design/xmllogo.gif | Bin 0 -> 2367 bytes
xdocs/sources/design/xpath.gif | Bin 0 -> 9798 bytes
xdocs/sources/design/xslt_abstract.gif | Bin 0 -> 9036 bytes
xdocs/sources/entities.src | 117 +
xdocs/sources/xalan-apache-org-site.xml | 32 +
xdocs/sources/xalan-apache-org/index.xml | 59 +
xdocs/sources/xalan-collate.xsl | 49 +
xdocs/sources/xalan-jlocal.xml | 62 +
xdocs/sources/xalan-jsite.xml | 66 +
xdocs/sources/xalan/bugreporting.xml | 69 +
xdocs/sources/xalan/builds.xml | 403 ++
xdocs/sources/xalan/charter.xml | 319 +
xdocs/sources/xalan/commandline.xml | 120 +
xdocs/sources/xalan/commandline_xsltc.xml | 261 +
xdocs/sources/xalan/contact_us.xml | 105 +
xdocs/sources/xalan/downloads.xml | 351 +
xdocs/sources/xalan/dtm.xml | 113 +
xdocs/sources/xalan/extensions.xml | 902 +++
xdocs/sources/xalan/extensions_xsltc.xml | 198 +
xdocs/sources/xalan/extensionslib.xml | 629 ++
xdocs/sources/xalan/faq.xml | 763 +++
xdocs/sources/xalan/features.xml | 248 +
xdocs/sources/xalan/getstarted.xml | 109 +
xdocs/sources/xalan/history.xml | 6783 ++++++++++++++++++++
xdocs/sources/xalan/index.xml | 370 ++
xdocs/sources/xalan/overview.xml | 189 +
xdocs/sources/xalan/public_apis.xml | 129 +
xdocs/sources/xalan/readme.xml | 1036 +++
xdocs/sources/xalan/resources.xml | 203 +
xdocs/sources/xalan/samples.xml | 713 ++
xdocs/sources/xalan/trax.xml | 274 +
xdocs/sources/xalan/usagepatterns.xml | 584 ++
xdocs/sources/xalan/whatsnew.xml | 42 +
xdocs/sources/xalan/xmlfilters.gif | Bin 0 -> 4772 bytes
xdocs/sources/xalan/xpath_apis.xml | 400 ++
xdocs/sources/xalan/xsltc_history.xml | 4792 ++++++++++++++
xdocs/sources/xalan/xsltc_usage.xml | 624 ++
xdocs/sources/xalandesign.xml | 28 +
xdocs/sources/xsltc.xml | 110 +
xdocs/sources/xsltc/DOMInterface.gif | Bin 0 -> 10110 bytes
xdocs/sources/xsltc/DOMLocking.gif | Bin 0 -> 3530 bytes
xdocs/sources/xsltc/README | 260 +
xdocs/sources/xsltc/README.APACHE | 101 +
xdocs/sources/xsltc/README.api | 436 ++
xdocs/sources/xsltc/README.xslt | 135 +
xdocs/sources/xsltc/README.xsltc | 143 +
xdocs/sources/xsltc/README2 | 101 +
xdocs/sources/xsltc/all_namespaces.gif | Bin 0 -> 3853 bytes
xdocs/sources/xsltc/ast_stage1.gif | Bin 0 -> 2932 bytes
xdocs/sources/xsltc/ast_stage2.gif | Bin 0 -> 4688 bytes
xdocs/sources/xsltc/ast_stage3.gif | Bin 0 -> 5606 bytes
xdocs/sources/xsltc/cast_expression.gif | Bin 0 -> 2263 bytes
xdocs/sources/xsltc/class_loader.gif | Bin 0 -> 5205 bytes
xdocs/sources/xsltc/compiler_AST.gif | Bin 0 -> 2969 bytes
xdocs/sources/xsltc/compiler_DOM.gif | Bin 0 -> 2413 bytes
xdocs/sources/xsltc/compiler_architecture.gif | Bin 0 -> 4642 bytes
xdocs/sources/xsltc/compiler_design.gif | Bin 0 -> 7087 bytes
xdocs/sources/xsltc/dom_namespace1.gif | Bin 0 -> 2969 bytes
xdocs/sources/xsltc/dom_namespace2.gif | Bin 0 -> 3805 bytes
xdocs/sources/xsltc/dom_namespace3.gif | Bin 0 -> 4670 bytes
xdocs/sources/xsltc/index.xml | 168 +
xdocs/sources/xsltc/iterator_stack.gif | Bin 0 -> 4081 bytes
xdocs/sources/xsltc/key_relations.gif | Bin 0 -> 5667 bytes
xdocs/sources/xsltc/match_namespace1.gif | Bin 0 -> 6487 bytes
xdocs/sources/xsltc/match_namespace2.gif | Bin 0 -> 9034 bytes
xdocs/sources/xsltc/namespace_stack.gif | Bin 0 -> 3319 bytes
xdocs/sources/xsltc/output_namespaces1.gif | Bin 0 -> 3483 bytes
xdocs/sources/xsltc/output_namespaces2.gif | Bin 0 -> 3360 bytes
xdocs/sources/xsltc/output_settings.gif | Bin 0 -> 5263 bytes
xdocs/sources/xsltc/overall_design.gif | Bin 0 -> 5114 bytes
xdocs/sources/xsltc/pattern_objects.gif | Bin 0 -> 5206 bytes
xdocs/sources/xsltc/runtime_architecture.gif | Bin 0 -> 5536 bytes
xdocs/sources/xsltc/runtime_design.gif | Bin 0 -> 8540 bytes
xdocs/sources/xsltc/runtime_type_mapping.gif | Bin 0 -> 9446 bytes
xdocs/sources/xsltc/sort_objects.gif | Bin 0 -> 3175 bytes
xdocs/sources/xsltc/translet_wrapping.gif | Bin 0 -> 6037 bytes
xdocs/sources/xsltc/trax_output_settings.gif | Bin 0 -> 5263 bytes
xdocs/sources/xsltc/trax_translet_wrapping.gif | Bin 0 -> 6037 bytes
xdocs/sources/xsltc/type_mapping.gif | Bin 0 -> 3368 bytes
xdocs/sources/xsltc/type_mappings.gif | Bin 0 -> 3807 bytes
xdocs/sources/xsltc/typecast.gif | Bin 0 -> 1950 bytes
xdocs/sources/xsltc/uri_resolver.gif | Bin 0 -> 4431 bytes
xdocs/sources/xsltc/xsl_choose_design.xml | 77 +
xdocs/sources/xsltc/xsl_comment_design.xml | 73 +
xdocs/sources/xsltc/xsl_if_design.xml | 76 +
xdocs/sources/xsltc/xsl_include_design.xml | 132 +
xdocs/sources/xsltc/xsl_key_design.xml | 257 +
xdocs/sources/xsltc/xsl_lang_design.xml | 77 +
xdocs/sources/xsltc/xsl_sort_design.xml | 173 +
xdocs/sources/xsltc/xsl_unparsed_design.xml | 60 +
xdocs/sources/xsltc/xsl_variable_design.xml | 205 +
xdocs/sources/xsltc/xsl_whitespace_design.xml | 304 +
xdocs/sources/xsltc/xsltc_compiler.xml | 343 +
xdocs/sources/xsltc/xsltc_dom.xml | 445 ++
xdocs/sources/xsltc/xsltc_iterators.xml | 358 ++
xdocs/sources/xsltc/xsltc_namespace.xml | 568 ++
xdocs/sources/xsltc/xsltc_native_api.xml | 308 +
xdocs/sources/xsltc/xsltc_overview.xml | 27 +
xdocs/sources/xsltc/xsltc_performance.xml | 268 +
xdocs/sources/xsltc/xsltc_predicates.xml | 343 +
xdocs/sources/xsltc/xsltc_runtime.xml | 469 ++
xdocs/sources/xsltc/xsltc_trax.xml | 586 ++
xdocs/sources/xsltc/xsltc_trax_api.xml | 65 +
xdocs/style/dtd/spec.dtd | 593 ++
xdocs/style/dtd/xsl-html40s.dtd | 1520 +++++
xdocs/style/loaderdesign.xml | 7 +
xdocs/style/stylesheets/design2project.xsl | 51 +
xdocs/style/stylesheets/designdoc2html.xsl | 274 +
xdocs/style/stylesheets/done.xsl | 67 +
xdocs/style/stylesheets/spec.xsl | 238 +
xdocs/style/stylesheets/xml2fo.xsl | 507 ++
xdocs/xml-site-style.tar.gz | Bin 0 -> 23391 bytes
xsltc_todo.xml | 118 +
1294 files changed, 400423 insertions(+)
diff --git a/.classpath b/.classpath
new file mode 100644
index 00000000..b4678427
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="lib" path="lib/runtime.jar"/>
+ <classpathentry kind="lib" path="lib/regexp.jar"/>
+ <classpathentry kind="lib" path="tools/java_cup.jar"/>
+ <classpathentry kind="lib" path="tools/JLex.jar"/>
+ <classpathentry kind="lib" path="lib/bcel-6.7.0.jar"/>
+ <classpathentry kind="lib" path="lib/endorsed/xml-apis.jar"/>
+ <classpathentry kind="lib" path="lib/endorsed/xercesImpl.jar"/>
+ <classpathentry kind="lib" path="lib/bsf.jar"/>
+ <classpathentry kind="lib" path="lib/commons-logging-1.2.jar"/>
+ <classpathentry kind="lib" path="lib/rhino-1.7.14.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..f4d30d4c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/build/
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644
index 00000000..47ae031b
--- /dev/null
+++ b/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<projectDescription>
+ <name>apache-xalan-j-2.7.1-maint-main</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..5917cfb9
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,269 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=80
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..7e642675
--- /dev/null
+++ b/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,5 @@
+#Mon Jul 14 00:07:56 EDT 2008
+eclipse.preferences.version=1
+formatter_profile=_Development
+formatter_settings_version=11
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" e [...]
diff --git a/KEYS b/KEYS
new file mode 100644
index 00000000..5d301302
--- /dev/null
+++ b/KEYS
@@ -0,0 +1,503 @@
+This file contains the PGP keys of xml-commons committers
+and are used for signing .zip/.tar.gz distributions.
+
+To verify the .sig on a distribution:
+ Using PGP: pgp xalan-j_version.num.zip.sig
+ Using gpg: gpg -verify xalan-j_version.num.zip.sig xalan-j_version.num.zip
+
+To import these public keys into your keyring:
+ Using PGP: pgp < KEYS or pgp -ka KEYS
+ Using gpg: gpg --import < KEYS
+
+Committers: to put your key in here:
+ Using PGP: pgp -kxa <your name> and append it to this file.
+ Using gpg: gpg --export -a <your_name> >>KEYS should do the trick
+
+
+Shane Curcuru curcuru@apache.org
+-----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+9A9Qq4MAW7QiU2hhbmUgQ3Vy
+Y3VydSA8Y3VyY3VydUBhcGFjaGUub3JnPokATgQQEQIADgUCOy5rCAQLAwIBAhkB
+AAoJEDLsF1kwoh1V/nkAoMGf6NVxNmMxpMJ9mQW6pzwWDAF2AKCe05LW35bV/px3
+c1a5mBZf0U8exokARgQQEQIABgUCOy5q+gAKCRAZucGLZELD3ErhAJ95upvPEsLB
+W+GF/Q27gKwJAJWh5ACg9vPu27CELQPkx5x6fhquWlPZWR6JAEYEEBECAAYFAjsu
+bP0ACgkQ1so098tadVyJkACbBhPpRY1usOMqaEoVi8iQvqJTaxMAoJDFZU6+RUTX
+dpyd/BhwgKB32d7TiQBGBBARAgAGBQI7LsU+AAoJEL66K4f1/EtCBKMAoMTRzp2x
+mzR4TjVuLDS1E4jkOAkWAKC4ONEEtQjIuTuDCVhZPQTtvk+0abQnU2hhbmUgQ3Vy
+Y3VydSA8c2hhbmVfY3VyY3VydUBsb3R1cy5jb20+iQBOBBARAgAOBQI7LmsIBAsD
+AgECGQAACgkQMuwXWTCiHVUPBACdHm9xrBcNMoEEgR0l+m/8zpgNqWEAn1CbpI+L
+0JNmBIyppFM1pCcXp5K6iQBOBBARAgAOBQI4IYzSBAsDAgECGQEACgkQMuwXWTCi
+HVXQIQCg1Q1MKkWygIsDGAOhiPaM09pTdlUAniTeCkoOI0+2IgD/NtqnGDaSvNDn
+iQBGBBARAgAGBQI4qZk/AAoJEFHrPvFXdlryVbIAoO/egti1esgRI6GErIhICg3I
+octfAKDlpw6NWq/WTxk1Aa0pN/1b6fmD5IkARgQQEQIABgUCOxPAFAAKCRAZucGL
+ZELD3ElDAJ9dcJ0/3luizN4DiPKeIiMsN4PiAQCfdCDLUWcAs93yj0MfeACJ7F6+
+UcqJAEYEEBECAAYFAjsubTcACgkQ1so098tadVzvZQCfRN3SVna4GEb5IwSm/zRn
+0exFr6MAoLSGnZ1wKQT12W/tNR/y2BueOEY2iQBGBBARAgAGBQI6rusTAAoJEBm5
+wYtkQsPcIsIAn0lLDcnoFp5jfpJqV5FnIgIjJ8HkAJ49bCzhw7U5n9G8XEYDQVE2
+eLyMgIkARgQQEQIABgUCOy7FfwAKCRC+uiuH9fxLQhjTAKDDUMomB1wKbVEhcdoy
+zpjt13tTMgCgiser+HuJ5boYdvtoEfsn0bHQMFS0J1NoYW5lIEN1cmN1cnUgPHNo
+YW5lX2N1cmN1cnVAeWFob28uY29tPokASwQQEQIACwUCPD8X0QQLAwIBAAoJEDLs
+F1kwoh1VSusAnAuo93Gu3IphIzuBQSsFu9YRl5HLAKCH3V71nV+Td9udzwT6RIsn
+WWIPLIkARgQQEQIABgUCPD8Y0gAKCRAZucGLZELD3KwAAJ45UpvBFaNKOa64ujpg
+2dKYVAGIZACg8fNYqXgVuqaB7Xrzyok45ciCfiC5Ag0EOCGM0hAIAPZCV7cIfwgX
+cqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyD
+vWXpF9Sh01D49Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5
+u/2RXscBqtNbno2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98
+iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlA
+GBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqr
+ol7DVekyCzsAAgIIAM7v0Dm7spCxsDywqEkBCn3jUhjzq+8Ctl0qfHPA0tQdo61S
++KB/j2G+sFYXDXd/l7ePj/wX5ZXpkVPNBg+rf0R6ExGYSIaf9/HqwSyXyz6hQ2HY
+yn99BDDIxViIXnIPUJ2Ul1Nn+xCduC/v756LYwM+oWXyb429W9bV9z0NVtnvpUxY
+Us9UWEiseJrBHHs92dMFWpTalpXrd7e/HAmUU+HzzpMjOAuxW7SunLLxVF5CH7t6
+oMeGlZPB1CMF5B2Q9lu14hUj4TLYHD3lAG9wCHmCbP4qj+B+DeKCfAerV8ZqQ5tz
+/OT4QuICThVE4Z2ShpC7VsHVGoKPF0igeVVAP1CJAEYEGBECAAYFAjghjNIACgkQ
+MuwXWTCiHVV0vgCg4cicMdOPPnOwEyDUhn+iMYl0MmEAoOOqSf33NB1VlLx344qA
+0Wi0FCL/
+=QTmn
+-----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-----
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
+
+mQGiBDtiOuERBADWqtYvR/wqP9H99bmQ1GNpS8NL7YXmOUEdH9X/7KT3nrFBjacO
+XTJ2/rjnY1ItW6EwnenuFf0okgnf3ZgUai6Ajr4buxCMhpAzm2htOAaSnc3l/FZF
+mcdvpvKkpc4bf2qYC0j4RjKPvXExPdK3DbQnl7Pi5q0qvdaS0JUkYR5X/QCg/7fI
+uJKHVBqIveeAmZKpU8xYd60D/RvTll3dwVCWhs21a/AFFYKpA86A5jyq/yXwIeVr
+IKtKfxnvcjpmZAYIMddsBtVFjW/CyRm6KQZXRdWpXuLymP7+ppT2VlRLM3TqUxum
+4pASJdptk7fj3qzivyfaQ6/fAG3PyJcOe5hS7znLV2a0LX7PQBiPpUwqcjKQ2a2h
+LogQBACalpgAIdN1dfUbgOSm9gdsRb8wYIOKTFGpCWF17rMTMuSYTLAsm6mPdxrl
+FHn2wlROwiDFnzhEDFbPOHdC5XMD+tYdrWJaffJZKW7ZItOEz6OIh7gnmKpBcDsy
+WoJ9J7QRUiETHX3AbKOynSdk5kcgDWymCjSP6rE0M1PAiMVg1LQhU2NvdHQgQm9h
+ZyA8c2NvdHRfYm9hZ0Bsb3R1cy5jb20+iQBOBBARAgAOBQI7YjrhBAsDAgECGQEA
+CgkQQkPbOcGiXuYuqQCgxnuxkA2wfXf/qrhK9FDdhtG67MQAninm2rZVcTHqorBV
+KqUHMeC4VHaEuQINBDtiOuEQCAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFuuUs4
+INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89PY3b
+zpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa8L9G
+AFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsYjY67
+VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM
+2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICCADj1YHJzpg7
+J0z0zRmpzhmRfDZtzBZB+bjqXh1lkcJO9P6tqwEe9Jnhm+yMWKtfETeiNxyK7C5f
+qTATo9USqB2+VTfEr0Y+UivUcITB1UvChj02iPj7zhrW6A7ki5UHYzcK6y29Mw6K
+J39nKn7FPaxcqFEzksAGenT+yq0/sSCAydX0GyW6scEkkmdVsUskD5tb83KqNzKK
+wXm/iIkQHS5FyzQ7U/WGAKRMcQf14UkGrfPoeRbMfNmlp/B+Jwpfbn3bH47hgowA
+gdGcKQSAQhUgy6GDpsxWFTVyjiZNEBI2UxkoB7d8HzMRvme6tw51d59MSNK7X/Go
+GtA9P+IqA3UTiQBGBBgRAgAGBQI7YjrhAAoJEEJD2znBol7mw+MAn3pbgcaYV+KZ
+TLJszssOCpQLvJwpAKCOBhKSHNUJR8OXI4VhY2Arvmm33g==
+=genn
+-----END PGP PUBLIC KEY BLOCK-----
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGPfreeware 6.5.1 for non-commercial use <http://www.pgp.com>
+
+mQGiBDuOlFsRBADT2HtC2QiEuPHzAk6Oa95nupm5zPFdtUasGWnbNhj37JNjhNFA
+/iCAvloRHMG8pR9ltlLZA4ae4X2BhPPqk+Us7zjYY/DkF/+G+cTMwPdoakc5JxL5
+ZRoVntAYRH5bcmv9MdSbY4YDf2iqk8gCaFPjP9EQcw3l38kTbfVvGKIjNwCg/7fU
+aAHIiOYSH+eLMpF4LtuqQP0D/3DhtpvrALSpiF/rw3VnL1rnxcb2IZs9IL1U6bFK
+p0IbqQORSVO2+dYSWo4/Vt7aWBFVPf/yfn/elncVmo12wAzWy7sBnqv8QzfYAvyY
+UuOh2WUD4K1ALOy7VHNM1mMyvH4dDIAoOuqXMQBwJx0A+/zUUaUZZLojsWl366pF
+GHmlBACa5zXSZ0mUf5ScZqZyda7/kUsV+B5tKjEKuOY1d/hnI5e/9Z11EQIfqqxs
+UckzCii+mg8zSpSgWHtsSu5N90teLum98bEuhYNT1tB6Pc7yNWEfq3c3SPw8ZstX
+u1kTQrsQeTiPhmfTQ+RyFiv+ZjonEsETNQK8n7CU+N2diiX5d7QjTXlyaWFtIE1p
+ZHkgPG15cmlhbV9taWR5QGxvdHVzLmNvbT6JAE4EEBECAA4FAjuOlFsECwMCAQIZ
+AQAKCRDeziK2wcV9LzZ/AKCYT4SNAFyQB+tA93nYjRo+NMc12wCaAw6zfJ7j7pI4
+e7L2OA0niSd8vHe5Ag0EO46UWxAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65
+Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09
+jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Brw
+v0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/ClWxiN
+jrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgHKXrK
+lQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIIANxxFjYo
+tUFTQpvEVHu1ZJhyZNySlR5EEDFemG/3AC67Mhv7ygHaeKP/oFzIixKmWllT7iKS
+SLjyS75rq7LpTzhasg2+suQPRnV8y2ATTLnlKWQVmZfVKY1RDiO4MWLik9laFTVY
+kEyFbKgF9w0LyeobsD7SU1J4D9IUOYmslq0m9rac0l+1ovNetdzIm3WSTB/gm/B2
+Nrz1z8urh4mf+RJwuO0to9fkSjE1KUcrE7nTiSD6A3eUaQC6S+Q5wEeiB3QN5f18
+giQuxna9Aet9J8tnMk+5iuh0QYKjNyXlyYD5B9ZF/4SXnQVDi6jAIC/Zzt/Yqzwo
+QX3NAtR8yY0WgASJAEYEGBECAAYFAjuOlFsACgkQ3s4itsHFfS+Q1QCg9ywbxv1n
+32glMqfIb9X7icWxYIEAoOGctrkwfA71hEB0S6zhT4UU3zx7
+=eDC+
+-----END PGP PUBLIC KEY BLOCK-----
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGP 6.5.8
+
+mQGiBDu47OwRBADe/cmSMZz/V8OF9KlVIij1Y66HuKRf9u8ht0JrVZf40BiA6ZF0
+IhXx44ELI1SWU2SqWQOrVR3RRVhHDbCiHGTGGLy8FgL5mhuC8vKRRkKNSzvgJKpD
+dCqRScL0UBWogvKj8plzuvz73rHDGJDdd4BYjOD02FW8wmBnWZO2FRQDhwCg/wwW
+HvcFM/O9dwoUPjdzc5AOteMEAN7vt3PzYpuhPEA21kGHd/wrn47BKGRiwYXv6b4S
+h6OCOWvj/JB9I/BnoeiDpt//1JRte/14JKf8IykuCQgzcZOvA2uuiMi0oWY7kBWe
+KDKzz63pFhlqncCzbxnOlIGUq82Y6ZGCrUvKErddOEdeHeCf2smgEvbxfED7lfKR
+noVTA/9mjXvtQf5tHlSA6/xErh5WVnvtK1voWQKK5CcRYccqoeD6hbYfwH2wHPte
+Rxvh+l8uyF+KTszM2cThA/BfVec01g3qeI1b4F1Izj9iLERxzvczB9QOQ11Ihhn1
+aC6CGDRT8pbrQddWKZy1mGoSJzRDcAGmHleY24+AK371+rKzlrQtSm9zZXBoIEtl
+c3NlbG1hbiA8am9zZXBoX2tlc3NlbG1hbkBsb3R1cy5jb20+iQBOBBARAgAOBQI7
+uOztBAsDAgECGQEACgkQss3trL7oYN6+QwCeNNwhvSTvw/OXKOAJ0wzpzUKc//AA
+oI+/TdbMVKrBDyEIR3fzS+PDYOq/uQINBDu47O0QCAD2Qle3CH8IF3KiutapQvMF
+6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ
++PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarT
+W56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY72
+88kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy
+1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7
+AAICB/4usO5A+4Z5Zqdv3IE/Ffaw7XD2+94Jjr9VLWBvlNPb8hwYaCQ8Sn8c+Vwq
+lrePG3vHQvwsaTVpLWgk7G/tqasTdecCGrBEc9YlB/9jBqNaUuWdT1RlfxzS96Z1
+ayhNSqHM5gF/6cTBedK95HF0++AdtG4Z+CxhX5COZliPcIeOH1mwYqP/OKcbfOmc
+NqsjEpKA81oMpu6RHlzdbvUEyr8JpwqlQnJBPZ6oRi7SUlsTidYvsTA2+ZXJWftr
+TXe/R4RdaoXnwhESiDAL1pJy1Hnw3N5RJGCA5RS3RLHa0wvF0YTCwdk7PJut7100
+bdLw57nTr1edcFUKrPrXHQaAI4KiiQBGBBgRAgAGBQI7uOztAAoJELLN7ay+6GDe
+6ioAn0mSgIVhoKS1/Umun8Let3+az+SMAJ0aDwtI+TswutMqImiCBg2XsQkOug==
+=FVde
+-----END PGP PUBLIC KEY BLOCK-----
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGP 6.5.8
+
+mQGiBDu46/8RBADy0Wm57RXcDu6sd+sza7pFOoYgWslo51LuSxoCVWZiBjgOhas0
+JZeN9pOZlW89yFG4b4U+IfHJ6S0jrl9dcY4jZbwGZOBHF/03Z1viZajIZQ8X13HT
+xVASnVFspxj/bvnkpALBaaeI75De9XjDJzJmxWpIMnvXqD6r3jA78h5J2wCg/xbc
+xzkV5R1+g5f0YQ5f6LcLK0kD/RWVFuIvrlxzJXZQ+7jduyZmBJat9CQs0U3hHFXq
+DIxQPfFsEn9B/kc/qRTFITTeu1JVmq9SYXhJ/YRP+5yza/bJy3HBs4X4xUSeSGR9
+lgMQ7CdI2RwCP2FiCt1yEZT0FG7V452P5u4GFsrUo0hzwPuF853OFbNMVA9lud7Q
+pKAdA/wN2J7vDQJzAI/Pnf1ilp3Etq5Mm0jm9F13qXY66a9GtqvcS/lZGwEwYb5J
+WHu2kUjDwRwc4rdVbmJS7r4OpuK4n4HSvkA+H7T2fGeAbSlmi2cf0Zj9PQc6nTTX
+xs9/mW+ducQoAWWqBsjYb9WTmETFI/v7XODgkFc8+4bGO79ysLQmSm9zZXBoIEtl
+c3NlbG1hbiA8amtlc3NlbG1AYXBhY2hlLm9yZz6JAE4EEBECAA4FAju46/8ECwMC
+AQIZAQAKCRBM03UrGv/D/h69AJkB04jEwgpZ3U/A3Vo1dfce8zM4/ACfRm4GEOJS
+8R/nsuNzZ8YoRD52DpK5Ag0EO7jr/xAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+2
+8W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZS
+Tz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI6
+1Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/Cl
+WxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgH
+KXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIIAMhL
+pfkBOHvfRhd/Dusekk1af4fMmH82fVhw82Q2+rY9CUNX1N/w0NLZ/AD1wKPugbDK
+QoVqgYaAP2rf0xETMFeZKlUhnPl0fXtfZSPWC8qIeiphac97g8Y4q/ZJL9jqZWiu
+lqQyArwniUUJ4L6obhZ0EjmSOy4etrWkIEv+1Z8Btw3+hn/XwdWRPzDkicMz7iL4
+scAsSLphu53tUhBdlwBDFdjesaKCRqy8bdR3AQf77Z1czNMLfYA7RS6zuoiblkD6
+GlABJDeQuxnBVJsuYpa+/zxlf4ol7P1rP5WohTN+hZWR9JI+MbqqG8EeyuYjI2Gj
+2/jT1kKqjGgVnqjtcb2JAEYEGBECAAYFAju46/8ACgkQTNN1Kxr/w/4tsACgyWj3
+/gI5CMj0KhDDxRXkxzCRP+AAnjY4cIvvgya56KB0IGmFgdgWZxUK
+=Ipr4
+-----END PGP PUBLIC KEY BLOCK-----
+
+Type Bits/KeyID Date User ID
+pub 2048/1AAC221B 2001/11/09 Joseph Kesselman <jo...@lotus.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGP 6.5.8
+
+mQGhBDvsN+kRBADjapawUAJpEXOp7xNASa4FKdXFx9rLOx45+GP4bdTS9QN/p7Vo
+t4v+Xd8PUhJYHkxyfe39rtWfVTj+JPFotldMaPJUCKixnxnTjehbSoyi5sNraRqj
+WvZFYFDOOmOEy139eBBFXNTGSH+3D8A0PMg9IhUGHYgGZwqhEgd+2yaBlQCg/94k
+idl+3UadWoI4CTOxD+iU0rMD+JUCsUvmFTP1HfJQekMSNN16WSzJF29QOr0JUm9q
+ebnJHvtaQ/GaZrVyVv0bbgC1XAXf36pqWJPldkvOOzxCm0z0JkKdbQ6+r4P3hDMF
+Ppj1kUfz2XmdbkLTROu0PhUwgE4p7IKQspmxcdYGbT8rPtSSxXVF0yvF/NItXcCJ
+KfMEANYbpDzbuzWNtwVTQReFoj5xwYxH1H0CMeXmV+yq0i7DRNU+uAe2DmWOc6om
+bl9K5yk/cf8DP93/0yOaJqmZ1EjhHwKkknucHbjcNcMrG5qozU3bUr4in8IK5XO0
+NDZEw6KZTLCyXWCl9kK/H7vr0ogtSeQo+rnMqM9Ggusl2yMCtC1Kb3NlcGggS2Vz
+c2VsbWFuIDxqb3NlcGhfa2Vzc2VsbWFuQGxvdHVzLmNvbT6JAE4EEBECAA4FAjvs
+N+kECwMCAQIZAQAKCRCVht3BGqwiGxyvAKCOQ+RkwNwxTbrfGj9y3Lm4mYjZ5wCg
+npZjPSr5wXU3YU+yi9TluXrMFWC5Ag0EO+w36RAIAPZCV7cIfwgXcqK61qlC8wXo
++VMROU+28W65Szgg2gGnVqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D4
+9Vlf3HZSTz09jdvOmeFXklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNb
+no2gpXI61Brwv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbz
+ySPAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLW
+hsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsA
+AgIIAJJnaUDpUG1btIJUVkHLHOeBkm8uIcixAY1BrsoAm+HKW0DfvGZ0OA9RZawL
+ZwE0sWCuOuzQjbMVFjt3B76kK7YRiha+hlsAvbm5Ojnz5cmn+4JhT6fvh7Eh4xBR
+zCyQTOedNtegy0zkV24ddRqjz/zRDa3KJLagZrQFKU4+LXF5DpaTUVDR5xHxDlWg
+Ht2RDbEWVSYALxRjyHobzVZYr9CuhRy6QKRd5pm/fD+qkDtwHbFkrouH8Txegr3y
+zVVc+vKC0GNr1xaX8f0lUGSz2KHPRgqyMfEKGRYM+IWfr/gHeZnP2SUzGHsfYzoi
+6CJS6hPL/HyrPn+UbOmVo5uKNaqJAEYEGBECAAYFAjvsN+kACgkQlYbdwRqsIhuk
+fgCfco+vxnDUpU8cLscpZsPbk6J9p/MAn0VYo0g51AsO36+JJUak7IDWGFwb
+=pFGX
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+Sarah McNamara <mc...@ca.ibm.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGP 6.5.8
+
+mQGiBD0HV44RBADu4H3kzYmSoX2BZOkIio6h+LGD60EjDOGtGkFNh9pqd6aItRK9
+qpFishIK/1/1z+/nLVBfQDc+PSXR8jhZUzj/AGAdjmOtYkBwAWGz1jY08/x98xiV
+MzMlVYYdm0dHZAfrNKV7nAfLuFQ4X1Og4Hbmgv5HlnVllXEBcHUYWG7AFwCg/5Wu
+q6weARMULjVCQb7B/myiQJMD/itxWrfL0KibEBHzKEmzM3V6pJR7CT18+GO7aLFD
+Y0OtTqfcKdBlbvK2Ngyn6MFO/fgctGYsNB20Yg0dJH2oLPrgGAnSVqkgMh2VhUFH
+oc/6cyjBkFJMOgHQQAPY5c2MdVlMhBTCJcIMArY5rPQVS7q6D+947hftyHyhDwss
+e9b9BACUls7qRcUum7a0eygN6ninot6UlSh9TLEt7OERdIUegu3mbXazdGi5jvCr
+lXb1BxZPBIYP2tMve88s1uuRdDP20Ht7k3uG/CzMDlcIUisFrlAqNI7XtzE51jsF
+FOTt8NZFFCfqCGaVT/k4FB3wMWniK8HeXEiUuOB7vqdec2e1W7QkU2FyYWggTWNO
+YW1hcmEgPG1jbmFtYXJhQGNhLmlibS5jb20+iQBOBBARAgAOBQI9B1eOBAsDAgEC
+GQEACgkQDL/HgFBA4ORinwCeM0LEu1iHaSfg3O8W8XUO3soVB/8AoJCsL4P3H2YW
+jzcc4jWc0MtufUNTuQINBD0HV44QCAD2Qle3CH8IF3KiutapQvMF6PlTETlPtvFu
+uUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZX9x2Uk89
+PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56NoKVyOtQa
+8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kjwEPwpVsY
+jY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6
+ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAICCAC5df43
+MJy9e/SkSdo/Vuu+3cUNcyTuOck0kFivwZKbYKbqJL1nfmT92Flgf4kzJUQTJ5QU
+2//sG2dyRtSZwFmb2vhY+68G8d9m4bkbIq799si7sK1LtSdC+6jr5qEnO9w+KcM1
+dxHhUXz5QSOLJgOL+FuF+NcvItUefl0tq5gwiGschyPljp4A2ulaEQn1s7ur6smZ
+9QuEyr+95qTqo7I4yAA6NJy9kws2IkYTVXQGsuFlRuXsX30Q9jzlNGZGifLlo6gq
+im6cQJgP+WeNHMUb25hV3cVL+wONSklZXIshoDm+zwAcjrbeBVin7g9R38YfhA7p
+Gr5ZXzTdnd6GDVWAiQBGBBgRAgAGBQI9B1eOAAoJEAy/x4BQQODk1rYAn34/Xv82
+CElwVpVsZeIkpD68gL1kAKCpGFmpS+W7aXKGVdlNubEulbVlHw==
+=+0VJ
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+Ilene Seelemann (ilene@ca.ibm.com)
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGP 6.5.8
+
+mQGiBD14yigRBAD4YG6RAKr364IFqsbD/3B02Nl28bkwVyWFxHA0y9Br5UvjyDGz
+sh6ZBQD7mPO2lpNGVj6ln0h5fxur+Nmi79j51LhdZamUGoJtx3GR8bMG3ps7OB+C
+FYobHFfBuaR+kvPioboPND0BKYqWktastyGi0Et5OSG2RbvMwBWwv7+ssQCg/y3A
+GTvsP70+0FPdsqYMIVbnvPcD/0I7huEjBXsF4/ZFple242zaDHiKcyJxaspiWYpk
+kHcHZB2fTUBroJtSvOE6in4LV9cBtr+qScyjYEKo7WXmTuvjPk9hGNg2/7IBhOAY
+pxEs/eMSRynPyX4dKsuQ/vbhRnJz5Uh2nG4l01oXIrIu3mLfbf0+njfAySbVZbUR
+Bm1fBADOLyw2OuOmVMu1DeFTZ2tyKyJQ+ALD3UtypphHDHcvejHC1Oq7heqxAk9p
+Ex/mYlIc3loddWiP6f4tQmdOqmvlhkZ1rGx1rNHMhRohRUPeY5WnRjg452hiaNtt
+ri3QnmX/w+3OQi9GcFzKr2GcSZzf429JArhAdMH4xoiK1lJTO7QiSWxlbmUgU2Vl
+bGVtYW5uIDxpbGVuZUBjYS5pYm0uY29tPokATgQQEQIADgUCPXjKKAQLAwIBAhkB
+AAoJEAaHFk5eFOHSfJsAnRLwJ3B/tgfUSAeXjgImzHITi93JAJ9kyIRfAu431G/0
+chT0OWCp/IqAnIkATAQQEQIADAUCPXjPQgUDDy00gAAKCRAy7BdZMKIdVZ5wAKDf
+j9ZVL8158YK7kdwpPsVMqJRldACfcYLyjzQh1rZIuAW/E/ddhwQ+eniJAEYEEBEC
+AAYFAj18qXUACgkQDL/HgFBA4ORX1gCg3WrNmHJrAc46PL2MdI1pqqVM+MYAoKFq
+cnqo7mczQM80Fvw58092GlFCuQINBD14yigQCAD2Qle3CH8IF3KiutapQvMF6PlT
+ETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l6RfUodNQ+PVZ
+X9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9kV7HAarTW56N
+oKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIizHHxbLY7288kj
+wEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgRjXyEpwpy1obE
+AxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Jew1XpMgs7AAIC
+CADSzWYVAO56F2n81OvuEKHEDsWHVTa5F+pB2rJQdSbYsvuB6VzOXO+gttdBgaPp
+Kox0wj/z1T3ycr3UyP21sbyP6C4IqUM1sxmDDvtPmi+GP9EnVVWsjt3kAX4NgpG+
+/5RRjdmWvTXYwCyQsGUYmrxj38bTl3slaY2MXuzDrPN7jPLj0LQq2XsucxlBxne7
+VcjMcwWdZy83yrcD4JBACjuzZDYv5rk8562v4i7yIL0OGG42ApLeHTszKgIOnvEz
+chBQRtAIbnTZyakWAQbx8yluBQREcWro65iVZngjEMFFBZogCOHRo/ZRea+6Chb0
+GE4SHxWelDm1h29kRKFyNiSSiQBGBBgRAgAGBQI9eMooAAoJEAaHFk5eFOHSYScA
+ni92fvDPDNiD0HR5fYQkCcj9+AmCAJ9r2Ic4kOjE7g4LqGU0w/zr3IJ6wA==
+=g9hV
+
+-----END PGP PUBLIC KEY BLOCK-----
+
+Henry Zongaro (zongaro@ca.ibm.com)
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.2.2 (Cygwin)
+
+mQGiBD8cAJsRBADUrXrA/bCXXan4MTeyaYP/X7Jq2N4m0taDKcCWneTWVoXVISJD
+WRm5xI0qfiSMao4VCienFS6aEVDW/CtYy/oVN6faP4cDhfiauOSNVnkuprN5kNT5
+45gXxjfkNZZqQEHzNXeQbd03b2eYVNRqEPIMmbe02VNmYU2ucNoS3tX+wwCg37o6
+lECga3f3HAEbAoBGJWEQDz8D/1cYnr/3K08y5iRbx/fEImoSwDVmS2stl7YSHiFq
+y8OkkNv65ctxq1AQKWkd6l/TRLkaTxV6jRSNR9/UUSsKZ1WqYXdWIQlTHOyfyXA4
+9F7BYWVCJ2AorGOCUV2RhL34JOtxD17eWFW7jte9d3yjzwrW6zEgRjL3gn8mF6pm
+N0vwA/9/Yhw4xs3kJrd93wpYC6tjwr9OpKX9btjCvmYRs0tIaiHgW+pz4yXcp0be
+3JAKmOZLOpYgdXrzqoays2dIXHtPtnJ8xcusnuyafijXnpTugDLd2TTZwTE2PJqa
+T6wU6ucrxZoVye7tnCZC9WO4wwT1C34a2Bs8Kb9gdEztDDc64LQiSGVucnkgWm9u
+Z2FybyA8em9uZ2Fyb0BjYS5pYm0uY29tPohhBBMRAgAhBQI/HACbBQm6FuqABgsJ
+CAcDAgMVAgMDFgIBAh4BAheAAAoJEKtvTqlV3u1VQv0AnRtJiGiwnQ0xRr86VijM
+3jpvtRhZAJ42nopVLUX7MLPQAmquJr7vbJ51erkBDQQ/HACeEAQAktEiSKwmijNK
+y3LRnBfDcmnsflwaR6vq/hzTU4OaHFlv7TsOF8IEYuVtY6k35r1EKRFDDj3O2yxc
+HZ2nJXsfwc2r4vXZ5maLJKrwm/oqdpCQxIhewKty0mNcBmRhYfzH8FwDbJfDj8GQ
+3Mb+hoFng5IQz0TMn/+Xufi8hMPNubMAAwUD/1KqOj307Sw/I8xrukzKD28wephI
+BaHD0k/JrOE08hLy0AA2hJYtWON2ngFxsAMn+hyCaJ7jIf03lVzeWY/EFUsRiz6W
+SK2bgxCqztvFEfk6auQks9o8Qi7wSTdfGRvmgBEv1NIHricYGujpLMYL1/wcUmAb
+0cuNiuD+f6I9//mOiEwEGBECAAwFAj8cAJ4FCboW6oAACgkQq29OqVXe7VV5NwCd
+GnR3HK9tl6lDNkgg4e/iwX1+TGAAoNAyeTCMkju29VQvP09DXyqF92KN
+=+iYb
+-----END PGP PUBLIC KEY BLOCK-----
+
+Brian James Minchau <mi...@ca.ibm.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: PGPfreeware 6.5.8 for non-commercial use <http://www.pgp.com>
+
+mQGiBD90tykRBAD8mc8/pJcCYJt7EBGh4M0x6FinAlR0QQsxgpf6sKVUsW01vnce
+1Sk2O5DfLCxTuTamstzMPGP9gqpIxL01qQO0ogarlQ8KLHtrb0x3ha2Ea32wnjux
+KsbWMYv88w3vyNmcPm4CwXePxWglBJxvuUtBl/8UfWX9tj51Gg1UIFkBMwCg/20T
+gSuvFLlcsBQIQ2z/lmyJsC8D/RP4QM4e36GyuMR+MVtamP2oq+kVsTgOWgMwbxBN
+pYVY9mtI43GIlQ3Nuj5MmgI2gh5w5KGkPxOUiBsbgGyKBpik2XET6uI+ESwxP/f3
+q4P5SsBg9Cnkfw1PRFp9rPrtsH+qRL0sVbPES7m5wgHFMO+iNFRvlgCj+n+a5wP9
+aZpVBADFiDoHukZKtwHkyeXf1ZAjDddYP0CMEU/+n6r2iQhGxsgB8YYxurCsNmWo
+ZHsEbFd9K0hiGW4wd8ehTnWhAOgF9haCg0ej+iXIsU26fSdup7XbhqWDwuBVG+oG
+fKrxWKn2M1Gq2/e7Y2uIQuUUZVLFWyfbz4srVKX4X+Usi2ZsWbQoQnJpYW4gSmFt
+ZXMgTWluY2hhdSA8bWluY2hhdUBjYS5pYm0uY29tPokATgQQEQIADgUCP3S3KQQL
+AwIBAhkBAAoJEEkBfzw7R979puQAoJz8iDTTk2RWVO7u3rTbiQLkKkDUAKDyteJj
+OIw78pLkcPnNBX5LsbtVzrkCDQQ/dLcqEAgA9kJXtwh/CBdyorrWqULzBej5UxE5
+T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/c
+dlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaCl
+cjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD
+8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZ
+yAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwACAggA
+17tSplmHTmGaV5C5Up5Imu37MGELNYUmoDtg82Acn3gftwKAl81HSx7Lr5ekJTZ2
+jdxX6k1TiJVvw0926Dm44xERqgbTnxJ0eSkvrzuM3WEdnSC4e34ostHcYSMjtXpI
+IwbhrAhCNJz8VHQsMPHbp5DCEESZracxHbOe1HGfV1qfomdM6X8k01fIa5Qmhi1B
+UUV8tdhr4yXL4fjzQYzI0PJQAVNxEKGrdPpnKedcEDKqdaGDD/SfFjo0Wp1Lg9wO
+pW6KnujtylZ/i2gj+oQtXgNXG1CDB2R4+573NyIWbTGCliDA0vr/MIOON3D0Ir1/
+4vtFBvRhTOefXJ2S7AQFl4kARgQYEQIABgUCP3S3KgAKCRBJAX88O0fe/XhoAKC6
+AUWyj+MEm1Uf+mxMLDI2IXiDZQCdEMKlwjNalb4/NBV3HatUuhOuFho=
+=LaXh
+-----END PGP PUBLIC KEY BLOCK-----
+
+Michael Glavassevich <mr...@ca.ibm.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.9 (Cygwin)
+
+mQINBEsh3ukBEADQTZRcZ+Fzyb4fWqhV5egIC8BTP54fjBcv9HKfC4IJxCaK5n/n
+GV9uuxv37LPNtZw9WxI8MLBJh0I3lu4PnrTvbcCVgP3NXlzFvdzY5n5FKQN62i+R
+6DbKehdd/QNlW0plxhVr3z6ZC2QH/EKRY0yJDcqT958Qz2BuPhXqYc+qlPtXAyPz
+2vE0aWsOZ6/7CJ7inLnh+0oVo1mJdtUYAVtoVwzQ6P7zcwvJDvwUaLUG9U0or46i
+46SNk2hTRK0q7KcFpEyv+6b1lbezZVWLN1tZjCITN8FHwf16cOMJF0XO/4fsCBQJ
+BCtZ9x5A6eCsDlWFCPd0BMDcPVDsB83AhujZo00g5H12oWVcxNUnlxSJ5ou7zRtq
+T4RJ7mpB7IM6g4zASJMgUkkuMnsQ9d+Bv8o9wC5lCDTEjN779ZxcctCmbBs6blgo
+4q9hYvAJYSkBOSfx+TRPuAYk9WK4elp8yq/XIrB1k7seKfTesROSf5Td5f988OpA
+jdyHhdp+HKstgktOkIvtDHQKgrsaKy5mHKqrWOA/mLL/Yw1p2IJkpBnGz8r/8mPD
+ecWrenRiT0E/us+D7tpHi84DrpfTS6niPaM4FgoigbCsdK/0T6IJ6uXVOPHdbpnL
+k5JDRYercy57tlaPwEHJITPe0FDP4zKJ+Jq28UYFRbPWDPcZJhPrUKA5IwARAQAB
+tD1NaWNoYWVsIEdsYXZhc3NldmljaCAoQ09ERSBTSUdOSU5HIEtFWSkgPG1yZ2xh
+dmFzQGFwYWNoZS5vcmc+iQI2BBMBAgAgBQJLId7pAhsDBgsJCAcDAgQVAggDBBYC
+AwECHgECF4AACgkQlEOAhCOKWlZifhAAhEkzKFOPkwJ58vy47jwMQa7/iAMs3gNN
+zNYcNcn6Vj3n/gTa5IlWrcjx2VnZviSW13lwry7DmudfO/qeU0JsJr4mk8Kwj5mh
+GFa5r/gt+dnOW/iFy8lEaJUI4vcXVZa4QK310d+Loat4ac0i0Nkioeiomix5RaQv
+A+I4m7qJpo6V112d/0/GCVJADwFm/5sbDhreUV4H8zIIkhH47YZKejEUArO3Teqn
+4Ym6ES/25qv/wiDSuuQOwIBymYIHCVam42VUHdbUHEjFZF7v5A1qjvdymZBtMGK2
+nfQCLUHpX6ACq+icwShLG4CDK4+zYdN0bTwI20VbLlFzFScjVga21Dqkdaw1bIvn
+cSmAXwrSKbFIdsdnsq9lnTqSszs5AyXQZ2Iq0iGk73L/CJemtgp9gwf3dp03WXQG
+5LCuTiRb/MWcgAPoG2KVEHRjE3KYGxEQ/OgIHxwDiDnvyvukjkpV/O/9A9LAga+5
+f7J22ih9g0ILbSbX0N9PWpvESD0fskAT6awlcvvyFacOm4tcYveMRESyT6/ZJWAm
+t/DlHcxLshX0RQZCETV/HO1C59twuds6MEbs3rTaFsKryz5Vo4/AQSsz46eDZze3
+XZ8y4FLHAkgrptHfoV39kyjJHmIMOAkx6S1YIvswTU0hF9SrxfrslyF9SwxYNuHt
+Q/M+Mf7tVQ4=
+=NDBw
+-----END PGP PUBLIC KEY BLOCK-----
+
+Gary David Gregory (Code signing key) <gg...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.11 (MingW32)
+
+mQENBE2kzuwBCACYV+G9yxNkSjAKSji0B5ipMGM74JAL1Ogtcu+993pLHHYsdXri
+WWXi37x9PLjeHxw63mN26SFyrbMJ4A8erLB03PDjw0DEzAwiu9P2vSvL/RFxGBbk
+cM0BTNXNR1rk8DpIzvXtejp8IHtD1qcDLTlJ8D0W3USebShDPo6NmMxTNuH0u99B
+WHCMAdSa34wsg0ZpffwQmRxeA+ebrf2ydKupGkeZsKjkLlaXNkTVp1ghn5ts/lvg
+KeHv1SJivWKCRmFlbPhBK4+mxSUSOPdoBNAfxA51QzZoPizSk0VbRz3YufYRVLFy
+9vqPSorDmYJhCvn3f6+A38FS/j8VE+8obQ2rABEBAAG0O0dhcnkgRGF2aWQgR3Jl
+Z29yeSAoQ29kZSBzaWduaW5nIGtleSkgPGdncmVnb3J5QGFwYWNoZS5vcmc+iQE4
+BBMBAgAiBQJNpM7sAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCG/cfi
+oRJiy2vXCACU6jW2+XIWuWBKSmeowBMxlUMJFSq7QjLt+o6B1ZYClbzBLDKcxlnS
+dF6v0jLhp71LozTde+HFI4/qIv6OO4UaGHin8Z1rNU/i5L07HkhLxcrbDoWhaSGD
+buRsWCv9ljm5GCXyK9s6Uj7d4af9mDWaGhNFJJFIs+yqOvTwffoaB7y+2a1YWStZ
+ZXDJ0KiHdY7xQ7bbYR/61MgvJslF1uX+u4jLTNmbU0tCXLtUrLd2VbJiAMFezqy6
+hV/ZxQLZoBPpr3FYhR2SIzNhQ30nj9AVcPgCCuLD49nx6Ad5CpcP8sTwb4aWk9GK
++Uu3Bfz4jTAvd9Q7TsRMt3NV+7sOGD4vuQENBE2kzuwBCACzeGpkd6X/xTfKDBWv
+XgHOOKIJ2pht9XmtZZKiIj7LIiSwvSds/ZkoZKxAm7AY+KPh8Xjf968FtoUBQJvH
+AG4rbowEqT7OOrJae2JcenH5qzaod7TpIPQVv+Ysz8I1wLlC6LzKRj1X99Hng6X+
+obsEasnPbmEEkuiZ/Sgi4vVC8SHkDmYt1Dx8jDgm53oUeWkEJO9LSI2zcrZhSgvg
+1xa4Q4gY5UUK7gE4LbmGCjFlATuuW/0sryxu8zxph15gkn4Nqgk0CPMSjesMYEGO
+sdDzfQXl2tXbt+Pe6mBoWh67MZ1v5zOq3EDtoSqDpWPxponAeaCuNDDFX44vGjfx
+GE0tABEBAAGJAR8EGAECAAkFAk2kzuwCGwwACgkQhv3H4qESYsvEMAf/VGyqIEcw
+4T2D3gZZ3ITkeoBevQdxBT/27xNvoWOZyGSzGYlRbRQrlo+uZsjfMc9MNvaSmxyy
+4gLVbcdvQr3PF//GxphJ98W8pk9l+M57jfyHnnCumn7MO4o9ed+WuigN5oeuNJ6B
+Iq3ff2o1DsrEvDChYOJEOeFuWxv+u7I2ABJJep7NbByM2n9PE8vlGU3zUBgWUBsk
+6jT+klKnEyHE76WzegPLz3jtElTuyB7jRhjyQJu1yiJEMbs2zH8aJGObi5f8Jum4
+tILZuEAdoI0M3c3VRq12cz/vLy+9VXa/s//8IsGn88kjyyYqOy8WJEjoOXFh++dp
+WiM7nZkgQcNi5A==
+=0UFs
+-----END PGP PUBLIC KEY BLOCK-----
+
+Mukul Gandhi (Code signing key) mukulg@apache.org
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.2.6 (Windows)
+
+mQINBFrVrw4BEADaSqFLnW5IvKF7CaJXHpz2K94WTZr5vXg8sGE5r7XTi+91BqrU
+VCVanxkKs/dEy7O0QAnkGNaF6nT/deHZVU6FGTUVcj7GtDXd/8Upj5H5Yhkvf8nO
+U50U/W427OuLAbtKK06zUXQQq7jNUC5DEQNOA2amqKsSGCzeLticjOB/PIaFSAE7
+vLYPXdVZVA0/+c8tI98vt0LH/dC0FK8Q/YQLGLvDrrnkLqZ8Q/G27BYvJA0uBVvD
+7oC7uivXE87Qqy489DWI/zTciVgm8LwwOOgACVc0WzkHI9qX/Dmc27CjowCacW8O
++8VS1QVpq61L7y6vCg8dnL78Y3E+0MbvbVz7MpJKb9f7hxNHg6UwUVHweR+o2oXV
+75EMHQDN1vRWJ0gQgGOU479jECp1Iu52T2cL6qr5QDnmwb8G4LZUp3edJmlGQ+DO
+kSXJSSG+LtwdmwB/MwwyP6u7PKLKzE5Vn+zXyfJq5IHQmh9QlBatPcRrzFmKg4o1
+vI23xe09edfqSRPEfpLTa3h1CZPSOcu/93SteENslFKQ5SZIOyXK3RTz4jjJ6gMD
+W9FKGq5ntUTZHWiXJdxtr1cnt/SKJOsUK2OwTgD13EPYFonckbrPst4OSFFWUkba
+zIiENlbgkRKnQC06/bnBAfLC4h3W9AxxseVLVD7COB9fbJzGcLCsyo7mewARAQAB
+tDNNdWt1bCBHYW5kaGkgKENPREUgU0lHTklORyBLRVkpIDxtdWt1bGdAYXBhY2hl
+Lm9yZz6JAk4EEwEIADgWIQRNj7Vy+2rc/WnL/g17JYamteJcPQUCWtWvDgIbAwUL
+CQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRB7JYamteJcPelTEAChRbuWaFsbJMs/
+qQNO0ALcqAKZvjnzB2Ne3qjYBT/3ptq86HSOBbuT1T/YAKUPN+ETR9Y7ib05x2qN
+pcLOhJJTNApNPcczNXKLokn4fojv70wFykRsm0OPp4/+gvtY9d/c7OPEIv1nLxOP
+zV7IJUX6JEXMuuUBAQ8XNFjy9ObRmQ3JTM3dvtsXNMqwpcsF3p4YvTTq7M3wKEJk
+J+d6DV48t0YNjDSmboZ1eb8NbBo6xGAUb42RuolJ8PtanDRjSUgCHPqSjn4x5F0H
+W/+kdoFybORCMCrVdKh1x4/8MLWLToC3aIaY1Dw51p9Li64NGHsxCBur1wlX/hAZ
+99Zy0GJcayuv9BPRG5lHraIwI0MhpYzmWL6xcOTOyWUOl8U5M/uaMkXlCS6WXdjz
+SrJx29y+1dH6mykRTjIQTBa+fsH7duJjiXlo9L8AYbXX6BiwImNiLHVdx6XHwEKP
+qDnQNuUFWuj4I2sU7Di0NNPpNemyDvGFlLd+472qD1K3M6ck0BMN+qp5n1gMcwUr
+X8cW40PBp5N14nghGiMVzA8QwcU62MCgu5Wo5yITKrZS3rf5vncRFNZ0yA49JqyF
+ypTWsJRE5iDIWYCvsQd0fICudxU5zRkaMlIUr8Yz+MjDITZ0YeDLrNDtyU+IE20W
+NpNXkhMSUHy6Vz772b3ejQt7Dg1Nd7kCDQRa1a8OARAA6tfcOXamaYMCf9bX6w9Q
+ggrmLmVJEUYbjMMlqg7jn1uatI1Fl0YPey1SJCKV52fc0OxX6+7iXlJhLc8q+tsx
+/9ojgbEetm85qlFBs7A2x1F/G4nXOi1LJbxDvytXonSn0YSKXpV7zLHnFz2/9KuK
+gi7YH41RmvYf/enLh2D8cZMApBfdaB+ZfiooMg7Flr9AHpqk5/UrV4vQZ1mkiiT+
+EXar5rygRP4DZKgBow6RWsJnDE2FKCh4UFzcjeQ0IGhh0iIldCT32jwJB8HDPamQ
++1WAiEzzCH0OOZ1yxiyVSXor+KFpmtnaJlWzUJMm/K6W/6aD9sikY1pA8bfOC0gz
+BU7/FZ76rGHgfDAL136lqUzQ54BXdmhM/hTv9VBmZ5JHbjm6xdF9Msr/QI7sRbms
+mgjqOF6IJk4vD7u4sIRYQlHJSsxJyBCu3sbKlHv4RZ/Pun6Sxj1fxO/NisQX3sdm
+pMwtZSCaBnx/Xlm/DRQKHhWhRcZ+4efeIWY1WcBvH/LgZYJhi5p9PxSLYvtjY83H
+iFH1k1v+fZk5c06iwYB3WQJkUfjXIWAPbSHuVuQLq2eZN1Slkd1BncSFYEEgtFl8
+I+UwmrqBTdONMRGkLjezrjnFa1uSBiEHnyyD6PMP3PPsFzqSEYh/E1Kna7jtaJky
+ZD5SpLdlvFnS4dYOzzGwhY8AEQEAAYkCNgQYAQgAIBYhBE2PtXL7atz9acv+DXsl
+hqa14lw9BQJa1a8OAhsMAAoJEHslhqa14lw9hOgQAJXFChQ394HeivVGTP3Lc0fY
+WOBceE9+8xWn6gjFf2SOVlSW7TlBrOGBwAzgeGDWKAP5Js/S2i8LlxTzWA0n7t1T
+zMEstkIjEEm5rkSdZ6GkSXQuQkEuiD9fVq8wMjdOKcgRzPq5CUYBFoOPm4r1ZMBc
+uMg4fFn3nIHLALdi8hjeJENsl7e9cf7pct9ZmMARgF9jFPPcZbpu7THNgheXnxYW
+bzYMNHVV9NkmZA1nJcGTLXao8i0dIQwFyg91cyTfc5iI7EQP+SXUACiOWlZ6GO2S
+EcY6CR4g4obg9lBzEPs2uiDRdxWLyD66gbP2XDGPiAsg8LM43Wxa4hDPjXHp9Pig
+tPfamxqdl13a8JvbS9hX6wvqS5dbrJfRuxejjGG+LI2cAcWSnT1gCQJWEnxXdzkh
+Y6E4aiI6xNw7Xek7rL7DJKe3bVcMcUKI7rLQJor6Gq9ESuTbe73eJdkWTK1cWSWs
+StTfzMWwq22VjOZCHz7p/h5zQvuj+oeeJb1wdMn65FjRp6VCmZFwUAphV4tS/Ihe
+vVJJKMjIMdUrqDwRhUlt2JLIcjQov00nJ6/SC5AAY5m9jB0LhIHNvXHXPrfxeNEH
+otQEdxhoQJS4bxa+pEztFxSkOyHLYya53TVZmGDPW1oMnghHKMA9FLvypQU3CsXM
+6CMlHiO/MH1/Ktz2a7NW
+=hMIE
+-----END PGP PUBLIC KEY BLOCK-----
+
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 00000000..994f9b10
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,1074 @@
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+The license above applies to this Apache Xalan release of:
+ Xalan-Java 2 - XSLT Processor
+ Xalan-Java 2 - Serializer
+
+The license above also applies to the jar files
+xalan.jar and xsltc.jar - Xalan-Java 2 - XSLT Processor from
+Source: http://xalan.apache.org/
+
+The license above also applies to the jar file
+serializer.jar - Xalan-Java 2 - Serializer
+Source: http://xalan.apache.org/
+Used by: Xalan-Java 2 and Xerces-Java 2
+
+The license above also applies to the jar file
+xercesImpl.jar - Xerces-Java 2 XML Parser.
+Source: http://xerces.apache.org/
+Used by: Xalan-Java 2
+
+The license above also applies to the jar file
+xml-apis.jar - Xerces-Java 2 XML Parser.
+Source: http://xerces.apache.org/
+Used by: Xalan-Java 2 and release copy of Xerces-Java 2
+
+The license above also applies to the jar file
+bsf.jar - Beans Scripting Framework (BSF)
+Source: https://commons.apache.org/proper/commons-bsf/
+Used by: Xalan-Java 2's non Java extensions
+
+The license above also applies to the jar file
+commons-logging-1.2.jar - Apache Commons Logging
+Source: https://commons.apache.org/proper/commons-logging/
+Used by: Xalan-Java 2's non Java extensions
+
+
+
+
+The following license applies to the included files:
+ tools/ant.jar
+ tools/antRun
+ tools/antRun.bat
+Source: http://ant.apache.org/
+Used By: Xalan's build process: java/build.xml and test/build.xml
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+/*
+ * ============================================================================
+ * 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 modifica-
+ * tion, 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 "Ant" 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 (INCLU-
+ * DING, 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. For more information on the
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license, Apache Software License, Version 1.1,
+applies to the included BCEL.jar from Apache Jakarta
+(Byte Code Engineering Library).
+Source: http://jakarta.apache.org/bcel
+Used By: XSLTC component of xml-xalan/java
+
+The following license, Apache Software License, Version 1.1,
+also applies to the included regexp.jar,
+jakarta-regexp-1.2.jar from Apache Jakarta.
+Source: http://jakarta.apache.org/regexp
+Used By: BCEL.jar which is used by XSLTC component of xml-xalan/java
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+/*
+ *
+ * Copyright (c) 2001 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 "Apache" and "Apache Software Foundation" and
+ * "Apache BCEL" 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",
+ * "Apache BCEL", 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. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license applies to the DOM documentation
+for the org.w3c.dom.* packages:
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+W3C® DOCUMENT LICENSE
+http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
+Public documents on the W3C site are provided by the copyright holders
+under the following license. By using and/or copying this document,
+or the W3C document from which this statement is linked, you (the licensee)
+agree that you have read, understood, and will comply with the following
+terms and conditions:
+
+Permission to copy, and distribute the contents of this document, or the
+W3C document from which this statement is linked, in any medium for any
+purpose and without fee or royalty is hereby granted, provided that you include
+the following on ALL copies of the document, or portions thereof, that you use:
+
+1. A link or URL to the original W3C document.
+2. The pre-existing copyright notice of the original author, or if it
+ doesn't exist, a notice (hypertext is preferred, but a textual representation
+ is permitted) of the form: "Copyright © [$date-of-document] World Wide Web
+ Consortium, (Massachusetts Institute of Technology, European Research
+ Consortium for Informatics and Mathematics, Keio University). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231"
+3. If it exists, the STATUS of the W3C document.
+
+When space permits, inclusion of the full text of this NOTICE should be provided.
+We request that authorship attribution be provided in any software, documents,
+or other items or products that you create pursuant to the implementation of the
+contents of this document, or any portion thereof.
+
+No right to create modifications or derivatives of W3C documents is granted pursuant
+to this license. However, if additional requirements (documented in the Copyright FAQ)
+are satisfied, the right to create modifications or derivatives is sometimes granted
+by the W3C to individuals complying with those requirements.
+
+THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS
+OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;
+THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE
+IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
+COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE
+OR IMPLEMENTATION OF THE CONTENTS THEREOF.
+
+The name and trademarks of copyright holders may NOT be used in advertising
+or publicity pertaining to this document or its contents without specific,
+written prior permission. Title to copyright in this document will at all
+times remain with copyright holders.
+
+
+----------------------------------------------------------------------------
+
+This formulation of W3C's notice and license became active on December 31 2002.
+This version removes the copyright ownership notice such that this license
+can be used with materials other than those owned by the W3C, moves information
+on style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM
+is now a host of the W3C, includes references to this specific dated version
+of the license, and removes the ambiguous grant of "use". See the older
+formulation for the policy prior to this date. Please see our Copyright FAQ for
+common questions about using materials from our site, such as the translating
+or annotating specifications. Other questions about this notice can be directed
+to site-policy@w3.org.
+
+
+Joseph Reagle <mailto:site-policy@w3.org
+Last revised by Reagle $Date: 2005-07-19 12:33:09 -0400 (Tue, 19 Jul 2005) $
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+
+The following license applies to the DOM software,
+for the org.w3c.dom.* packages in jar file xml-apis.jar:
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+W3C® SOFTWARE NOTICE AND LICENSE
+http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+This work (and included software, documentation such as READMEs,
+or other related items) is being provided by the copyright holders
+under the following license. By obtaining, using and/or copying this
+work, you (the licensee) agree that you have read, understood, and will
+comply with the following terms and conditions.
+
+Permission to copy, modify, and distribute this software and its
+documentation, with or without modification, for any purpose and
+without fee or royalty is hereby granted, provided that you include
+the following on ALL copies of the software and documentation or
+portions thereof, including modifications:
+
+1. The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+2. Any pre-existing intellectual property disclaimers, notices,
+ or terms and conditions. If none exist, the W3C Software Short Notice
+ should be included (hypertext is preferred, text is permitted) within
+ the body of any redistributed or derivative code.
+3. Notice of any changes or modifications to the files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in advertising
+or publicity pertaining to the software without specific, written prior
+permission. Title to copyright in this software and any associated documentation
+will at all times remain with copyright holders.
+
+
+____________________________________
+
+This formulation of W3C's notice and license became active on December 31 2002.
+This version removes the copyright ownership notice such that this license can
+be used with materials other than those owned by the W3C, reflects that ERCIM
+is now a host of the W3C, includes references to this specific dated version
+of the license, and removes the ambiguous grant of "use". Otherwise, this
+version is the same as the previous version and is written so as to preserve
+the Free Software Foundation's assessment of GPL compatibility and OSI's
+certification under the Open Source Definition. Please see our Copyright FAQ
+for common questions about using materials from our site, including specific
+terms and conditions for packages like libwww, Amaya, and Jigsaw. Other
+questions about this notice can be directed to site-policy@w3.org.
+
+
+Joseph Reagle <mailto:site-policy@w3.org
+Last revised by Reagle $Date: 2005-07-19 12:33:09 -0400 (Tue, 19 Jul 2005) $
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license applies to the SAX software,
+for the org.xml.sax.* packages in jar file xml-apis.jar:
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+This module, both source code and documentation, is in the Public Domain,
+and comes with NO WARRANTY. See http://www.saxproject.org for further information.
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license applies to the jar file
+java_cup.jar - LALR Parser Generator for Java(TM).
+Source: http://www.cs.princeton.edu/~appel/modern/java/CUP
+Used By: XSLTC component of xml-xalan/java
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+CUP Parser Generator Copyright Notice, License, and Disclaimer
+
+Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both
+the copyright notice and this permission notice and warranty disclaimer
+appear in supporting documentation, and that the names of the authors
+or their employers not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior permission.
+
+The authors and their employers disclaim all warranties with regard to
+this software, including all implied warranties of merchantability
+and fitness. In no event shall the authors or their employers be liable
+for any special, indirect or consequential damages or any damages
+whatsoever resulting from loss of use, data or profits, whether in an action
+of contract, negligence or other tortious action, arising out of or
+in connection with the use or performance of this software.
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license applies to the jar file runtime.jar - Component
+of JavaCup: LALR Parser Generator for Java(TM).
+Source: http://www.cs.princeton.edu/~appel/modern/java/CUP
+Used By: XSLTC component of xml-xalan/java
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+CUP Parser Generator Copyright Notice, License, and Disclaimer
+(runtime.jar component)
+
+Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both
+the copyright notice and this permission notice and warranty disclaimer
+appear in supporting documentation, and that the names of the authors
+or their employers not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior permission.
+
+The authors and their employers disclaim all warranties with regard to
+this software, including all implied warranties of merchantability
+and fitness. In no event shall the authors or their employers be liable
+for any special, indirect or consequential damages or any damages
+whatsoever resulting from loss of use, data or profits, whether in an action
+of contract, negligence or other tortious action, arising out of or
+in connection with the use or performance of this software.
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license applies to the JLEX jar file
+JLex.jar - A Lexical Analyzer Generator for Java(TM).
+Source: http://www.cs.princeton.edu/~appel/modern/java/JLex
+Used By: XSLTC component of xml-xalan/java
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
+
+Copyright 1996-2000 by Elliot Joel Berk and C. Scott Ananian
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and
+that both the copyright notice and this permission notice and
+warranty disclaimer appear in supporting documentation, and that the
+name of the authors or their employers not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission.
+
+The authors and their employers disclaim all warranties with regard
+to this software, including all implied warranties of merchantability and
+fitness. In no event shall the authors or their employers be liable for any
+special, indirect or consequential damages or any damages whatsoever resulting
+from loss of use, data or profits, whether in an action of contract,
+negligence or other tortious action, arising out of or in connection
+with the use or performance of this software.
+
+Java is a trademark of Sun Microsystems, Inc. References to the Java
+programming language in relation to JLex are not meant to imply that
+Sun endorses this product.
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+
+
+
+
+
+
+The following license applies to the jar file
+stylebook-1.0-b3_xalan-2.jar - Tool for generating Xalan documentation.
+Integrated with Xalan-Java 2 and Xerces 2.
+Source: http://svn.apache.org/viewvc/xml/stylebook/
+Used by: Xalan-Java 2, Xalan-C++
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+/*
+ * 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", "Xerces", 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, International
+ * Business Machines, Inc., http://www.apache.org. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+
+The following license applies to the jar file
+rhino-1.7.14.jar - JavaScript implementation in Java
+Source: https://github.com/mozilla/rhino
+Used by: Xalan-Java 2's non Java extensions
+
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+The majority of Rhino is licensed under the MPL 2.0:
+
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
diff --git a/NOTICE.txt b/NOTICE.txt
new file mode 100644
index 00000000..5c9ce77c
--- /dev/null
+++ b/NOTICE.txt
@@ -0,0 +1,85 @@
+ =========================================================================
+ == NOTICE file corresponding to section 4(d) of the Apache License, ==
+ == Version 2.0, in this case for the Apache Xalan Java distribution. ==
+ =========================================================================
+
+ Apache Xalan (Xalan XSLT processor)
+ Copyright 1999-2023 The Apache Software Foundation
+
+ Apache Xalan (Xalan serializer)
+ Copyright 1999-2012 The Apache Software Foundation
+
+ This product includes software developed at
+ The Apache Software Foundation (http://www.apache.org/).
+
+ =========================================================================
+ Portions of this software was originally based on the following:
+ - software copyright (c) 1999-2002, Lotus Development Corporation.,
+ http://www.lotus.com.
+ - software copyright (c) 2001-2002, Sun Microsystems.,
+ http://www.sun.com.
+ - software copyright (c) 2003, IBM Corporation.,
+ http://www.ibm.com.
+
+ =========================================================================
+ The binary distribution package (ie. jars, samples and documentation) of
+ this product includes software developed by the following:
+
+ - The Apache Software Foundation
+ - Xerces Java - see LICENSE.txt
+ - JAXP 1.3 APIs - see LICENSE.txt
+ - Bytecode Engineering Library - see LICENSE.txt
+ - Regular Expression - see LICENSE.txt
+
+ - Scott Hudson, Frank Flannery, C. Scott Ananian
+ - CUP Parser Generator runtime (javacup\runtime) - see LICENSE.txt
+
+ =========================================================================
+ The source distribution package (ie. all source and tools required to build
+ Xalan Java) of this product includes software developed by the following:
+
+ - The Apache Software Foundation
+ - Xerces Java - see LICENSE.txt
+ - JAXP 1.3 APIs - see LICENSE.txt
+ - Bytecode Engineering Library - see LICENSE.txt
+ - Regular Expression - see LICENSE.txt
+ - Ant - see LICENSE.txt
+ - Stylebook doc tool - see LICENSE.txt
+ - Beans Scripting Framework (BSF) - see LICENSE.txt
+ - Commons Logging - see LICENSE.txt
+
+ - Elliot Joel Berk and C. Scott Ananian
+ - Lexical Analyzer Generator (JLex) - see LICENSE.txt
+
+ - Mozilla Foundation
+ - Rhino: JavaScript implementation in Java - see LICENSE.txt
+
+ =========================================================================
+ Apache Xerces Java
+ Copyright 1999-2022 The Apache Software Foundation
+
+ This product includes software developed at
+ The Apache Software Foundation (http://www.apache.org/).
+
+ Portions of Apache Xerces Java in xercesImpl.jar and xml-apis.jar
+ were originally based on the following:
+ - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+ - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+ - voluntary contributions made by Paul Eng on behalf of the
+ Apache Software Foundation that were originally developed at iClick, Inc.,
+ software copyright (c) 1999.
+
+ =========================================================================
+ Apache xml-commons xml-apis (redistribution of xml-apis.jar)
+
+ Apache XML Commons
+ Copyright 2001-2003,2006 The Apache Software Foundation.
+
+ This product includes software developed at
+ The Apache Software Foundation (http://www.apache.org/).
+
+ Portions of this software were originally based on the following:
+ - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
+ - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
+ - software copyright (c) 2000 World Wide Web Consortium, http://www.w3.org
+
diff --git a/README b/README
new file mode 100644
index 00000000..f8d13c31
--- /dev/null
+++ b/README
@@ -0,0 +1,137 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+Copyright 1999-2023 The Apache Software Foundation
+
+Authors:
+ Gary Gregory <gg...@apache.org>
+ Joe Kesselman
+ Mukul Gandhi <mu...@apache.org>
+
+This file primarily, contains instructions to the person(s) who shall be making an Apache XalanJ
+release for distribution, along with the instructions about how to test XalanJ release before
+recommending the release for distribution.
+
+The details mentioned within this file, may also be used, by XalanJ source distribution users to
+build and test XalanJ from the source distribution (except that, "git clone" steps as mentioned
+within this file, might not be required to be run by XalanJ source distribution users).
+
+(1) Steps to build the XalanJ release
+
+1) Do a git clone, of the relevant XalanJ branches:
+
+git clone --single-branch https://gitbox.apache.org/repos/asf/xalan-java.git -b xalan-j_2_7_1_maint
+
+git clone https://gitbox.apache.org/repos/asf/xalan-test.git
+
+This creates two folders: xalan-java and xalan-test. These folders need to be parallel to
+each other, to be able to follow the XalanJ build and tests steps as described in this document,
+for making a XalanJ release for distribution.
+
+2) Set JAVA_HOME and ANT_HOME environment variables, for example on Windows:
+
+set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-8.0.352.8-hotspot\
+
+set ANT_HOME=C:\java\apache-ant-1.10.12
+
+3) Run the command, "build clean fulldist" from folder xalan-java.
+
+For XalanJ source distribution users, this command needs to be run from, the root
+of the XalanJ source distribution folder (i.e, from the source distribution folder,
+which contains folders "src", "tools" etc).
+
+(2) Steps to run the XalanJ tests, on XalanJ implementation
+
+Note that, for XalanJ source distribution users, XalanJ implementation shall be
+produced (that XalanJ source distribution users, might want to test) by running
+the build command "build clean fulldist" from the root of the XalanJ source
+distribution folder.
+
+1) Go to the XalanJ tests repos's, local git clone folder:
+cd ..\xalan-test
+
+For XalanJ source distribution users, xalan-test folder is located at the root of the XalanJ
+source distribution folder (i.e, parallel to folders "src", "tools" etc within the main XalanJ
+codebase folder location), from where XalanJ source distribution users may run XalanJ
+tests, by using the "build" script located at this folder location.
+
+2) Set JAVA_HOME and ANT_HOME environment variables, for example:
+
+set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-8.0.352.8-hotspot\
+
+set ANT_HOME=C:\java\apache-ant-1.10.12
+
+3) Run the command "build clean jar" from folder xalan-test. This produces
+the file testxsl.jar that acts as main XalanJ test driver, within folder xalan-test/java/build.
+
+4) Run the necessary XalanJ tests as follows,
+
+The tests described below within points 4.1, 4.2, 4.3 need to be run from folder xalan-test.
+
+4.1 Run the ant target "smoketest", using following two commands in sequence shown below
+
+build extensions.classes
+
+build smoketest
+
+The final result of the command "build smoketest" should be following,
+
+smoketest-pass:
+ [echo] [minitest] CONGRATULATIONS! The Smoketest passed!
+
+4.2 Run the ant target "apitest", using following command
+
+build apitest
+
+The final result of the command "build apitest" should be following,
+
+apitest-pass-file-check:
+ [echo] [minitest] CONGRATULATIONS! The api tests passed!
+
+4.3 Run the ant target "conf.xsltc", using the following command
+
+build conf.xsltc
+
+The final result of the command "build conf.xsltc" should be following,
+
+[echo] [minitest] CONGRATULATIONS! The conf.xsltc tests passed!
+
+The XalanJ XSLTC processor, producing compiled translets, is known to have certain issues
+as summarized by the following jira tickets, for the respective mentioned XalanJ conf.xsltc
+test cases as mentioned below (users shall currently see, these xalanj test cases as failing,
+within the test build conf.xsltc's output).
+
+1) output63 https://issues.apache.org/jira/browse/XALANJ-2642
+2) idkey49 https://issues.apache.org/jira/browse/XALANJ-2640
+3) math111 https://issues.apache.org/jira/browse/XALANJ-2641
+4) whitespace35 https://issues.apache.org/jira/browse/XALANJ-2643
+
+These XSLT transformation issues, do not exist with the XalanJ interpretive processor.
+
+4.4 From folder xalan-test/tests/2.7.3_release, run the batch file 2.7.3_release.bat (for Windows) or
+shell script 2.7.3_release.sh (for Linux) to run certain tests, specific to XalanJ 2.7.3 and higher versions.
+
+The final result of running this tests batch file/shell script (point 4.4), for these test's success should
+be following,
+The xalanj integer truncation bug fix test passed!
+The test case passed [xalan_interpretive : jira_xalanj_2584]!
+The test case passed [xalan_xsltc : jira_xalanj_2584]!
+The test case passed [xalan_interpretive : jira_xalanj_2623]!
+The test case passed [xalan_xsltc : jira_xalanj_2623]!
+
+Users may read information within the batch file 2.7.3_release.bat or shell script 2.7.3_release.sh, to know
+more about these tests (i.e, point 4.4).
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000..cdf53d2f
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,23 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Reporting a vulnerability
+
+If you believe you found a vulnerability in Apache XalanJ,
+please contact [the Apache Security Team](https://www.apache.org/security/).
diff --git a/Xalan2.7.0-REL_PLAN.html b/Xalan2.7.0-REL_PLAN.html
new file mode 100644
index 00000000..9b932aed
--- /dev/null
+++ b/Xalan2.7.0-REL_PLAN.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD><TITLE>Xerces 2.7.0 plan</TITLE>
+<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
+<STYLE type=text/css>BODY {
+ MARGIN: 2em 1em 2em 70px; COLOR: black; FONT-FAMILY: New Times Roman, serif; BACKGROUND-COLOR: white
+}
+</STYLE>
+
+<META content="MSHTML 6.00.2800.1226" name=GENERATOR></HEAD>
+<BODY>
+<H1>Xalan 2.7.0 Plan</H1>
+<P><B>Features:</B>
+<UL>
+ <LI>JAXP 1.3 support</LI>
+ <LI>XML 1.1 support for stylesheets that are XML 1.1 documents</LI>
+ <LI>XML 1.1 support for XML documents being transformed</LI>
+ <LI>Serializer API to set the end of line sequence.</LI>
+ <LI>Other misc. features and improvements (time permitting)</LI>
+</UL>
+
+<P>
+<B>Target DCUT (code complete) date: July 28th, 2005 </B>
+</P>
+<P>
+<B>Target release date: Aug 4th, 2005 </B>
+</P>
+
+<H3>Development line items </H3>
+<TABLE border=2>
+ <TBODY>
+ <TR>
+ <TH style="TEXT-ALIGN: left">Line item </TH>
+ <TH style="TEXT-ALIGN: left">Volunteer </TH>
+ <TH style="TEXT-ALIGN: left">Sizing </TH>
+ <TH style="TEXT-ALIGN: left">Timeframe </TH>
+ <TH style="TEXT-ALIGN: left">Status </TH>
+ </TR>
+
+ <TR>
+ <TD><B>JAXP 1.3 support</B></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD></TD>
+ </TR>
+ <TR>
+ <TD>DOMResult nextSibling support (XALANJ-2122)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>May 19, 2005 to May 20, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>messages (XALANJ-2123)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>May 19, 2005 to May 31, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>Documentation update (XALANJ-2124)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>May 19, 2005 to June 15, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>XPath API samples (XALANJ-2125)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>May 19, 2005 to May 24, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>XPathFunctionResolver sample (XALANJ-2126)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>May 19, 2005 to May 30, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>ErrorListener behavior (XALANJ-2134)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>May 19, 2005 to June 3, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>new API testcases (XALANJ-2135)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>June 2, 2005 to June 6, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>new secure feature (XALANJ-2136)</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>June 2, 2005 to June 8, 2005</TD>
+ <TD>Review needed</TD>
+ </TR>
+ <TR>
+ <TD>TransformerFactory.setFeature(String, boolean) security support</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>.</TD>
+ <TD>.</TD>
+ </TR>
+ <TR>
+ <TD>Proper JDK/JRE build-time and run-time dendancies</TD>
+ <TD>Morris Kwan</TD>
+ <TD>.</TD>
+ <TD>.</TD>
+ <TD>.</TD>
+ </TR>
+ <TR>
+ <TD><B>XML 1.1 support</B></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD></TD>
+ </TR>
+ <TR>
+ <TD>XML 1.1 stylesheets</TD>
+ <TD>Yash Talwar</TD>
+ <TD>.</TD>
+ <TD>.</TD>
+ <TD>Complete</TD>
+ </TR>
+ <TR>
+ <TD>XML 1.1 transform input docs</TD>
+ <TD>Yash Talwar</TD>
+ <TD>.</TD>
+ <TD>.</TD>
+ <TD>Complete</TD>
+ </TR>
+ <TR>
+ <TD><B>Serializer API to set the end of line sequence</B></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD></TD>
+ </TR>
+ <TR>
+ <TD>API</TD>
+ <TD>Brian Minchau</TD>
+ <TD>1 pd</TD>
+ <TD>May 30, 2005</TD>
+ <TD>Complete</TD>
+ </TR>
+ <TR>
+ <TD><B>DCUT </B></TD>
+ <TD></TD>
+ <TD></TD>
+ <TD>July 28th, 2005 </TD>
+ <TD></TD>
+ </TR>
+ <TR>
+ <TD><B>Review and fix severe defects reported in Bugzilla/Jira </B></TD>
+ <TD>All</TD>
+ <TD>1 pw</TD>
+ <TD>Week of July 28th, 2005 - Aug 4, 2005 </TD>
+ <TD>.</TD>
+ </TR>
+ <TR>
+ <TD><B>Build and publish Xalan 2.7.0</B> </TD>
+ <TD></TD>
+ <TD></TD>
+ <TD>Aug 4th, 2005 </TD>
+ <TD></TD>
+ </TR>
+</TBODY>
+</TABLE>
+<H3>Candidate features and cleanup items (if time permits) </H3>
+<UL>
+ <LI>...
+ <LI>... </LI>
+</UL>
+</BODY>
+</HTML>
diff --git a/build.bat b/build.bat
new file mode 100644
index 00000000..25c89b86
--- /dev/null
+++ b/build.bat
@@ -0,0 +1,70 @@
+@echo off
+rem
+rem ==========================================================================
+rem = Licensed to the Apache Software Foundation (ASF) under one or more
+rem = contributor license agreements. See the NOTICE file distributed with
+rem = this work for additional information regarding copyright ownership.
+rem = The ASF licenses this file to You under the Apache License, Version 2.0
+rem = (the "License"); you may not use this file except in compliance with
+rem = the License. You may obtain a copy of the License at
+rem =
+rem = http://www.apache.org/licenses/LICENSE-2.0
+rem =
+rem = Unless required by applicable law or agreed to in writing, software
+rem = distributed under the License is distributed on an "AS IS" BASIS,
+rem = WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem = See the License for the specific language governing permissions and
+rem = limitations under the License.
+rem ==========================================================================
+rem
+rem build.bat: Build Xalan-J 2.x using Ant
+rem Author: XalanJ team
+rem
+rem Usage: build [ant-options] [targets]
+rem
+rem Setup:
+rem 1) You must set JAVA_HOME
+rem
+rem 2) You can set ANT_HOME if you use your own Ant install
+
+echo.
+echo Xalan-J 2.x Build
+echo -----------------
+
+if "%JAVA_HOME%"=="" goto noJavaHome
+
+if exist "%JAVA_HOME%\lib\tools.jar" (
+ set _CLASSPATH=%JAVA_HOME%\lib\tools.jar
+)
+
+set _JAVACMD=%JAVA_HOME%\bin\java
+
+rem Default ANT_HOME to the one what user has set
+if not "%ANT_HOME%"=="" set _ANT_HOME=%ANT_HOME%
+if "%ANT_HOME%"=="" set _ANT_HOME=.
+
+if exist "%_ANT_HOME%\tools\ant.jar" (
+ set _ANT_JARS=%_ANT_HOME%\tools\ant.jar
+) else (
+ set _ANT_JARS=%_ANT_HOME%\lib\ant.jar;%_ANT_HOME%\lib\ant-launcher.jar
+)
+
+set _CLASSPATH=%_CLASSPATH%;%_ANT_JARS%
+
+set XERCES_ENDORSED_DIR_PATH=lib\endorsed
+
+@echo on
+"%_JAVACMD%" -mx1024m -Djava.endorsed.dirs=%XERCES_ENDORSED_DIR_PATH% -classpath "%_CLASSPATH%" org.apache.tools.ant.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
+@echo off
+
+goto end
+
+:noJavaHome
+echo Warning: JAVA_HOME environment variable is not set
+
+:end
+rem Cleanup environment variables
+set _JAVACMD=
+set _CLASSPATH=
+set _ANT_HOME=
+set _ANT_JARS=
diff --git a/build.sh b/build.sh
new file mode 100644
index 00000000..4f7ac97c
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+#
+#=========================================================================
+# Copyright 2001-2023 The Apache Software Foundation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#=========================================================================
+#
+# Name: build.sh
+# Author: Joe Kesselman
+# Fresh port from Mukul Gandhi's revised build.bat.
+# WARNING: This currently does not include the hooks needed
+# to make the script compatable with cygwin (unix/Linux shell
+# and commands ported to run under Windows). See
+# deprecated_build.sh to see how we handled the cygwin
+# syntax differences back in 2001. These days, Windows users
+# are more likely to use WSL, which simplifies matters.
+
+# See: build.xml
+
+# Setup:
+# 1) You must set JAVA_HOME, for example,
+# $ export JAVA_HOME=/etc/alternatives/java_sdk
+
+# 2) You can set ANT_HOME if you use your own Ant install, for example,
+# $ export ANT_HOME=/usr/share/ant
+
+echo
+echo Xalan-J test automation build
+echo -----------------------------
+
+if [ "$1" = "-h" ]; then
+ echo build.sh - executes Xalan Java-based test automation
+ echo Usage: build [target] [-D options]
+ echo Example: build api -DtestClass=TransformerAPITest -Dqetest.loggingLevel=30
+ echo
+ echo You MUST export the JAVA_HOME environment variable to point to the JDK
+ echo You CAN export ANT_HOME environment variable if you use your own Ant install
+
+ exit 1
+fi
+
+if [ "$JAVA_HOME" = "" ]; then
+ echo Warning: JAVA_HOME environment variable is not exported
+ echo You may have meant to set it to /etc/alternatives/java_sdk
+ exit 1
+fi
+
+if [ -f "$JAVA_HOME/lib/tools.jar" ]; then
+ CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar
+fi
+
+JAVACMD=$JAVA_HOME/bin/java
+
+CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar
+
+# Since Linux has scoped environments, we don't need explicit temporary vars.
+# Default is to use a copy of ant bundled with xalan-java.
+if [ "$ANT_HOME" = "" ]; then
+ ANT_HOME=.
+fi
+
+# Check user's ANT_HOME to make sure it actually has what we need
+if [ -f "$ANT_HOME/tools/ant.jar" ]; then
+ ANT_JARS=$ANT_HOME/tools/ant.jar
+else
+ ANT_JARS=$ANT_HOME/lib/ant.jar:$ANT_HOME/lib/ant-launcher.jar
+fi
+
+CLASSPATH=$CLASSPATH:$ANT_JARS
+
+XERCES_ENDORSED_DIR_PATH=lib/endorsed
+
+XALAN_BUILD_DIR_PATH=../xalan-java/build:../build
+
+# Reminder: Note $* versus $@ distinction
+echo Running:$JAVACMD -mx1024m -Djava.endorsed.dirs=$XERCES_ENDORSED_DIR_PATH -classpath "$CLASSPATH" org.apache.tools.ant.Main "$@"
+$JAVACMD -mx1024m -Djava.endorsed.dirs=$XERCES_ENDORSED_DIR_PATH -classpath "$CLASSPATH" org.apache.tools.ant.Main "$@"
+
+echo "build.sh complete!"
diff --git a/build.xml b/build.xml
new file mode 100644
index 00000000..55c7d38e
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,1936 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<!-- ===================================================================
+
+ 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/xsltc: use JDK 1.2.x or higher
+
+Build Instructions:
+ To build, run
+ build.bat (win32) or build.sh (unix) [antoptions] [targets]
+ in the directory where this file is located; you should also be
+ able to use an installation of Ant v1.4.1 or later.
+
+ build -projecthelp will show a list of supported targets.
+
+ Developers: include a description="" attribute in all user-callable targets.
+
+ If you build a target that depends on other targets, those other
+ targets are *usually* created in the correct order; however a
+ few of the larger targets like dist do not list all dependencies.
+
+Other Important Notes:
+- 'dist' produces a .tar file that works with GNU compatible tar
+ programs, because that's what Ant does when it finds a path that's
+ longer than 100 characters (like in our docs). Sorry!
+
+- External build maintainers: look for GUMP: comments; developers
+ please use great caution when changing these lines!
+
+- Unusual build items: the docs and xsltc.compile targets leave
+ cruft in the source areas; various clean targets get most of this.
+
+Authors:
+ Shane Curcuru <sh...@lotus.com>
+ Don Leslie <do...@lotus.com>
+
+$Id$
+==================================================================== -->
+
+<project name="Xalan" default="jar" basedir=".">
+
+ <property name="name" value="xalan"/>
+ <property name="year" value="2023"/>
+ <property name="build.debug" value="on"/>
+ <property name="compiler.target" value="1.8"/>
+ <property name="compiler.source" value="1.8"/>
+ <property name="compiler.nowarn" value="on"/>
+
+ <!-- Xalan Java version information -->
+ <property name="version.VERSION" value="2"/>
+ <property name="version.RELEASE" value="7"/>
+ <property name="version.DEVELOPER" value=""/><!-- Set this to 'D' if a developer release; blank "" if maintenance release -->
+ <property name="version.MINOR" value="3"/><!-- EITHER the developer release number, or a maintenance release number -->
+ <property name="version" value="${version.VERSION}_${version.RELEASE}_${version.DEVELOPER}${version.MINOR}"/><!-- GUMP: version # of dist file -->
+ <property name="impl.version" value="${version.VERSION}.${version.RELEASE}.${version.DEVELOPER}${version.MINOR}"/><!-- Used in jar task for filtering MANIFEST.MF file -->
+
+ <!-- Xerces Java version information -->
+ <property name="parser.version.VERSION" value="2"/>
+ <property name="parser.version.RELEASE" value="12"/>
+ <property name="parser.version.MINOR" value="2"/>
+
+ <!-- Xalan Java directories -->
+ <!-- <property name="bin.dir" value="./bin"/> -->
+ <property name="build.dir" value="./build"/>
+ <property name="lib.dir" value="./lib"/>
+ <property name="endorsed.dir" value="${lib.dir}/endorsed"/>
+ <property name="samples.dir" value="./samples"/>
+ <property name="src.dir" value="./src"/>
+ <property name="tools.dir" value="./tools"/>
+ <property name="xdocs.dir" value="./xdocs"/>
+
+ <property name="apachexml.reldir" value="org/apache/xml"/>
+ <property name="serializer.reldir" value="org/apache/xml/serializer"/>
+ <property name="xpath.reldir" value="org/apache/xpath"/>
+ <property name="xalan.reldir" value="org/apache/xalan"/>
+ <property name="domxpath.reldir" value="org/w3c/dom/xpath"/>
+ <property name="xsltc.reldir" value="${xalan.reldir}/xsltc"/>
+
+ <!-- Jars to run Xalan Java (Interpretive, Compiled, or both) -->
+ <property name="xmlapis.jar.name" value="xml-apis.jar"/>
+ <property name="xmlapis.jar" value="${endorsed.dir}/${xmlapis.jar.name}"/>
+ <property name="parser.jar.name" value="xercesImpl.jar"/>
+ <property name="parser.jar" value="${endorsed.dir}/${parser.jar.name}"/>
+ <property name="bcel.jar.name" value="bcel-6.7.0.jar"/>
+ <property name="bcel.jar" value="${lib.dir}/${bcel.jar.name}"/>
+ <property name="runtime.jar.name" value="runtime.jar"/>
+ <property name="runtime.jar" value="${lib.dir}/${runtime.jar.name}"/>
+ <property name="regexp.jar.name" value="regexp.jar"/>
+ <property name="regexp.jar" value="${lib.dir}/${regexp.jar.name}"/>
+
+ <!-- Jars to build Xalan Java (Interpretive, Compiled, or both) or build the docs -->
+ <property name="java_cup.jar.name" value="java_cup.jar"/>
+ <property name="java_cup.jar" value="${tools.dir}/${java_cup.jar.name}"/>
+ <property name="jlex.jar.name" value="JLex.jar"/>
+ <property name="jlex.jar" value="${tools.dir}/${jlex.jar.name}"/>
+ <property name="stylebook.jar.name" value="stylebook-1.0-b3_xalan-2.jar"/>
+ <property name="stylebook.jar" value="${tools.dir}/${stylebook.jar.name}"/>
+ <property name="doclet.jar.name" value="xalan2jdoc.jar"/>
+ <property name="doclet.jar" value="${tools.dir}/${doclet.jar.name}"/>
+ <property name="taglet.jar.name" value="xalan2jtaglet.jar"/>
+ <property name="taglet.jar" value="${tools.dir}/${taglet.jar.name}"/>
+
+ <!-- Jars to build Xalan Java samples -->
+ <property name="servlet-api.jar.name" value="servlet-api-2.5.jar"/>
+ <property name="servlet-api.jar" value="${lib.dir}/${servlet-api.jar.name}"/>
+ <property name="javaee-api.jar.name" value="javaee-api-5.0-2.jar"/>
+ <property name="javaee-api.jar" value="${lib.dir}/${javaee-api.jar.name}"/>
+ <property name="brazil.jar.name" value="brazil-2.1.jar"/>
+ <property name="brazil.jar" value="${lib.dir}/${brazil.jar.name}"/>
+
+ <!-- Relative locations of source directories -->
+ <property name="manifest.mf" value="./src/MANIFEST.MF"/>
+ <property name="manifest.xsltc.mf" value="./src/manifest.xsltc"/>
+ <property name="manifest.xalan-interpretive.mf" value="./src/manifest.xalan-interpretive"/>
+ <property name="XSLTInfo.props" value="./src/org/apache/xalan/res/XSLTInfo.properties"/>
+ <property name="generated.xpathparser" value="${src.dir}/${xsltc.reldir}/compiler/XPathParser.java"/>
+ <property name="generated.xpathlexer" value="${src.dir}/${xsltc.reldir}/compiler/XPathLexer.java"/>
+ <property name="generated.xpathsym" value="${src.dir}/${xsltc.reldir}/compiler/sym.java"/>
+
+ <!-- Build and distribution output areas -->
+ <property name="build.xalan.jar" value="${build.dir}/${name}.jar"/><!-- GUMP: actual path/name of jar target output -->
+ <property name="build.xalan-unbundled.jar" value="${build.dir}/${name}-unbundled.jar"/>
+ <property name="build.xalan-interpretive.jar" value="${build.dir}/${name}.jar"/>
+ <property name="build.xsltc.jar" value="${build.dir}/xsltc.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.servlet" value="${build.samples}/servlet"/>
+ <property name="build.apidocs" value="${build.docs}/apidocs"/>
+ <property name="dist.pkg" value="${name}-j_${version}"/><!-- GUMP: actual path/name of dist target .tar.gz/.zip-->
+ <property name="dist.file" value="${dist.pkg}"/>
+ <property name="dist.dir" value="${build.dir}/${dist.pkg}"/>
+
+ <!-- xml-commons sources (for Javadoc) -->
+ <property name="xml-commons-srcs.tar.gz" value="${src.dir}/xml-commons-external-1.3.02-src.tar.gz"/>
+ <property name="xml-commons-srcs.tar" value="${build.dir}/xml-commons-external-1.3.02-src.tar"/>
+
+ <!-- Documentation and samples information -->
+ <property name="Name-in-docs" value="Xalan-Java"/>
+ <property name="version.file" value="${xalan.reldir}/processor/XSLProcessorVersion.java"/>
+
+ <property name="build.samples.jar" value="${build.dir}/xalansamples.jar"/>
+ <property name="build.servlet.war" value="${build.dir}/xalanservlet.war"/>
+ <property name="build.xsltc.applet.jar" value="${build.dir}/xsltcapplet.jar"/>
+ <property name="build.xsltc.brazil.jar" value="${build.dir}/xsltcbrazil.jar"/>
+ <property name="build.xsltc.ejb.jar" value="${build.dir}/xsltcejb.jar"/>
+ <property name="build.xsltc.servlet.jar" value="${build.dir}/xsltcservlet.jar"/>
+
+ <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="xalan.cmdline.class" value="org.apache.xalan.xslt.Process"/>
+ <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="xalan.apache.org.site.root" value="./xalan-apache-org-site"/>
+ <property name="xalan.apache.org.site.dir" value="${xalan.apache.org.site.root}/target/xalan-apache-org"/>
+ <property name="xalan.apache.org.site.book" value="${xdocs.dir}/sources/xalan-apache-org-site.xml"/>
+
+
+ <property name="xdocs.DONE.file" value="${xdocs.dir}/sources/xalan/DONE"/>
+ <property name="xdocs.XSLTCDONE.file" value="XSLTCDONE"/>
+ <property name="xdocs.XSLTCDONE.location" value="${xdocs.dir}/sources/xalan/${xdocs.XSLTCDONE.file}"/>
+
+
+ <!-- PROPERTIES TO COMPILE THE SERIALIZER ======================================= -->
+ <property name="serializer.src.dir" value="./src"/>
+ <property name="serializer.build.dir" value="./build"/>
+ <property name="serializer.build.classes" value="${serializer.build.dir}/serializer"/>
+
+ <!-- PROPERTIES TO MAKE THE SERIALIZER JAR ======================================= -->
+ <property name="serializer.manifest.basename" value="MANIFEST.SERIALIZER"/>
+ <property name="serializer.manifest" value="${serializer.src.dir}/${serializer.manifest.basename}"/>
+ <property name="serializer.impl.version" value="${impl.version}"/>
+ <property name="serializer.java.version" value="${java.version}"/>
+ <property name="serializer.java.vendor" value="${java.vendor}"/>
+ <property name="serializer.jar.name" value="serializer.jar"/>
+ <property name="build.serializer.jar" value="${serializer.build.dir}/${serializer.jar.name}"/>
+ <property name="lib.serializer.jar" value="./lib/${serializer.jar.name}"/>
+
+ <!-- Class paths used in various targets -->
+ <path id="docs.class.path">
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement location="${bcel.jar}" />
+ <pathelement location="${runtime.jar}" />
+ <pathelement location="${stylebook.jar}" />
+ <pathelement location="${doclet.jar}" />
+ <pathelement location="${taglet.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${build.xalan.jar}" />
+ </path>
+ <path id="samples.class.path">
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement location="${build.xalan.jar}" />
+ </path>
+ <path id="compile.class.path">
+ <!-- Ensure the selected parser.jar file is used to compile against -->
+ <pathelement location="${build.classes}" />
+ <pathelement location="${serializer.build.classes}" />
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${parser.jar}" />
+ </path>
+ <path id="xslt.boot.class.path">
+ <!-- Put this version of xalan in front of the jdk's for JDK 1.4+ -->
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement path="${sun.boot.class.path}" />
+ </path>
+ <path id="compile.source.path">
+ <dirset dir="${src.dir}" includes="/org/apache/**" />
+ </path>
+
+ <!-- patternsets for source and binary distribution packages -->
+ <patternset id="bin-distro">
+ <include name="${dist.file}/LICENSE.txt"/>
+ <include name="${dist.file}/NOTICE.txt"/>
+ <include name="${dist.file}/readme.html"/>
+ <include name="${dist.file}/xalan.jar"/>
+ <!-- xsltc.jar will only be picked up if it has been built -->
+ <include name="${dist.file}/xsltc.jar"/>
+ <include name="${dist.file}/${xmlapis.jar.name}"/>
+ <include name="${dist.file}/${parser.jar.name}"/>
+ <include name="${dist.file}/${serializer.jar.name}"/>
+ <include name="${dist.file}/samples/"/>
+ <include name="${dist.file}/samples/xalansamples.jar"/>
+ <include name="${dist.file}/samples/xalanservlet.war"/>
+ <include name="${dist.file}/samples/xsltcapplet.jar"/>
+ <include name="${dist.file}/samples/xsltcbrazil.jar"/>
+ <include name="${dist.file}/samples/xsltcejb.jar"/>
+ <include name="${dist.file}/samples/xsltcservlet.jar"/>
+ <include name="${dist.file}/docs/"/>
+ </patternset>
+ <patternset id="bin-distro-nodocs">
+ <include name="${dist.file}/LICENSE.txt"/>
+ <include name="${dist.file}/NOTICE.txt"/>
+ <include name="${dist.file}/readme.html"/>
+ <include name="${dist.file}/xalan.jar"/>
+ <!-- xsltc.jar will only be picked up if it has been built -->
+ <include name="${dist.file}/xsltc.jar"/>
+ <include name="${dist.file}/${xmlapis.jar.name}"/>
+ <include name="${dist.file}/${parser.jar.name}"/>
+ <include name="${dist.file}/${serializer.jar.name}"/>
+ <include name="${dist.file}/samples/"/>
+ <include name="${dist.file}/samples/xalansamples.jar"/>
+ <include name="${dist.file}/samples/xalanservlet.war"/>
+ <include name="${dist.file}/samples/xsltcapplet.jar"/>
+ <include name="${dist.file}/samples/xsltcbrazil.jar"/>
+ <include name="${dist.file}/samples/xsltcejb.jar"/>
+ <include name="${dist.file}/samples/xsltcservlet.jar"/>
+ </patternset>
+ <patternset id="src-distro">
+ <include name="${dist.file}/LICENSE.txt"/>
+ <include name="${dist.file}/NOTICE.txt"/>
+ <include name="${dist.file}/*build.*"/>
+ <include name="${dist.file}/commits.xml"/>
+ <include name="${dist.file}/KEYS"/>
+ <include name="${dist.file}/readme.html"/>
+ <include name="${dist.file}/README"/>
+ <include name="${dist.file}/lib/"/>
+ <include name="${dist.file}/tools/"/>
+ <include name="${dist.file}/samples/"/>
+ <exclude name="${dist.file}/samples/xalansamples.jar"/>
+ <exclude name="${dist.file}/samples/xalanservlet.war"/>
+ <exclude name="${dist.file}/samples/xsltcapplet.jar"/>
+ <exclude name="${dist.file}/samples/xsltcbrazil.jar"/>
+ <exclude name="${dist.file}/samples/xsltcejb.jar"/>
+ <exclude name="${dist.file}/samples/xsltcservlet.jar"/>
+ <include name="${dist.file}/src/"/>
+ <include name="${dist.file}/xdocs/"/>
+ <include name="${dist.file}/build_srcdist_xalan.xml"/>
+ <include name="${dist.file}/build_srcdist_xalan_tests.xml"/>
+ <include name="${dist.file}/xalan-test/"/>
+ </patternset>
+
+ <!-- XSLTC engine dependency .jar files -->
+ <patternset id="xsltc-deps-jars">
+ <include name="${dist.file}/lib/${bcel.jar.name}"/>
+ <include name="${dist.file}/tools/${java_cup.jar.name}"/>
+ <include name="${dist.file}/tools/${jlex.jar.name}"/>
+ <include name="${dist.file}/lib/${runtime.jar.name}"/>
+ <include name="${dist.file}/lib/${regexp.jar.name}"/>
+ </patternset>
+
+ <!-- =================================================================== -->
+ <!-- Creates output build directories and doc prerequistes -->
+ <!-- =================================================================== -->
+ <target name="prepare">
+ <echo message="Project:${Name-in-docs} version:${version} build.xml $Revision$"/>
+ <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="${test.relpath}" property="tests-available" />
+ <available property="xerces.present"
+ classname="org.apache.xerces.parsers.SAXParser"/>
+
+ <!-- Update version information. This copies the Version.src
+ file into Version.java, while replacing the following tokens
+ -->
+ <filter token="version.VERSION" value="${version.VERSION}"/>
+ <filter token="version.RELEASE" value="${version.RELEASE}"/>
+ <filter token="version.MINOR" value="${version.MINOR}"/>
+ <filter token="version.DEVELOPER" value="${version.DEVELOPER}"/>
+ <filter token="parser.version.VERSION" value="${parser.version.VERSION}"/>
+ <filter token="parser.version.RELEASE" value="${parser.version.RELEASE}"/>
+ <filter token="parser.version.MINOR" value="${parser.version.MINOR}"/>
+ <copy tofile="${src.dir}/${xalan.reldir}/Version.java" file="${src.dir}/${xalan.reldir}/Version.src" filtering="true"/>
+ <copy tofile="${src.dir}/${xalan.reldir}/processor/XSLProcessorVersion.java" file="${src.dir}/${xalan.reldir}/processor/XSLProcessorVersion.src" filtering="true"/>
+ <copy tofile="${src.dir}/${serializer.reldir}/Version.java" file="${src.dir}/${serializer.reldir}/Version.src" filtering="true"/>
+ <copy tofile="${xdocs.dir}/sources/entities.ent" file="${xdocs.dir}/sources/entities.src" filtering="true"/>
+ </target>
+
+ <!-- Must depend on jar since we use Xalan to process xml files -->
+ <target name="prepare.docs" depends="jar,prepare.docs.nojardepends"/>
+
+ <target name="prepare.docs.nojardepends">
+ <mkdir dir="${build.docs}"/>
+ <mkdir dir="${build.apidocs}"/>
+
+ <gunzip src="${doc.generator.styletargz}"/>
+ <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
+ <delete file="${doc.generator.styletar}"/>
+
+ <!-- We use a sed script to extract Xalan-Java 2 commits from the repository 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 -->
+ <echo message="Transform commits.xml and put the result in ${xdocs.dir}"/>
+ <java fork="yes" classname="${xalan.cmdline.class}" >
+ <classpath refid="docs.class.path" />
+ <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done.xsl -out ${xdocs.DONE.file} -param xsltcdone ${xdocs.XSLTCDONE.file}"/>
+ </java>
+ <echo message="Generate Xalan-J 2.x design document"/>
+ <java fork="yes" classname="${doc.generator}" >
+ <classpath refid="docs.class.path" />
+ <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./build/docs/design/
+ ./xdocs/sources/xalandesign.xml ./xdocs/style"/>
+ </java>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compile the DTM implementation and xml utilities -->
+ <!-- =================================================================== -->
+ <target name="xml.compile" depends="prepare,serializer.jar">
+ <echo message="Compiling DTM implementation and utilities" />
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <include name="${apachexml.reldir}/**/*.java" />
+ <!-- exclude the serializer -->
+ <exclude name="${serializer.reldir}/**/*.java" />
+ <!-- Exclude file that depends upon presence of Xerces in build path -->
+ <exclude name="**/IncrementalSAXSource_Xerces.java"
+ unless="xerces.present" />
+ <classpath refid="compile.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
+ <copy todir="${build.classes}">
+ <fileset dir="${src.dir}"
+ includes="${apachexml.reldir}/**/*.properties"
+ excludes="${serializer.reldir}/**/*.properties"
+ />
+ </copy>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compile the Xalan interpreter source tree -->
+ <!-- =================================================================== -->
+ <target name="xalan-interpretive.compile" depends="xml.compile"
+ description="Compile the Xalan interpretive classes (skips XSLTC)" >
+ <echo message="Compiling Xalan interpretive classes" />
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <include name="${xpath.reldir}/**/*.java" />
+ <include name="${domxpath.reldir}/**/*.java" />
+ <include name="${xalan.reldir}/**/*.java" />
+ <exclude name="${xsltc.reldir}/**/*.java" />
+ <classpath refid="compile.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ <sourcepath refid="compile.source.path" />
+ </javac>
+ <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
+ <copy todir="${build.classes}">
+ <fileset dir="${src.dir}" includes="**/*.properties,META-INF/services/*" excludes="**/XSLTInfo.properties"/>
+ </copy>
+ <filter token="impl.version" value="${impl.version}"/>
+ <copy todir="${build.classes}/org/apache/xalan/res" file="${XSLTInfo.props}" filtering="true"/>
+ </target>
+
+ <!-- Compile all java sources (Xalan interpretive and XSLTC) -->
+ <target name="compile" depends="xalan-interpretive.compile,xsltc.compile"
+ description="Compile all java source files (Xalan interpretive + XSLTC)" >
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compile just the XSLTC compiler portion -->
+ <!-- =================================================================== -->
+ <path id="xsltc.class.path">
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${bcel.jar}" />
+ <pathelement location="${jlex.jar}" />
+ <pathelement location="${java_cup.jar}" />
+ <pathelement location="${runtime.jar}" />
+ <!-- build.classes needed for
+ org.apache.xalan.xsltc.util.JavaCupRedirect -->
+ <pathelement location="${build.classes}" />
+ </path>
+
+ <!-- Attempt to determine dependency info for generated sources -->
+ <target name="xsltc.prepare" depends="prepare" >
+ <!-- The first step compiles the utils directory, which includes
+ a special wrapper for the xsltc.codegen / java_cup step next. -->
+ <echo message="Compiling XSLTC utilities"/>
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ includes="${xsltc.reldir}/util/**/*.java"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="xsltc.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ <!-- These tricky uptodate statements hopefully determine if we
+ actually need to generate the java_cup and jlex files
+ in the two sub-targets below
+ -->
+ <uptodate property="xsltc.java_cup.not_needed" targetfile="${generated.xpathparser}" >
+ <srcfiles dir="${src.dir}/${xsltc.reldir}/compiler" includes="xpath.cup" />
+ </uptodate>
+
+ <uptodate property="xsltc.jlex.not_needed" targetfile="${generated.xpathlexer}" >
+ <srcfiles dir="${src.dir}/${xsltc.reldir}/compiler" includes="xpath.lex" />
+ </uptodate>
+
+ <!-- Determine whether the support jars are already expanded -->
+ <available file="${build.classes}/org/apache/bcel" type="dir" property="xsltc.bcel_jar.not_needed" />
+ <available file="${build.classes}/JLex" type="dir" property="xsltc.jlex_jar.not_needed" />
+ <available file="${build.classes}/java_cup/Main.class" type="file" property="xsltc.java_cup_jar.not_needed" />
+ <available file="${build.classes}/java_cup/runtime" type="dir" property="xsltc.runtime_jar.not_needed" />
+ <available file="${build.classes}/org/apache/regexp" type="dir" property="xsltc.regexp_jar.not_needed" />
+ </target>
+
+ <!-- Generate the XPath parser sources for xsltc if needed -->
+ <target name="xsltc.java_cup" depends="xsltc.prepare" unless="xsltc.java_cup.not_needed">
+ <!-- The second step generates sym.java and XPathParser.java. -->
+ <echo message="java_cup preparsing"/>
+ <java fork="yes" failonerror="true"
+ classname="org.apache.xalan.xsltc.util.JavaCupRedirect" >
+ <classpath refid="xsltc.class.path" />
+ <!-- need to bootclasspath java_cup for JDKs that include JavaCupRedirect -->
+ <jvmarg value="-Xbootclasspath/p:${java_cup.jar}${path.separator}${runtime.jar}"/>
+ <!-- We're using JavaCupRedirect to call the java_cup application -->
+ <arg line="-parser XPathParser -expect 0
+ -stdin ${src.dir}/${xsltc.reldir}/compiler/xpath.cup"/>
+ </java>
+ <echo message="java_cup move output files"/>
+ <move file="XPathParser.java" tofile="${generated.xpathparser}"/>
+ <move file="sym.java" tofile="${generated.xpathsym}"/>
+ </target>
+
+ <!-- Generate the XPath lexer sources for xsltc if needed -->
+ <target name="xsltc.jlex" depends="xsltc.java_cup" unless="xsltc.jlex.not_needed">
+ <!-- The third step generates XPathLexer.java. The lexiographical analyser
+ has to be generated after sym.java, so order is important. -->
+ <echo message="JLex preparsing"/>
+ <java fork="yes" failonerror="true" classname="JLex.Main" >
+ <classpath refid="xsltc.class.path" />
+ <arg line="-static ${src.dir}/${xsltc.reldir}/compiler/xpath.lex"/>
+ </java>
+ <echo message="JLex move output file"/>
+ <move file="${src.dir}/${xsltc.reldir}/compiler/xpath.lex.java" tofile="${generated.xpathlexer}"/>
+ </target>
+
+ <!-- Compile the main XSLTC classes -->
+ <target name="xsltc.compile" depends="xsltc.java_cup,xsltc.jlex,xml.compile"
+ description="Compile just the XSLTC classes" >
+ <echo message="Compiling remaining XSLTC classes"/>
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ includes="${xsltc.reldir}/**/*.java"
+ excludes="${serializer.reldir}/**/*.java"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="xsltc.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ </target>
+
+ <!-- Compile just the XSLTC classes w/o JLex, JCup recompilation -->
+ <target name="xsltc.fcompile" depends="xml.compile"
+ description="Compile just the XSLTC classes w/o JLex, JCup recompilation" >
+ <echo message="Compiling remaining XSLTC classes"/>
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ includes="${xsltc.reldir}/**/*.java"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="xsltc.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ </target>
+
+ <!-- Jar up the XSLTC classes w/o the support jars -->
+ <target name="xsltc.unbundledjar" depends="xsltc.compile"
+ description="Jar just the xsltc.jar file" >
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.xsltc.mf}" filtering="true"/>
+ <jar jarfile="${build.xsltc.jar}" manifest="${build.dir}/manifest.xsltc" basedir="${build.classes}" >
+ <patternset><!-- relative to jar/@basedir -->
+ <include name="org/apache/xml/**" />
+ <include name="${xsltc.reldir}/**/*" />
+ <exclude name="org/apache/xalan/xsltc/util/JavaCupRedirect*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <!-- Copy license and readme files for XSLTC support jars -->
+ <target name="xsltc.copy-licenses" depends="xsltc.prepare">
+ </target>
+
+ <!-- A parametrized target which is used to copy and expand a XSLTC support jar -->
+ <target name="xsltc.copy-deps-jar" unless="${param_unless}">
+ <!-- copy the jar file to the build/classes directory -->
+ <copy todir="${build.classes}" file="${lib.dir}/${param_jar_name}"/>
+
+ <!-- unjar the jar file -->
+ <unjar src="${build.classes}/${param_jar_name}" dest="${build.classes}" />
+
+ <!-- remove the jar file -->
+ <delete file="${build.classes}/${param_jar_name}" />
+ </target>
+
+ <!-- Copy and expand the XSLTC support jars if needed -->
+ <target name="xsltc.copy-deps-jars" depends="xsltc.copy-licenses">
+ <echo message="Copying XSLTC support jars" />
+ <!-- copy the 3rd party support jar files -->
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.bcel_jar.not_needed" />
+ <param name="param_jar_name" value="${bcel.jar.name}" />
+ </antcall>
+
+<!-- We don't need to package the JLex or java_cup jars in the xalan.jar.
+ These are only required for building XSLTC, not for using XSLTC.
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.jlex_jar.not_needed" />
+ <param name="param_jar_name" value="${jlex.jar.name}" />
+ </antcall>
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.java_cup_jar.not_needed" />
+ <param name="param_jar_name" value="${java_cup.jar.name}" />
+ </antcall>
+-->
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.runtime_jar.not_needed" />
+ <param name="param_jar_name" value="${runtime.jar.name}" />
+ </antcall>
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.regexp_jar.not_needed" />
+ <param name="param_jar_name" value="${regexp.jar.name}" />
+ </antcall>
+
+ <!-- remove the old META-INF/MANIFEST.MF file -->
+ <delete file="${build.classes}/META-INF/MANIFEST.MF" quiet="true"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xsltc jar including all support jars -->
+ <!-- =================================================================== -->
+ <target name="xsltc.jar" depends="xsltc.compile,xsltc.copy-deps-jars"
+ description="Jar xsltc,xml,BCEL,JLex,java_cup,runtime and jakarta regexp">
+
+ <!-- create new META-INF dir w/ transformer factory default -->
+ <!-- GTM: comment this out so that bundled xsltc.jar does not have
+ service provider default until further notice 2/20/2002
+ <mkdir dir="${build.dir}/xsltctmp/META-INF"/>
+ <mkdir dir="${build.dir}/xsltctmp/META-INF/services"/>
+ <copy todir="${build.dir}/xsltctmp/META-INF/services"
+ file="${src.dir}/${xsltc.reldir}/javax.xml.transform.TransformerFactory"
+ />
+ -->
+
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.xsltc.mf}" filtering="true"/>
+
+ <!-- make bundled jar named xsltc.jar -->
+ <jar jarfile="${build.dir}/xsltc.jar" manifest="${build.dir}/manifest.xsltc" >
+ <fileset dir="${build.classes}">
+ <include name="org/apache/xalan/xsltc/**"/>
+ <exclude name="org/apache/xalan/xsltc/util/JavaCupRedirect*" />
+ </fileset>
+ <fileset dir="${build.classes}" includes="org/apache/xml/**"
+ excludes="${serializer.reldir}/**" />
+ <fileset dir="${build.classes}" includes="org/apache/bcel/**" />
+ <fileset dir="${build.classes}" includes="JLex/**" />
+ <fileset dir="${build.classes}" includes="java_cup/**" />
+ <fileset dir="${build.classes}" includes="org/apache/regexp/**" />
+ </jar>
+
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xalan interpretive jar -->
+ <!-- =================================================================== -->
+ <target name="xalan-interpretive.jar" depends="xalan-interpretive.compile"
+ description="Jar up everything in Xalan interpretive (without XSLTC)" >
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.xalan-interpretive.mf}" filtering="true"/>
+ <jar jarfile="${build.xalan-interpretive.jar}" manifest="${build.dir}/manifest.xalan-interpretive" basedir="${build.classes}" >
+ <patternset><!-- relative to jar/@basedir -->
+ <include name="${apachexml.reldir}/**/*" />
+ <include name="${xpath.reldir}/**/*" />
+ <include name="${xalan.reldir}/**/*" />
+ <include name="${domxpath.reldir}/**/*" />
+ <include name="META-INF/services/*" />
+ <exclude name="${xsltc.reldir}/**/*" />
+ <exclude name="${serializer.reldir}/**/*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xalan unbundled jar (Xalan interpretive + XSLTC - -->
+ <!-- support jars -->
+ <!-- =================================================================== -->
+ <target name="unbundledjar" depends="xalan-interpretive.compile,xsltc.compile"
+ description="Jar up Xalan and XSLTC, without the XSLTC dependencies" >
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
+ <jar jarfile="${build.xalan-unbundled.jar}" manifest="${build.dir}/MANIFEST.MF" basedir="${build.classes}" >
+ <patternset>
+ <include name="${apachexml.reldir}/**/*" />
+ <include name="${xpath.reldir}/**/*" />
+ <include name="${xalan.reldir}/**/*" />
+ <include name="META-INF/services/*" />
+ <exclude name="${xsltc.reldir}/util/JavaCupRedirect*" />
+ <exclude name="${serializer.reldir}/**/*.*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates one big xalan jar (Xalan interpretive + XSLTC + support jars) -->
+ <!-- =================================================================== -->
+ <target name="jar" depends="xalan-interpretive.compile,xsltc.compile,xsltc.copy-deps-jars"
+ description="Jar up everything (Xalan, XSLTC and XSLTC dependencies)" >
+
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
+
+ <!-- make bundled jar named xalan.jar -->
+ <jar jarfile="${build.xalan.jar}" manifest="${build.dir}/MANIFEST.MF"
+ basedir="${build.classes}" >
+ <patternset>
+ <exclude name="${xsltc.reldir}/util/JavaCupRedirect*" />
+ <exclude name="${serializer.reldir}/**/*" />
+ </patternset>
+ </jar>
+
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Default all target simply Creates the xalan JAR -->
+ <!-- =================================================================== -->
+ <target name="all" depends="serializer.jar,jar"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="Redirect to jar target; please provide input on desired functionality of this target"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the samples (servlet excluded) and jars the class files -->
+ <!-- =================================================================== -->
+ <target name="samples" depends="jar,samples.nojardepends,xsltc.samples"/>
+
+ <target name="samples.nojardepends" depends="xsltc.samples.nojardepends"
+ 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"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/UseStylesheetPI"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/UseStylesheetParam"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/SAX2SAX"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/DOM2DOM"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/Pipe"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/UseXMLFilters"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/Trace"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/ApplyXPath"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/ApplyXPathDOM"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/trax"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/extensions"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/Validate"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/TransformThread"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/XPathAPI"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <jar jarfile="${build.samples.jar}" basedir="${build.samples}"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles all samples that require extra standard components in -->
+ <!-- order to compile. -->
+ <!-- =================================================================== -->
+ <target name="extra.std.samples"
+ depends="servlet,xsltc.applet,xsltc.ejb,xsltc.servlet"/>
+
+ <target name="extra.std.samples.nojardepends"
+ depends="servlet.jardepends,xsltc.applet.nojardepends,
+ xsltc.ejb.jardepends,xsltc.servlet.jardepends"/>
+
+ <!-- =================================================================== -->
+ <!-- Compiles all samples that require extra non-standard components in -->
+ <!-- order to compile. -->
+ <!-- =================================================================== -->
+ <target name="extra.nonstd.samples" depends="xsltc.brazil"/>
+
+ <target name="extra.nonstd.samples.nojardepends" depends="xsltc.brazil.jardepends"/>
+
+ <!-- =================================================================== -->
+ <!-- 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,servlet.jardepends"/>
+
+ <target name="servlet.jardepends"
+ description="Compile and jar the servlet samples in xalanservlet.war" >
+ <echo message="To compile the sample servlets, javax.servlet and javax.servlet.http must be on the classpath"/>
+ <mkdir dir="${build.servlet}"/>
+ <mkdir dir="${build.servlet}/WEB-INF/classes/servlet"/>
+ <mkdir dir="${build.servlet}/WEB-INF/lib"/>
+ <javac srcdir="${samples.dir}/servlet"
+ destdir="${build.servlet}/WEB-INF/classes"
+ debug="${build.debug}"
+ bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ <classpath location="${servlet-api.jar}" />
+ </javac>
+ <copy todir="${build.servlet}/WEB-INF/classes/servlet">
+ <fileset dir="${samples.dir}/servlet" includes="media.properties"/>
+ </copy>
+ <copy todir="${build.servlet}/WEB-INF">
+ <fileset dir="${samples.dir}/servlet" includes="web.xml"/>
+ </copy>
+ <copy todir="${build.servlet}">
+ <fileset dir="${samples.dir}/servlet"
+ includes="birds.xml, birds.xsl, booklist1.xsl,
+ booklist2.xsl, catalog.xml, fooparam.xml, fooparam.xsl, jspSample.jsp"/>
+ </copy>
+ <copy todir="${build.servlet}/WEB-INF/lib">
+ <fileset dir="${lib.dir}" includes="${parser.jar.name}, ${xmlapis.jar.name}"/>
+ </copy>
+ <copy file="${build.xalan.jar}" todir="${build.servlet}/WEB-INF/lib" />
+ <jar jarfile="${build.servlet.war}"
+ basedir="${build.servlet}"
+ includes="**"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles (does not jar) the translet samples. -->
+ <!-- For time being, classes are generated in place. -->
+ <!-- To run these samples, add xsltc.jar, runtime.jar, bcel.jar, -->
+ <!-- and java_cup.jar (all in the bin directory) to the classpath -->
+ <!-- -->
+ <!-- When we have straightened out classpath issues, -->
+ <!-- add samples in CompiledApplet, CompiledBrazil, CompiledEJB and -->
+ <!-- CompiledServlet. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.samples" depends="jar,xsltc.samples.nojardepends"/>
+
+ <target name="xsltc.samples.nojardepends">
+ <mkdir dir="${build.samples}"/>
+ <javac srcdir="${samples.dir}/translets"
+ classpath="${build.xalan.jar}"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}"/>
+ <javac srcdir="${samples.dir}/CompiledJAXP"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC applet example and jars the class files. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.applet" depends="jar,xsltc.applet.nojardepends"/>
+
+ <target name="xsltc.applet.nojardepends">
+ <mkdir dir="${build.samples}/CompiledApplet"/>
+ <javac srcdir="${samples.dir}/CompiledApplet"
+ destdir="${build.samples}/CompiledApplet" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}"/>
+ <jar jarfile="${build.xsltc.applet.jar}"
+ basedir="${build.samples}/CompiledApplet"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC brazil example and jars the class files. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.brazil" depends="jar,xsltc.brazil.jardepends"/>
+
+ <target name="xsltc.brazil.jardepends">
+ <mkdir dir="${build.samples}/CompiledBrazil"/>
+ <javac srcdir="${samples.dir}/CompiledBrazil"
+ destdir="${build.samples}/CompiledBrazil" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath location="${brazil.jar}"/>
+ </javac>
+ <jar jarfile="${build.xsltc.brazil.jar}"
+ basedir="${build.samples}/CompiledBrazil"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC EJB example and jars the class files. -->
+ <!-- ejb.jar must be on the classpath to compile this sample. -->
+ <!-- EJB 2.0 can be found at http://java.sun.com/products/ejb/docs.html -->
+ <!-- =================================================================== -->
+ <target name="xsltc.ejb" depends="jar,xsltc.ejb.jardepends"/>
+
+ <target name="xsltc.ejb.jardepends">
+ <mkdir dir="${build.samples}/CompiledEJB"/>
+ <javac srcdir="${samples.dir}/CompiledEJB"
+ destdir="${build.samples}/CompiledEJB" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath location="${javaee-api.jar}"/>
+ </javac>
+ <jar jarfile="${build.xsltc.ejb.jar}"
+ basedir="${build.samples}/CompiledEJB"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC servlet example and jars the class files. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.servlet" depends="jar,xsltc.servlet.jardepends" />
+
+ <target name="xsltc.servlet.jardepends">
+ <mkdir dir="${build.samples}/CompiledServlet"/>
+ <javac srcdir="${samples.dir}/CompiledServlet"
+ destdir="${build.samples}/CompiledServlet" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ classpath="${build.xalan.jar}:${servlet-api.jar}"
+ nowarn="${compiler.nowarn}">
+ </javac>
+ <jar jarfile="${build.xsltc.servlet.jar}"
+ basedir="${build.samples}/CompiledServlet"
+ includes="*.class"/>
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Generate HTML docs -->
+ <!-- =================================================================== -->
+ <target name="docs" depends="jar,docs.nojardepends,xsltc.docs"/>
+
+ <target name="docs.nojardepends" depends="prepare.docs.nojardepends,autodocs"
+ description="Build the 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}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>
+ </java>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the API documentation -->
+ <!-- =================================================================== -->
+ <target name="javadocs" depends="jar,javadocs.nojardepends"/>
+
+ <target name="javadocs.nojardepends" depends="prepare.docs.nojardepends,autojavadocs"
+ description="Build the Javadocs for Xalan 2.x and jaxp sources" >
+ <echo message="javadocs is human-usable target with dependencies"/>
+
+ <!-- Expand jaxp sources (JAXP 1.1, DOM 2, and SAX 2) into source tree for
+ inclusion in the Javadoc. -->
+ <!-- Note this is into the src area.-->
+ <gunzip src="${xml-commons-srcs.tar.gz}" dest="${build.dir}" />
+ <untar src="${xml-commons-srcs.tar}"
+ dest="${src.dir}">
+ <patternset>
+ <include name="**.java"/>
+ </patternset>
+ </untar>
+
+ <delete file="${xml-commons-srcs.tar}"/>
+
+ <antcall target="autojavadocs"/>
+
+ <!-- remove the jaxp sources -->
+ <delete dir="${src.dir}/javax" />
+ <delete dir="${src.dir}/org/w3c" />
+ <delete dir="${src.dir}/org/xml" />
+ <delete dir="${src.dir}/org/apache/xmlcommons" />
+ <delete file="${src.dir}/manifest.commons" />
+
+ </target>
+
+ <target name="autojavadocs"
+ depends="autojavadocs-1.4-or-higher-if,autojavadocs-non1.4-or-higher-if">
+ <echo message="autojavadocs is for automated build process, without dependencies"/>
+ </target>
+
+ <target name="check-using-java-1.4-or-higher">
+ <condition property="using-java-1.4-or-higher">
+ <not>
+ <or>
+ <equals arg1="${ant.java.version}" arg2="1.1"/>
+ <equals arg1="${ant.java.version}" arg2="1.2"/>
+ <equals arg1="${ant.java.version}" arg2="1.3"/>
+ </or>
+ </not>
+ </condition>
+ </target>
+
+ <target name="autojavadocs-1.4-or-higher-if" if="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="autojavadocs-1.4-or-higher"/>
+ </target>
+
+ <target name="autojavadocs-non1.4-or-higher-if" unless="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="autojavadocs-non1.4-or-higher"/>
+ </target>
+
+ <target name="autojavadocs-1.4-or-higher">
+
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ additionalparam="-breakiterator"
+ destdir="${build.apidocs}"
+ 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-in-docs} ${impl.version}"
+ doctitle="${Name-in-docs} ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <taglet name="xalan2jtaglet.XSLUsageTag" path="${taglet.jar}"/>
+ <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="Document Table Model (DTM)" packages="org.apache.xml.dtm*"/>
+ <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.xml.serialize*, org.apache.xalan.serialize"/>
+ <group title="SAX 2" packages="org.xml.sax*"/>
+ <group title="DOM 2" packages="org.w3c.dom*"/>
+ <group title="XSLTC Core"
+ packages="org.apache.xalan.xsltc*"/>
+ </javadoc>
+ </target>
+
+ <target name="autojavadocs-non1.4-or-higher">
+
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ 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-in-docs} ${impl.version}"
+ doctitle="${Name-in-docs} ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <doclet name="xalanjdoc.Standard" path="${doclet.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="Document Table Model (DTM)" packages="org.apache.xml.dtm*"/>
+ <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.xml.serialize*, org.apache.xalan.serialize"/>
+ <group title="SAX 2" packages="org.xml.sax*"/>
+ <group title="DOM 2" packages="org.w3c.dom*"/>
+ <group title="XSLTC Core"
+ packages="org.apache.xalan.xsltc*"/>
+ </javadoc>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Various targets to clean the build tree -->
+ <!-- =================================================================== -->
+ <target name="distclean" depends="clean"
+ description="Clean everything, including dist/jar/docs/xsltc.*" >
+ <delete dir="${dist.dir}"/>
+ </target>
+
+ <target name="clean" depends="xsltc.clean"
+ description="Clean the ${build.dir} tree and doc outputs" >
+ <delete dir="${build.dir}"/>
+ <delete dir="${site.root}"/>
+ <delete dir="${xalan.apache.org.site.root}"/>
+ <delete quiet="true">
+ <fileset dir="${xdocs.style}" excludes="${xalanonly-styledocs}"/>
+ </delete>
+ <delete file="${xdocs.DONE.file}"/>
+ <delete file="${xdocs.XSLTCDONE.location}"/>
+ <delete file="${src.dir}/${xalan.reldir}/Version.java"/>
+ <delete file="${src.dir}/${serializer.reldir}/Version.java"/>
+ <delete file="${src.dir}/${xalan.reldir}/processor/XSLProcessorVersion.java"/>
+ <delete file="${xdocs.dir}/sources/entities.ent"/>
+ <!-- Also delete files expanded from ${xml-commons-srcs.tar.gz}-->
+ <delete dir="${src.dir}/javax" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/org/xml" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/org/w3c" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/xdocs/style/graphics" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/xdocs/style/resources" includeEmptyDirs="true" quiet="true"/>
+ </target>
+
+ <target name="xsltc.clean"
+ description="Clean miscellaneous generated sources from xsltc.compile" >
+ <delete file="${generated.xpathparser}" />
+ <delete file="${generated.xpathsym}" />
+ <delete file="${generated.xpathlexer}" />
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Install/Uninstall targets - not currently applicable -->
+ <!-- =================================================================== -->
+ <target name="install"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="install target currently not supported in ${Name-in-docs}; try jar or dist instead"/>
+ </target>
+ <target name="uninstall"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="uninstall target currently not supported in ${Name-in-docs}; try distclean instead"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates a distribution that depends only on standard pieces -->
+ <!-- =================================================================== -->
+ <target name="dist" depends="build.std.dist,autodist"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components without dependencies on non-standard
+ jars that are not part of the build system." >
+ <echo message="dist is human-useable target for distribution, with only standard dependencies"/>
+ </target>
+
+ <target name="dist-nodocs" depends="build.std.dist-nodocs,autodist-nodocs"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components without dependencies on non-standard
+ jars that are not part of the build system." >
+ <echo message="dist-nodocs is human-useable target for distribution, with only standard dependencies and no documentation "/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates a complete distribution in which the xalan.jar contains -->
+ <!-- the interpretive, compiled and the common packages -->
+ <!-- =================================================================== -->
+ <target name="fulldist" depends="build.nonstd.dist,autodist"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist is human-useable target for distribution, with all dependencies"/>
+ </target>
+
+ <target name="fulldist-nodocs" depends="build.nonstd.dist-nodocs,autodist-nodocs"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist-nodocs is human-useable target for distribution, with all dependencies and no documentation"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates a complete distribution with separate xalan.jar and -->
+ <!-- xsltc.jar. The common packages are contained in each jar. -->
+ <!-- =================================================================== -->
+ <target name="fulldist-separatejars" depends="build.nonstd-separatejars.dist,autodist"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist is human-useable target for distribution, with all dependencies"/>
+ </target>
+
+ <target name="fulldist-separatejars-nodocs" depends="build.nonstd-separatejars.dist-nodocs,autodist-nodocs"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist-separatejars-nodocs is human-useable target for distribution, with all dependencies and no documentation"/>
+ </target>
+
+ <target name="build.std.dist" depends="build.std.parts">
+ <property name="has.nonstd.parts" value="false"/>
+ </target>
+ <target name="build.std.dist-nodocs" depends="build.std.parts-nodocs">
+ <property name="has.nonstd.parts" value="false"/>
+ </target>
+
+ <target name="build.nonstd.dist" depends="build.std.parts,build.nonstd.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+ <target name="build.nonstd.dist-nodocs" depends="build.std.parts-nodocs,build.nonstd.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+
+ <target name="build.nonstd-separatejars.dist" depends="build.std-separatejars.parts,
+ build.nonstd-separatejars.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+ <target name="build.nonstd-separatejars.dist-nodocs" depends="build.std-separatejars.parts-nodocs,
+ build.nonstd-separatejars.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+
+ <target name="build.std.parts"
+ depends="jar,docs,javadocs,samples,extra.std.samples,xsltc.docs"/>
+
+ <target name="build.std.parts-nodocs"
+ depends="jar,samples,extra.std.samples"/>
+
+ <target name="build.std-separatejars.parts"
+ depends="xalan-interpretive.jar,xsltc.jar,
+ docs.nojardepends,javadocs.nojardepends,
+ samples.nojardepends,extra.std.samples.nojardepends,
+ xsltc.docs"/>
+
+ <target name="build.std-separatejars.parts-nodocs"
+ depends="xalan-interpretive.jar,xsltc.jar,
+ samples.nojardepends,extra.std.samples.nojardepends"/>
+
+ <target name="build.nonstd.parts" depends="extra.nonstd.samples"/>
+ <target name="build.nonstd-separatejars.parts" depends="extra.nonstd.samples.nojardepends"/>
+
+ <!-- =================================================================== -->
+ <!-- Autodist targets. Used by the distribution targets. -->
+ <!-- =================================================================== -->
+ <target name="autodist-mkdirs">
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${dist.dir}/lib"/>
+ <mkdir dir="${dist.dir}/lib/endorsed"/>
+ <mkdir dir="${dist.dir}/samples"/>
+ <mkdir dir="${dist.dir}/src"/>
+ <mkdir dir="${dist.dir}/tools"/>
+ <mkdir dir="${dist.dir}/xdocs"/>
+ </target>
+
+ <target name="autodist-mkdirs-docs">
+ <mkdir dir="${dist.dir}/docs"/>
+ <mkdir dir="${dist.dir}/docs/apidocs"/>
+ </target>
+
+ <target name="autodist-copy-files">
+
+ <!-- Copy license files to distribution root -->
+ <copy todir="${dist.dir}">
+ <fileset dir=".">
+ <include name="LICENSE.txt,NOTICE.txt"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy sources and source documentation -->
+ <copy todir="${dist.dir}/src">
+ <fileset dir="${src.dir}" excludes="javax/**,org/xml/**,org/w3c/**"/><!-- exclude jaxp, sax, dom -->
+ </copy>
+ <copy todir="${dist.dir}/xdocs">
+ <fileset dir="${xdocs.dir}"/>
+ </copy>
+
+ <!-- Copy samples -->
+ <copy todir="${dist.dir}/samples">
+ <fileset dir="${samples.dir}"/>
+ </copy>
+
+ <!-- Copy tools; used for source distribution -->
+ <copy todir="${dist.dir}/tools">
+ <fileset dir="${tools.dir}">
+ <include name="*.*"/>
+ </fileset>
+ </copy>
+
+ <!-- 1) Copy runtime libs; used for source distribution -->
+ <copy todir="${dist.dir}/lib">
+ <fileset dir="${lib.dir}">
+ <include name="*.*"/>
+ </fileset>
+ </copy>
+
+ <!-- 2) Copy runtime libs; used for source distribution -->
+ <copy todir="${dist.dir}/lib/endorsed">
+ <fileset dir="${endorsed.dir}">
+ <include name="*.*"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy built jars -->
+ <copy file="${build.dir}/xalansamples.jar" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xalanservlet.war" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xsltcapplet.jar" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xsltcbrazil.jar" todir="${dist.dir}/samples"
+ failonerror="${has.nonstd.parts}"/>
+ <copy file="${build.dir}/xsltcejb.jar" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xsltcservlet.jar" todir="${dist.dir}/samples"/>
+
+ <copy file="${build.xalan.jar}" todir="${dist.dir}" />
+
+ <!-- only copy the xsltc.jar file if it has been built -->
+ <copy todir="${dist.dir}">
+ <fileset dir="${build.dir}" includes="xsltc.jar"/>
+ </copy>
+ <copy file="${build.serializer.jar}" todir="${dist.dir}" />
+
+ <copy file="${xmlapis.jar}" todir="${dist.dir}" />
+ <copy file="${parser.jar}" todir="${dist.dir}" />
+
+ <antcall target="xalan-transform-build-file-for-src-distro"/>
+
+ <antcall target="xalan-tests-create-for-src-distro"/>
+
+ <copy todir="${dist.dir}">
+ <fileset dir="." includes="readme.html,KEYS,build.xml,build.sh,deprecated_build.sh,build.bat,
+ commits.xml,LICENSE.txt,NOTICE.txt"/>
+ </copy>
+ </target>
+
+ <target name="xalan-transform-build-file-for-src-distro">
+ <copy file="./build_srcdist_xalan.xml" todir="${dist.dir}"/>
+ <copy file="./build_srcdist_xalan.xml" tofile="${dist.dir}/build.xml"/>
+ <!-- copy readme file as well -->
+ <copy file="./README" todir="${dist.dir}"/>
+ </target>
+
+ <target name="xalan-tests-create-for-src-distro">
+ <mkdir dir="${dist.dir}/xalan-test"/>
+ <copy todir="${dist.dir}/xalan-test">
+ <fileset dir="${test.relpath}">
+ <exclude name="build.xml"/>
+ </fileset>
+ </copy>
+
+ <copy file="./build_srcdist_xalan_tests.xml" todir="${dist.dir}"/>
+ <copy file="./build_srcdist_xalan_tests.xml" tofile="${dist.dir}/xalan-test/build.xml"/>
+
+ <delete dir="${dist.dir}/xalan-test/.git" />
+ </target>
+
+ <target name="autodist-copy-files-docs">
+ <!-- Copy built documentation and javadoc -->
+ <copy todir="${dist.dir}/docs">
+ <fileset dir="${build.docs}"/>
+ </copy>
+ </target>
+
+ <target name="autodist-create-bin-packages">
+ <tar tarfile="${build.dir}/${dist.pkg}-bin.tar" >
+ <tarfileset dir="${build.dir}">
+ <patternset refid="bin-distro"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${build.dir}/${dist.pkg}-bin.tar" zipfile="${build.dir}/${dist.pkg}-bin.tar.gz"/>
+ <delete file="${build.dir}/${dist.pkg}-bin.tar" />
+
+ <zip zipfile="${build.dir}/${dist.pkg}-bin.zip" >
+ <fileset dir="${build.dir}">
+ <patternset refid="bin-distro"/>
+ </fileset>
+ </zip>
+ </target>
+ <target name="autodist-create-bin-packages-nodocs">
+ <tar tarfile="${build.dir}/${dist.pkg}-bin-nodocs.tar" >
+ <tarfileset dir="${build.dir}">
+ <patternset refid="bin-distro-nodocs"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${build.dir}/${dist.pkg}-bin-nodocs.tar" zipfile="${build.dir}/${dist.pkg}-bin-nodocs.tar.gz"/>
+ <delete file="${build.dir}/${dist.pkg}-bin-nodocs.tar" />
+
+ <zip zipfile="${build.dir}/${dist.pkg}-bin-nodocs.zip" >
+ <fileset dir="${build.dir}">
+ <patternset refid="bin-distro-nodocs"/>
+ </fileset>
+ </zip>
+ </target>
+ <target name="autodist-create-src-packages">
+ <tar tarfile="${build.dir}/${dist.pkg}-src.tar" >
+ <tarfileset dir="${build.dir}">
+ <patternset refid="src-distro"/>
+ <patternset refid="xsltc-deps-jars"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${build.dir}/${dist.pkg}-src.tar" zipfile="${build.dir}/${dist.pkg}-src.tar.gz"/>
+ <delete file="${build.dir}/${dist.pkg}-src.tar" />
+
+ <zip zipfile="${build.dir}/${dist.pkg}-src.zip" >
+ <fileset dir="${build.dir}">
+ <patternset refid="src-distro"/>
+ <patternset refid="xsltc-deps-jars"/>
+ </fileset>
+ </zip>
+ </target>
+
+ <target name="autodist">
+ <echo message="autodist is for automated build processes, without dependencies"/>
+ <antcall target="autodist-mkdirs"/>
+ <antcall target="autodist-mkdirs-docs"/>
+ <antcall target="autodist-copy-files"/>
+ <antcall target="autodist-copy-files-docs"/>
+ <antcall target="autodist-create-bin-packages"/>
+ <antcall target="autodist-create-src-packages"/>
+ </target>
+
+ <target name="autodist-nodocs">
+ <echo message="autodist-nodocs is for automated build processes, without dependencies"/>
+ <antcall target="autodist-mkdirs"/>
+ <antcall target="autodist-copy-files"/>
+ <antcall target="autodist-create-bin-packages-nodocs"/>
+ <antcall target="autodist-create-src-packages"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the documentation tree for the xml.apache.org/xalan-j -->
+ <!-- website -->
+ <!-- =================================================================== -->
+ <target name="site" depends="prepare.docs,javadocs,xsltc.docs"
+ description="Build documentation for posting to the website" >
+
+ <mkdir dir="${site.dir}/apidocs"/>
+ <mkdir dir="${site.dir}/design"/>
+ <mkdir dir="${site.dir}/xsltc"/>
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${site.dir} ${site.book} ${xdocs.style}"/>
+ </java>
+
+ <!-- put xalan design doc in the site design subdir -->
+ <copy todir="${site.dir}/design">
+ <fileset dir="${build.docs}/design"/>
+ </copy>
+ <!-- put xsltc design doc in the site xsltc subdir -->
+ <copy todir="${site.dir}/xsltc">
+ <fileset dir="${build.docs}/xsltc"/>
+ </copy>
+
+ <!-- put in the javadoc -->
+ <copy todir="${site.dir}/apidocs">
+ <fileset dir="${build.apidocs}"/>
+ </copy>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the documentation tree for the xalan.apache.org website -->
+ <!-- =================================================================== -->
+ <target name="xalan.apache.org.site"
+ description="Build documentation for posting to the website" >
+
+ <mkdir dir="${xalan.apache.org.site.dir}"/>
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${xalan.apache.org.site.dir} ${xalan.apache.org.site.book} ${xdocs.style}"/>
+ </java>
+
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles and runs mini/smoketest from xml-xalan\xalan-test, if present. -->
+ <!-- xml-xalan is a representative folder, that can contain folders xalan-java and xalan-test -->
+ <!-- =================================================================== -->
+ <property name="test.relpath" value="../xalan-test"/>
+
+ <target name="minitest" depends="prepare,minitest-run,tests-not-available"
+ description="Run the Minitest from xml-xalan/xalan-test" >
+ <!-- This target simply asks the minitest-run worker target to
+ actually have the Minitest run (by the xalan-test/build.xml file);
+ we then also call the tests-not-available target in case
+ the user never checked out the tests.
+ -->
+ </target>
+ <target name="minitest-run" if="tests-available" depends="jar">
+ <echo message=" [minitest] Calling ${test.relpath}/build.xml to run the Minitest" />
+ <ant dir="${test.relpath}" antfile="build.xml" target="minitest.gump" >
+ </ant>
+ </target>
+
+ <target name="smoketest" depends="prepare,smoketest-run,tests-not-available"
+ description="Run Smoketests (Minitest, conf, harness) from xml-xalan/xalan-test">
+ </target>
+ <target name="smoketest-run" if="tests-available" depends="jar">
+ <echo message=" [minitest] Calling ${test.relpath}/build.xml to run the Smoketest"/>
+ <ant dir="${test.relpath}" antfile="build.xml" target="smoketest.dev">
+ </ant>
+ </target>
+
+ <target name="smoketest.xsltc" depends="prepare,smoketest.xsltc-run,tests-not-available"
+ description="Run smoketest.xsltc from xml-xalan/xalan-test">
+ </target>
+ <target name="smoketest.xsltc-run" if="tests-available" depends="jar">
+ <echo message="Calling ${test.relpath}/build.xml to run the smoketest.xsltc" />
+ <ant dir="${test.relpath}" antfile="build.xml" target="smoketest.xsltc">
+ </ant>
+ </target>
+
+ <target name="check" depends="smoketest"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="Redirect to smoketest target"/>
+ </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 in ${test.relpath}" />
+ <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>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xalan design document -->
+ <!-- =================================================================== -->
+ <target name="xalan-j2-design">
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <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="printerdocs" depends="prepare.docs">
+ <echo message="NOTICE: requires fop.jar and xml.jar on the classpath"/>
+ <java fork="yes"
+ classname="${xalan.cmdline.class}"
+ classpathref="docs.class.path" >
+ <arg line="-xsl ${xdocs.dir}/sources/xalan-collate.xsl
+ -out xdocs/sources/xalan/xalan-collate.xml"/>
+ </java>
+
+ <!-- Transform collation into Formatting Objects
+ (with a little work on links along the way) -->
+ <java fork="yes"
+ classname="${xalan.cmdline.class}"
+ classpathref="docs.class.path" >
+ <arg line="-in ${xdocs.dir}/sources/xalan/xalan-collate.xml
+ -param resourceFile '../../sources/xalan/resources.xml'
+ -param project ${Name-in-docs}
+ -xsl ${xdocs.style}/stylesheets/xml2fo.xsl
+ -out build/docs/xalan-collate.fo"/>
+ </java>
+
+ <!-- Use FOP to generate a pdf file (classpath may need updating! -sc 18-Apr-01)-->
+ <java fork="yes"
+ classname="org.apache.fop.apps.CommandLine"
+ classpath="${build.xalan.jar}:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
+ <arg line="${build.docs}/xalan-collate.fo build/docs/xalan.pdf"/>
+ </java>
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Build XSLTC design documentation. Eventually intend to incorporate -->
+ <!-- XSLTC into the Xalan book. -->
+ <!-- =================================================================== -->
+
+
+ <target name="xsltc.prepare.docs" depends="prepare.docs.nojardepends">
+ <mkdir dir="${build.docs}/xsltc"/>
+ <!--
+ <echo message="Transform xsltc_todo.xml and put the result in ${build.docs}/xsltc"/>
+ <java fork="yes" classname="${xalan.cmdline.class}">
+ <classpath refid="docs.class.path" />
+ <arg line="-in xsltc_todo.xml -xsl todo.xsl -out build/docs/xsltc/todo.html"/>
+ </java> -->
+ </target>
+
+ <target name="xsltc.docs" depends="xsltc.prepare.docs">
+ <echo message="Build the XSLTC Architectural documentation"/>
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${build.docs}/xsltc ${xdocs.dir}/sources/xsltc.xml ${xdocs.style}"/>
+ </java>
+ <copy todir="${build.docs}/xsltc"
+ file="${xdocs.dir}/sources/xsltc/README.xslt" />
+ <copy todir="${build.docs}/xsltc"
+ file="${xdocs.dir}/sources/xsltc/README.xsltc" />
+ </target>
+
+ <!-- pack all doc for transfer to website -->
+ <target name="pack.docs">
+ <!--tar tarfile="./build/xalan-j-docs.tar" basedir="./xml-site/target/xalan-j" includes="**"/>
+ <gzip src="./build/xalan-j-docs.tar" zipfile="./build/xalan-j-docs.tar.gz"/-->
+ <zip zipfile="./build/xalan-j-docs.zip" basedir="./xml-site/target/xalan-j" includes="**"/>
+ </target>
+
+
+<!-- ####################################################
+ # START OF SECTION TO BUILD STAND-ALONE SERIALIZER #
+ #################################################### -->
+
+ <!-- try not to use other properties directly when building the serializer -->
+ <!-- either create new values, or copy, just in case we separate into -->
+ <!-- a totally new build.xml file -->
+ <property name="serializer.build.debug" value="${build.debug}" />
+
+
+ <!-- PROPERTIES TO MAKE THE SOURCE DISTRIBUTION ========================== -->
+ <property name="serializer.name" value="serializer" />
+ <property name="serializer.version" value="${version}" />
+ <property name="serializer.dist.file" value="${serializer.name}-j_${serializer.version}"/>
+ <property name="serializer.dist.dir" value="${serializer.build.dir}/${serializer.dist.file}"/>
+
+ <!-- patternset for source distribution packages -->
+ <patternset id="serializer-src-distro" >
+ <!-- some license and legal stuff -->
+ <include name="${serializer.dist.file}/LICENSE.txt"/>
+ <include name="${serializer.dist.file}/NOTICE.txt"/>
+ <include name="${serializer.dist.file}/KEYS"/>
+
+ <!-- The build stuff that uses Ant and this file itself, build.xml
+ this is getting into a strange loop but the source distribution
+ needs to build, and it uses this file, build.xml to do so ... -->
+ <include name="${serializer.dist.file}/build.bat"/>
+ <include name="${serializer.dist.file}/build.sh"/>
+ <include name="${serializer.dist.file}/build.xml"/>
+
+ <!-- The source code that the source distribution would build -->
+ <include name="${serializer.dist.file}/src/${serializer.reldir}/**/*.java" />
+ <include name="${serializer.dist.file}/src/${serializer.reldir}/**/*.properties" />
+ <include name="${serializer.dist.file}/src/${serializer.manifest.basename}" />
+
+ <!-- We need Ant in order to run build.xml in the source distribution -->
+ <include name="${serializer.dist.file}/tools/ant.jar"/>
+ <include name="${serializer.dist.file}/tools/antRun"/>
+ <include name="${serializer.dist.file}/tools/antRun.bat"/>
+
+ <!-- The serializer needs this jar in order to build -->
+ <include name="${serializer.dist.file}/xml-apis.jar"/>
+
+ <!-- Ant needs an XML parser in order to read in the build.xml, so it
+ can even do the build ... this is a strange loop ... -->
+ <include name="${serializer.dist.file}/xercesImpl.jar"/>
+ </patternset>
+
+ <!-- patternset for binary distribution packages ... if needed
+ <patternset id="serializer-bin-distro" >
+ <include name="${serializer.dist.file}/LICENSE.txt"/>
+ <include name="${serializer.dist.file}/NOTICE.txt"/>
+ <include name="${serializer.dist.file}/KEYS"/>
+ <include name="${serializer.dist.file}/${serializer.name}.jar"/>
+ <include name="${serializer.dist.file}/${xmlapis.jar.name}"/>
+ <include name="${serializer.dist.file}/${parser.jar.name}"/>
+ </patternset>
+ -->
+
+ <!-- =================================================================== -->
+ <!-- Creates the Serializer jar -->
+ <!-- =================================================================== -->
+ <target name="serializer.jar"
+ depends="serializer.prepare,serializer.compile"
+ description="Build the serializer and created serializer.jar" >
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${serializer.impl.version}"/>
+ <filter token="java.version" value="${serializer.java.version}"/>
+ <filter token="java.vendor" value="${serializer.java.vendor}"/>
+ <copy todir="${serializer.build.dir}" file="${serializer.manifest}" filtering="true"/>
+
+ <jar jarfile="${build.serializer.jar}"
+ manifest="${serializer.build.dir}/${serializer.manifest.basename}"
+ basedir="${serializer.build.classes}" >
+ <patternset><!-- relative to jar/@basedir -->
+ <include name="${serializer.reldir}/**/*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <target name="serializer.prepare">
+ <mkdir dir="${serializer.build.dir}"/>
+ <mkdir dir="${serializer.build.classes}"/>
+ </target>
+
+ <target name="serializer.compile">
+ <echo message="Compiling the Serializer" />
+ <javac srcdir="${serializer.src.dir}"
+ destdir="${serializer.build.classes}"
+ debug="${serializer.build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <include name="${serializer.reldir}/**/*.java" />
+ <classpath refid="compile.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
+ <copy todir="${serializer.build.classes}">
+ <fileset dir="${serializer.src.dir}" includes="${serializer.reldir}/**/*.properties"/>
+ </copy>
+
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Creates the API documentation -->
+ <!-- =================================================================== -->
+ <target name="serializer.javadocs"
+ description="Build the Javadocs for the Serializer" >
+ <echo message="javadocs is human-usable target with dependencies"/>
+
+ <mkdir dir="${build.docs}"/>
+ <mkdir dir="${build.apidocs}"/>
+ <antcall target="serializer.autojavadocs"/>
+ </target>
+
+ <target name="serializer.autojavadocs"
+ depends="serializer.autojavadocs-1.4-or-higher-if,serializer.autojavadocs-non1.4-or-higher-if">
+ <echo message="serializer.autojavadocs is for automated build process, without dependencies"/>
+ </target>
+
+ <target name="serializer.autojavadocs-1.4-or-higher-if" if="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="serializer.autojavadocs-1.4-or-higher"/>
+ </target>
+
+ <target name="serializer.autojavadocs-non1.4-or-higher-if" unless="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="serializer.autojavadocs-non1.4-or-higher"/>
+ </target>
+
+ <target name="serializer.autojavadocs-1.4-or-higher">
+
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ additionalparam="-breakiterator"
+ destdir="${build.apidocs}"
+ public="true"
+ sourcepath="${src.dir}"
+ packagenames="org.apache.*"
+ author="true"
+ version="true"
+ use="true"
+ windowtitle="${Name-in-docs} Serializer ${impl.version}"
+ doctitle="${Name-in-docs} Serializer ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <taglet name="xalan2jtaglet.XSLUsageTag" path="${taglet.jar}"/>
+ <group title="Serializer" packages="org.apache.xml.serialize*"/>
+ </javadoc>
+ </target>
+
+ <target name="serializer.autojavadocs-non1.4-or-higher">
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ public="true"
+ sourcepath="${src.dir}"
+ packagenames="org.apache.*"
+ author="true"
+ version="true"
+ use="true"
+ windowtitle="${Name-in-docs} Serializer ${impl.version}"
+ doctitle="${Name-in-docs} Serializer ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <doclet name="xalanjdoc.Standard" path="${doclet.jar}">
+ <param name="-d" value="${build.apidocs}"/>
+ </doclet>
+ <group title="Serializer" packages="org.apache.xml.serialize*"/>
+ </javadoc>
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Create the serializer source distribution -->
+ <!-- =================================================================== -->
+ <target name="serializer-dist"
+ depends="serializer.jar"
+ description="Build the serializer source distribution .tar and .zip">
+ <antcall target="serializer-autodist-mkdirs"/>
+ <antcall target="serializer-autodist-copy-files"/>
+ <!-- <antcall target="serializer-autodist-create-bin-packages"/> -->
+ <antcall target="serializer-autodist-create-src-packages"/>
+ </target>
+
+ <target name="serializer-autodist-mkdirs">
+ <echo message="Serializer: making distribution directories" />
+ <mkdir dir="${serializer.dist.dir}"/>
+ <mkdir dir="${serializer.dist.dir}/src"/>
+ <mkdir dir="${serializer.dist.dir}/tools"/>
+ </target>
+
+ <target name="serializer-autodist-copy-files">
+ <!-- Copy bin directory, which includes preexisting checked-in .jar files -->
+<!-- <copy todir="${serializer.dist.dir}/bin">
+ <fileset dir="${serializer.bin.dir}" />
+ </copy> -->
+
+ <echo message="Serializer: copy source files to ${serializer.dist.dir}/src" />
+ <echo message=" ... from ${serializer.src.dir}/${serializer.reldir}" />
+ <!-- Copy sources -->
+ <copy todir="${serializer.dist.dir}/src/${serializer.reldir}">
+ <fileset dir="${serializer.src.dir}/${serializer.reldir}"/>
+ </copy>
+ <!-- Copy the manifest -->
+ <copy file="${serializer.src.dir}/${serializer.manifest.basename}"
+ todir="${serializer.dist.dir}/src" />
+
+ <!-- Copy built jars -->
+ <copy file="${build.serializer.jar}" todir="${serializer.dist.dir}" />
+
+ <!-- Copy runtime jars -->
+ <copy file="${lib.dir}/${xmlapis.jar.name}" todir="${serializer.dist.dir}" />
+ <copy file="${lib.dir}/${parser.jar.name}" todir="${serializer.dist.dir}" />
+
+ <!-- Copy licenses -->
+ <copy todir="${serializer.dist.dir}">
+ <fileset dir="."
+ includes="LICENSE.txt,NOTICE.txt"/>
+ </copy>
+
+ <!-- Copy tools -->
+ <copy todir="${serializer.dist.dir}/tools">
+ <fileset dir="./tools" includes="ant*"/>
+ </copy>
+
+ <copy todir="${serializer.dist.dir}">
+ <fileset dir="." includes="KEYS,build.xml,build.sh,build.bat"/>
+ </copy>
+ </target>
+
+ <target name="serializer-autodist-create-bin-packages">
+ <tar tarfile="${serializer.build.dir}/${serializer.dist.file}-bin.tar" >
+ <tarfileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-bin-distro"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${serializer.build.dir}/${serializer.dist.file}-bin.tar"
+ zipfile="${serializer.build.dir}/${serializer.dist.file}-bin.tar.gz"/>
+
+ <!--
+ <delete file="${serializer.build.dir}/${serializer.dist.file}-bin.tar" />
+ -->
+
+ <zip zipfile="${serializer.build.dir}/${serializer.dist.file}-bin.zip" >
+ <fileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-bin-distro"/>
+ </fileset>
+ </zip>
+ </target>
+
+ <target name="serializer-autodist-create-src-packages">
+ <tar tarfile="${serializer.build.dir}/${serializer.dist.file}-src.tar" >
+ <tarfileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-src-distro"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${serializer.build.dir}/${serializer.dist.file}-src.tar" zipfile="${serializer.build.dir}/${serializer.dist.file}-src.tar.gz"/>
+
+ <delete file="${serializer.build.dir}/${serializer.dist.file}-src.tar" />
+
+ <zip zipfile="${serializer.build.dir}/${serializer.dist.file}-src.zip" >
+ <fileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-src-distro"/>
+ </fileset>
+ </zip>
+ </target>
+<!-- ##################################################
+ # END OF SECTION TO BUILD STAND-ALONE SERIALIZER #
+ ################################################## -->
+
+</project>
diff --git a/build_srcdist_xalan.xml b/build_srcdist_xalan.xml
new file mode 100644
index 00000000..4b2d9d5d
--- /dev/null
+++ b/build_srcdist_xalan.xml
@@ -0,0 +1,1944 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<!-- ===================================================================
+
+ 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/xsltc: use JDK 1.2.x or higher
+
+Build Instructions:
+ To build, run
+ build.bat (win32) or build.sh (unix) [antoptions] [targets]
+ in the directory where this file is located; you should also be
+ able to use an installation of Ant v1.4.1 or later.
+
+ build -projecthelp will show a list of supported targets.
+
+ Developers: include a description="" attribute in all user-callable targets.
+
+ If you build a target that depends on other targets, those other
+ targets are *usually* created in the correct order; however a
+ few of the larger targets like dist do not list all dependencies.
+
+Other Important Notes:
+- 'dist' produces a .tar file that works with GNU compatible tar
+ programs, because that's what Ant does when it finds a path that's
+ longer than 100 characters (like in our docs). Sorry!
+
+- External build maintainers: look for GUMP: comments; developers
+ please use great caution when changing these lines!
+
+- Unusual build items: the docs and xsltc.compile targets leave
+ cruft in the source areas; various clean targets get most of this.
+
+Authors:
+ Shane Curcuru <sh...@lotus.com>
+ Don Leslie <do...@lotus.com>
+
+This file has been written, to enable building XalanJ from XalanJ
+source distribution. This file is largely, a copy of the file build.xml
+provided by XalanJ xalan-java git repos.
+
+$Id$
+==================================================================== -->
+
+<project name="Xalan" default="jar" basedir=".">
+
+ <property name="name" value="xalan"/>
+ <property name="year" value="2023"/>
+ <property name="build.debug" value="on"/>
+ <property name="compiler.target" value="1.8"/>
+ <property name="compiler.source" value="1.8"/>
+ <property name="compiler.nowarn" value="on"/>
+
+ <!-- Xalan Java version information -->
+ <property name="version.VERSION" value="2"/>
+ <property name="version.RELEASE" value="7"/>
+ <property name="version.DEVELOPER" value=""/><!-- Set this to 'D' if a developer release; blank "" if maintenance release -->
+ <property name="version.MINOR" value="3"/><!-- EITHER the developer release number, or a maintenance release number -->
+ <property name="version" value="${version.VERSION}_${version.RELEASE}_${version.DEVELOPER}${version.MINOR}"/><!-- GUMP: version # of dist file -->
+ <property name="impl.version" value="${version.VERSION}.${version.RELEASE}.${version.DEVELOPER}${version.MINOR}"/><!-- Used in jar task for filtering MANIFEST.MF file -->
+
+ <!-- Xerces Java version information -->
+ <property name="parser.version.VERSION" value="2"/>
+ <property name="parser.version.RELEASE" value="12"/>
+ <property name="parser.version.MINOR" value="2"/>
+
+ <!-- Xalan Java directories -->
+ <!-- <property name="bin.dir" value="./bin"/> -->
+ <property name="build.dir" value="./build"/>
+ <property name="lib.dir" value="./lib"/>
+ <property name="endorsed.dir" value="${lib.dir}/endorsed"/>
+ <property name="samples.dir" value="./samples"/>
+ <property name="src.dir" value="./src"/>
+ <property name="tools.dir" value="./tools"/>
+ <property name="xdocs.dir" value="./xdocs"/>
+
+ <property name="apachexml.reldir" value="org/apache/xml"/>
+ <property name="serializer.reldir" value="org/apache/xml/serializer"/>
+ <property name="xpath.reldir" value="org/apache/xpath"/>
+ <property name="xalan.reldir" value="org/apache/xalan"/>
+ <property name="domxpath.reldir" value="org/w3c/dom/xpath"/>
+ <property name="xsltc.reldir" value="${xalan.reldir}/xsltc"/>
+
+ <!-- Jars to run Xalan Java (Interpretive, Compiled, or both) -->
+ <property name="xmlapis.jar.name" value="xml-apis.jar"/>
+ <property name="xmlapis.jar" value="${endorsed.dir}/${xmlapis.jar.name}"/>
+ <property name="parser.jar.name" value="xercesImpl.jar"/>
+ <property name="parser.jar" value="${endorsed.dir}/${parser.jar.name}"/>
+ <property name="bcel.jar.name" value="bcel-6.7.0.jar"/>
+ <property name="bcel.jar" value="${lib.dir}/${bcel.jar.name}"/>
+ <property name="runtime.jar.name" value="runtime.jar"/>
+ <property name="runtime.jar" value="${lib.dir}/${runtime.jar.name}"/>
+ <property name="regexp.jar.name" value="regexp.jar"/>
+ <property name="regexp.jar" value="${lib.dir}/${regexp.jar.name}"/>
+
+ <!-- Jars to build Xalan Java (Interpretive, Compiled, or both) or build the docs -->
+ <property name="java_cup.jar.name" value="java_cup.jar"/>
+ <property name="java_cup.jar" value="${tools.dir}/${java_cup.jar.name}"/>
+ <property name="jlex.jar.name" value="JLex.jar"/>
+ <property name="jlex.jar" value="${tools.dir}/${jlex.jar.name}"/>
+ <property name="stylebook.jar.name" value="stylebook-1.0-b3_xalan-2.jar"/>
+ <property name="stylebook.jar" value="${tools.dir}/${stylebook.jar.name}"/>
+ <property name="doclet.jar.name" value="xalan2jdoc.jar"/>
+ <property name="doclet.jar" value="${tools.dir}/${doclet.jar.name}"/>
+ <property name="taglet.jar.name" value="xalan2jtaglet.jar"/>
+ <property name="taglet.jar" value="${tools.dir}/${taglet.jar.name}"/>
+
+ <!-- Jars to build Xalan Java samples -->
+ <property name="servlet-api.jar.name" value="servlet-api-2.5.jar"/>
+ <property name="servlet-api.jar" value="${lib.dir}/${servlet-api.jar.name}"/>
+ <property name="javaee-api.jar.name" value="javaee-api-5.0-2.jar"/>
+ <property name="javaee-api.jar" value="${lib.dir}/${javaee-api.jar.name}"/>
+ <property name="brazil.jar.name" value="brazil-2.1.jar"/>
+ <property name="brazil.jar" value="${lib.dir}/${brazil.jar.name}"/>
+
+ <!-- Relative locations of source directories -->
+ <property name="manifest.mf" value="./src/MANIFEST.MF"/>
+ <property name="manifest.xsltc.mf" value="./src/manifest.xsltc"/>
+ <property name="manifest.xalan-interpretive.mf" value="./src/manifest.xalan-interpretive"/>
+ <property name="XSLTInfo.props" value="./src/org/apache/xalan/res/XSLTInfo.properties"/>
+ <property name="generated.xpathparser" value="${src.dir}/${xsltc.reldir}/compiler/XPathParser.java"/>
+ <property name="generated.xpathlexer" value="${src.dir}/${xsltc.reldir}/compiler/XPathLexer.java"/>
+ <property name="generated.xpathsym" value="${src.dir}/${xsltc.reldir}/compiler/sym.java"/>
+
+ <!-- Build and distribution output areas -->
+ <property name="build.xalan.jar" value="${build.dir}/${name}.jar"/><!-- GUMP: actual path/name of jar target output -->
+ <property name="build.xalan-unbundled.jar" value="${build.dir}/${name}-unbundled.jar"/>
+ <property name="build.xalan-interpretive.jar" value="${build.dir}/${name}.jar"/>
+ <property name="build.xsltc.jar" value="${build.dir}/xsltc.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.servlet" value="${build.samples}/servlet"/>
+ <property name="build.apidocs" value="${build.docs}/apidocs"/>
+ <property name="dist.pkg" value="${name}-j_${version}"/><!-- GUMP: actual path/name of dist target .tar.gz/.zip-->
+ <property name="dist.file" value="${dist.pkg}"/>
+ <property name="dist.dir" value="${build.dir}/${dist.pkg}"/>
+
+ <!-- xml-commons sources (for Javadoc) -->
+ <property name="xml-commons-srcs.tar.gz" value="${src.dir}/xml-commons-external-1.3.02-src.tar.gz"/>
+ <property name="xml-commons-srcs.tar" value="${build.dir}/xml-commons-external-1.3.02-src.tar"/>
+
+ <!-- Documentation and samples information -->
+ <property name="Name-in-docs" value="Xalan-Java"/>
+ <property name="version.file" value="${xalan.reldir}/processor/XSLProcessorVersion.java"/>
+
+ <property name="build.samples.jar" value="${build.dir}/xalansamples.jar"/>
+ <property name="build.servlet.war" value="${build.dir}/xalanservlet.war"/>
+ <property name="build.xsltc.applet.jar" value="${build.dir}/xsltcapplet.jar"/>
+ <property name="build.xsltc.brazil.jar" value="${build.dir}/xsltcbrazil.jar"/>
+ <property name="build.xsltc.ejb.jar" value="${build.dir}/xsltcejb.jar"/>
+ <property name="build.xsltc.servlet.jar" value="${build.dir}/xsltcservlet.jar"/>
+
+ <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="xalan.cmdline.class" value="org.apache.xalan.xslt.Process"/>
+ <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="xalan.apache.org.site.root" value="./xalan-apache-org-site"/>
+ <property name="xalan.apache.org.site.dir" value="${xalan.apache.org.site.root}/target/xalan-apache-org"/>
+ <property name="xalan.apache.org.site.book" value="${xdocs.dir}/sources/xalan-apache-org-site.xml"/>
+
+
+ <property name="xdocs.DONE.file" value="${xdocs.dir}/sources/xalan/DONE"/>
+ <property name="xdocs.XSLTCDONE.file" value="XSLTCDONE"/>
+ <property name="xdocs.XSLTCDONE.location" value="${xdocs.dir}/sources/xalan/${xdocs.XSLTCDONE.file}"/>
+
+
+ <!-- PROPERTIES TO COMPILE THE SERIALIZER ======================================= -->
+ <property name="serializer.src.dir" value="./src"/>
+ <property name="serializer.build.dir" value="./build"/>
+ <property name="serializer.build.classes" value="${serializer.build.dir}/serializer"/>
+
+ <!-- PROPERTIES TO MAKE THE SERIALIZER JAR ======================================= -->
+ <property name="serializer.manifest.basename" value="MANIFEST.SERIALIZER"/>
+ <property name="serializer.manifest" value="${serializer.src.dir}/${serializer.manifest.basename}"/>
+ <property name="serializer.impl.version" value="${impl.version}"/>
+ <property name="serializer.java.version" value="${java.version}"/>
+ <property name="serializer.java.vendor" value="${java.vendor}"/>
+ <property name="serializer.jar.name" value="serializer.jar"/>
+ <property name="build.serializer.jar" value="${serializer.build.dir}/${serializer.jar.name}"/>
+ <property name="lib.serializer.jar" value="./lib/${serializer.jar.name}"/>
+
+ <!-- Class paths used in various targets -->
+ <path id="docs.class.path">
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement location="${bcel.jar}" />
+ <pathelement location="${runtime.jar}" />
+ <pathelement location="${stylebook.jar}" />
+ <pathelement location="${doclet.jar}" />
+ <pathelement location="${taglet.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${build.xalan.jar}" />
+ <pathelement path="${java.class.path}" />
+ </path>
+ <path id="samples.class.path">
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement location="${build.xalan.jar}" />
+ <pathelement path="${java.class.path}" />
+ </path>
+ <path id="compile.class.path">
+ <!-- Ensure the selected parser.jar file is used to compile against -->
+ <pathelement location="${build.classes}" />
+ <pathelement location="${serializer.build.classes}" />
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement path="${java.class.path}" />
+ </path>
+
+ <path id="xslt.boot.class.path">
+ <!-- Put this version of xalan in front of the jdk's for JDK 1.4+ -->
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${parser.jar}" />
+ <pathelement path="${sun.boot.class.path}" />
+ </path>
+
+ <path id="compile.source.path">
+ <dirset dir="${src.dir}" includes="/org/apache/**" />
+ </path>
+
+ <!-- patternsets for source and binary distribution packages -->
+ <patternset id="bin-distro">
+ <include name="${dist.file}/LICENSE.txt"/>
+ <include name="${dist.file}/NOTICE.txt"/>
+ <include name="${dist.file}/readme.html"/>
+ <include name="${dist.file}/xalan.jar"/>
+ <!-- xsltc.jar will only be picked up if it has been built -->
+ <include name="${dist.file}/xsltc.jar"/>
+ <include name="${dist.file}/${xmlapis.jar.name}"/>
+ <include name="${dist.file}/${parser.jar.name}"/>
+ <include name="${dist.file}/${serializer.jar.name}"/>
+ <include name="${dist.file}/samples/"/>
+ <include name="${dist.file}/samples/xalansamples.jar"/>
+ <include name="${dist.file}/samples/xalanservlet.war"/>
+ <include name="${dist.file}/samples/xsltcapplet.jar"/>
+ <include name="${dist.file}/samples/xsltcbrazil.jar"/>
+ <include name="${dist.file}/samples/xsltcejb.jar"/>
+ <include name="${dist.file}/samples/xsltcservlet.jar"/>
+ <include name="${dist.file}/docs/"/>
+ </patternset>
+ <patternset id="bin-distro-nodocs">
+ <include name="${dist.file}/LICENSE.txt"/>
+ <include name="${dist.file}/NOTICE.txt"/>
+ <include name="${dist.file}/readme.html"/>
+ <include name="${dist.file}/xalan.jar"/>
+ <!-- xsltc.jar will only be picked up if it has been built -->
+ <include name="${dist.file}/xsltc.jar"/>
+ <include name="${dist.file}/${xmlapis.jar.name}"/>
+ <include name="${dist.file}/${parser.jar.name}"/>
+ <include name="${dist.file}/${serializer.jar.name}"/>
+ <include name="${dist.file}/samples/"/>
+ <include name="${dist.file}/samples/xalansamples.jar"/>
+ <include name="${dist.file}/samples/xalanservlet.war"/>
+ <include name="${dist.file}/samples/xsltcapplet.jar"/>
+ <include name="${dist.file}/samples/xsltcbrazil.jar"/>
+ <include name="${dist.file}/samples/xsltcejb.jar"/>
+ <include name="${dist.file}/samples/xsltcservlet.jar"/>
+ </patternset>
+ <patternset id="src-distro">
+ <include name="${dist.file}/LICENSE.txt"/>
+ <include name="${dist.file}/NOTICE.txt"/>
+ <include name="${dist.file}/*build.*"/>
+ <include name="${dist.file}/commits.xml"/>
+ <include name="${dist.file}/KEYS"/>
+ <include name="${dist.file}/readme.html"/>
+ <include name="${dist.file}/README"/>
+ <include name="${dist.file}/lib/"/>
+ <include name="${dist.file}/tools/"/>
+ <include name="${dist.file}/samples/"/>
+ <exclude name="${dist.file}/samples/xalansamples.jar"/>
+ <exclude name="${dist.file}/samples/xalanservlet.war"/>
+ <exclude name="${dist.file}/samples/xsltcapplet.jar"/>
+ <exclude name="${dist.file}/samples/xsltcbrazil.jar"/>
+ <exclude name="${dist.file}/samples/xsltcejb.jar"/>
+ <exclude name="${dist.file}/samples/xsltcservlet.jar"/>
+ <include name="${dist.file}/src/"/>
+ <include name="${dist.file}/xdocs/"/>
+ <include name="${dist.file}/build_srcdist_xalan.xml"/>
+ <include name="${dist.file}/build_srcdist_xalan_tests.xml"/>
+ <include name="${dist.file}/xalan-test/"/>
+ </patternset>
+
+ <!-- XSLTC engine dependency .jar files -->
+ <patternset id="xsltc-deps-jars">
+ <include name="${dist.file}/lib/${bcel.jar.name}"/>
+ <include name="${dist.file}/tools/${java_cup.jar.name}"/>
+ <include name="${dist.file}/tools/${jlex.jar.name}"/>
+ <include name="${dist.file}/lib/${runtime.jar.name}"/>
+ <include name="${dist.file}/lib/${regexp.jar.name}"/>
+ </patternset>
+
+ <!-- =================================================================== -->
+ <!-- Creates output build directories and doc prerequistes -->
+ <!-- =================================================================== -->
+ <target name="prepare">
+ <echo message="Project:${Name-in-docs} version:${version} build.xml $Revision$"/>
+ <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="${test.relpath}" property="tests-available" />
+ <available property="xerces.present"
+ classname="org.apache.xerces.parsers.SAXParser"/>
+
+ <!-- Update version information. This copies the Version.src
+ file into Version.java, while replacing the following tokens
+ -->
+ <filter token="version.VERSION" value="${version.VERSION}"/>
+ <filter token="version.RELEASE" value="${version.RELEASE}"/>
+ <filter token="version.MINOR" value="${version.MINOR}"/>
+ <filter token="version.DEVELOPER" value="${version.DEVELOPER}"/>
+ <filter token="parser.version.VERSION" value="${parser.version.VERSION}"/>
+ <filter token="parser.version.RELEASE" value="${parser.version.RELEASE}"/>
+ <filter token="parser.version.MINOR" value="${parser.version.MINOR}"/>
+ <copy tofile="${src.dir}/${xalan.reldir}/Version.java" file="${src.dir}/${xalan.reldir}/Version.src" filtering="true"/>
+ <copy tofile="${src.dir}/${xalan.reldir}/processor/XSLProcessorVersion.java" file="${src.dir}/${xalan.reldir}/processor/XSLProcessorVersion.src" filtering="true"/>
+ <copy tofile="${src.dir}/${serializer.reldir}/Version.java" file="${src.dir}/${serializer.reldir}/Version.src" filtering="true"/>
+ <copy tofile="${xdocs.dir}/sources/entities.ent" file="${xdocs.dir}/sources/entities.src" filtering="true"/>
+ </target>
+
+ <!-- Must depend on jar since we use Xalan to process xml files -->
+ <target name="prepare.docs" depends="jar,prepare.docs.nojardepends"/>
+
+ <target name="prepare.docs.nojardepends">
+ <mkdir dir="${build.docs}"/>
+ <mkdir dir="${build.apidocs}"/>
+
+ <gunzip src="${doc.generator.styletargz}"/>
+ <untar src="${doc.generator.styletar}" dest="${xdocs.dir}"/>
+ <delete file="${doc.generator.styletar}"/>
+
+ <!-- We use a sed script to extract Xalan-Java 2 commits from the repository 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 -->
+ <echo message="Transform commits.xml and put the result in ${xdocs.dir}"/>
+ <java fork="yes" classname="${xalan.cmdline.class}" >
+ <classpath refid="docs.class.path" />
+ <arg line="-in commits.xml -xsl ${xdocs.style}/stylesheets/done.xsl -out ${xdocs.DONE.file} -param xsltcdone ${xdocs.XSLTCDONE.file}"/>
+ </java>
+ <echo message="Generate Xalan-J 2.x design document"/>
+ <java fork="yes" classname="${doc.generator}" >
+ <classpath refid="docs.class.path" />
+ <arg line="loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./build/docs/design/
+ ./xdocs/sources/xalandesign.xml ./xdocs/style"/>
+ </java>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compile the DTM implementation and xml utilities -->
+ <!-- =================================================================== -->
+ <target name="xml.compile" depends="prepare,serializer.jar">
+ <echo message="Compiling DTM implementation and utilities" />
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <include name="${apachexml.reldir}/**/*.java" />
+ <!-- exclude the serializer -->
+ <exclude name="${serializer.reldir}/**/*.java" />
+ <!-- Exclude file that depends upon presence of Xerces in build path -->
+ <exclude name="**/IncrementalSAXSource_Xerces.java"
+ unless="xerces.present" />
+ <classpath refid="compile.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
+ <copy todir="${build.classes}">
+ <fileset dir="${src.dir}"
+ includes="${apachexml.reldir}/**/*.properties"
+ excludes="${serializer.reldir}/**/*.properties"
+ />
+ </copy>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compile the Xalan interpreter source tree -->
+ <!-- =================================================================== -->
+ <target name="xalan-interpretive.compile" depends="xml.compile"
+ description="Compile the Xalan interpretive classes (skips XSLTC)" >
+ <echo message="Compiling Xalan interpretive classes" />
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <include name="${xpath.reldir}/**/*.java" />
+ <include name="${domxpath.reldir}/**/*.java" />
+ <include name="${xalan.reldir}/**/*.java" />
+ <exclude name="${xsltc.reldir}/**/*.java" />
+ <classpath refid="compile.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ <sourcepath refid="compile.source.path" />
+ </javac>
+ <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
+ <copy todir="${build.classes}">
+ <fileset dir="${src.dir}" includes="**/*.properties,META-INF/services/*" excludes="**/XSLTInfo.properties"/>
+ </copy>
+ <filter token="impl.version" value="${impl.version}"/>
+ <copy todir="${build.classes}/org/apache/xalan/res" file="${XSLTInfo.props}" filtering="true"/>
+ </target>
+
+ <!-- Compile all java sources (Xalan interpretive and XSLTC) -->
+ <target name="compile" depends="xalan-interpretive.compile,xsltc.compile"
+ description="Compile all java source files (Xalan interpretive + XSLTC)" >
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compile just the XSLTC compiler portion -->
+ <!-- =================================================================== -->
+ <path id="xsltc.class.path">
+ <pathelement location="${xmlapis.jar}" />
+ <pathelement location="${build.serializer.jar}" />
+ <pathelement location="${bcel.jar}" />
+ <pathelement location="${jlex.jar}" />
+ <pathelement location="${java_cup.jar}" />
+ <pathelement location="${runtime.jar}" />
+ <!-- build.classes needed for
+ org.apache.xalan.xsltc.util.JavaCupRedirect -->
+ <pathelement location="${build.classes}" />
+ <pathelement path="${java.class.path}" />
+ </path>
+
+ <!-- Attempt to determine dependency info for generated sources -->
+ <target name="xsltc.prepare" depends="prepare" >
+ <!-- The first step compiles the utils directory, which includes
+ a special wrapper for the xsltc.codegen / java_cup step next. -->
+ <echo message="Compiling XSLTC utilities"/>
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ includes="${xsltc.reldir}/util/**/*.java"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="xsltc.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ <!-- These tricky uptodate statements hopefully determine if we
+ actually need to generate the java_cup and jlex files
+ in the two sub-targets below
+ -->
+ <uptodate property="xsltc.java_cup.not_needed" targetfile="${generated.xpathparser}" >
+ <srcfiles dir="${src.dir}/${xsltc.reldir}/compiler" includes="xpath.cup" />
+ </uptodate>
+
+ <uptodate property="xsltc.jlex.not_needed" targetfile="${generated.xpathlexer}" >
+ <srcfiles dir="${src.dir}/${xsltc.reldir}/compiler" includes="xpath.lex" />
+ </uptodate>
+
+ <!-- Determine whether the support jars are already expanded -->
+ <available file="${build.classes}/org/apache/bcel" type="dir" property="xsltc.bcel_jar.not_needed" />
+ <available file="${build.classes}/JLex" type="dir" property="xsltc.jlex_jar.not_needed" />
+ <available file="${build.classes}/java_cup/Main.class" type="file" property="xsltc.java_cup_jar.not_needed" />
+ <available file="${build.classes}/java_cup/runtime" type="dir" property="xsltc.runtime_jar.not_needed" />
+ <available file="${build.classes}/org/apache/regexp" type="dir" property="xsltc.regexp_jar.not_needed" />
+ </target>
+
+ <!-- Generate the XPath parser sources for xsltc if needed -->
+ <target name="xsltc.java_cup" depends="xsltc.prepare" unless="xsltc.java_cup.not_needed">
+ <!-- The second step generates sym.java and XPathParser.java. -->
+ <echo message="java_cup preparsing"/>
+ <java fork="yes" failonerror="true"
+ classname="org.apache.xalan.xsltc.util.JavaCupRedirect" >
+ <classpath refid="xsltc.class.path" />
+ <!-- need to bootclasspath java_cup for JDKs that include JavaCupRedirect -->
+ <jvmarg value="-Xbootclasspath/p:${java_cup.jar}${path.separator}${runtime.jar}"/>
+ <!-- We're using JavaCupRedirect to call the java_cup application -->
+ <arg line="-parser XPathParser -expect 0
+ -stdin ${src.dir}/${xsltc.reldir}/compiler/xpath.cup"/>
+ </java>
+ <echo message="java_cup move output files"/>
+ <move file="XPathParser.java" tofile="${generated.xpathparser}"/>
+ <move file="sym.java" tofile="${generated.xpathsym}"/>
+ </target>
+
+ <!-- Generate the XPath lexer sources for xsltc if needed -->
+ <target name="xsltc.jlex" depends="xsltc.java_cup" unless="xsltc.jlex.not_needed">
+ <!-- The third step generates XPathLexer.java. The lexiographical analyser
+ has to be generated after sym.java, so order is important. -->
+ <echo message="JLex preparsing"/>
+ <java fork="yes" failonerror="true" classname="JLex.Main" >
+ <classpath refid="xsltc.class.path" />
+ <arg line="-static ${src.dir}/${xsltc.reldir}/compiler/xpath.lex"/>
+ </java>
+ <echo message="JLex move output file"/>
+ <move file="${src.dir}/${xsltc.reldir}/compiler/xpath.lex.java" tofile="${generated.xpathlexer}"/>
+ </target>
+
+ <!-- Compile the main XSLTC classes -->
+ <target name="xsltc.compile" depends="xsltc.java_cup,xsltc.jlex,xml.compile"
+ description="Compile just the XSLTC classes" >
+ <echo message="Compiling remaining XSLTC classes"/>
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ includes="${xsltc.reldir}/**/*.java"
+ excludes="${serializer.reldir}/**/*.java"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="xsltc.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ </target>
+
+ <!-- Compile just the XSLTC classes w/o JLex, JCup recompilation -->
+ <target name="xsltc.fcompile" depends="xml.compile"
+ description="Compile just the XSLTC classes w/o JLex, JCup recompilation" >
+ <echo message="Compiling remaining XSLTC classes"/>
+ <javac srcdir="${src.dir}"
+ destdir="${build.classes}"
+ includes="${xsltc.reldir}/**/*.java"
+ debug="${build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="xsltc.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ </target>
+
+ <!-- Jar up the XSLTC classes w/o the support jars -->
+ <target name="xsltc.unbundledjar" depends="xsltc.compile"
+ description="Jar just the xsltc.jar file" >
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.xsltc.mf}" filtering="true"/>
+ <jar jarfile="${build.xsltc.jar}" manifest="${build.dir}/manifest.xsltc" basedir="${build.classes}" >
+ <patternset><!-- relative to jar/@basedir -->
+ <include name="org/apache/xml/**" />
+ <include name="${xsltc.reldir}/**/*" />
+ <exclude name="org/apache/xalan/xsltc/util/JavaCupRedirect*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <!-- Copy license and readme files for XSLTC support jars -->
+ <target name="xsltc.copy-licenses" depends="xsltc.prepare">
+ </target>
+
+ <!-- A parametrized target which is used to copy and expand a XSLTC support jar -->
+ <target name="xsltc.copy-deps-jar" unless="${param_unless}">
+ <!-- copy the jar file to the build/classes directory -->
+ <copy todir="${build.classes}" file="${lib.dir}/${param_jar_name}"/>
+
+ <!-- unjar the jar file -->
+ <unjar src="${build.classes}/${param_jar_name}" dest="${build.classes}" />
+
+ <!-- remove the jar file -->
+ <delete file="${build.classes}/${param_jar_name}" />
+ </target>
+
+ <!-- Copy and expand the XSLTC support jars if needed -->
+ <target name="xsltc.copy-deps-jars" depends="xsltc.copy-licenses">
+ <echo message="Copying XSLTC support jars" />
+ <!-- copy the 3rd party support jar files -->
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.bcel_jar.not_needed" />
+ <param name="param_jar_name" value="${bcel.jar.name}" />
+ </antcall>
+
+<!-- We don't need to package the JLex or java_cup jars in the xalan.jar.
+ These are only required for building XSLTC, not for using XSLTC.
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.jlex_jar.not_needed" />
+ <param name="param_jar_name" value="${jlex.jar.name}" />
+ </antcall>
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.java_cup_jar.not_needed" />
+ <param name="param_jar_name" value="${java_cup.jar.name}" />
+ </antcall>
+-->
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.runtime_jar.not_needed" />
+ <param name="param_jar_name" value="${runtime.jar.name}" />
+ </antcall>
+
+ <antcall target="xsltc.copy-deps-jar">
+ <param name="param_unless" value="xsltc.regexp_jar.not_needed" />
+ <param name="param_jar_name" value="${regexp.jar.name}" />
+ </antcall>
+
+ <!-- remove the old META-INF/MANIFEST.MF file -->
+ <delete file="${build.classes}/META-INF/MANIFEST.MF" quiet="true"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xsltc jar including all support jars -->
+ <!-- =================================================================== -->
+ <target name="xsltc.jar" depends="xsltc.compile,xsltc.copy-deps-jars"
+ description="Jar xsltc,xml,BCEL,JLex,java_cup,runtime and jakarta regexp">
+
+ <!-- create new META-INF dir w/ transformer factory default -->
+ <!-- GTM: comment this out so that bundled xsltc.jar does not have
+ service provider default until further notice 2/20/2002
+ <mkdir dir="${build.dir}/xsltctmp/META-INF"/>
+ <mkdir dir="${build.dir}/xsltctmp/META-INF/services"/>
+ <copy todir="${build.dir}/xsltctmp/META-INF/services"
+ file="${src.dir}/${xsltc.reldir}/javax.xml.transform.TransformerFactory"
+ />
+ -->
+
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.xsltc.mf}" filtering="true"/>
+
+ <!-- make bundled jar named xsltc.jar -->
+ <jar jarfile="${build.dir}/xsltc.jar" manifest="${build.dir}/manifest.xsltc" >
+ <fileset dir="${build.classes}">
+ <include name="org/apache/xalan/xsltc/**"/>
+ <exclude name="org/apache/xalan/xsltc/util/JavaCupRedirect*" />
+ </fileset>
+ <fileset dir="${build.classes}" includes="org/apache/xml/**"
+ excludes="${serializer.reldir}/**" />
+ <fileset dir="${build.classes}" includes="org/apache/bcel/**" />
+ <fileset dir="${build.classes}" includes="JLex/**" />
+ <fileset dir="${build.classes}" includes="java_cup/**" />
+ <fileset dir="${build.classes}" includes="org/apache/regexp/**" />
+ </jar>
+
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xalan interpretive jar -->
+ <!-- =================================================================== -->
+ <target name="xalan-interpretive.jar" depends="xalan-interpretive.compile"
+ description="Jar up everything in Xalan interpretive (without XSLTC)" >
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.xalan-interpretive.mf}" filtering="true"/>
+ <jar jarfile="${build.xalan-interpretive.jar}" manifest="${build.dir}/manifest.xalan-interpretive" basedir="${build.classes}" >
+ <patternset><!-- relative to jar/@basedir -->
+ <include name="${apachexml.reldir}/**/*" />
+ <include name="${xpath.reldir}/**/*" />
+ <include name="${xalan.reldir}/**/*" />
+ <include name="${domxpath.reldir}/**/*" />
+ <include name="META-INF/services/*" />
+ <exclude name="${xsltc.reldir}/**/*" />
+ <exclude name="${serializer.reldir}/**/*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xalan unbundled jar (Xalan interpretive + XSLTC - -->
+ <!-- support jars -->
+ <!-- =================================================================== -->
+ <target name="unbundledjar" depends="xalan-interpretive.compile,xsltc.compile"
+ description="Jar up Xalan and XSLTC, without the XSLTC dependencies" >
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
+ <jar jarfile="${build.xalan-unbundled.jar}" manifest="${build.dir}/MANIFEST.MF" basedir="${build.classes}" >
+ <patternset>
+ <include name="${apachexml.reldir}/**/*" />
+ <include name="${xpath.reldir}/**/*" />
+ <include name="${xalan.reldir}/**/*" />
+ <include name="META-INF/services/*" />
+ <exclude name="${xsltc.reldir}/util/JavaCupRedirect*" />
+ <exclude name="${serializer.reldir}/**/*.*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates one big xalan jar (Xalan interpretive + XSLTC + support jars) -->
+ <!-- =================================================================== -->
+ <target name="jar" depends="xalan-interpretive.compile,xsltc.compile,xsltc.copy-deps-jars"
+ description="Jar up everything (Xalan, XSLTC and XSLTC dependencies)" >
+
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${impl.version}"/>
+ <filter token="java.version" value="${java.version}"/>
+ <filter token="java.vendor" value="${java.vendor}"/>
+ <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
+
+ <!-- make bundled jar named xalan.jar -->
+ <jar jarfile="${build.xalan.jar}" manifest="${build.dir}/MANIFEST.MF"
+ basedir="${build.classes}" >
+ <patternset>
+ <exclude name="${xsltc.reldir}/util/JavaCupRedirect*" />
+ <exclude name="${serializer.reldir}/**/*" />
+ </patternset>
+ </jar>
+
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Default all target simply Creates the xalan JAR -->
+ <!-- =================================================================== -->
+ <target name="all" depends="serializer.jar,jar"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="Redirect to jar target; please provide input on desired functionality of this target"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the samples (servlet excluded) and jars the class files -->
+ <!-- =================================================================== -->
+ <target name="samples" depends="jar,samples.nojardepends,xsltc.samples"/>
+
+ <target name="samples.nojardepends" depends="xsltc.samples.nojardepends"
+ 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"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/UseStylesheetPI"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/UseStylesheetParam"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/SAX2SAX"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/DOM2DOM"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/Pipe"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/UseXMLFilters"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/Trace"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/ApplyXPath"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/ApplyXPathDOM"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/trax"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/extensions"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/Validate"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/TransformThread"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <javac srcdir="${samples.dir}/XPathAPI"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ </javac>
+ <jar jarfile="${build.samples.jar}" basedir="${build.samples}"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles all samples that require extra standard components in -->
+ <!-- order to compile. -->
+ <!-- =================================================================== -->
+ <target name="extra.std.samples"
+ depends="servlet,xsltc.applet,xsltc.ejb,xsltc.servlet"/>
+
+ <target name="extra.std.samples.nojardepends"
+ depends="servlet.jardepends,xsltc.applet.nojardepends,
+ xsltc.ejb.jardepends,xsltc.servlet.jardepends"/>
+
+ <!-- =================================================================== -->
+ <!-- Compiles all samples that require extra non-standard components in -->
+ <!-- order to compile. -->
+ <!-- =================================================================== -->
+ <target name="extra.nonstd.samples" depends="xsltc.brazil"/>
+
+ <target name="extra.nonstd.samples.nojardepends" depends="xsltc.brazil.jardepends"/>
+
+ <!-- =================================================================== -->
+ <!-- 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,servlet.jardepends"/>
+
+ <target name="servlet.jardepends"
+ description="Compile and jar the servlet samples in xalanservlet.war" >
+ <echo message="To compile the sample servlets, javax.servlet and javax.servlet.http must be on the classpath"/>
+ <mkdir dir="${build.servlet}"/>
+ <mkdir dir="${build.servlet}/WEB-INF/classes/servlet"/>
+ <mkdir dir="${build.servlet}/WEB-INF/lib"/>
+ <javac srcdir="${samples.dir}/servlet"
+ destdir="${build.servlet}/WEB-INF/classes"
+ debug="${build.debug}"
+ bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath refid="samples.class.path" />
+ <classpath location="${servlet-api.jar}" />
+ </javac>
+ <copy todir="${build.servlet}/WEB-INF/classes/servlet">
+ <fileset dir="${samples.dir}/servlet" includes="media.properties"/>
+ </copy>
+ <copy todir="${build.servlet}/WEB-INF">
+ <fileset dir="${samples.dir}/servlet" includes="web.xml"/>
+ </copy>
+ <copy todir="${build.servlet}">
+ <fileset dir="${samples.dir}/servlet"
+ includes="birds.xml, birds.xsl, booklist1.xsl,
+ booklist2.xsl, catalog.xml, fooparam.xml, fooparam.xsl, jspSample.jsp"/>
+ </copy>
+ <copy todir="${build.servlet}/WEB-INF/lib">
+ <fileset dir="${lib.dir}" includes="${parser.jar.name}, ${xmlapis.jar.name}"/>
+ </copy>
+ <copy file="${build.xalan.jar}" todir="${build.servlet}/WEB-INF/lib" />
+ <jar jarfile="${build.servlet.war}"
+ basedir="${build.servlet}"
+ includes="**"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles (does not jar) the translet samples. -->
+ <!-- For time being, classes are generated in place. -->
+ <!-- To run these samples, add xsltc.jar, runtime.jar, bcel.jar, -->
+ <!-- and java_cup.jar (all in the bin directory) to the classpath -->
+ <!-- -->
+ <!-- When we have straightened out classpath issues, -->
+ <!-- add samples in CompiledApplet, CompiledBrazil, CompiledEJB and -->
+ <!-- CompiledServlet. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.samples" depends="jar,xsltc.samples.nojardepends"/>
+
+ <target name="xsltc.samples.nojardepends">
+ <mkdir dir="${build.samples}"/>
+ <javac srcdir="${samples.dir}/translets"
+ classpath="${java.class.path}:${build.xalan.jar}"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}"/>
+ <javac srcdir="${samples.dir}/CompiledJAXP"
+ destdir="${build.samples}" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC applet example and jars the class files. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.applet" depends="jar,xsltc.applet.nojardepends"/>
+
+ <target name="xsltc.applet.nojardepends">
+ <mkdir dir="${build.samples}/CompiledApplet"/>
+ <javac srcdir="${samples.dir}/CompiledApplet"
+ destdir="${build.samples}/CompiledApplet" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}"/>
+ <jar jarfile="${build.xsltc.applet.jar}"
+ basedir="${build.samples}/CompiledApplet"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC brazil example and jars the class files. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.brazil" depends="jar,xsltc.brazil.jardepends"/>
+
+ <target name="xsltc.brazil.jardepends">
+ <mkdir dir="${build.samples}/CompiledBrazil"/>
+ <javac srcdir="${samples.dir}/CompiledBrazil"
+ destdir="${build.samples}/CompiledBrazil" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath location="${brazil.jar}"/>
+ </javac>
+ <jar jarfile="${build.xsltc.brazil.jar}"
+ basedir="${build.samples}/CompiledBrazil"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC EJB example and jars the class files. -->
+ <!-- ejb.jar must be on the classpath to compile this sample. -->
+ <!-- EJB 2.0 can be found at http://java.sun.com/products/ejb/docs.html -->
+ <!-- =================================================================== -->
+ <target name="xsltc.ejb" depends="jar,xsltc.ejb.jardepends"/>
+
+ <target name="xsltc.ejb.jardepends">
+ <mkdir dir="${build.samples}/CompiledEJB"/>
+ <javac srcdir="${samples.dir}/CompiledEJB"
+ destdir="${build.samples}/CompiledEJB" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <classpath location="${javaee-api.jar}"/>
+ </javac>
+ <jar jarfile="${build.xsltc.ejb.jar}"
+ basedir="${build.samples}/CompiledEJB"
+ includes="*.class"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles the XSLTC servlet example and jars the class files. -->
+ <!-- =================================================================== -->
+ <target name="xsltc.servlet" depends="jar,xsltc.servlet.jardepends" />
+
+ <target name="xsltc.servlet.jardepends">
+ <mkdir dir="${build.samples}/CompiledServlet"/>
+ <javac srcdir="${samples.dir}/CompiledServlet"
+ destdir="${build.samples}/CompiledServlet" excludes="${exclude}"
+ debug="${build.debug}" bootclasspathref="xslt.boot.class.path"
+ target="${compiler.target}" source="${compiler.source}"
+ classpath="${build.xalan.jar}:${servlet-api.jar}"
+ nowarn="${compiler.nowarn}">
+ </javac>
+ <jar jarfile="${build.xsltc.servlet.jar}"
+ basedir="${build.samples}/CompiledServlet"
+ includes="*.class"/>
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Generate HTML docs -->
+ <!-- =================================================================== -->
+ <target name="docs" depends="jar,docs.nojardepends,xsltc.docs"/>
+
+ <target name="docs.nojardepends" depends="prepare.docs.nojardepends,autodocs"
+ description="Build the 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}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${build.docs} ${xdocs.book} ${xdocs.style}"/>
+ </java>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the API documentation -->
+ <!-- =================================================================== -->
+ <target name="javadocs" depends="jar,javadocs.nojardepends"/>
+
+ <target name="javadocs.nojardepends" depends="prepare.docs.nojardepends,autojavadocs"
+ description="Build the Javadocs for Xalan 2.x and jaxp sources" >
+ <echo message="javadocs is human-usable target with dependencies"/>
+
+ <!-- Expand jaxp sources (JAXP 1.1, DOM 2, and SAX 2) into source tree for
+ inclusion in the Javadoc. -->
+ <!-- Note this is into the src area.-->
+ <gunzip src="${xml-commons-srcs.tar.gz}" dest="${build.dir}" />
+ <untar src="${xml-commons-srcs.tar}"
+ dest="${src.dir}">
+ <patternset>
+ <include name="**.java"/>
+ </patternset>
+ </untar>
+
+ <delete file="${xml-commons-srcs.tar}"/>
+
+ <antcall target="autojavadocs"/>
+
+ <!-- remove the jaxp sources -->
+ <delete dir="${src.dir}/javax" />
+ <delete dir="${src.dir}/org/w3c" />
+ <delete dir="${src.dir}/org/xml" />
+ <delete dir="${src.dir}/org/apache/xmlcommons" />
+ <delete file="${src.dir}/manifest.commons" />
+
+ </target>
+
+ <target name="autojavadocs"
+ depends="autojavadocs-1.4-or-higher-if,autojavadocs-non1.4-or-higher-if">
+ <echo message="autojavadocs is for automated build process, without dependencies"/>
+ </target>
+
+ <target name="check-using-java-1.4-or-higher">
+ <condition property="using-java-1.4-or-higher">
+ <not>
+ <or>
+ <equals arg1="${ant.java.version}" arg2="1.1"/>
+ <equals arg1="${ant.java.version}" arg2="1.2"/>
+ <equals arg1="${ant.java.version}" arg2="1.3"/>
+ </or>
+ </not>
+ </condition>
+ </target>
+
+ <target name="autojavadocs-1.4-or-higher-if" if="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="autojavadocs-1.4-or-higher"/>
+ </target>
+
+ <target name="autojavadocs-non1.4-or-higher-if" unless="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="autojavadocs-non1.4-or-higher"/>
+ </target>
+
+ <target name="autojavadocs-1.4-or-higher">
+
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ additionalparam="-breakiterator"
+ destdir="${build.apidocs}"
+ 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-in-docs} ${impl.version}"
+ doctitle="${Name-in-docs} ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <taglet name="xalan2jtaglet.XSLUsageTag" path="${taglet.jar}"/>
+ <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="Document Table Model (DTM)" packages="org.apache.xml.dtm*"/>
+ <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.xml.serialize*, org.apache.xalan.serialize"/>
+ <group title="SAX 2" packages="org.xml.sax*"/>
+ <group title="DOM 2" packages="org.w3c.dom*"/>
+ <group title="XSLTC Core"
+ packages="org.apache.xalan.xsltc*"/>
+ </javadoc>
+ </target>
+
+ <target name="autojavadocs-non1.4-or-higher">
+
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ 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-in-docs} ${impl.version}"
+ doctitle="${Name-in-docs} ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <doclet name="xalanjdoc.Standard" path="${doclet.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="Document Table Model (DTM)" packages="org.apache.xml.dtm*"/>
+ <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.xml.serialize*, org.apache.xalan.serialize"/>
+ <group title="SAX 2" packages="org.xml.sax*"/>
+ <group title="DOM 2" packages="org.w3c.dom*"/>
+ <group title="XSLTC Core"
+ packages="org.apache.xalan.xsltc*"/>
+ </javadoc>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Various targets to clean the build tree -->
+ <!-- =================================================================== -->
+ <target name="distclean" depends="clean"
+ description="Clean everything, including dist/jar/docs/xsltc.*" >
+ <delete dir="${dist.dir}"/>
+ </target>
+
+ <target name="clean" depends="xsltc.clean"
+ description="Clean the ${build.dir} tree and doc outputs" >
+ <delete dir="${build.dir}"/>
+ <delete dir="${site.root}"/>
+ <delete dir="${xalan.apache.org.site.root}"/>
+ <delete quiet="true">
+ <fileset dir="${xdocs.style}" excludes="${xalanonly-styledocs}"/>
+ </delete>
+ <delete file="${xdocs.DONE.file}"/>
+ <delete file="${xdocs.XSLTCDONE.location}"/>
+ <delete file="${src.dir}/${xalan.reldir}/Version.java"/>
+ <delete file="${src.dir}/${serializer.reldir}/Version.java"/>
+ <delete file="${src.dir}/${xalan.reldir}/processor/XSLProcessorVersion.java"/>
+ <delete file="${xdocs.dir}/sources/entities.ent"/>
+ <!-- Also delete files expanded from ${xml-commons-srcs.tar.gz}-->
+ <delete dir="${src.dir}/javax" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/org/xml" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/org/w3c" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/xdocs/style/graphics" includeEmptyDirs="true" quiet="true"/>
+ <delete dir="${src.dir}/xdocs/style/resources" includeEmptyDirs="true" quiet="true"/>
+ </target>
+
+ <target name="xsltc.clean"
+ description="Clean miscellaneous generated sources from xsltc.compile" >
+ <delete file="${generated.xpathparser}" />
+ <delete file="${generated.xpathsym}" />
+ <delete file="${generated.xpathlexer}" />
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Install/Uninstall targets - not currently applicable -->
+ <!-- =================================================================== -->
+ <target name="install"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="install target currently not supported in ${Name-in-docs}; try jar or dist instead"/>
+ </target>
+ <target name="uninstall"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="uninstall target currently not supported in ${Name-in-docs}; try distclean instead"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates a distribution that depends only on standard pieces -->
+ <!-- =================================================================== -->
+ <target name="dist" depends="build.std.dist,autodist"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components without dependencies on non-standard
+ jars that are not part of the build system." >
+ <echo message="dist is human-useable target for distribution, with only standard dependencies"/>
+ </target>
+
+ <target name="dist-nodocs" depends="build.std.dist-nodocs,autodist-nodocs"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components without dependencies on non-standard
+ jars that are not part of the build system." >
+ <echo message="dist-nodocs is human-useable target for distribution, with only standard dependencies and no documentation "/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates a complete distribution in which the xalan.jar contains -->
+ <!-- the interpretive, compiled and the common packages -->
+ <!-- =================================================================== -->
+ <target name="fulldist" depends="build.nonstd.dist,autodist"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist is human-useable target for distribution, with all dependencies"/>
+ </target>
+
+ <target name="fulldist-nodocs" depends="build.nonstd.dist-nodocs,autodist-nodocs"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist-nodocs is human-useable target for distribution, with all dependencies and no documentation"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates a complete distribution with separate xalan.jar and -->
+ <!-- xsltc.jar. The common packages are contained in each jar. -->
+ <!-- =================================================================== -->
+ <target name="fulldist-separatejars" depends="build.nonstd-separatejars.dist,autodist"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist is human-useable target for distribution, with all dependencies"/>
+ </target>
+
+ <target name="fulldist-separatejars-nodocs" depends="build.nonstd-separatejars.dist-nodocs,autodist-nodocs"
+ description="Create a .zip/.tar.gz distribution module containing
+ all components.">
+ <echo message="fulldist-separatejars-nodocs is human-useable target for distribution, with all dependencies and no documentation"/>
+ </target>
+
+ <target name="build.std.dist" depends="build.std.parts">
+ <property name="has.nonstd.parts" value="false"/>
+ </target>
+ <target name="build.std.dist-nodocs" depends="build.std.parts-nodocs">
+ <property name="has.nonstd.parts" value="false"/>
+ </target>
+
+ <target name="build.nonstd.dist" depends="build.std.parts,build.nonstd.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+ <target name="build.nonstd.dist-nodocs" depends="build.std.parts-nodocs,build.nonstd.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+
+ <target name="build.nonstd-separatejars.dist" depends="build.std-separatejars.parts,
+ build.nonstd-separatejars.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+ <target name="build.nonstd-separatejars.dist-nodocs" depends="build.std-separatejars.parts-nodocs,
+ build.nonstd-separatejars.parts">
+ <property name="has.nonstd.parts" value="true"/>
+ </target>
+
+ <target name="build.std.parts"
+ depends="jar,docs,javadocs,samples,extra.std.samples,xsltc.docs"/>
+
+ <target name="build.std.parts-nodocs"
+ depends="jar,samples,extra.std.samples"/>
+
+ <target name="build.std-separatejars.parts"
+ depends="xalan-interpretive.jar,xsltc.jar,
+ docs.nojardepends,javadocs.nojardepends,
+ samples.nojardepends,extra.std.samples.nojardepends,
+ xsltc.docs"/>
+
+ <target name="build.std-separatejars.parts-nodocs"
+ depends="xalan-interpretive.jar,xsltc.jar,
+ samples.nojardepends,extra.std.samples.nojardepends"/>
+
+ <target name="build.nonstd.parts" depends="extra.nonstd.samples"/>
+ <target name="build.nonstd-separatejars.parts" depends="extra.nonstd.samples.nojardepends"/>
+
+ <!-- =================================================================== -->
+ <!-- Autodist targets. Used by the distribution targets. -->
+ <!-- =================================================================== -->
+ <target name="autodist-mkdirs">
+ <mkdir dir="${dist.dir}"/>
+ <mkdir dir="${dist.dir}/lib"/>
+ <mkdir dir="${dist.dir}/lib/endorsed"/>
+ <mkdir dir="${dist.dir}/samples"/>
+ <mkdir dir="${dist.dir}/src"/>
+ <mkdir dir="${dist.dir}/tools"/>
+ <mkdir dir="${dist.dir}/xdocs"/>
+ </target>
+
+ <target name="autodist-mkdirs-docs">
+ <mkdir dir="${dist.dir}/docs"/>
+ <mkdir dir="${dist.dir}/docs/apidocs"/>
+ </target>
+
+ <target name="autodist-copy-files">
+
+ <!-- Copy license files to distribution root -->
+ <copy todir="${dist.dir}">
+ <fileset dir=".">
+ <include name="LICENSE.txt,NOTICE.txt"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy sources and source documentation -->
+ <copy todir="${dist.dir}/src">
+ <fileset dir="${src.dir}" excludes="javax/**,org/xml/**,org/w3c/**"/><!-- exclude jaxp, sax, dom -->
+ </copy>
+ <copy todir="${dist.dir}/xdocs">
+ <fileset dir="${xdocs.dir}"/>
+ </copy>
+
+ <!-- Copy samples -->
+ <copy todir="${dist.dir}/samples">
+ <fileset dir="${samples.dir}"/>
+ </copy>
+
+ <!-- Copy tools; used for source distribution -->
+ <copy todir="${dist.dir}/tools">
+ <fileset dir="${tools.dir}">
+ <include name="*.*"/>
+ </fileset>
+ </copy>
+
+ <!-- 1) Copy runtime libs; used for source distribution -->
+ <copy todir="${dist.dir}/lib">
+ <fileset dir="${lib.dir}">
+ <include name="*.*"/>
+ </fileset>
+ </copy>
+
+ <!-- 2) Copy runtime libs; used for source distribution -->
+ <copy todir="${dist.dir}/lib/endorsed">
+ <fileset dir="${endorsed.dir}">
+ <include name="*.*"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy built jars -->
+ <copy file="${build.dir}/xalansamples.jar" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xalanservlet.war" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xsltcapplet.jar" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xsltcbrazil.jar" todir="${dist.dir}/samples"
+ failonerror="${has.nonstd.parts}"/>
+ <copy file="${build.dir}/xsltcejb.jar" todir="${dist.dir}/samples"/>
+ <copy file="${build.dir}/xsltcservlet.jar" todir="${dist.dir}/samples"/>
+
+ <copy file="${build.xalan.jar}" todir="${dist.dir}" />
+
+ <!-- only copy the xsltc.jar file if it has been built -->
+ <copy todir="${dist.dir}">
+ <fileset dir="${build.dir}" includes="xsltc.jar"/>
+ </copy>
+ <copy file="${build.serializer.jar}" todir="${dist.dir}" />
+
+ <copy file="${xmlapis.jar}" todir="${dist.dir}" />
+ <copy file="${parser.jar}" todir="${dist.dir}" />
+
+ <antcall target="xalan-transform-build-file-for-src-distro"/>
+
+ <antcall target="xalan-tests-create-for-src-distro"/>
+
+ <copy todir="${dist.dir}">
+ <fileset dir="." includes="readme.html,KEYS,build.xml,build.sh,deprecated_build.sh,build.bat,
+ commits.xml,LICENSE.txt,NOTICE.txt"/>
+ </copy>
+ </target>
+
+ <target name="xalan-transform-build-file-for-src-distro">
+ <copy file="./build_srcdist_xalan.xml" todir="${dist.dir}"/>
+ <copy file="./build_srcdist_xalan.xml" tofile="${dist.dir}/build.xml"/>
+ </target>
+
+ <target name="xalan-tests-create-for-src-distro">
+ <mkdir dir="${dist.dir}/xalan-test"/>
+ <copy todir="${dist.dir}/xalan-test">
+ <fileset dir="${test.relpath}">
+ <exclude name="build.xml"/>
+ </fileset>
+ </copy>
+
+ <copy file="./build_srcdist_xalan_tests.xml" todir="${dist.dir}"/>
+ <copy file="./build_srcdist_xalan_tests.xml" tofile="${dist.dir}/xalan-test/build.xml"/>
+
+ <delete dir="${dist.dir}/xalan-test/.git" />
+ </target>
+
+ <target name="autodist-copy-files-docs">
+ <!-- Copy built documentation and javadoc -->
+ <copy todir="${dist.dir}/docs">
+ <fileset dir="${build.docs}"/>
+ </copy>
+ </target>
+
+ <target name="autodist-create-bin-packages">
+ <tar tarfile="${build.dir}/${dist.pkg}-bin.tar" >
+ <tarfileset dir="${build.dir}">
+ <patternset refid="bin-distro"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${build.dir}/${dist.pkg}-bin.tar" zipfile="${build.dir}/${dist.pkg}-bin.tar.gz"/>
+ <delete file="${build.dir}/${dist.pkg}-bin.tar" />
+
+ <zip zipfile="${build.dir}/${dist.pkg}-bin.zip" >
+ <fileset dir="${build.dir}">
+ <patternset refid="bin-distro"/>
+ </fileset>
+ </zip>
+ </target>
+ <target name="autodist-create-bin-packages-nodocs">
+ <tar tarfile="${build.dir}/${dist.pkg}-bin-nodocs.tar" >
+ <tarfileset dir="${build.dir}">
+ <patternset refid="bin-distro-nodocs"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${build.dir}/${dist.pkg}-bin-nodocs.tar" zipfile="${build.dir}/${dist.pkg}-bin-nodocs.tar.gz"/>
+ <delete file="${build.dir}/${dist.pkg}-bin-nodocs.tar" />
+
+ <zip zipfile="${build.dir}/${dist.pkg}-bin-nodocs.zip" >
+ <fileset dir="${build.dir}">
+ <patternset refid="bin-distro-nodocs"/>
+ </fileset>
+ </zip>
+ </target>
+ <target name="autodist-create-src-packages">
+ <tar tarfile="${build.dir}/${dist.pkg}-src.tar" >
+ <tarfileset dir="${build.dir}">
+ <patternset refid="src-distro"/>
+ <patternset refid="xsltc-deps-jars"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${build.dir}/${dist.pkg}-src.tar" zipfile="${build.dir}/${dist.pkg}-src.tar.gz"/>
+ <delete file="${build.dir}/${dist.pkg}-src.tar" />
+
+ <zip zipfile="${build.dir}/${dist.pkg}-src.zip" >
+ <fileset dir="${build.dir}">
+ <patternset refid="src-distro"/>
+ <patternset refid="xsltc-deps-jars"/>
+ </fileset>
+ </zip>
+ </target>
+
+ <target name="autodist">
+ <echo message="autodist is for automated build processes, without dependencies"/>
+ <antcall target="autodist-mkdirs"/>
+ <antcall target="autodist-mkdirs-docs"/>
+ <antcall target="autodist-copy-files"/>
+ <antcall target="autodist-copy-files-docs"/>
+ <antcall target="autodist-create-bin-packages"/>
+ <antcall target="autodist-create-src-packages"/>
+ </target>
+
+ <target name="autodist-nodocs">
+ <echo message="autodist-nodocs is for automated build processes, without dependencies"/>
+ <antcall target="autodist-mkdirs"/>
+ <antcall target="autodist-copy-files"/>
+ <antcall target="autodist-create-bin-packages-nodocs"/>
+ <antcall target="autodist-create-src-packages"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the documentation tree for the xml.apache.org/xalan-j -->
+ <!-- website -->
+ <!-- =================================================================== -->
+ <target name="site" depends="prepare.docs,javadocs,xsltc.docs"
+ description="Build documentation for posting to the website" >
+
+ <mkdir dir="${site.dir}/apidocs"/>
+ <mkdir dir="${site.dir}/design"/>
+ <mkdir dir="${site.dir}/xsltc"/>
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${site.dir} ${site.book} ${xdocs.style}"/>
+ </java>
+
+ <!-- put xalan design doc in the site design subdir -->
+ <copy todir="${site.dir}/design">
+ <fileset dir="${build.docs}/design"/>
+ </copy>
+ <!-- put xsltc design doc in the site xsltc subdir -->
+ <copy todir="${site.dir}/xsltc">
+ <fileset dir="${build.docs}/xsltc"/>
+ </copy>
+
+ <!-- put in the javadoc -->
+ <copy todir="${site.dir}/apidocs">
+ <fileset dir="${build.apidocs}"/>
+ </copy>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Creates the documentation tree for the xalan.apache.org website -->
+ <!-- =================================================================== -->
+ <target name="xalan.apache.org.site"
+ description="Build documentation for posting to the website" >
+
+ <mkdir dir="${xalan.apache.org.site.dir}"/>
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${xalan.apache.org.site.dir} ${xalan.apache.org.site.book} ${xdocs.style}"/>
+ </java>
+
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Compiles and runs mini/smoketest from xml-xalan\xalan-test, if present. -->
+ <!-- xml-xalan is a representative folder, that can contain folders xalan-java and xalan-test -->
+ <!-- =================================================================== -->
+ <property name="test.relpath" value="xalan-test"/>
+
+ <target name="minitest" depends="prepare,minitest-run,tests-not-available"
+ description="Run the Minitest from xml-xalan/xalan-test" >
+ <!-- This target simply asks the minitest-run worker target to
+ actually have the Minitest run (by the xalan-test/build.xml file);
+ we then also call the tests-not-available target in case
+ the user never checked out the tests.
+ -->
+ </target>
+ <target name="minitest-run" if="tests-available" depends="jar">
+ <echo message=" [minitest] Calling ${test.relpath}/build.xml to run the Minitest" />
+ <ant dir="${test.relpath}" antfile="build.xml" target="minitest.gump" >
+ </ant>
+ </target>
+
+ <target name="smoketest" depends="prepare,smoketest-run,tests-not-available"
+ description="Run Smoketests (Minitest, conf, harness) from xml-xalan/xalan-test">
+ </target>
+ <target name="smoketest-run" if="tests-available" depends="jar">
+ <echo message=" [minitest] Calling ${test.relpath}/build.xml to run the Smoketest"/>
+ <ant dir="${test.relpath}" antfile="build.xml" target="smoketest.dev">
+ </ant>
+ </target>
+
+ <target name="smoketest.xsltc" depends="prepare,smoketest.xsltc-run,tests-not-available"
+ description="Run smoketest.xsltc from xml-xalan/xalan-test">
+ </target>
+ <target name="smoketest.xsltc-run" if="tests-available" depends="jar">
+ <echo message="Calling ${test.relpath}/build.xml to run the smoketest.xsltc" />
+ <ant dir="${test.relpath}" antfile="build.xml" target="smoketest.xsltc">
+ </ant>
+ </target>
+
+ <target name="check" depends="smoketest"><!-- 'Standardizing build.xml files' <bl...@apache.org> -->
+ <echo message="Redirect to smoketest target"/>
+ </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 in ${test.relpath}" />
+ <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>
+
+ <!-- =================================================================== -->
+ <!-- Creates the xalan design document -->
+ <!-- =================================================================== -->
+ <target name="xalan-j2-design">
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <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="printerdocs" depends="prepare.docs">
+ <echo message="NOTICE: requires fop.jar and xml.jar on the classpath"/>
+ <java fork="yes"
+ classname="${xalan.cmdline.class}"
+ classpathref="docs.class.path" >
+ <arg line="-xsl ${xdocs.dir}/sources/xalan-collate.xsl
+ -out xdocs/sources/xalan/xalan-collate.xml"/>
+ </java>
+
+ <!-- Transform collation into Formatting Objects
+ (with a little work on links along the way) -->
+ <java fork="yes"
+ classname="${xalan.cmdline.class}"
+ classpathref="docs.class.path" >
+ <arg line="-in ${xdocs.dir}/sources/xalan/xalan-collate.xml
+ -param resourceFile '../../sources/xalan/resources.xml'
+ -param project ${Name-in-docs}
+ -xsl ${xdocs.style}/stylesheets/xml2fo.xsl
+ -out build/docs/xalan-collate.fo"/>
+ </java>
+
+ <!-- Use FOP to generate a pdf file (classpath may need updating! -sc 18-Apr-01)-->
+ <java fork="yes"
+ classname="org.apache.fop.apps.CommandLine"
+ classpath="${java.class.path}:${build.xalan.jar}:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
+ <arg line="${build.docs}/xalan-collate.fo build/docs/xalan.pdf"/>
+ </java>
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Build XSLTC design documentation. Eventually intend to incorporate -->
+ <!-- XSLTC into the Xalan book. -->
+ <!-- =================================================================== -->
+
+
+ <target name="xsltc.prepare.docs" depends="prepare.docs.nojardepends">
+ <mkdir dir="${build.docs}/xsltc"/>
+ <!--
+ <echo message="Transform xsltc_todo.xml and put the result in ${build.docs}/xsltc"/>
+ <java fork="yes" classname="${xalan.cmdline.class}">
+ <classpath refid="docs.class.path" />
+ <arg line="-in xsltc_todo.xml -xsl todo.xsl -out build/docs/xsltc/todo.html"/>
+ </java> -->
+ </target>
+
+ <target name="xsltc.docs" depends="xsltc.prepare.docs">
+ <echo message="Build the XSLTC Architectural documentation"/>
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="docs.class.path" >
+ <arg line="targetDirectory=${build.docs}/xsltc ${xdocs.dir}/sources/xsltc.xml ${xdocs.style}"/>
+ </java>
+ <copy todir="${build.docs}/xsltc"
+ file="${xdocs.dir}/sources/xsltc/README.xslt" />
+ <copy todir="${build.docs}/xsltc"
+ file="${xdocs.dir}/sources/xsltc/README.xsltc" />
+ </target>
+
+ <!-- pack all doc for transfer to website -->
+ <target name="pack.docs">
+ <!--tar tarfile="./build/xalan-j-docs.tar" basedir="./xml-site/target/xalan-j" includes="**"/>
+ <gzip src="./build/xalan-j-docs.tar" zipfile="./build/xalan-j-docs.tar.gz"/-->
+ <zip zipfile="./build/xalan-j-docs.zip" basedir="./xml-site/target/xalan-j" includes="**"/>
+ </target>
+
+
+<!-- ####################################################
+ # START OF SECTION TO BUILD STAND-ALONE SERIALIZER #
+ #################################################### -->
+
+ <!-- try not to use other properties directly when building the serializer -->
+ <!-- either create new values, or copy, just in case we separate into -->
+ <!-- a totally new build.xml file -->
+ <property name="serializer.build.debug" value="${build.debug}" />
+
+
+ <!-- PROPERTIES TO MAKE THE SOURCE DISTRIBUTION ========================== -->
+ <property name="serializer.name" value="serializer" />
+ <property name="serializer.version" value="${version}" />
+ <property name="serializer.dist.file" value="${serializer.name}-j_${serializer.version}"/>
+ <property name="serializer.dist.dir" value="${serializer.build.dir}/${serializer.dist.file}"/>
+
+ <!-- patternset for source distribution packages -->
+ <patternset id="serializer-src-distro" >
+ <!-- some license and legal stuff -->
+ <include name="${serializer.dist.file}/LICENSE.txt"/>
+ <include name="${serializer.dist.file}/NOTICE.txt"/>
+ <include name="${serializer.dist.file}/KEYS"/>
+
+ <!-- The build stuff that uses Ant and this file itself, build.xml
+ this is getting into a strange loop but the source distribution
+ needs to build, and it uses this file, build.xml to do so ... -->
+ <include name="${serializer.dist.file}/build.bat"/>
+ <include name="${serializer.dist.file}/build.sh"/>
+ <include name="${serializer.dist.file}/build.xml"/>
+
+ <!-- The source code that the source distribution would build -->
+ <include name="${serializer.dist.file}/src/${serializer.reldir}/**/*.java" />
+ <include name="${serializer.dist.file}/src/${serializer.reldir}/**/*.properties" />
+ <include name="${serializer.dist.file}/src/${serializer.manifest.basename}" />
+
+ <!-- We need Ant in order to run build.xml in the source distribution -->
+ <include name="${serializer.dist.file}/tools/ant.jar"/>
+ <include name="${serializer.dist.file}/tools/antRun"/>
+ <include name="${serializer.dist.file}/tools/antRun.bat"/>
+
+ <!-- The serializer needs this jar in order to build -->
+ <include name="${serializer.dist.file}/xml-apis.jar"/>
+
+ <!-- Ant needs an XML parser in order to read in the build.xml, so it
+ can even do the build ... this is a strange loop ... -->
+ <include name="${serializer.dist.file}/xercesImpl.jar"/>
+ </patternset>
+
+ <!-- patternset for binary distribution packages ... if needed
+ <patternset id="serializer-bin-distro" >
+ <include name="${serializer.dist.file}/LICENSE.txt"/>
+ <include name="${serializer.dist.file}/NOTICE.txt"/>
+ <include name="${serializer.dist.file}/KEYS"/>
+ <include name="${serializer.dist.file}/${serializer.name}.jar"/>
+ <include name="${serializer.dist.file}/${xmlapis.jar.name}"/>
+ <include name="${serializer.dist.file}/${parser.jar.name}"/>
+ </patternset>
+ -->
+
+ <!-- =================================================================== -->
+ <!-- Creates the Serializer jar -->
+ <!-- =================================================================== -->
+ <target name="serializer.jar"
+ depends="serializer.prepare,serializer.compile"
+ description="Build the serializer and created serializer.jar" >
+ <!-- Copy over the manifest, with filtering (for version number) -->
+ <filter token="impl.version" value="${serializer.impl.version}"/>
+ <filter token="java.version" value="${serializer.java.version}"/>
+ <filter token="java.vendor" value="${serializer.java.vendor}"/>
+ <copy todir="${serializer.build.dir}" file="${serializer.manifest}" filtering="true"/>
+
+ <jar jarfile="${build.serializer.jar}"
+ manifest="${serializer.build.dir}/${serializer.manifest.basename}"
+ basedir="${serializer.build.classes}" >
+ <patternset><!-- relative to jar/@basedir -->
+ <include name="${serializer.reldir}/**/*" />
+ </patternset>
+ </jar>
+ </target>
+
+ <target name="serializer.prepare">
+ <mkdir dir="${serializer.build.dir}"/>
+ <mkdir dir="${serializer.build.classes}"/>
+ </target>
+
+ <target name="serializer.compile">
+ <echo message="Compiling the Serializer" />
+ <javac srcdir="${serializer.src.dir}"
+ destdir="${serializer.build.classes}"
+ debug="${serializer.build.debug}"
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+ <include name="${serializer.reldir}/**/*.java" />
+ <classpath refid="compile.class.path" />
+ <bootclasspath refid="xslt.boot.class.path" />
+ </javac>
+ <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
+ <copy todir="${serializer.build.classes}">
+ <fileset dir="${serializer.src.dir}" includes="${serializer.reldir}/**/*.properties"/>
+ </copy>
+
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Creates the API documentation -->
+ <!-- =================================================================== -->
+ <target name="serializer.javadocs"
+ description="Build the Javadocs for the Serializer" >
+ <echo message="javadocs is human-usable target with dependencies"/>
+
+ <mkdir dir="${build.docs}"/>
+ <mkdir dir="${build.apidocs}"/>
+ <antcall target="serializer.autojavadocs"/>
+ </target>
+
+ <target name="serializer.autojavadocs"
+ depends="serializer.autojavadocs-1.4-or-higher-if,serializer.autojavadocs-non1.4-or-higher-if">
+ <echo message="serializer.autojavadocs is for automated build process, without dependencies"/>
+ </target>
+
+ <target name="serializer.autojavadocs-1.4-or-higher-if" if="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="serializer.autojavadocs-1.4-or-higher"/>
+ </target>
+
+ <target name="serializer.autojavadocs-non1.4-or-higher-if" unless="using-java-1.4-or-higher"
+ depends="check-using-java-1.4-or-higher">
+ <antcall target="serializer.autojavadocs-non1.4-or-higher"/>
+ </target>
+
+ <target name="serializer.autojavadocs-1.4-or-higher">
+
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ additionalparam="-breakiterator"
+ destdir="${build.apidocs}"
+ public="true"
+ sourcepath="${src.dir}"
+ packagenames="org.apache.*"
+ author="true"
+ version="true"
+ use="true"
+ windowtitle="${Name-in-docs} Serializer ${impl.version}"
+ doctitle="${Name-in-docs} Serializer ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <taglet name="xalan2jtaglet.XSLUsageTag" path="${taglet.jar}"/>
+ <group title="Serializer" packages="org.apache.xml.serialize*"/>
+ </javadoc>
+ </target>
+
+ <target name="serializer.autojavadocs-non1.4-or-higher">
+ <!-- Ant ignores destdir arg if doclet is set, so must send to doclet in doclet subelement-->
+ <javadoc
+ public="true"
+ sourcepath="${src.dir}"
+ packagenames="org.apache.*"
+ author="true"
+ version="true"
+ use="true"
+ windowtitle="${Name-in-docs} Serializer ${impl.version}"
+ doctitle="${Name-in-docs} Serializer ${impl.version}"
+ bottom="Copyright © ${year} Apache XML Project. All Rights Reserved.">
+ <classpath refid="docs.class.path" />
+ <doclet name="xalanjdoc.Standard" path="${doclet.jar}">
+ <param name="-d" value="${build.apidocs}"/>
+ </doclet>
+ <group title="Serializer" packages="org.apache.xml.serialize*"/>
+ </javadoc>
+ </target>
+
+
+ <!-- =================================================================== -->
+ <!-- Create the serializer source distribution -->
+ <!-- =================================================================== -->
+ <target name="serializer-dist"
+ depends="serializer.jar"
+ description="Build the serializer source distribution .tar and .zip">
+ <antcall target="serializer-autodist-mkdirs"/>
+ <antcall target="serializer-autodist-copy-files"/>
+ <!-- <antcall target="serializer-autodist-create-bin-packages"/> -->
+ <antcall target="serializer-autodist-create-src-packages"/>
+ </target>
+
+ <target name="serializer-autodist-mkdirs">
+ <echo message="Serializer: making distribution directories" />
+ <mkdir dir="${serializer.dist.dir}"/>
+ <mkdir dir="${serializer.dist.dir}/src"/>
+ <mkdir dir="${serializer.dist.dir}/tools"/>
+ </target>
+
+ <target name="serializer-autodist-copy-files">
+ <!-- Copy bin directory, which includes preexisting checked-in .jar files -->
+<!-- <copy todir="${serializer.dist.dir}/bin">
+ <fileset dir="${serializer.bin.dir}" />
+ </copy> -->
+
+ <echo message="Serializer: copy source files to ${serializer.dist.dir}/src" />
+ <echo message=" ... from ${serializer.src.dir}/${serializer.reldir}" />
+ <!-- Copy sources -->
+ <copy todir="${serializer.dist.dir}/src/${serializer.reldir}">
+ <fileset dir="${serializer.src.dir}/${serializer.reldir}"/>
+ </copy>
+ <!-- Copy the manifest -->
+ <copy file="${serializer.src.dir}/${serializer.manifest.basename}"
+ todir="${serializer.dist.dir}/src" />
+
+ <!-- Copy built jars -->
+ <copy file="${build.serializer.jar}" todir="${serializer.dist.dir}" />
+
+ <!-- Copy runtime jars -->
+ <copy file="${lib.dir}/${xmlapis.jar.name}" todir="${serializer.dist.dir}" />
+ <copy file="${lib.dir}/${parser.jar.name}" todir="${serializer.dist.dir}" />
+
+ <!-- Copy licenses -->
+ <copy todir="${serializer.dist.dir}">
+ <fileset dir="."
+ includes="LICENSE.txt,NOTICE.txt"/>
+ </copy>
+
+ <!-- Copy tools -->
+ <copy todir="${serializer.dist.dir}/tools">
+ <fileset dir="./tools" includes="ant*"/>
+ </copy>
+
+ <copy todir="${serializer.dist.dir}">
+ <fileset dir="." includes="KEYS,build.xml,build.sh,build.bat"/>
+ </copy>
+ </target>
+
+ <target name="serializer-autodist-create-bin-packages">
+ <tar tarfile="${serializer.build.dir}/${serializer.dist.file}-bin.tar" >
+ <tarfileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-bin-distro"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${serializer.build.dir}/${serializer.dist.file}-bin.tar"
+ zipfile="${serializer.build.dir}/${serializer.dist.file}-bin.tar.gz"/>
+
+ <!--
+ <delete file="${serializer.build.dir}/${serializer.dist.file}-bin.tar" />
+ -->
+
+ <zip zipfile="${serializer.build.dir}/${serializer.dist.file}-bin.zip" >
+ <fileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-bin-distro"/>
+ </fileset>
+ </zip>
+ </target>
+
+ <target name="serializer-autodist-create-src-packages">
+ <tar tarfile="${serializer.build.dir}/${serializer.dist.file}-src.tar" >
+ <tarfileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-src-distro"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${serializer.build.dir}/${serializer.dist.file}-src.tar" zipfile="${serializer.build.dir}/${serializer.dist.file}-src.tar.gz"/>
+
+ <delete file="${serializer.build.dir}/${serializer.dist.file}-src.tar" />
+
+ <zip zipfile="${serializer.build.dir}/${serializer.dist.file}-src.zip" >
+ <fileset dir="${serializer.build.dir}">
+ <patternset refid="serializer-src-distro"/>
+ </fileset>
+ </zip>
+ </target>
+<!-- ##################################################
+ # END OF SECTION TO BUILD STAND-ALONE SERIALIZER #
+ ################################################## -->
+
+</project>
diff --git a/build_srcdist_xalan_tests.xml b/build_srcdist_xalan_tests.xml
new file mode 100644
index 00000000..2416aeb7
--- /dev/null
+++ b/build_srcdist_xalan_tests.xml
@@ -0,0 +1,1783 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<project name="testxsl" default="jar" basedir=".">
+<description>
+build.xml:$Revision$
+Ant 1.4.1+ build script for compiling and running Xalan-J tests.
+
+Note that this is a slightly unusual Ant build.xml file, since we
+support both compiling/packaging the Xalan-J tests themselves, as
+well as a number of targets designed to execute the tests once
+they're built.
+
+In general the compilation targets (i.e. ones that compile the
+test classes themselves) do list their dependencies explicitly.
+Targets that serve to execute tests do not normally list any
+dependencies - users must manually 'build jar' first.
+
+@author shane_curcuru@lotus.com
+@see build.bat
+
+This file has been written, to enable running XalanJ tests from
+XalanJ source distribution. This file is largely, a copy of the
+file build.xml provided by XalanJ xalan-test git repos.
+
+</description>
+
+<!-- Note: A number of property names may seem a little odd. I've
+ explicitly tried to reduce property name collisions between
+ this file and xml-xalan/java/build.xml to try to simplify
+ maintenance (or at least to separate the dev stuff from the
+ testing stuff). Suggestions for improvements (along with
+ maintenance strategies) accepted.
+-->
+
+ <!-- ================================================================== -->
+ <!-- Initialize: define various properties about locations, jars, etc. -->
+ <!-- ================================================================== -->
+ <!-- First, read in the user's own default properties, if they exist -->
+ <property name="local.properties" value="my.test.properties"/>
+ <property file="${local.properties}" />
+ <!-- Then, read in the default checked-in properties -->
+ <property file="test.properties" />
+
+ <property name="smoketest.conf.excludes" value="${smoketest.conf.normal.excludes};${smoketest.conf.supplemental.excludes}"/>
+ <property name="smoketest.xsltc.conf.excludes" value="${smoketest.xsltc.conf.normal.excludes};${smoketest.xsltc.conf.supplemental.excludes}"/>
+ <!-- Also provide environment properties with a special prefix which
+ allows us to detect if JARDIR is set.
+ -->
+ <property environment="ENV" />
+
+ <property name="year" value="2000-2023"/>
+ <!-- Properties related to compiling the tests -->
+ <property name="build.compiler" value="classic"/>
+ <property name="compiler" value="${build.compiler}"/>
+ <property name="debug" value="on"/>
+ <property name="compiler.nowarn" value="on"/>
+
+ <!-- Specific locations related to building test code/docs -->
+ <property name="test.src.dir" value="java/src"/>
+ <property name="test.root" value="org/apache/qetest/"/>
+ <property name="test.dir" value="${test.src.dir}/${test.root}"/>
+ <property name="test.tools.dir" value="./tools"/>
+ <property name="test.build.dir" value="java/build"/>
+ <property name="test.build.docs" value="${test.build.dir}/docs"/>
+ <property name="test.build.apidocs" value="${test.build.docs}/apidocs"/>
+ <property name="tests.bugzilla.dir" value="tests/bugzilla"/>
+ <property name="tests.bugzilla.build.dir" value="tests/bugzilla/build"/>
+ <property name="extensions.dir" value="tests/extensions"/>
+ <property name="tests.extensions.dir" value="${extensions.dir}/java"/>
+ <property name="tests.extensions.build.dir" value="${extensions.dir}/java/build"/>
+
+ <!-- Names/locations of .jar files we build -->
+ <property name="testxsl.jar.name" value="testxsl.jar"/>
+ <property name="qetest.jar.name" value="qetest.jar"/>
+ <property name="testxsl.jar" value="${test.build.dir}/${testxsl.jar.name}"/>
+ <property name="qetest.jar" value="${test.build.dir}/${qetest.jar.name}"/>
+
+ <!-- Specific locations related to Xalan code, which should be in a sister tree to us -->
+ <property name="xalan.relpath" value="./.."/>
+ <property name="xalan.lib.dir" value="${xalan.relpath}/lib"/>
+ <property name="xalan.tools.dir" value="${xalan.relpath}/tools"/>
+ <property name="xalan.build.dir" value="${xalan.relpath}/build"/>
+ <property name="xalan.xdocs.dir" value="${xalan.relpath}/xdocs"/>
+ <property name="xalan.generator.styletargz" value="${xalan.xdocs.dir}/xml-site-style.tar.gz"/>
+
+ <!-- Various names/locations of dependent jars -->
+ <property name="xalan.jar" value="${xalan.build.dir}/xalan.jar"/>
+ <property name="xalan.unbundled.jar"
+ value="${xalan.build.dir}/xalan-unbundled.jar"/>
+ <property name="xsltc.jar" value="${xalan.build.dir}/xsltc.jar"/>
+ <property name="ser.jar" value="${xalan.build.dir}/serializer.jar"/>
+ <property name="xml-apis.jar" value="${xalan.lib.dir}/xml-apis.jar"/>
+ <property name="parserjar" value="${xalan.lib.dir}/xercesImpl.jar"/>
+
+ <!-- JTidy is used by the XSLTC comparator -->
+ <!--<property name="jtidy.jar" value="${test.tools.dir}/Tidy.jar"/>-->
+ <property name="jtidy.jar" value="${test.tools.dir}/jtidy-1.0.3.jar"/>
+
+ <!-- The Mozilla Rhino jar is needed, to run Javascript extensions tests -->
+ <property name="js.jar" value="${xalan.relpath}/lib/rhino-1.7.14.jar"/>
+
+ <!-- The Bean Scripting Framework is required for extensions written in languages
+ other than Java. Xalan Java will attempt to use the Jakarta BSF implementation
+ by default (see the "extensions" target). For more information, see the
+ Apache Commons BSF project https://commons.apache.org/proper/commons-bsf/.
+ -->
+ <property name="bsf.jar" value="${xalan.relpath}/lib/bsf.jar"/>
+
+ <property name="commons-logging.jar" value="${xalan.relpath}/lib/commons-logging-1.2.jar"/>
+
+ <!-- Documentation-specific files and locations -->
+ <property name="stylebook.jar" value="${xalan.tools.dir}/stylebook-1.0-b3_xalan-2.jar"/>
+ <property name="doclet.jar" value="${xalan.tools.dir}/xalan2jdoc.jar"/>
+ <property name="test.xdocs.dir" value="java/xdocs"/>
+ <property name="test.generator.styletar" value="${test.xdocs.dir}/xml-site-style.tar"/>
+ <property name="test.xdocs.book" value="${test.xdocs.dir}/sources/xalantest.xml"/>
+ <property name="test.xdocs.style" value="${test.xdocs.dir}/style"/>
+ <property name="doc.generator" value="org.apache.stylebook.StyleBook"/>
+ <path id="test.docs.class.path">
+ <pathelement location="${stylebook.jar}" />
+ <pathelement location="${doclet.jar}" />
+ <pathelement location="${jtidy.jar}" />
+ <pathelement location="${xalan.jar}" />
+ <pathelement location="${ser.jar}" />
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${parserjar}" />
+ </path>
+
+ <!-- Note: given that many of the tests interact with xerces and
+ xalan classes, and that Ant may use these classes (especially parser
+ ones) I've found it's best to fork the tests.
+ Later I'd like to give the user the option to fork or not, since
+ while forking is slower and problematic on some systems, it is
+ also a safer testing environment (since the Ant classes and the
+ parser aren't already loaded, etc.)
+ -->
+ <property name="fork-tests" value="yes"/>
+ <!-- Property to have the Ant build fail when a test has an
+ error (not necessarily a fail). Needs improvement.
+ -->
+ <property name="fail-on-error" value="yes"/>
+
+ <!-- ================================================================== -->
+ <!-- Initialize: define classpaths for use within specific targets -->
+ <!-- ================================================================== -->
+ <!-- Classpath used when compiling tests -->
+ <path id="compiletest.class.path">
+ <pathelement location="${xalan.jar}" />
+ <pathelement location="${xsltc.jar}" /> <!-- add this so we can test the
+ separate jar distribution -->
+ <pathelement location="${ser.jar}" />
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${parserjar}" />
+ <pathelement location="${jtidy.jar}" />
+ </path>
+
+ <!-- Classpath used when running API tests -->
+ <path id="api.class.path">
+ <pathelement location="${xalan.jar}" />
+ <pathelement location="${ser.jar}" />
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${parserjar}" />
+ <pathelement location="${testxsl.jar}" />
+ <pathelement location="${jtidy.jar}" />
+ </path>
+
+ <path id="testxsl.class.path">
+ <pathelement location="${testxsl.jar}" />
+ </path>
+
+ <!-- Classpath used when running conf or conformance tests -->
+ <path id="conf.class.path">
+ <pathelement location="${xalan.jar}" />
+ <pathelement location="${ser.jar}" />
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${parserjar}" />
+ <pathelement location="${testxsl.jar}" />
+ <pathelement location="${jtidy.jar}" />
+ </path>
+
+ <!-- Boot class path for JDK 1.4+ -->
+ <path id="boot.class.path">
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${parserjar}" />
+ <pathelement location="${ser.jar}" />
+ <pathelement location="${xalan.jar}" />
+ <!--<pathelement location="${xsltc.jar}" />--> <!-- add this so we can test the
+ separate jar distribution -->
+ <pathelement path="${sun.boot.class.path}" />
+ </path>
+
+ <!-- Gump build xml-xalan2-smoketest should use xalan.unbundled.jar -->
+ <path id="boot.class.path.gump">
+ <pathelement location="${sun.boot.class.path}" />
+ </path>
+
+ <!-- Classpath used when running perf or performance tests -->
+ <path id="perf.class.path">
+ <path refid="conf.class.path" />
+ </path>
+
+ <!-- Classpath used when running EXSLT tests -->
+ <path id="exslt.class.path">
+ <path refid="conf.class.path" />
+ </path>
+
+ <!-- Classpath used when running contrib or user-contributed tests -->
+ <path id="contrib.class.path">
+ <path refid="conf.class.path" />
+ </path>
+
+ <!-- Classpath used when running Bugzilla tests -->
+ <path id="bugzilla.class.path">
+ <path refid="api.class.path" />
+ <pathelement location="${tests.bugzilla.build.dir}" />
+ </path>
+
+ <!-- Classpath used when running extensions tests -->
+ <path id="extensions.class.path">
+ <pathelement location="${xalan.jar}" />
+ <path refid="testxsl.class.path" />
+ <pathelement location="${commons-logging.jar}" />
+ <pathelement location="${bsf.jar}" />
+ <pathelement location="${js.jar}" />
+ <pathelement location="${jtidy.jar}" />
+ <pathelement location="${tests.extensions.build.dir}" />
+ <pathelement location="${tests.bugzilla.build.dir}" />
+ <!-- Add more pathelements if we add more Java extensions dirs -->
+ </path>
+
+ <!-- Classpath used when build/running xslt20 XPath 2.0 RWAPI tests -->
+ <path id="rwapitest.class.path">
+ <path refid="api.class.path" />
+ <pathelement location="${xalan.build.dir}/xpathapi.jar" />
+ </path>
+
+ <!-- ================================================================== -->
+ <!-- Initialize: Define an Ant task that executes Xalan test automation -->
+ <!-- ================================================================== -->
+ <taskdef name="xalantest" classname="org.apache.qetest.xsl.XSLTestAntTask">
+ <classpath>
+ <!-- Needed so this build file can run: this refers to
+ a precompiled version of XSLTestAntTask.class that
+ is checked in: normally at runtime, it should come
+ from the testxsl.jar file instead of below.
+ -->
+ <pathelement location="${test.src.dir}" />
+ <pathelement location="${test.build.dir}" />
+ <pathelement location="${testxsl.jar}" />
+ </classpath>
+ </taskdef>
+
+ <!-- This Ant task checks, the 'api' tests pass or fail status, by inspecting
+ content within test result XML documents -->
+ <taskdef name="apiTestsResultTask" classname="org.apache.qetest.xsl.XSLApiTestsResultTask">
+ <classpath>
+ <pathelement location="${test.src.dir}" />
+ <pathelement location="${test.build.dir}" />
+ <pathelement location="${testxsl.jar}" />
+ </classpath>
+ </taskdef>
+
+ <!-- This Ant task, runs XalanJ xsltc tests -->
+ <taskdef name="xsltcTestsTask" classname="org.apache.qetest.xsl.XsltcTestsTask">
+ <classpath>
+ <pathelement location="${test.src.dir}" />
+ <pathelement location="${test.build.dir}" />
+ <pathelement location="${testxsl.jar}" />
+ </classpath>
+ </taskdef>
+
+ <!-- ================================================================== -->
+ <!-- Base target for running tests with specified properties. Actual -->
+ <!-- work is handled by dependent tasks, at most one of which should be -->
+ <!-- executed. -->
+ <!-- ================================================================== -->
+ <target name="run.xalantest" depends="run.xalantest.default,run.xalantest.transfact"/>
+
+ <target name="run.xalantest.default" unless="sysprop.transfact" >
+ <antcall target="run.xalantest.default.gump"/>
+ <antcall target="run.xalantest.default.normal"/>
+ </target>
+
+ <target name="run.xalantest.default.gump" if="gump" >
+ <xalantest test="${testClass}"
+ testType="${testType}"
+ classpathref="${xalantest.classpathref}"
+ bootclasspathref="boot.class.path.gump"
+ fork="${fork-tests}"
+ failonerror="${fail-on-error}" />
+ </target>
+
+ <target name="run.xalantest.default.normal" unless="gump" >
+ <xalantest test="${testClass}"
+ testType="${testType}"
+ classpathref="${xalantest.classpathref}"
+ bootclasspathref="boot.class.path"
+ fork="${fork-tests}"
+ failonerror="${fail-on-error}" />
+ </target>
+
+ <target name="run.xalantest.transfact" if="sysprop.transfact" >
+ <antcall target="run.xalantest.transfact.gump"/>
+ <antcall target="run.xalantest.transfact.normal"/>
+ </target>
+
+ <target name="run.xalantest.transfact.gump" if="gump">
+ <xalantest test="${testClass}"
+ testType="${testType}"
+ classpathref="${xalantest.classpathref}"
+ bootclasspathref="boot.class.path.gump"
+ fork="${fork-tests}"
+ failonerror="${fail-on-error}" >
+ <!-- Explicitly set TransformerFactory property to use -->
+ <sysproperty key="javax.xml.transform.TransformerFactory"
+ value="${sysprop.transfact}" />
+ </xalantest>
+ </target>
+
+ <target name="run.xalantest.transfact.normal" unless="gump">
+ <xalantest test="${testClass}"
+ testType="${testType}"
+ classpathref="${xalantest.classpathref}"
+ bootclasspathref="boot.class.path"
+ fork="${fork-tests}"
+ failonerror="${fail-on-error}" >
+ <!-- Explicitly set TransformerFactory property to use -->
+ <sysproperty key="javax.xml.transform.TransformerFactory"
+ value="${sysprop.transfact}" />
+ </xalantest>
+ </target>
+
+ <target name="run.xalan-extension-test" >
+ <!-- <antcall target="run.xalan-extension-test.gump"/> -->
+ <antcall target="run.xalan-extension-test.normal"/>
+ </target>
+
+ <target name="run.xalan-extension-test.gump" if="gump">
+ <xalantest test="${testClass}"
+ testType="${testType}"
+ classpathref="${xalantest.classpathref}"
+ bootclasspathref="boot.class.path.gump"
+ fork="${fork-tests}"
+ failonerror="${fail-on-error}" >
+ <sysproperty key="org.apache.xalan.extensions.bsf.BSFManager"
+ value="${sysprop.BSFManager}" />
+ </xalantest>
+ </target>
+
+ <target name="run.xalan-extension-test.normal">
+ <xalantest test="${testClass}"
+ testType="${testType}"
+ classpathref="${xalantest.classpathref}"
+ bootclasspathref="boot.class.path"
+ fork="${fork-tests}"
+ failonerror="${fail-on-error}" >
+ <sysproperty key="org.apache.xalan.extensions.bsf.BSFManager"
+ value="${sysprop.BSFManager}" />
+ </xalantest>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Initialize: setup for compiling, doc building, running tests -->
+ <!-- ================================================================== -->
+ <target name="init.test"
+ description="Prepare timestamp, echo version for debugging">
+ <echo message="Using parserjar ${parserjar}" />
+ <tstamp />
+ </target>
+
+ <target name="init.build" depends="init.test"
+ description="Prepare build output tree, copy prebuilts">
+ <!-- Note this is case-sensitive, even on Windows! -->
+ <!-- Note JARDIR support should probably be removed, since it's a maintenance hassle Jul-02 -sc -->
+ <echo message="Your ==JARDIR== is set to ==${ENV.JARDIR}==" />
+ <echo message="JVM Classpath is ${java.class.path}" />
+ <mkdir dir="${test.build.dir}" />
+ <mkdir dir="${test.build.dir}/${test.root}" />
+ <!-- Also copy over precompiled external processor wrapper classes -->
+ <copy todir="${test.build.dir}/${test.root}/xslwrapper" >
+ <fileset dir="${test.dir}xslwrapper">
+ <include name="**/*.class" />
+ <include name="**/*.properties" />
+ </fileset>
+ </copy>
+ <!-- Also copy over precompiled Ant class (why do we suddenly need this? -sc) -->
+ <copy todir="${test.build.dir}/${test.root}/xsl" >
+ <fileset dir="${test.dir}xsl">
+ <include name="**/*.class" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="init.docs" depends="init.build"
+ description="Prepare output tree for documentation">
+ <mkdir dir="${test.build.apidocs}" />
+ <!-- Copy the Xalan-specific version of doc files and untargz them -->
+ <gunzip src="${xalan.generator.styletargz}" dest="${test.generator.styletar}"/>
+ <untar src="${test.generator.styletar}" dest="${test.xdocs.dir}"/>
+ <delete file="${test.generator.styletar}"/>
+ </target>
+
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the normal StylesheetTestletDriver on the conf suite -->
+ <!-- ================================================================== -->
+ <target name="conf" description="Run TestletDriver over the conf tree"
+ depends="init.test">
+ <!-- Set the default conformance test driver, user may override -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan conf test: ${testClass}" />
+ <property name="testType" value="conf." />
+
+ <mkdir dir="results-conf"/>
+
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="conf.class.path" />
+ </antcall>
+
+ <!--<property name="scan.outputDir" value="${conf.outputDir}"/>-->
+ <property name="scan.outputDir" value="results-conf"/>
+ <antcall target="scan"/>
+ </target>
+
+ <target name="conf.dom" description="Run TestletDriver over conf with DOM excludes">
+ <antcall target="conf">
+ <param name="conf.excludes" value="${trax.dom.excludes}"/>
+ <param name="conf.flavor" value="trax.dom"/>
+ </antcall>
+ </target>
+
+ <target name="conf.one" description="Run a single conf test">
+ <antcall target="conf">
+ <param name="testClass" value="org.apache.qetest.xsl.StylesheetDriver" />
+ </antcall>
+ </target>
+
+ <target name="conf.xsltc.dom" description="Run TestletDriver over conf with DOM excludes">
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.excludes" value="${trax.dom.excludes}"/>
+ <param name="conf.xsltc.flavor" value="trax.dom"/>
+ </antcall>
+ </target>
+
+ <target name="conf.trace" description="Run TestletDriver over the conf tree">
+ <property name="conf.trace" value="on"/>
+ <antcall target="conf"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the normal StylesheetTestletDriver on the EXSLT suite -->
+ <!-- ================================================================== -->
+ <target name="exslt" description="Run TestletDriver over the exslt tree"
+ depends="init.test">
+ <!-- Set the default conformance test driver, user may override -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan exslt test: ${testClass}" />
+ <property name="testType" value="exslt." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="exslt.class.path" />
+ </antcall>
+ <property name="scan.outputDir" value="${exslt.outputDir}"/>
+ <antcall target="scan"/>
+ </target>
+
+ <target name="exslt.dom" description="Run TestletDriver over exslt with DOM excludes">
+ <antcall target="exslt">
+ <param name="exslt.excludes" value="${trax.dom.excludes}"/>
+ <param name="exslt.flavor" value="trax.dom"/>
+ </antcall>
+ </target>
+
+ <target name="exslt.one" description="Run a single exslt test">
+ <antcall target="exslt">
+ <param name="testClass" value="org.apache.qetest.xsl.StylesheetDriver" />
+ </antcall>
+ </target>
+
+ <target name="exslt.xsltc.dom" description="Run TestletDriver over exslt with DOM excludes">
+ <antcall target="exslt.xsltc">
+ <param name="exslt.xsltc.excludes" value="${trax.dom.excludes}"/>
+ <param name="exslt.xsltc.flavor" value="trax.dom"/>
+ </antcall>
+ </target>
+
+ <target name="exslt.trace" description="Run TestletDriver over the conf tree">
+ <property name="exslt.trace" value="on"/>
+ <antcall target="exslt"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the normal StylesheetTestletDriver on the accept suite -->
+ <!-- ================================================================== -->
+ <target name="accept" description="Run TestletDriver over the accept tree">
+ <!--<echo message="Executing Xalan accept test." />-->
+
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan conf test: ${testClass}" />
+
+ <property name="qetest.summaryFile" value="Accept.xml" />
+ <property name="testType" value="accept." />
+
+ <mkdir dir="results-accept"/>
+
+ <!--<antcall target="conf"/>-->
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="conf.class.path" />
+ </antcall>
+
+ <property name="scan.outputDir" value="results-accept"/>
+ <antcall target="scan"/>
+ </target>
+
+ <!--<target name="accept.xsltc" description="Run TestletDriver over the accept tree">
+ <property name="testType" value="accept.xsltc." />
+ <property name="qetest.summaryFile" value="Accept.xml" />
+ <property name="scan.outputDir" value="${accept.xsltc.outputDir}"/>
+ <property name="use-processor" value="${accept.xsltc.processor}"/>
+ <antcall target="conf.xsltc" />
+ </target>-->
+
+ <target name="accept.trace" description="Run TestletDriver over the accept tree">
+ <property name="accept.trace" value="on"/>
+ <antcall target="accept"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the StylesheetErrorTestlet on the conferr suite -->
+ <!-- ================================================================== -->
+ <target name="conferr" description="Run TestletDriver over the conferr negative test tree"
+ depends="init.test">
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan conf test: ${testClass}" />
+ <property name="testType" value="conferr." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="conf.class.path" />
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${conferr.outputDir}"/>
+ </antcall>
+ </target>
+
+
+ <target name="conferr.xsltc" description="Run TestletDriver over the conferr negative test tree" depends="init.test">
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan conferr test-xsltc: ${testClass}" />
+ <property name="testType" value="conferr.xsltc." />
+
+ <!-- Set indent-number to 0 to match Xalan's default indentation -->
+ <property name="${testType}Processor.setAttribute.indent-number" value="0" />
+
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="conf.class.path" />
+ <!-- Explicitly set TransformerFactory property to use xsltc -->
+ <param name="sysprop.transfact"
+ value="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" />
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${conferr.xsltc.outputDir}" />
+ </antcall>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the normal StylesheetTestletDriver on the perf suite -->
+ <!-- ================================================================== -->
+ <target name="perf" description="Run TestletDriver over the perf tree"
+ depends="init.test">
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan perf test: ${testClass}" />
+ <property name="testType" value="perf." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="perf.class.path" />
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${perf.outputDir}"/>
+ </antcall>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the normal StylesheetTestletDriver on the contrib suite -->
+ <!-- ================================================================== -->
+ <target name="contrib" description="Run TestletDriver over the contrib tree"
+ depends="init.test">
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan contrib test: ${testClass}" />
+ <property name="testType" value="contrib." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="contrib.class.path" />
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${contrib.outputDir}"/>
+ </antcall>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: the ThreadedTestletDriver on threads.filelist -->
+ <!-- ================================================================== -->
+ <target name="threads" description="Run ThreadedTestletDriver on threads.filelist"
+ depends="init.test">
+ <!-- Set special threaded test driver and filelist, user may override -->
+ <property name="testClass" value="org.apache.qetest.xsl.ThreadedTestletDriver" />
+ <echo message="Executing Xalan threads test: ${testClass}" />
+ <property name="testType" value="threads." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="api.class.path" />
+ </antcall>
+ </target>
+
+
+ <!-- Run specific named API tests.
+
+ What tests this build target runs, are defined within test.properties file
+ (please see the section, 'Various tests, that run for ant build.xml's "apitest"
+ target' within ./test.properties file).
+ -->
+ <target name="apitest" description="Run specific API tests" depends="init.test">
+ <property name="testClass" value="org.apache.qetest.xsl.XSLTestHarness" />
+ <property name="testType" value="api." />
+
+ <mkdir dir="results-api"/>
+
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="api.class.path" />
+ </antcall>
+
+ <condition property="apitest-file-check-passed">
+ <and>
+ <available file="results-api/Pass-DOMResultAPITest.xml" />
+ <available file="results-api/Pass-DOMSourceAPITest.xml" />
+ <available file="results-api/Pass-DTMDumpTest.xml" />
+ <available file="results-api/Pass-EmbeddedStylesheetTest.xml" />
+ <available file="results-api/Pass-ErrorListenerAPITest.xml" />
+ <available file="results-api/Pass-ErrorListenerTest.xml" />
+ <available file="results-api/Pass-SAXResultAPITest.xml" />
+ <available file="results-api/Pass-SAXSourceAPITest.xml" />
+ <available file="results-api/Pass-SAXTransformerFactoryAPITest.xml" />
+ <available file="results-api/Pass-SerializedStylesheetTest.xml" />
+ <available file="results-api/Pass-SystemIDResolverAPITest.xml" />
+ <available file="results-api/Pass-TemplatesHandlerAPITest.xml" />
+ <available file="results-api/Pass-TestDTM.xml" />
+ <available file="results-api/Pass-TestDTMIter.xml" />
+ <available file="results-api/Pass-TestDTMTrav.xml" />
+ <available file="results-api/Pass-TestXPathAPI.xml" />
+ <available file="results-api/Pass-TraceListenerTest.xml" />
+ <available file="results-api/Pass-TransformerFactoryAPITest.xml" />
+ <available file="results-api/Pass-TransformerHandlerAPITest.xml" />
+ <available file="results-api/Pass-TransformerHandlerTest.xml" />
+ <available file="results-api/Pass-TransformStateAPITest.xml" />
+ <available file="results-api/Pass-URIResolverTest.xml" />
+ </and>
+ </condition>
+
+ <antcall target="scan">
+ <!--<param name="scan.outputDir" value="${api.outputDir}"/>-->
+ <param name="scan.outputDir" value="results-api"/>
+ </antcall>
+
+ <antcall target="apitest-pass-file-check"/>
+
+ <apiTestsResultTask resultDir="results-api" fileNamePrefix="Pass-"/>
+
+ <echo message=" [minitest] CONGRATULATIONS! The api tests passed!" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: Run all available API tests -->
+ <!-- ================================================================== -->
+ <target name="harness" description="Run all listed API harness.tests">
+ <antcall target="api">
+ <param name="testClass" value="org.apache.qetest.xsl.XSLTestHarness"/>
+ <param name="qetest.tests" value="${harness.tests}"/>
+ <!-- Below line is in case we run ThreadedTestletDriver -->
+ <param name="qetest.testlet" value="${harness.threads.testlet}"/>
+ <param name="qetest.fileList" value="${harness.threads.fileList}"/>
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${api.outputDir}"/>
+ </antcall>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: all Bugzilla testlets to regress bugs -->
+ <!-- ================================================================== -->
+ <target name="bugzilla" description="Run all Bugzilla Testlets and tests to regress bugs"
+ depends="init.test">
+ <echo message="Executing Xalan Bugzilla Testlets and tests to regress bugs" />
+ <property name="testClass" value="org.apache.qetest.xsl.BugzillaTestletDriver" />
+ <property name="testType" value="bugzilla." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="bugzilla.class.path" />
+ </antcall>
+ <echo message="If you got ClassNotFound, did you 'build bugzilla.classes' first?" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: various extensions tests -->
+ <!-- ================================================================== -->
+ <target name="extensions"
+ description="Run extensions tests. Non-Java extensions will use the Apache BSF implementation."
+ depends="init.test">
+ <echo message="Executing Xalan extensions tests. Non-Java extensions will use the Apache BSF implementation." />
+ <!-- Set the default conformance test driver, user may
+ override; note test.properties:extensions.testlet=
+ -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <property name="testType" value="extensions." />
+
+ <mkdir dir="results-extensions"/>
+
+ <antcall target="run.xalan-extension-test">
+ <param name="xalantest.classpathref" value="extensions.class.path" />
+ <param name="sysprop.BSFManager" value="org.apache.bsf.BSFManager" />
+ </antcall>
+ <property name="scan.outputDir" value="results-extensions"/>
+ <antcall target="scan"/>
+ <echo message="If you got ClassNotFound, did you 'build extensions.classes' first?" />
+ </target>
+
+ <target name="extensions-with-ibm-bsf"
+ description="Run extensions tests.
+ Non-Java extensions will use the IBM BSF implementation."
+ depends="init.test">
+ <echo message="Executing Xalan extensions tests. Non-Java extensions will use the IBM BSF implementation." />
+ <!-- Set the default conformance test driver, user may
+ override; note test.properties:extensions.testlet=
+ -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <property name="testType" value="extensions.with-ibm-bsf." />
+ <property name="scan.outputDir" value="${extensions.with-ibm-bsf.outputDir}"/>
+
+ <antcall target="run.xalan-extension-test">
+ <param name="extensions.outputDir" value="${extensions.with-ibm-bsf.outputDir}" />
+ <param name="xalantest.classpathref" value="extensions.class.path" />
+ <param name="sysprop.BSFManager" value="com.ibm.bsf.BSFManager" />
+ </antcall>
+ <antcall target="scan"/>
+ <echo message="If you got ClassNotFound, did you 'build extensions.classes' first?" />
+ </target>
+
+ <target name="rwapi" description="Run TestletDriver with xslt20 XPath2.0 RWAPI tests"
+ depends="init.test,compile.rwapi,jar">
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan conf test: ${testClass}" />
+ <property name="testType" value="conf." />
+ <property name="conf.testlet" value="org.apache.qetest.rwapi.XPathASTTestlet" />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref" value="rwapitest.class.path" />
+ </antcall>
+ <property name="scan.outputDir" value="${conf.outputDir}"/>
+ <antcall target="scan"/>
+ </target>
+ <!-- ================================================================== -->
+ <!-- Run tests: Run the Xalan-J 2.x Minitest -->
+ <!-- ================================================================== -->
+ <!-- This target doesn't actually do anything itself - it merely
+ depends on other targets, in order, to first run the whole
+ Minitest, then to log to Ant whether the test didn't pass
+ (i.e. failed, incomplete, error or ambiguous) or passed.
+ -->
+ <target name="minitest"
+ description="Run the Xalan-J 2.x Minitest"
+ depends="minitest-execute,minitest-notpass,minitest-pass">
+ </target>
+
+ <target name="minitest.gump"
+ description="Compile and Run the Xalan-J 2.x Minitest"
+ depends="jar">
+ <antcall target="minitest">
+ <param name="gump" value="boot.class.path.gump"/>
+ </antcall>
+ </target>
+ <target name="minitest-execute">
+ <echo message="About to execute the Minitest..." />
+ <antcall target="api">
+ <param name="testClass" value="org.apache.qetest.trax.Minitest"/>
+ <param name="testType" value="minitest."/>
+ </antcall>
+ <available file="${minitest.passFile}" property="minitest-passed" />
+ </target>
+ <target name="minitest-notpass" unless="minitest-passed">
+ <echo message=" [minitest] ERROR! The Minitest failed!" />
+ <echo message=" [minitest] See details in ${minitest.logFile}, output is in ${minitest.outputDir}" />
+ <echo message=" [minitest] Please fix any Minitest problems before checking in!" />
+ <fail message="Please fix any Minitest problems before checking in!" />
+ </target>
+ <target name="minitest-pass" if="minitest-passed">
+ <echo message=" [minitest] CONGRATULATIONS! The Minitest passed!" />
+ <echo message=" [minitest] See details in ${minitest.logFile}" />
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: Run the Xalan-J 2.x Smoketest, including several tests -->
+ <!-- Note: this target is frequently called from outside of this file! -->
+ <!-- ================================================================== -->
+ <!--<target name="smoketest"
+ description="Run the Xalan-J 2.x Smoketest"
+ depends="minitest-execute,extensions.classes,smoketest-execute,minitest-notpass,minitest-pass,smoketest-notpass,smoketest-pass">
+ </target>-->
+ <target name="smoketest"
+ description="Run the Xalan-J 2.x Smoketest"
+ depends="smoketest-execute,smoketest-notpass,smoketest-pass">
+ </target>
+ <target name="smoketest.xsltc"
+ description="Run the Xalan-J 2.x XSLTC Smoketest"
+ depends="jar,smoketest.xsltc-execute,smoketest.xsltc-notpass,smoketest.xsltc-pass">
+ </target>
+
+ <!-- The following compiles the minimum to run the smoketests, runs them,
+ and creates distros just of the results and existing tree,
+ without actually running the docs - this is to ensure that
+ doc build errors in the tests won't affect GUMP runs.
+ -->
+ <target name="smoketest.dev"
+ description="Run the Xalan-J 2.x Smoketest with dependencies"
+ depends="jar,minitest-execute,extensions.classes,smoketest-execute,minitest-notpass,minitest-pass,smoketest-notpass,smoketest-pass">
+ </target>
+
+ <target name="smoketest.gump"
+ description="Run the Xalan-J 2.x Smoketest in automated builds with dependencies">
+ <antcall target="minitest.gump">
+ <param name="gump" value="boot.class.path.gump"/>
+ </antcall>
+ <antcall target="extensions.classes"/>
+ <antcall target="smoketest-execute.gump">
+ <param name="gump" value="boot.class.path.gump"/>
+ </antcall>
+
+ <!-- This compiles the minimum to run the smoketests, runs them,
+ and creates distros just of the results and existing tree,
+ without actually running the docs - this is to ensure that
+ doc build errors in the tests won't affect GUMP runs.
+ -->
+ </target>
+
+ <!-- This target smoketest-execute.gump is a subtarget which is called
+ from smoketest.gump.
+ -->
+ <target name="smoketest-execute.gump"
+ description="Run the Xalan-J 2.x Smoketest for Gump build "
+ depends="smoketest-execute,smoketest-results-dist,dist-nodeps,
+ smoketest-notpass,smoketest-pass">
+ </target>
+
+ <target name="smoketest-execute">
+ <echo message="About to execute XalanJ2 extensions tests..." />
+ <antcall target="extensions">
+ <param name="testType" value="smoketest.extensions."/>
+ </antcall>
+
+ <echo message="About to execute Conformance tests..." />
+ <antcall target="conf">
+ <param name="testType" value="smoketest.conf."/>
+ </antcall>
+
+ <echo message="About to execute Accept tests..." />
+ <antcall target="accept">
+ <param name="testType" value="smoketest.accept."/>
+ </antcall>
+
+ <condition property="smoketest-passed">
+ <and>
+ <available file="${smoketest.extensions.passFile}" />
+ <available file="${smoketest.conf.passFile}" />
+ <available file="${smoketest.accept.passFile}" />
+ </and>
+ </condition>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="smoketest"/>
+ </antcall>
+ </target>
+
+ <target name="smoketest.xsltc-execute">
+ <echo message="About to execute Conformance tests..." />
+ <antcall target="conf.xsltc">
+ <param name="testType" value="smoketest.xsltc.conf."/>
+ </antcall>
+
+ <echo message="About to execute Accept tests..." />
+ <antcall target="accept.xsltc">
+ <param name="testType" value="smoketest.xsltc.accept."/>
+ </antcall>
+
+ <condition property="smoketest.xsltc-passed">
+ <and>
+ <available file="${smoketest.xsltc.conf.passFile}" />
+ <available file="${smoketest.xsltc.accept.passFile}" />
+ </and>
+ </condition>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="smoketest.xsltc"/>
+ </antcall>
+ </target>
+
+ <target name="smoketest-notpass" unless="smoketest-passed">
+ <echo message=" [minitest] ERROR! The Smoketest failed!" />
+ <echo message=" [minitest] See details in ${smoketest.conf.logFile}, output is in ${smoketest.conf.outputDir}" />
+ <echo message=" [minitest] See details in ${smoketest.api.logFile}, output is in ${smoketest.api.outputDir}" />
+ <echo message=" [minitest] See details in ${smoketest.extensions.logFile}, output is in ${smoketest.extensions.outputDir}" />
+ <echo message=" [minitest] Please fix any smoketest problems before checking in!" />
+ <fail message="Please fix any smoketest problems before checking in!" />
+ </target>
+
+ <target name="smoketest-pass" if="smoketest-passed">
+ <echo message=" [minitest] CONGRATULATIONS! The Smoketest passed!" />
+ <echo message=" [minitest] Details are in ${smoketest.extensions.logFile}, ${smoketest.conf.logFile}, ${smoketest.accept.logFile}" />
+ </target>
+
+ <target name="apitest-pass-file-check" unless="apitest-file-check-passed">
+ <echo message=" [minitest] ERROR! The api tests failed!" />
+ <fail message="Please fix any api tests problems before checking in!" />
+ </target>
+
+ <target name="smoketest.xsltc-notpass" unless="smoketest.xsltc-passed">
+ <echo message=" [minitest] ERROR! The Smoketest failed!" />
+ <echo message=" [minitest] See details in ${smoketest.xsltc.conf.logFile}, output is in ${smoketest.xsltc.conf.outputDir}" />
+ <echo message=" [minitest] See details in ${smoketest.xsltc.accept.logFile}, output is in ${smoketest.xsltc.accept.outputDir}" />
+ <echo message=" [minitest] Please fix any smoketest problems before checking in!" />
+ <fail message="Please fix any smoketest problems before checking in!" />
+ </target>
+ <target name="smoketest.xsltc-pass" if="smoketest.xsltc-passed">
+ <echo message=" [minitest] CONGRATULATIONS! The Smoketest passed!" />
+ <echo message=" [minitest] Details are in ${smoketest.xsltc.conf.logFile}, ${smoketest.xsltc.accept.logFile}" />
+ </target>
+
+ <target name="smoketest-results-dist" depends="init.test">
+ <property name="tarzip-backref" value="../.."/>
+ <property name="tarzip-fwdref" value="xml-xalan/test"/>
+ <!-- tar.gz the automation and batch files, etc. -->
+ <!-- # smoketest parent output location: used in test.properties/build.xml -->
+ <tar tarfile="${test.build.dir}/xalan-smoketest-${DSTAMP}.tar">
+ <tarfileset dir="${tarzip-backref}">
+ <include name="${tarzip-fwdref}/${smoketest.outputDir}/"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${test.build.dir}/xalan-smoketest-${DSTAMP}.tar"
+ zipfile="${test.build.dir}/xalan-smoketest-${DSTAMP}.tar.gz"/>
+ <delete file="${test.build.dir}/xalan-smoketest-${DSTAMP}.tar"/>
+
+ <zip zipfile="${test.build.dir}/xalan-smoketest-${DSTAMP}.zip" >
+ <zipfileset dir="${tarzip-backref}">
+ <include name="${tarzip-fwdref}/${smoketest.outputDir}/"/>
+ </zipfileset>
+ </zip>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: A whole bunch of tests - used before posting builds, etc-->
+ <!-- ================================================================== -->
+ <target name="alltest"
+ description="Run nearly *all* available Xalan-J 2.x tests with defaults"
+ depends="all,alltest.other,alltest.conf,alltest.accept,alltest.contrib">
+ <!-- Ensure that one last scan gets run of the whole output set
+ (Note that when we call sub-targets, some of our subdirs
+ may have had sub-scans done as well) -->
+ <antcall target="scan">
+ <param name="scan.outputDir" value="results-alltest"/>
+ </antcall>
+
+ </target>
+ <target name="alltest.features"
+ description="Re-Run nearly *all* available Xalan-J 2.x tests with setAttribute features set"
+ depends="all,alltest.other">
+ <property name="alltest.resultDir" value="results-alltest" />
+ <antcall target="alltest.conf">
+ <param name="alltest.resultDir" value="${alltest.resultDir}/inctrue"/>
+ <param name="conf.Processor.setAttribute.http://xml.apache.org/xalan/features/incremental" value="true"/>
+ </antcall>
+ <antcall target="alltest.conf">
+ <param name="alltest.resultDir" value="${alltest.resultDir}/optfalse"/>
+ <param name="conf.Processor.setAttribute.http://xml.apache.org/xalan/features/optimize" value="false"/>
+ </antcall>
+ <antcall target="alltest.contrib">
+ <param name="alltest.resultDir" value="${alltest.resultDir}/inctrue"/>
+ <param name="conf.Processor.setAttribute.http://xml.apache.org/xalan/features/incremental" value="true"/>
+ </antcall>
+ <antcall target="alltest.contrib">
+ <param name="alltest.resultDir" value="${alltest.resultDir}/optfalse"/>
+ <param name="conf.Processor.setAttribute.http://xml.apache.org/xalan/features/optimize" value="false"/>
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${alltest.resultDir}"/>
+ </antcall>
+ </target>
+
+ <target name="alltest.other">
+ <property name="alltest.resultDir" value="results-alltest" />
+ <echo message="About to execute various API, extensions, bugzilla tests, results under ${alltest.resultDir}/..." />
+ <!-- Run all individual API tests through the harness -->
+ <antcall target="harness">
+ <param name="api.outputDir" value="${alltest.resultDir}/harness"/>
+ <param name="api.logFile" value="${alltest.resultDir}/harness/results.xml"/>
+ </antcall>
+ <!-- Run other misc tests -->
+ <antcall target="extensions">
+ <param name="extensions.outputDir" value="${alltest.resultDir}/extensions"/>
+ <param name="extensions.logFile" value="${alltest.resultDir}/extensions/results.xml"/>
+ </antcall>
+ <antcall target="bugzilla">
+ <param name="bugzilla.outputDir" value="${alltest.resultDir}/bugzilla"/>
+ <param name="bugzilla.logFile" value="${alltest.resultDir}/bugzilla/results.xml"/>
+ </antcall>
+ <!-- Run the threading tests once -->
+ <antcall target="threads">
+ <param name="threads.outputDir" value="${alltest.resultDir}/threads"/>
+ <param name="threads.logFile" value="${alltest.resultDir}/threads/results.xml"/>
+ </antcall>
+ <!-- Run the perf tests just with streams, which gives best perf data -->
+ <antcall target="perf">
+ <param name="perf.flavor" value="trax.stream"/>
+ <param name="perf.fileList" value="perf.filelist"/>
+ <param name="perf.outputDir" value="${alltest.resultDir}/perf"/>
+ <param name="perf.logFile" value="${alltest.resultDir}/perf/results.xml"/>
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${alltest.resultDir}"/>
+ </antcall>
+ </target>
+
+ <target name="alltest.contrib">
+ <property name="alltest.resultDir" value="results-alltest" />
+ <property name="alltest.contrib.resultDir" value="${alltest.resultDir}/contrib" />
+ <echo message="About to execute contrib tests with all flavors, results into ${alltest.contrib.resultDir}/..." />
+
+ <antcall target="contrib">
+ <param name="contrib.flavor" value="trax.systemId"/>
+ <param name="contrib.outputDir" value="${alltest.contrib.resultDir}/systemId"/>
+ <param name="contrib.logFile" value="${alltest.contrib.resultDir}/systemId/results.xml"/>
+ </antcall>
+ <antcall target="contrib">
+ <param name="contrib.flavor" value="trax.file"/>
+ <param name="contrib.outputDir" value="${alltest.contrib.resultDir}/file"/>
+ <param name="contrib.logFile" value="${alltest.contrib.resultDir}/file/results.xml"/>
+ </antcall>
+ <antcall target="contrib">
+ <param name="contrib.flavor" value="trax.dom"/>
+ <param name="contrib.outputDir" value="${alltest.contrib.resultDir}/dom"/>
+ <param name="contrib.logFile" value="${alltest.contrib.resultDir}/dom/results.xml"/>
+ </antcall>
+ <antcall target="contrib">
+ <param name="contrib.flavor" value="trax.sax"/>
+ <param name="contrib.outputDir" value="${alltest.contrib.resultDir}/sax"/>
+ <param name="contrib.logFile" value="${alltest.contrib.resultDir}/sax/results.xml"/>
+ </antcall>
+ <antcall target="contrib">
+ <param name="contrib.flavor" value="trax.localPath"/>
+ <param name="contrib.outputDir" value="${alltest.contrib.resultDir}/localPath"/>
+ <param name="contrib.logFile" value="${alltest.contrib.resultDir}/localPath/results.xml"/>
+ </antcall>
+ <antcall target="contrib">
+ <param name="contrib.flavor" value="trax.stream"/>
+ <param name="contrib.outputDir" value="${alltest.contrib.resultDir}/stream"/>
+ <param name="contrib.logFile" value="${alltest.contrib.resultDir}/stream/results.xml"/>
+ </antcall>
+ </target>
+
+ <target name="alltest.conf">
+ <property name="alltest.resultDir" value="results-alltest" />
+ <property name="alltest.conf.resultDir" value="${alltest.resultDir}/conf" />
+ <echo message="About to execute conf tests with all flavors, results into ${alltest.conf.resultDir}/..." />
+ <!-- Run full conf test with each major available flavor into
+ specific output directories; note any user options will
+ override for all test calls.
+ Also exclude the currently failing tests in the
+ smoketest if use.excludes is set.
+ -->
+ <condition property="conf.excludes" value="${smoketest.conf.excludes}">
+ <equals arg1="${use.excludes}" arg2="true" />
+ </condition>
+ <antcall target="conf">
+ <param name="conf.flavor" value="trax.systemId"/>
+ <param name="conf.excludes" value="${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/systemId"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/systemId/results.xml"/>
+ </antcall>
+ <antcall target="conf">
+ <param name="conf.flavor" value="trax.file"/>
+ <param name="conf.excludes" value="${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/file"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/file/results.xml"/>
+ </antcall>
+ <antcall target="conf">
+ <param name="conf.flavor" value="trax.dom"/>
+ <!-- Note DOM always has additional exclusions in conf tests-->
+ <param name="conf.excludes" value="${trax.dom.excludes};${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/dom"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/dom/results.xml"/>
+ </antcall>
+ <antcall target="conf">
+ <param name="conf.flavor" value="trax.sax"/>
+ <param name="conf.excludes" value="${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/sax"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/sax/results.xml"/>
+ </antcall>
+ <antcall target="conf">
+ <param name="conf.flavor" value="trax.localPath"/>
+ <param name="conf.excludes" value="${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/localPath"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/localPath/results.xml"/>
+ </antcall>
+ <antcall target="conf">
+ <param name="conf.flavor" value="trax.stream"/>
+ <param name="conf.excludes" value="${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/stream"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/stream/results.xml"/>
+ </antcall>
+ <!-- we should really run conferr with each flavor -->
+ <antcall target="conferr">
+ <param name="conferr.flavor" value="trax.systemId"/>
+ <param name="conferr.outputDir" value="${alltest.conf.resultDir}/conferr"/>
+ <param name="conferr.logFile" value="${alltest.conf.resultDir}/conferr/results.xml"/>
+ <!-- Note that conferr doesn't currently use gold files,
+ but we need to set the goldDir anyway for convenience
+ -->
+ <param name="conferr.goldDir" value="${alltest.conf.resultDir}/conferr-gold"/>
+ </antcall>
+ <!-- To be updated: also use at least one run of ErrorHandlerTestlet -->
+ <antcall target="conf">
+ <param name="conf.testlet" value="org.apache.qetest.xsl.ErrorHandlerTestlet"/>
+ <param name="conf.flavor" value="trax.stream"/>
+ <param name="conf.excludes" value="${conf.excludes}"/>
+ <param name="conf.outputDir" value="${alltest.conf.resultDir}/streamEH"/>
+ <param name="conf.logFile" value="${alltest.conf.resultDir}/streamEH/results.xml"/>
+ </antcall>
+ </target>
+
+ <target name="alltest.accept">
+ <property name="alltest.resultDir" value="results-alltest" />
+ <property name="alltest.accept.resultDir" value="${alltest.resultDir}/accept" />
+ <echo message="About to execute accept tests with all flavors, results into ${alltest.accept.resultDir}/..." />
+ <!-- Run full accept test with each major available flavor into
+ specific output directories; note any user options will
+ override for all test calls.
+ Also exclude the currently failing tests in the
+ smoketest if use.excludes is set.
+ -->
+ <condition property="accept.excludes" value="${smoketest.accept.excludes}">
+ <equals arg1="${use.excludes}" arg2="true" />
+ </condition>
+ <antcall target="accept">
+ <param name="accept.flavor" value="trax.systemId"/>
+ <param name="accept.excludes" value="${accept.excludes}"/>
+ <param name="accept.outputDir" value="${alltest.accept.resultDir}/systemId"/>
+ <param name="accept.logFile" value="${alltest.accept.resultDir}/systemId/results.xml"/>
+ </antcall>
+ <antcall target="accept">
+ <param name="accept.flavor" value="trax.file"/>
+ <param name="accept.excludes" value="${accept.excludes}"/>
+ <param name="accept.outputDir" value="${alltest.accept.resultDir}/file"/>
+ <param name="accept.logFile" value="${alltest.accept.resultDir}/file/results.xml"/>
+ </antcall>
+ <antcall target="accept">
+ <param name="accept.flavor" value="trax.dom"/>
+ <!-- Note DOM always has additional exclusions in accept tests-->
+ <param name="accept.excludes" value="${trax.dom.excludes};${accept.excludes}"/>
+ <param name="accept.outputDir" value="${alltest.accept.resultDir}/dom"/>
+ <param name="accept.logFile" value="${alltest.accept.resultDir}/dom/results.xml"/>
+ </antcall>
+ <antcall target="accept">
+ <param name="accept.flavor" value="trax.sax"/>
+ <param name="accept.excludes" value="${accept.excludes}"/>
+ <param name="accept.outputDir" value="${alltest.accept.resultDir}/sax"/>
+ <param name="accept.logFile" value="${alltest.accept.resultDir}/sax/results.xml"/>
+ </antcall>
+ <antcall target="accept">
+ <param name="accept.flavor" value="trax.localPath"/>
+ <param name="accept.excludes" value="${accept.excludes}"/>
+ <param name="accept.outputDir" value="${alltest.accept.resultDir}/localPath"/>
+ <param name="accept.logFile" value="${alltest.accept.resultDir}/localPath/results.xml"/>
+ </antcall>
+ <antcall target="accept">
+ <param name="accept.flavor" value="trax.stream"/>
+ <param name="accept.excludes" value="${accept.excludes}"/>
+ <param name="accept.outputDir" value="${alltest.accept.resultDir}/stream"/>
+ <param name="accept.logFile" value="${alltest.accept.resultDir}/stream/results.xml"/>
+ </antcall>
+ <!-- we should really run accept with each flavor -->
+ </target>
+
+ <target name="alltest.conf.xsltc">
+ <property name="alltest.xsltc.resultDir" value="results-alltest.xsltc" />
+ <property name="alltest.conf.xsltc.resultDir" value="${alltest.xsltc.resultDir}/conf" />
+ <echo message="About to execute xsltc.conf tests with all flavors, results into ${alltest.conf.xsltc.resultDir}/..." />
+ <!-- Run full conf test with each major available flavor into
+ specific output directories; note any user options will
+ override for all test calls.
+ Also exclude the currently failing tests in the
+ smoketest if use.excludes is set.
+ -->
+ <condition property="conf.xsltc.excludes" value="${smoketest.conf.xsltc.excludes}">
+ <equals arg1="${use.excludes}" arg2="true" />
+ </condition>
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.flavor" value="trax.systemId"/>
+ <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
+ <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/systemId"/>
+ <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/systemId/results.xml"/>
+ </antcall>
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.flavor" value="trax.file"/>
+ <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
+ <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/file"/>
+ <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/file/results.xml"/>
+ </antcall>
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.flavor" value="trax.dom"/>
+ <!-- Note DOM always has additional exclusions in conf tests-->
+ <param name="conf.xsltc.excludes" value="${trax.dom.excludes};${conf.xsltc.excludes}"/>
+ <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/dom"/>
+ <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/dom/results.xml"/>
+ </antcall>
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.flavor" value="trax.sax"/>
+ <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
+ <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/sax"/>
+ <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/sax/results.xml"/>
+ </antcall>
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.flavor" value="trax.localPath"/>
+ <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
+ <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/localPath"/>
+ <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/localPath/results.xml"/>
+ </antcall>
+ <antcall target="conf.xsltc">
+ <param name="conf.xsltc.flavor" value="trax.stream"/>
+ <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
+ <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/stream"/>
+ <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/stream/results.xml"/>
+ </antcall>
+ </target>
+
+ <target name="alltest.accept.xsltc">
+ <property name="alltest.xsltc.resultDir" value="results-alltest.xsltc" />
+ <property name="alltest.accept.xsltc.resultDir" value="${alltest.xsltc.resultDir}/accept" />
+ <echo message="About to execute xsltc.accept tests with all flavors, results into ${alltest.accept.xsltc.resultDir}/..." />
+ <!-- Run full accept test with each major available flavor into
+ specific output directories; note any user options will
+ override for all test calls.
+ Also exclude the currently failing tests in the
+ smoketest if use.excludes is set.
+ -->
+ <condition property="accept.xsltc.excludes" value="${smoketest.accept.xsltc.excludes}">
+ <equals arg1="${use.excludes}" arg2="true" />
+ </condition>
+ <antcall target="accept.xsltc">
+ <param name="accept.xsltc.flavor" value="trax.systemId"/>
+ <param name="accept.xsltc.excludes" value="${accept.xsltc.excludes}"/>
+ <param name="accept.xsltc.outputDir" value="${alltest.accept.xsltc.resultDir}/systemId"/>
+ <param name="accept.xsltc.logFile" value="${alltest.accept.xsltc.resultDir}/systemId/results.xml"/>
+ </antcall>
+ <antcall target="accept.xsltc">
+ <param name="accept.xsltc.flavor" value="trax.file"/>
+ <param name="accept.xsltc.excludes" value="${accept.xsltc.excludes}"/>
+ <param name="accept.xsltc.outputDir" value="${alltest.accept.xsltc.resultDir}/file"/>
+ <param name="accept.xsltc.logFile" value="${alltest.accept.xsltc.resultDir}/file/results.xml"/>
+ </antcall>
+ <antcall target="accept.xsltc">
+ <param name="accept.xsltc.flavor" value="trax.dom"/>
+ <!-- Note DOM always has additional exclusions in accept tests-->
+ <param name="accept.xsltc.excludes" value="${trax.dom.excludes};${accept.xsltc.excludes}"/>
+ <param name="accept.xsltc.outputDir" value="${alltest.accept.xsltc.resultDir}/dom"/>
+ <param name="accept.xsltc.logFile" value="${alltest.accept.xsltc.resultDir}/dom/results.xml"/>
+ </antcall>
+ <antcall target="accept.xsltc">
+ <param name="accept.xsltc.flavor" value="trax.sax"/>
+ <param name="accept.xsltc.excludes" value="${accept.xsltc.excludes}"/>
+ <param name="accept.xsltc.outputDir" value="${alltest.accept.xsltc.resultDir}/sax"/>
+ <param name="accept.xsltc.logFile" value="${alltest.accept.xsltc.resultDir}/sax/results.xml"/>
+ </antcall>
+ <antcall target="accept.xsltc">
+ <param name="accept.xsltc.flavor" value="trax.localPath"/>
+ <param name="accept.xsltc.excludes" value="${accept.xsltc.excludes}"/>
+ <param name="accept.xsltc.outputDir" value="${alltest.accept.xsltc.resultDir}/localPath"/>
+ <param name="accept.xsltc.logFile" value="${alltest.accept.xsltc.resultDir}/localPath/results.xml"/>
+ </antcall>
+ <antcall target="accept.xsltc">
+ <param name="accept.xsltc.flavor" value="trax.stream"/>
+ <param name="accept.xsltc.excludes" value="${accept.xsltc.excludes}"/>
+ <param name="accept.xsltc.outputDir" value="${alltest.accept.xsltc.resultDir}/stream"/>
+ <param name="accept.xsltc.logFile" value="${alltest.accept.xsltc.resultDir}/stream/results.xml"/>
+ </antcall>
+ </target>
+
+ <target name="alltest.conf.trace">
+ <property name="conf.trace" value="on"/>
+ <antcall target="alltest.conf"/>
+ </target>
+
+ <target name="alltest.accept.trace">
+ <property name="accept.trace" value="on"/>
+ <antcall target="alltest.accept"/>
+ </target>
+
+ <target name="test"
+ depends="alltest"
+ description="Alias for alltest">
+ </target>
+
+ <target name="check"
+ depends="alltest"
+ description="Alias for alltest">
+ </target>
+
+ <target name="scan"
+ description="Run a simple ResultScanner on a tree of test results">
+ <property name="scan.outputDir" value="results-alltest" />
+ <property name="scan.logFile" value="${scan.outputDir}/ResultReport" />
+ <java classname="org.apache.qetest.xsl.ResultScanner"
+ classpathref="conf.class.path"
+ fork="yes" >
+ <arg line="${scan.outputDir} ${scan.logFile}"/>
+ </java>
+ </target>
+ <!-- ================================================================== -->
+ <!-- Build Tests: Compile/jar targets for each 'layer' of testing code -->
+ <!-- ================================================================== -->
+ <target name="compile.qetest" depends="init.build"
+ description="Compile base qetest files; no Xalan dependencies">
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}*.java"
+ debug="${debug}" nowarn="${compiler.nowarn}"/>
+ </target>
+
+
+ <target name="jar.qetest" depends="compile.qetest"
+ description="Jar base qetest files; no Xalan dependencies">
+ <jar jarfile="${qetest.jar}"
+ basedir="${test.build.dir}"
+ includes="${test.root}*.java,${test.root}*.properties" />
+ </target>
+
+
+ <!-- This step should be dependent upon general XML/XSL
+ functionality like SAX, DOM, JAXP and the like, but
+ should not directly depend on Xalan
+ -->
+ <target name="compile.xsl" depends="compile.qetest"
+ description="Compile TransformWrapper and associated classes">
+ <!-- This javac has no dependencies -->
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}xslwrapper/TransformWrapperHelper.java,${test.root}xslwrapper/TransformWrapper.java,${test.root}xslwrapper/TransformWrapperFactory.java"
+ debug="${debug}" nowarn="${compiler.nowarn}"/>
+ <!-- This javac depends on JAXP, SAX, DOM; hence the specific classpathref -->
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}xsl/*.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path" nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <target name="compile.trax.xslwrappers" depends="compile.xsl"
+ description="Compile Trax*Wrapper xslwrappers only">
+ <!-- Should only be dependent on JAXP, not Xalan specifically -->
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}xslwrapper/Trax*Wrapper.java,${test.root}xslwrapper/TraxWrapperUtils.java,${test.root}xslwrapper/XalanProcessWrapper.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path" nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <target name="compile.trax" depends="compile.xsl,compile.trax.xslwrappers"
+ description="Compile various JAXP-based API tests">
+ <!-- Should only be dependent on JAXP, not Xalan specifically -->
+ <!-- Separate javac steps to avoid compiler oddities -->
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}trax/*.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path"
+ nowarn="${compiler.nowarn}"/>
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}trax/stream/*.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path"
+ nowarn="${compiler.nowarn}"/>
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}trax/dom/*.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path"
+ nowarn="${compiler.nowarn}"/>
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}trax/sax/*.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path"
+ nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <target name="compile" depends="compile.trax">
+ <echo message="Compile Xalan-J 2.x specific tests" />
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}xalanj2/*.java,${test.root}dtm/*.java"
+ excludes="${test.root}dtm/xsltcDocCode.java"
+ debug="${debug}"
+ classpathref="compiletest.class.path"
+ nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <target name="compile.rwapi" depends="compile">
+ <echo message="Compile xslt20 / XPath2.0 RWAPI tests" />
+ <javac srcdir="${test.src.dir}"
+ destdir="${test.build.dir}"
+ includes="${test.root}rwapi/*.*"
+ debug="${debug}"
+ classpathref="rwapitest.class.path"
+ nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <!-- Note that this target must *not* depend on any XSLTC tests,
+ which have to be compiled separately; otherwise the
+ smoketest will fail.
+ -->
+ <target name="jar" depends="compile"
+ description="Build testxsl.jar with all available tests">
+ <jar jarfile="${testxsl.jar}"
+ basedir="${test.build.dir}"
+ includes="**/*.class,**/*.properties" />
+ </target>
+
+ <!-- excludes="Bugzilla1288.java"; test refers to removed classes -->
+ <target name="bugzilla.classes" depends="jar"
+ description="Compile any bugzilla testlet classes">
+ <mkdir dir="${tests.bugzilla.build.dir}" />
+ <javac srcdir="${tests.bugzilla.dir}"
+ destdir="${tests.bugzilla.build.dir}"
+ debug="${debug}"
+ excludes="Bugzilla1288.java"
+ classpathref="bugzilla.class.path"
+ nowarn="${compiler.nowarn}"/>
+ </target>
+
+ <target name="extensions.classes" depends="jar"
+ description="Compile any extensions test classes">
+ <mkdir dir="${tests.extensions.build.dir}" />
+ <javac srcdir="${tests.extensions.dir}"
+ destdir="${tests.extensions.build.dir}"
+ debug="${debug}"
+ classpathref="extensions.class.path"
+ nowarn="${compiler.nowarn}"/>
+ <!-- Add more javac calls if we add more Java extensions dirs -->
+ </target>
+
+ <!-- This target compiles both the main tests and test drivers
+ in testxsl.jar from the java/ directory, as well as
+ various other classes in subdirs under tests/
+ -->
+ <target name="all" description="Build testxsl.jar *and* compile .java under tests/"
+ depends="jar,bugzilla.classes,extensions.classes">
+ </target>
+
+ <target name="main"
+ depends="all"
+ description="Alias for all">
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Various targets to clean the build tree -->
+ <!-- =================================================================== -->
+ <target name="distclean" depends="clean"
+ description="Clean everything, including most test results!" >
+ <delete dir="${alltest.resultDir}" />
+ <delete dir="${api.outputDir}" />
+ <delete dir="${conf.outputDir}" />
+ <delete dir="${perf.outputDir}" />
+ <delete dir="${contrib.outputDir}" />
+ <delete dir="${smoketest.outputDir}" />
+ </target>
+
+ <target name="clean"
+ description="Clean up the compiled tests and docs">
+ <delete dir="${test.build.dir}"/>
+ <delete dir="${tests.bugzilla.build.dir}"/>
+ <delete dir="${tests.extensions.build.dir}"/>
+ <delete dir="${xdocs.style}"/> <!-- init.build.docs creates this tree -->
+ </target>
+
+
+ <!-- ================================================================== -->
+ <!-- Build docs: Creates the User's Guide -->
+ <!-- ================================================================== -->
+ <target name="docs" depends="init.docs"
+ description="Build the framework/overview docs for tests">
+ <java fork="yes"
+ classname="${doc.generator}"
+ classpathref="test.docs.class.path" >
+ <arg line="targetDirectory=${test.build.docs} ${test.xdocs.book} ${test.xdocs.style}"/>
+ </java>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Build docs: Creates the Javadoc API documentation -->
+ <!-- ================================================================== -->
+ <target name="javadocs" depends="init.docs"
+ description="Build the Javadocs for tests">
+
+ <!-- Ant 1.2 ignores destdir arg if doclet is set, so must send to doclet in doclet subelement dleslie-->
+ <!-- But: Ant 1.3 fails if you *don't* provide destdir attr... curcuru-->
+ <javadoc
+ sourcepath="${test.src.dir}"
+ packagenames="org.apache.qetest,org.apache.qetest.xslwrapper,org.apache.qetest.xsl,org.apache.qetest.trax,org.apache.qetest.trax.dom,org.apache.qetest.trax.sax,org.apache.qetest.trax.stream,org.apache.qetest.xalanj2"
+ protected="true"
+ author="true"
+ version="true"
+ use="true"
+ windowtitle="Xalan Testing Framework"
+ doctitle="Xalan Testing Framework"
+ bottom="Copyright © ${year} The Apache Software Foundation. All rights reserved."
+ destdir="${test.build.apidocs}">
+ <classpath refid="test.docs.class.path" />
+ <doclet name="xalanjdoc.Standard" path="${doclet.jar}">
+ <param name="-d" value="${test.build.apidocs}"/>
+ </doclet>
+ <group title="QETEST Independent Framework" packages="org.apache.qetest"/>
+ <group title="Xalan Framework and Base tests" packages="org.apache.qetest.xsl:org.apache.qetest.xslwrapper"/>
+ <group title="JAXP/TrAX Generic Tests" packages="org.apache.qetest.trax:org.apache.qetest.trax.dom:org.apache.qetest.trax.sax:org.apache.qetest.trax.stream:"/>
+ <group title="Xalan-J 2.x Specific Tests" packages="org.apache.qetest.xalanj2:org.apache.qetest.xsltc:org.apache.qetest.dtm"/>
+ </javadoc>
+ </target>
+
+ <target name="printerdocs" depends="init.docs">
+ <echo message="${ant.project.name} currently doesn't support printerdocs; try docs or javadocs instead."/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Build distribution - simple zip/tar.gz for sharing tests -->
+ <!-- =================================================================== -->
+ <target name="dist" depends="all,docs,javadocs,dist-nodeps"
+ description="Build a simple distribution module incl. docs">
+ </target>
+
+ <target name="dist-nodeps" depends="init.build"
+ description="Build a simple distribution module, without depends">
+ <echo message="Create .zip/.tar/gz in ${test.build.dir}" />
+
+ <!-- Build .tars, then .gzs, then cleanup .tars before doing .zips -->
+ <!-- Note ../.. paths to ensure archives start with
+ top-level xml-xalan/test/blah directories
+ -->
+ <property name="tarzip-backref" value="../.."/>
+ <property name="tarzip-fwdref" value="xml-xalan/test"/>
+
+ <!-- tar.gz just the xml/xsl/out test files -->
+ <tar tarfile="${test.build.dir}/xalan-tests-${DSTAMP}.tar">
+ <tarfileset dir="${tarzip-backref}">
+ <include name="${tarzip-fwdref}/tests/"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${test.build.dir}/xalan-tests-${DSTAMP}.tar"
+ zipfile="${test.build.dir}/xalan-tests-${DSTAMP}.tar.gz"/>
+ <delete file="${test.build.dir}/xalan-tests-${DSTAMP}.tar"/>
+
+ <!-- tar.gz the automation and batch files, etc. -->
+ <tar tarfile="${test.build.dir}/xalan-automation-${DSTAMP}.tar">
+ <tarfileset dir="${tarzip-backref}">
+ <include name="${tarzip-fwdref}/*.*"/>
+ <include name="${tarzip-fwdref}/${testxsl.jar}"/>
+ <include name="${tarzip-fwdref}/${test.build.dir}/${test.root}"/>
+ <include name="${tarzip-fwdref}/${test.build.docs}/"/>
+ <include name="${tarzip-fwdref}/${test.build.apidocs}/"/>
+ <include name="${tarzip-fwdref}/java/xdocs/"/>
+ <include name="${tarzip-fwdref}/java/src/"/>
+ <include name="${tarzip-fwdref}/bin/"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${test.build.dir}/xalan-automation-${DSTAMP}.tar"
+ zipfile="${test.build.dir}/xalan-automation-${DSTAMP}.tar.gz"/>
+ <delete file="${test.build.dir}/xalan-automation-${DSTAMP}.tar"/>
+
+ <!-- Zip just the xml/xsl/out test files -->
+ <zip zipfile="${test.build.dir}/xalan-tests-${DSTAMP}.zip" >
+ <zipfileset dir="${tarzip-backref}">
+ <include name="${tarzip-fwdref}/tests/"/>
+ </zipfileset>
+ </zip>
+ <!-- Zip the automation and batch files, etc. -->
+ <zip zipfile="${test.build.dir}/xalan-automation-${DSTAMP}.zip" >
+ <zipfileset dir="${tarzip-backref}">
+ <include name="${tarzip-fwdref}/*.*"/>
+ <include name="${tarzip-fwdref}/${testxsl.jar}"/>
+ <include name="${tarzip-fwdref}/${test.build.dir}/${test.root}"/>
+ <include name="${tarzip-fwdref}/${test.build.docs}/"/>
+ <include name="${tarzip-fwdref}/${test.build.apidocs}/"/>
+ <include name="${tarzip-fwdref}/java/xdocs/"/>
+ <include name="${tarzip-fwdref}/java/src/"/>
+ <include name="${tarzip-fwdref}/bin/"/>
+ </zipfileset>
+ </zip>
+
+ <!-- tar.gz just the documentation for potential posting to the website -->
+ <tar tarfile="${test.build.dir}/xalan-docs-${DSTAMP}.tar">
+ <tarfileset dir="..">
+ <include name="test/${test.build.docs}/"/>
+ <include name="test/${test.build.apidocs}/"/>
+ <include name="test/README.html"/>
+ </tarfileset>
+ </tar>
+ <gzip src="${test.build.dir}/xalan-docs-${DSTAMP}.tar"
+ zipfile="${test.build.dir}/xalan-docs-${DSTAMP}.tar.gz"/>
+ <delete file="${test.build.dir}/xalan-docs-${DSTAMP}.tar"/>
+ <zip zipfile="${test.build.dir}/xalan-docs-${DSTAMP}.zip" >
+ <zipfileset dir="..">
+ <include name="test/${test.build.docs}/"/>
+ <include name="test/${test.build.apidocs}/"/>
+ <include name="test/README.html"/>
+ </zipfileset>
+ </zip>
+
+ </target>
+
+ <target name="export" depends="jar"
+ description="Build a very simple export of just the important sources">
+ <!-- Note that Shane has external dependencies on this target -->
+ <!-- Zip only the sources used in the plain 'jar' target -->
+ <zip zipfile="${test.build.dir}/testxsl-src-${DSTAMP}.zip" >
+ <zipfileset dir="java">
+ <include name="src/"/>
+ <!-- Don't copy qetesttest due to JUnit dependency -->
+ <exclude name="src/${test.root}qetesttest/"/>
+ </zipfileset>
+ </zip>
+
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Special: Targets specific to XSLTC which requires extra .jars -->
+ <!-- This section will be updated as xsltc integrates more with xalan -->
+ <!-- ================================================================== -->
+ <!-- Actually, I'd like to figure out some sneaky Ant trick to
+ allow swapping of parts of classpaths (i.e. swap in xsltc.jar
+ and related files instead of xalan.jar; likewise replace
+ xercesImpl.jar with the PARSER_JAR defined outside) to clean
+ this section up. But for the time being I'm planning on
+ simply maintaining separate-but-equal targets.xsltc
+ -->
+
+ <path id="xsltc.runtime.class.path">
+ <pathelement location="${xalan.build.dir}/xalan.jar" />
+
+ <!-- add xsltc.jar so we can test the separate jar distribution -->
+ <pathelement location="${xalan.build.dir}/xsltc.jar" />
+ <pathelement location="${ser.jar}" />
+
+ <pathelement location="${testxsl.jar}" />
+ <pathelement location="${parserjar}" />
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${jtidy.jar}" />
+ </path>
+ <path id="xsltc.compile.class.path">
+ <pathelement location="${xalan.build.dir}/xalan.jar" />
+
+ <!-- add xsltc.jar so we can test the separate jar distribution -->
+ <pathelement location="${xalan.build.dir}/xsltc.jar" />
+
+ <pathelement location="${testxsl.jar}" />
+ <pathelement location="${parserjar}" />
+ <pathelement location="${xml-apis.jar}" />
+ <pathelement location="${jtidy.jar}" />
+ <!-- Note addition of . to the classpath to enable loading
+ of translets; this needs more work and coordination
+ with tests and translet output dirs.
+ -->
+ <pathelement location="." />
+ </path>
+
+ <target name="conf.xsltc" description="Run TestletDriver over the conf tree using xsltc">
+ <!-- Set the default conformance test driver, user may override -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan-xsltc conf test: ${testClass}" />
+ <!-- Special: allow explicit test.properties overrides for inputDir, etc for xsltc -->
+ <property name="testType" value="conf.xsltc." />
+ <!-- Set indent-number to 0 to match Xalan's default indentation -->
+ <property name="${testType}Processor.setAttribute.indent-number" value="0"/>
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref"
+ value="xsltc.runtime.class.path" />
+ <!-- Explicitly set TransformerFactory property to use xsltc -->
+ <param name="sysprop.transfact"
+ value="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" />
+ </antcall>
+ <property name="scan.outputDir" value="${conf.xsltc.outputDir}"/>
+ <antcall target="scan" />
+
+ <mkdir dir="results-xsltc-compile-verification-tests"/>
+
+ <xsltcTestsTask inputDir="tests/xsltc/attribset"
+ resultDir="results-xsltc-compile-verification-tests"
+ bootclasspathref="boot.class.path"/>
+
+ <echo message=""/>
+ <echo message=" [minitest] Completed, running the 'xsltc compilation error verification' tests, and these have passed" />
+ <echo message=" [minitest] See details of the 'xsltc compilation error verification' test results, at results-xsltc-compile-verification-tests/actual_test_results.xml" />
+
+ <echo message=""/>
+
+ <echo message=" [minitest] CONGRATULATIONS! The conf.xsltc tests passed!" />
+ </target>
+
+ <target name="perf.xsltc" description="Run TestletDriver over the perf tree using xsltc">
+ <!-- Set the default conformance test driver, user may override -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Xalan-xsltc perf test: ${testClass}" />
+ <!-- Special: allow explicit test.properties overrides for inputDir, etc for xsltc -->
+ <property name="testType" value="perf.xsltc." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref"
+ value="xsltc.runtime.class.path" />
+ <!-- Explicitly set TransformerFactory property to use xsltc -->
+ <param name="sysprop.transfact"
+ value="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" />
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${perf.xsltc.outputDir}"/>
+ </antcall>
+ </target>
+
+
+ <target name="perf.saxon" description="Run TestletDriver over the perf tree using Saxon">
+ <!-- New addition, NOT TESTED -->
+ <!-- Set the default conformance test driver, user may override -->
+ <property name="testClass" value="org.apache.qetest.xsl.StylesheetTestletDriver" />
+ <echo message="Executing Saxon perf test: ${testClass}" />
+ <!-- Special: allow explicit test.properties overrides for inputDir, etc for Saxon -->
+ <property name="testType" value="perf.saxon." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref"
+ value="saxon.runtime.class.path" />
+ <!-- Explicitly set TransformerFactory property to use saxon -->
+ <param name="sysprop.transfact"
+ value="org.saxon.trax.TransformerFactoryImpl" />
+ </antcall>
+ <antcall target="scan">
+ <param name="scan.outputDir" value="${perf.saxon.outputDir}"/>
+ </antcall>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Run tests: a specific named API test with xsltc code -->
+ <!-- ================================================================== -->
+ <target name="api.xsltc" description="Run a specific API test with xsltc code"
+ depends="init.test">
+ <!-- Note no default is set; also testClass is not prefixed! -->
+ <echo message="Executing Xalan-xsltc api test: ${testClass}" />
+ <property name="testType" value="api." />
+ <antcall target="run.xalantest">
+ <param name="xalantest.classpathref"
+ value="xsltc.compile.class.path" />
+ <!-- Explicitly set TransformerFactory property to use xsltc -->
+ <param name="sysprop.transfact"
+ value="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" />
+ </antcall>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Install/Uninstall targets - not currently applicable -->
+ <!-- =================================================================== -->
+ <target name="install">
+ <echo message="${ant.project.name} currently doesn't support (un)installation; try jar or api instead"/>
+ </target>
+ <target name="uninstall">
+ <echo message="${ant.project.name} currently doesn't support (un)installation; try distclean instead"/>
+ </target>
+
+</project>
diff --git a/commits.xml b/commits.xml
new file mode 100644
index 00000000..91891160
--- /dev/null
+++ b/commits.xml
@@ -0,0 +1,2516 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<Commits>
+
+<Commit category="xsltc">
+<Who>zongaro@apache.org</Who>
+<DateCommitted>2004/02/27</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java NodeSortRecordFactory.java SortSettings.java</Modified>
+<Log>
+Restored old constructor of NodeSortRecordFactory and _collator field of
+NodeSortRecord for binary compatibility. These changes allow translets
+compiled with an earlier version of XSLTC to continue to run with the new
+version. They should not be used in newly compiled translets or in new code
+in XSLTC itself.<br/>
+
+Also introduced a SortSettings class that is used to bundle sort settings from
+NodeSortRecordFactory into instances of NodeSortRecord. That reduces some of
+the space overhead in constructing a NodeSortRecord.<br/>
+
+Reviewed by Igor Hersht (igorh@ca.ibm.com)
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>zongaro@apache.org</Who>
+<DateCommitted>2004/02/27</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom ForwardPositionIterator.java
+xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java</Modified>
+<Log>
+Revived ForwardPositionIterator class and BasisLibrary.positionF purely to
+support backwards compatibility with translets compiled with earlier versions
+of XSLTC. New code should not reference either.<br/>
+
+Reviewed by Christine Li (jycli@ca.ibm.com).
+</Log>
+</Commit>
+
+<Commit category="core">
+<Who>minchau@apache.org</Who>
+<DateCommitted>2004/03/04</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/processor ProcessorImport.java ProcessorInclude.java ProcessorLRE.java
+ProcessorStylesheetElement.java StylesheetHandler.java XSLTElementDef.java xml-xalan/java/src/org/apache/xalan/templates
+ElemExsltFunction.java</Modified>
+<Log>
+Submitted by: Brian Minchau<br/>
+
+Modified code for potential extension of classes with callbacks to the extensions.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>bhakti@apache.org</Who>
+<DateCommitted>2004/03/08</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xml/serializer Encodings.properties</Modified>
+<Log>
+Added a newline at the end of Encodings.properties to fix bug 27516
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>igorh@apache.org</Who>
+<DateCommitted>2004/03/09</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java</Modified>
+<Log>
+xsl:number, minor code cleaning and optimization
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>bhakti@apache.org</Who>
+<DateCommitted>2004/03/10</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java</Modified>
+<Log>
+Check if the systemId for the stylesheet is null to avoid getting an NPE.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>jycli@apache.org</Who>
+<DateCommitted>2004/03/11</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/extensions ObjectFactory.java xml-xalan/java/src/org/apache/xalan/lib
+ObjectFactory.java xml-xalan/java/src/org/apache/xalan/lib/sql ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xslt
+ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline ObjectFactory.java
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util
+ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/dom ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime
+ObjectFactory.java xml-xalan/java/src/org/apache/xalan/xsltc/trax ObjectFactory.java xml-xalan/java/src/org/apache/xml/dtm
+ObjectFactory.java xml-xalan/java/src/org/apache/xml/dtm/ref ObjectFactory.java xml-xalan/java/src/org/apache/xml/serializer
+ObjectFactory.java xml-xalan/java/src/org/apache/xml/utils ObjectFactory.java xml-xalan/java/src/org/apache/xpath/compiler
+ObjectFactory.java xml-xalan/java/src/org/apache/xpath/functions ObjectFactory.java</Modified>
+<Log>
+Fix a bug in the findProviderClass method of ObjectFactory
+classes. The argument of SecurityManager.checkPackageAccess should be a string
+value of a package name, instead of a class name
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/03/16</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler FunctionCall.java</Modified>
+<Log>
+Reverting latest patch by Arun. There are some problems with the new code to invoke functions dynamically (e.g. docbook
+reports a compile-time type check error). The approach taken to determine when to invoke methods dynamically needs to be revisted.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/03/23</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xpath/compiler Compiler.java FunctionTable.java</Modified>
+<Log>
+Patch to hide static function table in FunctionTable class. We do not want to expose this table to others.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/03/23</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xml/utils DOMBuilder.java</Modified>
+<Log>
+The xmlns URI should also be used to add NS decls as attributes to a DOM. However, this was only done for attributes that started
+with 'xmlns:' and not for 'xmlns' (i.e. not for decls of the default NS).
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>mkwan@apache.org</Who>
+<DateCommitted>2004/03/24</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java</Modified>
+<Log>
+Patch for bug 27417.<br/>
+
+If an output stream is created by the XSLTC transformer, close
+it after the transformation.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>zongaro@apache.org</Who>
+<DateCommitted>2004/04/10</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyImports.java</Modified>
+<Log>
+Applying patch for bugs 27932 and 15333.<br/>
+
+Code was incorrectly calculating the set of templates to which an
+xsl:apply-imports instruction applies. It should consider all templates that
+the current template rule could override, which means that if the template
+appeared in a stylesheet that was included in another stylesheet, any templates
+imported into the including stylesheet have to be considered as well. The
+method Stylesheet.getMinimumDescendantPrecedence is responsible for this
+calculation.<br/>
+
+In addition, when code is generated for an xsl:apply-imports, if any template
+has local parameters, an empty stack frame has to be pushed before attempting
+to apply-imports. Otherwise, parameters from the template that contains the
+apply-imports instruction will be passed into the matching template.<br/>
+
+Reviewed by Joanne Tong (joannet@ca.ibm.com)
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>zongaro@apache.org</Who>
+<DateCommitted>2004/04/10</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java</Modified>
+<Log>
+Applying patch for bug 27932.<br/>
+
+Code was incorrectly calculating the set of templates to which an
+xsl:apply-imports instruction applies. It should consider all templates that
+the current template rule could override, which means that if the template
+appeared in a stylesheet that was included in another stylesheet, any templates
+imported into the including stylesheet have to be considered as well. The
+method Stylesheet.getMinimumDescendantPrecedence is responsible for this
+calculation.<br/>
+
+Reviewed by Joanne Tong (joannet@ca.ibm.com)
+</Log>
+</Commit>
+<Commit category="core">
+<Who>igorh@apache.org</Who>
+<DateCommitted>2004/04/26</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xpath XPathContext.java xml-xalan/java/src/org/apache/xpath/objects
+DTMXRTreeFrag.java XRTreeFrag.java</Modified>
+<Log>
+The problem is that about 1800 * Thread_num XRTreeFrag objects were created.
+It took too long for finalizer to be executed to release the references.<br/>
+
+A lot of the objects have the same DTMs (and one XPathContext per thread).
+In my fix I am suggesting
+a. to have new class DTMXRTreeFrag. The object of the class would
+be created only for different DTMs (just 5 objects).
+b. release the references to DTM and XPathContext from XPathContext.reset()
+(and remove finalize() ).
+</Log>
+</Commit>
+<Commit category="core">
+<Who>minchau@apache.org</Who>
+<DateCommitted>2004/04/27</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xml/serializer ToHTMLStream.java xml-xalan/java/src/org/apache/xml/utils Trie.java</Modified>
+<Log>
+PR: bugzilla 28435<br/>
+Submitted by: Brian Minchau<br/>
+Reviewed by: Henry Zongaro<br/>
+</Log>
+</Commit>
+<Commit category="core">
+<Who>igorh@apache.org</Who>
+<DateCommitted>2004/04/28</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/templates AVT.java</Modified>
+<Log>
+Scaling Problem in org/apache/xalan/templates/AVT.evaluate
+The problem is that synchronized calls
+StringBufferPool.get() and StringBufferPool.free(buf)
+are redundant if (null != m_simpleString).
+The bug results in severe performance derogation in multi-thread test.
+
+The fix is simple just not to the calls when (null != m_simpleString).
+</Log>
+</Commit>
+<Commit category="core">
+<Who>mcnamara@apache.org</Who>
+<DateCommitted>2004/05/03</DateCommitted>
+<Modified> xml-xalan/java/xdocs/style/stylesheets designdoc2html.xsl</Modified>
+<Log>
+Provide alternative text for images to address accessibility issues.
+All images should contain a short alternative text description that represents
+the function of the graphic.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>mcnamara@apache.org</Who>
+<DateCommitted>2004/05/03</DateCommitted>
+<Modified> xml-xalan/java/xdocs xml-site-style.tar.gz</Modified>
+<Log>
+Update document2html.xsl within this tarball to provide alternative text for images to address accessibility issues.
+All images should contain a short alternative text description that represents the function of the graphic.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>minchau@apache.org</Who>
+<DateCommitted>2004/05/03</DateCommitted>
+<Modified> xml-xalan/java/samples/SAX2SAX SAX2SAX.java xml-xalan/java/samples/Pipe Pipe.java xml-xalan/java/samples/DOM2DOM DOM2DOM.java
+xml-xalan/java/samples/UseStylesheetPI foo.xsl xml-xalan/java/samples/UseStylesheetParam foo.xsl
+xml-xalan/java/samples/UseXMLFilters UseXMLFilters.java
+xml-xalan/java/samples/Trace foo.xsl</Modified>
+<Log>
+Clean up related to bugzilla 24304.
+There is no longer a space after the XML header. To keep the output
+of this sample the same as before properties were set on the
+serializer (indent="yes" and standalone="no" ).
+Submitted by: Brian Minchau
+Reviewed by: Sarah McNamara
+</Log>
+</Commit>
+<Commit category="core">
+<Who>igorh@apache.org</Who>
+<DateCommitted>2004/05/06</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/templates AVT.java</Modified>
+<Log>
+The problem is that we use an object pool (shared between different threads)
+to allocate FastStringBuffer objects. The problem results in a serious performance
+degradation on Z/OS and seems to be invisible on AIX.<br/>
+1 Differences in optimization of object pools for different JVMs and for different
+platforms are known(I know it now too). It is not surprising that Z/OS and AIX
+have different results.<br/>
+2. a. Object pools should be used only for very heavy object which live for a long time
+and could be reused in a lot of places.
+b. Small local objects which size cannot be changed could be allocated on the
+stack => creating them with new in the local scope could be a good idea.
+c. Caching middle size objects which can grow in size seems as a good idea,
+because such objects usually cannot be allocated on the stack.<br/>
+This is actually the case for FastStringBuffer objects. <br/>
+Solution<br/>
+I am creating FastStringBuffer objects in a local scope. I am going
+to use caching whenever possible.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>minchau@apache.org</Who>
+<DateCommitted>2004/05/13</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/client XSLTProcessorApplet.java</Modified>
+<Log>
+Submitted by: Brian Minchau<br/>
+Reviewed by: Christine Li<br/>
+Fixing binary compatibility (serialization/de-serialization) of XSLTProcessorApplet.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>bhakti@apache.org</Who>
+<DateCommitted>2004/05/13</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java</Modified>
+<Log>
+In xsltc currently with the extension redirect the output file is created only if the parent dir exists.
+Making the behaviour similar to that of xalan wherein the parent directory is also created.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/05/20</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java</Modified>
+<Log>
+Fix for Bugzilla 29120. The translet now stores a reference to the DocumentBuilderFactory which is used by
+nodeList2Iterator() in the basis library. Note that to reuse that reference you need to use the same transformer
+(not just the same template).
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/05/21</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AttributeValueTemplate.java</Modified>
+<Log>
+Implemented a new parser for ATVs. The old was buggy: did not handle escaped curly braces in all cases and did
+not handled quotes at all. The old parser assumed that braces came in pairs, but it is possible to have an odd
+number as in "{{{$foo}}}". The new parser seems to handle all cases correctly.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/05/21</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralAttribute.java LiteralElement.java Parser.java
+SyntaxTreeNode.java</Modified>
+<Log>
+Modified code to ensure line number information is propagated from parent to children to ensure we get informative
+error messages. This was particularly bad for errors in ATVs.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/05/25</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java</Modified>
+<Log>
+Improved patch for Bugzilla 29120 based on Matthias' suggestion. A DOMImplementation is now cached for even better performance.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>jycli@apache.org</Who>
+<DateCommitted>2004/05/26</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java Stylesheet.java</Modified>
+<Log>
+If the local is set to Turkish, but the codepage is MS-DOS (US) 437. The BCEL
+InstructionFinder.search(String) method can not find any instructions contain
+letter I. In Turkish, there are 2 lower case i. Since the search() method is case
+insensitive, change the pattern string to use lower case.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>minchau@apache.org</Who>
+<DateCommitted>2004/06/01</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xml/serializer ToStream.java</Modified>
+<Log>
+PR: bugzilla 29234<br/>
+Submitted by: Brian Minchau<br/>
+Reviewed by: Morris Kwan<br/>
+This problem only showed up under XSLTC. When setting the
+encoding a related field was not set. Fixed this by over-riding the
+set method for the stream serializers.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>minchau@apache.org</Who>
+<DateCommitted>2004/06/07</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xml/serializer WriterToUTF8Buffered.java</Modified>
+<Log>
+PR: bugzilla 29372<br/>
+Submitted by: J Desrochers (john@ASCnet.COM)<br/>
+Reviewed by: Brian Minchau<br/>
+
+A safe fix for chunking up an array for output. The length was multiplied by the
+chunk number (0,1,2... chunks) then divided by "chunks". John's fix uses a
+"long" to do the arithemetic because multiplying by the chunk number first
+could cause an overflow.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/06/10</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler LiteralElement.java</Modified>
+<Log>
+Patch for Bugzilla 29411. New algorithm shoudl optimize the way NS decls are reported for nested literal
+elements. Note that the algorithm will not work accross non-literal elements. E.g., if there is an
+xsl:element between two literal elements, the inner literal element may report unnecessary NS delcs.
+This is just a simple way to ensure that any NS decls defined by the xsl:element instruction are re-defined
+in the inner literal (see namespace39 in the conf tests).
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/06/11</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java</Modified>
+<Log>
+Fixed a problem with peephole optimization patterns. I don't know if something changed in BCEL since the
+code was written, but the pattern syntax was not correct. I've also added a new common peephole pattern
+which should reduce then inner loop's length in some Translets.
+</Log>
+</Commit>
+<Commit category="core">
+<Who>zongaro@apache.org</Who>
+<DateCommitted>2004/06/17</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xpath/axes ChildIterator.java</Modified>
+<Log>
+Fix for Bugzilla bug 28879. Classes derived from NodeTest need to ensure
+that initNodeTest is called to set the filter for the kinds of nodes accepted.
+Without this change, ChildIterator will reject all nodes.<br/>
+
+Patch reviewed by Christine Li (jycli@ca.ibm.com).
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>igorh@apache.org</Who>
+<DateCommitted>2004/06/21</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java xml-xalan/java/src/org/apache/xalan/xsltc/util
+IntegerArray.java</Modified>
+<Log>
+Fix for Bugzilla Bugs 28622.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>santiagopg@apache.org</Who>
+<DateCommitted>2004/06/24</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler CastExpr.java
+xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ObjectType.java StringType.java Type.java</Modified>
+<Log>
+Patch for Bugzilla 27539 and related problems. The main problem was that hashCode() was not implemented
+correctly in ObjectType. To eleminate further problems I also removed Type.ObjectString as this type is the
+same as Type.String and the latter can be used in place of the former.
+</Log>
+</Commit>
+<Commit category="xsltc">
+<Who>aruny@apache.org</Who>
+<DateCommitted>2004/07/15</DateCommitted>
+<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TransformerImpl.java</Modified>
+<Log>
+Description: getNode should return the result DOM tree once TransformerHandler completes the transformation.
+</Log>
+</Commit>
+<Commit category="xsltc">
... 399404 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org