<?xml version="1.0" encoding="UTF-8"?>
<Commits>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/02/21</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Message.java</Modified>
<Log>
 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).
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/02/21</DateCommitted>
<Modified> 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</Modified>
<Log>
 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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/21</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Small improvement to SAXImpl.copyElement().
Move the getStringValue() method from SAXImpl to SAX2DTM2.
Remove the SAXImpl.stringValueAux() method.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/02/25</DateCommitted>
<Modified> xml-xalan/java/src xml-commons-src.tar.gz xml-xalan/java/bin xml-apis.jar</Modified>
<Log>
Update to latest version of xml-apis.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/26</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Improvement to DescendantIterator. If _startNode is the root node, do
not need to do the isDescendant() check.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/26</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Set the nextsib element of an attribute or namespace node to -1.
This makes the logic in the iterators simpler and easier to
maintain.
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/02/26</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java</Modified>
<Log>
 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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/26</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/27</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java</Modified>
<Log>
XSLTC_DTM performance work
Minor cleanup to SAXImpl.copy() and copyElement(). Introduce a new interface
handleTextEvents() to handle Text nodes more efficiently.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/27</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql DTMDocument.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime AttributeList.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMStringPool.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java xml-xalan/java/src/org/apache/xml/utils SuballocatedIntVector.java</Modified>
<Log>
XSLTC_DTM performance work
Improvement for RTF. These changes improve the performance
for stylesheets which create and throw away many small RTFs.

Make the sizes of all internal storage units used by SAXImpl configurable.
These include SuballocatedIntVector, DTMStringPool, IntStack and FastStringBuffer.
The chain size of DTMStringPool and the number of blocks in SuballocatedIntVector
can now be passed in the constructor. These sizes are set to smaller values in
the RTF case.

The default RTF size is changed to 32. There is also a change in the XSLTC
AttributeList class to use on-demand memory allocation for the internal vectors.
The vectors are only allocated when there is an attribute.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/27</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Small improvement to DescendantIterator and TypedDescendantIterator.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/02/28</DateCommitted>
<Modified> xml-xalan/java/samples/extensions/sql/streamable cachedNodes.xsl pivot.xsl xml-xalan/java/xdocs/sources/xalan samples.xml xml-xalan/java/samples/CompiledApplet menu.html README.applet xml-xalan/java/samples/extensions/sql/basic-connection dbinfo.xml dbtest.xsl</Modified>
<Log>
More sample and documentation updates from Christine Li (jycli@ca.ibm.com).
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/28</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java</Modified>
<Log>
Add a getTransformer() interface to TrAXFilter. This is a user requested
feature. This interface can be used by the UseXMLFilters samples to
set the output properties correctly.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/28</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Do not create the previous sibling array for XSLTC. This array is not used
in XSLTC's SAXImpl. Creating it is a waste of time.

We add a boolean flag to the constructors of DTMDefaultBase and its
subclasses to indicate whether the previous sibling array should be created.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/02/28</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java</Modified>
<Log>
Correct an error. The DTMDefaultBase.getPreviousSibling() interface
returns a node handle instead of a node identity.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/02/28</DateCommitted>
<Modified> xml-xalan/java/samples/CompiledEJB bottom_frame.html index.html README.ejb top_frame.html xml-xalan/java/samples/CompiledServlet CompileServlet.java README.servlet</Modified>
<Log>
Patches for samples from Christine Li (jycli@ca.ibm.com)
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/03</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java</Modified>
<Log>
Propagate the change from head branch to XSLTC_DTM.
Add a new getTransformer() interface to TrAXFilter.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/03</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java</Modified>
<Log>
Add a new getTransformer() interface to TrAXFilter.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/03</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java NameBase.java Stylesheet.java xpath.cup XSLTC.java xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java DocumentCache.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 TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work

Implement a feature for on-demand building of the ID index table.

Before this change, the SAX2DTM2 class always builds an ID index
hashtable by comparing the name of every attribute with "id". Now
we maintain a flag _hasIdCall in AbstractTranslet to indicate
whether the translet has id function calls. The value of this flag
is compiled into the translet from the Stylesheet class. The Stylesheet
class also has an _hasIdCall flag, which is set by the XPath parser.

When a SAXImpl object is created, the _hasIdCall flag is passed in from the
Translet. Now the id index table is only built when the stylesheet makes
use of the id function.

