http://xml.apache.org/http://www.apache.org/http://www.w3.org/

What's New
DTM
XSLTC Translets

Overview
Getting Started

FAQs

Sample Apps
Command Line

Usage Patterns

TrAX
API (Javadoc)

Extensions
Extensions Library

Release Notes

Xalan 2 Design
XSLTC Design

Bugs
Testing

Credits
XSLTC Credits

Xalan-Java version 2.2

NoteThis is the last Xalan-Java release to include support for the Xalan-Java 1 compatability API (deprecated).

Starting with our next major point release (Xalan-Java 2.3), we plan to integrate Xalan-Java with release 2 of Xerces-Java.
Status
 
Changes since Xalan-Java 2.2.D14
 

Following a series of Developer releases, Xalan-Java version 2.2 represents a stable, production-quality release with the DTM (Document Table Model). Xalan-Java uses the DTM to represent the XML source document to be transformed. Please send your feedback to the Xalan Development Mailing List.

Core (Non-XSLTC) source code updates:

  • Committed by dleslie@apache.org on 11/30/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: updated version number to 2.2.D14

  • Committed by dleslie@apache.org on 11/30/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: updated version number to 2.2.D14

  • Committed by jkesselm@apache.org on 12/03/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java
    Committer's log entry: Bugzilla 5242: Special-case initializing iteration from Document node -- one-liner wasn't safe.

  • Committed by tmiller@apache.org on 12/04/2001
    Added: java/src/org/apache/xalan/xsltc ProcessorVersion.java
    Committer's log entry: new class to version xsltc software

  • Committed by jkesselm@apache.org on 12/05/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Additional debugging printouts, added while analysing Bugzilla 5272 but generally useful. No functional change, and should be optimized away when DEBUG is set false.

  • Committed by jkesselm@apache.org on 12/10/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Removed the "magic" default which causes us to switch into incremental processing mode whenever we were writing to Standard Output (ie, -OUT had not been specified). If you want incremental processing, please use the (relatively new) -INCREMENTAL switch to explicitly request it. (The automatic switchover was causing some confusion when testing against Xerces2. )

  • Committed by jkesselm@apache.org on 12/10/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMManagerDefault.java
    Committer's log entry: Efficiency improvement to the new DTM "overflow addressing" scheme. In some tests, this one alteration shaved about 30% off the runtime.

  • Committed by jkesselm@apache.org on 12/11/2001
    Modified: java/src/org/apache/xpath CachedXPathAPI.java XPathContext.java
    Committer's log entry: Changes requested by the xml-security group: 1) Provide something a constructor that allows sharing the XPathContext object between CachedXPathAPI objects 2) Add getXPathContext(). I'm just a bit nervious about this method, but they assure us they need it and the field isn't private. We may need to discus this one further. 3) Make the XPathContext's m_dtmManager member protected rather than private, so their subclass can get to it. We may want to work with them to understand why they're accessing this directly and whether there's a better solution.

  • Committed by jkesselm@apache.org on 12/13/2001
    Modified: java/src/org/apache/xml/dtm/ref IncrementalSAXSource_Xerces.java
    Committer's log entry: Bugzilla5272 patch suggested by Sandy Gao. This startup sequence for incremental SAX parsing under Xerces2 really is excessively complicated and excessively fragile as a result. Not to mention being underdocumented. We really need to push the Xerces folks to provide a simple incremental SAX API, similar to that in the Xerces1incremental prototype.

  • Committed by jkesselm@apache.org on 12/13/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Part 1 of 2: Reducing initial space requirements of a DTM. This may involve a slight performance hit, but should help stylesheets which generate a lot of Result Tree Fragment. Part 2 of this change will be checked in after I resolve a bug in whitespace normalization. Note that a better long-term answer will be to reduce the number of DTMs tied up as RTFs, by doing a better job of discarding or reusing them when we're done with them. There are some issues regarding exactly what their lifetimes will be when assigned to variables, especially when one variable is used to build another, which we need to address before we can make that change.

  • Committed by jkesselm@apache.org on 12/13/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Part 2a of 2: Reducing initial space requirements of a DTM. This may involve a slight performance hit in some circumstances due to smaller and more complex subdivision of FastStringBuffers,, but should help stylesheets which generate a lot of Result Tree Fragments. Note that a better long-term answer will be to reduce the number of DTMs tied up as RTFs

  • Committed by jkesselm@apache.org on 12/13/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: Part 2b of 2: Reducing initial space requirements of a DTM. This may involve a slight performance hit in some circumstances due to smaller and more complex subdivision of FastStringBuffers,, but should help stylesheets which generate a lot of Result Tree Fragments. (Leveraging FSB's features more strongly exposed a bug in whitespace normalization, which I've fixed.) Note that a better long-term answer will be to reduce the number of DTMs tied up as RTFs

  • Committed by jkesselm@apache.org on 12/14/2001
    Modified: java/src/org/apache/xml/utils AttList.java
    Committer's log entry: Two goofs: Forgetting to use the namespace-aware DOM call, and forgetting to check for a returned null before dereferencing. How long has _that_ been lurking in the undergrowth?!

  • Committed by jkesselm@apache.org on 12/14/2001
    Modified: java/src/org/apache/xml/utils SuballocatedIntVector.java
    Committer's log entry: Finally following up on an old hunch, I switched from /% addressing to shift-and-mask. Big improvement!

  • Committed by jkesselm@apache.org on 12/14/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Performance improvements; Some changes to better leverage the DOM's existing code, others to avoid some call-and-return overhead. Combined with other recent changes, we've now got a significant speedup over D14 on some tests. We may want to drop the scheduled December 17th 2.2 release and instead bring 2.2 out on 1/14 (which is when we'd planned 2.3) with performance gains and Xerces2 support.

  • Committed by jkesselm@apache.org on 12/18/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java DOM2DTMdefaultNamespaceDeclarationNode.java
    Committer's log entry: A few more subtle performance tweaks, and an actual bug.

  • Committed by curcuru@apache.org on 12/20/2001
    Added: java/src/org/apache/xml/utils ListingErrorHandler.java
    Committer's log entry: Alternate ErrorHandler/ErrorListener implementation that allows configuration and prints errors out similarly to javac

  • Committed by jkesselm@apache.org on 12/21/2001
    Modified: java/src/org/apache/xml/utils AttList.java
    Committer's log entry: Bugzilla 5496; previously unimplemented functions.

  • Committed by jkesselm@apache.org on 01/03/2002
    Modified: java/src/org/apache/xml/utils DOMBuilder.java
    Committer's log entry: [Bug 5528] DOMBuilder mixed DOM Level 1 and 2

NoteThis release includes no updates of the compatibility source code (now deprecated).

Other points of interest
 
  • 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 (&copy; 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 (&#13;) 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 (&#10;) 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 version 1.4.4 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.

Bugs
 

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.

NoteBefore 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.


Version of Xerces to use
 

The Xalan-Java version 2.2 has been tested with Xerces-Java version 1.4.4. The Xalan-Java version 2.2 download from xml.apache.org includes xerces.jar from Xerces-Java version 1.4.4. For information about including xerces.jar on the system class path, see Setting up the system class path.

NoteYou may also use Xalan-Java version 2.2 for prototyping or beta testing with Xerces-Java 2.0.0.beta3. You may not use the Xalan-Java version 1 API (deprecated) with Xerces-Java 2.0.0.beta3.

Important You may experience unpredictable anomalies if your Xalan and Xerces builds are not in synch. If you download an update to Xalan, check the release notes to determine which version of Xerces you should use.

NoteYou can use Xalan with other XML parsers that implement the Java API for XML Parsing 1.0. See Plugging in the Transformer and XML parser.

To-do tasks
 

For a list of goals, tasks, and target dates for completion, see Xalan-Java Version 2: Things To Do. As tasks are completed, they are moved from the to-do list to Completed.

The source document for the to-do list is an active document in the Apache CVS repository: xml-xalan/java/todo.xml.



XSLTC Release Notes
 

For this release, please note the following changes, additions, omissions, problems, procedures for running demos, and new support for the TrAX API.

Changes since Xalan-Java 2.2.D14
 

XSLTC source code updates:

  • Committed by morten@apache.org on 11/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: A fix to the XPath parser to make sure (again!) that non-prefixed elements in XPath expressions/patterns are not assigned the default namespace but rather the null namespace. PR: bugzilla 4904 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: Modified the order in which top-level elements are parsed. This to make sure that xsl:namespace-alias elements are parsed before xsl:import and include, so that namespace aliases are global to all included stylesheets. PR: bugzilla 4876 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/04/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java xpath.lex
    Committer's log entry:

  • Committed by morten@apache.org on 12/04/2001
    Modified: java/src/org/apache/xalan/xsltc NodeIterator.java java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java CurrentNodeListIterator.java DOMImpl.java FilterIterator.java FilteredStepIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java NodeIteratorBase.java NthIterator.java StepIterator.java UnionIterator.java
    Committer's log entry: A fix for the various node iterators cloneIterator() method. This method should clear the _isRestartable flag to prevent iterators contained within variables and parameters from changing their value. This flag is now wrapped inside a setRestartable(boolean flag) method so that the call can be propagated down a stack of iterators. This seems to solve many of our iterator problems. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apaceh.org

  • Committed by morten@apache.org on 12/04/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java XslElement.java
    Committer's log entry: Added a method to the SyntaxTreeNode base class that can be used to check the existence of an attribute in the input document: hasAttribute(String name). This method is used in the XslElement class to verify the existence of a 'namespace' attribute with an empty value. PR: bugzilla 4983 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/04/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Updated the realToString() method in the runtime library to always output numbers on decimal form (and not on Java's "computerized scientific notation." PR: bugzilla 4199 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/04/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java RoundCall.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Changed the return-type of the round() function form int to double. The result is still rounded (of course), but it is returned as a double to be able to return NaN and infinite values. PR: bugzilla 2805 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java
    Committer's log entry: I am still fiddling around with predicates containing variable references and position filters. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.lex
    Committer's log entry: Reverting previous putback.

  • Committed by morten@apache.org on 12/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Output.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMessages_no.java ErrorMsg.java java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Added a warning message for unsupported output encodings. PR: bugzilla 5139 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.lex
    Committer's log entry: fixed typo

  • Committed by morten@apache.org on 12/10/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: A fix for global parameters whose names contain dots or dashes. PR: bugzilla 5328 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/10/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: A fix for a bug in the XPath parser. The parser would choke on some XPath expressions that contained references to element names that were identical to axis names. PR: bugzilla 3502 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/10/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Added another fix to properly convert ver small floating point numbers to strings. PR: bugzilla 4199 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/10/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: Added a fix for global variables declared in included/imported stylesheets. PR: bugzilla 5327 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/10/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java
    Committer's log entry: Fix for use of XPath expressions in contexts where there is no 'current' node (ie. in top-level elements such as variables and attribute sets). PR: bugzilla 5194 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by morten@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java
    Committer's log entry: A fix for passing result tree fragments and node-sets to external Java methods. Node sets and RTFs can both be handled as org.w3c.dom.Node or org.w3c.dom.NodeList in the called method. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by morten@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java
    Committer's log entry: A fix for passing result tree fragments and node-sets to external Java methods. Node sets and RTFs can both be handled as org.w3c.dom.Node or org.w3c.dom.NodeList in the called method. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: added factory creation methods and checks

  • Committed by tmiller@apache.org on 12/11/2001
    Added: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: new prototype class, work in progress

  • Committed by tmiller@apache.org on 12/11/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: look for xsltc specific attributes

  • Committed by tmiller@apache.org on 12/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: store error listener and or uri resolver locally set in real factory when needed

  • Committed by tmiller@apache.org on 12/13/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
    Committer's log entry: fixed scope of internal method

  • Committed by morten@apache.org on 12/17/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java
    Committer's log entry: Removed some stupid debug timing-loop in the command line Transform tool. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: Removed the main() method from the XSLTC class. This class represents the native API of the compiler. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 12/17/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/dom DTDMonitor.java
    Committer's log entry: A small cleanup in our native API. Submitted by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 01/07/2002
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: fixed problem with output content handler creation (while running xalan conf tests) in method getOutputHandler(Result).


XSLT 1.0 Conformance and Extensions
 

XSLTC does not yet support the following feature of the W3C Recommendation XSL Transformations (XSLT) Version 1.0:

  • The namespace axis is not implemented. You cannot get a node set containing the namespace nodes in scope from a context node in the document tree. Otherwise, namespace functionality is implemented.

XSLTC does not support a number of features that are not required by the XSLT 1.0 specification, but which are supported by a number of other XSLT processors:

  • Incomplete support for extension elements and external Java functions. Currently you can set up an extension function to call a static Java function. For the extension namespace, use
        http://xml.apache.org/xalan/xsltc/java/<class>
    where <class> identifies the class with the static method.
  • Lack of support for the redirection of output to multiple output files from within a stylesheet (equivalent to xalan:redirect or saxon:output).
  • XSLTC does not implement a node-set extension to convert result tree fragments to node-sets. This would enable sorting and grouping of nodes assigned to a tree

Known Problems
 
  • Casting variables: XSLTC requires you to explicitly type cast values returned by variables or expressions, when you use them in tests. Always a good practice, but it may seem like overkill in some in contexts, where other XSLT processors automatically assume or convert to the correct type. For example. unless you cast $country to a string in the following apply-templates, entry nodes whose <country> elements contain a string matching the global $country parameter are NOT selected.

        <xsl:apply-templates select="entry[country=string($country)]"/>
  • Order dependency of conditions within a predicate: If you have a predicate in a select or match expression that has multiple conditions, one of which contains a union (X or Y), put it last. Otherwise, the predicate fails to match node that it should.
  • When using DOM caching, as shown in the Servlet demo, if the source document is local to the server, the cache is not refreshed when the source XML document is modified. This problem does not apply when the source is associated with a URL.
  • If you have a list of references included or imported stylesheets, put any with a relative path last; otherwise, stylesheets in the current directory are not found.
  • [1] should be treated equivalent to position()=1, but it is not. Therefore, if you get unexpected results using such shortcut positional predicates, substitute the full postion()= version.
  • XSLTC fails to match existing nodes when match expressions have multiple steps with predicates containing the position function. The following examples are taken from the XSLTMark oddtemplates.xsl test:

        match='top/*[position()=2]'
        match='top/*[6]/kid[2]'
        match='top/*[position()=last()]'
  • XSTLC has problems with output escaping, see bug 1403.
  • Case-order option with sorting is ignored.
  • As a minor side-effect of implementing simplified stylesheets, if you inadvertenly go to compile a stylesheet and give the name of the .xml doc instead of the .xsl doc, it may compile without a warning. In some cases, the compiler aborts with an error about too many branches.

Running Demos
 

XSLTC provides demos for using XSLTC as a servlet and as a handler for Brazil (a new and powerful Web techology from Sun labs). To run these demos, download Brazil from sunlabs:

    http://research.sun.com/research/download/index.html

and the java extensions for servlets from Sun:

     http://java.sun.com/products/servlet/download.html

The translet must be specified as a pure class name, accessible through the Brazil handler's classpath. For example:

    translet=mk054

The document must be specified as a valid URL. For example:

    document=http://server/path/to/filename.xml

If the file is local to the Brazil handler, it has to be specified using the "file:filename.xml" format.

NoteYou also need to make the Brazil and javax classes available from your classpath

See also: sample JAXP translets.


Translets and TrAX
 

The Translet API has been extended to conform with the JAXP1.1 TrAX model. This release contains the first implementation of that extension. Two new classes have been added to the Translet XSLT codebase, they are:

(1) org.apache.xalan.xsltc.trax.TransformerFactoryImpl -
    the Translet implementation of a SAXTransformerFactory.

(2) org.apache.xalan.xsltc.runtime.TransletTemplates -     the Translet implementation of a Templates object.

The existing XSLT class 'org.apache.xalan.xsltc.runtime.AbstractTranslet' that implements the Translet interface is now also extending the javax.xml.transform.Transformer abstract class.

This implementation is only a partial implementation, with many limitations. These limitations include:

  1. Currently 'StreamSource' and 'StreamResult' are the only TrAX Sources and Results that are supported.
  2. The translet is compiled everytime a call is made to the
    TransformerFactoryImpl 'newTransformer()' method.
  3. The translet is compiled everytime a call is made to the
    TemplateFactoryImpl 'newTransformer()' method.
  4. Translet are currently not cached. (See (2) and (3)).
  5. Several abstract methods from SAXTransformerFactory still need to be implemented in the xsltc.runtime.TransformerFactoryImpl class:

        TemplatesHandler newTemplatesHandler()
        TransformerHandler newTransformerHandler()
        TransformerHandler newTransformerHandler(Source src)
        TransformerHandler newTransformerHandler(Templates templates)
        XMLFilter newXMLFilter(Source src)
        XMLFilter newXMLFilter(Templates templates)
  6. Several abstract methods from Transformer still need to be implemented in the AbstractTranslet class:

        ErrorListener getErrorListener()
        void setErrorListener(ErrorListener)
        Properties getOutputProperties()
        String getOutputProperty(String name)
        void setOutputProperties(Properties props)
        void setOutputProperty(String name, String value)
        URIResolver getURIResolver()
        void setURIResolver(URIResolver resolver)
  7. Abstract method from Templates still need to be implemented in the TransletTemplates class:

        Properties getOutputProperties()
  8. Several abstract methods from TransformerFactory still need to be implemented in the xsltc.runtime.TransformerFactoryImpl class:

        ErrorListener getErrorListener()
        void setErrorListener(ErrorListener listener)
        Object getAttribute(String name)
        void setAttribute(String name, Object value)
        boolean getFeature(String name)
        URIResolver getURIResolver()
        void setURIResolver(URIResolver resolver)
        Source getAssociatedStylesheet(Source src, String media, String title,
            String charset)
        Templates newTemplates(Source xslSrc)
        Transformer newTransformer()
  9. Whenever possible, the required methods that are currently unimplemented will throw an exception if someone tries to call them- this will alert the user that the method is not implemented. The message is of the form:

        "<Class Name>:<Method Name>( <args> ) not implemented yet."

History of XSLTC software changes
 

The following sections list XSLT changes back to the incorporation of XSLTC into Xalan-C++.

Changes for Xalan-Java 2.2.D14
 

XSLTC source code updates:

  • Committed by morten@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
    Committer's log entry: Fixed bug for xsl:attribute PR: 4175 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Fix for properly creating a SAX InputSource from a TrAX InputStream for encapsulating a stylesheet before it is compiled. PR: bugzilla 4711 (I hope to God) Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Fix for last putback.

  • Committed by morten@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: This fix should take care of a regression introduced by the code that was added on the 29.10.2001 to take care of forward referenced variables. This little patch ensures that variables that do not have any dependencies are kept in order. PR: bugzilla 4779 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/14/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: Fixed a minor regression after the fix for 3592. A literal number zero was always interpreted as an integer zero and never as a double -0 opr 0.0. PR: bugzill 4810 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/15/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fixed the code that prevents escaping of text inside <script> and <style> elements in HTML. The code did not handle upper case element names. PR: bugzilla 2517 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 11/16/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: bug fix 4906

  • Committed by morten@apache.org on 11/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java Template.java xpath.cup
    Committer's log entry: Fix for nested parent location paths / filter parent paths with key() or id() root. These paths would in some case returnt he root node when they should not. PR: bugzilla 4781 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Sort.java
    Committer's log entry: Fix for a big in the <xsl:sort> implementation. The element would not always work properly in the innermost loop in nested <xsl:for-each> elements. PR: bugzilla 4921 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/21/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java Sort.java
    Committer's log entry: A fix for a regression introduced by a fix for <xsl:sort/> and nested <xsl:for-each/> elements. PR: bugzilla 4921 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/21/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix to ensure that double quotes are escaped inside attribute values in HTML output. PR: bugzilla 4845 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/21/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java
    Committer's log entry: Fix for a bug caused by <xsl:apply-templates/> not always passing parameters to the invoked template(s). Parameters would not be put on the stack if the 'select' attribute contained wildcards. PR: bugzilla 4718 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/21/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util StringType.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Fixed conversion between strings and numbers. Empty strings should return 0 and not NaN. PR: bugzilla 4783 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/22/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Choose.java Parser.java SyntaxTreeNode.java Text.java java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix for a whole wack of bugs related to text-nodes and handling of whitespace and special characters. PR: bugzilla 1403, 1520, 3005, 3418 and 3690 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/22/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Prevented the namespace-uri() from returning anything for namespace nodes. PR: bugzilla 4896 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/22/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslElement.java
    Committer's log entry: Added test in <xsl:element> to verify that the local name of the created element is legal (must have contents, but no whitespaces or colon). PR: bugzilla 4894 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/22/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: A small fix for the substring() function to output an empty string if the start index is an infinite value. PR: bugzilla 4813 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/22/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Constants.java Stylesheet.java
    Committer's log entry: Fix for XHTML output. PR: bugzilla 4904 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/22/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Message.java
    Committer's log entry: A cleanup in the Message class. Making way for a fix for 4874 Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java
    Committer's log entry: A fix for position predicates used within parameters and variables. PR: bugzilla 4783 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
    Committer's log entry: A small fix needed after a fix for stripping/preserving text nodes. The fix for text-nodes caused us to insert text nodes before <xsl:attribute> elements in the AST, which again caused the XslAttribute class to complain. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/26/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler Message.java java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java
    Committer's log entry: Added a new method to the DOM interface for retrieving the DOM as a single string. This method is different from the existing getStringValue() in the way that it generates element brackets and copies PIs and comments. PR: bugzilla 4874 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/27/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java FilteredStepIterator.java StepIterator.java UnionIterator.java
    Committer's log entry: Updated the StepIterator and FilteredStepIterator's cloneIterator() and reset() methods so that the _isRestartable flag is set correctly. PR: bugzilla 4905 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/27/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
    Committer's log entry: Another fix for 3005 (special characters inside CDATA). PR: bugzilla 3005 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/27/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: A fix for decimal formatting PR: bugzilla 4901 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/27/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AttributeSet.java
    Committer's log entry: A fix for a regression introduced by a fix for whitespace handling. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/27/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler FilterExpr.java Predicate.java VariableRefBase.java java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java DOMImpl.java FilteredStepIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java NthIterator.java StepIterator.java UnionIterator.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: A fix for trees of step iterators stored inside variables. Also some fixes for recently introduced regressions. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.iorg

  • Committed by morten@apache.org on 11/29/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
    Committer's log entry: A fix for the TrAX API when used from within an environment that does _not_ use one of the standard classloaders. PR: bigzilla 5130 Obtained from: n/a Submitted by: Jochen.Cordes@t-online.de Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/29/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Sort.java java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
    Committer's log entry: A fix for multilevel sort-keys. If a set of translets (representing different stylesheets) are running one the same JVM, and two or more of these translets use NodeSortRecord objects to represent <xsl:sort/> elements, then the number of sort keys would be set in the NodeSortRecord _class_ constructor instead of being set locally for each occurance of <xsl:sort/>. PR: bugzilla 4755 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/29/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler CastExpr.java EqualityExpr.java Expression.java LastCall.java Predicate.java VariableRefBase.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java StepIterator.java
    Committer's log entry: A fix for resetting the source iterator of a node-value iterator. PR: bugzilla 5152 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/29/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler DecimalFormatting.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: A fix for a few regressions from yesterday. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: A fix to the XPath parser to make sure (again!) that non-prefixed elements in XPath expressions/patterns are not assigned the default namespace but rather the null namespace. PR: bugzilla 4904 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: Modified the order in which top-level elements are parsed. This to make sure that xsl:namespace-alias elements are parsed before xsl:import and include, so that namespace aliases are global to all included stylesheets. PR: bugzilla 4876 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org


Changes for Xalan-Java 2.2.D12 and 2.2.D13
 

XSLTC source code updates:

  • Committed by morten@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: Changed the values for the output properties "OMIT_XML_DECLARATION" and "INDENT" from "true" and "false" to "yes" and "no". PR: bugzilla 4039 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Updated the getAttribute() method to throw an IllegalArgumentException for unknown attributes. PR: bugzilla 4046 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler NameBase.java
    Committer's log entry: Fixed a bug in the name() and local-name() functions. The functions would use the current node and not the context node when no arguments were given. PR: bugzilla 3322 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Updated Mode.java to properly handle patterns matching on node(), comment() and processing-instruction(). Also had to make a small change to the setStartNode() method in the FollowingIterator (inner class of DOMImpl.java) to properly handle attribute-nodes as start nodes. Also, I had to change ParentLocationPath to remove duplicates that can be produced by the FollowingIterator when started with an attribute node. PR: bugzilla 2551 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: A small for for the output property OMIT_XML_DECLARATION PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: Fix to the transformer implementation to allow for namespace-prefixed output properties (output property extensions). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom LoadDocument.java
    Committer's log entry: included a more portable way to create an URI from a File

  • Committed by tmiller@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
    Committer's log entry: ncluded a more portable way to create an URI from a File

  • Committed by tmiller@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: ncluded a more portable way to create an URI from a File

  • Committed by tmiller@apache.org on 10/12/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java
    Committer's log entry: ncluded a more portable way to create an URI from a File

  • Committed by morten@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java ParentLocationPath.java Parser.java RelationalExpr.java SyntaxTreeNode.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java TextOutput.java
    Committer's log entry: A fix for a few regressions. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix for the "*" pattern. Made it include comment and PI nodes. PR: bugzilla 4050 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Committer's log entry: Fix for the last fix. PR: bugzilla 4050 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix for the last fix. PR: bugzil.la 4050 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: added catch for malformed url

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java
    Committer's log entry: Modified error handling to extract messages from SAXException. This tool will also print the stack trace of the SAXException if the '-x' flag is specified (debug turned on). PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Added code to prevent index-out-of-bounds exception in the output handler. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler XSLTC.java xpath.cup java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java
    Committer's log entry: Added support for the namespace axis. PR: bugzilla 1379 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Committer's log entry: Missing file from last putback. PR: bugzilla 1379 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: A few add'ons to the namespace axis implementation. Added support for the namespace-uri() function when applied to namespace nodes. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Code cleanup. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Committer's log entry: Fix to prevent attribute nodes to be included by the node() pattern. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix for the following:: iterator when started with an attribute node. PR: bugzilla 2551 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LiteralElement.java Mode.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: A fix to a recent regression after a fix for some axis iterators. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup xpath.lex
    Committer's log entry: Added 4 symbols to the lexiographical analyser (xpath.lex) to recognise name-tests with whitespace between the NCName and the "()" brackets. PR: bugzilla 4208 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
    Committer's log entry: Fix to prevent xsl:attributes from not compiling itself into the translet code. PR: bugzilla 4175 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler FilterParentPath.java
    Committer's log entry: Enabled node ordering for certain filtered parent paths. PR: bugzilla 4178 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
    Committer's log entry: Changed the node sort record base class so that it places NaN values first in the sorted list/node-set. PR: bugzilla 3517 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Changed the DOM's copy() function to always copy the necessary namespace declaration to the output handler. PR: bugzilla 3409 (not complete fix) Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler CallTemplate.java DecimalFormatting.java Param.java SymbolTable.java Template.java Variable.java VariableBase.java WithParam.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
    Committer's log entry: Cleaned up the compiler's symbol table. Added support for detecting multiple defined decimal formatting symbols. PR: bugzilla 3872 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler CallTemplate.java Template.java VariableBase.java WithParam.java XSLTC.java java/src/org/apache/xalan/xsltc/compiler/util Util.java
    Committer's log entry: Added/checked proper escaping of template/variable/parameter/attribute-set/etc. names. Occurances of the characters '.' and '-' are replaced by '$dot$' and '$dash$' respectively in method/variable names. The characters are both replaced by an underbar ('_') in the translet class name. PR: 2399 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix for getting all attributes from the Xerces parser. Xerces and Crimson report attributes differently, and we have to take that into account. PR: bugzilla 2465 Obtained from: n/a Submitted by: Douglas Sellers <douglasjsellers@hotmail.com> Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler FilterParentPath.java
    Committer's log entry: Added node ordering to FilterParentPath PR: bugzilla 4248 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Changed one of the compare() methods in the basis library to properly compare node sets. PR: bugzilla 4242 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: Fixed the registerAttribute() method so that it always uses the same id for an attribute name. PR: bugzilla 4243 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Removed: java/src/org/apache/xalan/xsltc/compiler Param.java.orig
    Committer's log entry: Removed file Param.java.orig Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java VariableBase.java
    Committer's log entry: Changed the variable base class to allow variables to be re-defined in a different scope. PR: bugzilla 3268 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/dom MultiDOM.java
    Committer's log entry: Added a node-value iterator to the DOM multiplexer to allow for predicates in combination with the document() function. PR: bugzilla 3402 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/dom MultiDOM.java
    Committer's log entry: Fix for variables and parameters containing node sets in stylesheets that use the document() function. This fix completes the cloneIterator() method of the axis iterators returned by the DOM multiplexer. PR: bugzilla 3501 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Added the default xml=http://www.w3.org/XML/1998/namespac namespace declaration to the root node of our internal DOM. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/19/2001
    Modified: java/src/org/apache/xalan/xsltc/dom LoadDocument.java MultiDOM.java
    Committer's log entry: A fix for determining the current working directory when loading XML documents using the document() function. The base URI (that gives you the CWD) should normally be taken from the context node, but can also be determined by the node/node-set defining the document URI. PR: bugzilla 3471 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/19/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Gave the parent/sibling stacks in the DOM builder dynamic length. PR: bugzilla 3066 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/19/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Compile.java
    Committer's log entry: Added a '-i' option to the command-line compiler to allow stylesheets to be passed in through stdin. The '-i' option must be used with the '-o' option to specify a translet name. PR: bugzilla 4253 Obtained from: n/a Submitted by: johnh@schemasoft.com (John Howard) Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/19/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Include.java Stylesheet.java XSLTC.java
    Committer's log entry: Cleaned up the include/import precedence code in Import and Include PR: bugzilla 2695 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/22/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Fixed output formatting of some floating point numbers. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/22/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java
    Committer's log entry: Fix for logical expressions that have combinations of not() and "and". PR: bugzilla 2351 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 10/22/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: added a empty string systemId in cases where it was set to null, slight rearrangment of StreamSource handling code as well.

  • Committed by morten@apache.org on 10/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Removed: java/src/org/apache/xalan/xsltc/compiler header.txt
    Committer's log entry: Fix for names templates. Dashes and dots in template names are now escaped using '$dash$' and '$dot$'. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: A fix for a recent regression. A no major change. Just a one-line if to test for a potential NPE. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyImports.java Mode.java Stylesheet.java Template.java
    Committer's log entry: A major fix for <xsl:apply-imports/>. This element was previously treated as <xsl:apply-templates/> but is now handled similar to Java's 'super()' method. Note that this is not a complete fix. The rest will come tomorrow or the day after. I just wanted to make sure that today's efforts were not lost and that they are tested overnight. PR: bugzilla 1397 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyImports.java DocumentCall.java Stylesheet.java SyntaxTreeNode.java java/src/org/apache/xalan/xsltc/dom LoadDocument.java
    Committer's log entry: Fixed the document() function so that it will load documents relative to either the currently loaded document, or if that fails, relative to the location of the original stylesheet. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java TransformerImpl.java
    Committer's log entry: Fixed the TransformerHandler so that it's Transformer instance can be used separateely from the handler itself. PR: bugzilla 3873 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Import.java Include.java
    Committer's log entry: A fix for resulving relative URIs when using <xsl:include/> and <xsl:import/> through TrAX without using a URIResolver. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: Fix for a bug that seemed to be triggered by the sequence in which Xerces' lexical handler and content handler were set. The lexical handler must be set before the content handler, otherwise Xerces will keep generating the first startElement() event over and over again. PR: bugzilla 2465 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fixed the general handling of the XML namespace mapping. PR: bugzilla 4331 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyImports.java Mode.java Stylesheet.java
    Committer's log entry: A fix for setting the scope of templates for an <xsl:apply-imports/> element. This fix allows for proper "multiple inheritance" in XSLTC. PR: bugzilla 1397 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: Fix to ensure that the order of the -o and -p command line options is not significant. PR: bugzilla 4343 Obtained from: n/a Submitted by: johnh@schemasoft.com (John Howard) Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler FunctionCall.java
    Committer's log entry: Changed our extension for calling external static Java methods to allow both the "http://xml.apache.org/xalan/xsltc/java" namespace and the "http://xml.apache.org/xslt/java" namespace (Xalan's namespace for Java function calls). PR: bugzilla 3994 Obtained from: n/a Submitted by: after numerous requests/suggestions on xalan-dev Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/29/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java Choose.java DocumentCall.java Number.java Otherwise.java StepPattern.java Stylesheet.java VariableBase.java VariableRef.java VariableRefBase.java When.java XSLTC.java xpath.cup java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
    Committer's log entry: Implemented code to resolve forward references and dependencies between global variables and parameters. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Added: java/src/org/apache/xalan/xsltc/compiler UnresolvedRef.java
    Committer's log entry: Missing file from last putback. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java AttributeSet.java AttributeValueTemplate.java BinOpExpr.java CallTemplate.java ConcatCall.java ContainsCall.java CopyOf.java DecimalFormatting.java DocumentCall.java ElementAvailableCall.java Expression.java ForEach.java FormatNumberCall.java FunctionAvailableCall.java FunctionCall.java If.java Import.java Include.java Instruction.java Key.java Output.java Param.java Parser.java ProcessingInstruction.java RelationalExpr.java StartsWithCall.java StringCall.java Stylesheet.java Template.java TopLevelElement.java TransletOutput.java UnsupportedElement.java UseAttributeSets.java ValueOf.java Variable.java VariableBase.java When.java Whitespace.java WithParam.java XslAttribute.java XslElement.java xpath.cup java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
    Committer's log entry: Moved all error messages from the various source files into the ErrorMsg class in the compiler/util directory. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Compile.java Transform.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java SlotAllocator.java java/src/org/apache/xalan/xsltc/dom LoadDocument.java NodeSortRecordFactory.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java SAXAdapter.java TextOutput.java java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java
    Added: java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMessages_en.java ErrorMessages_no.java
    Committer's log entry: A first stab at i18n'ing XSLTC. Error and warning messages from the compiler and TrAX are handled by the compiler/util/ErrorMsg class, while messages from the DOM and runtime/translet are handled by the Basis Library class. Only the ErrorMsg class has so far been updated to dynamically read its messages from a ResourceBundle. Bundles for British English and Norwegian are implemented. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util BooleanType.java ErrorMessages.java ErrorMessages_no.java ErrorMsg.java IntType.java NodeSetType.java NodeType.java RealType.java ReferenceType.java ResultTreeType.java StringType.java Type.java VoidType.java
    Committer's log entry: Code cleanup. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java CurrentNodeListIterator.java DOMImpl.java FilterIterator.java FilteredStepIterator.java MatchingIterator.java MultiDOM.java NodeIteratorBase.java StepIterator.java UnionIterator.java
    Committer's log entry: Final code cleanup after i18n work. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java
    Committer's log entry: Removed a typo in console output. Submitted by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Added "Compiler Warning" text to output. Submitted by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Import.java Include.java StepPattern.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java java/src/org/apache/xalan/xsltc/dom LoadDocument.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java
    Removed: java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_en.java
    Committer's log entry: Localised the runtime/dom packages into Norwegian. This proves that the internationalisation work is completed. I also fixed a regression that was caused by the error handling being changed. PR: n/a (i18n and l10n work) Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: Integrated a fix from John Howard for forcing forward slashes in file paths in JAR files and in manifests in JAR files. PR: bugzilla 4464 Obtained from: n/a Submitted by: John Howard (johnh@schemasoft.com) Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java Stylesheet.java
    Committer's log entry: Fix for simplified stylesheets. A namespace declaration on the root element in the stylesheet (xmlns="http://www.w3.org/TR/xhtml1/strict") caused XSLTC to try to match elements in this namespace instead of elements in the null namespace. PR: bugzilla 3664 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: Removed a regression from yesterday ('version' attribute missing). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Committer's log entry: Removed default behaviour of text() and "*" in <xsl:apply-imports/>. (this element should not invoke built-ins). PR: bugzilla 1397 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java
    Committer's log entry: Updated the SAXAdapter used to build result tree fragments to handle comments. PR: bugzilla 4172 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Fix for the XPath substring() function. PR: bugzilla 4201 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Number.java
    Committer's log entry: Removed the last putback - should never have been done. Big mistake!!! PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DTDMonitor.java
    Committer's log entry: Fix for generating IDs for implied attributes. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Enabled character escaping by default for HTML output. We are now able to generate the XSLT and XPath specs without any errors at all. PR: bugzilla 3065 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Added: java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java ErrorMessages_no.java
    Committer's log entry: Missing resource bundles for error messages for XSLTC's dom and runtime lib. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Committer's log entry: Fixed pattern matching on namespace qualified wildcards, such as match="@blob:*". PR: bugzilla 2582 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/01/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java
    Committer's log entry: Added a fix for predicates that test on node values, where the value to test agains is stored in a variable or predicate. PR: bugzilla 3501 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/01/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
    Committer's log entry: Fix for re-definitions of variables inside templates (in different scopes). PR: bugzilla 3406 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/01/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: Potential fix for bug 3416. Will not integrate for performance reasons. Code change is commented. PR: bugzilla 3416 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/01/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java
    Committer's log entry: Removed a desperately bad piece of code that caused XSLTC to misinterpret some combinations of parent location paths and predicates. PR: bugzilla 4249 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/01/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NodeCounter.java
    Committer's log entry: Fix for the formatter used with the xsl:count element. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/01/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Sort.java
    Committer's log entry: Fix for sort-elements used with apply-templates elements with no select attribute. PR: bugzilla 3519 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/02/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler PositionCall.java java/src/org/apache/xalan/xsltc/dom NodeCounter.java SingleNodeCounter.java
    Committer's log entry: A fix for the <xsl:number> element. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org / todd.miller@sun.com Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Sort.java java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java NodeSortRecordFactory.java
    Committer's log entry: Changed the 'order' and 'data-type' attributes of the <xsl:sort> element from plain attributes to attribute value templates. This required a change not inly in the way we interpret these attributes but also in the time at which these attributes are intrepreted. Since these are not treated as AVTs we need to wait until runtime before reading the values of the attributes. PR: bugzilla 3835 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/05/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler PositionCall.java StepPattern.java java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java NodeSortRecord.java
    Removed: java/src/org/apache/xalan/xsltc/compiler Mode.java.old
    Committer's log entry: Fix for patterns on the format "/foo/*/bar" and "/foo/*[n]/bar". PR: bugzilla 4604 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java java/src/org/apache/xalan/xsltc/dom CurrentNodeListIterator.java DOMImpl.java
    Committer's log entry: Fixed the last() function for the typed and untyped ancestor iterators. I also updated our node list iterator (used to implement some predicates) to handle the last() function properly for reverse-order axes. PR: bugzilla 4602 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
    Committer's log entry: A fix for a regression after a previous fix for bug 3320. PR: bugzilla 4656 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java CastExpr.java EqualityExpr.java Expression.java LastCall.java LogicalExpr.java PositionCall.java Predicate.java RelationalExpr.java Step.java StepPattern.java UnaryOpExpr.java
    Committer's log entry: Fix for compound predicates used in patterns. Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AttributeValueTemplate.java Constants.java FilterParentPath.java LiteralAttribute.java LiteralElement.java LiteralExpr.java Mode.java ParentLocationPath.java Parser.java SimpleAttributeValue.java SyntaxTreeNode.java Text.java UnionPathExpr.java
    Committer's log entry: A bit of a code cleanup. I also added a small fix for ensuring document order of node sets returned by union expressions. PR: bugzilla 4677 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Sort.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java ErrorMessages_no.java ErrorMsg.java
    Committer's log entry: Added a test to verify that <xsl:sort/> elements are only used within <xsl:apply-templates/> or <xsl:for-each/> elements. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/xsltc/dom Axis.java
    Committer's log entry: Added an array to the Axis class to give an easy indication to the direction of an axis. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/xsltc DOMCache.java java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/compiler FunctionCall.java java/src/org/apache/xalan/xsltc/dom NodeSortRecordFactory.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Added: java/src/org/apache/xalan/xsltc/runtime TransletLoader.java
    Committer's log entry: Added a new TransletLoader class to the runtime package. This class will be used only when the default Class.forName() call fails. The forName() call will fail if XSLTC is packed in a JAR and installed under $JAVA_HOME/jre/lib/ext. This is because the extensions class loader is used instead of the bootstrap class loader, and that the extensions class loader does not load classes for the default class path. But, if the extensions class loader is being used, then we know two things: (1) XSLTC is running on Java 1.2 or later (when extensions were introduced) (2) XSLTC has access to the ClassLoader.getSystemClassLoader() method This class takes advantage of this and uses a privileged call to this method to get a reference to the bootstrap class loader. It then uses this class loader to load the desired class. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Added a "debug" attribute to the TransformerFactory implementation. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/09/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Removed a debug statement that was left behind after last putback. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/09/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java StepPattern.java XSLTC.java xpath.cup xpath.lex
    Committer's log entry: Added support for processing-instruction() with a literal parameter for use in node tests in expressions and patterns. PR: bugzilla 2583 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 11/09/2001
    Added: java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
    Committer's log entry: Forgot this in last putback. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 11/09/2001
    Added: java/src/org/apache/xalan/xsltc/compiler LongExpr.java
    Committer's log entry: bug fix 3592, new class to handle Long expresssion

  • Committed by tmiller@apache.org on 11/09/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java xpath.cup xpath.lex Constants.java CastExpr.java
    Committer's log entry: bug fix 3592, handles long now

  • Committed by tmiller@apache.org on 11/09/2001
    Added: java/src/org/apache/xalan/xsltc/compiler/util LongType.java
    Committer's log entry: bug fix 3592, added new class for Long types

  • Committed by tmiller@apache.org on 11/09/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util Type.java
    Committer's log entry: bug fix 3592, handles Long types


Changes for Xalan-Java 2.2.D11
 

XSLTC source code updates:

  • Committed by tmiller@apache.org on 09/05/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: bug fix # 3424, memory retension fixed, John Howard contributed fix.

  • Committed by tmiller@apache.org on 09/06/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: bug fix 2807, seth ford's fix

  • Committed by tmiller@apache.org on 09/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Include.java Import.java
    Committer's log entry: bug fix 3426, gunnlaugur briem's fix

  • Committed by tmiller@apache.org on 09/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
    Committer's log entry: bug fix 3320, gunnlaugur briem's fix

  • Committed by "Gunnlaugur Thor Briem" <gthb@dimon.is< on 09/06/2001
    Committer's log entry: > bug fix 3320, gunnlaugur briem's fix > >

  • Committed by "G. Todd Miller - XML Tech Ctr - Development" <Glenn.Miller@Sun.COM> on 09/06/2001
    Committer's log entry: >>> bug fix 3320, gunnlaugur briem's fix >>> >>>

  • Committed by tmiller@apache.org on 09/07/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: updated comments from bug fix 2553

  • Committed by tmiller@apache.org on 09/10/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: bug fix 3360, predicate handling added

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java TextOutput.java
    Committer's log entry: I have updated out output handler to treat this in the same manner as XT does. We allow AVT's to create namespace mappings between some prefix and the null URI. But, whenever an attribute or element uses a prefix that maps to the null URI we replace the prefix with the default prefix. So insead of outputting an illegal namespace declaration xmlns:ns1="" and ns1:Attr1="Whatsup" we simply output Attr1="Whatsup" PR: bugzilla 1518 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java
    Committer's log entry: Modified some of the error messages that are reported by this command-line tool to include full and correct error messages.

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Added: java/src/org/apache/xalan/xsltc/dom DOMBuilder.java
    Committer's log entry: Added support for comment nodes in the DOM. This support disappeared when we upgraded the DOMBuilder's interface from SAX to SAX2. Added a new interface for the DOMBuilder that includes SAX's ContentHandler _and_ LexicalHandler. PR: bugzilla namespace30 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Updated the output handler to URL encode href attributes in HTML output. I used the URLEncoder class in java.net PR: bugzilla 1512 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: Fixed the default output SAX handler so that it does not indent empty HTML tags such as <col> and <br> PR: bugzilla 1525 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java TextOutput.java
    Committer's log entry: Fix to prevent character escaping inside <script> and <style> elements in HTML output. PR: bugzilla 2517 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/compiler BooleanCall.java StepPattern.java Variable.java java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix to always return 'true' when result tree fragments are converted to boolean values (because a result tree always has at least one node - root). PR: bugzilla 2595 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Added some code to the DOM builder to make sure that text nodes are not broken up into smaller fragments. PR: bugzilla 3506 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java UnionIterator.java
    Committer's log entry: Fix for the count() function and union iterators. Union iterators would not reset all the iterators it contained, and it needed a reset() method. PR: bugzilla 3504 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: bug fix 3312, //xx/descendant works now

  • Committed by morten@apache.org on 09/13/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NodeIteratorBase.java
    Committer's log entry: Removed a debug statement that was left in here by mistake. Bad, bad, bad! PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 09/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ParentLocationPath.java
    Committer's log entry: added test for ParentLocationPath instance

  • Committed by tmiller@apache.org on 09/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: bug fix 3312 completed

  • Committed by morten@apache.org on 09/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LiteralElement.java Param.java ParameterRef.java ParentLocationPath.java Variable.java VariableBase.java VariableRef.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java MatchingIterator.java ReverseIterator.java StepIterator.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java TextOutput.java java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
    Committer's log entry: Several bugfixes and fixes for regressions recently introduced by other bugfixes. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java
    Committer's log entry: Fix for parameter references used within predicates. PR: bugzilla 3405 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/18/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Compile.java
    Committer's log entry: Added '-s' option to command-line compilaton tool to precent calls to System.exit(); This is needed when the command-line tool is invoked by our Java-based test harness. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
    Committer's log entry: Added test in the method that handles stylesheet PIs in embedded stylesheets. This method did not properly test for the existence of stylesheets referenced in these PIs (ref. Sun's test embed09). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java StepPattern.java TestSeq.java
    Committer's log entry: Fix for predicates used in complex match patterns. The compiler failed to produce code that would match on patterns like "blob/*[@attr='str']". It would also fail to identify some position predicates such as "blob[$param]". Nested parameters were not handled properly either. A pattern such as "foo[bar[starts-with(@attr, 'baz')]]" would be broken up and actually compiled twice - the outer predicate would be compiled first and the inner one after that. This fix makes sure that the predicates are handled together as one test, and not as two separate tests. PR: bugzilla 1376 (was an id/key problem, now predicates) Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java TextOutput.java
    Committer's log entry: Modified the output handler and SAX handler to produce proper HTML output. Special characters in <script> and <style> elements are no longer escaped, and end-tags are properly produced (sometimes we would forget the last '>'). PR: bugzilla 2517 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java MatchingIterator.java StepIterator.java
    Committer's log entry: Verious fixes for iterators. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/dom BitArray.java DupFilterIterator.java KeyIndex.java
    Committer's log entry: A fix in the duplicate filter iterator to ensure that the iterator can be reset properly. The iterator was using its own variable for tracking the current node (not the base class' _position variable) but did not implement the reset() method). PR: bugzilla 1430 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler VariableRef.java
    Committer's log entry: Forgot to add this file with my fix for bug 1430. PR: bugzilla 1430 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LastCall.java ParameterRef.java PositionCall.java Predicate.java RoundCall.java VariableRefBase.java
    Committer's log entry: Fix for combination of wildcards and position predicates in match patterns. PR: bugzilla 1532 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java
    Committer's log entry: bug fix 2838, (namedtemplate test)

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix to prevent escaping of the '"' character. This character should only be escaped inside attribute values, and not in text nodes. PR: bug 2952 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix for ChildrenIterator to speed up last() and position() calls. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
    Committer's log entry: This fix may affect a series of bugs. The AbsoluteIterator (/foo/bar/... etc.) did not update its _position variable, causing position() to return wrong values if called more than once. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java
    Committer's log entry: Added shortcut to call the reset() method on any iterator. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Fix to ensure that node iterators stored inside parameters are clones for each time the parameter is referenced. If this is not done then the node iterator will be in an unstable state after it has been referenced once. PR: bugzilla 3238 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java
    Committer's log entry: A fix for layers of parent location paths and steps representing an XPath pattern/expression like /foo/*/bar PR: bugzilla 3311 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ParameterRef.java ParentLocationPath.java Predicate.java
    Committer's log entry: Removed a change from yesterday that caused a pretty bad regression in the position() and last() functions. Also changed a line un Param.java to add more information in debug outout. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix to prevent complaints about illegal namespace declarations in output. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler VariableBase.java WithParam.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Added escaping of special characters in parameter names when passed to a template using <xsl:with param/>. PR: bugzilla 3324 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by amiro@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Compile.java
    Committer's log entry: minor edit to usuage for -s option

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java
    Committer's log entry: Added functionality behind the '-s' flag in the Transform command-line tool. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Compile.java Transform.java
    Committer's log entry: Fixed two compile errors (bad, bad, bad). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/21/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler LastCall.java PositionCall.java java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java
    Committer's log entry: Fixed the getTypedPosition() and getTypedLast() methods of the DOM. These were used to implement XPath patterns such as /foo/bar[8]/baz. PR: bugzilla 2803 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/21/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Added a little method to the output post-processor to replace whitespaces in URLs by "%20" sequences. This is all the escaping I think we should bother our heads doing. PR: bugzilla 1512 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/21/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler Constants.java Step.java java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java NthIterator.java
    Committer's log entry: Two fixes in this one. One to make sure that the context-node is set correctly when applying templates using an iterator that has a predicate that tests on '.' (the current node), such as select="foo/bar[. = 'blob']". The other fix is for the nth position iterator, that failed to count to n backwards in cases when the underlying iterator was reverse. PR: bugzilla 2954 (two bugs in one, really) Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/21/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: A fix for CDATA elements. The tags of CDATA sections were passed through the output post-processor's character escaping function but should be passed directly to the SAX handler. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java NthIterator.java
    Committer's log entry: The fix for 2954 introduced a regression, so I am pulling out the fix. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NthIterator.java
    Committer's log entry: A revised fix for bug 2954, that does not cause the regressions previously sown by some tests. PR: bugzilla 2954 (revised fix) Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: A fix for the last() function for children iterators. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fixed the descendant iterator so that it does not return text-nodes for descendant::* PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Import.java Param.java Stylesheet.java
    Committer's log entry: Fix for resolving mutiple defined global parameters and variables. The Import class has been fixed to set import precedences properly, and the Param class has been changed to use the import precedence to resolve between multiple definitions of the same variable/parameter. PR: bugzilla 3404 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util ClassGenerator.java
    Committer's log entry: Forgot this file in my last update. Submitted by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/24/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java NthIterator.java
    Committer's log entry: Another fix for the preceding-sibling iterator. It appeared that this iterator returned its nodes in the wrong order, and this was the reason why the position iterator (used to implement preceding-siblling::*[n]) did not return the correct node. It is quite amazing that this iterator has been returning nodes in the wrong order for so long without any of us notising, and hopefully this fix will help eliminate a few of our open bugs. PR: bugzilla 2954 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Param.java Stylesheet.java Variable.java VariableBase.java
    Committer's log entry: Fix to resolving multiple defined global variables or parameters. PR: bugzilla 3404 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Optimisation for string-2-int and real-2-int conversions. PR: bugzilla 3448 Obtained from: n/a Submitted by: John Howard (johnh@schemasoft.com) Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Param.java Step.java Variable.java VariableBase.java xpath.cup java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Fix for nth-position typed descendant iterators (previously not fully implemented). PR: bugzilla 3468 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix for our handling of the <xsl:comment? element. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Param.java Variable.java
    Committer's log entry: Removed previous attempt to fix forward references in globar vars. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: Fix for allowing LRE as top-level elements in the stylesheet (they will be ignored). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
    Committer's log entry: Fix to make sure all num-numeric values are grouped last in numeric sorts. PR: bugzilla 3517 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java NodeIteratorBase.java
    Committer's log entry: A fix to ensure that the current position of any iterator is always kept updated. The returnNode() method of the NodeIteratorBase base class updates the _position variable for each returned node. This method should be called by the next() method of any iterator, except for next() methods that call super.next() (because this method calls returnNode() and so _position would be incremented twice or more for one returned node). PR: bugzilla 3816 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Updated the information returned by the system-property() function. xsl:verision returns "1.0" xsl:vendor returns "Apache Xalan XSLTC" - must be different from Xalan!!!" xsl:vendor-url returns "http://xml.apache.org/xalan-j" PR: bugzilla 3470 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: Fix to allow indentation to be turned off XML/HTML output. PR: bugzilla 3469 Obtained from: n/a Submitted by: Douglas J. Sellers (douglasjsellers@hotmail.com) Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Output.java Parser.java Stylesheet.java
    Committer's log entry: Fix to make sure the one, and only one, xsl:output element is compiled per translet (import precedence taken into account). PR: bugzilla 3099 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Changed BasisLibrary.formatNumer() (this is the implementation of format-number()) so that it correctly formats NaNs into "NaN". PR: bugzilla 2890 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Another little update to format-number() to make sure it returns "Infinity" and "-Infinity" for infinite numbers. PR: bugzilla 2889 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
    Committer's log entry: Changed the order in which a stylesheet parses its top-level elements. PR: bugzilla 3812 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java java/src/org/apache/xalan/xsltc/dom NthIterator.java
    Committer's log entry: Removed a bug in the NthIterator iterator that prevented the iterator from properly being reset. This bug manifested itself if the Nth iterator was wrapped inside a step iterator. PR: bugzilla 3419 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java
    Committer's log entry: Added node-ordering for preceding iterators when used in apply-templates or value-of elements. PR: bugzilla 3463 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java
    Committer's log entry: Removed debug statement in Step.java Submitted by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
    Committer's log entry: Modified the DupFilterIterator so that it also orders nodes. PR: bugzilla 3466 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Step.java
    Committer's log entry: Fix after a regression for preceding-sibling::* iterator. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 09/28/2001
    Modified: java/src/org/apache/xalan/xsltc Translet.java java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/dom NodeSortRecordFactory.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerImpl.java
    Committer's log entry: A fix for the problem with loading auxiliary classes for sorting when called from TrAX API. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org


