<?xml version="1.0" encoding="UTF-8"?>
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/02/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Message.java<br/><ref>Committer's log entry: </ref>
 New implementation of xsl:message that does not use RTFs. Using RTFs
 is both slow and problematic since the number of RTFs that can be
 created is limited in XSLTC.

 The new implementation uses a StreamXMLOutput and a StringWriter to
 output the template body as a string (in some cases, NS declarations
 will be included and this behavior differs from the old implementation).
 Additionally, the new implementation optimizes the case where the
 message is empty and where the message is just a literal string.

 The bug was reported by Mark Brunkhart (mark@matchanalysis.com).
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/02/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java<br/><ref>Committer's log entry: </ref>
 Removed the getTreeString() method from the DOM interface (as well as
 from all the classes that implement this interface). This update will
 require a sync with the XSLTC_DTM branch, but there was no point in
 keeping this method when it's no longer used.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/02/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java<br/><ref>Committer's log entry: </ref>
 Fix for Bugzilla 17447. Conversion from reference type to string type
 assumed the existence of the "current" local variable, which is
 unavailable at top-level.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement for xsl:copy-of. Instead of using the expensive getFirstAttribute()
and getFirstNamespace() interfaces, increase the element id by 1 to iterate
through all attribute and namespace nodes.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/02/27<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Minor cleanup to SAXImpl.copy() and copyElement(). Introduce a new interface
handleTextEvents() to handle Text nodes more efficiently.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMImpl.java MultiDOM.java SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java xml-xalan/java/src/org/apache/xalan/xsltc/trax XSLTCSource.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work

Design a new DOM model (SimpleResultTreeImpl) for simple result tree
fragment (RTF). A simple RTF is an RTF which has only one Text node.
It can be generated by a combination of Text, xsl:value-of and xsl:number
instructions. It can also be generated by xsl:if or xsl:choose, as far
as the content of the control body is pure Text. The code to detect whether
an RTF is simple is in SyntaxTreeNode.isSimpleRTF().

Before this change, an RTF is represented by a SAXImpl object. SAXImpl is
a heavy-weight class in that it allocates a lot of array objects for storage.
In the case where the RTF is only one Text node, creating a SAXImpl is just
too expensive.

A SimpleResultTreeImpl has only two nodes, i.e. the root node and the Text
node. All DOM interfaces are overridden to handle this simplified model.
SimpleResultTreeImpl has a few internal iterators, which is designed to support
the nodeset() extension function.

This change brings a significant improvement to stylesheets that create
a lot of simple RTFs. Some testcases are more than 100% faster after the change.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/05<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SimpleResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
Add a new class SimpleResultTreeImpl as the model for simple RTF.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/06<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java NodeSortRecord.java SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java StreamXMLOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work

A few small improvements. More space efficient version of IntegerArray.clone().
Rearrange the condition checking in StreamXML(HTML)Output.escapeCharacters().
Only create one default Collator instance in NodeSortRecord.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Small tweaks in DOMAdapter. Invoking a final method is generally faster than
invoking a method via interface.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement in StreamOutput.escapeString(). Do not create the StringBuffer
if there is nothing to escape.

This change needs to be put back to the new serializer if it uses the same
code.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Use a more sophisticated algorithm in StringValueHandler.
Do not create new Strings if there is only String value.
Creating many new Strings is an expensive operation.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/10<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
Fix a bug that causes id function testcases to fail in trax.sax flavor.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/11<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Set the namespace feature directly on the XMLReader. SAXParserFactory.setFeature()
actually creates a temporary SAXParser to verify that feature. So we end up creating
two SAXParsers per document() call in the old code.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
file AdaptiveResultTreeImpl.java was initially added on branch XSLTC_DTM.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java DOMAdapter.java DOMImpl.java MultiDOM.java SAXImpl.java SimpleResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work

Design a light-weight DOM model (AdaptiveResultTreeImpl) for RTFs with xsl:call-template.

AdaptiveResultTreeImpl is a adaptive DOM model for result tree fragments (RTF). It is
used in the case where the RTF is likely to be pure text yet it can still be a DOM tree.
It is designed for RTFs which have &lt;xsl:call-template&gt; or &lt;xsl:apply-templates&gt; in
the contents. Example:

    &lt;xsl:variable name = "x"&gt;
      &lt;xsl:call-template name = "test"&gt;
         &lt;xsl:with-param name="a" select="."/&gt;
      &lt;/xsl:call-template&gt;
    &lt;/xsl:variable&gt;

In this example the result produced by &lt;xsl:call-template&gt; is likely to be a single
Text node. But it can also be a DOM tree. This kind of RTF cannot be modelled by
SimpleResultTreeImpl.