Also fix a bug in the NameBase class for using an incorrect class name
(org.apache.xml.dtm.ref.DTMAxisIterator should be org.apache.xml.dtm.DTMAxisIterator).
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/05</DateCommitted>
<Modified> 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</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/05</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SimpleResultTreeImpl.java</Modified>
<Log>
Add a new class SimpleResultTreeImpl as the model for simple RTF.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/06</DateCommitted>
<Modified> 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</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/06</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom AnyNodeCounter.java DOMAdapter.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Improvement for xsl:number. Introduce an optimized version of
getExpandedTypeID() in SAX2DTM2.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMWSFilter.java NodeSortRecord.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Improvement for xsl:strip-space by caching the DTM that is used last time.
Better Collator handling in NodeSortRecord.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java</Modified>
<Log>
XSLTC_DTM performance work
Small tweaks in DOMAdapter. Invoking a final method is generally faster than
invoking a method via interface.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/10</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java</Modified>
<Log>
Fix a bug that causes id function testcases to fail in trax.sax flavor.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/10</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Save the values of attribute, namespace, comment and PI nodes
in a plain Vector instead of in DTMStringPool. Saving a String
in DTMStringPool involves a hash calculation. These values
are unlikely to be equal. Saving them in a plain Vector has a
lower cost than saving them in DTMStringPool. Only prefixed QNames
are saved in DTMStringPool after this change.

Need to make changes in a few interfaces to accommadate this change.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/11</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/12</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java</Modified>
<Log>
file AdaptiveResultTreeImpl.java was initially added on branch XSLTC_DTM.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/12</DateCommitted>
<Modified> 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</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/12</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java</Modified>
<Log>
XSLTC_DTM performance work
Save the DTMManager in a field in MultiDOM. Don't compute it
everytime in MultiDOM.getDTMId().
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/13</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java</Modified>
<Log>
Fix a bug which causes the docbook testcase to fail.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/13</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/utils FastStringBuffer.java</Modified>
<Log>
XSLTC_DTM performance work
Small improvement in FastStringBuffer.sendSAXCharacters() when the whole
piece of text is in one chunk.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/14</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/14</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Small improvement in SAX2DTM2.getStringValueX() and dispatchCharacterEvents()
by saving one local variable.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/14</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom CollatorFactoryBase.java SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Save the offset and length of a Text node in a bitwise encoded value (10
bits for length and 21 bits for offset) if they are within certain limits.
Before this change, we need 3 SuballocatedIntVector calls to get the offset
and length information. Now we only need one SuballocatedIntVector call,
one bit AND &amp; one SHIFT. Bit AND and SHIFT are faster than accessing a
SuballocatedIntVector.
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/17</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/17</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/17</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/18</DateCommitted>
<Modified> 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</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/03/18</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util VoidType.java</Modified>
<Log>

 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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/19</DateCommitted>
<Modified> 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</Modified>
<Log>
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).
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/20</DateCommitted>
<Modified> 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</Modified>
<Log>
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).
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/20</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java</Modified>
<Log>
Fix a bug for testcase axes129.
DTMDefaultBase.getFirstNamespaceNode() should return NULL when
the given node is not an element. axes129 passed in both
Xalan and XSLTC_DTM after this change.
</Log>
</Commit>
<Commit category="core">
<Who>jkesselm@apache.org</Who>
<DateCommitted>2003/03/20</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java</Modified>
<Log>
Oops! Old bug, just noticed -- we forgot to override RootTraverser's typed first().
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/21</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java Constants.java DecimalFormatting.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/21</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom NthIterator.java xml-xalan/java/src/org/apache/xml/dtm DTMAxisIterator.java xml-xalan/java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Improvement for step[n]. Introduce a new interface getNodeByPosition(int position)
in DTMAxisIterator, which is used by the NthIterator. The default implementation
is in DTMAxisIteratorBase. The subclasses can override this interface to provide
a faster customized implementation.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/21</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Introduce a copyAttribute() method in SAXImpl to speed up
attribute copying.
</Log>
</Commit>
<Commit category="xsltc">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/03/21</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/24</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java</Modified>
<Log>
XSLTC_DTM performance work
Improvement in DTM building. Make the code more efficient
in a few expensive interfaces.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/24</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java</Modified>
<Log>
Fix a bug in XSLTC_DTM.
Change the name of the optimized getExpandedTypeID method to getgetExpandedTypeID2.
The old one can be used during DTM building, while the new one is only
used in document traversal.
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/03/25</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslAttribute.java</Modified>
<Log>

 Fix for Bugzilla 18162. Warnings are still reported if an occurrence of
 xsl:attribute *may* result in a runtime error.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/03/25</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates FuncDocument.java FuncDocument.java xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java XSLTErrorResources.properties XSLTErrorResources.java XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/templates FuncDocument.java FuncDocument.java</Modified>