XSLTC source code updates for Xalan-Java 2.2.D10
 

XSLTC source code updates:

  • Committed by morten@apache.org on 08/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
    Committer's log entry: I added a flag to the compiler/Parser class that is set if the outermost element in the stylesheet contains a definition of the XSL namespace. The parser already has a global variable '_target' that is set if the stylesheet contains a <?xml-stylesheet?> PI or not. The compiler will now flag an error if neither flags are set after the whole XSL/XML input document has been parsed. PR: bugzilla 1780 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler UnionPathExpr.java
    Committer's log entry: Added a small fix that orders the expressions inside a union in such a way that expressions with an attribute axis or attribute node type will be put first. PR: bugzilla 2921 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
    Committer's log entry: A small fix that will allow top-level elements of an unknown URI. XSLTC now ignored the element(s), while it previously reported an error of an unsupported XSLT extension. PR: bugzilla 2840 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/13/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java DefaultSAXOutputHandler.java TextOutput.java
    Committer's log entry: A start on a fix for output DOCTYPE declarations based on the attributes of the <xsl:output> element. I also added a fix for bug 2863, to prevent us from outputting namespace delcaration that point a prefix to the null URI (such as 'xmlns:blob=""'). PR: bugzilla 2863 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by tmiller@apache.org on 08/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: bug 2553, fixes AbbreviatedAbsoluteLocationPath, some relative location paths still give duplicates, will need to filter.

  • Committed by morten@apache.org on 08/14/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/compiler Output.java java/src/org/apache/xalan/xsltc/runtime DefaultRun.java DefaultSAXOutputHandler.java TextOutput.java java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: Implemented support for the doctype-system and doctype-public attributes of the <xsl:output/> element. The translet post-processor (TextOutput) can now be instanciated with a ContentHandler and an optional LexicalHandler. The LexicalHandler will receive notofications of the DOCTYPE declaration. The default SAX output handler now implements both ContentHandler and LexicalHandler. The LexicalHandler only handles the startDTD() method, by outputting the DOCTYPE declaration, and all other methods are empty. The trax.Transformer implementation has also been updated to use the LexicalHandler, but I still have not found any way in which a SAX client can set the LexicalHandler. PR: bugzilla 1504 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/14/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslElement.java
    Committer's log entry: A minor change to the class handling the <xsl:element> element to be more in-sync with the XSLT 1.0 spec (and M.Kay's book). This in order to make it more readable and maintainable. I was trying to debug the code for something I thought was a bug, and it was just impossible to navigate. This change was necessary, even though the code functioned as it should. PR: n/a Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/14/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LiteralElement.java Parser.java
    Committer's log entry: Fix for outputting all necessary namespace declarations with LREs. PR: bugzilla 2863 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/14/2001
    Modified: java/src/org/apache/xalan/xsltc/dom ReverseIterator.java
    Committer's log entry: A fix to allow reverse iterators to be reset (inside nested for-each loops). PR: n/a Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by tmiller@apache.org on 08/15/2001
    Added: java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
    Committer's log entry: bug fix 2553, new iterator to get rid of dups

  • Committed by tmiller@apache.org on 08/15/2001
    Added: java/src/org/apache/xalan/xsltc/compiler FilteredAbsoluteLocationPath.java
    Committer's log entry: bug fix 2553, new abs location path

  • Committed by tmiller@apache.org on 08/15/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup Constants.java
    Committer's log entry: bug fix 2553, updated Constants for dup processing and updated CUP rule for AbbreviatedAbsoluteLocationPaths

  • Committed by morten@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java DOMImpl.java DupFilterIterator.java StepIterator.java UnionIterator.java
    Committer's log entry: Implementation of id() and key() pattern - finally! Added a small fix to the DOMImpl$DescendantIterator to prevent NPEs. PR: bugzilla 1376 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java KeyCall.java Mode.java Output.java Parser.java TestSeq.java xpath.cup
    Committer's log entry: Forgot an 'import' in DupFilterIterator PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc TransletOutputHandler.java java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java DefaultSAXOutputHandler.java SAXAdapter.java TextOutput.java TransletOutputBase.java
    Committer's log entry: missing file

  • Committed by morten@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: Added another fix for the missing DOCTYPE declaration. XSLTC will now output DOCTYPE declarations for HTML output if either doctype-system or doctype- public is declared in the <xsl:output> element. XSL output will get a DOCTYPE declaration only if doctype-system is declared. PR: 1504 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java
    Committer's log entry:

  • Committed by tmiller@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: turning on filtering, bug 2553

  • Committed by morten@apache.org on 08/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
    Committer's log entry: Removed a bad optimisation in the duplicate filter iterator. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 08/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler xpath.cup
    Committer's log entry: re-activated the no dups filtering, dont know how this got reverted back to no filtering, but it is fixed again.

  • Committed by morten@apache.org on 08/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler IdKeyPattern.java Key.java KeyCall.java Parser.java Sort.java xpath.cup java/src/org/apache/xalan/xsltc/compiler/util CompareGenerator.java NodeSortRecordGenerator.java java/src/org/apache/xalan/xsltc/dom DTDMonitor.java DupFilterIterator.java KeyIndex.java NodeSortRecord.java NodeSortRecordFactory.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
    Committer's log entry: Major update for id() and key(). Patterns containing id() and key() are now 100% supported (about time), and id() and key() expressions should now work in all (at least most) combinations. PR: bugzilla 1376 (!!!) and 2624 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: A small fix for a cleanup I did in the basis library (it broke the substring() function)> PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Added small fix to prevent NPE in output handler. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/20/2001
    Modified: java/src/org/apache/xalan/xsltc TransletOutputHandler.java java/src/org/apache/xalan/xsltc/compiler Variable.java VariableRef.java VariableRefBase.java java/src/org/apache/xalan/xsltc/compiler/util MultiHashtable.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java TextOutput.java TransletOutputBase.java
    Committer's log entry: Added element/attribute prefix information in the internal DOM. This should fix some problems we have had with the copy and copy-of elements. Added a few lines of code in an attempt to speed up the DOM builder. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/21/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DTDMonitor.java
    Committer's log entry: An attempt to optimise the building of the ID index. The previous version of this code would traverse the DOM once for each type of element that had a defined ID attribute. The new version traverses the DOM once, and looks up each element's type in a hashtable to determine its ID attribute type (if any). The new version of the code does not use string comparisons, like the old one. This update was done to compensate for the possible performance degradation of having implemented an element/attribute prefix array in the internal DOM. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/21/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TemplatesImpl.java TransformerHandlerImpl.java TransformerImpl.java
    Committer's log entry: Protected some methods in our TrAX code that are not defined in the TrAX API. These methods were never intended for public use and should have been defined as "protected" to begin with. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/22/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslElement.java
    Committer's log entry: Fix for a problem with some combinations of <xsl:element> and namespace aliasing. The output lacked the necessary namespace definitions when an element created with <xsl:element> was given a qname with a prefix that was mapped to some other prefix. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 08/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ParameterRef.java
    Committer's log entry: removed typeCheck(), uses the base classes method now

  • Committed by tmiller@apache.org on 08/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler VariableRefBase.java
    Committer's log entry: added default typeCheck() to this base class

  • Committed by tmiller@apache.org on 08/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler RelationalExpr.java
    Committer's log entry: bug fix 2838, cast to type real if both operands are ResultTreeType

  • Committed by morten@apache.org on 08/27/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler AbsoluteLocationPath.java AbsolutePathPattern.java AncestorPattern.java ApplyTemplates.java BooleanExpr.java CallTemplate.java CastExpr.java Constants.java Copy.java CopyOf.java DocumentCall.java FilterExpr.java FilteredAbsoluteLocationPath.java ForEach.java FunctionCall.java Key.java KeyCall.java LastCall.java LocalNameCall.java Mode.java NameCall.java NamespaceUriCall.java Number.java Param.java ParameterRef.java ParentLocationPath.java ParentPattern.java PositionCall.java Predicate.java RelationalExpr.java Sort.java Step.java StepPattern.java Stylesheet.java SyntaxTreeNode.java Template.java TestSeq.java Text.java TransletOutput.java ValueOf.java Variable.java VariableRef.java Whitespace.java XSLTC.java java/src/org/apache/xalan/xsltc/compiler/util ClassGenerator.java ErrorMsg.java MethodGenerator.java NodeSetType.java NodeType.java ResultTreeType.java java/src/org/apache/xalan/xsltc/dom Axis.java DOMAdapter.java DOMImpl.java LoadDocument.java MultiDOM.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java
    Committer's log entry: Changes all calls from the compiled translet code to the DOM to be calls to the DOM interface (and not to a specific DOM class). I did this to make it possible to plugi in any DOM implementation. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/27/2001
    Modified: java/src/org/apache/xalan/xsltc TransletOutputHandler.java java/src/org/apache/xalan/xsltc/compiler Constants.java TransletOutput.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java DefaultSAXOutputHandler.java TextOutput.java TransletOutputBase.java
    Committer's log entry: Added an <xsltc:output> extension to allow for multiple output files. I know that this is not a prioritised task, but I need this for a little project I am working on. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/28/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Param.java ParameterRef.java Variable.java VariableBase.java VariableRef.java java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java NodeType.java ReferenceType.java ResultTreeType.java StringType.java Type.java
    Committer's log entry: A few fixes for the regression caused by my last (huge) putback. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/28/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DupFilterIterator.java
    Committer's log entry: A fix for the position() function when using duplicate filter iterators. PR: n/ Obtained from: N/A Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by amiro@apache.org on 08/30/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime SAXAdapter.java
    Committer's log entry: Submitted by: Tom Amiro I just added an empty close method to resolve the build problem.