AdaptiveResultTreeImpl can be considered as a smart switcher between SimpleResultTreeImpl
and SAXImpl. It treats the RTF as simple Text and uses the SimpleResultTreeImpl model
at the beginning. However, if it receives a call which indicates that this is a DOM tree
(e.g. startElement), it will automatically transform itself into a wrapper around a
SAXImpl. In this way we can have a light-weight model when the result only contains
simple text, while at the same time it still works when the RTF is a DOM tree.

All methods in this class are overridden to delegate the action to the wrapped SAXImpl object
if it is non-null, or delegate the action to the SimpleResultTreeImpl if there is no
wrapped SAXImpl.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/12<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Save the DTMManager in a field in MultiDOM. Don't compute it
everytime in MultiDOM.getDTMId().
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br/><ref>Committer's log entry: </ref>
Fix a bug which causes the docbook testcase to fail.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/14<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work
Improvement in MultiDOM. Make the nodeHandle to DOMAdapter mapping a
straight map. The code in getDTMId() is much light-weight than before,
because the complicated stuff is moved to addDOMAdapter() which is only
called once per DTM. In the case where the DTM id runs across several
addressing range (the size of each range is 65536 - an unusal case),
there will be several items in the adapter array for one DTM.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>
Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com).  Ensure that
patterns of the form processing-instruction() and processing-instruction('name')
are given the right priorities.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>
Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com).  Ensure that
patterns of the form processing-instruction() and processing-instruction('name')
are given the right priorities.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/17<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java<br/><ref>Committer's log entry: </ref>
Applying patch for bug 15332 from Igor Hersht (igorh@ca.ibm.com).  Ensure that
patterns of the form processing-instruction() and processing-instruction('name')
are given the right priorities.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java DOMWSFilter.java KeyIndex.java LoadDocument.java SAXImpl.java XSLTCDTMManager.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java BasisLibrary.java xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>
XSLTC_DTM performance work

New solution for DOM input. Use SAXImpl + DOM2SAX to handle DOM
input. This is the solution used in the old XSLTC. The DOMImpl
class is completely deprecated. This solution is better
than DOMImpl on top of DOM2DTM for the following reasons:

1. DOM2DTM is known to be slow.
2. DOM2DTM is an incremental model while DOMImpl is not.
3. There are too much code duplication between DOMImpl and SAXImpl

Under the new solution, any improvement to SAXImpl and SAX2DTM2 will
also benefit the DOM case. There is no need to have separate optimizations
for the DOM case.

This solution is a little sophisticated than the old XSLTC solution in
that we borrow some code from DOM2DTM (e.g. handling for id function
and unparsed entity). The end result is that conformance in trax.dom
is better than the old XSLTC.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/18<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util VoidType.java<br/><ref>Committer's log entry: </ref>

 Override definition of Type.POP() in VoidType to return NOP instead of POP.
 If type is void, there's nothing to be popped. This problem shows up when
 invoking an external Java function whose return type is void.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/19<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Parser.java SyntaxTreeNode.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java ErrorMessages.java ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages_no.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Changed XSLTC messages to extend ListResourceBundle, and use String keys to
access messages.  Code used to extend ResourceBundle and used to use integer
indices to access error messages.

Changes from myself and Gordon Chiu (grchiu@uwaterloo.ca).
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/20<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java Parser.java SyntaxTreeNode.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages_no.java ErrorMessages.java ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java ErrorMessages_no.java ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Changed XSLTC messages to extend ListResourceBundle, and use String keys to
access messages.  Code used to extend ResourceBundle and used to use integer
indices to access error messages.

Changes from myself and Gordon Chiu (grchiu@uwaterloo.ca).
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java Constants.java DecimalFormatting.java<br/><ref>Committer's log entry: </ref>
The generated code for xsl:decimal-format used the no argument constructor of
DecimalFormatSymbols, which is affected by the default locale.  The default
attribute values for xsl:decimal-format should not be affected by the default
locale.  Instead, the en_US Locale should be passed to the constructor, as it
has settings that are consistent with the defaults for xsl:decimal-format.
<br/><br/></li><li><ref>Committed by </ref>zongaro@apache.org<ref> on </ref>2003/03/21<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java<br/><ref>Committer's log entry: </ref>
The generated code for xsl:decimal-format used the no argument constructor of
DecimalFormatSymbols, which is affected by the default locale.  The default
attribute values for xsl:decimal-format should not be affected by the default
locale.  Instead, the en_US Locale should be passed to the constructor, as it
has settings that are consistent with the defaults for xsl:decimal-format.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/25<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>

 Fix for Bugzilla 18162. Warnings are still reported if an occurrence of
 xsl:attribute *may* result in a runtime error.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>