<Log>
Committing Christine Li's (jycli@ca.ibm.com) patch for bugzilla #18210.
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/03/26</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java</Modified>
<Log>
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).
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/03/26</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler KeyCall.java</Modified>
<Log>
Committing patch from Arun Yadav (arun.yadav@sun.com) for Bugzilla
15830. Correct handling for id()/key() values of type result-tree.
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/03/31</DateCommitted>
<Modified> 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</Modified>
<Log>

 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).
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/03/31</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java</Modified>
<Log>
Remove XSLTC's compile time dependency on Xalan.
</Log>
</Commit>
<Commit category="xsltc">
<Who>santiagopg@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> 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</Modified>
<Log>
 New implementation of TemplatesHandlerImpl. Fixes output method problem
 when reusing TemplatesHandler instances.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.sax2dtm.
Add new file SAX2DTM2.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.dom2dtm.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm DTM.java DTMAxisIterator.java DTMManager.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref DTMAxisIteratorBase.java DTMAxisIterNodeList.java DTMChildIterNodeList.java DTMDefaultBase.java DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java DTMDocumentImpl.java DTMManagerDefault.java DTMNamedNodeMap.java DTMNodeList.java DTMNodeListBase.java DTMNodeProxy.java DTMStringPool.java ExpandedNameTable.java ExtendedType.java IncrementalSAXSource_Xerces.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.
Add new files:
DTMAxisIterNodeList.java
DTMChildIterNodeList.java
DTMNodeListBase.java
ExtendedType.java
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/res XMLErrorResources.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.res.
Add new messages for common serializer.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/serializer AttributesImplSerializer.java CharInfo.java DOMSerializer.java ElemDesc.java EmptySerializer.java EncodingInfo.java Encodings.java Encodings.properties ExtendedContentHandler.java ExtendedLexicalHandler.java HTMLEntities.res Method.java NamespaceMappings.java output_html.properties output_text.properties output_unknown.properties output_xml.properties OutputPropertiesFactory.java OutputPropertyUtils.java package.html SerializationHandler.java Serializer.java SerializerBase.java SerializerConstants.java SerializerFactory.java SerializerTrace.java SerializerTraceWriter.java ToHTMLSAXHandler.java ToHTMLStream.java ToSAXHandler.java ToStream.java ToTextSAXHandler.java ToTextStream.java ToUnknownStream.java ToXMLSAXHandler.java ToXMLStream.java TransformStateSetter.java WriterToASCI.java WriterToUTF8.java WriterToUTF8Buffered.java XMLEntities.res XSLOutputAttributes.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Add new serializer classes under package org.apache.xml.serializer.
Log from Brian Minchau (minchau@ca.ibm.com):

In the past Xalan-J interpretive (Xalan) and XSLTC both implemented their own
serialization stages.  Much of the code provides the same functionality.
In order to improve the maintainability of the code, and to eliminate any
functional differences, these two serializers are now merged in the
org.apache.xml.serializer package.

The best performing features of both have been used.  The class hierarchy
of serializers used by XSLTC is re-used for this reason. At the highest
level the serializer classes split based on whether the output of the
serializer is a "Stream" or whether it is a "SAX" handler.  After that
both major branches split based on the output type (e.g. XML, HTML or TEXT).

The external user interface of the old Xalan serializer has been kept.
Other classes and interfaces have been absorbed into the serializer
package to keep it independent of both Xalan and XSLTC. The primary
interface, SerializationHandler, accepts SAX and SAX-like calls, but
it also absorbs other interfaces from the old Xalan serializer.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/utils DOMHelper.java FastStringBuffer.java IntStack.java SuballocatedIntVector.java XMLStringDefault.java XMLStringFactoryDefault.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.utils.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/extensions XSLProcessorContext.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.extensions.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java PipeDocument.java Redirect.java xml-xalan/java/src/org/apache/xalan/lib/sql DTMDocument.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.lib.

1. Change the return types of some date-time extension functions
for support in XSLTC.