XSLTC source code updates for Xalan-Java 2.2.D9
 

XSLTC source code updates:

  • Committed by morten@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Integrated fix for problem with count() function for certain iterators. PR: Bugzilla 1407 Obtained from: n/a Submitted by: John Howard <johnh@schemasoft.com> Reviewed by: Morten Jorgensen <morten@xml.apache.org>

  • Committed by morten@apache.org on 07/30/2001
    Modified: java/src/org/apache/xalan/xsltc DOM.java java/src/org/apache/xalan/xsltc/compiler EqualityExpr.java FilterParentPath.java Parser.java Predicate.java Step.java SyntaxTreeNode.java Variable.java XSLTC.java java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java DefaultSAXOutputHandler.java TextOutput.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Added code that will speed up predicates such as //foo[@attr=$var], //foo[bar = $var] and //foo/[@attr = 'str']. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Expression.java Param.java ParameterRef.java Predicate.java Stylesheet.java SyntaxTreeNode.java Variable.java VariableRef.java WithParam.java
    Committer's log entry: Fix for parameter and variable handling. This fix makes sure variable slots are released once a variable goes out of scope. I have also extracted common functionality from Variable and Param into VariableBase, and similarly extracted some functionality from VariableRef and ParameterRef into a new class VariableRefBase. This can potentially make some code more efficient as one can test for 'if (blob instanceof VariableBase)' instead of testing on both Variable and Param. PR: Bugzilla 2661 and 2699 Obtained from: n/a Submitted by: John Howard <JohnH@schemasoft.com> Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/31/2001
    Added: java/src/org/apache/xalan/xsltc/compiler VariableBase.java VariableRefBase.java
    Committer's log entry: Forgot to add these two in my last putback. PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java Step.java Stylesheet.java XSLTC.java
    Committer's log entry: Removed type-cast error in Stylesheet.java PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/31/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler VariableBase.java java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: Removed some of the linefeeds we output in the default SAX output handler to produce output more similar to Saxon (for testing purposes). Added a test for null-pointers in the new VariableBase class. PR: bugzilla 2922 & 2598 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org`

  • Committed by morten@apache.org on 07/31/2001
    Modified: java/src/org/apache/xalan/xsltc/dom NodeCounter.java
    Committer's log entry: Added a small fix to prevent unwanted output when using the xsl:number element. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/01/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Constants.java If.java Key.java Predicate.java Step.java When.java java/src/org/apache/xalan/xsltc/compiler/util CompareGenerator.java java/src/org/apache/xalan/xsltc/dom NodeCounter.java java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: A few changes to make our output look more like Saxon's (to simplyfy test diffs). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 08/01/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java DOM2SAX.java
    Committer's log entry: add support for DOMResult handling

  • Committed by tmiller@apache.org on 08/01/2001
    Added: java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
    Committer's log entry: work in progress, converted needed for DOMResult

  • Committed by tmiller@apache.org on 08/02/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: added setting of systemId in DOMSource handling

  • Committed by morten@apache.org on 08/02/2001
    Modified: java/src/org/apache/xalan/xsltc/trax SAX2DOM.java TransformerFactoryImpl.java TransformerImpl.java
    Added: java/src/org/apache/xalan/xsltc/trax TransformerHandlerImpl.java
    Committer's log entry: Added an implementation of the TransformerHandler interface of TrAX/JAXP. Implemented the 4 methods in TransformerFactory to instanciate this TransformerHandler implementation. Added an attribute of the TransformerFactory which contains the default name for generated translet classes (the default name is GregorSamsa from Kafka's Metemorphosis), but should be set by the user in cases where the Templates implementation cannot get the systemId from the Source object.

  • Committed by morten@apache.org on 08/02/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerHandlerImpl.java
    Added: java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
    Committer's log entry: Added missing TemplatesHandlerImpl file (implementation of the TrAX TemplatesHandler interface). Added initial implementation of getAssociatedStylesheet() in the TransformerFactoryImpl class. Changed behaviour of TransformerHandlerImpl class with regard to the setResult() method. This method now has to be called before startDocument() is called, which gives XSLTC the same behaviour as Xalan. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/02/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Added support for the TransformerFactory's getAssociatedStylesheet() method. Added similar methods to the native XSLTC API, as they can come in handy. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Constants.java DocumentCall.java java/src/org/apache/xalan/xsltc/dom LoadDocument.java
    Committer's log entry: Fix for the document() function. The code compiled by DocumentCall now passes the context URI to the LoadDocument.document() method, and the document() method resolves the base/new URIs and constructs an absolute path/URI to the document to load. PR: bugzilla 2832 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
    Committer's log entry: new recursive parse(InputSource) implemented

  • Committed by tmiller@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
    Committer's log entry: upated

  • Committed by tmiller@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
    Committer's log entry: updated again

  • Committed by morten@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java java/src/org/apache/xalan/xsltc/trax SAX2DOM.java
    Committer's log entry: Fix to get around problem with Crimson. Crimson does not like attribute- nodes to be created with 'null' or "" namespace URI. Added an if-test to invoke setAttribute(name, value) instead of setAttributeNS(uri, name, value). Had to add a little test to DOMImpl$DOMBuilder.makeAttributeNode() to get around an internal NPE problem. PR: n/a Obtained from: n.a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler CopyOf.java Step.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java UnionIterator.java
    Committer's log entry: Fix for union-iterators wrapping one or more attribute-iterators. Attributes should be wrapped in TypedAttributeIterator objects and not SingletonIterator objects when they occur insude unions. Fix for copying attribute nodes using <xsl:copy> and <xsl:copy-of> PR: bugzilla 2603 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/xsltc/dom LoadDocument.java
    Committer's log entry: Added code behind the document() function to force the parser to be namespace aware (Crimson is pr. default, Xerces is not). PR: bugzilla 2862 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix to prevent escaping of attribute values in HTML output. PR: bugzilla 3003 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fix for grouping a sequence of text nodes inside one CDATA section. PR: bugzilla 3005 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ForEach.java xpath.cup java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: Fix for passing node-sets as parameters into a template with a for-each loop. The ForEach class resets its node iterator by default. This behaviour is not desierd for iterators that are passed in through a parameter, so I added an it-test that checks if the iterator is of type 'Reference'. PR: bugzilla 2468 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AbsolutePathPattern.java
    Committer's log entry: Fix for a certain combination of absolute path patterns and ancestor patterns, such as <xsl:template match="/foo//*"/>. PR: bugzilla 2836 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler DocumentCall.java
    Committer's log entry: Fix for document() function. Prevents run-time error. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 08/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslElement.java
    Committer's log entry: Added a test to the <xsl:element> element to verify that the element name given in the 'name' attribute contains something other than an empty string. PR: bugzilla 2794 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
    Committer's log entry: Applied a fix to our class for handling literal result elements. The only attributes in the XSLT namespace we handle in LREs are exclude-result-prefixes and extension-element-prefixes. We have a test to check if an attribute is in the XSLT namespace, and if it is we ignore the attribute. This test was placed before the test for the two XSLT attributes we do want to handle, causing us to ignore all xsl:exclude-result-prefixes attributes in LREs. PR: bugzilla 1506 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Attribute.java AttributeSet.java Copy.java UseAttributeSets.java XslAttribute.java java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Fix and performance improvement for attribute sets. PR: bugzilla 2536 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by morten@apache.org on 08/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Copy.java
    Committer's log entry: Fix for use of attribute sets with the xsl:copy element. We were a bit too restrictive in our tests to see if it was safe to send the attributes to the output handler. We only compiled in a test to see if the copied node was an elment, but should also have tested if the xsl:copy element's parent node was a LRE or a xsl:element element. PR: bugzilla 2538 Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org


XSLTC source code updates for Xalan-Java 2.2.D8
 

XSLTC source code updates:

  • Committed by morten@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java
    Committer's log entry: Added support for SAXSource and SAXResult in TransformerFactoryImpl and TransformerFactory. I had to add a new consturctor the the default SAX output handler (in the xsltc runtime library) to acommodate the SAXResult TrAX output handler. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Added default error-reporting behaviour for our trax code (error messages are dumped to System.err). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: in progress, adding DOMSource support

  • Committed by tmiller@apache.org on 07/20/2001
    Added: java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
    Committer's log entry: new class, DOM2SAX, supports DOMSources, in progress

  • Committed by morten@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Stylesheet.java XSLTC.java java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java
    Added: java/src/org/apache/xalan/xsltc/compiler SourceLoader.java
    Committer's log entry: Added a SourceLoader interface to the compiler package. This interface can be used to plug in an external document loader for imported and/or included stylesheets. The trax.TransformerImpl class is updated to implement this interface and act as an adapter between the internal XSLTC SourceLoader interface and TrAX's URIResolver interface. PR: n/a Obtained from: n/a Submitted by: morten@apache.org Reviewed by: morten@apache.org

  • Committed by amiro@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime Constants.java
    Committer's log entry: Added the NAMESPACE_FEATURE constant. Checked to see if it was in org.xml.sax first, but it wasn't. Since this constant is used both at compile and runtime, it should be in the runtime Constants class as well as the compile Constants class. Runtime code needs to be kept separate from the compile time code.

  • Committed by amiro@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultRun.java java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/dom DocumentCache.java
    Committer's log entry: Added import for org.apache.xalan.xsltc.runtime.Constants; to the runtime classes that need to use the NAMESPACE_FEATURE constant and had them reference it rather than define it themselves.

  • Committed by tmiller@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: minor changes for DOMSource impl support

  • Committed by tmiller@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: Added DOMSource support for stylesheet

  • Committed by tmiller@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/xsltc/trax DOM2SAX.java
    Committer's log entry: updated convertor which supports DOMSource impl

  • Committed by morten@apache.org on 07/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: Added a small fix to the compiler (XSLTC.java) to make sure that the SAX parser reference was not reset prior to compiling the translet. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/23/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java TransformerImpl.java
    Committer's log entry: Added support for DOMSource as input to our Transformer implementation

  • Committed by morten@apache.org on 07/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Import.java Sort.java java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java NodeSortRecordFactory.java
    Committer's log entry: For some reason I decided to optimise the <xsl:sort> functionaility. The sort records we used has some global values stored behind methods, but are now static fields. Somewhat faster. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Import.java Include.java
    Committer's log entry: Fix for problem with import & include introduced with the latest updated for TrAX URIResolvers. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Integrated fix for problem with count() function for certain iterators. PR: Bugzilla 1407 Obtained from: n/a Submitted by: John Howard <johnh@schemasoft.com> Reviewed by: Morten Jorgensen <morten@xml.apache.org>


XSLTC source code updates for Xalan-Java 2.2.D7
 
  • Committed by morten@apache.org on 07/09/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Constants.java Param.java StepPattern.java Stylesheet.java SyntaxTreeNode.java Variable.java WithParam.java java/src/org/apache/xalan/xsltc/dom KeyIndex.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java DefaultRun.java Parameter.java TextOutput.java
    Committer's log entry: Loads of small fixes and a good few comments added to the source code. The major fixes are one fix for variable/parameter handlingi and one for key/id index handling. XSLTC now correctly updates the value of parameters with changing default values, such as with <xsl:param name="foo" select="current()"/>. Also updated bit-arrays to correctly return single node ids, so that the key() and id() functions return the correct number of nodes (they would sometimes skip the first node in the defined node set for the key/id). Added some structure and loads of comments to the Translet base class. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/10/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AncestorPattern.java AttributeSet.java CallTemplate.java CastExpr.java EqualityExpr.java Expression.java FunctionCall.java If.java Import.java Include.java Mode.java NameBase.java Param.java ParameterRef.java Parser.java StepPattern.java SyntaxTreeNode.java Template.java TestSeq.java Variable.java VariableRef.java XSLTC.java XslAttribute.java java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java ReferenceType.java java/src/org/apache/xalan/xsltc/dom MultiDOM.java StepIterator.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: A wide range of fixes provided by Erwin Bolwidt. o) fix for long IF and GOTO instructions inside translets. 'wide' GOTOs are now used (GOTO_W) instead of plain GOTO to allow longer jump offsets o) fix for illegal field/method names in the translet. Methods and fields no longer contain the '.' or '-' characters o) source filenames (and if possible also line numbers) are now provided with error and warning messages o) external functions that are not supported by XSLTC do not cause compile errors. They will still cause a warning message at compile-time if they are not wrapped in proper <xsl:if> or <xsl:when> elements that test on the availability of the function, and will cause a runtime error if the function is attempted called. o) added type cast from reference-type to node-type o) some other smaller fixes to prevent null-pointer exceptions Other changes: o) code cleanup and some added comments PR: n/a Obtained from: n/a Submitted by: Erwin Bolwidt <ejb@klomp.org> Reviewed by: Morten Jorgensen <morten@xml.apache.org>

  • Committed by morten@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java SyntaxTreeNode.java XSLTC.java
    Committer's log entry: Cleaned up the XSLTC compiler class in an attempt to make it more flexible. This class was originally written as a command-line interface, but it has now grown huge and messy. I separated the command-line stuff from the methods that make up the actual functionality and made some methods public. This is part of the preparation for our new implementation of the JAXP Templates object. PR: n/a Obtained from: n.a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
    Added: java/src/org/apache/xalan/xsltc/cmdline Compile.java Transform.java
    Committer's log entry: Extracted the command-line stuff from the core XSLTC packages. The command- line handling is now in xalan.xsltc.cmdline.Compile and xalan.xsltc.cmdline.Transform. The command-line stuff is still left in xalan.xsltc.compiler.XSLTC and xalan.xsltc.runtime.DefaultRun for backwards compatability. This should be removed shortly. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/xsltc/cmdline Compile.java java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Added: java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java GetOptsException.java IllegalArgumentException.java MissingOptArgException.java java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerImpl.java
    Removed: java/src/org/apache/xalan/xsltc/util/getopt GetOpt.java GetOptsException.java IllegalArgumentException.java MissingOptArgException.java
    Committer's log entry: Moved the org.apache.xalan.xsltc.util.getopt package to org.apache.xalan.xsltc.cmdline.getopt. Also added some skeleton code in a new org.apache.xalan.xsltc.trax directory. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransletTemplates.java
    Committer's log entry: minor adjustment Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: removed obselete try/catch

  • Committed by morten@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java
    Removed: java/src/org/apache/xalan/xsltc/trax TransletTemplates.java
    Committer's log entry: A first stab at our new TrAX design.` Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java
    Committer's log entry: A few minor adjustments to yesterdays JAXP/TrAX implementation. These is one change in the way the compiler (XSLTC) generates bytecode arrays, and the rest is basically a cleanup of error reporting and a few added comments. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/16/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DocumentCache.java
    Added: java/src/org/apache/xalan/xsltc/trax OutputSettings.java
    Committer's log entry: Reduced the refresh rate of the DocumentCache to 1 second. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by amiro@apache.org on 07/17/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DocumentCache.java
    Committer's log entry: Submitted by: Tom Amiro Fixes bug 1591. Changed the lastModified() method to return the correct timestamp for local files beginnig with the "file:" protocol. Incorporated Brian Ewin's suggestion to use URLdecode. Todd Miller and Morten Jorgensen

  • Committed by morten@apache.org on 07/17/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java TransformerFactoryImpl.java TransformerImpl.java
    Committer's log entry: Added some javadoc comments to our trax stuff. Added preliminary support for getting/setting output properties, and for getting/setting URL resolvers. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/18/2001
    Modified: java/src/org/apache/xalan/xsltc TransletOutputHandler.java java/src/org/apache/xalan/xsltc/cmdline Transform.java java/src/org/apache/xalan/xsltc/compiler Output.java Stylesheet.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java DefaultRun.java DefaultSAXOutputHandler.java SAXAdapter.java StringValueHandler.java TextOutput.java TransletOutputBase.java
    Committer's log entry: A series of changes to the XSLTC output handling to accomodate the set/getOutputSettings() methods in the TrAX API. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/19/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Fixed the handling of the 'cdata-section-elements' attribute of the <xsl:output> element. Previously we output the whole element, including all contents, child elements and the start- and end-tags in one big CDATA section. We now correctly output only immediate text child-nodes as CDATA sections. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/19/2001
    Modified: java/src/org/apache/xalan/xsltc Translet.java java/src/org/apache/xalan/xsltc/dom LoadDocument.java java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
    Committer's log entry: Added implementation of get/setOutputProperties() of the Transformer implementation. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 07/19/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DocumentCache.java
    Committer's log entry: Added (a rather brutal) handling of all Exceptions thrown in the DocumentCache.getLastModified() method. This class is provided only as an example/skeleton, but should still - for various reasons - be provided in the base 'xsltc.dom' package. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org


XSLTC source code updates for the Xalan-Java 2.2.D releases up to and including 2.2.D6
 
  • Committed by tmiller@apache.org on 05/23/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Text.java
    Committer's log entry: bug fix 1403, output escaping fixed

  • Committed by tmiller@apache.org on 05/23/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: bug fix 1403, output escaping fixed

  • Committed by tmiller@apache.org on 06/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java
    Committer's log entry: stylesheet compilation error listening added for TrAX support

  • Committed by tmiller@apache.org on 06/05/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: stylesheet compilation error listening added for TrAX support

  • Committed by tmiller@apache.org on 06/05/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransformerFactoryImpl.java
    Committer's log entry: stylesheet compilation error listening added for TrAX support

  • Committed by tmiller@apache.org on 06/05/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransformerFactoryImpl.java
    Committer's log entry: Transformer factory's setErrorListener() now throws IllegalArgumentException is listener is null

  • Committed by tmiller@apache.org on 06/05/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransformerFactoryImpl.java
    Committer's log entry: translet transformation errors now forwarded to TrAX error listener when applicable

  • Committed by tmiller@apache.org on 06/05/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: translet transformation errors now forwarded to TrAX error listener when applicable

  • Committed by morten@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AttributeList.java
    Committer's log entry: Added a constructor for copying an org.xml.sax.Attributes to our org.apache.xalan.xsltc.runtime.AttributeList. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ApplyImports.java ApplyTemplates.java Attribute.java AttributeSet.java AttributeValueTemplate.java BinOpExpr.java CallTemplate.java Comment.java ConcatCall.java Constants.java Copy.java CopyOf.java DecimalFormatting.java DocumentCall.java Expression.java Fallback.java ForEach.java FormatNumberCall.java FunctionAvailableCall.java FunctionCall.java If.java Import.java Include.java Key.java LiteralAttribute.java LiteralElement.java LiteralExpr.java LogicalExpr.java Message.java NamespaceAlias.java Number.java Output.java Param.java Parser.java ProcessingInstruction.java QName.java RelationalExpr.java Sort.java Stylesheet.java SymbolTable.java SyntaxTreeNode.java Template.java Text.java TransletOutput.java UnaryOpExpr.java ValueOf.java Variable.java When.java Whitespace.java WithParam.java XSLTC.java XslAttribute.java XslElement.java xpath.cup java/src/org/apache/xalan/xsltc/compiler/util MethodType.java
    Committer's log entry: Removed the intermediate DOM used to contain the input document (the stylesheet) for the compiler. The compiler now uses SAX2 to import the stylesheet, and all references to DOM interfaces have been removed. This means that most classes representing XSL elements have been changed, but most classes representing XPath functions, expressions and patterns are unchanged. PR: After suggestion from Scott Boag Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/06/2001
    Added: java/src/org/apache/xalan/xsltc/compiler UnsupportedElement.java
    Committer's log entry: Adding a class for handling unsupported stylesheet elements Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Minor fix to make sure that attributes are processed in the correct order. PR: n/a Obtained from: n.a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: Minor change in output indentation/line feeds. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xmp.apache.org

  • Committed by morten@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LocationPathPattern.java Parser.java Template.java
    Committer's log entry: Fixed the code that resolves conflicts between templates with identical patterns. The order of the templates is not taken into account - after import precedence and priority has been checked. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java
    Committer's log entry: Reverted changes to SAX output handler. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 06/06/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java Template.java xpath.cup
    Committer's log entry: unified Parser error reporting to use Mortens reportError routine

  • Committed by morten@apache.org on 06/07/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java FunctionCall.java Otherwise.java Param.java RelationalExpr.java Stylesheet.java SyntaxTreeNode.java Variable.java When.java XSLTC.java XslElement.java
    Committer's log entry: Updated a few classes that were still calling Parser.addError(), Parser.addWarning() and Parser.addFatalError() to use the new common error handler Prarser.reportError(int category, ErrorMsg message). Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Parser.java java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
    Committer's log entry: Added two lines of code to explicitly set the feature "http://xml.org/sax/features/namespaces" of the SAXParser to "true". The default is "true" but xerces seems to set it to "false", and this caused some problems for our Stylesheet and XML doc parsers (which are both using SAX2). Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Constants.java Parser.java java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
    Committer's log entry: A few more changes to make sure the parsers used are namespace aware. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/08/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LiteralElement.java SyntaxTreeNode.java XslAttribute.java XslElement.java
    Committer's log entry: The change from using DOM to using SAX in the stylesheet input caused some of the elements in the Abstract Syntax Tree (AST) to be out of order. I added a few lines of code to the xsl:element/attribute handling code to fix this. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/11/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AttributeSet.java Choose.java Constants.java If.java LiteralElement.java Stylesheet.java UseAttributeSets.java When.java XSLTC.java XslAttribute.java
    Committer's log entry: This putback contains three fixes: o) fix for complex <xsl:attribute-set> inheritance structures o) fix for xsl:element-available() function used in <xsl:when> or <xsl:if> to test support for various extension elements o) fix for preserving namespace prefixes for <xsl:attribute> output. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/11/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Constants.java UseAttributeSets.java ValueOf.java XslAttribute.java java/src/org/apache/xalan/xsltc/compiler/util AttributeSetMethodGenerator.java
    Committer's log entry: Fix to allow iterator access within attribute sets. This is necessary for attribute sets that contain attributes whose values are generated by XSL functions such as position() and last(). Obtained from: test mk013 Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/11/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TextOutput.java
    Committer's log entry: Added output character escaping for non-breaking space characters. I cannot believe we've waited this long before doing this. Madness! Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 06/11/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java Parser.java
    Committer's log entry: support for java.io.InputStream StreamSources

  • Committed by tmiller@apache.org on 06/11/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransletTemplates.java
    Committer's log entry: support for java.io.InputStream StreamSources

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java
    Committer's log entry: Fix for bug 1511. Predicates on the format ((a or b) and c) are not handled correctly. I added a small piece of code to direct the true-list of the OR expression to the beginning of the AND test. PR: Bugzilla 1511 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java TextOutput.java
    Committer's log entry: Fix attribute node-set comparisons. There was a bug in one of the compare() methods of the BasisLibrary class which prevented attribute values from being compared. The method compared node IDs instead of node values. Pretty stupid bug, but now it is solved anyway. PR: Bugzilla 1409 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Mode.java
    Committer's log entry: Fix to make sure that the implicit "text()" pattern is run when templates containing "text()" in their pattern fail. XSLTC would not previously invoke the built-in pattern for "text()" if a stylesheet contained a template such as <xsl:template pattern="foo/bar/text()" .../> PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XslElement.java
    Committer's log entry: Modified test for legal element names in <xsl:element>. The element name is treated as an attribute value. Whitespaces are not allowed in plain text element names, but should be allowed inside "{...}" attribute values. PR: Bugzilla 1489 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: A fix for the preceding:: iterator PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/dom DOMImpl.java
    Committer's log entry: Minor re-adjustment to last fix for preceding:: iterator PR: 1407 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ForEach.java XSLTC.java
    Committer's log entry: Fix to prevent compiler warnings to be output more than once. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AttributeSet.java
    Committer's log entry: Final fix (for now) for attribute sets. In cases where multiple <xsl:attribute-set.../> elements make up one attribute set (ie. they share the same name) attributes that occured last in the stylesheet will take precedence. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 06/12/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransformerFactoryImpl.java
    Committer's log entry: added support for java.io.InputStream StreamSources

  • Committed by morten@apache.org on 06/13/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java
    Committer's log entry: Fix for code handling logical expressions and combinations of logical expressions. Mindblowing stuff, but it now seems to work as it should. Added another few lines of code to properly direct the program flow in compiled predicates with various combinations of "and" and "or" expressions. PR: Bugzilla 1511 Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/13/2001
    Modified: java/src/org/apache/xalan/xsltc/dom SingletonIterator.java
    Committer's log entry: Fix for singleton iterators encapsulating variable references. PR: Bugzilla 1412 Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/14/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
    Committer's log entry: Added one-line fix to prevent null-pointer error. Simple code cleanup. PR: n/a Obtained from: suggestion by Guoliang Cao <cao@ispsoft.com> Submitted by: cao@ispsoft.com Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/15/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java
    Committer's log entry: Fix to prevent compile-time null-pointer exceptions for certain logical expressions. Some nexted AND-expressions would cause this error because their true-list would not be backpatched. This would result in an instruction list with one or more branch instructions with no target, such as a GOTO(null) or an IFEQ(null) instruction. PR: none, bug found in test run and fixed immediately Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by curcuru@apache.org on 06/17/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler AbsoluteLocationPath.java ApplyImports.java ApplyTemplates.java CastExpr.java CopyOf.java DocumentCall.java EqualityExpr.java Expression.java FilterExpr.java FilterParentPath.java ForEach.java FunctionCall.java IdKeyPattern.java Key.java KeyCall.java NameBase.java ParentLocationPath.java Parser.java Predicate.java RelationalExpr.java Step.java UnionPathExpr.java java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java NodeType.java ReferenceType.java ResultTreeType.java Type.java java/src/org/apache/xalan/xsltc/dom UnionIterator.java java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: OK, I'm going to make a wild guess and assume that sboag's recent commit of /NodeSet/NodeSetDTM/ got a little out of control and shouldn't have gone down into org.apache.xalan.xsltc - undone to fix compile error

  • Committed by morten@apache.org on 06/18/2001
    Removed: java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java
    Committer's log entry: Removing NodeSetType (renamed to NodeSetDTMType). PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by morten@apache.org on 06/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util Type.java
    Added: java/src/org/apache/xalan/xsltc/compiler/util NodeSetDTMType.java
    Committer's log entry:

  • Committed by morten@apache.org on 06/18/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler/util Type.java
    Added: java/src/org/apache/xalan/xsltc/compiler/util NodeSetType.java
    Removed: java/src/org/apache/xalan/xsltc/compiler/util NodeSetDTMType.java
    Committer's log entry:

  • Committed by morten@apache.org on 06/19/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ContainsCall.java FunctionCall.java If.java LogicalExpr.java Param.java QName.java StartsWithCall.java SymbolTable.java SyntaxTreeNode.java Template.java Variable.java xpath.cup java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
    Committer's log entry: Fix for function calls used as clauses in logical expressions. Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by Tom.Amiro@Sun.COM on 06/19/2001
    Committer's log entry: > Fix for function calls used as clauses in logical expressions. > Submitted by: morten@xml.apache.org > Reviewed by: morten@xml.apache.org > >

  • Committed by Morten.Jorgensen@sun.com on 06/19/2001
    Committer's log entry: > > Fix for function calls used as clauses in logical expressions. > > Submitted by: morten@xml.apache.org > > Reviewed by: morten@xml.apache.org > > > >

  • Committed by tmiller@apache.org on 06/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransformerFactoryImpl.java
    Committer's log entry: added check to see if stylesheet is already an URL

  • Committed by tmiller@apache.org on 06/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransletTemplates.java
    Committer's log entry: added check to see if stylesheet is already an URL

  • Committed by tmiller@apache.org on 06/25/2001
    Added: java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java
    Committer's log entry: proto

  • Committed by tmiller@apache.org on 06/25/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime TransformerFactoryImpl.java
    Committer's log entry: removed debug statements

  • Committed by tmiller@apache.org on 06/26/2001
    Removed: java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java TransformerFactoryImpl.java TransletTemplates.java
    Committer's log entry: in process of moving these to new subdir

  • Committed by tmiller@apache.org on 06/26/2001
    Added: java/src/org/apache/xalan/xsltc/trax TrAXFilter.java TransformerFactoryImpl.java TransletTemplates.java
    Committer's log entry: moved from runtime subdir to its own trax subdir

  • Committed by tmiller@apache.org on 06/27/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: fixed bug with deriving translet name from stylesheet name that included paths, e.g. /tmp/foo.xsl

  • Committed by morten@apache.org on 06/27/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java
    Committer's log entry: This update allows variables that contain references to result-tree fragments to be used inside position filters. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by tmiller@apache.org on 06/27/2001
    Modified: java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java
    Committer's log entry: added url handling in doTransform

  • Committed by tmiller@apache.org on 06/27/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
    Committer's log entry: added a new sys property called 'transletPool' to allow user to set the destination directory for generated translets

  • Committed by tmiller@apache.org on 06/27/2001
    Modified: java/src/org/apache/xalan/xsltc/trax TransletTemplates.java
    Committer's log entry: added a new sys property called 'transletPool' to allow user to set the destination directory for generated translets

  • Committed by tmiller@apache.org on 06/27/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler XSLTC.java
    Committer's log entry: made private method setDestDirectory() public to support the new transletPool system property.

  • Committed by morten@apache.org on 06/28/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Predicate.java Step.java Stylesheet.java VariableRef.java java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSortRecordGenerator.java ResultTreeType.java TestGenerator.java
    Committer's log entry: Various bugfixes in the way auxiliary classes access variables/fields in the main translet class. Fixes a few VAR tests and customer tests. Pmorten@xml.apache.org:

  • Committed by morten@apache.org on 06/29/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler Choose.java ElementAvailableCall.java FunctionAvailableCall.java Parser.java When.java
    Committer's log entry: Fix for element-available() and function-available() calls. Ties these calls to tables in the XSL parser and the symbol-table (the actual implementation) instead of using redundant and not-up-to-date tables in the classes that implement the X-avaiable() calls. I also cleaned up the Choose call so that it now properly handles all types of function calls in the xsl:when elements' test clause.

  • Committed by morten@apache.org on 06/29/2001
    Modified: java/src/org/apache/xalan/xsltc/compiler ForEach.java Param.java Variable.java java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java
    Committer's log entry: Added a fix for local variables inside nested xsl:for-each elements. Local variables are usually not initialized to any default value (such as with general Java classes), because code compiled for <xsl:variable> elements always assign values to variable slots before they are accessed. But the code structure generated by nested <xsl:for-each> elements is too much for the JVMs verifier to get around, so we have to initialize all local variables inside such loops to zero, false, null, whatever. This takes care some of our runtime-errors caused by apparent corrupt code. (The JVMs verifier thinks that it is corrupt, but it isn't really.) PR: none Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org


