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/>
  +    &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.trax.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="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" &lt;gthb@dimon.is&lt;<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/>
  -    &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.trax.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>
   <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