blob: 142bcd32f731a5b039c9c530b5287664973a3685 [file] [log] [blame]
<anchor name="xsltcreleasenotes"/>
<s2 title="XSLTC Release Notes">
<p>For this release, please note the following changes, additions, omissions, problems, procedures for running demos, and new support
for the TrAX API.
</p>
<ul>
<li><link anchor="xsltcnew">Changes and New Features</link></li>
<li><link anchor="xsltcconf">Conformance</link></li>
<li><link anchor="xsltcknownproblems">Known Problems</link></li>
<li><link anchor="xsltcdemos">Running Demos</link></li>
<li><link anchor="xsltctrax">Translets and TrAX</link></li>
<li><link anchor="xsltchistory">History of XSLTC software changes</link></li>
</ul>
<anchor name="xsltcnew"/>
<s3 title="Changes since &xslt4j; 2.2.D8">
<p>TO BE ADDED</p>
</s3>
<anchor name="xsltcconf"/>
<s3 title="XSLT 1.0 Conformance and Extensions">
<p>XSLTC does not yet support the following features of the <resource-ref idref="xsl"/>:</p>
<ul>
<li>The namespace axis is not implemented. You cannot get a node set containing the namespace nodes
in scope from a context node in the document tree. Otherwise, namespace functionality is implemented.</li>
</ul>
<p>XSLTC does not support a number of features that are not required by the XSLT 1.0 specification,
but which are supported by a number of other XSLT processors:</p>
<ul>
<li>Incomplete support for extension elements and external Java functions. Currently you can set up an extension function
to call a static Java function. For the extension namespace, use<br/>
&nbsp;&nbsp;&nbsp;&nbsp;http://xml.apache.org/xalan/xsltc/java/&lt;class&gt;<br/>
where &lt;class&gt; identifies the class with the static method.</li>
<li>Lack of support for the redirection of output to multiple
output files from within a stylesheet (equivalent to xalan:redirect or
saxon:output).</li>
<li>XSLTC does not implement a node-set extension to convert result tree fragments to
node-sets. This would enable sorting and grouping of nodes assigned to a tree </li>
</ul>
</s3>
<anchor name="xsltcknownproblems"/>
<s3 title="Known Problems">
<ul>
<li>Casting variables: XSLTC requires you to explicitly type cast values
returned by variables or expressions, when you use them in tests. Always a good
practice, but it may seem like overkill in some in contexts, where other XSLT processors
automatically assume or convert to the correct type. For example. unless you cast $country
to a string in the following apply-templates, entry nodes whose &lt;country&gt; elements
contain a string matching the global $country parameter are NOT selected.<br/><br/>
&nbsp;&nbsp;&nbsp;&nbsp;<code>&lt;xsl:apply-templates select="entry[country=string($country)]"/&gt;</code></li>
<li>Order dependency of conditions within a predicate: If you have a predicate in a select or match
expression that has multiple conditions, one of which contains a union (X or Y), put it last.
Otherwise, the predicate fails to match node that it should.</li>
<li>When using DOM caching, as shown in the Servlet demo, if the source document is local to the
server, the cache is not refreshed when the source XML document is modified. This
problem does not apply when the source is associated with a URL.</li>
<li>If you have a list of references included or imported stylesheets, put any with
a relative path last; otherwise, stylesheets in the current directory are not found.</li>
<li>[1] should be treated equivalent to position()=1, but it is not. Therefore, if
you get unexpected results using such shortcut positional predicates, substitute the
full postion()= version.</li>
<li>XSLTC fails to match existing nodes when match expressions have
multiple steps with predicates containing the position function.
The following examples are taken from the XSLTMark oddtemplates.xsl test:<br/><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[position()=2]'</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[6]/kid[2]'</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[position()=last()]'</code><br/></li>
<li>XSTLC has problems with output escaping, see bug 1403.</li>
<li>Case-order option with sorting is ignored.</li>
<li>As a minor side-effect of implementing simplified stylesheets, if you inadvertenly
go to compile a stylesheet and give the name of the .xml doc instead of the .xsl doc,
it may compile without a warning. In some cases, the compiler aborts with an error
about too many branches.</li>
</ul>
</s3>
<anchor name="xsltcdemos"/>
<s3 title="Running Demos">
<p>XSLTC provides demos for using XSLTC as a servlet and as a handler for
Brazil (a new and powerful Web techology from Sun labs). To run these demos,
download Brazil from sunlabs:</p>
<p><code>&nbsp;&nbsp;&nbsp;&nbsp;<jump href="http://research.sun.com/research/download/index.html">http://research.sun.com/research/download/index.html</jump></code></p>
<p>and the java extensions for servlets from Sun:</p>
<p><code>&nbsp;&nbsp;&nbsp;&nbsp;
<jump href="http://java.sun.com/products/servlet/download.html">
http://java.sun.com/products/servlet/download.html</jump>
</code></p>
<p>The translet must be specified as a pure class name, accessible
through the Brazil handler's classpath. For example:</p>
<p><code>&nbsp;&nbsp;&nbsp;&nbsp;translet=mk054</code></p>
<p>The document must be specified as a valid URL. For example:</p>
<p><code>&nbsp;&nbsp;&nbsp;&nbsp;document=http://server/path/to/filename.xml</code></p>
<p>If the file is local to the Brazil handler, it has to be
specified using the "file:filename.xml" format.</p>
<note>You also need to make the Brazil and javax classes available from your classpath</note>
<p>See also: <link idref="samples" anchor="translets">sample JAXP translets</link>.</p>
</s3>
<anchor name="xsltctrax"/>
<s3 title="Translets and TrAX">
<p>
The Translet API has been extended to conform with the JAXP1.1 TrAX model.
This release contains the first implementation of that extension. Two
new classes have been added to the Translet XSLT codebase, they are:</p>
<p>(1) <code>org.apache.xalan.xsltc.runtime.TransformerFactoryImpl</code> -<br/>
&nbsp;&nbsp;&nbsp;&nbsp;the Translet implementation of a SAXTransformerFactory.</p>
<p>(2) <code>org.apache.xalan.xsltc.runtime.TransletTemplates</code> -
&nbsp;&nbsp;&nbsp;&nbsp;the Translet implementation of a Templates object.</p>
<p>
The existing XSLT class 'org.apache.xalan.xsltc.runtime.AbstractTranslet'
that implements the Translet interface is now also extending the
javax.xml.transform.Transformer abstract class.
</p>
<p>
This implementation is only a partial implementation, with many limitations.
These limitations include:
</p>
<ol>
<li>Currently 'StreamSource' and 'StreamResult' are the only
TrAX Sources and Results that are supported.</li>
<li>The translet is compiled everytime a call is made to the<br/>
<code>TransformerFactoryImpl 'newTransformer()'</code> method.</li>
<li>The translet is compiled everytime a call is made to the <br/>
<code>TemplateFactoryImpl 'newTransformer()'</code> method.</li>
<li>Translet are currently not cached. (See (2) and (3)).</li>
<li>Several abstract methods from SAXTransformerFactory still need to
be implemented in the xsltc.runtime.TransformerFactoryImpl class:<br/><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;TemplatesHandler newTemplatesHandler()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler(Source src)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler(Templates templates)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;XMLFilter newXMLFilter(Source src)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;XMLFilter newXMLFilter(Templates templates)</code></li>
<li>Several abstract methods from Transformer still need to be implemented in the
AbstractTranslet class:<br/><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;ErrorListener getErrorListener()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setErrorListener(ErrorListener)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;Properties getOutputProperties()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;String getOutputProperty(String name)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setOutputProperties(Properties props)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setOutputProperty(String name, String value)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;URIResolver getURIResolver()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setURIResolver(URIResolver resolver)</code></li>
<li>Abstract method from Templates still need to be implemented in the TransletTemplates class:<br/><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;Properties getOutputProperties()</code></li>
<li>Several abstract methods from TransformerFactory still need to be implemented
in the <code>xsltc.runtime.TransformerFactoryImpl</code> class:<br/><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;ErrorListener getErrorListener()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setErrorListener(ErrorListener listener)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;Object getAttribute(String name)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setAttribute(String name, Object value)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;boolean getFeature(String name)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;URIResolver getURIResolver()</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;void setURIResolver(URIResolver resolver)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;Source getAssociatedStylesheet(Source src, String media, String title,</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String charset)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;Templates newTemplates(Source xslSrc)</code><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;Transformer newTransformer()</code></li>
<li>Whenever possible, the required methods that are currently unimplemented will throw an
exception if someone tries to call them- this will alert the user that the method is not implemented.
The message is of the form:<br/><br/>
<code>&nbsp;&nbsp;&nbsp;&nbsp;&quot;&lt;Class Name&gt;:&lt;Method Name&gt;( &lt;args&gt; ) not implemented yet.&quot;</code>
</li>
</ol>
</s3>
<anchor name="xsltchistory"/>
<s3 title="History of XSLTC software changes">
<p>The following sections list XSLT changes back to the incorporation of XSLTC into &xslt4c;.</p>
<s4 title="XSLTC source code updates for &xslt4j; 2.2.D8">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
DefaultSAXOutputHandler.java
java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added support for SAXSource and SAXResult in TransformerFactoryImpl
and TransformerFactory. I had to add a new consturctor the the
default SAX output handler (in the xsltc runtime library) to acommodate
the SAXResult TrAX output handler.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added default error-reporting behaviour for our trax code (error messages
are dumped to System.err).
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>in progress, adding DOMSource support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>new class, DOM2SAX, supports DOMSources, in progress<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
Include.java Stylesheet.java XSLTC.java
java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler SourceLoader.java<br/><ref>Committer's log entry: </ref>Added a SourceLoader interface to the compiler package. This interface can
be used to plug in an external document loader for imported and/or
included stylesheets. The trax.TransformerImpl class is updated to
implement this interface and act as an adapter between the internal XSLTC
SourceLoader interface and TrAX's URIResolver interface.
PR: n/a
Obtained from: n/a
Submitted by: morten@apache.org
Reviewed by: morten@apache.org<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime Constants.java<br/><ref>Committer's log entry: </ref>Added the NAMESPACE_FEATURE constant. Checked to see if it was in
org.xml.sax first, but it wasn't. Since this constant is used both
at compile and runtime, it should be in the runtime Constants class
as well as the compile Constants class. Runtime code needs to be
kept separate from the compile time code.<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java
java/src/org/apache/xalan/xsltc/cmdline Transform.java
java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>Added import for org.apache.xalan.xsltc.runtime.Constants;
to the runtime classes that need to use the NAMESPACE_FEATURE constant
and had them reference it rather than define it themselves.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>minor changes for DOMSource impl support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Added DOMSource support for stylesheet<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax DOM2SAX.java<br/><ref>Committer's log entry: </ref>updated convertor which supports DOMSource impl<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>Added a small fix to the compiler (XSLTC.java) to make sure that the SAX
parser reference was not reset prior to compiling the translet.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added support for DOMSource as input to our Transformer implementation<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
Sort.java
java/src/org/apache/xalan/xsltc/dom NodeSortRecord.java
NodeSortRecordFactory.java<br/><ref>Committer's log entry: </ref>For some reason I decided to optimise the &lt;xsl:sort&gt; functionaility. The
sort records we used has some global values stored behind methods, but are
now static fields. Somewhat faster.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Import.java
Include.java<br/><ref>Committer's log entry: </ref>Fix for problem with import &amp; include introduced with the latest updated
for TrAX URIResolvers.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Integrated fix for problem with count() function for certain iterators.
PR: Bugzilla 1407
Obtained from: n/a
Submitted by: John Howard &lt;johnh@schemasoft.com&gt;
Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br/><br/></li></ul>
</s4>
<s4 title="XSLTC source code updates for &xslt4j; 2.2.D7">
<ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/09/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
Param.java StepPattern.java Stylesheet.java
SyntaxTreeNode.java Variable.java WithParam.java
java/src/org/apache/xalan/xsltc/dom KeyIndex.java
java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java BasisLibrary.java
DefaultRun.java Parameter.java TextOutput.java<br/><ref>Committer's log entry: </ref>Loads of small fixes and a good few comments added to the source code.
The major fixes are one fix for variable/parameter handlingi and one for
key/id index handling. XSLTC now correctly updates the value of parameters
with changing default values, such as with
&lt;xsl:param name="foo" select="current()"/&gt;.
Also updated bit-arrays to correctly return single node ids, so that the
key() and id() functions return the correct number of nodes (they would
sometimes skip the first node in the defined node set for the key/id).
Added some structure and loads of comments to the Translet base class.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
AncestorPattern.java AttributeSet.java
CallTemplate.java CastExpr.java EqualityExpr.java
Expression.java FunctionCall.java If.java
Import.java Include.java Mode.java NameBase.java
Param.java ParameterRef.java Parser.java
StepPattern.java SyntaxTreeNode.java Template.java
TestSeq.java Variable.java VariableRef.java
XSLTC.java XslAttribute.java
java/src/org/apache/xalan/xsltc/compiler/util ErrorMsg.java
ReferenceType.java
java/src/org/apache/xalan/xsltc/dom MultiDOM.java
StepIterator.java
java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>A wide range of fixes provided by Erwin Bolwidt.
o) fix for long IF and GOTO instructions inside translets.
'wide' GOTOs are now used (GOTO_W) instead of plain GOTO
to allow longer jump offsets
o) fix for illegal field/method names in the translet.
Methods and fields no longer contain the '.' or '-' characters
o) source filenames (and if possible also line numbers) are now
provided with error and warning messages
o) external functions that are not supported by XSLTC do not cause
compile errors. They will still cause a warning message at
compile-time if they are not wrapped in proper &lt;xsl:if&gt; or
&lt;xsl:when&gt; elements that test on the availability of the function,
and will cause a runtime error if the function is attempted called.
o) added type cast from reference-type to node-type
o) some other smaller fixes to prevent null-pointer exceptions
Other changes:
o) code cleanup and some added comments
PR: n/a
Obtained from: n/a
Submitted by: Erwin Bolwidt &lt;ejb@klomp.org&gt;
Reviewed by: Morten Jorgensen &lt;morten@xml.apache.org&gt;<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
SyntaxTreeNode.java XSLTC.java<br/><ref>Committer's log entry: </ref>Cleaned up the XSLTC compiler class in an attempt to make it more flexible.
This class was originally written as a command-line interface, but it has
now grown huge and messy. I separated the command-line stuff from the
methods that make up the actual functionality and made some methods public.
This is part of the preparation for our new implementation of the JAXP
Templates object.
PR: n/a
Obtained from: n.a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
Transform.java<br/><ref>Committer's log entry: </ref>Extracted the command-line stuff from the core XSLTC packages. The command-
line handling is now in xalan.xsltc.cmdline.Compile and
xalan.xsltc.cmdline.Transform. The command-line stuff is still left in
xalan.xsltc.compiler.XSLTC and xalan.xsltc.runtime.DefaultRun for backwards
compatability. This should be removed shortly.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/cmdline Compile.java
java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java
GetOptsException.java IllegalArgumentException.java
MissingOptArgException.java
java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
TransformerImpl.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/util/getopt GetOpt.java
GetOptsException.java IllegalArgumentException.java
MissingOptArgException.java<br/><ref>Committer's log entry: </ref>Moved the org.apache.xalan.xsltc.util.getopt package to
org.apache.xalan.xsltc.cmdline.getopt. Also added some skeleton
code in a new org.apache.xalan.xsltc.trax directory.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>minor adjustment
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>removed obselete try/catch<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java
java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>A first stab at our new TrAX design.`
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>A few minor adjustments to yesterdays JAXP/TrAX implementation. These is one
change in the way the compiler (XSLTC) generates bytecode arrays, and the
rest is basically a cleanup of error reporting and a few added comments.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/16/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax OutputSettings.java<br/><ref>Committer's log entry: </ref>Reduced the refresh rate of the DocumentCache to 1 second.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>amiro@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>Submitted by: Tom Amiro
Fixes bug 1591. Changed the lastModified() method to return
the correct timestamp for local files beginnig with the "file:"
protocol. Incorporated Brian Ewin's suggestion to use URLdecode.
Todd Miller and Morten Jorgensen<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java
java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added some javadoc comments to our trax stuff. Added preliminary support
for getting/setting output properties, and for getting/setting URL resolvers.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletOutputHandler.java
java/src/org/apache/xalan/xsltc/cmdline Transform.java
java/src/org/apache/xalan/xsltc/compiler Output.java
Stylesheet.java
java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java DefaultRun.java
DefaultSAXOutputHandler.java SAXAdapter.java
StringValueHandler.java TextOutput.java
TransletOutputBase.java<br/><ref>Committer's log entry: </ref>A series of changes to the XSLTC output handling to accomodate the
set/getOutputSettings() methods in the TrAX API.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Fixed the handling of the 'cdata-section-elements' attribute of the
&lt;xsl:output&gt; element. Previously we output the whole element, including
all contents, child elements and the start- and end-tags in one big
CDATA section. We now correctly output only immediate text child-nodes
as CDATA sections.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc Translet.java
java/src/org/apache/xalan/xsltc/dom LoadDocument.java
java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java
java/src/org/apache/xalan/xsltc/trax TransformerImpl.java<br/><ref>Committer's log entry: </ref>Added implementation of get/setOutputProperties() of the Transformer
implementation.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>07/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DocumentCache.java<br/><ref>Committer's log entry: </ref>Added (a rather brutal) handling of all Exceptions thrown in the
DocumentCache.getLastModified() method. This class is provided only
as an example/skeleton, but should still - for various reasons -
be provided in the base 'xsltc.dom' package.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
</s4>
<s4 title="XSLTC source code updates for the &xslt4j; 2.2.D releases up to and including 2.2.D6">
<ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Text.java<br/><ref>Committer's log entry: </ref>bug fix 1403, output escaping fixed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>05/23/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix 1403, output escaping fixed<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>stylesheet compilation error listening added for
TrAX support<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Transformer factory's setErrorListener() now throws
IllegalArgumentException is listener is null<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>translet transformation errors now forwarded to
TrAX error listener when applicable<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java<br/><ref>Committer's log entry: </ref>translet transformation errors now forwarded to
TrAX error listener when applicable<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime AttributeList.java<br/><ref>Committer's log entry: </ref>Added a constructor for copying an org.xml.sax.Attributes to our
org.apache.xalan.xsltc.runtime.AttributeList.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ApplyImports.java
ApplyTemplates.java Attribute.java
AttributeSet.java AttributeValueTemplate.java
BinOpExpr.java CallTemplate.java Comment.java
ConcatCall.java Constants.java Copy.java
CopyOf.java DecimalFormatting.java
DocumentCall.java Expression.java Fallback.java
ForEach.java FormatNumberCall.java
FunctionAvailableCall.java FunctionCall.java
If.java Import.java Include.java Key.java
LiteralAttribute.java LiteralElement.java
LiteralExpr.java LogicalExpr.java Message.java
NamespaceAlias.java Number.java Output.java
Param.java Parser.java ProcessingInstruction.java
QName.java RelationalExpr.java Sort.java
Stylesheet.java SymbolTable.java
SyntaxTreeNode.java Template.java Text.java
TransletOutput.java UnaryOpExpr.java ValueOf.java
Variable.java When.java Whitespace.java
WithParam.java XSLTC.java XslAttribute.java
XslElement.java xpath.cup
java/src/org/apache/xalan/xsltc/compiler/util
MethodType.java<br/><ref>Committer's log entry: </ref>Removed the intermediate DOM used to contain the input document (the
stylesheet) for the compiler. The compiler now uses SAX2 to import
the stylesheet, and all references to DOM interfaces have been removed.
This means that most classes representing XSL elements have been
changed, but most classes representing XPath functions, expressions
and patterns are unchanged.
PR: After suggestion from Scott Boag
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler
UnsupportedElement.java<br/><ref>Committer's log entry: </ref>Adding a class for handling unsupported stylesheet elements
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Minor fix to make sure that attributes are processed in the correct order.
PR: n/a
Obtained from: n.a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Minor change in output indentation/line feeds.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xmp.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
LocationPathPattern.java Parser.java Template.java<br/><ref>Committer's log entry: </ref>Fixed the code that resolves conflicts between templates with identical
patterns. The order of the templates is not taken into account - after
import precedence and priority has been checked.
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
DefaultSAXOutputHandler.java<br/><ref>Committer's log entry: </ref>Reverted changes to SAX output handler.
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
Template.java xpath.cup<br/><ref>Committer's log entry: </ref>unified Parser error reporting to use Mortens
reportError routine<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler BinOpExpr.java
FunctionCall.java Otherwise.java Param.java
RelationalExpr.java Stylesheet.java
SyntaxTreeNode.java Variable.java When.java
XSLTC.java XslElement.java<br/><ref>Committer's log entry: </ref>Updated a few classes that were still calling Parser.addError(),
Parser.addWarning() and Parser.addFatalError() to use the new common
error handler Prarser.reportError(int category, ErrorMsg message).
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java
java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>Added two lines of code to explicitly set the feature
"http://xml.org/sax/features/namespaces" of the SAXParser to "true".
The default is "true" but xerces seems to set it to "false", and this
caused some problems for our Stylesheet and XML doc parsers (which are
both using SAX2).
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
Parser.java
java/src/org/apache/xalan/xsltc/runtime DefaultRun.java<br/><ref>Committer's log entry: </ref>A few more changes to make sure the parsers used are namespace aware.
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/08/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java
SyntaxTreeNode.java XslAttribute.java
XslElement.java<br/><ref>Committer's log entry: </ref>The change from using DOM to using SAX in the stylesheet input caused some
of the elements in the Abstract Syntax Tree (AST) to be out of order. I
added a few lines of code to the xsl:element/attribute handling code to
fix this.
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java
Choose.java Constants.java If.java
LiteralElement.java Stylesheet.java
UseAttributeSets.java When.java XSLTC.java
XslAttribute.java<br/><ref>Committer's log entry: </ref>This putback contains three fixes:
o) fix for complex &lt;xsl:attribute-set&gt; inheritance structures
o) fix for xsl:element-available() function used in &lt;xsl:when&gt; or
&lt;xsl:if&gt; to test support for various extension elements
o) fix for preserving namespace prefixes for &lt;xsl:attribute&gt; output.
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Constants.java
UseAttributeSets.java ValueOf.java
XslAttribute.java
java/src/org/apache/xalan/xsltc/compiler/util
AttributeSetMethodGenerator.java<br/><ref>Committer's log entry: </ref>Fix to allow iterator access within attribute sets. This is necessary for
attribute sets that contain attributes whose values are generated by XSL
functions such as position() and last().
Obtained from: test mk013
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>Added output character escaping for non-breaking space characters.
I cannot believe we've waited this long before doing this. Madness!
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java
Parser.java<br/><ref>Committer's log entry: </ref>support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/11/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransletTemplates.java<br/><ref>Committer's log entry: </ref>support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix for bug 1511. Predicates on the format ((a or b) and c) are not
handled correctly. I added a small piece of code to direct the true-list
of the OR expression to the beginning of the AND test.
PR: Bugzilla 1511
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java
TextOutput.java<br/><ref>Committer's log entry: </ref>Fix attribute node-set comparisons. There was a bug in one of the compare()
methods of the BasisLibrary class which prevented attribute values from
being compared. The method compared node IDs instead of node values.
Pretty stupid bug, but now it is solved anyway.
PR: Bugzilla 1409
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Mode.java<br/><ref>Committer's log entry: </ref>Fix to make sure that the implicit "text()" pattern is run when templates
containing "text()" in their pattern fail. XSLTC would not previously
invoke the built-in pattern for "text()" if a stylesheet contained a
template such as &lt;xsl:template pattern="foo/bar/text()" .../&gt;
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslElement.java<br/><ref>Committer's log entry: </ref>Modified test for legal element names in &lt;xsl:element&gt;. The element name is
treated as an attribute value. Whitespaces are not allowed in plain text
element names, but should be allowed inside "{...}" attribute values.
PR: Bugzilla 1489
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>A fix for the preceding:: iterator
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's log entry: </ref>Minor re-adjustment to last fix for preceding:: iterator
PR: 1407
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
XSLTC.java<br/><ref>Committer's log entry: </ref>Fix to prevent compiler warnings to be output more than once.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler AttributeSet.java<br/><ref>Committer's log entry: </ref>Final fix (for now) for attribute sets. In cases where multiple
&lt;xsl:attribute-set.../&gt; elements make up one attribute set (ie. they share
the same name) attributes that occured last in the stylesheet will take
precedence.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added support for java.io.InputStream StreamSources<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix for code handling logical expressions and combinations of logical
expressions. Mindblowing stuff, but it now seems to work as it should.
Added another few lines of code to properly direct the program flow in
compiled predicates with various combinations of "and" and "or" expressions.
PR: Bugzilla 1511
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/dom SingletonIterator.java<br/><ref>Committer's log entry: </ref>Fix for singleton iterators encapsulating variable references.
PR: Bugzilla 1412
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LiteralElement.java<br/><ref>Committer's log entry: </ref>Added one-line fix to prevent null-pointer error. Simple code cleanup.
PR: n/a
Obtained from: suggestion by Guoliang Cao &lt;cao@ispsoft.com&gt;
Submitted by: cao@ispsoft.com
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/15/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler LogicalExpr.java<br/><ref>Committer's log entry: </ref>Fix to prevent compile-time null-pointer exceptions for certain logical
expressions. Some nexted AND-expressions would cause this error because
their true-list would not be backpatched. This would result in an
instruction list with one or more branch instructions with no target,
such as a GOTO(null) or an IFEQ(null) instruction.
PR: none, bug found in test run and fixed immediately
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>06/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler
AbsoluteLocationPath.java ApplyImports.java
ApplyTemplates.java CastExpr.java CopyOf.java
DocumentCall.java EqualityExpr.java Expression.java
FilterExpr.java FilterParentPath.java ForEach.java
FunctionCall.java IdKeyPattern.java Key.java
KeyCall.java NameBase.java ParentLocationPath.java
Parser.java Predicate.java RelationalExpr.java
Step.java UnionPathExpr.java
java/src/org/apache/xalan/xsltc/compiler/util
NodeSetType.java NodeType.java ReferenceType.java
ResultTreeType.java Type.java
java/src/org/apache/xalan/xsltc/dom UnionIterator.java
java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>OK, I'm going to make a wild guess and assume that sboag's recent commit
of /NodeSet/NodeSetDTM/ got a little out of control and shouldn't have
gone down into org.apache.xalan.xsltc - undone to fix compile error<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
NodeSetType.java<br/><ref>Committer's log entry: </ref>Removing NodeSetType (renamed to NodeSetDTMType).
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
NodeSetDTMType.java<br/><ref>Committer's log entry: </ref>
<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler/util Type.java<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/compiler/util
NodeSetType.java<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/compiler/util
NodeSetDTMType.java<br/><ref>Committer's log entry: </ref>
<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ContainsCall.java
FunctionCall.java If.java LogicalExpr.java
Param.java QName.java StartsWithCall.java
SymbolTable.java SyntaxTreeNode.java Template.java
Variable.java xpath.cup
java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java<br/><ref>Committer's log entry: </ref>Fix for function calls used as clauses in logical expressions.
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>Tom.Amiro@Sun.COM<ref> on </ref>06/19/2001<br/><ref>Committer's log entry: </ref>
&gt; Fix for function calls used as clauses in logical expressions.
&gt; Submitted by: morten@xml.apache.org
&gt; Reviewed by: morten@xml.apache.org
&gt;
&gt;<br/><br/></li><li><ref>Committed by </ref>Morten.Jorgensen@sun.com<ref> on </ref>06/19/2001<br/><ref>Committer's log entry: </ref>
&gt; &gt; Fix for function calls used as clauses in logical expressions.
&gt; &gt; Submitted by: morten@xml.apache.org
&gt; &gt; Reviewed by: morten@xml.apache.org
&gt; &gt;
&gt; &gt;<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added check to see if stylesheet is already an URL<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransletTemplates.java<br/><ref>Committer's log entry: </ref>added check to see if stylesheet is already an URL<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java<br/><ref>Committer's log entry: </ref>proto<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>removed debug statements<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/26/2001<br/><ref>Removed: </ref>java/src/org/apache/xalan/xsltc/runtime TrAXFilter.java
TransformerFactoryImpl.java TransletTemplates.java<br/><ref>Committer's log entry: </ref>in process of moving these to new subdir<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/26/2001<br/><ref>Added: </ref>java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
TransformerFactoryImpl.java TransletTemplates.java<br/><ref>Committer's log entry: </ref>moved from runtime subdir to its own trax subdir<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>fixed bug with deriving translet name from
stylesheet name that included paths, e.g. /tmp/foo.xsl<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java<br/><ref>Committer's log entry: </ref>This update allows variables that contain references to result-tree fragments
to be used inside position filters.
PR: n/a
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java<br/><ref>Committer's log entry: </ref>added url handling in doTransform<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>added a new sys property called 'transletPool'
to allow user to set the destination directory for generated translets<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/trax TransletTemplates.java<br/><ref>Committer's log entry: </ref>added a new sys property called 'transletPool'
to allow user to set the destination directory for generated translets<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>06/27/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XSLTC.java<br/><ref>Committer's log entry: </ref>made private method setDestDirectory() public to
support the new transletPool system property.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Predicate.java
Step.java Stylesheet.java VariableRef.java
java/src/org/apache/xalan/xsltc/compiler/util
MethodGenerator.java NodeSortRecordGenerator.java
ResultTreeType.java TestGenerator.java<br/><ref>Committer's log entry: </ref>Various bugfixes in the way auxiliary classes access variables/fields in
the main translet class. Fixes a few VAR tests and customer tests.
Pmorten@xml.apache.org:<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Choose.java
ElementAvailableCall.java
FunctionAvailableCall.java Parser.java When.java<br/><ref>Committer's log entry: </ref>Fix for element-available() and function-available() calls. Ties these
calls to tables in the XSL parser and the symbol-table (the actual
implementation) instead of using redundant and not-up-to-date tables
in the classes that implement the X-avaiable() calls.
I also cleaned up the Choose call so that it now properly handles
all types of function calls in the xsl:when elements' test clause.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>06/29/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler ForEach.java
Param.java Variable.java
java/src/org/apache/xalan/xsltc/compiler/util
MethodGenerator.java<br/><ref>Committer's log entry: </ref>Added a fix for local variables inside nested xsl:for-each elements.
Local variables are usually not initialized to any default value (such as
with general Java classes), because code compiled for &lt;xsl:variable&gt;
elements always assign values to variable slots before they are accessed.
But the code structure generated by nested &lt;xsl:for-each&gt; elements is too
much for the JVMs verifier to get around, so we have to initialize all
local variables inside such loops to zero, false, null, whatever.
This takes care some of our runtime-errors caused by apparent corrupt code.
(The JVMs verifier thinks that it is corrupt, but it isn't really.)
PR: none
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
</s4>
<s4 title="XSLTC Changes for &xslt4j; 2.1.0">
<p>The Sun XSLTC team (david.hofert@east.sun.com, tom.amiro@east.sun.com, todd.miller@east.sun.com,
morten.jorgensen@Ireland.sun.com) has checked <link idref="xsltc_usage">XSLTC</link> into the Xalan
source tree, and we have begun the process of merging XSLTC into Xalan. XSLTC provides a compiler for compiling
stylesheets into translets, and a streamlined runtime environment for using translets to transform XML input.
In the near term, XSLTC will appear in a separate JAR file (xsltc.jar) with its own API and command-line
utilities. You can already use the same JAXP interfaces to perform
transformations with the Xalan transformer and with translets. Over time, we plan to merge the two codebases.
<ref>See <jump href="xsltc/index.html">XSLTC Design Documents</jump>.</ref></p>
<p>Since this is the first release of XSLTC on Apache (xml.apache.org), changes are
relative to Preview 5 of XSLTC posted on www.sun.com/xml/developers.</p>
<ul>
<li>Simplified stylesheets are now implemented.</li>
<li>Base package name has changed from <code>com.sun.xslt</code> to <code>org.apache.xalan.xsltc</code></li>
<li>You no longer have to get the BCEL.jar file; it is included in the distribution.</li>
<li>The Project X parser components and APIs have all been replaced with JAXP equivalents.
Consequently, you may deploy XSLTC with JAXP-conformant parsers, such as Xerces or Crimson.</li>
<li>Previously undocumented feature: -x. You can use the -x option on the java command line when you
compile translets or run them to get more detailed information on errors.</li>
<li>Addition of -s to DefaultRun - a new -s option has been added to the DefaultRun class
for use with test auotmation. When you use the option, it prevents System.exit() from being called when
and exception is encountered.</li>
</ul>
</s4>
</s3>
</s2>