XSLTC Changes for Xalan-Java 2.1.0
 

The Sun XSLTC team (david.hofert@east.sun.com, tom.amiro@east.sun.com, todd.miller@east.sun.com, morten.jorgensen@Ireland.sun.com) has checked XSLTC into the Xalan source tree, and we have begun the process of merging XSLTC into Xalan. XSLTC provides a compiler for compiling stylesheets into translets, and a streamlined runtime environment for using translets to transform XML input. In the near term, XSLTC will appear in a separate JAR file (xsltc.jar) with its own API and command-line utilities. You can already use the same JAXP interfaces to perform transformations with the Xalan transformer and with translets. Over time, we plan to merge the two codebases. See XSLTC Design Documents.

Since this is the first release of XSLTC on Apache (xml.apache.org), changes are relative to Preview 5 of XSLTC posted on www.sun.com/xml/developers.

  • Simplified stylesheets are now implemented.
  • Base package name has changed from com.sun.xslt to org.apache.xalan.xsltc
  • You no longer have to get the BCEL.jar file; it is included in the distribution.
  • The Project X parser components and APIs have all been replaced with JAXP equivalents. Consequently, you may deploy XSLTC with JAXP-conformant parsers, such as Xerces or Crimson.
  • Previously undocumented feature: -x. You can use the -x option on the java command line when you compile translets or run them to get more detailed information on errors.
  • Addition of -s to DefaultRun - a new -s option has been added to the DefaultRun class for use with test auotmation. When you use the option, it prevents System.exit() from being called when and exception is encountered.



Build Notes
 

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.jar, 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.

Using Ant
 

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

  1. Set the JAVA_HOME environment variable to the JDK root directory.

    If you are using JDK 1.1.8, you must also put classes.zip in the JDK bin directory on the classpath. You can use Ant with JDK 1.1.8 to compile and jar the Xalan-Java source files, but you must have JDK 1.2.2 or higher to build the documentation.

  2. 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.


Building Xalan-Java
 

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, xerces.jar, bsf.jar, and bsfengines.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 a sample application
 

If you modify a sample and want to recompile it, you can run the Java compiler in the directory containing the example. Be sure xalan.jar and xerces.jar are on the classpath. To recompile (and run!) the class files in the Servlet subdirectory, the javax.servlet and javax.servlet.http packages must also be on the classpath. Sun distributes these packages in the JSWDK 1.0.1 servlet.jar file.

After recompiling a sample, you can use the Sun jar utility to place your new .class files in xalansamples.jar.

You can use Ant with the samples target to recompile the samples and place the unpackaged class files in xalansamples.jar. For more information, see Using Ant.

NoteTo rebuild (and to run) the sample servlet, the javax.servlet and javax.servlet.http packages must be on your classpath.

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 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, xalanjdoc.jar, xalan.jar, bsf.jar, bsfengines.jar, and xerces.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.xalan.serialize" 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.xalan.serialize 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 "Xalan-Java 2" -bottom "Copyright © 2000 Apache XML Project. All Rights Reserved."


Getting in Touch
 

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.


Cumulative history of software changes
 

The following sections list the changes in each release since Xalan-Java version 2.0.D01.

Changes for Xalan-Java 2.2.D14
 

Xalan-Java 2.2.D14 is intended to be the final release in the current series of Developer releases incorporating the DTM. We believe Xalan with the DTM has reached a level of stability that warrants a standard "User" release. Accordingly, we plan to release Xalan-Java 2.2 soon.

Xalan-Java 2.2.D14 also includes a new CachedXPathAPI class that provides an enhanced alternative to the XPath convenience methods in XPathAPI.

Beginning with 2.2.D12, xalan.jar contains just the Xalan-Java implementation. The source files for the SAX level 2, DOM 2, and JAXP 1.1 interfaces are pulled from the xml-commons repository (xml-commons/java/external/src), and are built as xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces the risk of duplication. To run Xalan-Java, you must add xml-apis.jar to your classpath. See Setting up the system class path.

Core (Non-XSLTC) source code updates:

  • Committed by jkesselm@apache.org on 11/12/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Reorder slightly and add test to not synthesize xmlns:xsl declaration if one was already present on the DOM's root element.

  • Committed by jkesselm@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan Version.java
    Committer's log entry: D13 internal version number update

  • Committed by jkesselm@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: D13 internal version number update

  • Committed by jkesselm@apache.org on 11/13/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeList.java
    Committer's log entry: Bugzilla4842, secondary complaint (glitch in getChildren)... <blush/>

  • Committed by jkesselm@apache.org on 11/15/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeProxy.java
    Committer's log entry: Bugzilla4842: Expand the proxy layer to support more of the DOM API.

  • Committed by jkesselm@apache.org on 11/15/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Namespace decls are themselves not namespace-aware, in the Namespaces 1.0 REC. Use the qname.Grumble.

  • Committed by jkesselm@apache.org on 11/20/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: "Tupograflica eror". Sorry 'bout that!

  • Committed by jkesselm@apache.org on 11/26/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Sigh. The XML Namespaces spec it itself imperfectly namespace-aware. While there's a plan to fix that, it's safer for now if we test the QName when looking for explicit instances of xmlns:xml in the source document.

  • Committed by jkesselm@apache.org on 11/26/2001
    Modified: java/src/org/apache/xalan/lib/sql DTMDocument.java java/src/org/apache/xalan/templates ElemApplyTemplates.java java/src/org/apache/xalan/xslt Process.java java/src/org/apache/xml/dtm DTMManager.java java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java DTMManagerDefault.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Another fairly large change in the DTM architexture (sic).... We've changed DTM's internal behavior so it can now assign more than one "DTM ID" to a single document, cascading from one ID to the next. This means that the size of a single DTM is no longer limited by the bits available in the low part of the DTM Node Handle. This means we can support larger documents. That has allowed us to reduce the number of bits reserved for that portion of the node addresing scheme... which in turn has increased the number of bits available for use in the DTM ID. This means we can now have many more documents active at once. The trade-off is that huge documents will require more than one DTM ID and thus cut into the number of documents, But since we now have 16 bits of DTM ID space, I don't think we're really likely to run into both limits at once. And the changes are essentially limited to the DTM layer; the rest of Xalan should be unaffected. In the process of making this change, I've also encapsulated the conversions between DTM API node handles and DTMDefaultBase's internal node indices. That should be safer all 'round. NOTE: One side effect of this change is that the strings generated by the key() function have changed again. I've updated the IDKEY testcases to reflect this. Smoketest is currently passing everything except axes109 and the API's TraceListenerTest . But I believe those failures are due to a glitch in my test directory since they also happen when I run the D13 code there, whereas D13 runs fine in the directory where I built it. I'm going to assume that "same result is no new bug" for now.

  • Committed by jkesselm@apache.org on 11/26/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java
    Committer's log entry: Found the glitch causing the axes108 bug -- exptype/type.

  • Committed by jkesselm@apache.org on 11/27/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Added option to set the recursion limit (which we're having trouble with right now; the code that supported it seems to be disabled...) and selfdoc for this and a few other newer options.

  • Committed by sboag@apache.org on 11/28/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java
    Committer's log entry: Catch exceptions from the output content handler in flush(), and throw a SAXParseException with line numbers filled in. If we don't do this, and the exception is a RuntimeException, good line numbers of where the exception occured in the stylesheet won't get reported. I tried just catching RuntimeException, but for whatever reason it didn't seem to catch. Fix for Christina's DOMException error problem.

  • Committed by jkesselm@apache.org on 11/29/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Added: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTMdefaultNamespaceDeclarationNode.java
    Committer's log entry: Moved default namespace declaration node object out of its "inner class" status, since I think I want to perform an instanceof test on it.

  • Committed by jkesselm@apache.org on 11/29/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMManagerDefault.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xpath XPathAPI.java
    Added: java/src/org/apache/xpath CachedXPathAPI.java
    Committer's log entry: Bugzilla 4336 -- fix for presenting symptom (since the implicit xml: declaration pseudo-DOM node is resynthesized in each DTM, find the _corresponding_ node), and a first draft of CachedXPathAPI which should be a fix for the larger symptom (XPathAPI creates a new DTM every time, which is potentially very ugly for applications that want to run XPaths repeatedly on a single document). Also caught and fixed another node-handle/node-identity confusion. The fact that DTM.get...() allowed us to be sloppy about that distinction in the past means there may still be a few others lurking in the code. Ye gods, I _wish_ Java had typedef!

  • Committed by jkesselm@apache.org on 11/29/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeProxy.java
    Committer's log entry: Minor tweaks

  • Committed by curcuru@apache.org on 11/29/2001
    Modified: java/src/org/apache/xalan/lib Redirect.java
    Committer's log entry: Patch to enable optional 'append' attribute on redirect:open and redirect:write elements to append to file; note that behavior may not be what you expect when using xml output, since the xml decl will currently be output *each* time you newly write to the file Submitted by: jpvdm@iafrica.com

  • Committed by jkesselm@apache.org on 11/29/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeProxy.java
    Committer's log entry: Implement getDocumentElement. If the DTM doesn't represent a wellformed Document, this call is undefined and throws an exception... which isn't DOMlike but that's a non-DOMlike situation.

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D12 and 2.2.D13
 

Xalan-Java 2.2.D13 is intended to be the final release in the current series of Developer releases incorporating the DTM. We believe Xalan with the DTM has reached a level of stability that warrants a standard "User" release. Accordingly, we plan to release Xalan-Java 2.2 soon.

Beginning with this release, xalan.jar contains just the Xalan-Java implementation. The source files for the SAX level 2, DOM 2, and JAXP 1.1 interfaces are pulled from the xml-commons repository (xml-commons/java/external/src), and are built as xml-apis.jar. These interfaces are shared by a number of tools, so placing them in their own jar simplifies coordination and reduces the risk of duplication. To run Xalan-Java, you must add xml-apis.jar to your classpath. See Setting up the system class path.

Beginning with this release, we are placing two distribution files in the xalan-j distribution directory: a binary distribution file, which includes everything needed to run Xalan-Java and build applications, and a source distribution. For more information, see Downloading what you need.

This release also includes ValidateXMLInput, a sample that illustrates how you can verify that the XML input you are transforming adheres to its document type. It is in the samples/validate subdirectory along with a Validate utility that you can use to validate XML files without performing a transformation.

Core (Non-XSLTC) source code updates:

  • Committed by jkesselm@apache.org on 10/12/2001
    Modified: java/src/org/apache/xpath VariableStack.java
    Committer's log entry: Bugzilla3995: Removed "final" keywords. That doesn't by itself provide the requested enhancement, but it makes prototyping one a bit easier.

  • Committed by jkesselm@apache.org on 10/15/2001
    Modified: java/src/org/apache/xpath/objects XStringForFSB.java
    Committer's log entry: Bugzilla 3384. See comments in the toDouble method; I suspect this may be wasted micro-optimization.

  • Committed by jkesselm@apache.org on 10/15/2001
    Modified: java/src/org/apache/xpath/objects XStringForFSB.java
    Committer's log entry: Is " 12 34 . 56 78 " really considered acceptable? Or should whitespace within the value be treated as NAN?

  • Committed by dleslie@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: Updated build number to 2.2.D12.

  • Committed by dleslie@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: Updated build number to 2.2.D12.

  • Committed by jkesselm@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/templates ElemLiteralResult.java
    Committer's log entry: Fix for Bugzilla1133, LRE21: xsl:extension-element-prefixes should be considered an exclusion

  • Committed by jkesselm@apache.org on 10/15/2001
    Modified: java/src/org/apache/xalan/templates ElemLiteralResult.java
    Committer's log entry: Fix for Bugzilla 3464. Exposes errors in conformance tests namespace93 and 94.

  • Committed by curcuru@apache.org on 10/16/2001
    Modified: java/src/org/apache/xalan/serialize CharInfo.java HTMLEntities.res XMLEntities.res
    Committer's log entry: Fix Bugzilla#4000, force reading of *Entites.res to be in UTF-8; added comments PR: Bugzilla#4000

  • Committed by jkesselm@apache.org on 10/17/2001
    Modified: java/src/org/apache/xpath/objects XStringForFSB.java
    Committer's log entry: Avoid overgenerality of isDigits Combine most character tests into a single switch for performance Reject values with embedded (as opposed to leading/trailing) whitespace. Note that this is "more correct:" than the old solution of calling Java's toDouble, since (I think) XSLT doesn't officially accept leading + or scientific notation. If folks want to accept those notations, an extension function specifically for that purpose seems the simplest/safest/most-portable solution.

  • Committed by jkesselm@apache.org on 10/17/2001
    Modified: java/src/org/apache/xpath/objects XStringForFSB.java
    Committer's log entry: Gaaah. Typo.

  • Committed by curcuru@apache.org on 10/17/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Added: java/src/org/apache/xalan Version.java
    Committer's log entry: Added new org.apache.xalan.Version class for better versioning info; Deprecated org.apache.xalan.processor.XSLProcessorVersion; Updated EnvironmentCheck with this info

  • Committed by jkesselm@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan Version.java
    Committer's log entry: Be careful with parentheses when using ?: operator.

  • Committed by jkesselm@apache.org on 10/18/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMManagerDefault.java IncrementalSAXSource_Xerces.java
    Removed: java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java CoroutineSAXParser_Xerces.java
    Committer's log entry: CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete code.

  • Committed by jkesselm@apache.org on 10/18/2001
    Removed: java/src/org/apache/xml/dtm/ref CoroutineSAXFilterTest.java
    Committer's log entry: CoroutineParser API was replaced by IncrementalSAXSource; dropping obsolete code.

  • Committed by jkesselm@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan Version.java
    Committer's log entry: Whups; sloppy: Actually, problem was that the latter two arguments to ?: must agree in datatype. Dropped in a quick-and-dirty int-to-string hint.

  • Committed by jkesselm@apache.org on 10/18/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
    Committer's log entry: Preliminary Xerces-2 support. Doesn't leverage Xerces-2 incremental features yet, but should at least compile and run under the new parser without breaking support for the old one. Still working on improving this.

  • Committed by mmidy@apache.org on 10/18/2001
    Modified: java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemCallTemplate.java
    Committer's log entry: Bugzilla 4218: Make sure that the stack frame gets restored to the frame that was previously set. Just calling unlink() may restore to the wrong frame, and get us out of synch.

  • Committed by jkesselm@apache.org on 10/18/2001
    Modified: java/src/org/xml/sax/helpers ParserAdapter.java
    Committer's log entry: Java 1.1.8 back-compatability requires not using Java 1.2 collection calls. (Still waiting for community consensus before abandoning 1.1)

  • Committed by mmidy@apache.org on 10/18/2001
    Modified: java/src/org/apache/xpath VariableStack.java
    Committer's log entry: Bugzilla 4218: Make sure that the stack frame gets restored to the frame that was previously set. Just calling unlink() may restore to the wrong frame, and get us out of synch.

  • Committed by jkesselm@apache.org on 10/22/2001
    Modified: java/src/org/apache/xml/dtm/ref IncrementalSAXSource_Xerces.java
    Committer's log entry: In Xerces2, SAXParser no longer seems to inherit from XMLReader; explicit casts needed to work around that.

  • Committed by curcuru@apache.org on 10/23/2001
    Removed: java/src/javax/xml/parsers SAXParserFactory.java SAXParser.java ParserConfigurationException.java package.html FactoryFinder.java FactoryConfigurationError.java DocumentBuilderFactory.java DocumentBuilder.java
    Committer's log entry: Remove javax.xml.parsers package from xalan sources since we no longer ship with these files

  • Committed by jkesselm@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/serialize CharInfo.java
    Committer's log entry: Microsoft VJ++ workaround. Should never arise in any reasonably standards-compliant Java environment, but VJ++ isn't...

  • Committed by jkesselm@apache.org on 10/25/2001
    Modified: java/src/org/apache/xalan/serialize CharInfo.java
    Committer's log entry: Additional "big scary" docs for Microsoft VJ++ workaround.

  • Committed by sboag@apache.org on 10/25/2001
    Modified: java/src/org/apache/xpath/compiler XPathParser.java
    Committer's log entry: Added fix for bug reported by Myriam for match="//x/a" patterns. On the second "/" on "//", the parser wasn't swallowing the token, which caused the "x" pattern to be ancestor instead of parent. If you don't have this fix, it will cause 'a' to be matched when it has any ancestor that is 'x'. This fix should be localized to only match patterns. The reason this probably wasn't reported before, is because "//" at the head of a match pattern is pretty useless, "x/a" being equivelent.

  • Committed by sboag@apache.org on 10/26/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToHTML.java
    Committer's log entry: By longstanding request, don't URL-escape spaces. This is consistent with the specification, and the opinion of the right thing to do by several people on the XSL working group, including Mike Kay, and by the LotusXSLTeam.

  • Committed by jkesselm@apache.org on 10/30/2001
    Modified: java/src/org/apache/xalan/processor XSLTElementDef.java
    Committer's log entry: Improved safety net: When running with Xerces2, the "uri" field may be null. (Also reordered tests to encourage optimization of code.)

  • Committed by jkesselm@apache.org on 10/31/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Add command-line switches for the options introduced at same time as DTM, to make testing those features easier.

  • Committed by mmidy@apache.org on 11/02/2001
    Modified: java/src/org/apache/xalan/processor StylesheetPIHandler.java
    Committer's log entry: Bugzilla 4575: Add the EOL character to the list of token delimiters.

  • Committed by jkesselm@apache.org on 11/02/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMManagerDefault.java IncrementalSAXSource_Xerces.java
    Committer's log entry: Leverage Xerces-2 incremental parsing feature, when possible, Making this compile _and_ run under both the old and new versions of the parser involves a lot of reflection... especially since Xerces-2 no longer provides a way to directly request incremental delivery of SAX events; we now have to assemble that concept ourselves, using XNI components. Note that if you pass an existing Xerces-2 SAXParser into the IncrementalSAXSource_Xerces wrapper, there is currently no way for us to access its incremental controls. In that case, we are forced to fall back on the _Filter solution and coroutines.

  • Committed by mmidy@apache.org on 11/02/2001
    Modified: java/src/org/apache/xpath/objects XStringForFSB.java
    Committer's log entry: Bugzilla 4396: Defaulting to the super hashCode(). This causes us to create a string, but at this point this only seems to get called in key processing. Maybe we can live with it?

  • Committed by curcuru@apache.org on 11/02/2001
    Modified: java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Committer's log entry: Use appropriate context class loader as done in JAXP's FactoryFinder; Added various new jars; added checkAntVersion()

  • Committed by sboag@apache.org on 11/04/2001
    Modified: java/src/org/apache/xalan/serialize HTMLEntities.res
    Committer's log entry: Commented out mainly greek entities that Netscape seems not to handle.

  • Committed by sboag@apache.org on 11/04/2001
    Modified: java/src/org/apache/xalan/serialize Encodings.java SerializerToHTML.java SerializerToText.java SerializerToXML.java
    Committer's log entry: Progress on Bugzilla Bug 1639 : Xalan escaping characters for ISO encodings other than ISO-8859-1. The problem is that you can't tell from the Java Writers if they can encode a character, and you can't tell which character they are going to encode to. So... Do a one-time-only reflection to see if a sun.io.CharToByteConverter for the specific encoding is available. I'm hoping this will work for most or all platforms... but only some extensive testing will tell for sure. If the CharToByteConverter is not available, it falls back to the old behavior. If it is available, use the canConvert method to see if the UTF-16 character can be encoded. If it can be, just send it to the writer, otherwise escape it. This doesn't need to be done for < 128, so I'm suspecting the performance hit won't be too bad. The alternative is to create lookups for all the encodings that tell which blocks of characters can't be encoded. Too much work for me this weekend, though it remains a possibility. I want to try the use of CharToByteConverter.canConvert first. One problem I've encountered is that CharToByteConverter.canConvert returns true for (utf-16 code points) 127-159. And so they go unescaped. How bad of a problem is this? This seems like a bug in the Java CharToByteConverter for ISO-8859-7. It remains to be seen if this problem exists with other encodings, or if this is the best approach.

  • Committed by sboag@apache.org on 11/05/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToXML.java
    Committer's log entry: Check for control characters for canConvert, and return false if it is a control character, so that it will be escaped.

  • Committed by sboag@apache.org on 11/05/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
    Committer's log entry: Don't set the ErrorHandler if it is already set.

  • Committed by sboag@apache.org on 11/06/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Minor fix to JavaDoc for setRecursionLimit.

  • Committed by jkesselm@apache.org on 11/06/2001
    Modified: java/src/org/apache/xpath/operations Operation.java UnaryOperation.java
    Committer's log entry: Bugzilla 4679: Accessors for left and right operands

  • Committed by mmidy@apache.org on 11/06/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToHTML.java
    Committer's log entry: Do not escape the percent '%' character anymore.

  • Committed by mmidy@apache.org on 11/06/2001
    Modified: java/src/org/apache/xpath/axes LocPathIterator.java OneStepIterator.java PredicatedNodeTest.java
    Committer's log entry: Bugzilla 4638: When we are in a subcontext we need to clip off the predicate when evaluating. If not, we end up with the wrong nodeset. This also relates to test position68.

  • Committed by jkesselm@apache.org on 11/07/2001
    Modified: java/src/org/apache/xalan/transformer ClonerToResultTree.java ResultTreeHandler.java
    Committer's log entry: Bugzilla 4607; allow explicitly cloning namespace nodes rather than throwing exception.

  • Committed by curcuru@apache.org on 11/07/2001
    Removed: java/src/META-INF/services javax.xml.parsers.SAXParserFactory javax.xml.parsers.DocumentBuilderFactory
    Committer's log entry: Remove services/javax.xml.parsers.* references; we assume parsers have their own

  • Committed by curcuru@apache.org on 11/07/2001
    Removed: java/src/javax/xml/transform ErrorListener.java FactoryFinder.java OutputKeys.java Result.java Source.java SourceLocator.java Templates.java Transformer.java TransformerConfigurationException.java TransformerException.java TransformerFactory.java TransformerFactoryConfigurationError.java URIResolver.java overview.html package.html java/src/javax/xml/transform/dom DOMLocator.java DOMResult.java DOMSource.java package.html java/src/javax/xml/transform/sax SAXResult.java SAXSource.java SAXTransformerFactory.java TemplatesHandler.java TransformerHandler.java package.html java/src/javax/xml/transform/stream StreamResult.java StreamSource.java package.html java/src/org/w3c/dom Attr.java CDATASection.java CharacterData.java Comment.java DOMException.java DOMImplementation.java Document.java DocumentFragment.java DocumentType.java Element.java Entity.java EntityReference.java NamedNodeMap.java Node.java NodeList.java Notation.java ProcessingInstruction.java Text.java package.html java/src/org/w3c/dom/ranges DocumentRange.java Range.java RangeException.java package.html java/src/org/w3c/dom/traversal DocumentTraversal.java NodeFilter.java NodeIterator.java TreeWalker.java package.html java/src/org/xml/sax AttributeList.java Attributes.java ContentHandler.java DTDHandler.java DocumentHandler.java EntityResolver.java ErrorHandler.java HandlerBase.java InputSource.java Locator.java Parser.java SAXException.java SAXNotRecognizedException.java SAXNotSupportedException.java SAXParseException.java XMLFilter.java XMLReader.java package.html java/src/org/xml/sax/ext DeclHandler.java LexicalHandler.java package.html java/src/org/xml/sax/helpers AttributeListImpl.java AttributesImpl.java DefaultHandler.java LocatorImpl.java NamespaceSupport.java ParserAdapter.java ParserFactory.java XMLFilterImpl.java XMLReaderAdapter.java XMLReaderFactory.java package.html
    Committer's log entry: Use a condensed copy of xml-commons sources instead of individual sources; remove xalan-specific copies of commons files

  • Committed by mmidy@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/templates ElemNumber.java java/src/org/apache/xml/utils/res XResources_cy.java XResources_el.java XResources_ja_JP_A.java XResources_ja_JP_HA.java XResources_ja_JP_HI.java XResources_ja_JP_I.java XResources_zh_CN.java XResources_zh_TW.java
    Committer's log entry: Bugzilla 4601: Change ElemNumber to use a long integer for the value of the number. This will allow us to format bigger numbers. As far as japanese multipliers, we decided to document as a xalan limitation the fact that the last 2 japanese multipliers will not be supported. If anyone has a strong and valid user case for this, we will reconsider. For now, we could not justify the expense of moving to BigInteger to support these multipliers.

  • Committed by jkesselm@apache.org on 11/08/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Bugzilla 4735: We should at least report an error when we overflow DTM addressing...

  • Committed by mmidy@apache.org on 11/08/2001
    Modified: java/src/org/apache/xalan/processor ProcessorInclude.java
    Committer's log entry: Bugzilla 4355: Make sure that when finding out if a stylesheet imports itself, we use the resolved href.

  • Committed by mmidy@apache.org on 11/08/2001
    Modified: java/src/org/apache/xpath NodeSetDTM.java
    Committer's log entry: Bugzilla 4158: Make sure we get the current, not the node pointed to by m_next, which has been already incremented.

  • Committed by jkesselm@apache.org on 11/09/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java
    Committer's log entry: Bugzilla 4344: discard attrs which don't have an element to belong to

  • Committed by jkesselm@apache.org on 11/09/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java
    Committer's log entry: Bugzilla 4344: more efficient.

  • Committed by jkesselm@apache.org on 11/12/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Reorder slightly and add test to not synthesize xmlns:xsl declaration if one was already present on the DOM's root element.

  • Committed by jkesselm@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan Version.java
    Committer's log entry: D13 internal version number update

  • Committed by jkesselm@apache.org on 11/12/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: D13 internal version number update

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D11
 

Core (Non-XSLTC) source code updates:

  • Committed by jkesselm@apache.org on 09/05/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Removed the code which precalculated node levels (depth in tree). This has been IFed out for some time, but was retained in case we wanted to go back to it. Since it seems we're happy with this choice, zapping it entirely saves a few more cycles. It's simple enough to recreate if we change our minds later.

  • Committed by curcuru@apache.org on 09/07/2001
    Modified: java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Committer's log entry: Minor cleanup and updates in preparation for extension function; note SAX portion isn't complete yet

  • Committed by curcuru@apache.org on 09/10/2001
    Modified: java/src/org/apache/xalan/lib Extensions.java java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Committer's log entry: Update EnvironmentCheck service with SAX checking; better method organization; Add checkEnvironment to xalan: built-in Extensions class

  • Committed by mmidy@apache.org on 09/12/2001
    Modified: java/src/org/apache/xpath/compiler Lexer.java
    Committer's log entry: Bug 2140: Catch index out of bounds exception

  • Committed by mmidy@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java
    Committer's log entry: Bug 2130: Check for null data to avoid NPE

  • Committed by mmidy@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/templates ElemElement.java
    Committer's log entry: Bug 3421: Issue an error if namespace attribute is used with an empty string in xsl:element

  • Committed by mmidy@apache.org on 09/12/2001
    Modified: java/src/org/apache/xalan/templates ElemElement.java
    Committer's log entry: Backing out this change. Some conformance tests need to be updated first

  • Committed by mmidy@apache.org on 09/13/2001
    Modified: java/src/org/apache/xalan/templates ElemElement.java
    Committer's log entry: Bug 3421: Issue an error if namespace attribute is used with an empty string in xsl:element

  • Committed by mmidy@apache.org on 09/13/2001
    Modified: java/src/org/apache/xalan/templates ElemTemplateElement.java
    Committer's log entry: Bug 3442: when building the prefix table for an element, just override prefixes defined in parent element with uris that have been redefined by the element instead of keeping both uris in the table.

  • Committed by curcuru@apache.org on 09/13/2001
    Modified: java/src/org/apache/xalan/serialize SerializerFactory.java
    Committer's log entry: Fix Bugzilla 3491: updated error message text; also updated Javadoc to reflect @throws; note that the Javadoc is still somewhat contradictory about returning a null on error (it appears to throw exceptions instead) PR:3491 Submitted by:Julian.Birch@ranplc.co.uk

  • Committed by curcuru@apache.org on 09/13/2001
    Modified: java/src/javax/xml/transform TransformerFactory.java java/src/org/apache/xml/dtm DTMManager.java
    Committer's log entry: Fix Bugzilla 3423: documentation updates for proper class, property names (one of two checkins) PR:3423 Submitted by:gthb@dimon.is

  • Committed by curcuru@apache.org on 09/14/2001
    Modified: java/src/org/apache/xpath XPath.java
    Committer's log entry: Fix Bugzilla 2637: documentation updates for constructor functionality PR:2637 Submitted by:gthb@dimon.is

  • Committed by mmidy@apache.org on 09/17/2001
    Modified: java/src/org/apache/xalan/templates ElemUse.java
    Committer's log entry: Bug 2548: Combine attribute sets with the same name but process them in order of precedence.

  • Committed by mmidy@apache.org on 09/17/2001
    Modified: java/src/org/apache/xpath/axes UnionPathIterator.java
    Committer's log entry: Bug 3533: Check for null m_iterators before trying to use it.

  • Committed by mmidy@apache.org on 09/18/2001
    Modified: java/src/org/apache/xalan/transformer KeyRefIterator.java
    Committer's log entry: Bugzilla 3618: Check cache before anything else when getting the next node in the iterator.

  • Committed by morten@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/xsltc TransletException.java
    Committer's log entry: Changed the TransletException class so that it inherits from SAXException and not from Exception. This should make it possible for us to avoid testing for both SAXExceptions and TransletExceptions. Exception handling is one of the things that JVM takes its time with, and we should try to avoid using them when we can, and use as few of them as possible otherwise. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by mmidy@apache.org on 09/19/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java
    Committer's log entry: Bugzilla 2332: Implement getAttribute() method to return the values for incremental and optimize

  • Committed by jkesselm@apache.org on 09/20/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeProxy.java
    Committer's log entry: Enable Attr.getOwnerElement()

  • Committed by mmidy@apache.org on 09/20/2001
    Modified: java/src/org/apache/xalan/processor StylesheetHandler.java java/src/org/apache/xalan/templates ElemLiteralResult.java
    Committer's log entry: Bugzilla 1803: Handle version attribute on a litteral element.

  • Committed by dleslie@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: release 2.2.D11

  • Committed by dleslie@apache.org on 09/25/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: release 2.2.D11

  • Committed by mmidy@apache.org on 09/26/2001
    Modified: java/src/org/apache/xalan/processor XSLTSchema.java
    Committer's log entry: Mark xsl:template as containing ordered elements. Fix for no error when xsl:param not first child of xsl:template

  • Committed by mmidy@apache.org on 09/28/2001
    Modified: java/src/org/apache/xalan/templates ElemLiteralResult.java ElemTemplateElement.java Stylesheet.java
    Committer's log entry: Bugzilla 3800: Make sure that when looking for excluded prefixes, we check the URI associated with the prefix, not the prefix in the excluded list.

  • Committed by mmidy@apache.org on 09/28/2001
    Modified: java/src/org/apache/xpath NodeSetDTM.java
    Committer's log entry: Do not reorder or strip duplicate nodes when converting a DOM nodelist into a DTM nodelist

  • Committed by jkesselm@apache.org on 10/01/2001
    Modified: java/src/org/apache/xml/dtm/ref IncrementalSAXSource_Filter.java
    Committer's log entry: Catch for unwrappered StopException (apparently not all parsers generate a SAXException wrapper).

  • Committed by jkesselm@apache.org on 10/01/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Creating the implied Namespace Node for xml:

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D10
 
NoteThe SQL Extension library has been updated to work with DTM.

Core (Non-XSLTC) source code updates:

  • Committed by garyp@apache.org on 08/13/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Fix bugzilla bug 3056 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3056). SAX2DTM now keeps track if it is receiving events inside a DTD and ignores comment events when inside the DTD.

  • Committed by mmidy@apache.org on 08/13/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: Update version for 2.2.D9 build

  • Committed by johng@apache.org on 08/14/2001
    Modified: java/src/org/apache/xalan/lib/sql ConnectionPool.java DefaultConnectionPool.java SQLDocument.java XConnection.java
    Committer's log entry: Fixed bug in connect method where User and Password were not correctly being passed to the JDBC Driver. Requires chnage in ConnectionPool Interface Submitted by: John Gentilin

  • Committed by mmidy@apache.org on 08/15/2001
    Modified: java/src/org/apache/xalan/lib/sql XConnection.java
    Committer's log entry: Use defined constant DTMManager.IDENT_DTM_NODE_BITS for shifting DTM nodes, not hard coded value.

  • Committed by mmidy@apache.org on 08/15/2001
    Modified: java/src/org/apache/xml/utils SystemIDResolver.java
    Committer's log entry: Fix problem with resolving a relative URI from a processing instruction

  • Committed by mmidy@apache.org on 08/17/2001
    Modified: java/src/org/apache/xml/utils SystemIDResolver.java
    Committer's log entry: Make sure base is not null before checking for its contents.

  • Committed by mmidy@apache.org on 08/17/2001
    Modified: java/src/org/apache/xalan/templates FuncDocument.java
    Committer's log entry: Fix document function so that if only one argument is passed and it is a nodetest, the base to be used to resolve relative URIs is the base of the each node in the nodeset.

  • Committed by mmidy@apache.org on 08/17/2001
    Modified: java/src/org/apache/xalan/processor XSLTSchema.java
    Committer's log entry: Allow multiple iterations of xsl:with-param within an xsl:call-template or xsl:apply-template

  • Committed by sboag@apache.org on 08/20/2001
    Modified: java/src/org/apache/xpath XPathContext.java
    Committer's log entry: Added getCurrentNodeList() for getting the current node list as defined by http://www.w3.org/TR/xslt#dt-current-node-list. This looks up the stack of the SubContextLists to find the top-level LocPathIterator. I'm fairly unhappy with this fix, and hope to restructure the context list stuff a bit to avoid the casts in the getCurrentNodeList(), and to fix getCurrentNode() so that it properly defines the current node as defined by the XSLT spec. As a matter of fact, I would like to break up XPathContext into an XSLTContext. Part of the http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3031 fix.

  • Committed by sboag@apache.org on 08/20/2001
    Modified: java/src/org/apache/xpath/functions FuncCurrent.java
    Committer's log entry: Call new XPathContext#getCurrentNodeList. Fixes http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3031.

  • Committed by sboag@apache.org on 08/20/2001
    Modified: java/src/org/apache/xalan/transformer KeyRefIterator.java java/src/org/apache/xpath/axes ChildIterator.java ChildTestIterator.java DescendantIterator.java MatchPatternIterator.java SelfIteratorNoPredicate.java UnionPathIterator.java
    Committer's log entry: Fix for problem reported by Mike Starr <mike.starr@air2web.com>, where the transformation hangs for "foo[2] | bang" patters, i.e. unions with positional predicates. The fix is to have the iterators#nextNode() set m_lastFetched to DTM.NULL when m_foundLast is found to be true on function entry (after the cache check). This allows getCurrentNode() to fullfill it's contract of returning null if the last fetch was null. The bug occured after an optimization for positional predicates to have them not continue searching once the positional node was found, by setting m_foundLast to true.

  • Committed by johng@apache.org on 08/24/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Removed debug flag Submitted by:John Gentilin

  • Committed by johng@apache.org on 08/24/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java XConnection.java
    Committer's log entry: Fixed Streaming Mode Submitted by: John Gentilin

  • Committed by johng@apache.org on 08/24/2001
    Modified: java/src/org/apache/xml/dtm DTM.java java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDocumentImpl.java DTMManagerDefault.java
    Committer's log entry: added document registration and release events to the DTM interface Submitted by: John Gentilin

  • Committed by garyp@apache.org on 08/25/2001
    Modified: java/src/org/apache/xalan/lib Extensions.java
    Committer's log entry: Fix bug 3112 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3112). Fix tokenize to work with DTM by obtaining a new DocumentBuilder and not using the document from the context node.

  • Committed by garyp@apache.org on 08/26/2001
    Modified: java/src/org/apache/xpath VariableStack.java java/src/org/apache/xpath/operations Variable.java
    Committer's log entry: Fix bug 3265 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3265). Using an expression in the evaluate extension function that contains a top-level variable was cause an NPE.

  • Committed by sboag@apache.org on 08/26/2001
    Modified: java/src/org/apache/xpath/objects XStringForChars.java
    Committer's log entry: Fixed two bugs, one in getChars and one in charAt where the m_start offset wasn't being used correctly. This manifested itself in some stuff I was doing with the startsWith function, but likely caused many other bugs with other functionality.

  • Committed by morten@apache.org on 08/27/2001
    Added: java/src/org/apache/xalan/xsltc StripFilter.java
    Committer's log entry: Forgot to add this file in my last putback. PR: n/a Obtained from: n/a Submitted by: morten@xml.apache.org Reviewed by: morten@xml.apache.org

  • Committed by jkesselm@apache.org on 08/28/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
    Committer's log entry: added dumpNode method, convenience for debugging. We might want to move this function up to DTMDefaultBase, or perhaps to the DTM API itself.

  • Committed by sboag@apache.org on 08/28/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToText.java
    Committer's log entry: Fix http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3131 by overriding writeNormalizedChars and writeUTF16Surrogate to not do any XML escaping.

  • Committed by mmidy@apache.org on 08/28/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
    Committer's log entry: The index was being stored as opposed to the node handle when we were replacing namespace nodes. Store the actual node handle.

  • Committed by mmidy@apache.org on 08/29/2001
    Modified: java/src/org/apache/xpath/compiler Lexer.java
    Committer's log entry: Fix for Bugzilla 2684 StringIndexOutOfBounds Exception. Check if we are at the end of the pattern string.

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D9
 

