You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by dl...@apache.org on 2001/10/16 16:39:34 UTC
cvs commit: xml-xalan/java/xdocs/sources/xalan history.xml index.xml readme.xml xsltc_constraints.xml
dleslie 01/10/16 07:39:34
Modified: java/xdocs/sources/xalan history.xml index.xml readme.xml
xsltc_constraints.xml
Log:
Preliminary updates for 2.2.D12
Revision Changes Path
1.18 +52 -0 xml-xalan/java/xdocs/sources/xalan/history.xml
Index: history.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/history.xml,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- history.xml 2001/09/25 19:37:43 1.17
+++ history.xml 2001/10/16 14:39:34 1.18
@@ -1,5 +1,57 @@
+<s3 title="Changes for &xslt4j; 2.2.D11">
+<p> Core (Non-XSLTC) source code updates:</p><ul><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
+ java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
+ java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Removed the code which precalculated node levels
+ (depth in tree). This has been IFed out for some time, but
+ was retained in case we wanted to go back to it. Since it
+ seems we're happy with this choice, zapping it entirely
+ saves a few more cycles.
+ It's simple enough to recreate if we change our minds later.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/07/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Minor cleanup and updates in preparation for extension function;
+ note SAX portion isn't complete yet<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/10/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/lib Extensions.java
+ java/src/org/apache/xalan/xslt EnvironmentCheck.java<br/><ref>Committer's log entry: </ref>Update EnvironmentCheck service with SAX checking; better method organization;
+ Add checkEnvironment to xalan: built-in Extensions class<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/compiler Lexer.java<br/><ref>Committer's log entry: </ref>Bug 2140: Catch index out of bounds exception<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer ResultTreeHandler.java<br/><ref>Committer's log entry: </ref>Bug 2130: Check for null data to avoid NPE<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTErrorResources.java
+ java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Bug 3421: Issue an error if namespace attribute is used with an empty string
+in xsl:element<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/12/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Backing out this change. Some conformance tests need to be updated first<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemElement.java<br/><ref>Committer's log entry: </ref>Bug 3421: Issue an error if namespace
+ attribute is used with an empty string in xsl:element<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>Bug 3442: when building the prefix table for an element, just override
+prefixes defined in parent element with uris that have been redefined by the
+element instead of keeping both uris in the table.<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/serialize SerializerFactory.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 3491: updated error message text; also updated Javadoc to
+ reflect @throws; note that the Javadoc is still somewhat contradictory
+ about returning a null on error (it appears to throw exceptions instead)
+ PR:3491
+ Submitted by:Julian.Birch@ranplc.co.uk<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/13/2001<br/><ref>Modified: </ref>java/src/javax/xml/transform TransformerFactory.java
+ java/src/org/apache/xml/dtm DTMManager.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 3423: documentation updates for proper class, property names
+ (one of two checkins)
+ PR:3423
+ Submitted by:gthb@dimon.is<br/><br/></li><li><ref>Committed by </ref>curcuru@apache.org<ref> on </ref>09/14/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath XPath.java<br/><ref>Committer's log entry: </ref>Fix Bugzilla 2637: documentation updates for constructor functionality
+ PR:2637
+ Submitted by:gthb@dimon.is<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemUse.java<br/><ref>Committer's log entry: </ref>Bug 2548: Combine attribute sets with the same name but process them in order
+of precedence.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/17/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath/axes UnionPathIterator.java<br/><ref>Committer's log entry: </ref>Bug 3533: Check for null m_iterators before trying to use it.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/18/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/transformer KeyRefIterator.java<br/><ref>Committer's log entry: </ref>Bugzilla 3618: Check cache before anything else when getting the next node in
+the iterator.<br/><br/></li><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc TransletException.java<br/><ref>Committer's log entry: </ref>Changed the TransletException class so that it inherits from SAXException
+ and not from Exception. This should make it possible for us to avoid
+ testing for both SAXExceptions and TransletExceptions. Exception handling
+ is one of the things that JVM takes its time with, and we should try to
+ avoid using them when we can, and use as few of them as possible otherwise.
+ 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>mmidy@apache.org<ref> on </ref>09/19/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor
+ TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>Bugzilla 2332: Implement getAttribute() method to return the values for
+incremental and optimize<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMNodeProxy.java<br/><ref>Committer's log entry: </ref>Enable Attr.getOwnerElement()<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/20/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor StylesheetHandler.java
+ java/src/org/apache/xalan/templates ElemLiteralResult.java<br/><ref>Committer's log entry: </ref>Bugzilla 1803: Handle version attribute on a litteral element.<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLProcessorVersion.java<br/><ref>Committer's log entry: </ref>release 2.2.D11<br/><br/></li><li><ref>Committed by </ref>dleslie@apache.org<ref> on </ref>09/25/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/res XSLTInfo.properties<br/><ref>Committer's log entry: </ref>release 2.2.D11<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/26/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/processor XSLTSchema.java<br/><ref>Committer's log entry: </ref>Mark xsl:template as containing ordered elements. Fix for no error when
+xsl:param not first child of xsl:template<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/templates ElemLiteralResult.java
+ ElemTemplateElement.java Stylesheet.java<br/><ref>Committer's log entry: </ref>Bugzilla 3800: Make sure that when looking for excluded prefixes, we check
+the URI associated with the prefix, not the prefix in the excluded list.<br/><br/></li><li><ref>Committed by </ref>mmidy@apache.org<ref> on </ref>09/28/2001<br/><ref>Modified: </ref>java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log entry: </ref>Do not reorder or strip duplicate nodes when converting a DOM nodelist into a
+DTM nodelist<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref
+ IncrementalSAXSource_Filter.java<br/><ref>Committer's log entry: </ref>Catch for unwrappered StopException (apparently not all parsers generate
+ a SAXException wrapper).<br/><br/></li><li><ref>Committed by </ref>jkesselm@apache.org<ref> on </ref>10/01/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
+ DTMDefaultBaseIterators.java
+ DTMDefaultBaseTraversers.java
+ java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java
+ java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Creating the implied Namespace Node for xml:<br/><br/></li></ul><note>This release includes no updates of the compatibility source code (now deprecated).</note>
+</s3>
<s3 title="Changes for &xslt4j; 2.2.D10">
+<note>The SQL Extension library has been updated to work with DTM.</note>
<p> Core (Non-XSLTC) source code updates:</p><ul>
<li><ref>Committed by </ref>garyp@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java<br/><ref>Committer's log entry: </ref>Fix bugzilla bug 3056
(http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3056). SAX2DTM now keeps
1.37 +6 -1 xml-xalan/java/xdocs/sources/xalan/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/index.xml,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- index.xml 2001/10/16 13:54:46 1.36
+++ index.xml 2001/10/16 14:39:34 1.37
@@ -72,7 +72,12 @@
<note>&xslt4j; version 1 is no longer supported and no longer available from xml.apache.org.</note>
</s2>
<s2 title="How about this release?">
- <p>&xslt4j-current; is a Developer release with a number of <link idref="readme" anchor="done">bug fixes</link>. To improve performance, it uses the Document Table Model (<link idref="dtm">DTM</link>) to represent the XML source document to be transformed. Please send your feedback to the <human-resource-ref idref="xalandev"/>.</p>
+ <p>&xslt4j-current; is intended to be the final release in the current series of Developer releases incorporating
+ the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a
+ standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p>
+
+ <note>To improve performance, &xslt4j; uses the Document Table Model (<link idref="dtm">DTM</link>) to represent the XML source document
+ to be transformed. Please send your feedback to the <human-resource-ref idref="xalandev"/>.</note>
</s2>
<s2 title="How do I get it?">
<p>To get the binary distribution (all you need to use and develop applications with &xslt4j;), download and unzip either of the following:</p>
1.57 +5 -5 xml-xalan/java/xdocs/sources/xalan/readme.xml
Index: readme.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/readme.xml,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- readme.xml 2001/10/15 20:44:32 1.56
+++ readme.xml 2001/10/16 14:39:34 1.57
@@ -71,17 +71,17 @@
</ul><anchor name="status0"/>
<s2 title="Status">
<ul>
- <li><link anchor="done">Changes since version 2.2.D10</link></li>
+ <li><link anchor="done">Changes since version 2.2.D11</link></li>
<li><link anchor="other">Other points of interest</link></li>
<li><link anchor="bugs">Bugs</link></li>
<li><link anchor="status">Version of Xerces to use</link></li>
<li><link anchor="to-do">To-do tasks for future &xslt4j; releases</link></li>
</ul>
<anchor name="done"/>
- <s3 title="Changes since &xslt4j; 2.2.D10">
- <p>&xslt4j-current; is a Developer release. For enhanced performance, the current series of Developer releases incorporate
- the <link idref="dtm">DTM</link>. We have also added version and section information to the xalan.jar manifest.</p>
- <note>The SQL Extension library has been updated to work with DTM.</note>
+ <s3 title="Changes since &xslt4j; 2.2.D11">
+ <p>&xslt4j-current; is intended to be the final release in the current series of Developer releases incorporating
+ the <link idref="dtm">DTM</link>. We believe Xalan with the DTM has reached a level of stability that warrants a
+ standard "User" release. Accordingly, we plan to release &xslt4j; 2.2 soon.</p>
&done-j;
</s3>
<anchor name="other"/>
1.21 +153 -149 xml-xalan/java/xdocs/sources/xalan/xsltc_constraints.xml
Index: xsltc_constraints.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/xsltc_constraints.xml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- xsltc_constraints.xml 2001/09/28 15:37:49 1.20
+++ xsltc_constraints.xml 2001/10/16 14:39:34 1.21
@@ -10,7 +10,158 @@
<li><link anchor="xsltchistory">History of XSLTC software changes</link></li>
</ul>
<anchor name="xsltcnew"/>
-<s3 title="Changes since &xslt4j; 2.2.D10">
+<s3 title="Changes since &xslt4j; 2.2.D11">
+<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.trax.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="Changes for &xslt4j; 2.2.D11">
<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/05/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime
AbstractTranslet.java<br/><ref>Committer's log entry: </ref>bug fix # 3424, memory retension fixed, John Howard contributed fix.<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/runtime TextOutput.java<br/><ref>Committer's log entry: </ref>bug fix 2807, seth ford's fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Include.java
Import.java<br/><ref>Committer's log entry: </ref>bug fix 3426, gunnlaugur briem's fix<br/><br/></li><li><ref>Committed by </ref>tmiller@apache.org<ref> on </ref>09/06/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler XslAttribute.java<br/><ref>Committer's log entry: </ref>bug fix 3320, gunnlaugur briem's fix<br/><br/></li><li><ref>Committed by </ref>"Gunnlaugur Thor Briem" <gthb@dimon.is<<ref> on </ref>09/06/2001<br/><ref>Committer's log entry: </ref>
@@ -395,154 +546,7 @@
Obtained from: n/a
Submitted by: morten@xml.apache.org
Reviewed by: morten@xml.apache.org<br/><br/></li></ul>
-</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.trax.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>
<s4 title="XSLTC source code updates for &xslt4j; 2.2.D10">
<p>XSLTC source code updates:</p>
<ul><li><ref>Committed by </ref>morten@apache.org<ref> on </ref>08/13/2001<br/><ref>Modified: </ref>java/src/org/apache/xalan/xsltc/compiler Parser.java<br/><ref>Committer's log entry: </ref>I added a flag to the compiler/Parser class that is set if the outermost
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org