|
Xalan-Java version 2.5.1
| |
| | | | Changes since Xalan-Java 2.5.0 | | | | |
| |
Xalan-Java 2.5.1 contains bug fixes and performance enhancements.
Fixes in this release include the following:
-
15200,
18585,
18926,
19029,
19388,
19471,
19474,
19522,
19640,
19900,
19960,
20237,
20273
- For a list of Xalan-Java commits, see xalan-cvs@xml.apache.org in the
Apache mailing list archive index.
|
| | | | Changes since Xalan-Java 2.4.1 | | | | |
| |
This developer's release, Xalan-Java 2.5.D1, is primarily for the purpose of releasing
various bug fixes to the community. These will eventually be released officially in
a future Xalan-Java 2.5 version, along with some new function.
Fixes in this release include the following:
- 4858,
5140,
6075,
6157,
10053,
10626,
12481,
13414,
13651,
13774,
13775,
13977,
14112,
14148,
14157,
14178,
14229,
14236,
14237,
14241,
14244,
14300,
14322,
14324,
14365,
14368,
14406,
14578,
14753,
14856,
14862,
14965,
15074,
15094,
15218,
15254,
15373,
15586,
16745,
17030,
17136
- Support for and bundling of Xerces Java 2.3.
- Support for and bundling of xml-apis.jar from the tck-jaxp-1_2_0 branch of xml-commons.
This version of the Java APIs for XML Processing successfully passes the JAXP 1.1 and
JAXP 1.2 TCKs.
- For a list of Xalan-Java commits, see xalan-cvs@xml.apache.org in the
Apache mailing list archive index.
|
| | | | Changes since Xalan-Java 2.4.0 | | | | |
| |
- Performance fixes and enhancements to address the degradation of performance between Xalan-Java
version 2.3.1 and Xalan-Java 2.4.0.
- A prototype implementation of the DOM Level 3 XPath Specification.
The implementation is considered 'experimental' at this time due to the status of the specification.
See the new sample, ApplyXPathDOM for an
example of how to use this API.
- Extension changes and enhancements:
- Implement canonical namespaces for all Xalan extensions. All extensions
now use namespaces starting with
http://xml.apache.org/xalan . The old namespaces are
still supported for backward compatibility. See the updated
extensions documentation for details.
- Added new EXSLT extension functions, including the EXSLT dynamic extension functions
max, min, sum, map, evaluate and closure, the EXSLT strings extension functions align,
concat, padding, split and tokenize, and some new extension functions in the math module.
- Reorganized the extension functions for new EXSLT extensions.
The implementation of some extension functions (intersection, difference, distinct,
evaluate and tokenize) are moved from the main Extensions class to the corresponding EXSLT modules.
- Enable the EXSLT extensions for XSLTC. The EXSLT common, math, sets, dates-and-times and strings
modules can be used in XSLTC.
- Integration of the nodeset and redirect extension for XSLTC. You can now use Xalan namespaces for
these extensions in XSLTC.
- Enhancement in Java extenion for XSLTC. Three namespace formats (Java, package and class) can all
be used in XSLTC. More type conversion rules are added as well.
- Enable support for invoking transformations using the Xalan compiler (XSLTC) via the
Xalan interpretive Process command line. Specifically, the -XSLTC option was added. The
-TT, -TG, -TS, -TTC, -QC, -L, -INCREMENTAL, -NOOPTIMIZE and -RL option do not work in XSLTC mode. All
other existing options can be used with -XSLTC. Additional options were added to enable XSLTC compile
and transform modes: -XO, -XD, -XJ, -XP, -XN, -XX, -XT. See the Process usage statement for more
information on these options.
- Fixed SQL Extension problem where a query that returned zero rows would incorrectly
return a JDBC exception.
- Fixed a limitation for XPath expressions. The token queue and operations map can now grow
to accomodate really large XPath expressions.
- Fixes for the following bugzilla defects:
4344,
5046,
6181,
6927,
7161,
7357,
8175,
8473,
8939,
9731,
9959,
10176,
10384,
10414,
10643,
11073,
11341,
11661,
11743,
11809,
12077,
12127,
12298,
12687,
13059,
13303,
13305,
13106,
13501,
13711,
13754,
13863,
13944,
14022
- Support for and bundling of Xerces Java 2.2.
- Support for and bundling of xml-apis.jar from the factoryfinder-build of the RIVERCOURT1 branch of xml-commons. This version of the Java
APIs for XML Processing successfully passes the JAXP 1.1 and JAXP 1.2 TCKs.
- For a list of Xalan-Java commits, see xalan-cvs@xml.apache.org in the
Apache mailing list archive index.
- Support building Xalan with JDK 1.4.
|
| | | | Changes since Xalan-Java 2.3.1 | | | | |
| |
- Fixes for the following bugzilla defects:
3238,
4603,
5013,
5016,
5941,
6071,
6268,
6284,
6356,
6547,
6798,
6833,
6925,
6972,
7023,
7118,
7123,
7157,
7410,
7776,
8324,
8358,
8551,
8894,
9068,
9137,
9146,
9171,
9174,
9179,
9572,
9575,
9683,
9753,
10137,
10306,
10323,
10625,
10715,
10832,
10837,
10839,
10914,
10945,
11123,
11166,
11221,
11345,
11704,
11987,
11828,
12075
.
- Xalan-Java now uses a list of supported encodings in a properties file
(org.apache.xml.serializer.Encodings.properties). Fixes Bugzilla 6356. Patch from Sergey Ushakov.
- Support for the EXSLT function and result elements, and EXSLT
date-and-time functions.
- Improvements to the extensions mechanism to more efficiently handle the detection and analysis of extensions
during the stylesheet "composition" process, and the generation of the required extension handlers during
initialization of the transformation process.
- Performance improvement. Instead of looping through the ExtendedType objects, use a hashtable and go
directly to the correct object.
- Separation of source and messages. Messages have been moved into property files for easier localization.
- XSLTC version upgraded from 1.0 to 1.2.
- Support for and bundling of Xerces Java 2.1.
- Support for and bundling of xml-apis.jar from the RIVERCOURT1 branch of xml-commons. This version of the Java
APIs for XML Processing successfully passes the JAXP 1.1 and JAXP 1.2 TCKs.
- For a list of Xalan-Java commits, see xalan-cvs@xml.apache.org in the
Apache mailing list archive index.
|
| |
- Xalan Java 2 is integrated with release 2 of Xerces-Java. Xalan-Java version 2.5.1 does not include support for the deprecated Xalan-Java 1 compatability API.
The Xalan-Java 1 compatability code does NOT compile with Xerces-Java 2.
- The SQL extension samples continue to use InstantDB, but based on our realization of changes
that have occurred in the licensing of InstantDB, we no longer include InstantDB and the associated sample database with our distibution.
We do, however, provide information on how to set up InstantDB to support our SQL
extension samples.
- Documentation updates: We have subdivided the release notes into multiple files to accelerate HTML document loading, and we have added a
document on Transform features.
- If an attempt is made to coerce a different namespace onto a prefix already in use in xsl:attribute, the attribute will come out
in the wrong namespace. Workaround: either provide an NCName instead of a QName for the attribute, or provide a QName with a prefix not
used elsewhere.
- Handling xsl:namespace-alias declarations: In release 2.0.D01, we reported the need to do some research concerning exactly how Xalan
should handle xsl:namespace-alias declarations. As a result of discussions among members of the W3C Working Group on XSL, we have reached a
more precise consensus on how namespaces should be represented when an xsl:namespace-alias declaration is in effect.
If a literal result element has a namespace prefix, the prefix will be preserved and the namespace URI of the element will be as
specified in the xsl:namespace-alias element, but the result-prefix is not required to appear in the result. This also applies to the
two other cases of "Literal namespace URI" mentioned in the XSLT Recommendation on
Literal Result Elements. More simply, if the stylesheet calls for
<axsl:foo> to be output as a literal result element, then it will be output as <axsl:foo> in the result, but the namespace
associated with this "axsl" prefix will be as designated in the xsl:namespace-alias declaration.
- For HTML output, Xalan-Java 2 outputs character entity references (© etc.) for the special characters designated in
Appendix A. DTDs of the XHTML 1.0: The Extensible HyperText Markup
Language. Xalan-Java 1.x, on the other hand, outputs literal characters for some of these special characters.
- In conformance with the XSLT Recommendation on the HTML
Output Method and Section B.2.1 of the HTML 4.0
Recommendation, Xalan-Java 2 uses %hh encoding for each byte of the UTF-8 representation of non-ASCII characters in HTML URI
attributes.
- When your stylesheet asks for an explicit carriage-return character ( ) to be inserted into the output, it is output during
the serialization process in escaped form unless escaping has been disabled. When your stylesheet asks for an explicit line-feed character
( ) to be output, the system-default line-break character(s) is/are output during the serialization process. Also keep in mind that
the XML parser normalizes line-breaks to line-feeds when it sends character events to the processor.
- If your XML input is a DOM, use the javax.xml.parsers.DocumentBuilderFactory setCoalescing() method to set coalescing to true (it is
false by default), if you want to append CDATA sections to adjacent text sections to form a single text node (as the XPath standard calls
for), and if the XML parser supports this feature (Xerces-Java 2.4.0 does not).
- When you traverse the namespace axis for a collection of element nodes, Xalan-Java includes one namespace node for each namespace in scope
for one or more of the nodes in that collection. The XPath expression does not return additional (redundant) namespace nodes for each element
for which the namespace nodes are in scope.
- See Bugzilla bug 2291 for a discussion of issues surrounding
use of the default character encoding to read META-INF/Services.
- As Bugzilla bug 1800 reports, the Transformer does not get the
setTransformState event until after the startDocument event. This could present a problem for tools developers, and we do intend to fix this
bug.
|
| |
All known Xalan-Java bugs are listed in Bugzilla (the Apache bug database). For a list of open bugs with links to each bug
report, see XalanJ2 open bugs. If you find a new bug, please enter a XalanJ2 bug report in this
database.
| Before you can enter your first bug report, you must submit your email address to Bugzilla and receive a password. |
We strongly encourage you write patches for problems you find and submit them to
xalan-dev@xml.apache.org. We review the patches we receive to make sure they do not break something else, and (assuming they
do not) include them in our next release. In the interest of fixing bugs, adding enhancements, and addressing outstanding design
issues, we sincerely want (and need!) your active participation in the ongoing development of Xalan.
|
| |
The Xalan-Java version 2.5.1 has been tested with Xerces-Java 2.4.0. The Xalan-Java version 2.5.1 download from http://xml.apache.org/dist/xalan-j/ includes xercesImpl.jar from Xerces-Java 2.4.0 and xml-apis.jar.
For version information about the contents of xml-apis.jar, see the JAR manifest. For information about including xercesImpl.jar and xml-apis.jar on the system class path, see Setting up the system class path.
Important You may experience unpredictable anomalies if your Xalan-Java and Xerces-Java builds are not in synch. If you download an update to Xalan-Java, check the release notes to determine which version of Xerces-Java you should use.
|
|
| |
We provide two distributions: a binary distribution, and a source distribution. See Downloading
what you need. If you have downloaded the binary distribution, you already have a build. If you downloaded the source
distribution, you can use Ant to build Xalan-Java, including xalan.jar, xalansamples.jar, xalanservlet.war, the
user documentation, and the Javadoc API documentation. You need the source distribution to do builds. Keep in mind that if you have also
downloaded the binary distribution, any builds you run will overwrite that binary distribution.
| |
Apache Ant is a flexible, powerful, and easy-to-use Java build tool that we include with the
Xalan-Java distribution. The Ant JAR file is in the bin directory, and the cross-platform XML build file (build.xml) is in
the root directory along with a Windows32 batch file (build.bat) and a UNIX shell file (build.sh). The build file defines
the "targets" that you can use Ant to build. The batch and shell files set up the classpath and launch Ant with the target
(and any other arguments) you provide.
Instructions for using Ant
- Set the JAVA_HOME environment variable to the JDK root directory.
JDK 1.2.2 or higher is required to build Xalan-Java. You must put tools.jar from the JDK
bin directory on the classpath.
- Depending on your environment, run the batch file (build.bat) or shell file (build.sh)
from the Xalan-Java root directory, optionally with arguments (see the table of targets below).
The batch/shell file adds several JAR files to the classpath and launches Ant with any arguments
you provide. If you provide no target, Ant compiles the source files and rebuilds xalan.jar
(the "jar" target).
You can also set up your classpath manually (see build.bat or build.sh for the details), and
then run Ant as follows:
java org.apache.tools.ant.Main target
where target is nothing (for the default target) or one of the following.
Target
| What Ant does
|
compile
| compiles Xalan-Java in build/classes.
|
jar (the default)
| creates xalan.jar in the build directory
|
samples
| compiles and jars the sample apps in build/xalansamples.jar
|
servlet
| compiles and jars the sample servlet in build/xalanservlet.jar
|
docs
| creates the HTML User's Guide in build/docs
|
javadocs
| generates the API documentation in ./build/docs/apidocs
|
dist
| generates a complete distribution tree with zip and tar.gz distribution files in build
|
clean
| purges the build and distribution
|
If you build a target that depends on other targets, Ant creates those other targets in the correct order.
|
| |
The Xalan-Java build is in xalan.jar. The Xalan-Java source code tree is in the src directory.
If you are using Ant, the target is jar (the default). For more information, see Using
Ant.
If you want to do the build without Ant, keep the following in mind:
- Set the classpath to include the src directory, xercesImpl.jar, and bsf.jar.
- Use a Java compiler (such as the IBM Just-In-Time compiler or the Sun javac) to compile all the .java files in the src
tree.
- Use the Sun jar utility to store the resulting .class files in xalan.jar
|
| | | | Rebuilding the Xalan-Java documentation | | | | |
| |
Xalan-Java includes a number of XML source files, XSL stylesheets, document type definition (DTD)
files, entity relationship (ENT) files, graphics, and a JavaScript file that provide the input for the Xalan-Java
HTML User's Guide, and the overview and package-level documents used during the generation of Javadoc.
To rebuild the documentation, you must use the StyleBook tool and the JDK 1.2.2 java and javadoc
tools. StyleBook (which uses Xalan and Xerces) is in stylebook-1.0-b2.jar. Some of the document definition files,
stylesheets, and resources are stored in xml-site-style.tar.gz, and are unzipped when you run Ant as described
below.
You can use Ant with the docs target to regenerate the User's Guide and with the javadocs target to regenerate the
Javadoc API documentation. For more information, see Using Ant.
If you want to rebuild the documentation without using Ant, keep the following in mind:
- Unzip xml-site-style.tar.gz into the xdocs directory (the operation places files in a number of subdirectories).
- Be sure stylebook-1.0-b2.jar, xalan2jdoc.jar, xalan.jar, bsf.jar, bsfengines.jar, and xercesImpl.jar are on the class
path.
- To build doc in a build/docs subdirectory, run StyleBook from the xdocs directory as follows:
java org.apache.stylebook.StyleBook "targetDirectory=../build/docs/" sources/xalanLocal.xml style
- To build the HTML source files that javadoc needs for the TrAX top-level and package-level documentation, add
a build/docs/apdidocs/javax/xml/transform directory and run the Xalan command-line utility from the xdocs directory
as follows (all one line):
java org.apache.xalan.xslt.Process
-in sources/trax/trax.xml
-param package-root '../../../src/'
-xsl style/stylesheets/spec.xsl
-out build/docs/apidocs/javax/xml/transform/trax.html
- Before you run javadoc, make sure the following directory structure exists under the Xalan root
directory: build/docs/apidocs.
- To build the API documentation, run the JDK 1.2.2 javadoc tool from the xdocs directory (all one line):
javadoc -doclet xalanjdoc.Standard
-docletpath ../bin/xalanjdoc.jar
-private
-overview ../src/javadocOverview.html -sourcepath ../src
-group TrAX "javax.xml.transform*"
-group Xalan_Core "org.apache.xalan.processor:
org.apache.xalan.templates:
org.apache.xalan.transformer"
-group XPath "org.apache.xpath*"
-group Utilities "org.apache.xml.utils*"
-group Xalan_Other "org.apache.xalan.client:
org.apache.xalan.dtm:
org.apache.xalan.extensions:org.apache.xalan.res:
org.apache.xalan.stree:org.apache.xalan.trace:
org.apache.xalan.xslt"
-group Xalan_Extensions "org.apache.xalan.lib*"
-group Serializers "org.apache.xml.serializer"
org.apache.xalan.client org.apache.xalan.dtm
org.apache.xalan.extensions org.apache.xalan.lib
org.apache.xalan.lib.sql org.apache.xalan.processor
org.apache.xalan.res org.apache.xalan.stree
org.apache.xalan.templates org.apache.xalan.trace
org.apache.xalan.transformer org.apache.xalan.xslt
org.apache.xpath org.apache.xpath.axes
org.apache.xpath.compiler org.apache.xpath.functions
org.apache.xpath.objects org.apache.xpath.operations
org.apache.xpath.patterns org.apache.xpath.res
org.apache.xml.serializer javax.xml.transform
javax.xml.transform.dom javax.xml.transform.sax
javax.xml.transform.stream javax.xml.parsers
-d ../build/docs/apidocs -windowtitle "Xalan-Java 2"
-doctitle "xslt4j; 2" -bottom "Copyright ©
2000 Apache XML Project. All Rights Reserved."
|
|
| |
Your feedback is more than welcome. Offers of help are even more so! Perhaps you would like to
take on an active role in the ongoing development, testing, and documentation of Xalan-Java?
Please email your comments, questions, suggestions, and offers to join the Xalan team
to Xalan Development Mailing List.
|
| |
A list of some of people currently working on working on Xalan-Java:
|
|
|