Core (Non-XSLTC) source code updates:

  • Committed by dleslie@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: 2.2.D8

  • Committed by dleslie@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: 2.2.D8

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/transformer NodeSortKey.java
    Committer's log entry: Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Just added some stuff to diagnose bugs for flavor th.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xpath/axes WalkerFactory.java java/src/org/apache/xpath/compiler Compiler.java java/src/org/apache/xpath/patterns ContextMatchStepPattern.java StepPattern.java
    Committer's log entry: These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS. This fixes a bug with match="chapter//footnote[1]" patterns. The main change here is minor to remove the automatic attachment of parent::* to simple step patterns. He has re-implemented executePredicates to be more efficient. Given a pattern such as row[6], it does not iterate over the entire axis until it reaches the node to see if it is the sixth node. Rather, starting from the current node, it works backwards (preceding siblings) until it either runs out of nodes or finds more than six nodes that match the predicate [I can explain it better if desired]. This optimization improves performance slightly overall. It helps decoy and patterns most (by about 10%). The other optimization that I implemented was the following. For a pattern foo[][3][][4] ..., where more than one predicate is a number (position check), in checking the predicate [4], the fact that the current node has passed foo[][3] implies that it is the only node that is the third node among its siblings that passes foo[]. Therefore, any subsequent position checks can be true if and only if the position is [1]. This optimization is not used by the xsltmark benchmarks and so does not offer any performance benefits.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xpath/axes DescendantIterator.java
    Committer's log entry: Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xpath/compiler Lexer.java
    Committer's log entry: Resize the m_patternMap if m_patternMapSize exceeds the bounds.

  • Committed by mmidy@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/extensions ExtensionHandlerGeneral.java ExtensionHandlerJavaPackage.java ExtensionsTable.java MethodResolver.java java/src/org/apache/xalan/lib Extensions.java java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java java/src/org/apache/xalan/processor ProcessorLRE.java ProcessorTemplateElem.java StylesheetHandler.java TransformerFactoryImpl.java XSLTAttributeDef.java XSLTElementProcessor.java java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/serialize CharInfo.java WriterToUTF8Buffered.java java/src/org/apache/xalan/templates ElemExtensionCall.java ElemExtensionDecl.java ElemMessage.java FuncDocument.java FuncFormatNumb.java OutputProperties.java StylesheetRoot.java java/src/org/apache/xalan/transformer TrAXFilter.java TransformerHandlerImpl.java TransformerIdentityImpl.java TransformerImpl.java java/src/org/apache/xalan/xslt Process.java java/src/org/apache/xml/dtm DTMException.java DTMManager.java java/src/org/apache/xml/dtm/ref ChunkedIntArray.java CoroutineManager.java CoroutineSAXParser.java CoroutineSAXParser_Xerces.java DTMBuilder.java DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java DTMManagerDefault.java IncrementalSAXSource_Filter.java IncrementalSAXSource_Xerces.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java java/src/org/apache/xml/utils ObjectPool.java QName.java URI.java java/src/org/apache/xpath NodeSet.java NodeSetDTM.java VariableStack.java XPath.java XPathContext.java java/src/org/apache/xpath/axes WalkerFactory.java java/src/org/apache/xpath/functions FuncSubstring.java FunctionDef1Arg.java java/src/org/apache/xpath/objects XRTreeFragSelectWrapper.java XStringForChars.java java/src/org/apache/xpath/operations Variable.java java/src/org/apache/xpath/res XPATHErrorResources.java
    Committer's log entry: Getting all (almost all) error message strings into the resource bundle

  • Committed by mmidy@apache.org on 07/27/2001
    Removed: java/src/org/apache/xml/dtm/ref DTMBuilder.java
    Committer's log entry: Accidentally added. Now deleting.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xpath Expression.java java/src/org/apache/xpath/axes AxesWalker.java LocPathIterator.java PredicatedNodeTest.java ReverseAxesWalker.java java/src/org/apache/xpath/objects XNumber.java java/src/org/apache/xpath/operations Variable.java
    Committer's log entry: If a proximity predicate is a stable number (variable or number literal) then, once the node is found, don't keep searching! (since only one node is possible).

  • Committed by sboag@apache.org on 07/30/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
    Committer's log entry: In getNextNamespaceNode and getFirstNamespaceNode, was sometimes returning a node without the DTM identity bits. Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2878.

  • Committed by sboag@apache.org on 07/30/2001
    Modified: java/src/org/apache/xpath/compiler OpMap.java
    Committer's log entry: Throw real error instead of runtime error in getFirstPredicateOpPos for better error reporting.

  • Committed by sboag@apache.org on 07/30/2001
    Modified: java/src/org/apache/xpath/axes PredicatedNodeTest.java java/src/org/apache/xpath/compiler OpMap.java
    Committer's log entry: Bit of a hack to make /descendant-or-self::north with getFirstPredicateOpPos where getFirstPredicateOpPos was always throwing an error if there was not a predicate (!! Should have been discovered before now?!?!). If -2 return -2 (instead of throwing an error), and handle this case in PredicatedNodeTest#initPredicateInfo.

  • Committed by johng@apache.org on 07/30/2001
    Modified: java/src/org/apache/xalan/lib/sql ObjectArray.java SQLDocument.java SQLErrorDocument.java XConnection.java
    Committer's log entry: Added the original pquery and streaming mode functionality Submitted by: John Gentilin

  • Committed by johng@apache.org on 07/30/2001
    Added: java/src/org/apache/xalan/lib/sql DTMDocument.java
    Committer's log entry: Added DTM Document, a common impl between SQLDocument and SQLErrorDocument Submitted by: John Gentilin

  • Committed by sboag@apache.org on 07/30/2001
    Modified: java/src/org/apache/xpath/axes DescendantIterator.java WalkerFactory.java
    Committer's log entry: Fix addresses http://nagoya.apache.org/bugzilla/enter_bug.cgi?product=XalanJ2, and a whole class of related problems.

  • Committed by sboag@apache.org on 07/31/2001
    Modified: java/src/org/apache/xpath/objects XNodeSet.java XObject.java java/src/org/apache/xpath/patterns StepPattern.java
    Committer's log entry: Detach expressions in match patterns. Also, defined numWithSideEffects and boolWithSideEffects (for lack of better names) that will increment the iterator, and call these for predicates. The combination of these results in about an 18% performance improvement for decoy.xsl. Credits to Mukund Raghavachari/Watson/IBM@IBMUS.

  • Committed by mmidy@apache.org on 07/31/2001
    Modified: java/src/org/apache/xalan/extensions ExtensionHandlerGeneral.java java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/templates ElemExtensionDecl.java
    Committer's log entry: Add support for external scripts (ie, the src attribute on a script element)

  • Committed by sboag@apache.org on 07/31/2001
    Modified: java/src/org/apache/xpath XPathContext.java java/src/org/apache/xpath/axes ChildTestIterator.java OneStepIteratorForward.java
    Committer's log entry: In XPathContext#createDTMIterator(int node), call OneStepIteratorForward(Axis.SELF) instead of DescendantIterator. This addresses one of the bugs in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925 (i.e. <xsl:copy-of select="xalan:nodeset($stylesheets)"/>... The DescendantIterator was enumerating all of the nodes in the RTF rather than just the one.)

  • Committed by johng@apache.org on 07/31/2001
    Modified: java/src/org/apache/xalan/lib/sql ConnectionPool.java ConnectionPoolManager.java DTMDocument.java DefaultConnectionPool.java ObjectArray.java PooledConnection.java SQLDocument.java SQLErrorDocument.java XConnection.java
    Committer's log entry: Added Error Managment and javadocs Submitted by: John Gentilin

  • Committed by sboag@apache.org on 08/01/2001
    Modified: java/src/org/apache/xpath/patterns StepPattern.java
    Committer's log entry: Fixed some major problems with position() and last() in secondary predicates for match patterns. Credit goes to Mukund Raghavachari/Watson/IBM@IBMUS for flagging these.

  • Committed by johng@apache.org on 08/01/2001
    Modified: java/src/org/apache/xalan/lib/sql XConnection.java
    Committer's log entry: Update after building Unit Test's Submitted by: John Gentilin

  • Committed by mmidy@apache.org on 08/01/2001
    Modified: java/src/org/apache/xalan/processor XSLTAttributeDef.java
    Committer's log entry: Fix for Bugzilla 2930. Fix from Alexander Rudnev. Handle namespaced elements.

  • Committed by sboag@apache.org on 08/01/2001
    Modified: java/src/org/apache/xml/dtm DTMAxisIterator.java java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java DTMDefaultBaseIterators.java java/src/org/apache/xpath/axes OneStepIterator.java
    Committer's log entry: Addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2945 Bug was caused by (redundent) cloneWithReset being called from the UnionPathIterator, and the iterator in OneStepIterator not being reset. (Need to review: check other iterators for this.) Call reset on the iterator in OneStepIterator#reset. Reset the position value in the ancestor iterator reset. Define DTMAxisIterator#cloneIterator to not reset the iterator position, and fix the implementations of this to not call clone.reset().

  • Committed by sboag@apache.org on 08/02/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java java/src/org/apache/xpath NodeSetDTM.java java/src/org/apache/xpath/functions FuncExtFunction.java java/src/org/apache/xpath/objects XBoolean.java XNodeSet.java XNumber.java XObject.java
    Added: java/src/org/apache/xpath/objects XNodeSetForDOM.java
    Committer's log entry: Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925 Create new XObject, XNodeSetForDOM, which is constructed from a Node, NodeList, or NodeIterator, and acts the same as XNodeSet, except it returns the original object for object(), nodeset(), and nodelist(). Add XObject#create(Object val, XPathContext xctxt), which is called from TransformerImpl#setParameter(s), and FuncExtFunction#execute (for the return values of the extension). XBoolean and XNumber now also have Boolean and Number constructors, in which case the original object will also be returned from the object() method. This should make the conversion from java object to XObject consistent between function returns and setParameter. These changes should also fix a bug where NodeLists weren't being converted.

  • Committed by jkesselm@apache.org on 08/03/2001
    Added: java/src/org/apache/xml/utils NamespaceSupport2.java
    Committer's log entry: Replacement for org.xml.sax.helpers.NamespaceSupport; extends that API so it can be easily swapped in. Current changes; Minor code reorg. I'm sorry, but I find classes easier to read if fields are defined before methods reference them rather than at end, especially when inner classes are present. Punt stack vector in favor of doubly-linked list. (It was already singly-linked in parallel with the vector!) The whole dirty-tables concept was broken, because Context's ctor always called copyTables and thus always marked tables dirty. It also wasted some time setting itself only to be reset by setParent. I've fixed both by parameterizing the ctor and making copyTables specific to prep-for-new-declaration. (Could be moved back into the declaration method, for that matter.) I'm dubious about the caches in processName. As far as I can tell, Xalan per se never actually uses that method... The use of Hashtables is questionable. Hashtable is known to be inefficient and oversynchronized in older JVMs, and the fact that this is a bidirectional mapping suggests that an approach similar to our own String Pool -- lighter-weight, more targeted, hashing without reduplicating the two column tables -- would be a win. Since these are typically short sets, even simple linear search is worth considering!

  • Committed by jkesselm@apache.org on 08/03/2001
    Modified: java/src/org/apache/xalan/processor StylesheetHandler.java java/src/org/apache/xalan/templates ElemTemplateElement.java java/src/org/apache/xalan/transformer ResultTreeHandler.java TransformSnapshotImpl.java
    Committer's log entry: Cutover to NamespaceSupport2, q.v.

  • Committed by jkesselm@apache.org on 08/03/2001
    Modified: java/src/org/apache/xml/utils NamespaceSupport2.java
    Committer's log entry: Continuing code review.

  • Committed by jkesselm@apache.org on 08/03/2001
    Modified: java/src/org/apache/xml/utils NamespaceSupport2.java
    Committer's log entry: More efficient prefixes-for-specific-URI. This may wind up being redone yet again if/when the underlying storage representation changes.

  • Committed by dleslie@apache.org on 08/03/2001
    Added: java/src/org/apache/xalan/lib PipeDocument.java
    Committer's log entry: PipeDocument extension element (the pipeDocument method).

  • Committed by sboag@apache.org on 08/04/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java java/src/org/apache/xpath NodeSet.java NodeSetDTM.java
    Committer's log entry: Bug fixed regarding the current() function in the root template (related to bug#1269). Bug was reported by David Marston offline. The test for this is conf/copy/copy29. In TransformerImpl#applyTemplateToNode, create a NodeSetDTM and pass it to m_xcontext.pushContextNodeList(cnl);. In NodeSetDTM fix getCurrentNode so that it doesn't use m_next-1 (which simply appears to be completely wrong). Do the same for NodeSet... though I don't think this will be called anywhere in Xalan.

  • Committed by sboag@apache.org on 08/04/2001
    Modified: java/src/org/apache/xml/dtm DTMAxisIterator.java java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java DTMDefaultBaseIterators.java
    Committer's log entry: Provide method for DTMAxisIterator to get the current root node of the iteration.

  • Committed by sboag@apache.org on 08/04/2001
    Modified: java/src/org/apache/xpath/objects XObject.java
    Committer's log entry: In response to regression posted on xalan-dev by John Gentilin <johnglinux@eyecatching.com> on 08/03/2001 06:49 PM. When the XNodeSet taks a DTMIterator, it will call val.getDTMManager();, which will call LocPathIterator#getDTMManager, which will call m_execContext..getDTMManager(), which means that setRoot has to be called on the iterator before it is added to XNodeSet. Thus, call setRoot on the OneStepIterator in create(Object, XPathContext) before it is added to the XNodeSet. The regression was related to fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2925.

  • Committed by sboag@apache.org on 08/05/2001
    Modified: java/src/org/apache/xpath/axes OneStepIterator.java
    Committer's log entry: For the OneStepIterator(DTMAxisIterator iterator) constructor, initialize the node tests to DTMFilter.SHOW_ALL (duh).

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xpath/objects XObject.java
    Added: java/src/org/apache/xpath/objects XObjectFactory.java
    Committer's log entry: Move create methods from XObject to XObjectFactory, in response to cyclic build problems encountered with javac 1.1.8.

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xml/utils NamespaceSupport2.java
    Committer's log entry: Moved anonomous class to PrefixEnumerator, in response to problems encountered with 1.1.8 build. Joe may want to fix this in another way, as I'm sure the anon class is probably a bit cheaper?

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xpath VariableStack.java
    Committer's log entry: Address http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2972, where it was throwing a NPE instead of reporting that the variable was being accessed before it was bound (i.e. the variable was being accessed inside an RTF for that same variable).

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xalan/transformer TransformerHandlerImpl.java
    Committer's log entry: Remove m_hasStarted variable and associated assertion.

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java
    Committer's log entry: Addresses bug http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3001. In the cloneIterator function of PrecedingIterator, the cloned array was being sized for _maxAncestors, which defaults to 8. But if the _stack was resized, it will copy more into the new stack than is allocated. The solution is to allocate the new clone._stack array to _stack.length.

  • Committed by jkesselm@apache.org on 08/06/2001
    Modified: java/src/org/apache/xml/utils NamespaceSupport2.java
    Committer's log entry: Don't create caches unless used (which I don't think they are, in Xalan).

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBaseIterators.java
    Committer's log entry: Made _maxAncestors not static, as this is not compatible with 1.1.8 (reported by Gary Peskin).

  • Committed by jkesselm@apache.org on 08/06/2001
    Modified: java/src/org/apache/xml/utils NamespaceSupport2.java
    Committer's log entry: Playing a hunch, I moved the Context objects out of NamespaceSupport2. They're now a second class in the same file rather than being an inner class. That reduces the size of the Context2 object, and its initialization time, by removing the need for it to carry a reference to the NamespaceSupport2 object that created it. Performance seems significantly improved... even (surprisingly!) on the getDeclaredPrefixes operation. Memory usage also seems better, as expected. NamespaceSupport2 is still acounting for about 5% of the time spent in the ResultTreeHandler, according to my latest trace. Apparently we are calling getDeclaredPrefixes an obscenely large number of times, and the Vector.elements call is adding up. We may want to look at where this is being called from and whether we can reduce the number of invocations.

  • Committed by jkesselm@apache.org on 08/06/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java
    Committer's log entry: Performance improvement; avoid scanning the same list twice.

  • Committed by sboag@apache.org on 08/06/2001
    Modified: java/src/org/apache/xalan/transformer TransformerHandlerImpl.java TransformerImpl.java java/src/org/apache/xalan/xslt Process.java java/src/org/apache/xml/dtm/ref IncrementalSAXSource_Filter.java java/src/org/apache/xml/utils DefaultErrorHandler.java java/src/org/apache/xpath/operations Variable.java
    Committer's log entry: This checkin hopefully fixes many problems with bad diagnostics lately, but at the expense of a slight change in behavior. The rule now is, the DefaultErrorHandler never outputs location info for error and fatalError... this has to be done by the catcher of the exception. Convenience methods for this are in DefaultErrorHandler#printLocation. This method will unwrap the exception as close to the originating source as possible.

  • Committed by sboag@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/extensions XSLProcessorContext.java java/src/org/apache/xml/dtm DTMIterator.java java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java java/src/org/apache/xpath NodeSetDTM.java java/src/org/apache/xpath/axes AttributeIterator.java AxesWalker.java ChildIterator.java ChildTestIterator.java DescendantIterator.java FilterExprWalker.java LocPathIterator.java OneStepIterator.java OneStepIteratorForward.java ReverseAxesWalker.java UnionPathIterator.java WalkingIteratorSorted.java java/src/org/apache/xpath/objects XObjectFactory.java
    Committer's log entry: Changes to allow some dynamic determination in WalkerIteratorSorted to see if the nodes really need to be sorted. Added isDocOrdered() and getAxis() to both DTMIterator and AxesWalker, and implemented appropriate overloads in derived or implementing classes. In FilterExprWalker return the contained DTMIterator's getAxis(). In WalkerIteratorSorted, implement canBeWalkedInNaturalDocOrder() function that is called from setRoot(...). If this function returns true, than don't sort the nodes in setRoot, and in all other respects treat this as if it is a simple WalkingIterator.

  • Committed by mmidy@apache.org on 08/07/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Fix for bugzilla 1251. Make sure exceptions are thrown when we're on the main thread.

  • Committed by sboag@apache.org on 08/07/2001
    Modified: java/src/org/apache/xpath/axes AxesWalker.java WalkerFactory.java WalkingIteratorSorted.java
    Committer's log entry: Eliminate do/while check for duplicates in AxesWalker#nextNode() by using WalkingIteratorSorted for cases where both the preceding[-sibling] and following[-sibling] axes are being walked, and for "@*/foo" patterns ("@attr/foo" patterns still use WalkingIterator).

  • Committed by garyp@apache.org on 08/08/2001
    Modified: java/src/org/apache/xalan/templates FuncFormatNumb.java
    Committer's log entry: Fix bugzilla bug 3036 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3036). When no xsl:decimal-format element is supplied in the composed stylesheet, the defaults specified in the Recommendation section 12.3 should be used for the attribute values, not locale-specific defaults.

  • Committed by garyp@apache.org on 08/09/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Fix for bugzilla 3060 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3060). Prefixes and namespaceURIs are kept in the same Vector, m_prefixMappings. The entries are stored as pairs of vector elements. The even elements contain the prefix and the odd elements contain the URI. In two routines, getPrefix and endElement, the appropriate prefix or URI was being located in the Vector using an indexOf. However, in this case where the prefix and the URI were the same, the routine was looking for the URI but finding the prefix instead of the URI. It tried tried to back up one to get the prefix and underflowed the Vector size.

  • Committed by mmidy@apache.org on 08/09/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java TransformerImpl.java
    Committer's log entry: Implement ErrorHandler in ResultTreeHandler so that fatal errors can get passed in to the SAXHandler. Also change the code in TransformerImpl to call fatalError in case of an error instead of endDocument. (overlaps with URI handling fix...)

  • Committed by mmidy@apache.org on 08/09/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java java/src/org/apache/xalan/transformer TransformerIdentityImpl.java java/src/org/apache/xml/utils SystemIDResolver.java
    Committer's log entry: Fix code to handle absolute paths from unix systems. This fix is part of an ongoing process and is just meant to fix a few pending bugs. More changes are expected in this area.

  • Committed by mmidy@apache.org on 08/10/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: Change version for xalan2.2.D9 build

  • Committed by garyp@apache.org on 08/10/2001
    Modified: java/src/org/apache/xalan/templates ElemElement.java java/src/org/apache/xalan/transformer ResultTreeHandler.java java/src/org/apache/xml/utils DefaultErrorHandler.java
    Committer's log entry: ResultTreeHandler was pushing a new namespace context but failing to note that result in more pushes than pops. Cleaned up the execute() method of ElemElement to make it more understandable (to me) and added a few comments. The DefaultErrorHandler was not flushing Writers that it created. Since the Writers are never closed (and cannot be as there is no close method), error messages were failing to appear.

  • Committed by jkesselm@apache.org on 08/10/2001
    Modified: java/src/org/apache/xml/dtm DTMManager.java
    Committer's log entry: Increasing the number of bits used to identify DTM nodes, at the expense of decreasing the number of DTMs that a DTMManager can track simultaneously. Some other code has been updated to track this change (and to better track posible future changes), as have the IDKEY testcases.

  • Committed by jkesselm@apache.org on 08/10/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDocumentImpl.java DTMManagerDefault.java
    Committer's log entry: Increasing the number of bits used to identify DTM nodes, at the expense of decreasing the number of DTMs that a DTMManager can track simultaneously. Some other code has been updated to track this change (and to better track posible future changes), as have the IDKEY testcases.

  • Committed by jkesselm@apache.org on 08/10/2001
    Modified: java/src/org/apache/xpath/functions FuncGenerateId.java
    Committer's log entry: Increasing the number of bits used to identify DTM nodes, at the expense of decreasing the number of DTMs that a DTMManager can track simultaneously. Some other code has been updated to track this change (and to better track posible future changes), as have the IDKEY testcases.

  • Committed by sboag@apache.org on 08/10/2001
    Modified: java/src/org/apache/xpath NodeSetDTM.java
    Committer's log entry: Try to support getRoot. Fixes problem with TransformStateTest.

  • Committed by mmidy@apache.org on 08/10/2001
    Modified: java/src/org/apache/xpath/axes WalkerFactory.java
    Committer's log entry: Fix problem with duplicate nodes produced from a walking iterator

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D8
 

