<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd"[
<!ENTITY xsltcdone SYSTEM "XSLTCDONE">
<!ENTITY xsltc_history SYSTEM "xsltc_history.xml">]>

<s1 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>
<p>For an introduction to XSLTC, see <link idref="xsltc_usage">Using XSLTC</link>.</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 idref="xsltc_history">History of XSLTC software changes</link></li>
</ul>
<anchor name="xsltcnew"/>
<s2 title="Changes since &xslt4j; 2.2.D14">
&xsltcdone;
</s2>
<anchor name="xsltcconf"/>
<s2 title="XSLT 1.0 Conformance and Extensions">
<p>XSLTC does not yet support the following feature of the <resource-ref idref="xslt"/>:</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>
</s2>
<anchor name="xsltcknownproblems"/>
<s2 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>
</s2>
<anchor name="xsltcdemos"/>
<s2 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>
</s2>

<anchor name="xsltctrax"/>
<s2 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>
</s2>
</s1>