2. Changes for the new serializer.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/processor ProcessorOutputElem.java TransformerFactoryImpl.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.processor.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/serialize CharInfo.java DOMSerializer.java ElemDesc.java EncodingInfo.java Encodings.java Encodings.properties HTMLEntities.res Method.java package.html Serializer.java serializer.properties SerializerFactory.java SerializerToHTML.java SerializerToText.java SerializerToXML.java SerializerUtils.java WriterToASCI.java WriterToUTF8.java WriterToUTF8Buffered.java XMLEntities.res</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Remove old serializer classes under org.apache.xalan.serialize.
The new serializer files are now in org.apache.xml.serializer.
Add new file SerializerUtils.java.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java ElemAttribute.java ElemCopy.java ElemCopyOf.java ElemElement.java ElemExtensionCall.java ElemForEach.java ElemLiteralResult.java ElemTemplateElement.java ElemTextLiteral.java ElemValueOf.java output_html.properties output_text.properties output_xml.properties OutputProperties.java StylesheetRoot.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.templates.
Replace ResultTreeHandler with SerializationHandler.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/trace GenerateEvent.java PrintTraceListener.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.trace.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/transformer ClonerToResultTree.java QueuedEvents.java ResultTreeHandler.java SerializerSwitcher.java TransformerHandlerImpl.java TransformerIdentityImpl.java TransformerImpl.java TransformSnapshot.java TransformSnapshotImpl.java TransformState.java TreeWalker2Result.java XalanTransformState.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.transformer for the new serializer.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.cmdline.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java DOMCache.java NodeIterator.java Translet.java TransletOutputHandler.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.util.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> 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</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSetType.java ObjectType.java ReferenceType.java ResultTreeType.java TypeCheckError.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.util.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.trax.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> 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</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> 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</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> 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</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java build.xml xsltc_todo.xml</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Update build.xml and xsltc_todo.xml.

Now the default build target is a big xalan.jar which
includes both Xalan-J Interpretive and XSLTC.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/01</DateCommitted>
<Modified> xml-xalan/java/src MANIFEST.MF</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Update MANIFEST.MF to include information about
xsltc and its support jars.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/04/02</DateCommitted>
<Modified> xml-xalan/java/bin xercesImpl.jar</Modified>
<Log>
Updating to Xerces-J 2.4.0.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/02</DateCommitted>
<Modified> xml-xalan/java/src MANIFEST.MF</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Update spec version for XSLTC in MANIFEST.MF
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/02</DateCommitted>
<Modified> xml-xalan/java/samples/CompiledApplet menu.html README.applet TransformApplet.java xml-xalan/java/samples/CompiledBrazil README.brazil TransformHandler.java xml-xalan/java/samples/CompiledEJB README.ejb TransformBean.java xml-xalan/java/samples/CompiledJAXP Compile.java README.cjaxp Transform.java xml-xalan/java/samples/CompiledServlet README.servlet TransformServlet.java xml-xalan/java/samples/DOM2DOM DOM2DOM.java xml-xalan/java/samples/Pipe Pipe.java xml-xalan/java/samples/SAX2SAX SAX2SAX.java xml-xalan/java/samples/translets JAXPTransletMultipleTransformations.java JAXPTransletOneTransformation.java todo.xsl xml-xalan/java/samples/UseXMLFilters UseXMLFilters.java</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head

Update in the samples
1. Changes from Henry Zongaro (zongaro@ca.ibm.com) in the
XSLTC samples. Use TrAX API instead of native API.
2. Changes from Brian Minchau (minchau@ca.ibm.com) to use
the new serializer classes.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/02</DateCommitted>
<Modified> xml-xalan/java/samples/CompiledApplet singleTransform.html xml-xalan/java/samples/CompiledEJB bottom_frame.html index.html top_frame.html xml-xalan/java/samples/translets todo.xml todotoo.xml</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head
Add new sample files.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/02</DateCommitted>
<Modified> xml-xalan/java/xdocs/sources entities.ent xalan-jlocal.xml xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml commandline.xml dtm.xml history.xml readme.xml samples.xml usagepatterns.xml xsltc_history.xml xsltc_usage.xml</Modified>
<Log>
Merging XSLTC_DTM and common serializer to the head