Core (Non-XSLTC) source code updates:

  • Committed by johng@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Code Update Submitted by:John Gentilin

  • Committed by johng@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Fixed DTM.NULL compile error

  • Committed by jkesselm@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/transformer TreeWalker2Result.java
    Committer's log entry: Redundant test removed, possibly redundant code flagged for %REVIEW%

  • Committed by jkesselm@apache.org on 07/20/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java java/src/org/apache/xalan/transformer TransformerHandlerImpl.java java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDocumentImpl.java DTMManagerDefault.java IncrementalSAXSource.java IncrementalSAXSource_Filter.java IncrementalSAXSource_Xerces.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java java/src/org/apache/xml/utils SuballocatedIntVector.java
    Committer's log entry: IncrementalSAXSource replaces CoroutineSAXParser -- simpler API, hence less risk of programming errors introducing timing windows. I hope. A few performance-related tweaks are also included in this check-in. Only very minor gains are expected.

  • Committed by johng@apache.org on 07/22/2001
    Modified: java/src/org/apache/xalan/lib/sql ObjectArray.java SQLDocument.java
    Committer's log entry: Project Update

  • Committed by jkesselm@apache.org on 07/23/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Oops.Should have been checked in as part of the IncrementalSAXSource cutover. Sorry!

  • Committed by costin@apache.org on 07/23/2001
    Modified: java build.xml java/src/org/apache/xml/dtm/ref IncrementalSAXSource_Filter.java java/src/org/apache/xml/utils/synthetic JavaUtils.java
    Committer's log entry: 3 small fixes to the build process ( to make it work with jdk1.4 and crimson) - exclude IncrementalSAXSource_Xerces if xerces is not detected - comment-out the "main" in IncrementalSAXSource_Filter.java ( it is a test, but has deps on xerces ) - don't try to load the compiler in syntetic/JavaUtils. This is a mess, it was debated on tomcat-dev and ant-dev, as you may know some people decided to remove the internal compiler class ( sun.tools.javac.Main ), and that brakes jasper, ant and now xalan. It seems right now the only portable way to run the compiler is via command line call in a separate process ( jikes can easily make up for the overhead of creating a new process and doesn't leave garbage ). Question: is synthetic used ? Seems like a very usefull package, but if xalan is not using it it might be better to move it to xml-commons or jakarta-commons or some other place.

  • Committed by sboag@apache.org on 07/24/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Don't set m_level anymore, as it looks like Joe commented out it's initialization. m_level is no longer called by Xalan, and the implementation can calculate it when it is called.

  • Committed by garyp@apache.org on 07/24/2001
    Modified: java/src/org/apache/xalan/transformer TransformerIdentityImpl.java
    Committer's log entry: Fixed bug 2758 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2758). The flag indicating that a call to startDocument() in the resultContentHandler was necessary was not being reset for multiple transforms.

  • Committed by garyp@apache.org on 07/25/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Fix bug 2727 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2727). Attributes which contain a namespace prefix are indicated by placing a negative number in the appropriate entry in the m_dataOrQName array. The absolute value of this number is an entry in m_data. However, in this example, there were no text nodes before the first namespaced attribute so the entry in m_data had an array index of 0. This resulted in an entry of zero, not a negative number, in m_dataOrQName. This situation got several routines which tested for < 0 confused. I looked at several ways of fixing this but decided to just always allocate m_data.elementAt(0) entry to a dummy entry. The other solutions involved runtime checking which could slow down this piece of code and I felt that wasting one entry was worth it to not slow down the run time.

  • Committed by garyp@apache.org on 07/26/2001
    Modified: java/src/org/apache/xalan/serialize WriterToUTF8Buffered.java
    Committer's log entry: Fix bugzilla bug 2639 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2639) where buffer was overflowing because the expansion of the Unicode characters into multiple UTF8 characters was not being properly taken into account. Many thanks to Gunnlaugur Thor Briem for his "multiply by three" trick.

  • Committed by sboag@apache.org on 07/26/2001
    Modified: java/src/org/apache/xalan/transformer NodeSorter.java
    Committer's log entry: Commented out NumberFormat m_formatter = NumberFormat.getNumberInstance();. Mukund reported: a minor improvement for alphabetize.xsl is to comment out the line //NumberFormat m_formatter = NumberFormat.getNumberInstance(); in NodeSorter.java. The variable m_formatter does not seem to be used anywhere, and the performance difference is: Before: alphabetize 10 90 5108 196 156 34.58 OK After : alphabetize 10 70 4316 196 156 40.93 OK

  • Committed by dleslie@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: 2.2.D8

  • Committed by dleslie@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: 2.2.D8

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/transformer NodeSortKey.java
    Committer's log entry: Submitted fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2851.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Just added some stuff to diagnose bugs for flavor th.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xpath/axes WalkerFactory.java java/src/org/apache/xpath/compiler Compiler.java java/src/org/apache/xpath/patterns ContextMatchStepPattern.java StepPattern.java
    Committer's log entry: These are changes submitted (offline) by Mukund Raghavachari/Watson/IBM@IBMUS. This fixes a bug with match="chapter//footnote[1]" patterns. The main change here is minor to remove the automatic attachment of parent::* to simple step patterns. He has re-implemented executePredicates to be more efficient. Given a pattern such as row[6], it does not iterate over the entire axis until it reaches the node to see if it is the sixth node. Rather, starting from the current node, it works backwards (preceding siblings) until it either runs out of nodes or finds more than six nodes that match the predicate [I can explain it better if desired]. This optimization improves performance slightly overall. It helps decoy and patterns most (by about 10%). The other optimization that I implemented was the following. For a pattern foo[][3][][4] ..., where more than one predicate is a number (position check), in checking the predicate [4], the fact that the current node has passed foo[][3] implies that it is the only node that is the third node among its siblings that passes foo[]. Therefore, any subsequent position checks can be true if and only if the position is [1]. This optimization is not used by the xsltmark benchmarks and so does not offer any performance benefits.

  • Committed by sboag@apache.org on 07/27/2001
    Modified: java/src/org/apache/xpath/axes DescendantIterator.java
    Committer's log entry: Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1336

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D7
 

Core (Non-XSLTC) source code updates:

  • Committed by sboag@apache.org on 07/03/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMManagerDefault.java
    Committer's log entry: Since the real root of our tree may be a DocumentFragment, we need to use getParent to find the root, instead of getOwnerDocument. Otherwise DOM2DTM#getHandleOfNode will be very unhappy. Result of report via private mail by Carsten Ziegeler of breakage in Cocoon.

  • Committed by sboag@apache.org on 07/05/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToHTML.java SerializerToXML.java
    Committer's log entry: Made m_maxCharacter, accumDefaultEscape, accumDefaultEntity, and m_isRawStack protected by request from Johannes Farrenkopf and Frank Nestel.

  • Committed by sboag@apache.org on 07/05/2001
    Modified: java/src/org/apache/xpath/functions FuncNormalizeSpace.java
    Committer's log entry: In executeCharsToContentHandler check first for DTM.NULL before trying to get the DTM.

  • Committed by sboag@apache.org on 07/05/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: Fix bug reported by "Carsten Ziegeler" <cziegeler@sundn.de>. Test for this is whitespace23.

  • Committed by jkesselm@apache.org on 07/05/2001
    Modified: java/src/org/apache/xml/utils SuballocatedIntVector.java
    Committer's log entry: Drop some bounds tests for cases which shouldn't arise in the first place, since this is an inner-loop method.

  • Committed by jkesselm@apache.org on 07/05/2001
    Modified: java/src/org/apache/xml/utils SuballocatedByteVector.java SuballocatedIntVector.java
    Committer's log entry: Synch SuballocatedByteVector with changed SuballocatedIntVector

  • Committed by sboag@apache.org on 07/05/2001
    Modified: java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java
    Committer's log entry: Revert back to throwing a shutdownException if (arg == null) in co_yield. I see this occur if the parser is Crimson with output\output01, and it causes a hang if the shutdownException is not thrown.

  • Committed by sboag@apache.org on 07/06/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToXML.java
    Committer's log entry: Make accumDefaultEntity and accumDefaultEscape non-final.

  • Committed by sboag@apache.org on 07/06/2001
    Modified: java/src/org/apache/xpath/axes ChildTestIterator.java OneStepIterator.java java/src/org/apache/xpath/functions FuncExtFunction.java
    Committer's log entry: Fix for John G. for the SQL extension: handle return types of DTM and DTMAxisIterator.

  • Committed by sboag@apache.org on 07/09/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: In executeChildTemplates, somehow there was a popMode without a corresponding pushMode. The pushMode was added. Addresses bug posted by Stephane Bailliez <sbailliez@imediation.com> on the xalan-dev list on 07/09/2001 07:28 AM.

  • Committed by garyp@apache.org on 07/10/2001
    Modified: java/src/org/apache/xalan/extensions ExpressionContext.java java/src/org/apache/xalan/templates StylesheetRoot.java java/src/org/apache/xpath VariableStack.java XPathContext.java
    Committer's log entry: Resolve bugzilla 2355 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355>. To make the functionality clearer, I've changed the method name from getVariable to getVariableOrParam since the routine will pick up either one. Also fixed a bug where top level variables and parameters were not getting marked as such.

  • Committed by garyp@apache.org on 07/10/2001
    Modified: java/src/org/apache/xalan/lib Extensions.java java/src/org/apache/xpath XPathContext.java
    Committer's log entry: Resolve bugzilla 2523 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2523>. evaluate extension function was not refactored with DTM. Also need to add function to XPathContext.XPathExpressionContext to allow an extension to obtain the associated XPathContext.

  • Committed by mmidy@apache.org on 07/10/2001
    Modified: java/src/org/apache/xpath/axes DescendantIterator.java
    Committer's log entry: Fix problem with descendant-or-self and from root pattern. When from root, descedant or self was not recognized.

  • Committed by jkesselm@apache.org on 07/10/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Quick patch to handle case where someone wants to build a DTM from an Element rather than from a Document. The Attr handling might want to move down into addNode. This opens several cans of worms -- what if the next user wants the root of their DTM to be an EntityReference node, which has no DTM node equivalent -- but we'll eat those when we get to them.

  • Committed by garyp@apache.org on 07/10/2001
    Modified: java/src/org/apache/xalan/lib Extensions.java
    Committer's log entry: Modify distinct() extension so that it no longer relies on DOMHelper which is deprecated but uses ExpressionContext.toString().

  • Committed by sboag@apache.org on 07/11/2001
    Modified: java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/trace PrintTraceListener.java java/src/org/apache/xalan/transformer TransformerImpl.java java/src/org/apache/xalan/xslt Process.java java/src/org/apache/xml/dtm DTM.java java/src/org/apache/xml/dtm/ref DTMDocumentImpl.java ExpandedNameTable.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Added: java/src/org/apache/xalan/lib NodeInfo.java java/src/org/apache/xalan/transformer XalanProperties.java java/src/org/apache/xml/dtm/ref NodeLocator.java
    Committer's log entry: Application of patch submitted by Ovidiu Predescu <ovidiu@cup.hp.com> for file, line, column number information for XML source document. [A made one change: m_sourceSystemId, m_sourceLine, and m_sourceColumn are not created with the member variable initializer, since they are initialized in setProperty.] The following patch is a rework of a previous patch I've submitted on May 24 against the Stree model, current at that time. This time the patch is against the DTM model, and makes use of DTM features to optimize the lookup time and storage requirements. I hope this time the patch gets incorporated in the CVS repository, before any major rework happens again ;-). As with the previous patch, there is no overhead in space or time if source information is not needed. From a user perspective, this feature can be turned on by passing the -L flag to Xalan when invoking it from the command line. Programmatically you can also enable it by invoking the setProperty method on the TransformerImpl: TransformerImpl impl = ((TransformerImpl) transformer); impl.setProperty(org.apache.xalan.transformer.XalanProperties.SOURCE_LOCATION, Boolean.TRUE); A Transformer "property" is different from a "feature": while a feature is specific to all the transformer instances and usually refers to an implementation aspect, a property is a runtime capability that is set per Transformer instance. Currently the only property added by this patch is the source location in the XML source document. The patch adds two methods to the DTM interface: public void setProperty(String property, Object value); public SourceLocator getSourceLocatorFor(int node); The second method is used to obtain the source location given a node handle. There are two ways you can make use of the source location. The first one is from within a stylesheet, where you can have something like this: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:nodeinfo="xalan://org.apache.xalan.lib.NodeInfo" version="1.0"> <xsl:template match="*"> //node <xsl:value-of select="name()"/> //file <xsl:value-of select="nodeinfo:systemId()"/> //line <xsl:value-of select="nodeinfo:lineNumber()"/> //column <xsl:value-of select="nodeinfo:columnNumber()"/> <xsl:apply-templates/> </xsl:template> </xsl:stylesheet> If no arguments are passed to the systemId(), lineNumber() or columnNumber() functions, the corresponding information of the current context node is returned. A node can be passed as argument to the above functions, in which case the corresponding information about that node is returned. If a node set containing multiple nodes is passed as argument, only the information of the first node in the set is returned. The second way of obtaining the source location is programmatically. Given a Node instance, one can obtain the owner DTM and the node handle (an integer) that represents the node. Unfortunately I didn't see any way of hiding this: if you find one please let me know and I'll fix it. The following example is extracted from PrintTraceListener and illustrates the API: Node sourceNode = ev.m_sourceNode; int nodeHandler = ((DTMNodeProxy)sourceNode).getDTMNodeNumber(); SourceLocator locator = ((DTMNodeProxy)sourceNode).getDTM() .getSourceLocatorFor(nodeHandler); m_pw.println("Selected source node '" + sourceNode.getNodeName() + "', at " + locator);

  • Committed by garyp@apache.org on 07/11/2001
    Modified: java/src/org/apache/xpath/compiler Compiler.java
    Committer's log entry: Fix bug 2175 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2175> by adding the current time to the method key to ensure method key uniqueness. Multiple Compilers were getting the same hashCode, particularly in Visual Age for Java, due to aggressive garbage collection. Added the current time in mills to distinguish between the different functions being compiled.

  • Committed by garyp@apache.org on 07/11/2001
    Modified: java/src/org/apache/xalan/templates ElemVariable.java StylesheetRoot.java java/src/org/apache/xpath VariableStack.java java/src/org/apache/xpath/operations Variable.java
    Committer's log entry: Resolve bugzilla 2355 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355>. Added code to populate m_index for global variables and parameters. If the backward search for templates reaches the top level, use the list of composed top-level variables and parameters from StylesheetRoot.

  • Committed by sboag@apache.org on 07/11/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeProxy.java
    Committer's log entry: Now implements DocumentFragment.

  • Committed by dleslie@apache.org on 07/11/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: Updated version to 2.2.0.

  • Committed by dleslie@apache.org on 07/11/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: Updated version to 2.2.0.

  • Committed by sboag@apache.org on 07/11/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMNodeProxy.java
    Committer's log entry: Fixed very ugly bug, left-over from DTM1, in getValue, where +1 was being added per the old attribute structure of DTM1.

  • Committed by johng@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/lib/sql ConnectionPool.java DefaultConnectionPool.java PooledConnection.java QueryParameter.java XConnection.java
    Added: java/src/org/apache/xalan/lib/sql ConnectionPoolManager.java ObjectArray.java SQLDocument.java SQLErrorDocument.java
    Removed: java/src/org/apache/xalan/lib/sql Column.java ColumnAttribute.java ColumnData.java ColumnHeader.java ExtensionError.java Row.java RowSet.java SQLExtensionError.java StreamableNode.java XConnectionPoolManager.java XStatement.java
    Committer's log entry: First round of changes to port DOM mode to DTM Mode Submitted by: John Gentilin mailto://johng@apache.org

  • Committed by mmidy@apache.org on 07/12/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Check if locator property is set before trying to use locator fields

  • Committed by mmidy@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/trace PrintTraceListener.java
    Committer's log entry: Don't print locator message if locator is null

  • Committed by sboag@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/transformer TransformerHandlerImpl.java
    Committer's log entry: In startDocument, run m_contentHandler.startDocument before you start the thread.

  • Committed by sboag@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Call wait for initial events before the the transform is started.

  • Committed by sboag@apache.org on 07/12/2001
    Modified: java/src/org/apache/xml/dtm/ref CoroutineSAXParser.java
    Committer's log entry: Allow co_yield to be called after the parse has finished.

  • Committed by sboag@apache.org on 07/12/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java SQLErrorDocument.java
    Committer's log entry: Added setProperty and getSourceLocatorFor empty methods.

  • Committed by garyp@apache.org on 07/13/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: Fix problem reported by Carsten Ziegeler <cziegeler@sundn.de>. Using ApplyXPath (or doing a transformation) with DOM input was resulting in an NPE due to declareNamespaceInContext() being called before setting m_exptype which is needed by declareNamespaceInContext().

  • Committed by sboag@apache.org on 07/13/2001
    Modified: java/src/org/apache/xalan/transformer TransformerHandlerImpl.java
    Committer's log entry: Add pauseForTransformThreadStartup. Call this in startDocument just after starting the transform thread. This should get rid of any variability with racing threads.

  • Committed by sboag@apache.org on 07/13/2001
    Modified: java/src/org/apache/xalan/extensions XSLProcessorContext.java
    Committer's log entry: Fix problem reported by jason heddings <Jason.Heddings@Sun.COM>. "In v2.0.1, I was able to pass a Node to this function and have the node be copied to the result tree (as expected). In the source code for XSLProcessorContext, it appears that the only objects that can be sent to the result tree are XObjects. Everything else is converted to a String. So for instance, I can no longer create a ProcessingInstruction and pass it to the result tree via this method since the PI is simply converted to a String."

  • Committed by sboag@apache.org on 07/13/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToHTML.java
    Committer's log entry: Application of patch submitted by Benjamin Riefenstahl <Benjamin.Riefenstahl@ision.net> Motivation: We are using Xalan to generate HTML pages. We have the requirement to integrate code for ad banners. The ad server provider has written the code to use with compatibility to NetScape 4 in mind. The code uses the NetScape proprietory <LAYER> element and <IFRAME> elements for other browsers. The SRC attributes of these elements contain URLs with several URL parameters separated by '&', as is the common convention. Problem: The code is integrated in our XSL stylesheets. In the stylesheet the '&' has to be written as the entity '&amp;'. That's ok. The problem is that in the output the '&' is also written as '&amp;' which is not ok, because NetScape doesn't understand that. OTOH the same URL is written with '&' when used in an <A> element. Solution: This goes down to a different handling of attribute values in the class SerializeToHTML, depending on whether the attribute in question is known to contain a URI or not. Xalan knows this for <A> but not for <LAYER> and <IFRAME>. When I compare the list in SerializeToHTML.java with the HTML specs, I find a couple of other missing URI attributes in SerializeToHTML.java. When I add the missing pieces, the generation works fine. Patch: Here is the patch (diff -c) for xalan-j_2_2_D6. I also have one for xalan-j_2_0_1 which is the version I actually tested this with. Please let me know if this is insufficient or the patch is wrong or if there is something else I can do to fix this problem.

  • Committed by sboag@apache.org on 07/13/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: On code review of previous checkin from Gary P., we determined there was a problem with the point at which type was declared a DTM.NAMESPACE_NODE. So that part was moved back up (actuall a bit higher than where it was before), and the call to declareNamespaceInContext was moved a bit further down.

  • Committed by johng@apache.org on 07/15/2001
    Modified: java/src/org/apache/xalan/lib/sql XConnection.java
    Committer's log entry: Project Update Submitted by: John Gentilin mailto://johng@apache.org

  • Committed by johng@apache.org on 07/15/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Project Update Submitted by: John gentilin mailto://johng@apache.org

  • Committed by johng@apache.org on 07/15/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Fixup from previous check-in, defined new functions. Submitted by: John Gentilin mailto://johng@apache.org

  • Committed by johng@apache.org on 07/15/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Project Update

  • Committed by johng@apache.org on 07/15/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: reduced Attribute's for testing

  • Committed by sboag@apache.org on 07/16/2001
    Modified: java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java
    Committer's log entry: Minor hack to catch an attribute value being null.

  • Committed by mmidy@apache.org on 07/17/2001
    Modified: java/src/org/apache/xalan/templates ElemNumber.java java/src/org/apache/xalan/transformer Counter.java CountersTable.java KeyRefIterator.java java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java java/src/org/apache/xpath NodeSetDTM.java java/src/org/apache/xpath/axes LocPathIterator.java UnionPathIterator.java WalkingIteratorSorted.java java/src/org/apache/xpath/objects XNodeSet.java XRTreeFrag.java
    Committer's log entry: Add new parameter to NodeSetDTM constructor. We need to have a DTMManager on hand. Change code to use the new constructors.

  • Committed by mmidy@apache.org on 07/17/2001
    Modified: java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
    Committer's log entry: OOps! Back out this last change. Old code on my machine!!!

  • Committed by johng@apache.org on 07/17/2001
    Modified: java/src/org/apache/xalan/lib/sql SQLDocument.java
    Committer's log entry: Fixed a few bugs, almost there Submitted by: John Gentilin mailto://johng@apache.org

  • Committed by jkesselm@apache.org on 07/18/2001
    Modified: java/src/org/apache/xml/dtm/ref CoroutineManager.java CoroutineSAXParser.java CoroutineSAXParser_Xerces.java
    Added: java/src/org/apache/xml/dtm/ref IncrementalSAXSource.java IncrementalSAXSource_Filter.java IncrementalSAXSource_Xerces.java
    Committer's log entry: Starting to phase out Coroutine*Parser* in favor of IncrementalSAXSource*. The latter simplifies the code, and should help us avoid some of the confusion that can arise in using the older tools. Most importantly, it greatly simplifies the calling sequences, by discarding the "which file do you want to parse" and "do you want to parse any more files" transactions. These now operate _only_ as filters, and only as single -use (though in fact the Xerces-specific version is reusable, and we may reintroduce that feature in the generic filtering version at a later date). Note too that we have swept the CoroutineManager completely under the covers of the filter's API. There's no particular reason to expose that implementation detal to the outside world. Still to be done: Rework the rest of Xalan to use the new code.

  • Committed by jkesselm@apache.org on 07/18/2001
    Modified: java/src/org/apache/xml/dtm/ref CoroutineParser.java
    Committer's log entry: Starting to phase out Coroutine*Parser* in favor of IncrementalSAXSource*. See comment in previous check-in; I just missed this one....

  • Committed by jkesselm@apache.org on 07/18/2001
    Modified: java/src/org/apache/xml/dtm/ref DTMStringPool.java
    Committer's log entry: doc.

  • Committed by dleslie@apache.org on 07/18/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: 2.2.D7

  • Committed by dleslie@apache.org on 07/18/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: 2.2.D7

  • Committed by jkesselm@apache.org on 07/18/2001
    Removed: java/src/org/apache/xml/dtm/ref DTMBuilder.java
    Committer's log entry: Obsolete