Committing patch by Arun Yadav (Arun.Yadav@sun.com) that fixes the problem
of using "." or "-" as part of the name of a parameter (Bugzilla 15636).
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/26<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler KeyCall.java<br/><ref>Committer's log entry: </ref>
Committing patch from Arun Yadav (arun.yadav@sun.com) for Bugzilla
15830. Correct handling for id()/key() values of type result-tree.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/03/31<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>

 New implementation for TemplatesHandlerImpl that does not extend
 xsltc.compiler.Parser. The new implementation has a simpler init()
 method. Also, instances of the new class can be re-used (previously,
 there were problems with the output method when an instance was
 used more than once).
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/03/31<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
Remove XSLTC's compile time dependency on Xalan.
<br/><br/></li><li><ref>Committed by </ref>santiagopg@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Parser.java XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
 New implementation of TemplatesHandlerImpl. Fixes output method problem
 when reusing TemplatesHandler instances.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.cmdline.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java DOMCache.java NodeIterator.java Translet.java TransletOutputHandler.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.

1. Remove TransletOutputHandler.java
2. Adapt the XSLTC interfaces to the DTM model.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.util.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsolutePathPattern.java AncestorPattern.java CastExpr.java Constants.java CopyOf.java DocumentCall.java ForEach.java GenerateIdCall.java IdKeyPattern.java Key.java KeyCall.java Message.java Mode.java NameBase.java NodeTest.java Output.java ParentLocationPath.java Predicate.java ProcessingInstructionPattern.java Step.java StepPattern.java Stylesheet.java SyntaxTreeNode.java UnionPathExpr.java UnparsedEntityUriCall.java ValueOf.java xpath.cup XSLTC.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSetType.java ObjectType.java ReferenceType.java ResultTreeType.java TypeCheckError.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.util.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.trax.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java SAXHTMLOutput.java SAXOutput.java SAXTextOutput.java SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java StreamUnknownOutput.java StreamXMLOutput.java TransletOutputHandlerFactory.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.output
Remove the output classes in XSLTC. XSLTC now uses the
output classes in the common serializer.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java AttributeList.java BasisLibrary.java Constants.java DefaultSAXOutputHandler.java SAXAdapter.java StringValueHandler.java TextOutput.java TransletOutputBase.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/01<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java AdaptiveResultTreeImpl.java AnyNodeCounter.java Axis.java BitArray.java CollatorFactoryBase.java CurrentNodeListFilter.java CurrentNodeListIterator.java DocumentCache.java DOMAdapter.java DOMBuilder.java DOMImpl.java DOMWSFilter.java DTDMonitor.java DupFilterIterator.java EmptyFilter.java ExtendedSAX.java Filter.java FilteredStepIterator.java FilterIterator.java ForwardPositionIterator.java KeyIndex.java LoadDocument.java MatchingIterator.java MultiDOM.java MultipleNodeCounter.java NodeCounter.java NodeIteratorBase.java NodeSortRecord.java NodeSortRecordFactory.java NthIterator.java SAXImpl.java SimpleResultTreeImpl.java SingleNodeCounter.java SingletonIterator.java SortingIterator.java StepIterator.java StripWhitespaceFilter.java UnionIterator.java XSLTCDTMManager.java<br/><ref>Committer's log entry: </ref>
Merging XSLTC_DTM and common serializer to the head
Adapt all dom classes in org.apache.xalan.xsltc.dom to
the DTM model.

Removed DOMImpl, DTDMonitor.
Added a few new classes for the new DOM model. The core
DOM class is SAXImpl.
<br/><br/></li><li><ref>Committed by </ref>ilene@apache.org<ref> on </ref>2003/04/02<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
If there is an error listener registered to a TransformerFactory, and the
stylesheet cannot be compiled, call fatalError, in addition to throwing 
the TransformerConfigurationException.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/04<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java<br/><ref>Committer's log entry: </ref>
According to spec http://www.w3.org/1999/11/REC-xslt-19991116-errata/#E27,
when element nodes are used in the instantiated content of attribute, comment
and processing instructions, we should ignore the elements together with
their content.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java<br/><ref>Committer's log entry: </ref>
Need to override more startElement and endElement interfaces
in AdaptiveResultTreeImpl, because it now extends EmptySerializer,
which has a few more interfaces than the old TransletOutputHandler.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/07<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java SAXImpl.java<br/><ref>Committer's log entry: </ref>
Fix for a few testcase failures in XSLTC trax.localPath.

Detect the backslash ("\") character in the path in addtional to the
forward slash ('/') in LoadDocument.document().

The XSLTC conformance result in trax.localPath changed from
Pass: 1634/Fail: 14/Errr: 35 to Pass: 1657/Fail: 17/Errr: 9
after this change.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>
Fix for bugzilla 17448.
Stylesheet.setIncludingStylesheet() should use _includedFrom
instead of _importedFrom.
<br/><br/></li><li><ref>Committed by </ref>mkwan@apache.org<ref> on </ref>2003/04/08<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java<br/><ref>Committer's log entry: </ref>
Fix another problem related to bug 17448.
Only set the import precedence of an included stylesheet when it
is directly included by this stylesheet. If it is indirectly
included via imports, the import precedence will be different.
<br/><br/></li></ul>