Update in java/xdocs.
</Log>
</Commit>
<Commit category="xsltc">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/04/02</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java</Modified>
<Log>
If there is an error listener registered to a TransformerFactory, and the
stylesheet cannot be compiled, call fatalError, in addition to throwing 
the TransformerConfigurationException.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/03</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xpath/axes FilterExprWalker.java</Modified>
<Log>
Commit patch for bug 12797 from Arun Yadav (arun.yadav@sun.com).
</Log>
</Commit>
<Commit category="core">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/04/03</DateCommitted>
<Modified> xml-xalan/java build.xml</Modified>
<Log>
Added a new "fulldist" target.  It builds a distribution that includes Xalan-J
components that depend upon non-standard components that aren't part of the
Xalan-J repository.  In particular, xsltcbrazil.jar is built under the
"fulldist" target, but not under the ordinary "dist" target.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/04</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/serializer ToStream.java</Modified>
<Log>
Replace Vector.add() by Vector.addElement() because the first method
is not in JDK 1.1.8.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/04</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/04/05</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xml/utils TreeWalker.java</Modified>
<Log>
Instead of setting a default baseURI in newTemplates, append a dummy string
to the default used in the TreeWalker constructors.  This solves the problem
of violating the SourceLocator.getSystemId API which should return null
if if no systemId was set, while allowing relative URI's to be resolved when
the source is a DOM and no systemID has been set.  Relative URI's are already 
resolved correctly for other source types.
</Log>
</Commit>
<Commit category="core">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/04/06</DateCommitted>
<Modified> xml-xalan/java/samples/CompiledApplet TransformApplet.java README.applet</Modified>
<Log>
Patch from Christine Li (jycli@ca.ibm.com).  Reworked applet code so that the
init method creates a thread to which it delegates all the work of creating
Transformers and performing transformations.

Xalan needs all of its classes to be loaded with respect to the same class
loader.  The thread that's created will have the context class loader, if any,
that is in effect when the applet's init method is called, but calls to other
methods on the applet might not have the same context class loader.  Using a
thread avoids any problems that might arise from such a situation.
</Log>
</Commit>
<Commit category="core">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/04/06</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/serializer CharInfo.java HTMLEntities.properties output_html.properties output_xml.properties XMLEntities.properties xml-xalan/java/xdocs/sources/xalan usagepatterns.xml</Modified>
<Log>
Patch from Christine Li (jycli@ca.ibm.com).  Changed CharInfo so that it allows
descriptions of entities to be specified as a properties file in addition to a
Xalan-specific resource file format.

The code previously always assumed a Xalan-specific resource file format, for
both user-supplied descriptions of entities, and for those supplied with
Xalan-J.  The security restrictions of applets are such that an applet that
relies on a copy of Xalan-J in the Java run-time would find that Xalan-J would
be unable to read the default entities file that is packaged with the JRE on
the applet's behalf - it can only do so with a properties, via ResourceBundle.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java</Modified>
<Log>
Commit an implementation of the date-time:format-date() extension function
(bugzilla 18713) contributed by Helg Bredow (helg.bredow@kalido.com).
</Log>
</Commit>
<Commit category="core">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/07</DateCommitted>
<Modified> xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml</Modified>
<Log>
Docs update
Document the new "use-classpath" attribute
which is supported in the XSLTC TrAX API.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/07</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java SAXImpl.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/04/07</DateCommitted>
<Modified> xml-xalan/java/samples/CompiledServlet README.servlet TransformServlet.java xml-xalan/java/samples/CompiledBrazil README.brazil</Modified>
<Log>
Sample updates from Christine Li (jycli@ca.ibm.com).
</Log>
</Commit>
<Commit category="core">
<Who>ilene@apache.org</Who>
<DateCommitted>2003/04/08</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/serialize DOMSerializer.java Serializer.java SerializerFactory.java xml-xalan/java/src/org/apache/xml/serializer DOMSerializer.java SerializationHandler.java SerializerBase.java ToHTMLStream.java ToUnknownStream.java xml-xalan/java/src/org/apache/xalan/templates OutputProperties.java</Modified>
<Log>
Patch from Brian Minchau (minchau@ca.ibm.com) for backward compatibility
of new serializers.  Also a fix related to a failure in the DOM2DOM sample.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/08</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java</Modified>
<Log>
Fix for bugzilla 17448.
Stylesheet.setIncludingStylesheet() should use _includedFrom
instead of _importedFrom.
</Log>
</Commit>
<Commit category="xsltc">
<Who>mkwan@apache.org</Who>
<DateCommitted>2003/04/08</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java</Modified>
<Log>
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.
</Log>
</Commit>
<Commit category="core">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/04/09</DateCommitted>
<Modified> xml-xalan/java/src/org/apache/xml/serializer HTMLEntities.res XMLEntities.res</Modified>
<Log>
Dropped descriptions of entities in the form of resource files in favour of
those in the form of properties file.  The resource files are still supported,
but Xalan-J's serializer only requires one.
</Log>
</Commit>
<Commit category="core">
<Who>zongaro@apache.org</Who>
<DateCommitted>2003/04/09</DateCommitted>
<Modified> xml-xalan/java build.xml</Modified>
<Log>
Dropped descriptions of entities in the form of resource files in favour of
those in the form of properties file.  The resource files are still supported,
but Xalan-J's serializer only requires one.
</Log>
</Commit>
</Commits>
