santiagopg@apache.org
2003/02/21
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Message.java
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).
santiagopg@apache.org
2003/02/21
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
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.
mkwan@apache.org
2003/02/21
xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
XSLTC_DTM performance work
Small improvement to SAXImpl.copyElement().
Move the getStringValue() method from SAXImpl to SAX2DTM2.
Remove the SAXImpl.stringValueAux() method.
ilene@apache.org
2003/02/25
xml-xalan/java/src xml-commons-src.tar.gz xml-xalan/java/bin xml-apis.jar
Update to latest version of xml-apis.
mkwan@apache.org
2003/02/26
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
XSLTC_DTM performance work
Improvement to DescendantIterator. If _startNode is the root node, do
not need to do the isDescendant() check.
mkwan@apache.org
2003/02/26
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
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.
santiagopg@apache.org
2003/02/26
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ReferenceType.java
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.
mkwan@apache.org
2003/02/26
xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
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.
mkwan@apache.org
2003/02/27
xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java
XSLTC_DTM performance work
Minor cleanup to SAXImpl.copy() and copyElement(). Introduce a new interface
handleTextEvents() to handle Text nodes more efficiently.
mkwan@apache.org
2003/02/27
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
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.
mkwan@apache.org
2003/02/27
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
XSLTC_DTM performance work
Small improvement to DescendantIterator and TypedDescendantIterator.
ilene@apache.org
2003/02/28
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
More sample and documentation updates from Christine Li (jycli@ca.ibm.com).
mkwan@apache.org
2003/02/28
xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java
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.
mkwan@apache.org
2003/02/28
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
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.
mkwan@apache.org
2003/02/28
xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
Correct an error. The DTMDefaultBase.getPreviousSibling() interface
returns a node handle instead of a node identity.
ilene@apache.org
2003/02/28
xml-xalan/java/samples/CompiledEJB bottom_frame.html index.html README.ejb top_frame.html xml-xalan/java/samples/CompiledServlet CompileServlet.java README.servlet
Patches for samples from Christine Li (jycli@ca.ibm.com)
mkwan@apache.org
2003/03/03
xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java
Propagate the change from head branch to XSLTC_DTM.
Add a new getTransformer() interface to TrAXFilter.
mkwan@apache.org
2003/03/03
xml-xalan/java/src/org/apache/xalan/transformer TrAXFilter.java
Add a new getTransformer() interface to TrAXFilter.
mkwan@apache.org
2003/03/03
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
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).
mkwan@apache.org
2003/03/05
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
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.
mkwan@apache.org
2003/03/05
xml-xalan/java/src/org/apache/xalan/xsltc/dom SimpleResultTreeImpl.java
Add a new class SimpleResultTreeImpl as the model for simple RTF.
mkwan@apache.org
2003/03/06
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
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.
mkwan@apache.org
2003/03/06
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
XSLTC_DTM performance work
Improvement for xsl:number. Introduce an optimized version of
getExpandedTypeID() in SAX2DTM2.
mkwan@apache.org
2003/03/07
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
XSLTC_DTM performance work
Improvement for xsl:strip-space by caching the DTM that is used last time.
Better Collator handling in NodeSortRecord.
mkwan@apache.org
2003/03/07
xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java SAXImpl.java
XSLTC_DTM performance work
Small tweaks in DOMAdapter. Invoking a final method is generally faster than
invoking a method via interface.
mkwan@apache.org
2003/03/07
xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamOutput.java
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.
mkwan@apache.org
2003/03/07
xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java
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.
mkwan@apache.org
2003/03/10
xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesHandlerImpl.java
Fix a bug that causes id function testcases to fail in trax.sax flavor.
mkwan@apache.org
2003/03/10
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
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.
mkwan@apache.org
2003/03/11
xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java
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.
mkwan@apache.org
2003/03/12
xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java
file AdaptiveResultTreeImpl.java was initially added on branch XSLTC_DTM.
mkwan@apache.org
2003/03/12
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
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 <xsl:call-template> or <xsl:apply-templates> in
the contents. Example:
<xsl:variable name = "x">
<xsl:call-template name = "test">
<xsl:with-param name="a" select="."/>
</xsl:call-template>
</xsl:variable>
In this example the result produced by <xsl:call-template> 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.
mkwan@apache.org
2003/03/12
xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java
XSLTC_DTM performance work
Save the DTMManager in a field in MultiDOM. Don't compute it
everytime in MultiDOM.getDTMId().
mkwan@apache.org
2003/03/13
xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java
Fix a bug which causes the docbook testcase to fail.
mkwan@apache.org
2003/03/13
xml-xalan/java/src/org/apache/xml/utils FastStringBuffer.java
XSLTC_DTM performance work
Small improvement in FastStringBuffer.sendSAXCharacters() when the whole
piece of text is in one chunk.
mkwan@apache.org
2003/03/14
xml-xalan/java/src/org/apache/xalan/xsltc/dom MultiDOM.java
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.
mkwan@apache.org
2003/03/14
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
XSLTC_DTM performance work
Small improvement in SAX2DTM2.getStringValueX() and dispatchCharacterEvents()
by saving one local variable.
mkwan@apache.org
2003/03/14
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
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 & one SHIFT. Bit AND and SHIFT are faster than accessing a
SuballocatedIntVector.
zongaro@apache.org
2003/03/17
xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
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.
zongaro@apache.org
2003/03/17
xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
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.
zongaro@apache.org
2003/03/17
xml-xalan/java/src/org/apache/xalan/xsltc/compiler ProcessingInstructionPattern.java
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.
mkwan@apache.org
2003/03/18
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
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.
santiagopg@apache.org
2003/03/18
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util VoidType.java
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.
zongaro@apache.org
2003/03/19
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
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).
zongaro@apache.org
2003/03/20
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
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).
mkwan@apache.org
2003/03/20
xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
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.
jkesselm@apache.org
2003/03/20
xml-xalan/java/src/org/apache/xml/dtm/ref DTMDefaultBaseTraversers.java
Oops! Old bug, just noticed -- we forgot to override RootTraverser's typed first().
zongaro@apache.org
2003/03/21
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java Constants.java DecimalFormatting.java
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.
mkwan@apache.org
2003/03/21
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
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.
mkwan@apache.org
2003/03/21
xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
XSLTC_DTM performance work
Introduce a copyAttribute() method in SAXImpl to speed up
attribute copying.
zongaro@apache.org
2003/03/21
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java DecimalFormatting.java
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.
mkwan@apache.org
2003/03/24
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java
XSLTC_DTM performance work
Improvement in DTM building. Make the code more efficient
in a few expensive interfaces.
mkwan@apache.org
2003/03/24
xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMAdapter.java xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM2.java
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.
santiagopg@apache.org
2003/03/25
xml-xalan/java/src/org/apache/xalan/xsltc/compiler XslAttribute.java
Fix for Bugzilla 18162. Warnings are still reported if an occurrence of
xsl:attribute *may* result in a runtime error.
ilene@apache.org
2003/03/25
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
Committing Christine Li's (jycli@ca.ibm.com) patch for bugzilla #18210.
santiagopg@apache.org
2003/03/26
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
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).
santiagopg@apache.org
2003/03/26
xml-xalan/java/src/org/apache/xalan/xsltc/compiler KeyCall.java
Committing patch from Arun Yadav (arun.yadav@sun.com) for Bugzilla
15830. Correct handling for id()/key() values of type result-tree.
santiagopg@apache.org
2003/03/31
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
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).
mkwan@apache.org
2003/03/31
xml-xalan/java/src/org/apache/xalan/xsltc/trax SmartTransformerFactoryImpl.java
Remove XSLTC's compile time dependency on Xalan.
santiagopg@apache.org
2003/04/01
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
New implementation of TemplatesHandlerImpl. Fixes output method problem
when reusing TemplatesHandler instances.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2DTM2.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.sax2dtm.
Add new file SAX2DTM2.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.ref.dom2dtm.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xml/dtm DTM.java DTMAxisIterator.java DTMManager.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.dtm.
mkwan@apache.org
2003/04/01
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
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
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xml/res XMLErrorResources.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.res.
Add new messages for common serializer.
mkwan@apache.org
2003/04/01
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
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.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xml/utils DOMHelper.java FastStringBuffer.java IntStack.java SuballocatedIntVector.java XMLStringDefault.java XMLStringFactoryDefault.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xml.utils.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/extensions XSLProcessorContext.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.extensions.
mkwan@apache.org
2003/04/01
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
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.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/processor ProcessorOutputElem.java TransformerFactoryImpl.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.processor.
mkwan@apache.org
2003/04/01
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
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.
mkwan@apache.org
2003/04/01
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
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.templates.
Replace ResultTreeHandler with SerializationHandler.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/trace GenerateEvent.java PrintTraceListener.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.trace.
mkwan@apache.org
2003/04/01
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
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.transformer for the new serializer.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Transform.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.cmdline.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/xsltc DOM.java DOMCache.java NodeIterator.java Translet.java TransletOutputHandler.java
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.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.util.
mkwan@apache.org
2003/04/01
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
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util MethodGenerator.java NodeSetType.java ObjectType.java ReferenceType.java ResultTreeType.java TypeCheckError.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.compiler.util.
mkwan@apache.org
2003/04/01
xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java SAX2TO.java TemplatesHandlerImpl.java TransformerHandlerImpl.java TransformerImpl.java XSLTCSource.java
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.trax.
mkwan@apache.org
2003/04/01
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
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.
mkwan@apache.org
2003/04/01
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
Merging XSLTC_DTM and common serializer to the head
Changes in org.apache.xalan.xsltc.runtime.
mkwan@apache.org
2003/04/01
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
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.
mkwan@apache.org
2003/04/01
xml-xalan/java build.xml xsltc_todo.xml
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.
mkwan@apache.org
2003/04/01
xml-xalan/java/src MANIFEST.MF
Merging XSLTC_DTM and common serializer to the head
Update MANIFEST.MF to include information about
xsltc and its support jars.
ilene@apache.org
2003/04/02
xml-xalan/java/bin xercesImpl.jar
Updating to Xerces-J 2.4.0.
mkwan@apache.org
2003/04/02
xml-xalan/java/src MANIFEST.MF
Merging XSLTC_DTM and common serializer to the head
Update spec version for XSLTC in MANIFEST.MF
mkwan@apache.org
2003/04/02
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
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.
mkwan@apache.org
2003/04/02
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
Merging XSLTC_DTM and common serializer to the head
Add new sample files.
mkwan@apache.org
2003/04/02
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
Merging XSLTC_DTM and common serializer to the head
Update in java/xdocs.
ilene@apache.org
2003/04/02
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java
If there is an error listener registered to a TransformerFactory, and the
stylesheet cannot be compiled, call fatalError, in addition to throwing
the TransformerConfigurationException.
mkwan@apache.org
2003/04/03
xml-xalan/java/src/org/apache/xpath/axes FilterExprWalker.java
Commit patch for bug 12797 from Arun Yadav (arun.yadav@sun.com).
zongaro@apache.org
2003/04/03
xml-xalan/java build.xml
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.
mkwan@apache.org
2003/04/04
xml-xalan/java/src/org/apache/xml/serializer ToStream.java
Replace Vector.add() by Vector.addElement() because the first method
is not in JDK 1.1.8.
mkwan@apache.org
2003/04/04
xml-xalan/java/src/org/apache/xalan/xsltc/dom SAXImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime StringValueHandler.java
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.
ilene@apache.org
2003/04/05
xml-xalan/java/src/org/apache/xalan/processor TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xml/utils TreeWalker.java
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.
zongaro@apache.org
2003/04/06
xml-xalan/java/samples/CompiledApplet TransformApplet.java README.applet
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.
zongaro@apache.org
2003/04/06
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
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.
mkwan@apache.org
2003/04/07
xml-xalan/java/src/org/apache/xalan/xsltc/dom AdaptiveResultTreeImpl.java
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.
mkwan@apache.org
2003/04/07
xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java
Commit an implementation of the date-time:format-date() extension function
(bugzilla 18713) contributed by Helg Bredow (helg.bredow@kalido.com).
mkwan@apache.org
2003/04/07
xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml
Docs update
Document the new "use-classpath" attribute
which is supported in the XSLTC TrAX API.
mkwan@apache.org
2003/04/07
xml-xalan/java/src/org/apache/xalan/xsltc/dom LoadDocument.java SAXImpl.java
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.
ilene@apache.org
2003/04/07
xml-xalan/java/samples/CompiledServlet README.servlet TransformServlet.java xml-xalan/java/samples/CompiledBrazil README.brazil
Sample updates from Christine Li (jycli@ca.ibm.com).
ilene@apache.org
2003/04/08
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
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.
mkwan@apache.org
2003/04/08
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
Fix for bugzilla 17448.
Stylesheet.setIncludingStylesheet() should use _includedFrom
instead of _importedFrom.
mkwan@apache.org
2003/04/08
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Stylesheet.java
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.
zongaro@apache.org
2003/04/09
xml-xalan/java/src/org/apache/xml/serializer HTMLEntities.res XMLEntities.res
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.
zongaro@apache.org
2003/04/09
xml-xalan/java build.xml
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.