NoteThis release includes no updates of the compatibility source code (now deprecated).

Changes for Xalan-Java 2.2.D6
 

Important: Xerces has added a number of DOM level-3 methods to its DOM interfaces. The DOM level-3 proposal is currently a working draft (it is not yet a W3C recommendation), and Xalan does not support these new methods. To run Xalan in the JDK 1.1.8 platform, you must put xalan.jar (with its DOM level-2 interfaces) in front of xerces.jar on the system class path. If you want to rebuild Xalan (on JDK 1.1.8 or higher), you must put Xalan in front of xerces.jar on the system class path.

This beta release includes the following non-XSLTC code changes:

  • Costin Manolache has slightly modified the CoRoutine stuff so that a you can compile and run everything but the CoRoutineXercesParser without having Xerces on the classpath.

  • Joseph Kesselman added chunked int array stuff to address our scaling problems that Mukund & co. uncovered. This was a fairly mechanical, but still substantial, change. No bugs have yet been discovered that relate to this. This is probably the most controversial change.

  • The Process class now outputs incrementally if the output is standard out. This is mostly for testing purposes, but it makes general sense.

  • Bug was fixed with setting the incremental flag in TransformerFactoryImpl. Clearly the change was made but never tested. Simply a missing 'else'.

  • Fix for Bugzilla Bug 2275, Xalan did not fire the right templates. This was substantial and somewhat risky. Xalan had several problems related to the last() function. Fixes cover four axes files.

  • Change PrintTraceListener to output the file, as well as the line numbers. This is really a feature change, but simple, and aids diagnosing problems with multi-part stylesheets.

  • XPath fix: the XPath API wasn't working correctly due to a problem with with NodeSet/NodeIterator adapters. This fix ended up interacting quite a bit with the #2275 fix.

  • Fix for the Norm Walsh bug posted 06/20/2001: iterators weren't always being cloned correctly from the variable value stack. This fix is not without some risk, though we haven't seen any problems since Scott Boag made it.

  • David Bertoni added missing html element properties to SerializerToHTML.java.

  • Shance Curcuru modified TransformerFactoryImpl.setAttribute() to accept a String ("true" or "false") as well as a Boolean object to set the value of a Boolean attribute.

  • TransformerHandlerImpl was threading when incrementality is turned off. Scott Boag has fixed this bug.

Changes for Xalan-Java 2.2.D2
 

This release includes the following changes:

The primary focus of the 2.2 Developer releases is incorporation of all our work over the past several months on the Document Table Model (DTM).

As a result of the changes in *internal* api, you may encounter problems with extensions. We have done some bug fixing in support for extensions since 2.2.D1. John Gentilin is working on fixing the SQL library extension,which currently is broken. Please report any problems you find (see bugs).

The DTM and related work provides faster performance and less accumulation of garbage... though it is an ongoing battle. Brief summary:

  • The DTM identifies nodes with 32-bit integer handles. The DTM has many features, including direct character dispatch to SAX2, native DTM iterators and "traversers", multiple document management, etc.

  • Joe Kesselman's CoRoutine parsers, which are in a threaded SAX flavor and in a Xerces parseMore() flavor (no threads). These do away with the "race" conditions that occured in the original code, and should make Xalan much more robust.

  • *Much* more robust XPath itteration. The "waiting" iterators of old are no more, and good riddance. There is stil lots more we want to do with this mechanism. (There is something here called MatchIterators, but it's not being used yet for various reasons. We will be taking advantage of these down the line.)

  • A fair amount of XObject creation reduction. You can now get boolean, number, nodeset, and string values directly from an Expression, instead of going through an XObject.

  • XMLString, which allows us to work with string objects that don't wrap Java's String object. These objects get their character data from an array or Fast String Buffer.

  • Serializers now only do internal buffering if they know they are writing to a FileStream.

  • The variable stack mechanism has been redisigned, so that it is no longer so interpretive, and we believe it is much more robust.

  • Some small amount of stylesheet rewriting (but not yet redundent expression elimination), in particular to reduce full RTF creation and interpretation.

Xalan-Java implements two DTM performance features that you can control with the TransformerFactory setAttribute() method. See DTM performance settings


Changes for Xalan-Java 2.1.0
 

This release includes a number of bug fixes to Xalan-Java and TrAX. We have also enhanced the ApplyXSLT servlet. It can now be set up to use a compiled Templates object to respond to multiple client transformation requests involving the same stylesheet.

Core source code updates:

  • Committed by costin@apache.org on 03/16/2001
    Modified: java/src/org/apache/xalan/processor StylesheetHandler.java java/src/org/apache/xpath Expression.java XPath.java XPathContext.java java/src/org/apache/xpath/compiler Compiler.java XPathParser.java
    Committer's log entry: Renamed "assert()" to "assertion()". Assert can be a keyword, and brake the compilation.

  • Committed by mmidy@apache.org on 03/19/2001
    Modified: java/src/org/apache/xalan/transformer KeyWalker.java
    Committer's log entry: Throw an error message if the key name in a key function was not defined

  • Committed by jkesselm@apache.org on 03/20/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: Reworked "chunk growth" algorithm again. Growing mode not yet adequately tested, but fixed-size mode (which is what Xalan is currently using) is simpler code and shows improved performance.

  • Committed by curcuru@apache.org on 03/20/2001
    Added: java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Committer's log entry: Utility class to check your JVM environment for common problems

  • Committed by curcuru@apache.org on 03/22/2001
    Modified: java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Committer's log entry: Added more .jar sizes to jarVersions listing

  • Committed by jkesselm@apache.org on 03/22/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: We've reworked the algorithm again. The fixed-chunk-size mode (initial and max. chunk sizes equal) runs essentially unchanged, though with a few cycles less overhead. The variable-chunk-size mode now uses a recursive-encapsulation scheme, where the first chunk may itself be a FastStringBuffer whose total length equals one chunk; every so often we push the existing data down one level and restart with a larger chunk size. The new scheme has been stress-tested and is apparently working. At this writing, however, Xalan uses only the fixed-size mode (initial size equals max size), and no effort has been made to find the optimial values for the tuning parameters. It does appear likely that the best values will vary with usage patterns, but we hope to find a good compromise. I'll probably be putting this aside for a while to work on other things. If someone wants to experiment with varying the block sizes and how frequently they grow, and suggest good performance/memory tradeoff points, go for it!

  • Committed by jkesselm@apache.org on 03/22/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: Minor tweak to the javadoc.

  • Committed by jkesselm@apache.org on 03/23/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: reset() versus setLength(0).

  • Committed by sboag@apache.org on 03/26/2001
    Modified: java/src/org/apache/xalan/templates ElemForEach.java
    Committer's log entry: Fix for bug# 1116, getMatchedTemplate throws ClassCastException. Don't push template unless it is a xsl:template.

  • Committed by sboag@apache.org on 03/26/2001
    Modified: java/src/org/apache/xalan/templates OutputProperties.java
    Committer's log entry: Patches submitted by Patrick Moore <patrickm@rioport.com> on 03/15/2001 01:25 PM: This proposed change does a number of things: 1. Problem: HTML output method does not uses XML output properties as default. In both org/apache/xalan/templates/output_html.properties and in the java doc for org/apache/xalan/templates/OutputProperties#getDefaultMethodProperties(Strin g) It specifically states that all OutputProperties use the output_xml.properties as a base. In the code this is not true for html. This is now changed to match the comments 2. Problem: unclear IOException. If there was a problem loading the XML properties file. The wrapped exception now will say which file was trying to be loaded. If the file did not exist I was getting a very strange "Stream closed" IOException message. 3. Problem: the streams were not closed after reading the property file. Fixed. 4. Problem: the double-check locking mechanism does not work in Java (see bug #919) <http://www.javaworld.com/javaworld/jw-02-2001/jw-0209-toolbox.html> 5. QUESTION: now if there is a default properties (i.e. output_xml.properties has been loaded) but the expected properties file does not exist a error message will be printed to System.err and the processing will continuing using just the default properties (output_xml.properties) I felt that this is the best behavior. (comment by sboag: I think it's better to throw a runtime exception in this case. but we can discuss this over time. For now the patch was modified to do the runtime exception).

  • Committed by sboag@apache.org on 03/27/2001
    Modified: java/src/org/apache/xalan/processor XSLTSchema.java java/src/org/apache/xalan/stree SourceTreeHandler.java java/src/org/apache/xalan/templates ElemForEach.java ElemLiteralResult.java java/src/org/apache/xalan/transformer QueuedSAXEvent.java ResultTreeHandler.java TransformerImpl.java java/src/org/apache/xml/utils BoolStack.java java/src/org/apache/xpath XPathContext.java
    Committer's log entry: This check-in contains a couple things that overlapped on my system, so I'm checking them in together. 1) Unfinished (in progress) implementation of TransformSnapshot mechanism, which will hopefully allow a result ContentHandler to take a snapshot at a given point, and the restart execution from that point at some later time. For tooling support. 2) Check to make sure SourceTreeHandler isn't being entered twice, which is related to the cocoon bug from a couple of weeks ago. This will just help diagnose such a problem in the future. 3) Removed the error stack trace print from postExceptionFromThread. 4) Report exception in SourceTreeHandler#endDocument after the join, if we can determine that the posted exception won't be caught elsewhere. 5) removed some catches that simply rethrew the exception (thanks to Patrick Moore <patrickm@rioport.com>). See my note on 3/27/2001 to Patrick for more info on the last two.

  • Committed by sboag@apache.org on 03/27/2001
    Added: java/src/org/apache/xalan/transformer TransformSnapshot.java TransformSnapshotImpl.java
    Committer's log entry: Unfinished (in progress) implementation of TransformSnapshot mechanism, which will hopefully allow a result ContentHandler to take a snapshot at a given point, and the restart execution from that point at some later time. For tooling support.on the last two.

  • Committed by mmidy@apache.org on 03/29/2001
    Modified: java/src/org/apache/xalan/processor ProcessorStylesheetElement.java ProcessorTemplateElem.java StylesheetHandler.java XSLTElementDef.java XSLTElementProcessor.java XSLTSchema.java
    Committer's log entry: Try to catch element order and required element errors during stylesheet object creation. This new code adds an order and a required field to XSLElementDef objects where it is applicable.

  • Committed by garyp@apache.org on 04/02/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Fix bugzilla bug 1170. If we're trying an xsl:apply-imports at the top level (ie there are no imported stylesheets), we need to indicate that there is no matching template and prevent and infinite recursion by using the built-in template.

  • Committed by garyp@apache.org on 04/02/2001
    Modified: java/src/org/apache/xalan/extensions MethodResolver.java
    Committer's log entry: Code cleanup submitted by Art Welch <art_w@EASTPOINT.COM>.

  • Committed by mmidy@apache.org on 04/06/2001
    Modified: java/src/org/apache/xml/utils TreeWalker.java
    Committer's log entry: Add locator support to TreeWalker

  • Committed by sboag@apache.org on 04/06/2001
    Modified: java/src/org/apache/xalan/transformer QueuedStartElement.java
    Committer's log entry: Small fix made for getCurrentNode.

  • Committed by sboag@apache.org on 04/06/2001
    Modified: java/src/org/apache/xml/utils TreeWalker.java
    Committer's log entry: Commented out extra call to getData()... this could be a big performance improvement for some stylesheets.

  • Committed by mmidy@apache.org on 04/09/2001
    Modified: java/src/org/apache/xalan/transformer TransformSnapshotImpl.java TransformerImpl.java
    Committer's log entry: Additional support for tooling. Allow tools to take a snapshot of context and restart execution at that point.

  • Committed by mmidy@apache.org on 04/10/2001
    Modified: java/src/org/apache/xalan/processor XSLTElementProcessor.java java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/transformer TransformSnapshotImpl.java TransformerImpl.java
    Committer's log entry: Misc stuff left out from previous check in

  • Committed by mmidy@apache.org on 04/11/2001
    Modified: java/src/org/apache/xpath/functions FuncCurrent.java
    Committer's log entry: Don't assume that the object returned by getSubContextList() is a PredicatedNodeTest object.

  • Committed by mmidy@apache.org on 04/11/2001
    Modified: java/src/org/apache/xalan/processor ProcessorInclude.java TransformerFactoryImpl.java java/src/org/apache/xalan/transformer TransformerIdentityImpl.java java/src/org/apache/xml/utils TreeWalker.java
    Committer's log entry: Create new TreeWalker constructor that takes a systemId parameter. Change TreeWalker to change fields in the locator and not set it for each node.

  • Committed by curcuru@apache.org on 04/17/2001
    Modified: java/src/org/apache/xpath XPath.java
    Committer's log entry: Fix Bugzilla bug: PR: 1106 Submitted by: elharo@metalab.unc.edu

  • Committed by curcuru@apache.org on 04/18/2001
    Modified: java/src/org/apache/xalan/lib/sql QueryParameter.java SQLExtensionError.java XConnection.java
    Committer's log entry: Minor Javadoc updates (add @author name, remove declared but unthrown @throws)

  • Committed by johng@apache.org on 04/18/2001
    Modified: java/src/org/apache/xalan/lib/sql Column.java ColumnAttribute.java ColumnData.java ColumnHeader.java Row.java RowSet.java StreamableNode.java XConnection.java XStatement.java
    Committer's log entry: Support for Streamable Mode- John Gentilin

  • Committed by garyp@apache.org on 04/24/2001
    Modified: java/src/org/apache/xpath/objects XObject.java
    Committer's log entry: Resolve bugzilla bug 1015 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015>. Fix prevents null pointer exceptions when null non-XSLT arguments are passed to an extension function.

  • Committed by garyp@apache.org on 04/24/2001
    Modified: java/src/org/apache/xalan/extensions MethodResolver.java
    Committer's log entry: Resolve bugzilla bug 1015 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1015>. Fix prevents null pointer exceptions when null non-XSLT arguments are passed to an extension function.

  • Committed by mmidy@apache.org on 04/24/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java
    Committer's log entry: Fix copy/paste error. Want to use TransformerFactoryImpl's class loader.

  • Committed by mmidy@apache.org on 04/24/2001
    Modified: java/src/org/apache/xalan/transformer TransformSnapshotImpl.java
    Committer's log entry: Keep a copy of current contextNodeList is there is one

  • Committed by curcuru@apache.org on 04/25/2001
    Modified: java/src/org/apache/xalan/xslt EnvironmentCheck.java
    Committer's log entry: Added checkDirForJars() which checks java.ext.dirs as well now

  • Committed by dleslie@apache.org on 04/26/2001
    Added: java/src/javax/xml/transform package.html java/src/javax/xml/transform/dom package.html java/src/javax/xml/transform/sax package.html java/src/javax/xml/transform/stream package.html
    Committer's log entry: Add package.html for each package in javax.xml.transform.

  • Committed by garyp@apache.org on 04/27/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Resolve bug 1496 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1496> where xsl:param statements were not being reset properly if the TransformerImpl was reused.

  • Committed by jkesselm@apache.org on 04/27/2001
    Modified: java/src/org/apache/xalan/stree DocImpl.java
    Committer's log entry: Fix for #1561

  • Committed by garyp@apache.org on 04/29/2001
    Modified: java/src/org/apache/xpath/functions FuncExtFunction.java
    Committer's log entry: Resolve bugzilla bug 1373 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373>. Added code to support return of Integer or Long by an external function. Code was contributed by Patrick Moore <patmoore@ieee.org>.

  • Committed by costin@apache.org on 05/03/2001
    Modified: java/src/javax/xml/transform/stream StreamResult.java StreamSource.java
    Committer's log entry: Small fix to avoid file:////path that may fail on some JDK.

  • Committed by dleslie@apache.org on 05/04/2001
    Modified: java/src/org/apache/xalan/lib/sql package.html
    Committer's log entry: Preliminary updates for John G's work.

  • Committed by mmidy@apache.org on 05/07/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Check for a null contextNodeList before returning its clone

  • Committed by mmidy@apache.org on 05/07/2001
    Modified: java/src/org/apache/xalan/stree StreeDOMBuilder.java
    Committer's log entry: Set the element's level correctly, before we process attributes.

  • Committed by garyp@apache.org on 05/08/2001
    Modified: java/src/org/apache/xalan/transformer TransformerIdentityImpl.java
    Committer's log entry: Resolve bugzilla 1648 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1648). TransformerIdentityImpl was improperly using an old LexicalHandler when invoked for a second transform. This bug only affects identity transforms with StreamResults. Many thanks to John Keyes <johnkeyes@yahoo.com> for reporting this bug.

  • Committed by dleslie@apache.org on 05/10/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: Updated version number to 2.1.0

  • Committed by dleslie@apache.org on 05/10/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: Updated version number to 2.1.0

  • Committed by garyp@apache.org on 05/10/2001
    Modified: java/src/org/apache/xpath/functions FuncExtFunction.java
    Committer's log entry: Change submitted by Patrick Moore <patmoore@ieee.org> as part of bugzilla 1373 (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1373). Return value from extension function is now generalized so that all derivatives of Number are now properly handled.

  • Committed by mmidy@apache.org on 05/11/2001
    Modified: java/src/org/apache/xalan/processor XSLTSchema.java
    Committer's log entry: Set the correct order of xsl:include elements

  • Committed by johng@apache.org on 05/13/2001
    Modified: java/src/org/apache/xalan/lib/sql Column.java ColumnAttribute.java ColumnData.java ColumnHeader.java ConnectionPool.java DefaultConnectionPool.java ExtensionError.java PooledConnection.java QueryParameter.java Row.java RowSet.java SQLExtensionError.java StreamableNode.java XConnection.java XConnectionPoolManager.java XStatement.java package.html
    Committer's log entry: Updates Javadocs Submitted by:John Gentilin mailto://johnglinux@eyecatching.com

  • Committed by garyp@apache.org on 05/14/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Correct typo introduced in revision 1.30 causing problems with transforms on Unix platforms.

  • Committed by garyp@apache.org on 05/14/2001
    Modified: java/src/org/apache/xalan/templates ElemChoose.java
    Committer's log entry: Correct bugzilla bug 1748 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1748>. When evaluating xsl:when, the xsl:choose element was used to resolve namespace prefixes instead of the xsl:when element itself. This caused namespace prefixes defined on the xsl:when to be ignored.

  • Committed by costin@apache.org on 05/15/2001
    Modified: java/src/javax/xml/parsers DocumentBuilderFactory.java SAXParserFactory.java java/src/javax/xml/transform TransformerFactory.java
    Committer's log entry: Use the context class loader if available. The implementation is based on ExtensionHandler, and it's needed in order to work in certain environments ( like tomcat ).

  • Committed by costin@apache.org on 05/15/2001
    Modified: java/src/org/apache/xalan/extensions ExtensionHandler.java ExtensionHandlerGeneral.java
    Committer's log entry: Make getClassForName a public method. There are few other places in xalan where Class.forName is used, and this can create problems in some cases where the Thread.getContextClassLoader should be used. getClassForName uses introspection to call getContextClassLoader ( so it works in JDK1.1 ). In ExtensionHandlerGeneral, use the thread loader to find BSF ( it may be possible that xalan is installed in CLASSPATH, but BSF is in a webapp ).

  • Committed by costin@apache.org on 05/15/2001
    Modified: java/src/org/apache/xalan/processor CompilingStylesheetHandler.java java/src/org/apache/xalan/serialize SerializerFactory.java
    Committer's log entry: 2 more instances where Class.forName was used. Use the method in ExtensionHandler for consistency ( we could move it in org.apache.xml.utils, but for now it's easier to just use it as it is )

  • Committed by costin@apache.org on 05/15/2001
    Modified: java/src/org/apache/xalan/stree SourceTreeHandler.java java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: This is the "thread pooling hook". It slightly changes the API used to create and wait for the transform thread. Instead of using threadCreate() and Thread.start() that creates a new thread and thread.join() that waits for a thread to end, we now use a ThreadControler class that has the equivalent methods: - run( Runnable ) - executes a task in a thread. The default implementation is identical with what we had, using new Thread() and start() - waitTread() - waits for a task to end. The default impl. is identical with the previous code, using thread.join(). Someone wanting to use a thread pool for xalan will have to extend the ThreadControler and override the 2 methods, then call setThreadController. Xalan itself doesn't implement a thread pool right now ( for mosts uses it's not even needed - if you just do few transforms for example ), instead a server that runs xalan could plug it's own thread pool.

  • Committed by Gary L Peskin <garyp@firstech.com> on 05/15/2001
    Committer's log entry: > Use the context class loader if available. > > The implementation is based on ExtensionHandler, and it's needed in order > to work in certain environments ( like tomcat ). > >

  • Committed by dleslie@apache.org on 05/16/2001
    Modified: java/src/org/apache/xalan/lib/sql ExtensionError.java
    Committer's log entry: Fixed "conflict" in javadoc comments.

  • Committed by dleslie@apache.org on 05/16/2001
    Modified: java/src/org/apache/xalan/lib/sql package.html
    Committer's log entry: Editing pass.

  • Committed by tmiller@apache.org on 05/17/2001
    Modified: java/src/org/apache/xalan/xsltc TransletOutputHandler.java
    Committer's log entry: bug # 1406 fixed, omit xml header implemented

  • Committed by curcuru@apache.org on 05/17/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Update Javadoc and remove commented out reference to properties file PR:Bugzilla1627

  • Committed by garyp@apache.org on 05/18/2001
    Modified: java/src/org/apache/xalan/transformer ResultTreeHandler.java
    Committer's log entry: Resolve bug 1330 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1330>. setContentHandler failed to also reset m_lexicalHandler if the ContentHandler was also a LexicalHandler. This caused the old LexicalHandler to be used which was pointing to a previous result tree.

  • Committed by garyp@apache.org on 05/18/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java
    Committer's log entry: Resolve bug 1762 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1762>. TransformerFactoryImpl's URIResolver was not propagated to created Transformers. Modified code to propagate.

  • Committed by curcuru@apache.org on 05/19/2001
    Modified: java/src/org/apache/xml/utils TreeWalker.java SystemIDResolver.java
    Committer's log entry: Catch SecurityException whenever accessing System.getProperty("user.dir"); minor javadoc update

  • Committed by sboag@apache.org on 05/21/2001
    Modified: java/src/org/apache/xalan/templates ElemCopy.java ElemValueOf.java java/src/org/apache/xalan/transformer TreeWalker2Result.java java/src/org/apache/xpath/functions FuncLast.java
    Committer's log entry: Fix for bugs reported by the Eclipse folks for TransformState, where some operations (xsl:value-of, xsl-copy) were not pushing the current node on the current node stack. Addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1524.

  • Committed by curcuru@apache.org on 05/21/2001
    Modified: java/src/org/apache/xalan/templates OutputProperties.java
    Committer's log entry: Catch SecurityException as needed PR: Bugzilla1258

  • Committed by garyp@apache.org on 05/21/2001
    Modified: java/src/org/apache/xalan/templates OutputProperties.java
    Committer's log entry: Fix to the following bug reported by dims@yahoo.com: loadPropertiesFile method in org\apache\xalan\templates\OutputProperties.java does not fall back to the Thread Context Class Loader to load properties files like output_xml.properties etc. This is causing problems in ServletExec_3_1+C2.

  • Committed by garyp@apache.org on 05/21/2001
    Modified: java/src/org/apache/xalan/templates OutputProperties.java
    Committer's log entry: Correct implementation of ContextClassLoader to support case where properties file is to be loaded by a different ClassLoader than the OutputProperties class. Thanks to Davanum Srinivas <dims@yahoo.com> for this code and for reporting this bug. loadPropertiesFile should eventually be moved into a thread-specific class.

  • Committed by garyp@apache.org on 05/21/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java java/src/org/apache/xalan/serialize CharInfo.java java/src/org/apache/xpath/functions FuncSystemProperty.java
    Committer's log entry: Modify getResourceAsStream calls to use the contextClassLoader, if available. This is a temporary fix until we can centralize this function.

NoteThis release includes no updates of the compatibility source code.

Changes for Xalan-Java 2.0.1
 

This release includes a number of bug fixes to the Xalan-Java and TrAX core and Xalan-Java 1 compability API. We have also

  • Entered all known Xalan-Java 2 bugs in the Apache Bugzilla database

  • Added support for using custom URIResolver, EntityResolver, and ContentHandler implementations with the command-line utility

  • Upgraded from Ant 1.2 to Ant 1.3 for our builds (the new ant.jar is in the bin directory).

