| <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/> |
| http://xml.apache.org/xalan/xsltc/java/<class><br/> |
| where <class> 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 <country> elements |
| contain a string matching the global $country parameter are NOT selected.<br/><br/> |
| <code><xsl:apply-templates select="entry[country=string($country)]"/></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> match='top/*[position()=2]'</code><br/> |
| <code> match='top/*[6]/kid[2]'</code><br/> |
| <code> 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> <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> |
| <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> translet=mk054</code></p> |
| <p>The document must be specified as a valid URL. For example:</p> |
| <p><code> 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/> |
| the Translet implementation of a SAXTransformerFactory.</p> |
| <p>(2) <code>org.apache.xalan.xsltc.runtime.TransletTemplates</code> - |
| 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> TemplatesHandler newTemplatesHandler()</code><br/> |
| <code> TransformerHandler newTransformerHandler()</code><br/> |
| <code> TransformerHandler newTransformerHandler(Source src)</code><br/> |
| <code> TransformerHandler newTransformerHandler(Templates templates)</code><br/> |
| <code> XMLFilter newXMLFilter(Source src)</code><br/> |
| <code> XMLFilter newXMLFilter(Templates templates)</code></li> |
| <li>Several abstract methods from Transformer still need to be implemented in the |
| AbstractTranslet class:<br/><br/> |
| <code> ErrorListener getErrorListener()</code><br/> |
| <code> void setErrorListener(ErrorListener)</code><br/> |
| <code> Properties getOutputProperties()</code><br/> |
| <code> String getOutputProperty(String name)</code><br/> |
| <code> void setOutputProperties(Properties props)</code><br/> |
| <code> void setOutputProperty(String name, String value)</code><br/> |
| <code> URIResolver getURIResolver()</code><br/> |
| <code> void setURIResolver(URIResolver resolver)</code></li> |
| <li>Abstract method from Templates still need to be implemented in the TransletTemplates class:<br/><br/> |
| <code> 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> ErrorListener getErrorListener()</code><br/> |
| <code> void setErrorListener(ErrorListener listener)</code><br/> |
| <code> Object getAttribute(String name)</code><br/> |
| <code> void setAttribute(String name, Object value)</code><br/> |
| <code> boolean getFeature(String name)</code><br/> |
| <code> URIResolver getURIResolver()</code><br/> |
| <code> void setURIResolver(URIResolver resolver)</code><br/> |
| <code> Source getAssociatedStylesheet(Source src, String media, String title,</code><br/> |
| <code> String charset)</code><br/> |
| <code> Templates newTemplates(Source xslSrc)</code><br/> |
| <code> 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> "<Class Name>:<Method Name>( <args> ) not implemented yet."</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 <xsl:sort> functionaility. The |
| sort records we used has some global values stored behind methods, but are |
| now static fields. Somewhat faster. |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 & 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 <johnh@schemasoft.com> |
| Reviewed by: Morten Jorgensen <morten@xml.apache.org><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 |
| <xsl:param name="foo" select="current()"/>. |
| Also updated bit-arrays to correctly return single node ids, so that the |
| key() and id() functions return the correct number of nodes (they would |
| sometimes skip the first node in the defined node set for the key/id). |
| Added some structure and loads of comments to the Translet base class. |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 <xsl:if> or |
| <xsl:when> elements that test on the availability of the function, |
| and will cause a runtime error if the function is attempted called. |
| o) added type cast from reference-type to node-type |
| o) some other smaller fixes to prevent null-pointer exceptions |
| Other changes: |
| o) code cleanup and some added comments |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: Erwin Bolwidt <ejb@klomp.org> |
| Reviewed by: Morten Jorgensen <morten@xml.apache.org><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 |
| <xsl:output> element. Previously we output the whole element, including |
| all contents, child elements and the start- and end-tags in one big |
| CDATA section. We now correctly output only immediate text child-nodes |
| as CDATA sections. |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 <xsl:attribute-set> inheritance structures |
| o) fix for xsl:element-available() function used in <xsl:when> or |
| <xsl:if> to test support for various extension elements |
| o) fix for preserving namespace prefixes for <xsl:attribute> output. |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 <xsl:template pattern="foo/bar/text()" .../> |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 <xsl:element>. The element name is |
| treated as an attribute value. Whitespaces are not allowed in plain text |
| element names, but should be allowed inside "{...}" attribute values. |
| PR: Bugzilla 1489 |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 |
| <xsl:attribute-set.../> elements make up one attribute set (ie. they share |
| the same name) attributes that occured last in the stylesheet will take |
| precedence. |
| PR: n/a |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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 <cao@ispsoft.com> |
| 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> |
| > 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>Morten.Jorgensen@sun.com<ref> on </ref>06/19/2001<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>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 <xsl:variable> |
| elements always assign values to variable slots before they are accessed. |
| But the code structure generated by nested <xsl:for-each> elements is too |
| much for the JVMs verifier to get around, so we have to initialize all |
| local variables inside such loops to zero, false, null, whatever. |
| This takes care some of our runtime-errors caused by apparent corrupt code. |
| (The JVMs verifier thinks that it is corrupt, but it isn't really.) |
| PR: none |
| Obtained from: n/a |
| Submitted by: morten@xml.apache.org |
| Reviewed by: morten@xml.apache.org<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> |