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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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:[EMAIL PROTECTED]<br/><br/></li><li><ref>Committed by 
</ref>[EMAIL PROTECTED]<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:[EMAIL PROTECTED]<br/><br/></li><li><ref>Committed by 
</ref>[EMAIL PROTECTED]<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:[EMAIL PROTECTED]<br/><br/></li><li><ref>Committed by 
</ref>[EMAIL PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL 
PROTECTED]<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: [EMAIL PROTECTED]
  + Reviewed by: [EMAIL PROTECTED]<br/><br/></li><li><ref>Committed by 
</ref>[EMAIL PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL 
PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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;[EMAIL PROTECTED]&lt;<ref> on 
</ref>09/06/2001<br/><ref>Committer's log entry: </ref>
  @@ -395,154 +546,7 @@
    Obtained from: n/a
    Submitted by: [EMAIL PROTECTED]
    Reviewed by: [EMAIL PROTECTED]<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>[EMAIL PROTECTED]<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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to