Core source code updates:

  • Committed by sboag@apache.org on 02/06/2001
    Modified: java/src/org/apache/xpath/axes ChildWalkerMultiStep.java
    Committer's log entry: Fix for bug reported by "Chris P. McCabe" <chris_mccabe@choicehotels.com> 02/06/2001 06:55 PM. Defensive fix for if the last used walker is null, then don't check to see if it is a fast walker! Without this, a null pointer exception is very possible.

  • Committed by sboag@apache.org on 02/06/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Fixes for exceptions being thrown that weren't being passed through the error listener.

  • Committed by sboag@apache.org on 02/07/2001
    Modified: java/src/org/apache/xpath/axes FollowingWalker.java
    Committer's log entry: Fix for bug reported by Dave Haffner <dave.haffner@xmls.com> 02/06/2001 04:03 AM In parentNode(), don't screen out nextAncestor, since the parent is never actually returned. This sets things up correctly for firstChild and nextSibling.

  • Committed by sboag@apache.org on 02/07/2001
    Modified: java/src/org/apache/xpath/axes PrecedingWalker.java
    Committer's log entry: Fix for bug reported by Dave Haffner <dave.haffner@xmls.com> 02/06/2001 04:03 AM In nextSibling(), don't return null if isAncestorOfRootContext, instead do next.getFirstChild().

  • Committed by sboag@apache.org on 02/07/2001
    Modified: java/src/org/apache/xpath SourceTreeManager.java
    Committer's log entry: Fix for bug reported by anders.domeij@uc.se 02/07/2001 09:35 AM removed extra bogus TransformerException decl in resolveURI

  • Committed by sboag@apache.org on 02/08/2001
    Modified: java/src/org/apache/xalan/stree SourceTreeHandler.java
    Committer's log entry: Fix bug reported by Jason Harrop <jharrop@bigpond.net.au> 02/07/2001 08:12 PM Don't process comment or whitespace events if inside a startDTD/endDTD event.

  • Committed by sboag@apache.org on 02/10/2001
    Modified: java/src/org/apache/xpath/axes WalkerFactory.java
    Committer's log entry: In indirect response to bug posted by "Thee Boon Hoo" <theebh@newstakes.com> 02/07/2001 09:37 PM "//table[1]" patterns would give one node when they should have given 2, when applied to Boon Hoo's source. "//table[1]" is equivelent to "/descendant-or-self::node()/table[1]", and so must return the first table child of each table-inst element. An optimization was optimizing this to "/descendant-or-self::table, which is fine as long as indexing isn't used. Since we can not tell until runtime if indexing is being used, we have to turn of this optimization for all predicated "//foo[xx]" patterns.

  • Committed by mmidy@apache.org on 02/12/2001
    Modified: java/src/org/apache/xalan/processor StylesheetPIHandler.java TransformerFactoryImpl.java
    Committer's log entry: Patch for Dmitri IIyin to use the specified URIResolver.

  • Committed by mmidy@apache.org on 02/12/2001
    Modified: java/src/org/apache/xalan/templates ElemNumber.java
    Committer's log entry: Number Expression should be evaluated then rounded up.

  • Committed by sboag@apache.org on 02/13/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Create a document fragment for the output node, for -flavor d2d.

  • Committed by sboag@apache.org on 02/13/2001
    Modified: java/src/org/apache/xpath/compiler Compiler.java
    Committer's log entry: Better error message when quo is used.

  • Committed by mmidy@apache.org on 02/13/2001
    Modified: java/src/org/apache/xalan/templates ElemCallTemplate.java ElemChoose.java ElemCopy.java ElemFallback.java ElemIf.java ElemLiteralResult.java ElemTemplate.java java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Remove extra method/call to TransformerImpl.executeChildTemplates()

  • Committed by sboag@apache.org on 02/13/2001
    Modified: java/src/org/apache/xpath/patterns NodeTest.java
    Committer's log entry: Return an empty string instead of null from getLocalName() when the nodetest does not have a name. Encountered with the SQL extension, in response to bug reported by "Michael Kay" <mhkay@iclway.co.uk>, 02/08/2001 08:57 AM.

  • Committed by sboag@apache.org on 02/13/2001
    Modified: java/src/org/apache/xalan/lib/sql ColumnData.java
    Committer's log entry: In getData() return an empty string instead of null if there is no data to be obtained. In response to bug reported by "Michael Kay" <mhkay@iclway.co.uk>, 02/08/2001 08:57 AM.

  • Committed by garyp@apache.org on 02/19/2001
    Modified: java/src/org/apache/xalan/extensions MethodResolver.java
    Committer's log entry: Correct ConversionInfo array for Node-Set and RTF. Remove DocumentFragment from RTF and replace with NodeList. Remove duplicate Boolean from both. Fix Boolean conversion to make java.lang.Boolean higher than string.

  • Committed by sboag@apache.org on 02/19/2001
    Modified: java/src/org/apache/xalan/lib/sql ColumnHeader.java RowSet.java XStatement.java
    Committer's log entry: Use null nodetest to mean the same as "node()". This fixes a bug reported by "Voytenko, Dimitry" <DVoytenko@SECTORBASE.COM> where <xsl:copy-of select="sql:query(...)"/> crashes with NullPointerException, i.e. there are cases where we really don't want to set the NodeTest.

  • Committed by mmidy@apache.org on 02/20/2001
    Modified: java/src/org/apache/xpath/compiler XPathParser.java
    Committer's log entry: Check for null token before checking if it is a letter

  • Committed by sboag@apache.org on 02/20/2001
    Modified: java/src/org/apache/xalan/transformer TransformerIdentityImpl.java
    Committer's log entry: Fix made for bug reported by "Glencross, Christian" <Christian.Glencross@gs.com> on 02/16/2001 10:18 AM. Xerces 1.2.3 SAX parser calls handler.setDocumentLocator() before handler.startDocument(). TransformerIdentityImpl.m_resultContentHandler isn't initialised until TransformerIdentityImpl.startDocument() is called. Added lazy construction of result handler in setDocumentLocator, in addition to startDocument.

  • Committed by garyp@apache.org on 02/21/2001
    Modified: java/src/org/apache/xalan/lib Extensions.java
    Committer's log entry: Correct implementation of string value of a node.

  • Committed by dleslie@apache.org on 02/21/2001
    Modified: java/src/org/apache/xalan/lib/sql Column.java ColumnAttribute.java ColumnData.java ColumnHeader.java Row.java RowSet.java StreamableNode.java XConnection.java XStatement.java package.html
    Committer's log entry: Added experimental usage metatag to all classes in this package, and an explanatory note to package.html.

  • Committed by sboag@apache.org on 02/22/2001
    Modified: java/src/org/apache/xalan/stree ElementImpl.java
    Committer's log entry: Bug fix attributed to Norman Walsh <ndw@nwalsh.com>, on 02/20/2001 09:50 AM. if the attribute 'name' doesn't occur in the AttList, the result of getIndex(name) is -1, but getChildAttribute() would incorrectly return the first attribute. Fix returns null if index < 0.

  • Committed by mmidy@apache.org on 02/22/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToXML.java java/src/org/apache/xalan/transformer TransformerIdentityImpl.java
    Committer's log entry: Implement DeclHandler for identity transforms

  • Committed by sboag@apache.org on 02/22/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Fix for bug originally reported by Daryl Beattie <DarylB@screamingmedia.com> on 02/14/2001 04:16 PM. A hang was occuring inside the use of a Result Tree Fragment. When the result tree fragement was being created, the Redirect extension was being called, which called createResultContentHandler which set the ContentHandler in the Transformer, but not in the ResultTreeHandler. Then, Redirect called Transformer#executeChildTemplates( ElemTemplateElement elem, Node sourceNode, QName mode, ContentHandler handler) which saves the reference to the original content handler in the transformer, and then sets the new one by calling setContentHandler, which sets the ContentHandler in the ResultTreeHandler as well as the Transformer. When it tried to restore the old ContentHandler, it restored the value in the ResultTreeHandler to a Serializer, instead of the correct ContentHandler. When transformToRTF then called endDocument on it's resultTreeFragment, the event was sent to the Serializer instead of the SourceTreeHandler, and thus the isComplete flag was not set, and thus the hang. (whew!) The fix is in executeChildTemplates save the value of the resultTreeHandler's contentHandler as well as Transformer's content handler, and restore them both. A more architectual fix could be made, but not without high risk, so I think this is the best and safest way to fix it.

  • Committed by dleslie@apache.org on 02/23/2001
    Modified: java/src/org/apache/xalan/res XSLTInfo.properties
    Committer's log entry: Changed version to 2.0.1

  • Committed by dleslie@apache.org on 02/23/2001
    Modified: java/src/org/apache/xalan/processor XSLProcessorVersion.java
    Committer's log entry: Changed version to 2.0.1

  • Committed by curcuru@apache.org on 02/28/2001
    Modified: java/src/org/apache/xalan/res XSLTErrorResources.java
    Committer's log entry: Update text of error messages Submitted by: Andreas Zehnpfund

  • Committed by curcuru@apache.org on 02/28/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Update printArgOptions() with better text and to better reflect actual options that are currently supported; catch missing -IN argument

  • Committed by jkesselm@apache.org on 03/05/2001
    Modified: java/src/org/apache/xalan/client XSLTProcessorApplet.java java/src/org/apache/xalan/processor StylesheetHandler.java TransformerFactoryImpl.java java/src/org/apache/xalan/stree DocImpl.java StreeDOMBuilder.java TextImpl.java java/src/org/apache/xalan/templates OutputProperties.java java/src/org/apache/xalan/xslt Process.java java/src/org/apache/xml/utils FastStringBuffer.java java/src/trax trax.properties
    Committer's log entry: New approach to FastStringBuffer, and changes needed to support it. We still need to do some serious work on both the initial values of the tuning parameters and the heuristics driving the "chunk growth" algorithms. Currently set for fixed-sized chunks of 8Kch in main tree, .5Kch in RTF.

  • Committed by sboag@apache.org on 03/06/2001
    Modified: java/src/org/apache/xalan/templates ElemElement.java ElemForEach.java ElemLiteralResult.java java/src/org/apache/xalan/transformer ClonerToResultTree.java QueuedSAXEvent.java QueuedStartDocument.java QueuedStartElement.java ResultTreeHandler.java TransformerImpl.java TreeWalker2Result.java
    Committer's log entry: Fix for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741. 1) ResultTreeHandler now implements the TransformState interface. 2) Queued state such as the current node and the current template is stored as part of QueuedStartElement. Storage will only occur if the ContentHandler implements TransformClient. 3) When state is requested (for instance TransformState#getCurrentElement()), if the queued element is null or not pending (for instance, in a characters event), it will get the state from the transformer, otherwise it will get the state from the queued element. Other fixes were attempted for this problem, including trying to get rid of queueing altogether, and flushing a bit earlier before the state was pushed on the various stacks, but both of these had show-stopping issues (see discussions on xalan-dev). Note that for the moment the ContextNodeList is node cloned as it needs to be in order for TransformState#getContextNodeList.

  • Committed by garyp@apache.org on 03/06/2001
    Modified: java/src/org/apache/xalan/templates ElemParam.java java/src/org/apache/xpath Arg.java VariableStack.java
    Committer's log entry: The field Arg.isParamVar was attempting to serve two functions: to indicate variable Frame entries which are not currently activated and to indicate Frames containing parameters passed with xsl:with-param. When processing was finished for a node in a node-set, the isParamVar flag was turned on to indicate the Frame slot was available. Unfortunately, this also indicated that the item was passed as a parameter which it wasn't. This fix changes isParamVar into to fields, isAvailable which indicates that the slot is available and isFromWithParam indicating the Frame slot came from an xsl:with-param or a top-level parameter passed in via the tranformerImpl.setParameter() API. I have tested this change against the conformance suite and had no regression. I've also submitted a test case which fails on the existing codebase but works okay after this fix. It is possible that I've missed something with regard to the API setParameter calls but we can fix those if problems are reported.

  • Committed by garyp@apache.org on 03/07/2001
    Modified: java/src/org/apache/xml/utils FastStringBuffer.java
    Committer's log entry: Correct operation when length of content to be appended is zero.

  • Committed by mmidy@apache.org on 03/07/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToXML.java
    Committer's log entry: Fix closing out doctype declaration

  • Committed by mmidy@apache.org on 03/08/2001
    Modified: java/src/org/apache/xml/utils SystemIDResolver.java
    Committer's log entry: Change SystemIdResolver to default to user.dir if the base URI is null

  • Committed by garyp@apache.org on 03/09/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java java/src/org/apache/xpath VariableStack.java
    Committer's log entry: Parameters set with setParameter were available to stylesheet as variable references ($myParam) even though there was no xsl:param element to receive it.

  • Committed by mmidy@apache.org on 03/09/2001
    Modified: java/src/org/apache/xalan/transformer TransformerIdentityImpl.java
    Committer's log entry: Check if there is a DeclHandler before calling it.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xml/utils WrappedRuntimeException.java
    Committer's log entry: Patch attributed to Patrick Moore <patrickm@rioport.com> on 03/09/2001. Adds another constructor to pass in the error message.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/templates ElemAttribute.java ElemElement.java
    Committer's log entry: Checkin addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=923. elemAttribute now derives from elemElement so the basic name resolution code can be shared. Breaks attribset24 test, but I think the newer behavior is better. New virtual methods overloaded by elemAttribute are constructNode, resolvePrefix, and validateNodeName. Also, in the elemAttribute#execute method, checks are made to make sure an element is pending.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xml/utils SystemIDResolver.java
    Committer's log entry: Added getAbsoluteURI(String url), and merge with Myriam's changes. Part of fix for problem found when investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java
    Committer's log entry: Call getAbsoluteURI(String url) for the source URL. Fix for problem found when investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906. This tries to force us always having an absolute URL in the processing stack as the base URL, which should be OK, I hope.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/transformer TransformerImpl.java
    Committer's log entry: Call getAbsoluteURI(String url) for the source URL. Fix for problem found when investigating http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906. This tries to force us always having an absolute URL in the processing stack as the base URL, which should be OK, I hope.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/transformer QueuedEvents.java QueuedStartElement.java ResultTreeHandler.java
    Committer's log entry: The user for http://nagoya.apache.org/bugzilla/show_bug.cgi?id=741 reported problems on testing, so these changes are a re-fix. He tested and everything seems OK now. There actually may be a slight performance improvement involved here.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/serialize SerializerToHTML.java
    Committer's log entry: Applied patches from dmitri.ilyin@memiq.com (Dmitri Ilyin) from http://nagoya.apache.org/bugzilla/show_bug.cgi?id=705.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xpath XPathAPI.java
    Committer's log entry: Applied patch submitted by nboyd@atg.com (Norris Boyd) at http://nagoya.apache.org/bugzilla/show_bug.cgi?id=702.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/serialize Encodings.java
    Committer's log entry: Applied patch submitted by havardw@underdusken.no (H嶡rd Wigtil). Also added "XXX-X" variants for all "XXX_X" java encoding names. I'm not totally confident that this is the right thing to do, but I can't see that it will hurt, except to make the table a bit larger. I would prefer to be safe and make sure we handle the encoding. See my comments in http://nagoya.apache.org/bugzilla/show_bug.cgi?id=718.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/templates ElemTemplateElement.java StylesheetRoot.java
    Committer's log entry: Minor changes to better bottleneck throwing of Runtime exceptions during processing.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/processor TransformerFactoryImpl.java
    Committer's log entry: Catch all exceptions thrown when processing stylesheet, and send them to the error listener. There's probably some danger of having the same error sent to the error listener multiple times, but better too many reports, than none, I guess. This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=906.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/lib/sql XConnection.java XStatement.java
    Added: java/src/org/apache/xalan/lib/sql ConnectionPool.java DefaultConnectionPool.java ExtensionError.java PooledConnection.java QueryParameter.java SQLExtensionError.java XConnectionPoolManager.java
    Committer's log entry: These are John Gentilin <johnglinux@eyecatching.com> patches for connection pooling and parameterized queries. These should be considered to be unstable right now, as we are still working on some things.

  • Committed by sboag@apache.org on 03/11/2001
    Modified: java/src/org/apache/xalan/processor ProcessorInclude.java TransformerFactoryImpl.java java/src/org/apache/xalan/serialize SerializerToXML.java java/src/org/apache/xalan/stree StreeDOMHelper.java java/src/org/apache/xalan/transformer ResultTreeHandler.java TransformerIdentityImpl.java TreeWalker2Result.java java/src/org/apache/xml/utils AttList.java TreeWalker.java java/src/org/apache/xpath DOM2Helper.java XPathContext.java
    Committer's log entry: The DOM2Helper#isNodeAfter(Node node1, Node node2) method has been fixed so that it no longer does the try/catch thing if one of the nodes doesn't implement DOMOrder, but instead does an instanceof test. In StreeDOMHelper, it overloads this method and *does* do the try/catch business, since almost always both nodes will implement DOMOrder in this case, and this will be faster than an instanceof test. Also, in various classes, I did some stuff to try and make sure that a DOM2Helper wasn't being created and used when a StreeDOMHelper is needed. This addresses http://nagoya.apache.org/bugzilla/show_bug.cgi?id=800 and should give a good performance fix for foreign DOM processing.

  • Committed by sboag@apache.org on 03/12/2001
    Modified: java/src/org/apache/xpath/patterns NodeTest.java
    Committer's log entry: Xerces at some point decided to use "" instead of null for null namespaces. There has been a discussion between Gary Peskin in Joe Kessleman on xalan-dev about this, but I hadn't been fully keeping up the the thread that well, and missed it's relation to this problem. I include some of the discussion at the end of this note. I made Xalan be able to compare a "" namespace to null for now, until we get this resolved. The gist of the discussion on xalan-dev regarding this is: >>1. Declare the Xerces-J support of schemas to have a bug and ask that >>Xerces be corrected to always use a null namespace URI to indicate that >>there is no default namespace. Even if the Xerces people change this >>behavior, is this correct? > > Yes. If your description of the problem is accurate (you should probably > submit a more detailed case so it can be reproduced in the lab), this is a > parser/DOM-builder bug.

  • Committed by costin@apache.org on 03/12/2001
    Modified: java/src/org/apache/xalan/lib/sql ExtensionError.java
    Committer's log entry: Removed ( commented out ) dump() method and the imports in ExtensionError. So far the method doesn't seem to be used ( no warning in the compile ). The problem is that this method is breaking the build with crimson ( since it uses xerces-specific classes ). It is possible to implement it on top of the serialization classes that are part of xalan - if someone needs the method I'll try to port it.

  • Committed by sboag@apache.org on 03/13/2001
    Modified: java/src/org/apache/xml/utils TreeWalker.java
    Committer's log entry: Added back in the TreeWalker(ContentHandler contentHandler) constructor, because I'm worried I'll break more dependent code.

  • Committed by mmidy@apache.org on 03/13/2001
    Modified: java/src/org/apache/xalan/res XSLTErrorResources.java java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Implement new arguments for the command line interface: URIResolver, EntityResolver and ContentHandler

  • Committed by mmidy@apache.org on 03/13/2001
    Modified: java/src/org/apache/xalan/templates FuncFormatNumb.java
    Committer's log entry: Fix error message to say that 2 or 3 arguments are required.

  • Committed by mmidy@apache.org on 03/13/2001
    Modified: java/src/org/apache/xalan/processor ProcessorLRE.java java/src/org/apache/xalan/res XSLTErrorResources.java
    Committer's log entry: Better error message for missing or incorrect XSLT namespace declaration in a stylesheet

  • Committed by garyp@apache.org on 03/13/2001
    Modified: java/src/org/apache/xalan/lib Redirect.java java/src/org/apache/xalan/transformer TransformerImpl.java java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Remember the Result that was used to trigger the transform. Access that result from the Redirect extension to make file references in Redirect relative to the original result URI. If this is not available, references are relative to the source URI.

  • Committed by sboag@apache.org on 03/14/2001
    Modified: java/src/org/apache/xpath VariableStack.java
    Committer's log entry: Added protection for null pointer exception that I discovered when running some Cocoon tests. Since I've never seen this before, I assume this is related to the changes that Gary made, but am unsure as it's 4:00 in the morning and I'm too tired to look into it deeply.

  • Committed by curcuru@apache.org on 03/14/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: Remove check for missing -IN arg; there are a number of use cases for calling Process.main without an XML document

  • Committed by costin@apache.org on 03/14/2001
    Modified: java/src/org/apache/xalan/xslt Process.java
    Committer's log entry: A (last ? ) place where XMLReaderFactory was used without trying jaxp first. I used the same code that is used in all other places in xalan. With this change, the parser defined in XSLTInfo.properties will be used only if jaxp is not available.

  • Committed by dleslie@apache.org on 03/14/2001
    Modified: java/src/org/apache/xml/utils StringVector.java
    Committer's log entry: Added missing @serial Javadoc tags.

  • Committed by sboag@apache.org on 03/15/2001
    Modified: java/src/org/apache/xalan/lib/sql ConnectionPool.java DefaultConnectionPool.java ExtensionError.java SQLExtensionError.java XConnection.java XConnectionPoolManager.java XStatement.java
    Committer's log entry: Update from John Gentilin <johnglinux@eyecatching.com> to fix connection cleanup.

Compatibility source code updates:

  • Committed by mmidy@apache.org on 02/02/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTInputSource.java XSLTResultTarget.java
    Committer's log entry: Implement some more methods for compatibility

  • Committed by dleslie@apache.org on 02/02/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTInputSource.java
    Committer's log entry: Fixed javadoc for api that was just added back.

  • Committed by dleslie@apache.org on 02/02/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTResultTarget.java
    Committer's log entry: Fixed javadoc for api that was just added back.

  • Committed by mmidy@apache.org on 02/02/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java
    Committer's log entry: Fix problem with calling the processor with a liaison

  • Committed by mmidy@apache.org on 02/02/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java
    Committer's log entry: Fix problem where source file was being parsed more than once and if using an input stream, we would get a read error

  • Committed by mmidy@apache.org on 02/12/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java
    Committer's log entry: Set system id in stylesheet handler

  • Committed by mmidy@apache.org on 02/14/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTInputSource.java
    Committer's log entry: Call local setSystemId.

  • Committed by mmidy@apache.org on 02/15/2001
    Modified: java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java
    Committer's log entry: Fix problem with processing an input source created from a reader with no systemId Fix problem with reading an input source file twice if it has a PI

  • Committed by mmidy@apache.org on 02/22/2001
    Modified: java/compat_src/org/apache/xalan/xslt StylesheetRoot.java
    Committer's log entry: Add getOutputMethod API.

  • Committed by dleslie@apache.org on 03/07/2001
    Modified: java/compat_src/org/apache/xalan/xpath/xml XMLParserLiaisonDefault.java
    Committer's log entry: Put in Apache copyright.

  • Committed by sboag@apache.org on 03/13/2001
    Modified: java/compat_src/org/apache/xalan/xpath/xml TreeWalker.java java/compat_src/org/apache/xalan/xslt XSLTEngineImpl.java
    Committer's log entry: Made changes for change to API for XalanJ2 TreeWalker, which now requires that the DOM helper be created by the caller.

Changes for Xalan-Java version 2.0.0
 

Release 2.0 includes several bug fixes to the Xalan-Java and TrAX core and to the Xalan-Java 1 compatibility API. We also updated bsf.jar to the Bean Scripting Framework (BSF) release candidate 2.2, which fixes a bug running JPython extensions.

Core bug fixes:

  • A threading problem showed up when using multiple processors. We fixed it by using a separate XPathContext object to do whitespace node matches (xsl:strip-space).

  • Fixed a bug running Norm Walsh's DocBook stylesheets by not setting the variable stack position if the FilterExprWalker is not owned by a top-level NodeIterator.

  • Fixed a problem with null namespace being passed from xsl:element. This bug also surfaced while processing DocBook stylesheets.

  • In the interest of stability, we now treat "unknown error in XPath" as a fatal error.

  • Added support in stylesheet processing instructions for "text/xml" and "application/xml+xslt" mime types.

  • Fixed tokenizing of stylesheet processing instructions to allow parameters to be passed to server in href attributes.

  • Fixed a bug passing Transformer creation error messages to ErrorListener when an ErrorListener has been set on TransformerFactory.

  • When using an Exception to instantiate a FactoryConfigurationError (extends Error), we now propagate the Exception message to super().

  • Added defensive code to ElemTemplateElement for handling a null URI.

  • When using an Exception to instantiate a TransformerException (extends Exception), we now propagate the Exception message to super() rather than a generic message.

  • Fixed a bug (the generation of an unwanted entity reference) performing the identity transformation (see Serializing output) with an XML document containing a DOCTYPE declaration.

  • Message manager modified so that the SourceLocator must always be passed in, which will make a major difference in getting line number information.

  • xsl:element's handling of namespace attribute and prefix in name attribute changed so that it no longer manufactures prefixes... it always tries its best to match the prefix entered.

  • Bug fixed with namespace contexts in the stylesheet processor. The bug could cause <a xmlns:a="x"><b> to produce <a xmlns:a="x"><b xmlns:a="x">.

  • Modified processing of xsl:message to enhance it as a debugging aid. Line numbers are now output with each message. If the terminate attribute is true (the default is false) the message is sent to the console, and an exception is thrown with the message "Stylesheet directed termination".

  • In TransformerException, check that the cause != null when checking for a contained exception.

  • Fixed a problem validating non-namespaced attributes and a problem allowing non-namespaced attributes to be children of the stylesheet element.

  • Fixed checking of number of arguments in document() function.

  • Fixed problem with mutation of templates at run time. Templates resolution now takes place during the compose() method.

  • Fixed some minor threading issues in org.apache.xalan.stree (Child, Parent, ElementImpl, SourceTreeHandler).

  • Synchronized TrAX API functions subject to mutation to prevent mutation during a transformation.

  • Fixed bug reported by Jano Elovirta: substring() was returning an error if the start index is larger than the string.

  • Set StringKey.toString() to return the underlying String (m_str), thus avoiding a potential symmetry problem with the equals() method reported by Ito Kazumitsu.

  • In response to note from Ito Kazumitsu, changed Java encoding name "EUCJIS" in FormatterToXML to "EUC_JP".

  • When Xalan creates a FileOutputStream, it now closes the stream before exiting.

  • Fixed handling of an exception that can be thrown while building a DOM.

  • Fixed a problem reported by Dimitry Voytenko serializing compiled stylesheets.

  • For support of applets, modified TransformerFactory System.getProperty() calls to catch SecurityExceptions.

  • Fixed a bug reported by Krishna Mohan Meduri setting output properties.

  • Fixed error recovery when xsl:element encounters a bad name or unresolvable prefix.

  • Added AbstractMethodError handling to existing NoSuchMethodError handling as a fallback to the XMLReaderFactory for XML parsers that do not implement the JAXP parsers interface for creating an XMLReader

  • Fixed bug with cloned iterators reported by Tim Sean.

  • Fixed null pointer exception that could occur with getValue("xxx").

  • Fixed bug reported by Tim Sean handling the xml:space attribute.

Bug fixes in the Xalan-Java 1 compatibility API:

  • Fixed ProblemListener (for processing error messages) to derive from Xalan-Java 2 ErrorHandler.

  • Fixed evaluation of stylesheet string parameters to conform to Xalan-Java 1 behavior (expressions for Xalan-Java 1 vs. String objects for Xalan-Java 2).

  • Added XPathSupport and XPathSupportDefault, and fixed the derivation of XObject sub-types (XString, etc.).

  • Fixed bug with XSLTProcessor process(xmlIn, null, out) method so that it uses the StylesheetRoot (if one exists) that has been created with the processStylesheet() method.

For a list of tasks in the Xalan-Java 2 To-Do list that have been completed, see Tasks completed.


Changes for Xalan-Java version 2.0.D07
 

Xalan-Java 2.0.D07 incorporates a Xalan-Java 1 compatibility jar, some performance enhancements, and a number of bug fixes for bugs found in version 2.0.D06.

  • Fixed handling of disable-output-escaping="no". Previously, once it was turned on, it could not be turned off.

  • Fixed a bug with whitespace handling where Xalan was incorrectly checking for whitespace stripping before collation of multiple whitespace events into a single text node.

  • Whitespace stripping wasn't working with input DOMs before. This is now fixed.

  • Fixed many exception handling problems and problems with error reporting.

  • Fixed a bug resetting parameters in Transformer clearParameters().

  • Fixed a bug where CDATA sections were not matching the text() node test.

  • Made better memory allocation problem with result tree fragments.

  • Made result tree fragment parsing of numbers consistent with strings.

  • Exceptions thrown from extensions should now be properly reported via the error listener.

  • Fixed hard-coded stack dump set off by m_reportInPostExceptionFromThread variable.

  • Fixed intermittent threading problem with text nodes being dropped.

  • Fixed problem with variable evaluation inside of union expressions.

Changes for Xalan-Java version 2.0.D06
 

We have fixed the bugs reported in Xalan-Java 2.0.D05. Along with several other enhancements, we have also fixed a number of bugs found by testing and our users:

  • Fixed some threading problems and improved support for handling Exceptions thrown in a secondary thread.

    Note: To support incremental output, Xalan-Java performs the transformation in a second thread while building the source tree in the main thread.

  • Fixed problems encountered in piping (utilizing transformation output as input for another transformation).

  • Fixed problems handling attributes and adding attributes to result tree.

  • Added defensive checking for null entities, null namespaces, and empty strings passed in for URIs and local names.

  • We now conform to the SAX convention of representing null namespaces with empty strings.

  • Fixed a bug encountered evaluating a variable in a predicate expression applied to child nodes.

  • Changed names of serializers from FormatterToXxx to SerializerToXxx. See Package org.apache.xalan.serialize.

  • Improved debugging support in a number of areas.

Changes for Xalan-Java version 2.0.D05
 

All of the bugs reported in Xalan-Java 2.0.D01 have been fixed. The remainder of this section discusses two changes that we believe are of particular importance:

TrAX

The Transformation API for XML (TrAX) that Xalan-Java 2 implements has undergone substantial revisions since the release of Xalan-Java 2.0.D01. TrAX has joined the Java API for XML Parsing (JAXP) as part of the Sun® Java Specification Request 63. Accordingly, the TrAX package names have changed. The conceptual organization has also changed somewhat: The primary transformation interfaces are defined in javax.xml.transform, with concrete classes for managing stream input/output, SAX parsers and ContentHandler, and DOM parsers and DOM trees in javax.xml.transform.stream, javax.xml.transform.sax, and javax.xml.transform.dom. For more information, see TRaX (Transformation API for XML), and review Usage Patterns.

Output properties

The handling of xsl:output properties has changed: org.apache.xalan.serialize.OutputFormat and apache.xalan.templates.OutputFormatExtended were removed and replaced with org.apache.xalan.templates.OutputProperties. The SerializerFactory getSerializer() method now takes Properties rather than a String indicating the output method. You can replace getSerializer("xml"), for example, with getSerializer(OutputProperties.getDefaultMethodProperties("xml")).

HTML, XML, and text xsl:output properties are specified in property files in org.apache.xalan.templates: output_html.properties, output_xml.properties, and output_text.properties.

You can start using the output properties defined in these files in your stylesheets. For example, you can turn URL escaping off in HTML output with
{http\u003a//xml.apache.org/xslt}use-url-escaping=no
and you can control indenting with
{http\u003a//xml.apache.org/xslt}indent-amount=n

NoteThe colon after the "http" protocol must be escaped.

Character-to-entity mapping is specified in org.apache.xalan.serialize: HTMLEntities.res and XMLEntities.res. You can override entity ref mapping from a stylesheet. For example:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
         xmlns:xalan="http://xml.apache.org/xslt" version="1.0">

  <xsl:output xalan:entities="myentities.ent"/>

  <xsl:template match="/">
    <out>&#125;</out>
  </xsl:template>

</xsl:stylesheet>

=== myentities.ent ===

quot 34
amp 38
lt 60
gt 62
lala 125

The output is:

<?xml version="1.0" encoding="UTF-8"?>
<out>&lala;</out>

See also Setting output properties in your stylesheets.




Copyright © 2002 The Apache Software Foundation. All Rights Reserved.