ilene       2003/02/21 12:10:12

  Modified:    java/xdocs/sources/xalan extensions_xsltc.xml getstarted.xml
                        resources.xml features.xml faq.xml
                        xsltc_history.xml builds.xml history.xml
                        commandline.xml overview.xml samples.xml index.xml
                        xsltc_usage.xml readme.xml extensionslib.xml
                        usagepatterns.xml extensions.xml whatsnew.xml
                        dtm.xml commandline_xsltc.xml
               java/xdocs/sources xsltc.xml entities.ent xalan-jlocal.xml
                        xalan-jsite.xml
               java/src/org/apache/xalan/xslt EnvironmentCheck.java
               java     commits.xml
  Log:
  Applying Sarah McNamara's ([EMAIL PROTECTED]) documentation patch.
  
  Revision  Changes    Path
  1.4       +28 -25    xml-xalan/java/xdocs/sources/xalan/extensions_xsltc.xml
  
  Index: extensions_xsltc.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/extensions_xsltc.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- extensions_xsltc.xml      27 Jan 2003 18:45:36 -0000      1.3
  +++ extensions_xsltc.xml      21 Feb 2003 20:10:07 -0000      1.4
  @@ -58,7 +58,7 @@
    * <http://www.apache.org/>.
    -->
   
  -<s1 title="Extensions for XSLTC">
  +<s1 title="Extensions for &xslt4jc-short;">
   <ul>
   <li><link anchor="intro">Introduction</link></li>
   <li><link anchor="constraints">Constraints</link></li>
  @@ -69,37 +69,38 @@
   </ul>
   <anchor name="intro"/>
     <s2 title="Introduction">
  -  <p>XSLTC supports the use of extension functions implemented in external 
Java classes. It also
  +  <p>&xslt4jc-short; supports the use of extension functions implemented in 
external Java classes. It also
     supports the <link anchor="nodeset_ext">nodeset</link>, <link 
anchor="redirect_ext">output/redirect</link> 
  -  and <link anchor="exslt_ext">EXSLT</link> extension functions. Extension 
support in XSLTC is
  +  and <link anchor="exslt_ext">EXSLT</link> extension functions. Extension 
support in &xslt4jc-short; is
     still under development. It is currently not as complete as the extension 
support in the
  -  interpretive Xalan. There are constraints in some areas.</p>
  +  &xslt4j; Interpretive processor. There are constraints in some areas.</p>
     </s2>
   
   <anchor name="constraints"/>
     <s2 title="Constraints">
     <p>In addition to the constraints listed below for each particular 
extension, extension support
  -  in XSLTC also has the following limitations:</p>
  +  in &xslt4jc-short; also has the following limitations:</p>
     <ol>
     <li><link idref="extensions" anchor="ext-elements">Extension 
element</link> is not supported.
     The extension element mechanism is closely related to the internal 
implementation of the XSLT processor.
  -  The current extension element mechansim is designed for the interpretive 
Xalan. It does not work with XSLTC.</li>
  +  The current extension element mechansim is designed for the &xslt4ji; 
processor. It does not work with &xslt4jc-short;.</li>
     <li>The <link idref="extensions" anchor="supported-lang">xalan:component 
and xalan:script</link> extension elements are not supported at the moment. 
This has
  -  the implication that you cannot use scripting languages (e.g. javascript) 
with XSLTC.</li>
  -  <li><link idref="extensionslib" anchor="sql">The SQL extension</link> is 
not supported in XSLTC at the moment.</li>
  +  the implication that you cannot use scripting languages (e.g. javascript) 
with &xslt4jc-short;.</li>
  +  <li><link idref="extensionslib" anchor="sql">The SQL extension</link> is 
not supported in &xslt4jc-short; at the moment.</li>
     </ol>
     </s2>
     
   <anchor name="java_ext"/>
     <s2 title="Java extension">
  -  <p>Java extension is supported in XSLTC. Constructors, static and instance 
methods are all supported.
  +  <p>Java extension is supported in &xslt4jc-short;. Constructors, static 
and instance methods are all supported.
     You can use any of the <link idref="extensions" 
anchor="ext-func-calls">three namespace formats</link>
      (Java, package and class) in your stylesheet.
     </p>
  -  <p>The official namespace for the Java extension is 
<code>http://xml.apache.org/xalan/java</code>. The old XSLTC Java namespace
  -  <code>http://xml.apache.org/xalan/xsltc/java</code> and the old Xalan 
namespace <code>http://xml.apache.org/xslt/java</code>
  +  <p>The official namespace for the Java extension is 
<code>http://xml.apache.org/xalan/java</code>. The old &xslt4jc-short; Java 
namespace
  +  <code>http://xml.apache.org/xalan/xsltc/java</code> and the old &xslt4j; 
namespace <code>http://xml.apache.org/xslt/java</code>
     are also supported for backward compatibility.</p>
  -  <p>All usage syntax for Xalan also applies to XSLTC with only one 
exception: XSLTC does not support the notion of default object 
  +  <p>All usage syntax for the &xslt4j; Interpretive processor also applies 
to &xslt4jc-short; with only one 
  +  exception: &xslt4jc-short; does not support the notion of default object 
     in <link idref="extensions" anchor="ext-func-calls">class format 
namespace</link>. 
     When using instance methods, you should always specify the class instance 
as the first argument
     to the extension function.</p>
  @@ -139,12 +140,12 @@
     &lt;/xsl:stylesheet&gt;
     </source>
     <note>Always use the abbreviated syntax for Java extension, because the 
xalan:component/xalan:script
  -  constructs are not supported in XSLTC.</note>
  +  constructs are not supported in &xslt4jc-short;.</note>
     </s2>
     
   <anchor name="exslt_ext"/>
     <s2 title="EXSLT extensions">
  -  <p>The following EXSLT extension modules are supported in XSLTC:</p>
  +  <p>The following EXSLT extension modules are supported in 
&xslt4jc-short;:</p>
     <ul>
     <li><jump href="apidocs/org/apache/xalan/lib/ExsltCommon.html">EXSLT 
common functions</jump></li>
     <li><jump href="apidocs/org/apache/xalan/lib/ExsltMath.html">EXSLT math 
functions</jump></li>
  @@ -153,23 +154,24 @@
     <li><jump href="apidocs/org/apache/xalan/lib/ExsltStrings.html">EXSLT 
string functions</jump></li>
     </ul> 
     <p>The functions in the <jump 
href="apidocs/org/apache/xalan/lib/ExsltDynamic.html">dynamic</jump> module 
  -  (e.g. evaluate) are not supported because of the XSLTC design limitation.
  +  (e.g. evaluate) are not supported because of the &xslt4jc-short; design 
limitation.
     Work is currently underway on <jump 
href="http://www.exslt.org/func/elements/function/index.html";>user 
     defined EXSLT functions (with the function and result elements)</jump>.</p>
     <p>The <code>nodeset</code> and <code>objectType</code> extension 
functions in the <jump 
href="apidocs/org/apache/xalan/lib/ExsltCommon.html">common</jump> 
  -  module are implemented natively in XSLTC. For all other EXSLT extension 
functions,
  -  XSLTC uses the same implementation as Xalan. The implementation classes 
are under <code>org.apache.xalan.lib</code>.
  +  module are implemented natively in &xslt4jc-short;. For all other EXSLT 
extension functions,
  +  &xslt4jc-short; uses the same implementation as the &xslt4j; Interpretive 
processor. The implementation classes 
  +  are under <code>org.apache.xalan.lib</code>.
     Depending on the packaging, these classes can be in a separate jar file 
(e.g. xalan.jar) from
  -  the XSLTC classes. In this case you need to add the jar file containing 
the EXSLT classes to your
  -  classpath in order to use EXSLT extensions in XSLTC.</p>
  +  the &xslt4jc-short; classes. In this case you need to add the jar file 
containing the EXSLT classes to your
  +  classpath in order to use EXSLT extensions in &xslt4jc-short;.</p>
     </s2>
     
   <anchor name="nodeset_ext"/>
     <s2 title="nodeset">
  -  <p>XSLTC also supports the nodeset() extension function for transforming 
an RTF (result 
  +  <p>&xslt4jc-short; also supports the nodeset() extension function for 
transforming an RTF (result 
       tree fragment) into a node set.</p>
  -    <p>The nodeset extension can be used as an XSLTC extension function in 
the namespace
  -    <code>http://xml.apache.org/xalan/xsltc</code>, a Xalan extension 
function in the namespace
  +    <p>The nodeset extension can be used as an &xslt4jc-short; extension 
function in the namespace
  +    <code>http://xml.apache.org/xalan/xsltc</code>, a &xslt4j; extension 
function in the namespace
       <code>http://xml.apache.org/xalan</code>, an EXSLT extension function in 
the namespace 
       <code>http://exslt.org/common</code> or as a standard XPATH function. 
When it is used as
       an EXSLT extension function, you need to refer to the nodeset extension 
function as 
  @@ -190,7 +192,7 @@
       &lt;/xsl:variable&gt;
       &lt;!-- Use nodeset as an XSLTC extension function --&gt;
       &lt;xsl:value-of 
select=&quot;xsltc-extension:nodeset($rtf)/docelem/elem1&quot;/&gt;
  -    &lt;!-- Use nodeset as a Xalan extension function --&gt;
  +    &lt;!-- Use nodeset as a &xslt4j; extension function --&gt;
       &lt;xsl:value-of 
select=&quot;xalan:nodeset($rtf)/docelem/elem1&quot;/&gt;
       &lt;!-- Use nodeset as an EXSLT extension function --&gt;
       &lt;xsl:value-of 
select=&quot;exslt:node-set($rtf)/docelem/elem1&quot;/&gt;
  @@ -205,10 +207,11 @@
     
   <anchor name="redirect_ext"/>
     <s2 title="output/redirect">
  -  <p>XSLTC supports the output extension element for redirecting the output 
to one 
  +  <p>&xslt4jc-short; supports the output extension element for redirecting 
the output to one 
     or more files. The output extension element is also aliased to the write 
extension element 
     in the namespace <code>http://xml.apache.org/xalan/redirect</code>. 
Therefore you can use
  -  it in the same way as the <link idref="extensionslib" 
anchor="redirect">redirect</link> extension in Xalan.</p>
  +  it in the same way as the <link idref="extensionslib" 
anchor="redirect">redirect</link> 
  +  extension in &xslt4j;.</p>
     <p>You can use the file and append attributes with the output/redirect 
extension. The value of the file
     attribute is an attribute value template. If the value of the append 
attribute is true or yes, the
     output is appended to the file rather than overwriting the file.</p>
  
  
  
  1.27      +79 -57    xml-xalan/java/xdocs/sources/xalan/getstarted.xml
  
  Index: getstarted.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/getstarted.xml,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- getstarted.xml    27 Jan 2003 18:45:36 -0000      1.26
  +++ getstarted.xml    21 Feb 2003 20:10:07 -0000      1.27
  @@ -58,67 +58,89 @@
    -->
   <s1 title="Getting Started">
   <ul>
  -<li><link anchor="download">Downloading what you need</link></li>
  -<li><link anchor="classpath">Setting up the system classpath</link></li>
  -<li><link anchor="samples">Trying out the samples</link></li>
  -<li><link anchor="commandline">Performing your own transformations from the 
command line</link></li>
  -<li><link anchor="java-apps">Setting up your own XSLT 
applications</link></li>
  +  <li><link anchor="classpath">Setting up the system classpath</link></li>
  +  <li><link anchor="samples">Trying out the samples</link></li>
  +  <li><link anchor="commandline">Performing your own transformations from 
the command line</link></li>
  +  <li><link anchor="java-apps">Setting up your own XSLT 
applications</link></li>
   </ul>
  -<anchor name="download"/>
  -<s2 title="Downloading what you need">
  -<p>To use &xslt4j;, you need the following:</p>
  -<ul>
  -<li>The JDK or JRE 1.2.2, or 1.3.x</li>
  -<li>xalan.jar</li>
  -<li>xml-apis.jar</li>
  -<li>&xml4j-jar;, or another <link idref="usagepatterns" anchor="plug">XML 
Parser</link></li>
  -</ul>
  -<p>You can get the JDK or JRE from <jump 
href="http://www.ibm.com/java/jdk";>ibm.com/java/jdk/</jump> or <jump 
href="http://www.java.sun.com";>java.sun.com</jump>.</p> 
  -<p>For the binary distribution, which includes everything required to use 
and build applications with &xslt4j;, download <resource-ref 
idref="xslt4j-dist-bin-zip"/> or <resource-ref idref="xslt4j-dist-bin-targz"/>. 
Both of these files contain &xslt4j-current; (with xalan.jar and xml-apis.jar) 
and &xml4j-jar; from <resource-ref idref="xml4j-used"/>. You can use a zip or 
tar utility to expand these files into a full build.</p>
  -<p>If you want the &xslt4j; source files, download <resource-ref 
idref="xslt4j-dist-src-zip"/> or <resource-ref idref="xslt4j-dist-src-targz"/>. 
After you expand these files into the complete source tree, you can use 
<resource-ref idref="ant"/> to do your own builds. For more information, see 
<link idref="readme" anchor="build">Build notes</link>.</p>
  -
  -<p>If you plan to run <link idref="extensions">XSLT extensions</link>, you 
need bsf.jar, which is included in the &xslt4j; distribution. If you plan to 
run XSLT extensions implemented in Javascript or another scripting language, 
you will need one or more additional files as indicated in <link 
idref="extensions" anchor="supported-lang">extensions language 
requirements</link>.</p>
  -</s2><anchor name="classpath"/>
  +<note>Unless otherwise specified, the usage discussed in this section refers 
to 
  +the &xslt4j; Interpretive processor. See <link idref="xsltc_usage">Getting 
Started with XSLTC 
  +</link> for information on using the &xslt4j; Compiling 
processor.</note><br></br>
  +<anchor name="classpath"/>
   <s2 title="Setting up the system classpath">
  -<p>At the very minimum, you must include xalan.jar, xml-apis.jar, and 
&xml4j-jar; -- or another conformant XML parser -- see 
  -<link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML 
parser</link>) on the system classpath. To run the sample applications,
  -include xalansamples.jar (all samples other than the servlet) and 
xalanservlet.jar. To run extensions, include bsf.jar. All these JAR files 
  -are distributed with &xslt4j;. For extensions implemented in JavaScript or 
another scripting language, see <link idref="extensions" 
anchor="supported-lang">extensions language 
  -requirements</link> to identify any additional JAR files you must place on 
the classpath and where you can get them.</p>
  -&xsltcclasspath;
  -<p>If you are using JDK or JRE 1.2.2, include tools.jar on the classpath.</p>
  -</s2><anchor name="samples"/>
  +  <p>At the very minimum, you must include xalan.jar, xml-apis.jar, and 
&xml4j-jar; -- or another 
  +     conformant XML parser -- see <link idref="usagepatterns" 
anchor="plug">Plugging in a Transformer 
  +     and XML parser</link>) on the system classpath. To run the XSLT 
Interpretive processor sample 
  +     applications, include xalansamples.jar (all samples other than the 
servlet) and xalanservlet.jar. 
  +     To run Javascript extensions, include bsf.jar. All these JAR files are 
distributed with &xslt4j;. For 
  +     extensions implemented in other scripting language, see <link 
idref="extensions" 
  +     anchor="supported-lang"> extensions language requirements</link> to 
identify any additional JAR 
  +     files you must place on the classpath and where you can get them.</p>
  +     
  +  <p>If you are using <link idref="xsltc_usage">XSLTC</link>, see <link 
idref="xsltc_usage">
  +     Getting Starting with XSLTC</link>.</p>
  +     
  +  <p>If you are using JDK or JRE 1.2.2, 1.3.x or 1.4.x, include tools.jar on 
the classpath.  If you
  +     are using JDK or JRE 1.1.8 (supported for runtime only), then include 
classes.zip on the 
  +     classpath.</p>
  +</s2>
  +
  +<anchor name="samples"/>
   <s2 title="Trying out the samples">
  -<p>The &xslt4j; distribution includes a number of basic sample applications. 
These samples are easy to run, and you can review the source files -- all of 
which are brief -- to see just how they work.</p>
  -<p>To run the samples, do the following:</p>
  -<ol>
  -<li>Set up your classpath (see above), including xalansamples.jar and (for 
the servlet) xalanservlet.jar.</li>
  -<li>Be sure the java executable is on your path.</li>
  -<li>Go to the samples subdirectory containing the sample (use the DOS shell 
if you are running Windows).</li>
  -<li>Use the java executable to run the sample from the command line.</li>
  -<li>Examine the application source and result files.</li>
  -</ol>
  -<p>For example, go to the SimpleTransform subdirectory and issue the 
following command:</p>
  -<p><code>java SimpleTransform</code></p>
  -<p>The sample writes the transformation result  to a file (birds.out). To 
see how the example works, examine the source files: birds.xml, birds.xsl, and 
SimpleTransform.java.</p>
  -<p>The extensions examples require additional JAR files on the classpath, 
and the procedure for running the sample applet and sample servlet is 
different. For more information about all the samples, see <link 
idref="samples">&xslt4j; Samples</link>.</p>
  -</s2><anchor name="commandline"/>
  +  <p>The &xslt4j; distribution includes a number of basic sample 
applications. These samples are easy 
  +     to run, and you can review the source files -- all of which are brief 
-- to see just how they 
  +     work.</p>
  +  <p>To run the samples, do the following:</p>
  +  <ol>
  +    <li>Set up your classpath (see above), including xalansamples.jar and 
(for the servlet) 
  +        xalanservlet.jar.</li>
  +    <li>Be sure the java executable is on your path.</li>
  +    <li>Go to the samples subdirectory containing the sample (use the DOS 
shell if you are running 
  +        Windows).</li>
  +    <li>Use the java executable to run the sample from the command line.</li>
  +    <li>Examine the application source and result files.</li>
  +  </ol>
  +  <p>For example, go to the SimpleTransform subdirectory and issue the 
following command:</p>
  +  <p><code>java SimpleTransform</code></p>
  +  <p>The sample writes the transformation result  to a file (birds.out). To 
see how the example works, 
  +     examine the source files: birds.xml, birds.xsl, and 
SimpleTransform.java.</p>
  +  <p>The extensions examples require additional JAR files on the classpath, 
and the procedure for 
  +     running the sample applet and sample servlet is different. For more 
information about all the 
  +     samples, see <link idref="samples">&xslt4j; Samples</link>.</p>
  +</s2>
  +
  +<anchor name="commandline"/>
   <s2 title="Performing your own transformations from the command line">
  -<p>java.org.apache.xalan.xslt.Process provides a basic utility for 
performing transformations from the command line. You use this utility, for 
example, to run several of the extensions samples. The command line for most 
standard transformations is as follows:</p>
  -<p><code>java org.apache.xalan.xslt.Process -in 
<ref>xmlSource</ref></code><br/>
  -<code>&nbsp;&nbsp;&nbsp;&nbsp;-xsl <ref>stylesheet</ref> -out 
<ref>outputfile</ref></code></p>
  -<p>where <ref>xmlSource</ref> is the XML source file name, 
<ref>stylesheet</ref> is the XSL stylesheet file name, and 
<ref>outputfile</ref> is the output file name.</p>
  -<p>If you want the output to be displayed on the screen, simply omit the 
-out flag and argument.</p>
  -<p>You can use this utility to try out XSL stylesheets you have written, to 
make sure they do what you expect with the XML source files they are designed 
to transform. The utility provides useful messages if the source file or 
stylesheet is not well formed. For more information, see <link 
idref="commandline">Command-Line Utility</link>.</p>
  -</s2><anchor name="java-apps"/>
  +  <p>java.org.apache.xalan.xslt.Process provides a basic utility for 
performing transformations from 
  +     the command line. You use this utility, for example, to run several of 
the extensions samples. 
  +     The command line for most standard transformations is as follows:</p>
  +  <p><code>java org.apache.xalan.xslt.Process -in 
<ref>xmlSource</ref></code><br/>
  +     <code>&nbsp;&nbsp;&nbsp;&nbsp;-xsl <ref>stylesheet</ref> -out 
<ref>outputfile</ref></code></p>
  +  <p>where <ref>xmlSource</ref> is the XML source file name, 
<ref>stylesheet</ref> is the XSL 
  +     stylesheet file name, and <ref>outputfile</ref> is the output file 
name.</p>
  +  <p>If you want the output to be displayed on the screen, simply omit the 
-out flag and argument.</p>
  +  <p>You can use this utility to try out XSL stylesheets you have written, 
to make sure they do what 
  +     you expect with the XML source files they are designed to transform. 
The utility provides useful 
  +     messages if the source file or stylesheet is not well formed. For more 
information, see 
  +     <link idref="commandline">Command-Line Utility</link>.</p>
  +</s2>
  +
  +<anchor name="java-apps"/>
   <s2 title="Setting up your own Java applications">
  -<p>You can start by using your own XML source files and XSL stylesheets with 
the sample applications, which illustrate a number of the <link 
idref="usagepatterns">basic usage patterns</link>.</p>
  -<p>Here is the basic TRaX procedure to keep in mind when you set up a 
transformation:</p>
  -<ol>
  -<li>Use the <jump 
href="apidocs/javax/xml/transform/TransformerFactory.html">TransformerFactory</jump>
 static newInstance() method to instantiate a TransformerFactory.<br/><br/></li>
  -<li>Use the TransformerFactory newTransformer(Source stylesheet) method to 
process the transformation instructions in an XSLT stylesheet Source (producing 
under the covers a <jump 
href="apidocs/javax/xml/transform/Templates.html">Templates</jump> object) and 
generate a <jump 
href="apidocs/javax/xml/transform/Transformer.html">Transformer</jump>.<br/><br/></li>
  -<li>Use the Transformer transform(Source xmlSource, Result transformResult) 
method to apply the transformation instructions (the Templates object) to the 
XML Source and produce the transformation Result.<br/><br/></li>
  -</ol>
  -<p>For more information about this procedure and its variations, see <link 
idref="usagepatterns">Basic Usage Patterns</link>.</p>
  +  <p>You can start by using your own XML source files and XSL stylesheets 
with the sample applications, 
  +     which illustrate a number of the <link idref="usagepatterns">basic 
usage patterns</link>.</p>
  +  <p>Here is the basic TRaX procedure to keep in mind when you set up a 
transformation:</p>
  +  <ol>
  +    <li>Use the <jump 
href="apidocs/javax/xml/transform/TransformerFactory.html">TransformerFactory</jump>
 static newInstance() method to instantiate a TransformerFactory.<br/><br/></li>
  +    <li>Use the TransformerFactory newTransformer(Source stylesheet) method 
to process the 
  +        transformation instructions in an XSLT stylesheet Source (producing 
under the covers a 
  +        <jump 
href="apidocs/javax/xml/transform/Templates.html">Templates</jump> object) and 
generate 
  +        a <jump 
href="apidocs/javax/xml/transform/Transformer.html">Transformer</jump>.<br/><br/></li>
  +    <li>Use the Transformer transform(Source xmlSource, Result 
transformResult) method to apply the 
  +        transformation instructions (the Templates object) to the XML Source 
and produce the 
  +        transformation Result.<br/><br/></li>
  +  </ol>
  +  <p>For more information about this procedure and its variations, see <link 
idref="usagepatterns">Basic 
  +     Usage Patterns</link>.</p>
   </s2>
   </s1>
  
  
  
  1.31      +25 -20    xml-xalan/java/xdocs/sources/xalan/resources.xml
  
  Index: resources.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/resources.xml,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- resources.xml     3 Feb 2003 19:44:29 -0000       1.30
  +++ resources.xml     21 Feb 2003 20:10:07 -0000      1.31
  @@ -4,13 +4,11 @@
     %externalEntity;
     <!ELEMENT resources (resource|human-resource)+>
     <!ELEMENT resource EMPTY>
  -  <!ATTLIST resource                 
  -        id CDATA #IMPLIED
  +  <!ATTLIST resource                 id CDATA #IMPLIED
                                title CDATA #IMPLIED
                                location CDATA #IMPLIED>
     <!ELEMENT human-resource EMPTY>
  -  <!ATTLIST human-resource   
  -        id CDATA #IMPLIED
  +  <!ATTLIST human-resource   id CDATA #IMPLIED
                                name CDATA #IMPLIED
                                mailto CDATA #IMPLIED>
      ]>  
  @@ -60,22 +58,26 @@
               location="http://xml.apache.org/dist/LICENSE.txt"/>
     <resource id="bugzilla"
               title="Bugzilla (the Apache bug database)"
  -            location="http://nagoya.apache.org/bugzilla"/>
  +            location="http://nagoya.apache.org/bugzilla/"/>
     <resource id="buglist"
               title="XalanJ2 open bugs"         
  -            
location="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=XalanJ2&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=%27Importance%27"/>
                   
  +            
location="http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=XalanJ2&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=%27Importance%27"/>
     <resource id="bsf"
               title="Bean Scripting Framework (BSF)"
  -            
location="http://oss.software.ibm.com/developerworks/projects/bsf"/>     
  -     
  +            
location="http://oss.software.ibm.com/developerworks/projects/bsf"/>
  +
     <resource id="Readme" 
               title="Xalan Repository Release Notes" 
               
location="http://www.apache.org/websrc/cvsweb.cgi/xml-xalan/README"/>
  -            
  -  <resource id="mulberryxsl-list" title="Mulberry XSL Mailing List" 
location="http://mulberrytech.com/xsl/xsl-list/index.html"/>
   
  -  <resource id="dpawsonxslfaq" title="XSL Frequently Asked Questions" 
location="http://www.dpawson.co.uk/xsl/xslfaq.html"/>
  -  
  +  <resource id="mulberryxsl-list" 
  +            title="Mulberry XSL Mailing List" 
  +            location="http://mulberrytech.com/xsl/xsl-list/index.html"/>
  +
  +  <resource id="dpawsonxslfaq" 
  +            title="XSL Frequently Asked Questions" 
  +            location="http://www.dpawson.co.uk/xsl/xslfaq.html"/>
  +
     <resource id="xsl" 
               title="Extensible Stylesheet Language (XSL) Version 1.0"
               location="http://www.w3.org/TR/xsl"/>
  @@ -83,11 +85,11 @@
     <resource id="xslt" 
               title="XSL Transformations (XSLT) Version 1.0"
               location="http://www.w3.org/TR/xslt"/>
  -  
  +
     <resource id="xpath" 
               title="XML Path Language (XPath) Version 1.0" 
               location="http://www.w3.org/TR/xpath"/>            
  -            
  +
     <resource id="dom" 
               title="DOM" 
               location="http://www.w3.org/DOM"/>
  @@ -100,29 +102,32 @@
               location="http://www.megginson.com/SAX/sax.html"/>
     <resource id="sax2" 
               title="SAX 2" 
  -            location="http://www.megginson.com/SAX/Java/index.html"/>
  +            location="http://sax.sourceforge.net"/>
     <resource id="jaxp" 
               title="Java API for XML Parsing 1.0" 
               location="http://java.sun.com/xml/docs/api/index.html"/>
     <resource id="jaxp11" 
               title="Java API for XML Processing 1.1" 
               
location="http://java.sun.com/xml/jaxp/dist/1.1/jaxp-1_1-spec.pdf"/>
  +  <resource id="jaxp12" 
  +            title="Java API for XML Processing 1.2" 
  +            location="http://java.sun.com/xml/jaxp/index.html"/>            
     <resource id="jsr063"
               title="Java Specification Request 63"
               
location="http://java.sun.com/aboutJava/communityprocess/review/jsr063"/>
  -            
  +
     <resource id="xmlapirepository"
               title="xml-commons/java/external/src"
               
location="http://cvs.apache.org/viewcvs.cgi/xml-commons/java/external/src/"/>
  -            
  +
     <resource id="endorsed"
               title="Endorsed Standards Override Mechanism"
               location="http://java.sun.com/j2se/1.4/docs/guide/standards/"/>
  -           
  +
     <human-resource id="xalandev" 
                     name="Xalan Development Mailing List" 
                     mailto="[email protected]"/>
  -                  
  +
     <human-resource id="sboag"
                     name="Scott Boag"
                     mailto="[EMAIL PROTECTED]"/>
  @@ -162,5 +167,5 @@
     <human-resource id="zongaro"
                     name="Henry Zongaro"
                     mailto="[EMAIL PROTECTED]"/>
  -                  
  +
   </resources>
  
  
  
  1.6       +6 -3      xml-xalan/java/xdocs/sources/xalan/features.xml
  
  Index: features.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/features.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- features.xml      27 Jan 2003 18:45:36 -0000      1.5
  +++ features.xml      21 Feb 2003 20:10:07 -0000      1.6
  @@ -64,9 +64,10 @@
   </ul>
   <anchor name="factoryfeature"/>
   <s2 title="Standard TransformerFactory features">
  -<p>The JAXP 1.1 Transformation API for XML (<link idref="trax">TrAX</link>) 
defines objects and methods for processing input and producing 
  +<p>The JAXP 1.2 Transformation API for XML (<link idref="trax">TrAX</link>) 
defines objects and 
  +methods for processing input and producing 
   output in a variety of formats, including character streams, SAX event 
streams, and DOM Documents.</p>
  -<p>JAXP 1.1 defines the following features:</p>
  +<p>JAXP 1.2 defines the following features:</p>
   <ul>
   <li><link anchor="streamsource">StreamSource feature</link></li>
   <li><link anchor="streamresult">StreamResult feature</link></li>
  @@ -241,7 +242,9 @@
     tFact.setAttribute(TransformerFactoryImpl.FEATURE_INCREMENTAL, 
                        Boolean.FALSE);
   }</source>
  -</s3><anchor name="source_location"/>
  +<note>The incremental feature is not currently supported by XSLTC.</note>
  +</s3>
  +<anchor name="source_location"/>
   <s3 title="source_location attribute">
   <p><em>URI:</em> "http://apache.org/xalan/features/source_location";</p>
   <p>Provide a <jump 
href="apidocs/javax/xml/transform/SourceLocator.html">SourceLocator</jump> that 
can be used during a transformation
  
  
  
  1.28      +237 -153  xml-xalan/java/xdocs/sources/xalan/faq.xml
  
  Index: faq.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/faq.xml,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- faq.xml   3 Feb 2003 19:44:29 -0000       1.27
  +++ faq.xml   21 Feb 2003 20:10:07 -0000      1.28
  @@ -1,5 +1,5 @@
   <?xml version="1.0" encoding="UTF-8"?>
  -<!DOCTYPE faqs PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  +<!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
   <!--
    * The Apache Software License, Version 1.1
    *
  @@ -73,8 +73,9 @@
       <faq title='Where can I ask questions about XSLT'>
         <q>Where can I ask questions about XSLT?</q>
         <a>
  -        <p>xalan-dev and xalan-j-users are for Xalan-Java questions only. 
This is not the best forum to ask general XSLT questions. The
  -          <resource-ref idref='mulberryxsl-list' /> is an excellent place to 
ask XSLT questions; please search
  +        <p>xalan-dev and xalan-j-users are for Xalan-Java questions only. 
This is not the best 
  +           forum to ask general XSLT questions. The <resource-ref 
idref='mulberryxsl-list' /> is an 
  +           excellent place to ask XSLT questions; please search
             <resource-ref idref='dpawsonxslfaq' /> to ensure your question has 
not been already asked.
           </p>
         </a>
  @@ -83,29 +84,33 @@
         <q>What are TrAX and JAXP, and are they related?</q>
         <a>
                <p><anchor name="trax"/></p>
  -        <p>TrAX is the Transformation API for XML. In November 2000, TrAX 
was revised and incorporated into JAXP, the JAVA API for XML
  -    Processing. JAXP (including TrAX) provides users a standard, 
vendor-neutral API for working with (and transforming) XML documents. 
  -    You can use this API to build applications that are not bound to the 
particular implementation details of a given XML parser or XSL
  -    transformer.</p>
  -        <p>Xalan-Java includes the JAXP packages, implements the TrAX 
portion of that API (javax.xml.transform....), and includes xercesImpl.jar from
  -    Xerces-Java, which implements the parser portion of the API 
(javax.xml.parser....).</p>
  -        <p>For more information, see
  -          <link idref='trax'>TRaX (Transformation API for XML)</link> and
  -          <resource-ref idref='jaxp11' />.
  +        <p>TrAX is the Transformation API for XML. In November 2000, TrAX 
was revised and incorporated 
  +           into JAXP, the JAVA API for XML Processing. JAXP (including TrAX) 
provides users a standard, 
  +           vendor-neutral API for working with (and transforming) XML 
documents. You can use this API 
  +           to build applications that are not bound to the particular 
implementation details of a given 
  +           XML parser or XSL transformer.</p>
  +        <p>&xslt4j; includes the JAXP packages, implements the TrAX portion 
of 
  +           that API (javax.xml.transform....), and includes xercesImpl.jar 
from  
  +           <resource-ref idref='xml4j-used' />, which implements the parser 
portion of the API 
  +           (javax.xml.parser....).</p>
  +        <p>For more information, see <link idref='trax'>TRaX (Transformation 
API for XML)</link> and
  +          <resource-ref idref='jaxp12' />.
           </p>
         </a>
       </faq>
     </group>
     <group title='Versions'>
  -    <faq title='Determining Xalan-Java Version'>
  -      <q>How do I see what version of Xalan-Java I'm running? How do I 
determine which parser I'm using?</q>
  +    <faq title='Determining &xslt4j; Version'>
  +      <q>How do I see what version of &xslt4j; I'm running? How do I 
determine 
  +         which parser I'm using?</q>
         <a>
           <p>
             <anchor name='environmentcheck' />
           </p>
           <p>
  -          <em>Using the EnvironmentCheck utility:</em> To help diagnose 
classpath problems and also determine which version of Xalan-Java is being 
used, try running Xalan-Java's environment checking utility, checked in at 
  -    xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.
  +          <em>Using the EnvironmentCheck utility:</em> To help diagnose 
classpath problems and also 
  +              determine which version of &xslt4j; is being used, try running 
  +              &xslt4j;'s environment checking utility.
           </p>
           <p>You can run this utility from the command line as follows:</p>
           <p>
  @@ -115,10 +120,11 @@
           <p>
             <code>boolean environmentOK = (new 
EnvironmentCheck()).checkEnvironment (yourPrintWriter);</code>
           </p>
  -        <p>Be sure to run EnvironmentCheck in the environment where you are 
experiencing the problem. For example, if you get a 
  -    NoClassDefFound error from a command-line application, run 
EnvironmentCheck on the command line with exactly the same 
  -    classpath. If the error occurs inside your Java application (or in a 
servlet, etc.), be sure to call the 
  -    EnvironmentCheck checkEnvironment(...) method from within your running 
application.</p>
  +        <p>Be sure to run EnvironmentCheck in the environment where you are 
experiencing the problem. 
  +           For example, if you get a NoClassDefFound error from a 
command-line application, run 
  +           EnvironmentCheck on the command line with exactly the same 
classpath. If the error occurs 
  +           inside your Java application (or in a servlet, etc.), be sure to 
call the EnvironmentCheck 
  +           checkEnvironment(...) method from within your running 
application.</p>
           <p>Best of all, you can call checkEnvironment from a stylesheet 
using extensions:</p>
           <source>
   &lt;?xml version="1.0"?&gt;
  @@ -136,58 +142,78 @@
         </a>
       </faq>
       <faq title='Which version of Xerces should I be using?'>
  -      <q>Which version of Xerces should I be using?</q>
  +      <q>Which version of &xml4j-used; should I be using?</q>
         <a>
  -        <p><resource-ref idref='xslt4j-current' /> has been tested with 
<resource-ref idref='xml4j-used' />. See
  -          <link anchor='status' idref='readme'>Status</link>.
  +        <p><resource-ref idref='xslt4j-current' /> has been tested with 
<resource-ref idref='xml4j-used' />. 
  +           See <link anchor='status' idref='readme'>Status</link>.
           </p>
         </a>
       </faq>
  -    <faq title='Compatibility with Xalan-Java version 1'>
  -      <q>How do I run applications that use the Xalan-Java version 1 API 
with Xalan-Java 2</q>
  +    <faq title='Compatibility with &xslt4j; version 1'>
  +      <q>How do I run applications that use the &xslt4j; version 1 API with 
&xslt4j;</q>
         <a>
  -        <p>The Xalan-Java 1 compatibility API has been deprecated and now 
purged, so you must use the Xalan-Java 2 API. We strongly encourage you to
  -   use the JAVAX 1.1/TrAX API. For more information ,see the FAQ on <link 
anchor='trax'>TrAX and JAXP.</link></p>
  +        <p>The &xslt4j; version 1 compatibility API has been deprecated and 
now purged, so you 
  +           must use the &xslt4j; version 2 API. We strongly encourage you to 
use the JAVAX 1.2/TrAX 
  +           API. For more information ,see the FAQ on <link 
anchor='trax'>TrAX and JAXP.</link></p>
         </a>
       </faq>
  -    <faq title='Issues running Xalan-Java on JDK 1.3'>
  -      <q>I'm having a problem building or running Xalan-Java on the JDK 
1.3.</q>
  +    <faq title='Issues running &xslt4j; on JDK 1.3'>
  +      <q>I'm having a problem building or running &xslt4j; on the JDK 
1.3.</q>
         <a>
           <p><anchor name='jdk13'/></p>
  -        <p>The JDK 1.3 automatically places everything in the lib/ext 
directory in front of everything you place on the classpath. If this directory 
contains a version of DOM, JAXP, or Xerces that predates the Xalan-Java 
distribution you are using, you may have problems!</p>
  -        <p>The IBM JDK 1.3 includes an earlier version of xerces.jar in the 
lib/ext directory, a version that does not implement the JAXP 1.1 interfaces 
and therefore does not work with the current Xalan-Java release. Accordingly, 
you must either purge the xerces.jar that is in that directory or replace it 
with the xercesImpl.jar that is included with the Xalan-Java distribution.</p>
  -        <p>The SUN JDK 1.3 includes a pre-1.1 version of the JAXP in 
crimson.jar. Either purge the crimson.jar in that directory or overwrite it 
with a newer crimson.jar that includes and implements the JAXP 1.1 
interfaces.</p>
  +        <p>The JDK 1.3 automatically places everything in the lib/ext 
directory in front of everything 
  +           you place on the classpath. If this directory contains a version 
of DOM, JAXP, or Xerces 
  +           that predates the &xslt4j; distribution you are using, you may 
have problems!</p>
  +        <p>The IBM JDK 1.3 includes an earlier version of xerces.jar in the 
lib/ext directory, a 
  +           version that does not implement the JAXP 1.2 interfaces and 
therefore does not work with the 
  +           current &xslt4j; release. Accordingly, you must either purge the 
  +           xerces.jar that is in that directory or replace it with the 
xercesImpl.jar that is included 
  +           with the &xslt4j; distribution.</p>
  +        <p>The SUN JDK 1.3 includes a pre-1.1 version of the JAXP in 
crimson.jar. Either purge the 
  +           crimson.jar in that directory or overwrite it with a newer 
crimson.jar that includes and 
  +           implements the JAXP 1.2 interfaces.</p>
         </a>
       </faq>
  -    <faq title='Issues running Xalan-Java on JDK 1.4'>
  -      <q>I'm having a problem running Xalan-Java on the JDK 1.4.</q>
  +    <faq title='Issues running &xslt4j; on JDK 1.4'>
  +      <q>I'm having a problem running &xslt4j; on the JDK 1.4.</q>
         <a>
           <p><anchor name='jdk14'/></p>      
  -        <p>The Sun JDK 1.4 is packaged with an old version (2.2D11) of 
Xalan-Java. The JDK 1.4 will attempt to use this version instead of any on the 
classpath. Unfortunately, this causes problems when attempting to use a newer 
version of Xalan-Java with the Sun JDK 1.4.</p>
  -        <p>You can always determine which version of Xalan-Java you are 
running by using the
  -          <link anchor='environmentcheck'>EnvironmentCheck</link> class or 
by using the xalan:checkEnvironment extension function. It is highly 
recommended that you use this method to verify the version of Xalan-Java you 
are running, especially before opening a bug report.
  -        </p>
  -        <p>There are several ways to use a later version of Xalan-Java and 
override the one packaged with the JDK:</p>
  +        <p>The Sun JDK 1.4 is packaged with an old version (2.2D11) of 
&xslt4j;. The JDK 1.4 will 
  +           attempt to use this version instead of any on the classpath. 
Unfortunately, this causes 
  +           problems when attempting to use a newer version of &xslt4j; with 
the Sun JDK 1.4.</p>
  +        <p>You can always determine which version of &xslt4j; you are 
running 
  +           by using the <link 
anchor='environmentcheck'>EnvironmentCheck</link> class or by using the 
  +           xalan:checkEnvironment extension function. It is highly 
recommended that you use this 
  +           method to verify the version of &xslt4j; you are running, 
especially 
  +           before opening a bug report.</p>
  +        <p>There are several ways to use a later version of &xslt4j; and 
  +           override the one packaged with the JDK:</p>
           <ul>
             <li>For the SUN JDK 1.4, use the
  -            <resource-ref idref='endorsed' />. Place the xalan.jar, 
xercesImpl.jar, and xml-apis.jar in the
  +            <resource-ref idref='endorsed' />. Place the xalan.jar, 
xercesImpl.jar, and xml-apis.jar 
  +            in the 
               &lt;java-home&gt;\lib\endorsed directory, where
               &lt;java-home&gt; is where the runtime software is installed.
             </li>
  -          <li>Use the -Xbootclasspath java commandline option to prepend the 
new xalan.jar, xercesImpl.jar, and xml-apis.jar to the boot class path. When 
running Xalan:
  +          <li>Use the -Xbootclasspath java commandline option to prepend the 
new xalan.jar, 
  +              xercesImpl.jar, and xml-apis.jar to the boot class path. When 
running 
  +              &xslt4j;:
               <br />
               <br />
            <code>java -Xbootclasspath/p:&lt;path&gt;
                    org.apache.xalan.xslt.Process</code>
               <br />
  -         <br />where &lt;path&gt; is a colon seperated lists of the paths to 
the files xalan.jar, xercesImpl.jar, and xml-apis.jar (e.g. 
bin/xalan.jar:bin/xercesImpl.jar:bin/xml-apis.jar) containing the new-version 
of Xalan-Java.
  +         <br />where &lt;path&gt; is a colon seperated lists of the paths to 
the files xalan.jar, 
  +          xercesImpl.jar, and xml-apis.jar (e.g. 
bin/xalan.jar:bin/xercesImpl.jar:bin/xml-apis.jar) 
  +          containing the new-version of &xslt4j;.
             </li>
           </ul>
           <p>The following methods
             <em>do not work</em>:
           </p>
           <ul>
  -          <li>Using the CLASSPATH environment variable or using -classpath 
to place the new classes in the classpath.</li>
  +          <li>Using the CLASSPATH environment variable or using -classpath 
to place the new classes 
  +              in the classpath.</li>
             <li>Using the -jar option to explicitly execute the classes inside 
the new jar files.</li>
           </ul>
         </a>
  @@ -195,20 +221,21 @@
       <faq title="Using the 'signature' file to verify a download">
         <q>How do I use the "signature" file to verify my download?</q>
         <a>
  -        <p>For each Xalan-Java download file in
  +        <p>For each &xslt4j; download file in
             <resource-ref idref='xslt4j-distdir' />, there is a corresponding 
signature file. 
           The signature file for xalan-j_2_0_1.tar.gz, for example, is 
xalan-j_2_0_1.tar.gz.sig.
           </p>
           <p>The .sig files are PGP signatures of the actual .zip or .tar.gz
  -        download files.  You can use these files to verify the authenticiy 
of the download. You do not need the .sig file to 
  -        use the corresponding donwload file.</p>
  -        <p>To check the authenticity of a Xalan-Java distribution, you need 
a copy of
  +        download files.  You can use these files to verify the authenticiy 
of the download. You do not 
  +        need the .sig file to use the corresponding donwload file.</p>
  +        <p>To check the authenticity of a &xslt4j; distribution, you need a 
copy of
           PGP which is available in a number of licenses, including some free
           non-commercial licenses, either from an mit.edu site or on
           the pgp.com site. Once you have a version of PGP installed, you
  -        should be able to 'verify the signature' of the .sig file, which 
basically verifies that the corresponding 
  -        .zip or tar.gz file has not been changed since we signed it.</p>
  -        <p>The PGP key can be found in <jump 
href='http://cvs.apache.org/viewcvs.cgi/xml-xalan/java/KEYS'>CVS.</jump></p>
  +        should be able to 'verify the signature' of the .sig file, which 
basically verifies that the 
  +        corresponding .zip or tar.gz file has not been changed since we 
signed it.</p>
  +        <p>The PGP key can be found in 
  +        <jump 
href='http://cvs.apache.org/viewcvs.cgi/xml-xalan/java/KEYS'>CVS.</jump></p>
         </a>
       </faq>
     </group>
  @@ -216,11 +243,12 @@
       <faq title='Speeding up transformations'>
         <q>What can I do to speed up transformations?</q>
         <a>
  -        <p>In the ongoing development of Xalan-Java, enhancing performance 
is the primary goal of the Xalan-Java team.
  -    Here are some preliminary suggestions for you to keep in mind as you set 
up your applications:</p>
  +        <p>In the ongoing development of &xslt4j;, enhancing performance is 
  +           the primary goal of the &xslt4j; team.  Here are some preliminary 
  +           suggestions for you to keep in mind as you set up your 
applications:</p>
           <ul>
  -          <li>Use a Templates object (with a different Transformers for each 
transformation) to perform multiple transformations with the same 
  -    set of stylesheet instructions (see
  +          <li>Use a Templates object (with a different Transformers for each 
transformation) to 
  +              perform multiple transformations with the same set of 
stylesheet instructions (see
               <link anchor='multithreading' 
idref='usagepatterns'>Multithreading</link>).
               <br />
               <br />
  @@ -268,7 +296,8 @@
                 <br />
               </li>
             </ul>
  -          <li>For the ultimate in server-side scalability, perform transform 
operations on the client. For examples, see
  +          <li>For the ultimate in server-side scalability, perform transform 
operations on the client. 
  +              For examples, see
               <link anchor='appletxmltohtml' 
idref='samples'>appletXMLtoHTML</link> and
               <link anchor='get-todo-list' 
idref='samples'>get-todo-list</link>.
             </li>
  @@ -280,7 +309,7 @@
         <a>
         <p>JAXP uses an ordered lookup procedure to find factory 
implementations, such as
            an implementation of javax.xml.transform.TransformerFactory.  For 
information
  -         on this procedure, refer to Section 3 Plugability in <resource-ref 
idref='jaxp11'/>.  
  +         on this procedure, refer to Section 3 Plugability in <resource-ref 
idref='jaxp12'/>.  
          </p>
          <p>In most cases, Factory classes need only be looked up once for an 
application, so
             performance is not an issue.  However, there may be scenarios 
where the lookup
  @@ -295,12 +324,12 @@
       <faq title='Retrieving nodes in the default namespace'>
         <q>XPath isn't retrieving nodes that are in the default namespace I 
defined. How do I get them?</q>
         <a>
  -        <p>If you are looking for nodes in a namespace, the XPath expression 
must include a namespace prefix that you have mapped to the
  -       namespace with an xmlns declaration. If you have declared a default 
namespace, it does not have a prefix (see
  -          <jump href='http://www.w3.org/TR/xpath.html#node-tests'>XPath Node 
Tests</jump>). In order to construct XPath expressions 
  -       to retrieve nodes from this namespace, you must add a namespace 
declaration that provides a prefix you can include in the XPath
  -        expressions.
  -        </p>
  +        <p>If you are looking for nodes in a namespace, the XPath expression 
must include a namespace 
  +           prefix that you have mapped to the namespace with an xmlns 
declaration. If you have declared 
  +           a default namespace, it does not have a prefix (see 
  +           <jump href='http://www.w3.org/TR/xpath.html#node-tests'>XPath 
Node Tests</jump>). In order 
  +           to construct XPath expressions to retrieve nodes from this 
namespace, you must add a 
  +           namespace declaration that provides a prefix you can include in 
the XPath expressions.</p>
           <p>Suppose, for example, you you want to locate nodes in a default 
namespace declared as follows:
             <br />
             <code>xmlns="http://my-namespace";</code>
  @@ -319,15 +348,16 @@
         </q>
         <a>
           <p><anchor name='namespace-aware' /></p>
  -        <p>If you use a TransformerFactory to process a stylesheet Source 
and generate a Transformer, the
  -  TransformerFactory instructs the  SAXParserFactory to set the parser's 
namespaceAware property to true.
  -  But if you call the parser directly, you may need to set the 
namespaceAware property yourself. For
  -  example:</p>
  +        <p>If you use a TransformerFactory to process a stylesheet Source 
and generate a Transformer, 
  +           the TransformerFactory instructs the SAXParserFactory to set the 
parser's namespaceAware 
  +           property to true. But if you call the parser directly, you may 
need to set the namespaceAware 
  +           property yourself. for example:</p>
           <source>javax.xml.parsers.SAXParserFactory spFactory =
     javax.xml.parsers.SAXParserFactory.newInstance();
   spFactory.setNamespaceAware(true);</source>
  -        <note>For more information about setting the namespaceAware 
property, and SAX2 vs. JAXP default settings, see
  -          <jump 
href='http://xml.apache.org/~edwingo/jaxp-faq.html#nsDefaults'>JAXP FAQ: 
Warning about namespace processing defaults</jump>.
  +        <note>For more information about setting the namespaceAware 
property, and SAX2 vs. JAXP default 
  +              settings, see <jump 
href='http://xml.apache.org/~edwingo/jaxp-faq.html#nsDefaults'>JAXP FAQ: 
  +              Warning about namespace processing defaults</jump>.
           </note>
         </a>
       </faq>
  @@ -337,20 +367,23 @@
         <q>I'm getting a NoClassDefFound error. What has to be on the 
classpath?</q>
         <a>
           <ol>
  -          <li>xalan.jar, xml-apis.jar, and xercesImpl.jar -- or the XML 
parser you are using -- must always be on the classpath.
  +          <li>xalan.jar, xml-apis.jar, and xercesImpl.jar -- or the XML 
parser you are using -- must 
  +              always be on the classpath.
               <br />
               <br />
             </li>
  -          <li>To run the samples in the samples subdirectories, 
xalansamples.jar must be on the classpath. To run the servlet (in
  -    samples/servlet), xalanservlet.jar must be on the classpath along with 
the javax.servlet and javax.servlet.http packages. Sun distributes
  -    the javax.servlet packages in the JSWDK servlet.jar file.
  +          <li>To run the samples in the samples subdirectories, 
xalansamples.jar must be on the 
  +              classpath. To run the servlet (in samples/servlet), 
xalanservlet.jar must be on the 
  +              classpath along with the javax.servlet and javax.servlet.http 
packages. Sun distributes
  +              the javax.servlet packages in the JSWDK servlet.jar file. 
               <br />
               <br />
             </li>
  -          <li>To run extensions which use the component and script extension 
elements (including the samples in samples/extensions), bsf.jar must be on the 
  -    classpath. To run extensions implemented in JavaScript, js.jar must also 
be on the classpath. For information on what 
  -    you need to run extensions implemented in other scripting languages, see
  -            <link anchor='supported-lang' idref='extensions'>Supported 
languages</link>.
  +          <li>To run extensions which use the component and script extension 
elements (including the 
  +              samples in samples/extensions), bsf.jar must be on the 
classpath. To run extensions 
  +              implemented in JavaScript, js.jar must also be on the 
classpath. For information on what 
  +              you need to run extensions implemented in other scripting 
languages, see
  +              <link anchor='supported-lang' idref='extensions'>Supported 
languages</link>.
             </li>
           </ol>
       You can check the correctness of your environment with the
  @@ -363,13 +396,17 @@
       <faq title='a &quot;DOM006 Hierarchy request error&quot;'>
         <q>Why do I get a "DOM006 Hierarchy request error" when I try to 
transform into a DOM Document node?</q>
         <a>
  -        <p>This error occurs when Xalan-Java tries to add a Node to a 
Document node where it isn't allowed. For example, attempting to add 
non-whitespace
  -  text to the DOM Document node produces this error.</p>
  -        <p>The error can also occur when a Document node is created with the 
DOMImplementation createDocument() method, which takes a qualified name
  -    as an argument and creates an element node.  If you then pass the 
returned Document node to Xalan-Java, you get a "DOM006 Hierarchy request
  -    error" when Xalan-Java tries to add a second element to the Document 
node. The solution is to either use the DocumentBuilder newDocument() method
  -    to create a Document that does not contain an element node, or use a 
DocumentFragment. It should be noted that the 
  -    DocumentBuilder newDocument() method is "Non-preferred" according to the 
JAXP 1.1 documentation.</p>
  +        <p>This error occurs when &xslt4j; tries to add a Node to a Document 
node 
  +           where it isn't allowed. For example, attempting to add 
non-whitespace text to the DOM Document 
  +           node produces this error.</p>
  +        <p>The error can also occur when a Document node is created with the 
DOMImplementation 
  +           createDocument() method, which takes a qualified name as an 
argument and creates an element 
  +           node.  If you then pass the returned Document node to &xslt4j;, 
you 
  +           get a "DOM006 Hierarchy request error" when &xslt4j; tries to add 
a 
  +           second element to the Document node. The solution is to either 
use the DocumentBuilder 
  +           newDocument() method to create a Document that does not contain 
an element node, or use a 
  +           DocumentFragment. It should be noted that the DocumentBuilder 
newDocument() method is 
  +           "Non-preferred" according to the JAXP 1.2 documentation.</p>
         </a>
       </faq>
       <faq title='Namespace not supported by SAXParser'>
  @@ -377,26 +414,26 @@
         <a>
           <p>We have seen this probem arise for two quite different 
reasons:</p>
           <ul>
  -          <li>SAX1 interfaces are on your classpath in front of the SAX2 
interfaces provided with your XML
  -  parser.
  +          <li>SAX1 interfaces are on your classpath in front of the SAX2 
interfaces provided with 
  +              your XML parser.
               <br />
               <br />
     or
               <br />
               <br />
             </li>
  -          <li>The parser you are using to process a stylesheet Source and 
generate a Transformer does not have the 
  -  namespaceAware property set to true.</li>
  +          <li>The parser you are using to process a stylesheet Source and 
generate a Transformer does 
  +              not have the namespaceAware property set to true.</li>
           </ul>
           <p>
             <em>SAX1 on the classpath</em>
           </p>
  -        <p>SAX1 should not be on your classpath. The SAX1 interfaces and 
implementations of the SAX1 SAXPparser
  -  are not namespace aware.</p>
  +        <p>SAX1 should not be on your classpath. The SAX1 interfaces and 
implementations of the SAX1 
  +           SAXPparser are not namespace aware.</p>
           <p>To help diagnose your classpath, you can use the
             <link anchor='environmentcheck'>EnvironmentCheck
     utility</link>. If you are running under JDK 1.3, see
  -          <link anchor='jdk13'>Issues running Xalan-Java on JDK
  +          <link anchor='jdk13'>Issues running &xslt4j; on JDK
     1.3</link>. If you are running a servlet, make sure the servlet engine is 
not placing SAX1 on the
     classpath.
           </p>
  @@ -410,32 +447,47 @@
         <a>
           <p>There are two common causes for this error.</p>
           <ol>
  -          <li>Using the wrong URI for the xsl: prefix will cause this 
message. URIs, and namespace URIs in particular, are case sensitive. Ensure the 
URI for the xsl namespace is "http://www.w3.org/1999/XSL/Transform";.</li>
  -          <li>The parser you are using to process a stylesheet Source and 
generate a Transformer does not have the namespaceAware property set to 
true.<br/>
  +          <li>Using the wrong URI for the xsl: prefix will cause this 
message. URIs, and namespace 
  +              URIs in particular, are case sensitive. Ensure the URI for the 
xsl namespace is 
  +              "http://www.w3.org/1999/XSL/Transform";.</li>
  +          <li>The parser you are using to process a stylesheet Source and 
generate a Transformer 
  +              does not have the namespaceAware property set to true.<br/>
             When you create a Transformer, you must use a <link 
anchor='namespace-aware'>namespace-aware</link> parser to parse the 
stylesheet.</li>
           </ol>
         </a>
       </faq>
       <faq title='StackOverflowError with recursive stylesheet'>
  -      <q>Xalan-Java dies with a java.lang.StackOverflowError when I run a 
deeply recursive stylesheet. The same stylesheet worked fine in the past (or on 
other machines). What's happening?</q>
  -      <a>
  -        <p>That may not be our fault.  As of JDK 1.3.x, many Java Virtual 
Machine publishers reduced the default size of a thread's call stack from 1MB 
to 256KB. This allows more threads to run simultaneously, but it means that 
each thread is more limited in how deeply its function calls can be nested.</p>
  -     <p>Some JVMs may offer an option that allows you to raise this limit. 
For example, in Sun JDK 1.3.1 you can start JVM with the -Xss1m option to allow 
each thread to use a full megabyte.  In IBM's JDK you can start with the -Xss1m 
and -Xoss1m options.  Other JVMs may set this in other ways, or may not allow 
you to control it at all; check the documentation on your system for 
details.</p>
  -        <p>Note too that on some platforms 1MB is an architectural upper 
limit on the stack size, so setting -Xss2m (or equivalent) may not allow deeper 
recusion than -Xss1m.</p>
  +      <q>&xslt4j; dies with a java.lang.StackOverflowError when I run a 
deeply 
  +         recursive stylesheet. The same stylesheet worked fine in the past 
(or on other machines). 
  +         What's happening?</q>
  +      <a>
  +        <p>That may not be our fault.  As of JDK 1.3.x, many Java Virtual 
Machine publishers reduced 
  +           the default size of a thread's call stack from 1MB to 256KB. This 
allows more threads to 
  +           run simultaneously, but it means that each thread is more limited 
in how deeply its function 
  +           calls can be nested.</p>
  +     <p>Some JVMs may offer an option that allows you to raise this limit. 
For example, in Sun 
  +        JDK 1.3.1 you can start JVM with the -Xss1m option to allow each 
thread to use a full 
  +        megabyte.  In IBM's JDK you can start with the -Xss1m and -Xoss1m 
options.  Other JVMs 
  +        may set this in other ways, or may not allow you to control it at 
all; check the 
  +        documentation on your system for details.</p>
  +        <p>Note too that on some platforms 1MB is an architectural upper 
limit on the stack size, so 
  +           setting -Xss2m (or equivalent) may not allow deeper recusion than 
-Xss1m.</p>
         </a>
       </faq>
       <faq title='OutOfMemoryError processing multiple documents'>
  -      <q>I get a java.lang.OutOfMemoryError when I try to process multiple 
documents with the document() function. What can I do?</q>
  +      <q>I get a java.lang.OutOfMemoryError when I try to process multiple 
documents with the 
  +         document() function. What can I do?</q>
         <a>
  -        <p>As a general rule, Xalan-Java currently caches all of the 
documents that you read in with the document() function during a 
transformation.</p>
  -        <p>If your objective is to transform a series of documents, you can 
break the process into a series of transformations. 
  -The
  -          <link anchor='pipedocument' 
idref='extensionslib'>PipeDocument</link> extension element provides one 
strategy for batching a 
  -series of parallel transformations.
  -        </p>
  -        <p>Another alternative is to place your document() call in the 
select attribute of an xsl:for-each instruction element 
  -and use a custom PI (Processing Instruction) to turn off document caching. 
Include an XPath expression in your document() call if you do not 
  -need to process the entire document.</p>
  +        <p>As a general rule, &xslt4j; currently caches all of the documents 
  +           that you read in with the document() function during a 
transformation.</p>
  +        <p>If your objective is to transform a series of documents, you can 
break the process into a 
  +           series of transformations. The
  +          <link anchor='pipedocument' 
idref='extensionslib'>PipeDocument</link> extension element 
  +          provides one strategy for batching a series of parallel 
transformations.</p>
  +        <p>Another alternative is to place your document() call in the 
select attribute of an 
  +           xsl:for-each instruction element and use a custom PI (Processing 
Instruction) to turn off 
  +           document caching. Include an XPath expression in your document() 
call if you do not 
  +           need to process the entire document.</p>
           <p>Sample stylesheet fragment:</p>
           <source>
   &lt;xsl:template match="doc"&gt;
  @@ -444,13 +496,16 @@
       &lt;!-- process each document --&gt;
     &lt;xsl:for-each&gt;
   &lt;/xsl:template&gt;</source>
  -        <note>PIs do not ordinarily uses namespaces, so "xalan:" is a 'fake' 
namespace we have included to indicate that this is not a standard PI.</note>
  +        <note>PIs do not ordinarily uses namespaces, so "xalan:" is a 'fake' 
namespace we have 
  +        included to indicate that this is not a standard PI.</note>
           <p>If you include an XPath expression in your document() call, you 
can also turn on
  -          <link anchor='incremental' idref='dtm'>incremental transform</link>
  -to eliminate the need to read in the entire document. In fact, you can take 
advantage of the incremental transform feature even if you are not turning
  -off document caching.
  -        </p>
  -        <p>You can also increase your jvm heap size with the -Xmx or -mx 
flag, depending on which JVM you are using (you can include both flags, and the 
JVM will ignore the one it doesn't understand). For example, to give your JVM 
64 meg, try
  +          <link anchor='incremental' idref='dtm'>incremental 
transform</link> to eliminate the need 
  +          to read in the entire document. In fact, you can take advantage of 
the incremental transform 
  +          feature even if you are not turning off document caching.
  +        </p>
  +        <p>You can also increase your jvm heap size with the -Xmx or -mx 
flag, depending on which JVM 
  +           you are using (you can include both flags, and the JVM will 
ignore the one it doesn't 
  +           understand). For example, to give your JVM 64 meg, try
             <br />
             <code> java -Xmx64m -mx64m
               <ref>Class</ref>
  @@ -461,7 +516,9 @@
       <faq title="File Not Found error">
         <q>Why do I get 'file not found' when I pass c:\path\filename.txt?</q>
         <a>
  -        <p>Xalan often requires legal URLs as system identifiers, not local 
pathnames (this is partly due to underlying parsers requiring this). A simple 
(but not always correct!) way to change a local pathname into a URL in Java 
1.1x is:</p>
  +        <p>&xslt4j; often requires legal URLs as system identifiers, not 
local 
  +           pathnames (this is partly due to underlying parsers requiring 
this). A simple (but not always 
  +           correct!) way to change a local pathname into a URL in Java 1.1x 
is:</p>
           <source>
     public static String filenameToURL(String filename)
     {
  @@ -480,13 +537,16 @@
         </a>
       </faq>
       <faq title="No more DTM IDs are available">
  -       <q>What does: "XSLT Error (javax.xml.transform.TransformerException): 
org.apache.xml.dtm.DTMException: No more DTM IDs are available" mean?</q>
  +       <q>What does: "XSLT Error (javax.xml.transform.TransformerException): 
  +          org.apache.xml.dtm.DTMException: No more DTM IDs are available" 
mean?</q>
          <a>
  -         <p>It means you are probably using a very old version of Xalan, 
likely the version 2.2D11 which
  -            was packaged in JDK1.4.  Architectural changes made in early 
2002 should have eliminated this issue
  -            for almost all cases.</p>
  -         <p>You should verify the version of Xalan you are using by running 
the <link anchor='environmentcheck'>EnvironmentCheck</link> utility, 
  -            and read the FAQ about <link anchor='jdk14'>Issues running 
Xalan-Java on JDK 1.4</link>.</p>
  +         <p>It means you are probably using a very old version of Xalan or 
&xslt4j;, 
  +            likely the version 2.2D11 which was packaged in JDK1.4.  
Architectural changes made in 
  +            early 2002 should have eliminated this issue for almost all 
cases.</p>
  +         <p>You should verify the version of &xslt4j; you are using by 
running 
  +            the <link anchor='environmentcheck'>EnvironmentCheck</link> 
utility, 
  +            and read the FAQ about <link anchor='jdk14'>Issues running 
&xslt4j;
  +            on JDK 1.4</link>.</p>
           </a>        
       </faq>
     </group>
  @@ -494,50 +554,53 @@
       <faq title='Chaining transformations'>
         <q>How do you chain together a series of transformations?"</q>
         <a>
  -        <p>Xalan-Java supports two strategies for chaining together a series 
of transformations such that the output of each 
  -    transformation provides input for the next transformation.</p>
  +        <p>&xslt4j; supports two strategies for chaining together a series 
of 
  +           transformations such that the output of each transformation 
provides input for the next 
  +           transformation.</p>
           <ul>
  -          <li>For each transformation in the series, you can set one SAX 
ContentHandler to process the input, and another ContenHandler to process
  -       the output.
  +          <li>For each transformation in the series, you can set one SAX 
ContentHandler to process 
  +              the input, and another ContenHandler to process the output.
               <br />
               <br />
             </li>
  -          <li>You can also set up a series of parent-child relationships 
between an XMLReader and one or more XMLFilters.</li>
  +          <li>You can also set up a series of parent-child relationships 
between an XMLReader and 
  +              one or more XMLFilters.</li>
           </ul>
           <p>For the details and links to examples, see
             <link anchor='outasin' idref='usagepatterns'>Using transformation 
output as input for 
  -    another transformation</link>.
  -        </p>
  +          another transformation</link>.</p>
         </a>
       </faq>
       <faq title='Stylesheet validation'>
         <q>How do I validate an XSL stylesheet?</q>
         <a>
  -        <p>An XSL stylesheet is an XML document, so it can have a DOCTYPE 
and be subject to validation, right?</p>
  +        <p>An XSL stylesheet is an XML document, so it can have a DOCTYPE 
and be subject to 
  +           validation, right?</p>
           <p>The XSLT Recommendation includes a
             <jump href='http://www.w3.org/TR/xslt#dtd'>DTD Fragment 
  -      for XSL Stylesheets</jump> with some indications of what you need to 
do to create a complete DTD for a given
  -      stylesheet. Keep in mind that stylesheets can include literal result 
elements and produce output that is not valid
  -      XML.
  -        </p>
  -        <p>You can use the xsl:stylesheet doctype defined in xsl-html40s.dtd 
for stylesheets that generate HTML.</p>
  +          for XSL Stylesheets</jump> with some indications of what you need 
to do to create a 
  +          complete DTD for a given stylesheet. Keep in mind that stylesheets 
can include literal 
  +          result elements and produce output that is not valid XML.</p>
  +        <p>You can use the xsl:stylesheet doctype defined in xsl-html40s.dtd 
for stylesheets that 
  +           generate HTML.</p>
         </a>
       </faq>
       <faq title='Setting output encoding'>
         <q>Why is the output character encoding I set in the stylesheet not 
being used?</q>
         <a>
           <p>If you use a character output stream to instantiate the
  -          <jump 
href='apidocs/javax/xml/transform/stream/StreamResult.html'>StreamResult</jump> 
object which holds the 
  -    transformation output, the Writer uses its own encoding, not the 
encoding you specify
  -    in the stylesheet.
  -        </p>
  -        <p>If you want to use the stylesheet output encoding, do not use 
StreamResult(java.io.Writer) to
  -    instantiate the holder for the output. Alternatively, you can specify 
the encoding when you create a Writer 
  -    (java.io.OutputStreamWriter). Once the Writer exists, you cannot change 
its encoding.</p>
  +          <jump 
href='apidocs/javax/xml/transform/stream/StreamResult.html'>StreamResult</jump> 
object 
  +          which holds the transformation output, the Writer uses its own 
encoding, not the encoding 
  +          you specify in the stylesheet.</p>
  +        <p>If you want to use the stylesheet output encoding, do not use 
StreamResult(java.io.Writer) 
  +           to instantiate the holder for the output. Alternatively, you can 
specify the encoding when 
  +           you create a Writer (java.io.OutputStreamWriter). Once the Writer 
exists, you cannot change 
  +           its encoding.</p>
         </a>
       </faq>
       <faq title='Getting line and column numbers for errors in XML input 
documents and XSL stylesheets'>
  -      <q>How do I get line numbers for errors in the XML or XSL input when I 
am performing a transformation?</q>
  +      <q>How do I get line numbers for errors in the XML or XSL input when I 
am performing a 
  +         transformation?</q>
         <a>
           <p>Use or mimic the command-line processor (
             <jump 
href='apidocs/org/apache/xalan/xslt/Process.html'>org.apache.xalan.xslt.Process</jump>).
  @@ -547,8 +610,10 @@
             <jump 
href='apidocs/org/apache/xml/utils/DefaultErrorHandler.html'>org.apache.xml.utils.DefaultErrorHandler</jump>
 printLocation() method to chase down the exception cause and get a
             <jump 
href='apidocs/javax/xml/transform/SourceLocator.html'>SourceLocator</jump>that 
can usually report line and column number.
           </p>
  -        <p>Suppose you wanted to modify the ValidateXMLInput sample in the 
samples/Validate subdirectory to include line and column numbers . All you
  -need to do is call DefaultErrorHandler.printLocation() in the the Handler 
internal class error() and warning() methods. For example, replace</p>
  +        <p>Suppose you wanted to modify the ValidateXMLInput sample in the 
samples/Validate 
  +           subdirectory to include line and column numbers . All you need to 
do is call 
  +           DefaultErrorHandler.printLocation() in the the Handler internal 
class error() and warning() 
  +           methods. For example, replace</p>
           <source>public void error (SAXParseException spe)
     throws SAXException
   {
  @@ -562,7 +627,9 @@
     org.apache.xml.utils.DefaultErrorHandler.printLocation(pw, spe);
     pw.println("SAXParseException error: " + spe.getMessage());
   }</source>
  -        <p>You can also replicate code from the printLocation() method to 
obtain a SourceLocator, and then use the SourceLocator getLineNumber() and 
getColumnNumber() methods. The getRootSourceLocator() method below returns a 
SourceLocator.</p>
  +        <p>You can also replicate code from the printLocation() method to 
obtain a SourceLocator, and 
  +           then use the SourceLocator getLineNumber() and getColumnNumber() 
methods. The 
  +           getRootSourceLocator() method below returns a SourceLocator.</p>
           <source>
   import javax.xml.transform.SourceLocator;
   import javax.xml.transform.TransformerException;
  @@ -604,22 +671,39 @@
     return locator;
   }</source>
           <note>
  -          <em>Xalan-Java exception handling:</em>  The exception 
architecture in Xalan-Java and with transforms in general is tricky because of 
multiple layers of exception handling, involving movement back and forth 
between SAX and Transformer exceptions and across pipes. Xalan-Java often uses 
a WrappedRuntimeException to throw over many layers of checked exceptions, in 
order not to have every possible checked exception be declared for every 
function in the stack, which means it has to catch this exception at the upper 
levels and unwrap the exception to pass it on as a TransformerException.
  +          <em>&xslt4j; exception handling:</em>  The exception architecture 
  +          in &xslt4j; and with transforms in general is tricky because of 
  +          multiple layers of exception handling, involving movement back and 
forth between SAX and 
  +          Transformer exceptions and across pipes. &xslt4j; often uses a 
  +          WrappedRuntimeException to throw over many layers of checked 
exceptions, in order not to 
  +          have every possible checked exception be declared for every 
function in the stack, which 
  +          means it has to catch this exception at the upper levels and 
unwrap the exception to pass 
  +          it on as a TransformerException.
             <br />
  -          <br />A JAXP 1.1 TransformerException often wraps another 
exception. Two of the TransformerException structures that are frequently used 
to construct contained exceptions in JAXP 1.1 do not set the locator.  The 
locator is not set because we don't know the type of exception that the 
Throwable argument represents.  The solution is to chase up the contained 
exceptions to find the root cause, which will usually have a location set for 
you.  This can be somewhat tricky, as not all the exceptions may be 
TransformerExceptions.  A good sample is in the DefaultHandler static 
printLocation() method, which the Xalan-Java command-line processor uses to 
report errors. You can also roll your own functions along the lines of the 
getRootSourceLocator() example above.
  +          <br />A JAXP 1.2 TransformerException often wraps another 
exception. Two of the 
  +          TransformerException structures that are frequently used to 
construct contained exceptions 
  +          in JAXP 1.2 do not set the locator.  The locator is not set 
because we don't know the type 
  +          of exception that the Throwable argument represents.  The solution 
is to chase up the 
  +          contained exceptions to find the root cause, which will usually 
have a location set for 
  +          you.  This can be somewhat tricky, as not all the exceptions may 
be TransformerExceptions.  
  +          A good sample is in the DefaultHandler static printLocation() 
method, which the 
  +          &xslt4j; command-line processor uses to report errors. You can 
also 
  +          roll your own functions along the lines of the 
getRootSourceLocator() example above.
           </note>
         </a>
       </faq>
       <faq title='Servlet unable to find classes for extension 
functions/elements'>
         <q>My servlet cannot find classes that implement extension functions 
or elements. What can I do?</q>
         <a>
  -        <p>If you install xalan.jar in the servlet engine's lib directory 
(e.g., tomcat/lib), as opposed to the servlet's 
  -    lib directory, then the Xalan-Java classes are loaded by a classloader 
that does not see the classes in the servlet's
  -    classloader (i.e., the extension classes, if you placed them there). The 
Xalan-Java classes try to load the extension 
  -    classes using their own classloader, and that attempt fails.</p>
  -        <p>Workaround: place xalan.jar in the servlet's lib directory and 
NOT in the servlet engine's lib directory. 
  -    Another workaround is to place the extension classes also in the servlet 
engine's lib directory, but you
  -    generally want to avoid cluttering that directory.</p>
  +        <p>If you install xalan.jar in the servlet engine's lib directory 
(e.g., tomcat/lib), as 
  +           opposed to the servlet's lib directory, then the &xslt4j; classes 
  +           are loaded by a classloader that does not see the classes in the 
servlet's classloader 
  +           (i.e., the extension classes, if you placed them there). The 
&xslt4j;
  +           classes try to load the extension classes using their own 
classloader, and that attempt 
  +           fails.</p>
  +        <p>Workaround: place xalan.jar in the servlet's lib directory and 
NOT in the servlet engine's 
  +           lib directory. Another workaround is to place the extension 
classes also in the servlet 
  +           engine's lib directory, but you generally want to avoid 
cluttering that directory.</p>
           <p>Thanks to Gunnlauger Thor Briem ([EMAIL PROTECTED]) for providing 
this information.</p>
         </a>
       </faq>
  
  
  
  1.8       +86 -11    xml-xalan/java/xdocs/sources/xalan/xsltc_history.xml
  
  Index: xsltc_history.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/xsltc_history.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- xsltc_history.xml 27 Jan 2003 18:45:36 -0000      1.7
  +++ xsltc_history.xml 21 Feb 2003 20:10:07 -0000      1.8
  @@ -58,6 +58,88 @@
    -->
   <s1 title="XSLTC software changes">
   <p>The following sections list <link idref="xsltc_usage">XSLTC</link> 
changes back to the incorporation of XSLTC into &xslt4j;.</p>
  +<s2 title="Changes for &xslt4j; 2.5.D1">
  +<p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>[EMAIL 
PROTECTED]<ref> on </ref>2002/11/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java 
Util.java<br/><ref>Committer's log entry: </ref>
  +bug 14148 fixed, Morris Kwan patch
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
MultiDOM.java<br/><ref>Committer's log entry: </ref>
  +Fixed problem in AxisIterator.isReverse(). This patch fixes Bugzilla
  +14112.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/07<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output StreamHTMLOutput.java 
StreamOutput.java<br/><ref>Committer's log entry: </ref>
  +Fix for Bugzilla 14229.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/18<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
SAXAdapter.java<br/><ref>Committer's log entry: </ref>
  +Forward namespace() event as startPrefixMapping() to the DOM builder. TODO:
  +additional logic is needed to emit the endPrefixMapping() event. This patch
  +fixes namespace141.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/26<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java Sort.java 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
NodeSortRecord.java<br/><ref>Committer's log entry: </ref>
  +
  +Changed the NodeSortRecord class to hold non-static references to
  +instances of java.text.Collator and java.util.Locale. Updated the
  +bytecode generation for NodeSortRecord subclasses to access the new
  +variables correctly. When a stylesheet specifies a different language
  +in xsl:sort, the protected references in NodeSortRecord will be
  +updated by the subclass' constructor.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/03<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime DefaultSAXOutputHandler.java 
TextOutput.java<br/><ref>Committer's log entry: </ref>
  + Added deprecation comments for DefaultSAXOutputHandler and TextOutput.
  + The class xsltc.runtime.output.TransletOutputHandlerFactory
  + should be used instead. See xsltc.cmdline.Transform for an example.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc CollatorFactory.java 
xml-xalan/java/src/org/apache/xalan/xsltc/dom CollatorFactoryBase.java 
NodeSortRecord.java NodeSortRecordFactory.java<br/><ref>Committer's log entry: 
</ref>
  +Patch provided by W. Eliot Kimber to support user-defined collators. A
  +class implementing the org.apache.xalan.xsltc.CollatorFactory interface
  +can be specified from the command line by setting the property:
  +
  + org.apache.xalan.xsltc.COLLATOR_FACTORY
  +
  +The class org.apache.xalan.xsltc.dom.CollatorFactoryBase will be used
  +by default.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/05<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom DOMImpl.java<br/><ref>Committer's 
log entry: </ref>
  + Patch for Bugzilla 15094. Fixed method to compute limit in a Descendant
  +iterator; old method was (very) buggy.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/17<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java StepPattern.java 
xpath.cup xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java 
StreamXMLOutput.java<br/><ref>Committer's log entry: </ref>
  +Changes:
  + - Fixed matching problem reported by Ivelin Ivanov (Cocoon).
  + - Added support for namespaces when output is HTML.
  + - Set new version of XSLTC to be 1.4.0.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/11<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xsltc 
xsltc_performance.xml<br/><ref>Committer's log entry: </ref>
  +Fixing mispellings in xsltc_performance.xml (bugzilla 15591).
  +Changes will appear when the site is re-generated.
  +
  +Mispellings originally reported by Rob Tougher ([EMAIL PROTECTED]).
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/24<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionCall.java<br/><ref>Committer's log entry: </ref>
  +For Bugzilla 16386. Add rules for object type matching.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerImpl.java<br/><ref>Committer's log entry: </ref>
  +Committing a patch contributed by Prakash Sridharan ([EMAIL PROTECTED]).
  +Messages displayed using xsl:message are now reported to an ErrorListener
  +registered in a Transformer instance. The warning() callback is used for
  +this purpose.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java 
TransformerFactoryImpl.java TransformerImpl.java<br/><ref>Committer's log 
entry: </ref>
  +Add a new attribute "use-classpath" to the XSLTC Trax API.
  +If this attribute is set, the Templates object is created from a translet
  +which is loaded from the CLASSPATH. The translet name is either set by
  +the "translet_name" attribute, or derived from the system ID, or the
  +default name. In TemplatesImpl, we add a new constructor to support
  +creating a TemplatesImpl from a Translet instance.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/05<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java Include.java 
XSLTC.java<br/><ref>Committer's log entry: </ref>
  +Committing patch for Bugzilla 10626 contributed by Arun Yadav
  +([EMAIL PROTECTED]).
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/10<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TemplatesHandlerImpl.java<br/><ref>Committer's log entry: </ref>
  + Wrapped called to Stylesheet.translate() with class-level synchronization
  + block. This is needed since BCEL is not thread-safe. The bug was reported
  + by Michael Melhem (Cocoon).
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
GenerateIdCall.java<br/><ref>Committer's log entry: </ref>
  +Applying patch for Bugzilla bug 16745 from Igor Hersht ([EMAIL PROTECTED]).
  +The code generated for a reference to generate-id with no arguments used to
  +default to the current node.  XSLT requires it to default to the context 
node.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/18<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerImpl.java<br/><ref>Committer's log entry: </ref>
  +Patching Prakash's patch (of Feb.3, 2003).  We can't assume that _translet
  +is non-null when the call to setErrorListener is made.  For example, we could
  +have the lines of code:
  +
  +Transformer transformer = new Transformer();
  +transformer.setErrorListener(myErrorListener);
  +
  +The original patch caused TCK failures.
  +<br/><br/></li></ul>
  +</s2>
   <s2 title="Changes for &xslt4j; 2.4.1">
   <p>XSLTC source code updates:</p><ul><li><ref>Committed by </ref>[EMAIL 
PROTECTED]<ref> on </ref>2002/08/28<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerImpl.java<br/><ref>Committer's log entry: </ref>
   Keep track of parameters for built-in identity transform (needed for
  @@ -309,14 +391,6 @@
   XPath's position() function from NodeIterator.getPosition() to
   BasisLibrary.positionF(). This change simplifies the integration
   between XSLTC and DTM.
  -<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/10/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
  -Adding XSLTC_DTM version of file to branch.
  -<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/10/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
  -Whoops!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch.
  -<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/10/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
  -Adding DTM version of ForwardPositionIterator to XSLTC_DTM branch.
  -<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/10/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java<br/><ref>Committer's log entry: </ref>
  -Aarrrgggghhhhh\!\!  Checked in file on MAIN branch that was meant for 
XSLTC_DTM branch, again\!
   <br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/10/25<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xsltc/dom 
UnionIterator.java<br/><ref>Committer's log entry: </ref>
   Fix for Bugzilla 13826. A problem in reset() was the cause of duplicate
   nodes in the resulting nodeset.
  @@ -795,8 +869,8 @@
    empty strings and local paths in 
xsl:include<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>04/16/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler 
Include.java<br/><ref>Committer's log entry: </ref>bug 7835, integrated patch 
by Stefan Kost which
    better handles empty strings and local paths in 
xsl:include<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>04/16/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler Tag:
    jaxp-ri-1_2_0-fcs-branch DocumentCall.java<br/><ref>Committer's log entry: 
</ref>Santiago: fixed type check error when 2nd arg (base-uri) is node instead
  - of node-set.<br/><br/></li><li><ref>Committed by </ref>[EMAIL 
PROTECTED]<ref> on </ref>04/17/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM
  - Mode.java<br/><ref>Committer's log entry: </ref>get rid of debug 
line<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>04/17/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler Tag:
  + of node-set.<br/><br/></li>
  + <li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>04/17/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler Tag:
    jaxp-ri-1_2_0-fcs-branch FunctionCall.java
    Parser.java Stylesheet.java SyntaxTreeNode.java
    XSLTC.java xpath.cup<br/><ref>Committer's log entry: </ref>Added support 
for extension function nodeset().<br/><br/></li><li><ref>Committed by 
</ref>[EMAIL PROTECTED]<ref> on </ref>04/17/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/dom Tag:
  @@ -807,7 +881,8 @@
    java/src/org/apache/xalan/xsltc/compiler/util Tag:
    jaxp-ri-1_2_0-fcs-branch ReferenceType.java
    java/src/org/apache/xalan/xsltc/runtime Tag:
  - jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br/><ref>Committer's log entry: 
</ref>Fixed problem with extension function nodeset() and 
parameters.<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>04/18/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
  + jaxp-ri-1_2_0-fcs-branch BasisLibrary.java<br/><ref>Committer's log entry: 
</ref>Fixed problem with extension function nodeset() and 
parameters.<br/><br/></li>
  + <li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>04/18/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
    SAXAdapter.java<br/><ref>Committer's log entry: </ref>Pass in the local 
name of the element<br/><br/></li><li><ref>Committed by </ref>[EMAIL 
PROTECTED]<ref> on </ref>04/19/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler Tag:
    jaxp-ri-1_2_0-fcs-branch FunctionAvailableCall.java<br/><ref>Committer's 
log entry: </ref>JAVA_EXT_PREFIX renamed to 
JAVA_EXT_XSLTC<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> 
on </ref>04/22/2002<br/><ref>Modified: 
</ref>java/src/org/apache/xalan/xsltc/compiler/util Tag:
    jaxp-ri-1_2_0-fcs-branch MethodGenerator.java<br/><ref>Committer's log 
entry: </ref>Fixed bug in addLocalVariable() when the slot allocator was 
already 
  
  
  
  1.6       +1 -1      xml-xalan/java/xdocs/sources/xalan/builds.xml
  
  Index: builds.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/builds.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- builds.xml        27 Jan 2003 18:45:36 -0000      1.5
  +++ builds.xml        21 Feb 2003 20:10:07 -0000      1.6
  @@ -213,7 +213,7 @@
   features or major functionality changes are properly documented.</p>
   <p>Update the commits list and the 'what was done' list in 
xdocs/sources/xalan/readme.xml 
   and whatsnew.xml.  Note that currently some of the status information for 
the 
  -xsltc portion of &xslt4j; is stored separately in xsltc_history.xml and 
XSLTCDONE
  +&xslt4jc-short; portion of &xslt4j; is stored separately in 
xsltc_history.xml and XSLTCDONE
   </p>
   <p>Check in all your work!</p>
   
  
  
  
  1.32      +357 -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.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- history.xml       27 Jan 2003 18:45:36 -0000      1.31
  +++ history.xml       21 Feb 2003 20:10:07 -0000      1.32
  @@ -59,6 +59,363 @@
   <s1 title="History of software changes">
   <p>The following sections list the core software changes in each release 
since &xslt4j; version 2.0.D01.</p>
   &history2xsltc;
  +<s2 title="Changes for &xslt4j; 2.5.D1">
  +<p> Core (Non-XSLTC) source code updates:</p>
  +<ul><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/01<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java 
ExsltStrings.java<br/><ref>Committer's log entry: </ref>
  +For Bugzilla 14157. Correct namespace prefixes in EXSLT javadoc.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/01<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/utils 
SystemIDResolver.java<br/><ref>Committer's log entry: </ref>
  +Rework the SystemIDResolver class for Bugzilla 13651 and 13977.
  +
  +The getAbsoluteURI interfaces have been rewritten so that they always
  +return a good absolute URI for a systemId string, no matter it is a
  +URI or a local filesystem path. The path is resolved to be absolute
  +whenever possible. We also do conversions from space to "%20" and
  +backslash to forward slash to ensure that the returned URI is a
  +well-formed URI. The URI might not be in a normalized form because
  +normalization takes extra cycles.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/01<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/utils URI.java<br/><ref>Committer's log 
entry: </ref>
  +For Bugzilla 13977. Return a good absolute URI when the urlstring
  +is in the form of "file:abc.xsl".
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/01<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/processor 
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
  +For Bugzilla 13651. Set the systemID to a good absolute URI for the 
InputSource.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/01<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java<br/><ref>Committer's log entry: </ref>
  +Simplify the code for the new SystemIDResolver. One call to the 
getAbsoluteURI
  +interface should be enough.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/01<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/compiler 
OpMapVector.java<br/><ref>Committer's log entry: </ref>
  +Patch for bugzilla #14178 - Long XPath expressions.  The token queue was 
  +growing properly, but the operations map was missing the last element when 
  +it grew.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/domapi 
XPathNamespaceImpl.java<br/><ref>Committer's log entry: </ref>
  +Update XPathNamespaceImpl to be consistent with spec for
  +getLocalName, getPrefix, getNamespaceURI, getNodeName, getNodeValue
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/04<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources 
xalan-jlocal.xml xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan 
commandline_xsltc.xml commandline.xml extensions_xsltc.xml 
extensionslib.xml<br/><ref>Committer's log entry: </ref>
  +Added two new documents: Extensions for XSLTC and XSLTC options in the
  +Process command line. Added the "XSLTC Exts" item to the main panel.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's 
log entry: </ref>
  +For Bugzilla 14237. Fix problems in the hour-in-day extension function.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/05<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/compiler 
OpMapVector.java<br/><ref>Committer's log entry: </ref>
  +Use actual length of array in call to arraycopy.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/05<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/objects XNumber.java<br/><ref>Committer's 
log entry: </ref>
  +Applying Gordon Chiu's ([EMAIL PROTECTED]) patch for bugzilla #14241.
  +Extra trailing 0 when calling XNumber.str().
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/05<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java<br/><ref>Committer's 
log entry: </ref>
  +Fix a problem in the max() function. Reuse the Document object to reduce
  +memory usage.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/05<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan 
commandline_xsltc.xml commandline.xml<br/><ref>Committer's log entry: </ref>
  +xdocs update for XSLTC options in Process command line.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/06<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources 
entities.ent xalan-jlocal.xml xalan-jsite.xml 
xml-xalan/java/xdocs/sources/xalan readme.xml xsltc_constraints.xml 
xsltc_usage.xml<br/><ref>Committer's log entry: </ref>
  +XSLTC xdocs update.
  +Remove xsltc_constraints.xml. Move the "known problem" and "smart transformer
  +switch" sections into xsltc_usage.xml.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/07<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's 
log entry: </ref>
  +For bugzilla 14324. Fix a few problems in datetime extension functions.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/07<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltDatetime.java<br/><ref>Committer's 
log entry: </ref>
  +For bugzilla 14322. Fix problem in condition checking in getZoneStart().
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/08<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/transformer ResultTreeHandler.java 
xml-xalan/java/src/org/apache/xalan/templates ElemElement.java 
ElemTemplateElement.java<br/><ref>Committer's log entry: </ref>
  +Committing Gordon Chiu's ([EMAIL PROTECTED]) patches for
  +namespace bugs #13774,13775,13414
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/utils 
SystemIDResolver.java<br/><ref>Committer's log entry: </ref>
  +Minor improvement to the getAbsoluteURIFromRelative() and getAbsoluteURI()
  +interfaces. Reorganize the code to be more efficient. Return a slightly
  +better result when the input string is an invalid URI.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeList.java<br/><ref>Committer's 
log entry: </ref>
  +For Bugzilla 14406. Make the interface getDTMIterator() public.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/objects XNodeSet.java<br/><ref>Committer's 
log entry: </ref>
  +For Bugzilla 14406. Handle the side-effect that creating a DTMNodeList
  +will change the state of the iterator.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/12<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan 
extensions_xsltc.xml<br/><ref>Committer's log entry: </ref>
  +Fix problems in the XSLTC redirect sample. This sample was copied from
  +xsltc_constraints.xml. It works with XSLTC, but not using a good syntax.
  +It is better to change "xsl:version" to "version" and add a "extension-
  +element-prefixes" attribute.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/13<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath 
ExtensionsProvider.java<br/><ref>Committer's log entry: </ref>
  +For bugzilla 14236. Add a new interface to pass the XPath
  +extension function up to Xalan.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/13<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/functions 
FuncExtFunction.java<br/><ref>Committer's log entry: </ref>
  +For bugzilla 14236. Pass the XPath extension function object to the
  +extension provider.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/13<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/extensions ExtensionHandler.java 
ExtensionHandlerExsltFunction.java ExtensionHandlerGeneral.java 
ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java 
ExtensionsTable.java xml-xalan/java/src/org/apache/xalan/templates 
ElemExsltFuncResult.java ElemExsltFunction.java 
xml-xalan/java/src/org/apache/xalan/transformer 
TransformerImpl.java<br/><ref>Committer's log entry: </ref>
  +For bugzilla 14236 and 14244. Cleanup in the extension handling code to make
  +EXSLT func:function and func:result work correctly.
  +
  +New interfaces are added in ExtensionProvider, ExtensionsTable and
  +ExtensionHandler to pass the XPath extension function up to the extension
  +handler. In the case of an EXSLT function, we need to find out the frame
  +size of the caller template and use that to reset the frame bottom of
  +the variable stack. This prevents the local variables in the callee
  +from overwriting the variables in the caller. Also change the way to
  +handle the return result of the function to fix the problem in 14244.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/13<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/axes PredicatedNodeTest.java 
OneStepIterator.java<br/><ref>Committer's log entry: </ref>
  +Committing Gordon Chiu's ([EMAIL PROTECTED]) patches for bugzilla #14365, 
14368.
  +Fixes for processing of last()  function.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/processor 
StylesheetHandler.java<br/><ref>Committer's log entry: </ref>
  +In response to Simon Kitching's  ([EMAIL PROTECTED]) bug report #14578, 
moved synchronized 
  +block from init method to static initializer to avoid race conditions.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/serialize Encodings.java 
Encodings.properties xml-xalan/java/samples/ApplyXPath ApplyXPath.java 
xml-xalan/java/samples/ApplyXPathDOM ApplyXPathDOM.java 
xml-xalan/java/samples/CompiledJAXP Transform.java xml-xalan/java/samples/trax 
Examples.java xml-xalan/java/samples/UseStylesheetParam 
UseStylesheetParam.java<br/><ref>Committer's log entry: </ref>
  +Committing Gordon Chiu's ([EMAIL PROTECTED]) patch for encoding issues
  +with serializer, samples and test harness. (Bugzilla #14753)
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/25<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java 
Extensions.java<br/><ref>Committer's log entry: </ref>
  +Fix possible thread contention issue by putting
  +a lock on the Document object before using it.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/25<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java<br/><ref>Committer's log entry: </ref>
  +Commit Ramesh Mandava's ([EMAIL PROTECTED]) patch to allow xalan to read
  +property files without opening upcontainer permissions when Xalan is used as
  +part of a secure container, such as J2EE RI.
  +
  +The change makes use of the PrivilegedAction interface in JDK 1.2+. It was
  +written with JDK 1.1.8 compatibility in mind so that it will do the same
  +thing as before in JDK 1.1.8.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/27<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java<br/><ref>Committer's 
log entry: </ref>
  +Patch for bugzilla #14862.  When NodeSequence wraps a mutable nodeset
  +use the wrapped nodeset in getLength() method.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/11/27<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java 
xml-xalan/java/src/org/apache/xpath/objects XNodeSet.java<br/><ref>Committer's 
log entry: </ref>
  +The is a better patch for bugzilla #14862 and more consistent with code in 
xslt20 branch.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/03<br/><ref>Modified: </ref> 
xml-xalan/java/samples/CompiledServlet CompileServlet.java 
TransformServlet.java<br/><ref>Committer's log entry: </ref>
  +Updated sample to use non-deprecated API.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/03<br/><ref>Modified: </ref> 
xml-xalan/java/samples/CompiledApplet TransformApplet.java 
xml-xalan/java/samples/CompiledBrazil TransformHandler.java 
xml-xalan/java/samples/CompiledEJB TransformBean.java<br/><ref>Committer's log 
entry: </ref>
  +Updated samples to use non-deprecated API.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/processor 
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
  +Performance fix
  +Move the call to newTemplateHandler() to be after DOMSource processing.
  +DOMSource creates another template handler in the processFromNode() method.
  +The newTemplateHandler() call initializes the schema, which is expensive.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm 
DOM2DTM.java<br/><ref>Committer's log entry: </ref>
  +Performance fix
  +Reuse the node name in the preceding statement.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/serialize 
Encodings.java<br/><ref>Committer's log entry: </ref>
  +Commit Gordon Chiu's ([EMAIL PROTECTED]) patch for performance improvement
  +in the Encodings class. The convertJava2MimeEncoding() and getLastPrintable()
  +methods can be called many times. The old code walks through a big array and
  +do String comparison to find a match. A Hashtable is now used to speed up
  +this processing.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/04<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/objects XBoolean.java<br/><ref>Committer's 
log entry: </ref>
  +For Bugzilla 15074. Return a java Boolean type object in object(),
  +so that it can be recognized by extension functions.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/05<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/templates 
ElemVariable.java<br/><ref>Committer's log entry: </ref>
  +Commit the patch from Arun Yadav([EMAIL PROTECTED]) to fix Bugzilla 15089.
  +Don't add the func:result element to the variable table because it does not 
have
  +a name.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/06<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/axes AxesWalker.java ChildTestIterator.java 
MatchPatternIterator.java OneStepIterator.java 
ReverseAxesWalker.java<br/><ref>Committer's log entry: </ref>
  +Fix the memory leak problem in Bug 6075.
  +In the detach() method, null out the fields in the iterators that will
  +be reassigned a value upon the next usage. This change fixes the problem
  +that the iterators in the IteratorPool can indirectly reference the
  +TransformerImpl object.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/09<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java<br/><ref>Committer's log entry: </ref>
  +Patch for bugzilla 14965, with tweak from Art W ([EMAIL PROTECTED]).
  +Handle empty comment case.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/10<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/templates 
ElemForEach.java<br/><ref>Committer's log entry: </ref>
  +Patch for bugzilla 15254.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeList.java<br/><ref>Committer's 
log entry: </ref>
  +Applying Arun Yadav's ([EMAIL PROTECTED]) patch for bugzilla #15218.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm DTMIterator.java 
xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeIterator.java 
xml-xalan/java/src/org/apache/xpath NodeSetDTM.java<br/><ref>Committer's log 
entry: </ref>
  +Just tidying up the javadoc in the previousNode and nextNode methods
  +and making sure we're testing against DTM.NULL instead of -1.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/17<br/><ref>Modified: </ref> xml-xalan/java/samples/trax 
Examples.java<br/><ref>Committer's log entry: </ref>
  +Fixing encodings issues with samples.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/17<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm/ref 
DTMDefaultBase.java<br/><ref>Committer's log entry: </ref>
  +Migrating an improvement in memory usage from the XSLTC_DTM branch:
  +
  +Reduced the initial sizes of SuballocatedIntVectors used for m_dtmIdent and
  +namespace management.  In both cases default size SuballocatedIntVectors were
  +being used, which entails a block size of 2048.  For m_dtmIdent, that value
  +would only overflow into a second block for a document with 2048*65536 nodes.
  +Using a smaller size improves DTM build time for smaller documents, without
  +penalizing most larger documents.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/17<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm 
SAX2DTM.java<br/><ref>Committer's log entry: </ref>
  +Patch for bugzilla 4858.
  +Reduces SAX2DTM memory usage by dropping m_locator after parsing is 
complete. Value of m_locator.getSystemId() is cached.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/20<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib/sql 
SQLDocument.java<br/><ref>Committer's log entry: </ref>
  +Fixed spelling mistake for DEFINITELYWRITABLE
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/20<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib/sql 
DTMDocument.java<br/><ref>Committer's log entry: </ref>
  +Fixed handling of Node text when an Element Node is selected
  +Code provided by [EMAIL PROTECTED]
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/20<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
  +Added in missing code for disable pool
  +Code provided by [EMAIL PROTECTED]
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/20<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib/sql 
DTMDocument.java<br/><ref>Committer's log entry: </ref>
  +Fixed minor bug with for loop in getNodeData. Removed
  +direct access to child node array
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/20<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
  +Fixed createConnection method for JDK1.4
  +Tested with 1.4.1
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/12/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/objects 
XRTreeFragSelectWrapper.java<br/><ref>Committer's log entry: </ref>
  +For Bugzilla 15373. Change the execute() method to always return a XString
  +object. Also change the type to CLASS_STRING.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/09<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xpath/objects XNumber.java 
XStringForFSB.java<br/><ref>Committer's log entry: </ref>
  +Patch for bugzilla 14300.
  +Corrected algorithm for converting strings to numbers as it was failing on 
very large or very small numbers.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/10<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/processor ProcessorImport.java 
ProcessorInclude.java StylesheetHandler.java XSLTAttributeDef.java 
xml-xalan/java/src/org/apache/xalan/res XSLMessages.java 
XSLTErrorResources_de.java XSLTErrorResources_en.java 
XSLTErrorResources_es.java XSLTErrorResources.java XSLTErrorResources_fr.java 
XSLTErrorResources_it.java XSLTErrorResources_ja.java 
XSLTErrorResources_ko.java XSLTErrorResources_sv.java 
XSLTErrorResources_zh_CN.java XSLTErrorResources_zh_TW.java 
xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java 
FuncDocument.java FuncFormatNumb.java 
xml-xalan/java/src/org/apache/xalan/transformer MsgMgr.java 
xml-xalan/java/src/org/apache/xml/utils UnImplNode.java 
xml-xalan/java/src/org/apache/xml/utils/res XResourceBundleBase.java 
XResources_de.java XResources_es.java XResources_fr.java XResources_it.java 
XResources_ko.java XResources_sv.java XResources_zh_CN.java 
XResources_zh_TW.java xml-xalan/java/src/org/apache/xpath Expression.java 
XPath.java xml-xalan/java/src/org/apache/xpath/compiler Compiler.java 
OpMap.java XPathParser.java xml-xalan/java/src/org/apache/xpath/objects 
XObject.java xml-xalan/java/src/org/apache/xpath/res 
XPATHErrorResources_de.java XPATHErrorResources_en.java 
XPATHErrorResources_es.java XPATHErrorResources_fr.java 
XPATHErrorResources_it.java XPATHErrorResources_ja.java 
XPATHErrorResources_ko.java XPATHErrorResources_sv.java 
XPATHErrorResources_zh_CN.java XPATHErrorResources_zh_TW.java 
XPATHErrorResources.java<br/><ref>Committer's log entry: </ref>
  +Changes from Ramesh Mandava ([EMAIL PROTECTED]) to move to using
  +ListResourceBundles for Xalan-J Interpretive messages, along with localized
  +versions of those messages.
  +
  +In addition, message keys are now meaningful strings, rather than numeric.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/10<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java<br/><ref>Committer's log entry: </ref>
  +Committing Gordon Chiu's patch for bugzilla #6157.  Multiple xsl:output
  +statements should now be merged correctly.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/11<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java<br/><ref>Committer's log entry: </ref>
  +Small cleanup regarding bugzilla 6157.
  +Removed m_propertiesLevels field as it's no longer required.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/14<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm DTMManager.java FactoryFinder.java 
SecuritySupport.java SecuritySupport12.java<br/><ref>Committer's log entry: 
</ref>
  +Committing changes in response to bugzilla #12481.  
  +Before this commit,  DTMManager.newInstance cached the found class
  +in the cases where the class was identified in jaxp.properties or the class 
path.
  +There were some problems with this:
  +
  +1. It was not thread-safe because access to the static field foundFactory was
  +   not synchronized.
  +2. We weren't caching the class when we defaulted to the fallback class (this
  +   was the original issue in the bug report.)
  +3. We weren't using the AccessController class available in JDK1.2 to control
  +   access to priviliged resources (eg. system properties, files).
  +4. DTMManager would never be specified in jaxp.properties because it's
  +   not part of the JAXP specification.
  +5. We aren't using context class loaders.
  +
  +So, I have made the following changes:
  +
  +1. Taken the FactoryFinder, SecuritySupport and SecuritySupport12 classes
  +from the JAXP subdirectories (in xml-commons) and used them as the basis 
  +for the lookup of the DTMManager class.  This gives us the AccessController
  +code.
  +
  +2. Removed the context class loader support and added a cache for
  +   the found class (which gets used if the system property is not set.)   
  +   If we want context class loader support in the future (which we probably) 
  +   do, then we will need to revisit this to see if caching the class loader 
and the
  +   class would work.  
  +
  +3. Synchronized access to the found class.
  +
  +4. Instead of looking in jaxp.properties, look in xalan.properties (a xalan
  +   specific configuration file) which can be placed in 
&lt;$JAVA_HOME&gt;/jre/lib.
  +
  +Possible issues:
  +
  +1. In general, using a cache means that the class will not change, 
  +   regardless of changes to xalan.properties or the class loader.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/res XMLErrorResources_de.java 
XMLErrorResources_en.java XMLErrorResources_es.java XMLErrorResources_fr.java 
XMLErrorResources_it.java XMLErrorResources_ja.java XMLErrorResources_ko.java 
XMLErrorResources_sv.java XMLErrorResources_zh_CN.java 
XMLErrorResources_zh_TW.java XMLErrorResources.java 
XMLMessages.java<br/><ref>Committer's log entry: </ref>
  +DTM Separation -- New message files
  +Move the error messages used by DTM classes from Xalan and XPath
  +down to org.apache.xml.res. Created XMLErrorResources files for
  +all locales. The XMLMessages class is introduced to handle error
  +resources at this level. If a DTM interface needs to issue an error
  +message, it will use the new XMLMessages class rather than the
  +XSLMessages class in org.apache.xalan.res.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/utils Constants.java DOM2Helper.java 
DOMHelper.java DOMOrder.java ThreadControllerWrapper.java<br/><ref>Committer's 
log entry: </ref>
  +DTM Separation - new files in org.apache.xml.utils
  +Move the classes DOMOrder, DOMHelper and DOM2Helper from XPath to xml.utils.
  +Add a new Constants class to hold the constants used by XPath.
  +The ThreadControllerWrapper class is a container for the nested class
  +ThreadController which was originally in 
org.apache.xalan.transformer.TransformerImpl.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm DTMException.java DTMManager.java 
xml-xalan/java/src/org/apache/xml/dtm/ref ChunkedIntArray.java 
CoroutineManager.java DTMDefaultBase.java DTMDefaultBaseIterators.java 
DTMDefaultBaseTraversers.java DTMManagerDefault.java 
IncrementalSAXSource_Filter.java IncrementalSAXSource_Xerces.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2RTFDTM.java 
xml-xalan/java/src/org/apache/xml/utils AttList.java DefaultErrorHandler.java 
DOMBuilder.java ListingErrorHandler.java ObjectPool.java 
PrefixResolverDefault.java QName.java TreeWalker.java UnImplNode.java 
URI.java<br/><ref>Committer's log entry: </ref>
  +DTM Separation -- patches for files under org.apache.xml
  +1. Replace all invocations of XSLMessages.createMessage() by
  +XMLMessages.createXMLMessage().
  +
  +2. Replace XSLTErrorResources by XMLErrorResources.
  +
  +3. In IncrementalSAXSource_Filter, use ThreadControllerWrapper.runThread()
  +rather than calling TransformerImpl.runTransformThread().
  +
  +4. In SAX2DTM, use a setter method to set the source location property.
  +Remove the field access to 
org.apache.xalan.processor.TransformerFactoryImpl.m_source_location.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath 
DOM2Helper.java DOMHelper.java DOMOrder.java<br/><ref>Committer's log entry: 
</ref>
  +DTM Separation - remove old files in XPath
  +DOMOrder, DOMHelper and DOM2Helper are now in org.apache.xml.utils.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/22<br/><ref>Modified: </ref> xml-xalan/java/src/org/apache/xpath 
NodeSet.java XPathContext.java xml-xalan/java/src/org/apache/xpath/functions 
FuncId.java FuncSum.java xml-xalan/java/src/org/apache/xpath/objects 
XNodeSet.java XRTreeFragSelectWrapper.java 
xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources_de.java 
XPATHErrorResources_es.java XPATHErrorResources_fr.java 
XPATHErrorResources_it.java XPATHErrorResources_ja.java 
XPATHErrorResources_ko.java XPATHErrorResources_sv.java 
XPATHErrorResources_zh_CN.java XPATHErrorResources_zh_TW.java 
XPATHErrorResources.java XPATHMessages.java<br/><ref>Committer's log entry: 
</ref>
  +DTM Separation -- changes in org.apache.xpath
  +1. Change the import path for DOMHelper and DOM2Helper
  +2. Move 8 errror messages from XPATHErrorResources to XMLErrorResources
  +3. Create a new XPATHMessages class to handle error resources at
  +the XPath level.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/22<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib ExsltSets.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java 
StylesheetHandler.java TransformerFactoryImpl.java 
xml-xalan/java/src/org/apache/xalan/res XSLMessages.java 
XSLTErrorResources_de.java XSLTErrorResources.java XSLTErrorResources_es.java 
XSLTErrorResources_fr.java XSLTErrorResources_it.java 
XSLTErrorResources_ja.java XSLTErrorResources_ko.java 
XSLTErrorResources_sv.java XSLTErrorResources_zh_CN.java 
XSLTErrorResources_zh_TW.java xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java xml-xalan/java/src/org/apache/xalan/templates 
Constants.java xml-xalan/java/src/org/apache/xalan/transformer MsgMgr.java 
TransformerIdentityImpl.java TransformerImpl.java 
TreeWalker2Result.java<br/><ref>Committer's log entry: </ref>
  +DTM Separation -- changes in org.apache.xalan
  +1. Change the paths to DOMHelper and DOM2Helper
  +2. Remove the m_XSLMessages field from a few classes.
  +Use the static methods instead.
  +3. In TransformerFactoryImpl, whenever the source location attribute
  +is set, call the setter method in SAX2DTM to set the same attribute.
  +4. XSLMessages now extends from XPATHMessages. The common interfaces
  +are moved to XMLMessages.
  +5. Move 53 error messages from XSLTErrorResources to XMLErrorResources.
  +6. Move some of the constants from org.apache.xalan.templates.Constants
  +to org.apache.xml.utils.Constants.
  +7. Move the nested class ThreadControler in TransformerImpl to
  +org.apache.xml.utils.ThreadControllerWrapper.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/23<br/><ref>Modified: </ref> 
xml-xalan/java/samples/UseStylesheetParam UseStylesheetParam.java 
xml-xalan/java/samples/extensions/sql/ext-connection ExternalConnection.java 
xml-xalan/java/samples/SimpleTransform SimpleTransform.java 
xml-xalan/java/samples/Validate ValidateXMLInput.java<br/><ref>Committer's log 
entry: </ref>
  +Updating license in some samples.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/23<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources_de.java 
XSLTErrorResources_es.java XSLTErrorResources_fr.java 
XSLTErrorResources_it.java XSLTErrorResources.java XSLTErrorResources_ja.java 
XSLTErrorResources_ko.java XSLTErrorResources_sv.java 
XSLTErrorResources_zh_CN.java 
XSLTErrorResources_zh_TW.java<br/><ref>Committer's log entry: </ref>
  +Correction to the message number.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/24<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/utils 
FastStringBuffer.java<br/><ref>Committer's log entry: </ref>
  +Fix for Bugzilla bug 10053.  Before, a blank was emitted for any chunk that
  +began with whitespace after non-whitespace characters had been seen.  Also 
made
  +some performance improvements to sendNormalizedSAXcharacters.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/27<br/><ref>Modified: </ref> xml-xalan/java/bin xml-apis.jar 
xml-xalan/java/src xml-commons-src.tar.gz<br/><ref>Committer's log entry: </ref>
  +Committing xml-apis bin and source based off new tck-jaxp-1_2_0 branch 
  +of xml-commons.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/30<br/><ref>Modified: </ref> 
xml-xalan/java/samples/CompiledApplet TransformApplet.java 
xml-xalan/java/samples/CompiledBrazil TransformHandler.java 
xml-xalan/java/samples/CompiledEJB TransformBean.java TransformHome.java 
TransformRemote.java TransformServlet.java xml-xalan/java/samples/CompiledJAXP 
Compile.java Transform.java xml-xalan/java/samples/CompiledServlet 
CompileServlet.java TransformServlet.java xml-xalan/java/samples/translets 
JAXPTransletMultipleTransformations.java 
JAXPTransletOneTransformation.java<br/><ref>Committer's log entry: </ref>
  +Changes to minimize set of classes imported.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/30<br/><ref>Modified: </ref> xml-xalan/java 
todo.xsl<br/><ref>Committer's log entry: </ref>
  +Added support for distinguishing between active and past developers.  The
  +latter will have an attribute on the "person" tag named "status" whose value
  +equals "emeritus".
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/30<br/><ref>Modified: </ref> xml-xalan/java 
xsltc_todo.xml<br/><ref>Committer's log entry: </ref>
  +Changed two developers to have 'emeritus' status.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/31<br/><ref>Modified: </ref> xml-xalan/java/bin 
xercesImpl.jar<br/><ref>Committer's log entry: </ref>
  +Check in new XercesImpl (2.3.0 + patch).
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/31<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xml/dtm/ref 
ExtendedType.java<br/><ref>Committer's log entry: </ref>
  +file ExtendedType.java was initially added on branch XSLTC_DTM.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/01/31<br/><ref>Modified: </ref> xml-xalan/java 
todo.xsl<br/><ref>Committer's log entry: </ref>
  +Removed current project name from list of past developers, as it might not be
  +pertinent.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/trace 
PrintTraceListener.java<br/><ref>Committer's log entry: </ref>
  +Committing patch for bugzilla #16222.  Thanks to Elson Jiang ([EMAIL 
PROTECTED])
  +for identifying the problem and isolating the cause.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/trace 
TraceManager.java<br/><ref>Committer's log entry: </ref>
  +Committing Elson Jiang's ([EMAIL PROTECTED]) patch for bugzilla #5140.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan 
faq.xml resources.xml<br/><ref>Committer's log entry: </ref>
  +Updates to the FAQ for bugzilla#15586 and #14856
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xslt Process.java 
xml-xalan/java/src/org/apache/xml/dtm/ref DTMManagerDefault.java 
xml-xalan/java/src/org/apache/xpath SourceTreeManager.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java 
TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xalan/transformer 
TransformerIdentityImpl.java TrAXFilter.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java 
TransformerFactoryImpl.java<br/><ref>Committer's log entry: </ref>
  +The behaviour of the Xerces-J parser recently changed to agree with its
  +documented behaviour with respect to the dynamic validation feature.  This
  +causes problems for stylesheets that contain a DTD, but are not otherwise
  +"valid" - for instance, because the DTD contains ENTITY declarations, but no
  +ELEMENT declarations - because error reporting is performed for documents if
  +the dynamic validation feature is enabled and the document contains a DOCTYPE
  +declaration.
  +
  +The solution is to remove code (including code that was commented out) that
  +enabled the Xerces dynamic validation feature.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/03<br/><ref>Modified: </ref> xml-xalan/java/src 
xml-commons-src.tar.gz xml-xalan/java/bin xml-apis.jar<br/><ref>Committer's log 
entry: </ref>
  +Updating xml-apis.jar and source.  A security exception wasn't being
  +handled when reading java.home from system properties.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/04<br/><ref>Modified: </ref> 
xml-xalan/java/samples/CompiledApplet singleTransform.html<br/><ref>Committer's 
log entry: </ref>
  +file singleTransform.html was initially added on branch XSLTC_DTM.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/04<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan 
extensions.xml samples.xml<br/><ref>Committer's log entry: </ref>
  +xdocs update
  +In samples.xml, update the documentation for the ApplyXSLT sample to provide
  +more information about the input xml and stylesheet.
  +In extensions.xml, add documentation for the src attribute in xalan:script.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/19<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/xslt Process.java<br/><ref>Committer's log 
entry: </ref>
  +Patch for bugzilla #17030.  The command line (Process) uses the
  +bootstrap classloader (in JDK1.4) instead of the system class loader to 
  +load classes specified by the URIResolver, EntityResolver and 
  +ContentHandler options.
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/20<br/><ref>Modified: </ref> xml-xalan/java/samples/servlet 
ApplyXSLT.java DefaultApplyXSLTProperties.java jspSample.jsp 
SimpleXSLTServlet.java UseStylesheetParamServlet.java 
XSLTServletWithParams.java birds.xml birds.xsl booklist1.xsl booklist2.xsl 
catalog.xml web.xml<br/><ref>Committer's log entry: </ref>
  +Committing Christine Li's ([EMAIL PROTECTED]) patch to the servlet sample.
  +Bugzilla #17136
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/20<br/><ref>Modified: </ref> xml-xalan/java/xdocs/sources/xalan 
readme.xml samples.xml usagepatterns.xml<br/><ref>Committer's log entry: </ref>
  +Committing Christine Li's ([EMAIL PROTECTED]) patch to the servlet sample 
documentation.
  +Bugzilla #17136
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/20<br/><ref>Modified: </ref> xml-xalan/java 
build.xml<br/><ref>Committer's log entry: </ref>
  +Committing Christine Li's ([EMAIL PROTECTED]) patch to the build script for 
the servlet sample.
  +Bugzilla #17136
  +<br/><br/></li><li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2003/02/20<br/><ref>Modified: </ref> xml-xalan/java 
build.xml<br/><ref>Committer's log entry: </ref>
  +Minor change to build script for updated servlet sample.
  +<br/><br/></li></ul>
  +</s2>
   <s2 title="Changes for &xslt4j; 2.4.1">
   <p> Core (Non-XSLTC) source code updates:</p><ul>
   <li><ref>Committed by </ref>[EMAIL PROTECTED]<ref> on 
</ref>2002/09/06<br/><ref>Modified: </ref> 
xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java<br/><ref>Committer's log entry: </ref>
  
  
  
  1.24      +7 -7      xml-xalan/java/xdocs/sources/xalan/commandline.xml
  
  Index: commandline.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/commandline.xml,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- commandline.xml   27 Jan 2003 18:45:36 -0000      1.23
  +++ commandline.xml   21 Feb 2003 20:10:07 -0000      1.24
  @@ -61,7 +61,7 @@
   
   <s1 title="Command-Line Utility">
   <ul>
  -<li><link idref="commandline_xsltc">Command line options for 
XSLTC</link></li>
  +<li><link idref="commandline_xsltc">Command line options for 
&xslt4jc-short;</link></li>
   </ul>
      
      <s2 title="Using the Command-Line Utility">
  @@ -75,7 +75,7 @@
       <li><link idref="getstarted" anchor="classpath">Set the Java 
classpath</link> to include xalan.jar, xml-apis.jar, and
       &xml4j-jar; -- or another conformant XML Parser -- (see <link 
idref="usagepatterns" anchor="plug">Plugging in 
       the Transformer and XML parser</link>). Also include xsltc.jar in the 
classpath if you want to use
  -    the XSLTC related options.<br/><br/></li>
  +    &xslt4jc-short; related options.<br/><br/></li>
       <li>Call java and the Process class with the appropriate flags and
       arguments (described below). The following command line, for example, 
includes the -IN, -XSL,
       and -OUT flags with their accompanying arguments -- the XML source 
document, the XSL
  @@ -86,7 +86,7 @@
         <source>
                         Common Options
   
  --XSLTC (use XSLTC for transformation)
  +-XSLTC (use &xslt4jc-short; for transformation)
   -IN inputXMLURL
   -XSL XSLTransformationURL
   -OUT outputFileName
  @@ -103,7 +103,7 @@
   -ENTITYRESOLVER full class name (EntityResolver to be used to resolve 
entities)
   -CONTENTHANDLER full class name (ContentHandler to be used to serialize 
output)
   
  -                      Options for the Xalan interpreter
  +                      Options for &xslt4ji;
   
   -QC (Quiet Pattern Conflicts Warnings)
   -TT (Trace the templates as they are being called)
  @@ -118,7 +118,7 @@
       http://xml.apache.org/xalan/features/optimize to false)
   -RL recursionlimit (assert numeric limit on stylesheet recursion depth)
   
  -                      Options for the Xalan compiler (XSLTC)
  +                      Options for &xslt4jc-long; (&xslt4jc-short;)
   
   -XO [optional transletName] (assign the name to the generated translet)
   -XD destinationDirectory (specify a destination directory for translet)
  @@ -128,9 +128,9 @@
   -XX (turn on additional debugging message output)
   -XT (use translet to transform if possible)
   </source>
  -      <p>Use <code>-XSLTC</code> if you want to transform with XSLTC. Please 
refer to 
  +      <p>Use <code>-XSLTC</code> if you want to transform with 
&xslt4jc-short;. Refer to 
         <link idref="commandline_xsltc">this document</link> for a detailed 
description on
  -      the XSLTC related options.</p>
  +      &xslt4jc-short; related options.</p>
         <p>Use <code>-IN</code> to specify the XML source document.</p> 
         <p>Use <code>-XSL</code> to specify the XSL stylesheet file.</p>
         <p>Use <code>-TEXT</code> if you want the output to include only 
element values (not element tags with element names and
  
  
  
  1.17      +145 -118  xml-xalan/java/xdocs/sources/xalan/overview.xml
  
  Index: overview.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/overview.xml,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- overview.xml      27 Jan 2003 18:45:36 -0000      1.16
  +++ overview.xml      21 Feb 2003 20:10:07 -0000      1.17
  @@ -65,25 +65,26 @@
   <li><link anchor="towork">Getting to work with &xslt4j;</link></li>
   <li><link anchor="uptospeed">Getting up to speed with XSLT</link></li>
   <li><link anchor="glossary">Glossary</link></li>
  -</ul><anchor name="intro"/>
  -  <s2 title="Introduction">
  -    <p>&xslt4j; (named after a rare musical instrument) fully implements 
<resource-ref idref="xslt"/> and the 
  -    <resource-ref idref="xpath"/>. XSLT is the first part of the XSL 
stylesheet language for XML. It includes the XSL
  -     Transformation vocabulary and XPath, a language for addressing parts of 
XML documents. For links to background materials, 
  -    discussion groups, frequently asked questions, and tutorials on XSLT, 
see <link anchor="uptospeed">Getting up
  -    to speed with XSLT</link>.</p> 
  -    <note>XSL also includes a vocabulary for formatting documents, which is 
not part of &xslt4j;. 
  -    For more information, see <resource-ref idref="xsl"/> and the <jump
  -    href="http://xml.apache.org/fop";>Apache XML FOP (Formatting Objects 
Project)</jump>.</note>
  -    <p>You use the XSLT language to compose XSL stylesheets. An XSL 
stylesheet contains instructions for
  -     transforming XML documents from one document type into another document 
type (XML, HTML, or other). In structural
  -     terms, an XSL stylesheet specifies the transformation of one tree of 
nodes (the XML input) into another tree of nodes 
  -     (the output or transformation result).</p>
  -    <note>The XSL stylesheet may generate and refer to cascading style 
sheets (<jump
  -    href="http://www.w3.org/Style/CSS/";>CSS</jump>) as part of its 
output.</note> 
  -    <p>In the following example, the foo.xsl stylesheet is used to transform 
foo.xml into foo.out:</p>
  -    <p>foo.xml:</p>
  -        <source>&lt;?xml version="1.0"?>
  +</ul>
  +<anchor name="intro"/>
  +<s2 title="Introduction">
  +<p>&xslt4j; (named after a rare musical instrument) fully implements 
<resource-ref idref="xslt"/> 
  +   and the <resource-ref idref="xpath"/>. XSLT is the first part of the XSL 
stylesheet language for 
  +   XML. It includes the XSL Transformation vocabulary and XPath, a language 
for addressing parts of 
  +   XML documents. For links to background materials, discussion groups, 
frequently asked questions, 
  +   and tutorials on XSLT, see <link anchor="uptospeed">Getting up to speed 
with XSLT</link>.</p> 
  +<note>XSL also includes a vocabulary for formatting documents, which is not 
part of &xslt4j;. 
  +      For more information, see <resource-ref idref="xsl"/> and the <jump
  +      href="http://xml.apache.org/fop";>Apache XML FOP (Formatting Objects 
Project)</jump>.</note>
  +<p>You use the XSLT language to compose XSL stylesheets. An XSL stylesheet 
contains instructions 
  +   for transforming XML documents from one document type into another 
document type (XML, HTML, 
  +   or other). In structural terms, an XSL stylesheet specifies the 
transformation of one tree of 
  +   nodes (the XML input) into another tree of nodes (the output or 
transformation result).</p>
  +<note>The XSL stylesheet may generate and refer to cascading style sheets 
(<jump
  +      href="http://www.w3.org/Style/CSS/";>CSS</jump>) as part of its 
output.</note> 
  +<p>In the following example, the foo.xsl stylesheet is used to transform 
foo.xml into foo.out:</p>
  +<p>foo.xml:</p>
  +<source>&lt;?xml version="1.0"?>
   &lt;doc>Hello&lt;/doc></source>
           <p>foo.xsl:</p>
           <source>&lt;?xml version="1.0"?> 
  @@ -94,111 +95,137 @@
   &lt;/xsl:stylesheet></source>
   <p>foo.out:</p>
   <source>&lt;out>Hello&lt;/out></source>
  -<p>By default, &xslt4j; uses &xml4j;, and it may be configured with system 
properties to work with other XML parsers (see <link idref="usagepatterns" 
anchor="plug">Plugging in a Transformer and XML parser</link>). The input may 
be submitted in the form of a stream of XML markup (from a URI, a character or 
byte stream, or another transformation), a SAX InputStream, or a DOM Node.</p>
  -<p>&xslt4j; performs the transformations specified in the XSL stylesheet and 
packages a sequence of SAX events that may be serialized to an output stream or 
writer, used to build a DOM tree, or forwarded as input to another 
transformation.</p>
  -      </s2><anchor name="features"/>
  -       <s2 title="&xslt4j; Features">
  -         <ul> 
  -                 <li>Implements the relevant W3C specifications: 
<resource-ref idref="xslt"/> and <resource-ref idref="xpath"/>.<br/><br/></li>
  -        <li>Implements <link idref="trax">TRaX (Transformation API for 
XML)</link>, now part of <resource-ref idref="jaxp"/>, and builds on
  -         <resource-ref idref="sax2"/> and <resource-ref 
idref="dom2"/>.<br/><br/></li>
  -       <li>May be configured to work with any XML parser, such
  -        <jump 
href="http://xml.apache.org/xerces-j/index.html";>&xml4j;</jump>, that 
implements <resource-ref
  -        idref="jaxp"/> (see <link idref="usagepatterns" 
anchor="plug">Plugging in an XML
  -         parser</link>).<br/><br/></li>
  -       <li>Can process Stream, SAX or DOM input, and output to a Stream, SAX 
or DOM.<br/><br/></li>
  -        <li>Transformations may be chained (the output of one transformation 
may be the input for
  -         another).<br/><br/></li>
  -        <li>May be run from the <link idref="commandline">command 
line</link> for convenient file-to-file
  -            transformations.<br/><br/></li>
  -       <li>Includes an <link idref="usagepatterns" anchor="applet">applet 
wrapper</link>.<br/><br/></li>
  -        <li>May be used in a <link idref="samples" 
anchor="servlet">servlet</link> to transform XML documents into
  -        HTML and serve the results to clients.<br/><br/></li>
  -        <li>Supports the creation of <link idref="extensions">Java and 
scripting language extensions</link>. and
  -         provides a growing library of extension elements and functions.</li>
  -         </ul> 
  -       </s2><anchor name="towork"/>
  -    <s2 title="Getting to work with &xslt4j;">
  -     <p>For instructions and some suggestions about how to get started using 
&xslt4j;, see 
  -     <link idref="getstarted">Getting Started</link>.</p>
  -    </s2><anchor name="uptospeed"/>
  -    <s2 title="Getting up to speed with XSLT">
  -    <p>If you are still working through the details of the XSLT spec (the 
W3C 1.0 Recommendation), you may want 
  -    to consult one or more of the following:</p>
  -    <ul>
  -        <li>XSLT - XSL Transformations in 
  -        <jump href="http://www.brics.dk/~amoeller/XML/";>The XML Revolution: 
Technologies for the future Web</jump> by
  -        Anders M&oslash;ller and Michael I. Schwartzbach (Web pages, but 
designed for sequential reading)</li>
  -        <li>Crane Softwright's <jump 
href="http://www.CraneSoftwrights.com/training/";>Free preview of Practical
  -         Transformation Using XSLT and XPath</jump><br/><br/></li>
  -       <li>Doug Tidwell's <jump 
href="http://www.oreilly.com/catalog/xslt/";>XSLT</jump>, O'Reilly, 
2001<br/><br/></li>                 
  -       <li>Bob Ducharme's <jump 
href="http://www.manning.com/ducharme/index.html";>XSLT Quickly</jump>, Manning 
Publications,
  -        2001<br/><br/></li>                 
  -       <li>John Robert Gardner and Zarella Rendon's 
  -       <jump 
href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130404462,00.html";>XSLT
 and XPath: A Guide to
  -        Transformations</jump>, Prentice-Hall, 2001<br/><br/></li>           
      
  -       <li>Michael Kay's <jump 
href="http://www.wrox.com/Books/Book_Details.asp?ISBN=1861005067";>XSLT 
Programmer's
  -       Reference</jump>, 2nd ed., Wrox Press, 2001<br/><br/></li>
  -       <li>Steven Holzner's <jump 
href="http://www.newriders.com/books/title.cfm?isbn=0735711364";>Inside 
XSLT</jump>, 
  -       New Riders, 2001<br/><br/></li>                 
  -       <li>Neil Bradley's <jump 
href="http://www.awlonline.com/product/0,2627,0201674874,00.html";>XSL 
Companion</jump>,
  -        Addison-Wesley, 2000<br/><br/></li>                 
  -       <li>Khun Yee Fung's <jump 
href="http://www.awlonline.com/product/0,2627,0201711036,00.html";>XSLT: Working 
with XML and
  -        HTML</jump>, Addison-Wesley, 2001<br/><br/></li>                 
  -        <li>Dave Pawson's <resource-ref idref="dpawsonxslfaq"/> to search 
out particular answers and techniques<br/><br/></li>
  -         <li>Miloslav Nic's <jump 
href="http://zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/index.html";>XSL 
Tutorial</jump>,
  -         a collection of stylesheet examples<br/><br/></li>
  -        <li>Elliotte Rusty Harold's <jump 
href="http://metalab.unc.edu/xml/books/bible/updates/14.html";>Chapter 14 of 
  -        the XML Bible: XSL Transformations</jump><br/><br/></li>
  -        <li>The Mulberry <jump 
href="http://www.mulberrytech.com/xsl/xsl-list/";>XSL-List -- Open Forum on 
XSL</jump> 
  -        (of interest to XSL users at all levels)<br/><br/></li>
  -        <li>Objects by Design's <jump 
href="http://www.objectsbydesign.com/projects/xmi_to_html.html";>Transforming 
XMI to
  -         HTML</jump> (oriented towards XMI, "an XML-based, stream 
representation of a UML model," but also covers "generic"
  -         XML transformations) and their related <jump 
href="http://objectsbydesign.com/projects/xslt/xslt_by_example.html";>XSLT
  -         by Example</jump><br/><br/></li>         
  -         <li>OASIS (the Organization for the Advancement of Structured 
Information Standards): 
  -         <jump href="http://www.oasis-open.org/cover/xsl.html";>Extensible 
Stylesheet Language (XSL)</jump> by Robin
  -         Cover<br/><br/></li>
  -         <li>Donald Ball's <jump 
href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml";>A Guide to XML 
and XSL for
  -         Designers</jump><br/><br/></li>         
  -    </ul>
  -    <p>When you come across other useful introductory or background 
materials, please email <human-resource-ref
  -     idref="xalandev"/>, so we can add them to this list.</p>
  +<p>By default, &xslt4j; uses &xml4j;, and it may be configured with system 
properties to work with 
  +   other XML parsers (see <link idref="usagepatterns" anchor="plug">Plugging 
in a Transformer and 
  +   XML parser</link>). The input may be submitted in the form of a stream of 
XML markup (from a URI, 
  +   a character or byte stream, or another transformation), a SAX 
InputStream, or a DOM Node.</p>
  +<p>&xslt4j; performs the transformations specified in the XSL stylesheet and 
packages a sequence of 
  +   SAX events that may be serialized to an output stream or writer, used to 
build a DOM tree, or 
  +   forwarded as input to another transformation.</p>
  +</s2>
  +
  +<anchor name="features"/>
  +<s2 title="&xslt4j; Features">
  +<ul> 
  +  <li>Includes an Interpretive processor for use in a tooling and debugging 
environment and 
  +      a Compiling processor (XSLTC) for use in a high performance runtime 
environment.<br/><br/></li>
  +  <li>Implements the relevant W3C specifications: <resource-ref 
idref="xslt"/> and 
  +      <resource-ref idref="xpath"/>.<br/><br/></li>
  +  <li>Implements <link idref="trax">TRaX (Transformation API for 
XML)</link>, now part of 
  +      <resource-ref idref="jaxp12"/>, and builds on <resource-ref 
idref="sax2"/> and 
  +      <resource-ref idref="dom2"/>.<br/><br/></li>
  +  <li>May be configured to work with any XML parser, such
  +      <jump href="http://xml.apache.org/xerces-j/index.html";>&xml4j;</jump>, 
that implements 
  +      <resource-ref idref="jaxp12"/> (see <link idref="usagepatterns" 
anchor="plug">Plugging in an XML
  +      parser</link>).<br/><br/></li>
  +  <li>Can process Stream, SAX or DOM input, and output to a Stream, SAX or 
DOM.<br/><br/></li>
  +  <li>Transformations may be chained (the output of one transformation may 
be the input for
  +      another).<br/><br/></li>
  +  <li>May be run from the <link idref="commandline">command line</link> for 
convenient file-to-file
  +      transformations.<br/><br/></li>
  +  <li>Includes an <link idref="usagepatterns" anchor="applet">applet 
wrapper</link>.<br/><br/></li>
  +  <li>May be used in a <link idref="samples" anchor="servlet">servlet</link> 
to transform XML documents 
  +      into HTML and serve the results to clients.<br/><br/></li>
  +  <li>Supports the creation of <link idref="extensions">Java and scripting 
language extensions</link>. 
  +      and provides a growing library of extension elements and 
functions.</li>
  +</ul> 
  +</s2>
  +
  +<anchor name="towork"/>
  +<s2 title="Getting to work with &xslt4j;">
  +<p>For instructions and some suggestions about how to get started using the 
XSLT Interpretive
  +   processor, see <link idref="getstarted">Getting Started with Interpretive 
Processing</link>.</p>
  +<p>For instructions and some suggestions about how to get started using the 
XSLT Compiling
  +   processor, see <link idref="xsltc_usage">Getting Started with 
XSLTC</link>.</p>   
  +</s2>
  +
  +<anchor name="uptospeed"/>
  +<s2 title="Getting up to speed with XSLT">
  +<p>If you are still working through the details of the XSLT spec (the W3C 
1.0 Recommendation), you 
  +   may want to consult one or more of the following:</p>
  +<ul>
  +  <li>XSLT - XSL Transformations in 
  +      <jump href="http://www.brics.dk/~amoeller/XML/";>
  +      The XML Revolution: Technologies for the future Web</jump> by Anders 
M&oslash;ller and Michael 
  +      I. Schwartzbach (Web pages, but designed for sequential reading)</li>
  +  <li>Crane Softwright's <jump 
href="http://www.CraneSoftwrights.com/training/";>Free preview of 
  +      Practical Transformation Using XSLT and XPath</jump><br/><br/></li>
  +  <li>Doug Tidwell's <jump 
href="http://www.oreilly.com/catalog/xslt/";>XSLT</jump>, O'Reilly, 2001
  +      <br/><br/></li>                 
  +  <li>Bob Ducharme's <jump 
href="http://www.manning.com/ducharme/index.html";>XSLT Quickly</jump>, 
  +      Manning Publications, 2001<br/><br/></li>                 
  +  <li>John Robert Gardner and Zarella Rendon's 
  +      <jump 
href="http://vig.prenhall.com/catalog/academic/product/1,4096,0130404462,00.html";>XSLT
 
  +      and XPath: A Guide to Transformations</jump>, Prentice-Hall, 
2001<br/><br/></li>                 
  +  <li>Michael Kay's <jump 
href="http://www.wrox.com/Books/Book_Details.asp?ISBN=1861005067";>XSLT 
  +      Programmer's Reference</jump>, 2nd ed., Wrox Press, 2001<br/><br/></li>
  +  <li>Steven Holzner's <jump 
href="http://www.newriders.com/books/title.cfm?isbn=0735711364";>Inside 
  +      XSLT</jump>, New Riders, 2001<br/><br/></li>                 
  +  <li>Neil Bradley's <jump 
href="http://www.awlonline.com/product/0,2627,0201674874,00.html";>XSL 
  +      Companion</jump>, Addison-Wesley, 2000<br/><br/></li>                 
  +  <li>Khun Yee Fung's <jump 
href="http://www.awlonline.com/product/0,2627,0201711036,00.html";>XSLT: 
  +      Working with XML and HTML</jump>, Addison-Wesley, 2001<br/><br/></li>  
               
  +  <li>Dave Pawson's <resource-ref idref="dpawsonxslfaq"/> to search out 
particular answers and 
  +      techniques<br/><br/></li>
  +  <li>Miloslav Nic's <jump 
href="http://zvon.vscht.cz/HTMLonly/XSLTutorial/Books/Book1/index.html";>XSL 
  +      Tutorial</jump>, a collection of stylesheet examples<br/><br/></li>
  +  <li>Elliotte Rusty Harold's <jump 
href="http://metalab.unc.edu/xml/books/bible/updates/14.html";>
  +      Chapter 14 of the XML Bible: XSL Transformations</jump><br/><br/></li>
  +  <li>The Mulberry <jump 
href="http://www.mulberrytech.com/xsl/xsl-list/";>XSL-List -- Open Forum on 
  +      XSL</jump> (of interest to XSL users at all levels)<br/><br/></li>
  +  <li>Objects by Design's <jump 
href="http://www.objectsbydesign.com/projects/xmi_to_html.html";>
  +      Transforming XMI to HTML</jump> (oriented towards XMI, "an XML-based, 
stream representation 
  +      of a UML model," but also covers "generic" XML transformations) and 
their related 
  +      <jump 
href="http://objectsbydesign.com/projects/xslt/xslt_by_example.html";>XSLT by 
Example</jump>
  +      <br/><br/></li>         
  +  <li>OASIS (the Organization for the Advancement of Structured Information 
Standards): 
  +      <jump href="http://www.oasis-open.org/cover/xsl.html";>Extensible 
Stylesheet Language (XSL)</jump> 
  +      by Robin Cover<br/><br/></li>
  +  <li>Donald Ball's <jump 
href="http://www.webslingerZ.com/balld/xsl/designer_manual.xml";>A Guide to 
  +      XML and XSL for Designers</jump><br/><br/></li>         
  +</ul>
  +<p>When you come across other useful introductory or background materials, 
please email 
  +   <human-resource-ref idref="xalandev"/>, so we can add them to this 
list.</p>
       
  -    </s2><anchor name="glossary"/>
  -    <s2 title="Glossary">
  -      <gloss>
  -        <label>XSLT Namespace</label>
  -        <item>The <jump href="http://www.w3.org/TR/REC-xml-names/";>XML 
namespace</jump> for XSLT. An XML namespace is a 
  -        collection of element and attribute names, identified by a Unique 
Resource Identifier (URI), which often takes the form of
  -        a URL, but is really just a unique string, not a pointer to a web 
page. The XSLT namespace URI is
  -        http://www.w3.org/1999/XSL/Transform. In each XSLT stylesheet, you 
must declare this namespace in the stylesheet element
  -        tag and bind it to a local prefix. Like the XSLT specification, we 
always use xsl as the XSLT namespace prefix in our
  -        descriptions and examples, although you are free to bind any prefix 
to this namespace.<br/><br/></item>
  +</s2><anchor name="glossary"/>
  +<s2 title="Glossary">
  +<gloss>
  +  <label>XSLT Namespace</label>
  +  <item>The <jump href="http://www.w3.org/TR/REC-xml-names/";>XML 
namespace</jump> for XSLT. An XML 
  +        namespace is a collection of element and attribute names, identified 
by a Unique Resource 
  +        Identifier (URI), which often takes the form of a URL, but is really 
just a unique string, 
  +        not a pointer to a web page. The XSLT namespace URI is 
http://www.w3.org/1999/XSL/Transform. 
  +        In each XSLT stylesheet, you must declare this namespace in the 
stylesheet element tag and 
  +        bind it to a local prefix. Like the XSLT specification, we always 
use xsl as the XSLT 
  +        namespace prefix in our descriptions and examples, although you are 
free to bind any prefix 
  +        to this namespace.<br/><br/></item>
           
  -        <label>XSL Instruction</label>
  -        <item>Any tag associated with the XSLT namespace.<br/><br/></item>
  +  <label>XSL Instruction</label>
  +  <item>Any tag associated with the XSLT namespace.<br/><br/></item>
           
  -        <label>Template</label>
  -        <item>An element, usually with child elements, that specifies a 
"rule" or set of 
  -        instructions to perform when a particular kind of node is 
encountered in the source tree.<br/><br/></item>
  +  <label>Template</label>
  +  <item>An element, usually with child elements, that specifies a "rule" or 
set of 
  +        instructions to perform when a particular kind of node is 
encountered in the source 
  +        tree.<br/><br/></item>
                   
  -        <label>XSL Template Instruction</label>
  -        <item>Any tag that occurs inside an xsl:template element and is 
associated with the XSLT namespace.<br/><br/></item>
  +  <label>XSL Template Instruction</label>
  +  <item>Any tag that occurs inside an xsl:template element and is associated 
with the XSLT 
  +        namespace.<br/><br/></item>
                      
  -        <label>Source Tree</label>
  -        <item>The XML tree input to the XSL process.<br/><br/></item>
  +  <label>Source Tree</label>
  +  <item>The XML tree input to the XSL process.<br/><br/></item>
           
  -        <label>Result Tree</label>
  -        <item>The tree that is output by the XSL process.<br/><br/></item>
  +  <label>Result Tree</label>
  +  <item>The tree that is output by the XSL process.<br/><br/></item>
                   
  -        <label>Match Pattern</label>
  -        <item>The part of a template that defines the kind(s) of nodes to 
which the template applies.<br/><br/></item>
  +  <label>Match Pattern</label>
  +  <item>The part of a template that defines the kind(s) of nodes to which 
the template 
  +        applies.<br/><br/></item>
   
  -      </gloss>
  -      <p>For more definitions of XSLT terminology, see Dave Pawson's 
  -      <jump href="http://www.dpawson.co.uk/xsl/vocab.html";>XSLT Terminology
  -      Clarification</jump> and the Glossary in Michael Kay's 
  -      <jump 
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129";>XSLT 
Programmer's Reference</jump>.</p>
  -    </s2>
  +</gloss>
  +<p>For more definitions of XSLT terminology, see Dave Pawson's 
  +   <jump href="http://www.dpawson.co.uk/xsl/vocab.html";>XSLT Terminology
  +   Clarification</jump> and the Glossary in Michael Kay's 
  +   <jump 
href="http://www.wrox.com/Consumer/Store/Details.asp?ISBN=1861003129";>XSLT 
Programmer's Reference</jump>.</p>
  +</s2>
   </s1> 
  
  
  
  1.52      +51 -34    xml-xalan/java/xdocs/sources/xalan/samples.xml
  
  Index: samples.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/samples.xml,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- samples.xml       20 Feb 2003 18:49:17 -0000      1.51
  +++ samples.xml       21 Feb 2003 20:10:08 -0000      1.52
  @@ -56,7 +56,9 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    -->
  -<s1 title="&xslt4j2; Samples">
  +<s1 title="&xslt4j; Samples">
  +
  +<p>&xslt4ji; samples:</p>
   <ul>
   <li><link anchor="simpletransform">SimpleTransform</link></li>
   <li><link anchor="usestylesheetpi">UseStylesheetPI</link></li>
  @@ -68,28 +70,51 @@
   <li><link anchor="applyxpath">ApplyXPath</link></li>
   <li><link anchor="applyxpathdom">ApplyXPathDOM</link></li>
   <li><link anchor="appletxmltohtml">AppletXMLtoHTML</link></li>
  -<li><link anchor="servlet">servlet</link></li>
   <li><link anchor="extensions">Extensions</link></li>
   <li><link anchor="trace">Trace</link></li>
   <li><link anchor="validate">Validate</link></li>
  -<li><link anchor="trax">trax</link></li>&xsltcsampleshead;
  -</ul>  
  -       <s2 title="Samples to help you get started">
  -    <p>Each of the subdirectories in the &xslt4j; java/samples directory 
contains the source files for one or more
  -     sample applications. The class files for the samples are in 
xalansamples.jar (everything except the servlet) and xalanservlet.jar, so to 
run the samples, you should place these JAR files on the system classpath.</p>
  -     <p>With most of the samples, you can use the following procedure:</p>
  -     <ol>
  -     <li>Be sure xalan.jar, xml-apis.jar, xalansamples.jar, and &xml4j-jar; 
are on the system class
  -      path. For the extension examples, bsf.jar and (for the JavaScript 
extensions) js.jar must also be on the class
  -      path.</li>
  -     <li>Be sure the java executable is on your path.</li>
  -     <li>Go to the samples subdirectory containing the sample (use the DOS 
shell if you are running Windows).</li>
  -     <li>Run the sample from the command line (as indicated below).</li>
  -    <li>Examine the application source files. You may also want to modify 
the source files. Remember that if you
  -     modify a java file, you must recompile the class and place it on the 
classpath before you can run the
  -     modified application.</li>
  -     </ol>      
  -    <p>The basic command line for running most of the samples is </p> 
  +<li><link anchor="trax">trax</link></li>
  +</ul>
  +<p>&xslt4ji; servlet samples:</p>
  +<ul>
  +<li><link anchor="servlet">servlet</link></li>
  +</ul>
  +<p>&xslt4jc-long; samples:</p>
  +<ul>
  +&xsltcsampleshead;
  +</ul>
  +<s2 title="Samples to help you get started">
  +<p>Each of the subdirectories in the &xslt4j; java/samples directory
  +   contains the source files for one or more sample applications.  The class
  +   files for the samples are in the following jar files:</p>
  +<table>
  +<tr>
  +  <th>JAR file</th>
  +  <th>Content</th>
  +</tr>
  +<tr>
  +  <td>xalansamples.jar</td>
  +  <td>Everything except the &xslt4ji; servlet sample and some
  +      &xslt4jc-short; samples</td>
  +</tr>
  +<tr>
  +  <td>xalanservlet.jar</td>
  +  <td>&xslt4ji; servlet sample</td>
  +</tr>
  +</table>
  +<p>With most of the samples, you can use the following procedure:</p>
  + <ol>
  +   <li>Be sure xalan.jar, xml-apis.jar, the appropriate samples JAR file, 
and &xml4j-jar; are on the system class
  +       path. For the extension examples, bsf.jar and (for the JavaScript 
extensions) js.jar must also be on the class
  +       path.</li>
  +   <li>Be sure the java executable is on your path.</li>
  +   <li>Go to the samples subdirectory containing the sample (use the DOS 
shell if you are running Windows).</li>
  +   <li>Run the sample from the command line (as indicated below).</li>
  +   <li>Examine the application source files. You may also want to modify the 
source files. Remember that if you
  +       modify a java file, you must recompile the class and place it on the 
classpath before you can run the
  +       modified application.</li>
  + </ol>      
  +<p>The basic command line for running most of the samples is </p> 
       <p><code>java <ref>classname args</ref></code></p>
       <p>where <ref>classname</ref> is the sample class and <ref>args</ref> 
are the arguments, if any. As described in
        the following sections, some samples take no arguments. The 
UseStylesheetParam sample takes an
  @@ -165,16 +190,6 @@
       <p>and</p>
       <p><code>java ApplyXPath foo.xml /doc/name/@first</code></p>
       <p>For more information, see <link idref="usagepatterns" 
anchor="xpath">Working with XPath expressions</link>.</p>
  -    </s2><anchor name="appletxmltohtml"/>
  -    <s2 title="AppletXMLtoHTML">
  -    <p>The applet uses a stylesheet to transform an XML document into HTML. 
It displays the XML document, the
  -     stylesheet, and the HTML output.</p>
  -    <p>How to run it: Open appletXMLtoHTML.hmtl in the Internet Explorer 5 
browser.</p>
  -    <note>For information about running &xslt4j; applets in Netscape 
Communicator, see <link idref="usagepatterns" anchor="netscape">Problems
  -    with Netscape</link>.<br/><br/>
  -    This applet looks for xalan.jar, xml-apis.jar, and xercesImpl.jar 
(Xerces-J2) or xerces.jar (Xerces-J 1) in the bin 
  -    subdirectory. If you have placed these JAR files
  -    elsewhere, adjust the applet archive setting in client.html 
accordingly.</note>
       </s2><anchor name="applyxpathdom"/>
       <s2 title="ApplyXPathDOM">
       <p>What it does: ApplyXPathDOM is very similar to the <link 
anchor="applyxpath">ApplyXPath</link> sample, but it uses the API 
  @@ -214,7 +229,7 @@
       Copy the xalanservlet.war to %Tomcat_Home%/webapps. For more detail 
about deploying
       servlet on Tomcat, please refer to <jump 
href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/appdev/deployment.html";>Deployment
 Organization</jump>.</p>
       <note>Dependency on Tomcat version. If encountering 
"java.lang.VerifyError: Cannot inherit from final class" error, 
  -    replace XercesImpl.jar under %Tomcat_Home%/common/endorsed with the one 
included with &xslt4j; .</note>
  +    replace xercesImpl.jar under %Tomcat_Home%/common/endorsed with the one 
included with &xslt4j; .</note>
       <p><link anchor="simplexsltservlet">servlet.SimpleXSLTServlet</link> 
applies a particular stylesheet to a particular 
       XML document.</p> 
       <p><link 
anchor="usestylesheetparamservlet">servlet.UseStylesheetParamServlet</link> 
sets a stylesheet parameter 
  @@ -318,8 +333,10 @@
        </s2><anchor name="extensions"/>
       <s2 title="Extensions">
       <p>For an introduction to the creation and use of extension elements and 
extension functions, and
  -    for information about the extensions library distributed with &xslt4j;, 
see
  -    <link idref="extensions">Extensions</link>.</p>
  +    for information about the extensions library distributed with the 
&xslt4j; Interpretive processor, 
  +    see <link idref="extensions">Extensions</link>. Extensions are also 
supported for the &xslt4j; 
  +    Compiling processor (XSLTC), however no samples exist at this time.  See 
  +    <link idref="extensions_xsltc">Extensions for XSLTC</link>.</p>
       <ul>
         <li><link anchor="ext1">1-redir</link></li>
         <li><link anchor="ext2">2-basicJscript</link></li>
  @@ -328,7 +345,7 @@
         <li><link anchor="ext5">5-numlistJScript</link></li>
         <li><link anchor="sql">SQL library extensions</link></li>
       </ul>
  -    <p>The extensions subdirectory contains six samples with &xslt4j; 
extensions. Two of the samples use
  +    <p>The extensions subdirectory contains six samples with &xslt4j; 
Interpretive extensions. Two of the samples use
        extensions implemented in JavaScript, and four of the samples use 
extensions implemented in Java.</p>
        <p>To run these examples, you must place bsf.jar (distributed with 
&xslt4j;), and js.jar
         (version 1.5, available from 
  
  
  
  1.52      +106 -56   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.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- index.xml 27 Jan 2003 18:45:36 -0000      1.51
  +++ index.xml 21 Feb 2003 20:10:08 -0000      1.52
  @@ -1,6 +1,6 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "../../style/dtd/document.dtd">
  -<!-- 
  +<!--
    * The Apache Software License, Version 1.1
    *
    *
  @@ -57,59 +57,109 @@
    * <http://www.apache.org/>.
    -->
   <s1 title="&xslt4j-current;">
  -<!--note>A later Developer release has been posted in the <resource-ref 
idref="xslt4j-distdir"/>. For the changes that have occurred since 
&xslt4j-current;, consult the [EMAIL PROTECTED] mailing list, or download the 
release and consult the release notes.</note-->
  -  <s2 title="What is it?">
  -    <p>&xslt4j; is an XSLT processor for transforming XML documents into 
HTML, text, or other XML document types. It implements the
  -     W3C Recommendations for XSL Transformations (XSLT) and the XML Path 
Language (XPath). It can be used from the command line,
  -     in an applet or a servlet, or as a module in other program.</p>
  -  </s2>
  -  <s2 title="I've heard of &xslt4j;, but what is version 2?">
  -    <p>&xslt4j; version 2 recasts &xslt; as an implementation of the <link 
idref="trax">TRaX (Transformation API for XML)</link> interfaces, part of the 
<resource-ref idref="jaxp11"/>. TRaX provides a
  -    modular framework and a standard API for performing XML transformations, 
and it utilizes system properties to determine which Transformer and which XML 
parser to use.</p>
  -     <p>&xslt4j; version 2 also builds on <resource-ref idref="sax2"/>, 
<resource-ref idref="dom2"/>, and the XML parser API in
  -     <resource-ref idref="jaxp"/>.</p>
  -     <p>For more information, see <link idref="whatsnew">What's new in 
&xslt4j2;</link>.</p>
  -     <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 that -->
  -  works with &xml4j; version 2.  The distribution includes xercesImpl.jar 
from &xml4j-used;. &xslt4j-current; is also
  -  compatible with &xml4j; version 1.</p>
  -  <p>Support for the &xslt4j; release 1 API, which predates the design of 
the JAXP 1.1/TrAX interfaces, has been dropped.</p>
  -  <p>The &xslt4j; implementation is in xalan.jar. The SAX, DOM, and JAVAX 
interfaces are in xml-apis.jar. These interfaces are shared by a 
  -  number of tools (&xslt4j;, &xml4j;, etc.), so placing them in a separate 
JAR simplifies coordination and reduces risk of duplication. 
  -  <em>Be sure to put both JAR files (and xercesImpl.jar or another JAXP 
1.1-compliant XML parser) on your classpath!</em></p>
  -  <p>&xslt4j-current; also introduces support for <link 
idref="extensionslib" anchor="exslt">EXSLT extensions </link>.</p>
  -  </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>
  -    <ul>
  -      <li><resource-ref idref="xslt4j-dist-bin-zip"/></li>
  -      <li><resource-ref idref="xslt4j-dist-bin-targz"/></li>
  -    </ul>
  -    <p>To get the &xslt4j; sources (with which you can do your own &xslt4j; 
build; see <link idref="readme" anchor="build">Build notes</link>), download 
and unzip either of the following:</p>
  -    <ul>
  -      <li><resource-ref idref="xslt4j-dist-src-zip"/></li>
  -      <li><resource-ref idref="xslt4j-dist-src-targz"/></li>
  -    </ul>
  -    <p>To access previous releases, see the <resource-ref 
idref="xslt4j-distdir-previous"/>.</p>
  -  </s2>
  +<ul>
  +  <li><link anchor="whatisit">What is it?</link></li>
  +  <li><link anchor="current">How about this release?</link></li>
  +  <li><link anchor="moreinfo">For more information...</link></li>      
  +  <li><link anchor="license">License</link></li>        
  +</ul>
  +<!--note>A later Developer release has been posted in the <resource-ref 
idref="xslt4j-distdir"/>. 
  +         For the changes that have occurred since &xslt4j-current;, consult 
the [EMAIL PROTECTED] 
  +         mailing list, or download the release and consult the release 
notes.</note-->
  +         
  +<anchor name="whatisit"/>
  +<s2 title="What is it?">
  +    <p>&xslt4j; is an XSLT processor for transforming XML documents into 
  +       HTML, text, or other XML document types. It implements <resource-ref 
idref="xslt"/> and 
  +       <resource-ref idref="xpath"/>.  It can be used from the command line, 
in an applet or a 
  +       servlet, or as a module in other program.</p>
  +    <p>&xslt4j; recasts &xslt; as an implementation of the <link 
idref="trax">
  +       Transformation API for XML (TRaX)</link> interfaces, part of the 
<resource-ref idref="jaxp12"/>. 
  +       TRaX provides a  modular framework and a standard API for performing 
XML transformations, and
  +       it utilizes system properties to determine which Transformer and 
which XML parser to use.</p>
  +    <p>&xslt4j; also builds on <resource-ref idref="sax2"/> and 
<resource-ref idref="dom2"/>.</p>
     
  -  <s2 title="Where do I get Xerces?">
  -    <p>The &xslt4j; download includes &xml4j-jar; from &xml4j-used;. In 
conjunction with xml-apis.jar, this is all you need to run &xslt4j; with 
  -    the &xml4j; XML parser. You can, however, download the complete &xml4j; 
binary or source distribution from the 
  -    <resource-ref idref="xml4j-distdir"/>.</p>
  -    <note>If you plan to use a different XML parser, see <link 
idref="usagepatterns" anchor="plug">Plugging in a Transformer
  -     and XML parser</link>.</note> 
  -  </s2>
  -  <s2 title="What else do I need?">
  -    <p>You need the Java Development Kit or Java Runtime 1.2.2, or 1.3.x, 
which you can obtain from <jump
  -    href="http://www.ibm.com/java/jdk";>ibm.com/java/jdk/</jump> or <jump 
href="http://www.java.sun.com";>java.sun.com</jump>.</p> 
  -  </s2>  
  -    <s2 title="For more information...">
  -    <p>For more information, go to <link idref="overview">&xslt4j; 
Overview</link> and <link idref="getstarted">Getting
  -    Started</link>. All of the &xslt4j; documentation on this website is 
included in the &xslt4j; download, as are a number of
  -    <link idref="samples">Samples</link> to help you start using &xslt4j2; 
to transform XML documents.</p>
  -  </s2>  
  -</s1> 
  \ No newline at end of file
  +    <p>For more information, see <link idref="whatsnew">What's new in 
&xslt4j2;</link>.</p>
  +    <note>&xslt4j; version 1 is no longer supported and no longer available 
from xml.apache.org.</note>
  +</s2>
  +
  +<anchor name="current"/>
  +<s2 title="How about this release?">
  +  <p>&xslt4j-current; is a developer release that works with &xml4j;.  The 
distribution includes 
  +     xercesImpl.jar from &xml4j-used;.</p>
  +  <p>Support for the &xslt4j; release 1 API, which predates the design of 
the JAXP 1.2/TrAX interfaces, 
  +     has been dropped.</p>
  +  <p>The &xslt4j; implementation is in xalan.jar. The SAX, DOM, and JAVAX 
interfaces are in xml-apis.jar. 
  +     These interfaces are shared by a number of tools (&xslt4j;, &xml4j;, 
etc.), so placing them in a 
  +     separate JAR simplifies coordination and reduces risk of duplication. 
  +  <em>Be sure to put both JAR files (and xercesImpl.jar or another JAXP 
1.2-compliant XML parser) on 
  +  your classpath!</em></p>
  +</s2> 
  +
  +<anchor name="moreinfo"/>  
  +<s2 title="For more information...">
  +  <p>For more information, go to <link idref="overview">&xslt4j; 
Overview</link>, 
  +   <link idref="downloads">&xslt4j; Downloads</link>, <link 
idref="getstarted">Getting Started
  +   with Interpretive Processing</link> and <link idref="xsltc_usage">Getting 
Started with &xslt4jc-short;</link>.
  +   All of the &xslt4j; documentation on this website is included in the 
&xslt4j; download, as are a number of
  +   <link idref="samples">Samples</link> to help you start using &xslt4j; to 
transform XML documents.</p>
  +</s2>
  +
  +<anchor name="license"/>
  +<s2 title="The Apache Software License, Version 1.1">
  +  <p>Copyright (c) 1999-2003 The Apache Software Foundation.  All rights 
reserved.</p>
  +
  +  <p>Redistribution and use in source and binary forms, with or without 
modification, are 
  +     permitted provided that the following conditions are met:</p>
  +  <ol>
  +    <li>Redistributions of source code must retain the above copyright
  +        notice, this list of conditions and the following disclaimer.</li> 
  +
  +    <li>Redistributions in binary form must reproduce the above copyright
  +        notice, this list of conditions and the following disclaimer in
  +        the documentation and/or other materials provided with the
  +        distribution.</li>
  +
  +    <li>The end-user documentation included with the redistribution,
  +        if any, must include the following acknowledgment:  
  +        "This product includes software developed by the
  +        Apache Software Foundation (http://www.apache.org/)."
  +        Alternately, this acknowledgment may appear in the software itself,
  +        if and wherever such third-party acknowledgments normally 
appear.</li>
  +
  +    <li>The names "Xalan" and "Apache Software Foundation" must
  +        not be used to endorse or promote products derived from this
  +        software without prior written permission. For written 
  +        permission, please contact [EMAIL PROTECTED]</li>
  +
  +    <li>Products derived from this software may not be called "Apache",
  +        nor may "Apache" appear in their name, without prior written
  +        permission of the Apache Software Foundation.</li>
  +  </ol>
  +  <p>THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +     WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  +     OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  +     DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  +     ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +     USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +     ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +     OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +     OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +     SUCH DAMAGE.</p>
  +<p> ====================================================================</p>
  +
  + <p>This software consists of voluntary contributions made by many
  +    individuals on behalf of the Apache Software Foundation and was
  +    originally based on software copyright (c) 1999, Lotus
  +    Development Corporation., http://www.lotus.com.  For more
  +    information on the Apache Software Foundation, please see
  +    &lt;http://www.apache.org/&gt;.</p>
  +</s2>
  +
  +<s2 title="Other licenses"> 
  + <p>For the licences that apply to the JARs other than xalan.jar, see the 
LICENSE and 
  +    associated readme files in the root directory of this distribution.</p>
  +</s2>
  +</s1>
  \ No newline at end of file
  
  
  
  1.33      +246 -361  xml-xalan/java/xdocs/sources/xalan/xsltc_usage.xml
  
  Index: xsltc_usage.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/xsltc_usage.xml,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- xsltc_usage.xml   27 Jan 2003 18:45:36 -0000      1.32
  +++ xsltc_usage.xml   21 Feb 2003 20:10:08 -0000      1.33
  @@ -56,34 +56,38 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    -->
  -<s1 title="Using XSLTC">
  +<s1 title="Getting Started with &xslt4jc-short;">
   
   <ul>
   <li><link anchor="intro">Introduction</link></li>
  -  <li><link anchor="classpath">Setting the system classpath for 
XSLTC</link></li>
  +  <li><link anchor="classpath">Setting the system classpath for 
&xslt4jc-short;</link></li>
     <li><link anchor="compile">Compiling translets from the command 
line</link></li>
     <li><link anchor="run">Running translets from the command line</link></li>
  -  <li><link anchor="api">Calling XSLTC with the TrAX/JAXP API</link></li>
  +  <li><link anchor="api">Calling &xslt4jc-short; with the TrAX/JAXP 
API</link></li>
     <li><link anchor="xsltcsmart">Smart Transformer Switch</link></li>
  -  <li><link anchor="native_api">Calling XSLTC with the native API</link></li>
  +  <li><link anchor="native_api">Calling &xslt4jc-short; with the native 
API</link></li>
     <li><link anchor="constraints">Usage constraints</link></li>
     <li><link idref="samples" anchor="translets">Sample translets</link></li>
  -  <li><link idref="extensions_xsltc">Extensions for XSLTC</link></li>  
  +  <li><link idref="extensions_xsltc">Extensions for 
&xslt4jc-short;</link></li>  
   </ul>
  -<p>See also: <jump href="xsltc/index.html">XSLTC Design</jump></p>
  +<p>See also: <jump href="xsltc/index.html">&xslt4jc-short; Design</jump></p>
  +<note>Unless otherwise specified, the usage discussed in this section refers 
to 
  +the &xslt4j; Compiling processor, XSLTC. See <link 
idref="usagepatterns">Basic Usage 
  +Patterns</link> for information on using the &xslt4j; Interpretive 
processor.</note><br></br>
   <anchor name="intro"/>
   <s2 title="Introduction">
  -<p>XSLTC provides a compiler and a runtime processor. 
  -Use the compiler to compile an XSL stylesheet into a translet (i.e. a set of 
Java 
  -classes). Use the runtime processor to apply the translet to an XML document 
and 
  -perform a transformation.</p>
  -<note>To compile and run translets you must have a JDK or a JRE 1.2 or 
higher.</note>
  +<p>The &xslt4jc-long; processor provides a compiler and a runtime processor. 
  +Use the compiler to compile an XSL stylesheet into a translet (i.e., a set of
  +Java classes). Use the runtime processor to apply the translet to an XML
  +document and perform a transformation.</p>
  +<note>To compile and run translets, you must have a JDK or a JRE 1.2 or
  +higher.</note>
   </s2><anchor name="classpath"/>
  -<s2 title="Setting the system classpath for XSLTC">
  +<s2 title="Setting the system classpath for &xslt4jc-short;">
   
   <p>
  -The jar file structure of the XSLTC component has changed. In the original
  -structure the xsltc.jar file contained only XSLTC classes, and the
  +The jar file structure of the &xslt4jc-short; component has changed. In the 
original
  +structure the xsltc.jar file contained only &xslt4jc-short; classes, and the
   other support jar files needed to be in the user's class path.
    If you want to use this model refer to the subsection below 
   'Unbundled System Classpath'.  In the newer model, all of the support 
  @@ -100,15 +104,21 @@
   No need to mention the others (BCEL.jar, JLex.jar, regexp.jar, java_cup.jar,
   runtime.jar). 
   </p>
  -<note>In order to compile and run translets you must have a JAXP-compliant 
XML parser 
  -installed. Our distribution 
  -includes<jump href="http://xml.apache.org/xerces2-j/index.html";>Xerces</jump>
  +<note>In order to compile and run translets you must have a JAXP 1.2 
compliant XML
  +parser installed. Our distribution includes 
  +<jump href="http://xml.apache.org/xerces2-j/index.html";>Xerces</jump>
   (just include xercesImpl.jar and xml-apis.jar in your class path).
   </note>
   </s3>
   
   <s3 title="Unbundled System Classpath">
  -<p>To compile translets, run translets, and use the XSLTC API, put the 
following on the system classpath:</p>
  +<p>The binary distribution contains a bundled xsltc.jar which contains all
  +of the support classes in a single jar.  To use the unbundled approach, 
rebuild 
  +the xsltc.jar file using the xsltc.unbundledjar target. The support jars 
that 
  +you'll need to add to your classpath are available in the Xalan Java bin 
  +directory.</p>
  +<p>To compile translets, run translets, and use the &xslt4jc-short; API, 
using
  +the unbundled jar approach, put the following on the system classpath:</p>
   <table>
   <tr>
     <th>Classes or JAR</th>
  @@ -152,8 +162,8 @@
   </tr>
   </table>
   <p>The JAR files listed above are installed in the &xslt4j; bin directory. 
  -The translet is the set of class files or the JAR file that you generate 
with the 
  -compiler; see <link anchor="compile">Compiling translets</link>.</p>
  +The translet is the set of class files or the JAR file that you generate with
  +the compiler; see <link anchor="compile">Compiling translets</link>.</p>
   </s3>
   <anchor name="compile"/>
   <s2 title="Compiling translets from the command line">
  @@ -162,15 +172,18 @@
         <li><link anchor="comp-args">Flags and arguments</link></li>
         <li><link anchor="comp-examples">Examples</link></li>
       </ul>
  -     <p>The XSLT Compiler is a Java-based tool for compiling XSLT
  -     stylesheets into lightweight and portable Java byte codes 
  -     called translets.</p>  
  +    <p>The XSLT Compiler is a Java-based tool for compiling XSLT
  +    stylesheets into lightweight and portable Java byte codes 
  +    called translets.</p>  
   
       <p>To run the compiler from the command line or from a script, 
       <link anchor="classpath">set the classpath</link> and 
  -    run the class org.apache.xalan.xsltc.cmdline.Compile. The synopsis
  -    of the options and arguments accepted by this class is shown below.
  +    run the class <code>org.apache.xalan.xsltc.cmdline.Compile</code>. The
  +    synopsis of the options and arguments accepted by this class is shown 
below.
       </p>
  +    <note>You can also use the
  +    <jump href="commandline.html">&xslt4j; command-line utility</jump>, to
  +          compile or run XSLTC translets.</note>
       <anchor name="comp-synopsis"/>
   <s3 title="Synopsis">
   <p>
  @@ -181,16 +194,16 @@
   
   </s3><anchor name="comp-args"/>
   <s3 title="Flags and arguments">
  -     <p>The following flags and arguments are supported:</p>
  +    <p>The following flags and arguments are supported:</p>
   
   <source>-o &lt;output&gt;
      Specifies the name of the generated translet class.
      If you omit this argument, the translet class is
  -   named &lt;stylesheet&gt;. Translets are written as 
  +   named &lt;stylesheet&gt;.  Translets are written as 
      .class files.
   
   -d &lt;directory&gt;
  -   Specifies the destination directory. If you omit
  +   Specifies the destination directory.  If you omit
      this argument, the translet class files are placed
      in the current working directory.
   
  @@ -216,7 +229,7 @@
      &lt;stylesheet&gt;
      (No flag) The pathname of the stylesheet file.
   
  --i Force input to be read from stdin
  +-i Force stylesheet to be read from stdin
   
   -v Prints version of compiler
   
  @@ -224,36 +237,40 @@
   
   </s3><anchor name="comp-examples"/>
   <s3 title="Examples">
  -     <p>The following examples assume that you have already set the 
classpath to include the translet and the required JAR
  +    <p>The following examples assume that you have already set the
  +           classpath to include the translet and the required JAR
       files (see <link anchor="classpath">setting the system 
classpath</link>).</p>
   
  -     <p><em>Example 1:</em>  Creating a translet from the hamlet.xsl 
stylesheet.</p>
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
  +    <p><em>Example 1:</em>  Creating a translet from the hamlet.xsl
  +       stylesheet.</p>
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
       <code>&nbsp;&nbsp;&nbsp;&nbsp; hamlet.xsl</code></p>    
  -    <p>Example 1 produces a set of class files such as hamlet.class, 
hamlet$0.class, hamlet$1.class.</p>     
  +    <p>Example 1 produces a set of class files such as hamlet.class, 
hamlet$0.class, hamlet$1.class.</p>
   
  -     <p><em>Example 2:</em>  Outputting to a JAR file.</p>
  +    <p><em>Example 2:</em>  Outputting to a JAR file.</p>
       <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
       <code>&nbsp;&nbsp;&nbsp;&nbsp; -j hamlet.jar hamlet.xsl</code></p>
  -    <p>Example 2 produces hamlet.jar, which contains the translet class 
files.</p>   
  +    <p>Example 2 produces hamlet.jar, which contains the translet class
  +       files.</p>
   
  -     <p><em>Example 3:</em> Specifying the translet class name. </p> 
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
  +    <p><em>Example 3:</em> Specifying the translet class name. </p> 
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
       <code>&nbsp;&nbsp;&nbsp;&nbsp; -o newhamlet hamlet.xsl</code></p>
  -    <p>Example 3 producs a set of class files such as newhamlet.class, 
newhamlet$0.class, etc., rather than hamlet.class,
  -    hamles$0.class, etc.</p>
  +    <p>Example 3 produces a set of class files such as newhamlet.class,
  +       newhamlet$0.class, etc., rather than hamlet.class, hamlet$0.class,
  +       etc.</p>
   
   
  -     <p><em>Example 4:</em> Compiling multiple stylesheets.</p>
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
  +    <p><em>Example 4:</em> Compiling multiple stylesheets.</p>
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
       <code>&nbsp;&nbsp;&nbsp;&nbsp; hamlet1.xsl hamlet2.xsl 
hamlet3.xsl</code></p>
       <p>Example 4 produces three translets and set of class files derived 
from the three stylesheets.</p>
   
  -     <p><em>Example 5:</em> Package Specification.</p>
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
  +    <p><em>Example 5:</em> Package Specification.</p>
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Compile</code><br/>
       <code>&nbsp;&nbsp;&nbsp;&nbsp; -p com.mycompany.translets 
hamlet.xsl</code></p>
       <p>Example 5 produces a set of class files such as 
com/mycompany/translets/hamlet.class,
  -     com/mycompany/translets/hamlet$0.class', etc.</p>
  +    com/mycompany/translets/hamlet$0.class', etc.</p>
   </s3>
   </s2><anchor name="run"/>
   <s2 title="Running translets from the command line">
  @@ -263,17 +280,23 @@
         <li><link anchor="run-examples">Examples</link></li>
       </ul>
   
  -    <p>The XSLT runtime processor is a Java-based tool for 
  -     transforming XML document files using a translet (compiled 
  -     stylesheet). </p>
  -
  -     <p>The XSLT processor can be run on any platform including UNIX,
  -     Windows, NT, Mac that supports Java, including a Palm Pilot
  -     with J2ME CLDC (Java 2 Micro Edition, Connected Limited Device
  -     Configuration).</p>
  -    
  -    <p>To run a  translet from the command line or a script, <link 
anchor="classpath">set the classpath</link> (be sure to include
  -     the translet) and run the translet with the appropriate flags and 
arguments (described below).</p>
  +    <p>The XSLTC runtime processor is a Java-based tool for 
  +    transforming XML document files using a translet (compiled 
  +    stylesheet). </p>
  +
  +    <p>The XSLTC processor can be run on any platform including UNIX,
  +    Windows, NT, Mac that supports Java, including a Palm Pilot
  +    with J2ME CLDC (Java 2 Micro Edition, Connected Limited Device
  +    Configuration).</p>
  +
  +    <p>To run a translet from the command line or a script,
  +     <link anchor="classpath">set the classpath</link> (be sure to include
  +     the translet) and run the translet with the appropriate flags and 
arguments
  +     (described below).</p>
  +
  +    <note>You can also use the
  +    <jump href="commandline.html">&xslt4j; Command-line Utility</jump>, to
  +          compile or run XSLTC translets.</note>
   <anchor name="run-synopsis"/>
   <s3 title="Synopsis">
   <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
  @@ -283,7 +306,7 @@
   </s3><anchor name="run-args"/>
   <s3 title="Flags and arguments">
   
  -     <p>The following flags and arguments are supported:</p>
  +    <p>The following flags and arguments are supported:</p>
   
   <source>
   
  @@ -294,14 +317,14 @@
   -s Disables calling System.exit
   
   -u Specifies the XML input &lt;document&gt; with a URI,
  -   such as 'http://myserver/hamlet.xml'.             
  +   such as 'http://myserver/hamlet.xml'.
   
  -Arguments wirhout flags:
  +Arguments without flags:
   
  -   &lt;document&gt;                  
  +   &lt;document&gt;
      Filename of the XML input document. 
      
  -   &lt;document_url&gt;      
  +   &lt;document_url&gt;
      URI of the XML input document (see the -u flag above). 
   
      &lt;class&gt;
  @@ -312,7 +335,7 @@
   </s3><anchor name="run-examples"/>
   <s3 title="Examples">
   
  -     <p>The following examples assume that you have already set the 
classpath to include the translet and the required JAR
  +    <p>The following examples assume that you have already set the classpath 
to include the translet and the required JAR
       files (see <link anchor="classpath">setting the system 
classpath</link>).</p>
       <p>A possible variation: You have set the classpath to include the 
required JAR files, but when you run the translet,
       you use the java -cp flag to add the current working directory 
(containing the translet class files you have just generated)
  @@ -322,49 +345,155 @@
       
       <p><em>Example 1:</em> Processing an XML document.</p>
   
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
          <code>&nbsp;&nbsp;&nbsp;&nbsp;  hamlet.xml hamlet</code></p> 
   
  -     <p>Example 1 uses the specified translet (hamlet) to transform the 
specified XML input document (hamlet.xml). 
  +    <p>Example 1 uses the specified translet (hamlet) to transform the 
specified XML input document (hamlet.xml). 
       The XML input document is in the current working directory. The translet 
was created by using
       org.apache.xalan.xslt.cmdline.Compile to compile an XSL stylesheet 
(hamlet.xsl). </p>
   
  -     <p><em>Example 2:</em> Passing stylesheet parameters to the 
translet.</p>
  +    <p><em>Example 2:</em> Passing stylesheet parameters to the translet.</p>
   
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
          <code>&nbsp;&nbsp;&nbsp;&nbsp; hamlet.xml hamlet</code><br/>
          <code>&nbsp;&nbsp;&nbsp;&nbsp; speaker=HAMLET 'scene=SCENE 
IV'</code></p>
   
  -     <p>Example 2 passes "HAMLET" to the stylesheet for the stylesheet 
parameter named speaker, and "SCENE IV" for the
  +    <p>Example 2 passes "HAMLET" to the stylesheet for the stylesheet 
parameter named speaker, and "SCENE IV" for the
       stylesheet parameter named scene. The second name-value pair was placed 
in single quotes to 
       specify a value containing a space.</p>
       
       <p><em>Example 3:</em> Processing an XML input document specified with a 
URI.</p>
   
  -     <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
  +    <p><code>java org.apache.xalan.xsltc.cmdline.Transform</code><br/>
          <code>&nbsp;&nbsp;&nbsp;&nbsp;  -u http://zarya.east/test.xml 
hamlet</code></p>
   
  -     <p>Example 3 applies the translet (hamlet) to the XML input document 
(http://zarya.east/test.xml hamlet). Inclusion of
  +    <p>Example 3 applies the translet (hamlet) to the XML input document 
(http://zarya.east/test.xml hamlet). Inclusion of
       the flag (-u) is optional.</p>
   </s3>
   </s2><anchor name="api"/>
   <s2 title="Calling XSLTC with the TrAX/JAXP API">
  -<p>XSLTC translets are integrated with the TrAX/JAXP 1.1 API. See <jump 
href="xsltc/xsltc_trax.html">The Translet API &amp; TrAX</jump>. Accordingly, 
it is now possible to set a system property and use a TransformerFactory to 
generate a Transformer that performs a transformation by compiling and running 
a translet.</p>
  +<ul>
  +<li><link anchor="api-attributes">XSLTC TransformerFactory 
attributes</link></li>
  +<li><link anchor="api-examples">Examples</link></li>
  +</ul>
  +<p>XSLTC translets are integrated with the TrAX/JAXP 1.2 API. See <jump 
href="xsltc/xsltc_trax.html">The Translet API &amp; TrAX</jump>. Accordingly, 
it is now possible to set a system property and use a TransformerFactory to 
generate a Transformer that performs a transformation by compiling and running 
a translet.</p>
   
  +<p>When you use the JAXP 1.2 API to run &xslt4j;, the
  +<code>javax.xml.transform.TransformerFactory</code> system property is set to
  +<code>org.apache.xalan.processor.TransformerFactoryImpl</code>. As it 
currently
  +stands, this &xslt4j; implementation of TransformerFactory always uses the 
&xslt4j;
  +Interpretive processor to perform transformations.  To use translets to 
perform
  +transformations, set this system property to
  +<code>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</code>. For
  +information on setting this and related system properties designating XML
  +parsers and XSL transformers, see
  +<link idref="usagepatterns" anchor="plug">Plugging in a Transformer and XML
  +parser</link>.</p>
   
  -<p>When you use the JAXP 1.1 API to run &xslt4j;, the 
<code>javax.xml.transform.TransformerFactory</code> system property is set to 
<code>org.apache.xalan.processor.TransformerFactoryImpl</code>. As it currently 
stands, this Xalan implementation of TransformerFactory always uses the Xalan 
Transformer to perform transformations. To use translets to perform 
transformations, set this system property to 
<code>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</code>. For 
information on setting this and related system properties designating XML 
parsere and XSL transformer, see <link idref="usagepatterns" 
anchor="plug">Plugging in a Transformer and XML parser</link>.</p>
  -<p>To Use the JAXP 1.1 API to perform transformations with translets do the 
following:</p>
  +<p>To use the JAXP 1.2 API to perform transformations with translets do the
  +   following:</p>
   <ol>
  -  <li>Set the <code>javax.xml.transform.TransformerFactory</code> system 
property as indicated above.<br/><br/></li>
  -  <li>Instantiate a TransformerFactory.<br/><br/></li>
  -  <li>Assuming you want to perform a series of transformations with the same 
translet, use the TransformerFactory and a
  -   StreamSource XSL stylesheet to generate a Templates object (the 
translet). If you are performing a single
  -   transformation, use the TransformerFactory and the StreamSource object to 
instantiate a Transformer.<br/><br/></li>
  -  <li>Perform the transformation, using a StreamSource object for the XML 
input and a StreamResult object to hold the
  -   transformation output.</li>
  +  <li>Set the <code>javax.xml.transform.TransformerFactory</code> system
  +      property as indicated above.<br/><br/></li>
  +  <li>Instantiate a <code>TransformerFactory</code>.<br/><br/></li>
  +  <li>Instantiate a <code>Transformer</code> object either directly from
  +      the <code>TransformerFactory</code> or through a <code>Templates</code>
  +      object.  A <code>Transformer</code> is a processed instance of a
  +      stylesheet (a translet) that can be used to perform a
  +      transformation.  See below for more information on when you should use
  +      a <code>Templates</code> object.<br/><br/></li>
  +  <li>Perform the transformation, using a StreamSource object for the XML
  +      input and a StreamResult object to hold the transformation output.</li>
   </ol>
  +<p>Both a <code>Templates</code> object and a <code>Tranformer</code> object 
are
  +   processed representations of a stylesheet, but you cannot use a
  +   <code>Templates</code> object to perform transformations.  Instead,
  +   you can use a <code>Templates</code> object to create new
  +   <code>Transformer</code> instances, without having to reprocess the
  +   stylesheet each time.  You can use a <code>TransformerFactory</code> to
  +   generate a <code>Templates</code> object or a <code>Transformer</code>
  +   object directly.  You can use a <code>Transformer</code> more than once,
  +   but you cannot use it concurrently on more than one thread.  If you need
  +   to use the same stylesheet to perform transformations on more than one
  +   thread at the same time, use a <code>Templates</code> object and create
  +   as many <code>Transformer</code> objects as you require.</p>
  +
  +<p>XSLTC also defines a set of attributes that you can set on the
  +<code>TransformerFactory</code> in order to save and subsequently use those
  +translets by way of the JAXP Transform API - without having to recompile the
  +stylesheet each time.</p><anchor name="api-attributes"/>
  +<s3 title="&xslt4jc-short; TransformerFactory attributes">
  +The JAXP Transform API defines a <code><jump 
href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String,
 java.lang.Object)">TransformerFactory.setAttribute</jump>
  +</code> method that you can use to set implementation-defined attributes.
  +<table>
  +<tr>
  +  <th>Attribute</th><th>Purpose</th>
  +  <th>Type of value</th><th>Default value</th>
  +</tr>
  +<tr>
  +  <td>translet-name</td>
  +  <td>Specifies the name of the translet</td>
  +  <td>String</td>
  +  <td>"GregorSamsa"</td>
  +</tr>
  +<tr>
  +  <td>destination-directory</td>
  +  <td>Specifies where to save translet class files</td>
  +  <td>String</td>
  +  <td>null</td>
  +</tr>
  +<tr>
  +  <td>package-name</td>
  +  <td>Specifies which package translet class files will be in</td>
  +  <td>String</td>
  +  <td>null</td>
  +</tr>
  +<tr>
  +  <td>jar-name</td>
  +  <td>Specifies the name of a jar file in which translets should be 
saved</td>
  +  <td>String</td>
  +  <td>null</td>
  +</tr>
  +<tr>
  +  <td>generate-translet</td>
  +  <td>Specifies whether translet class files should be generated</td>
  +  <td>Boolean</td>
  +  <td>Boolean.FALSE</td>
  +</tr>
  +<tr>
  +  <td>auto-translet</td>
  +  <td>Specifies that time-stamp of translet file, if any, should be compared 
with that of stylesheet to decide whether to recompile the stylesheet</td>
  +  <td>Boolean</td>
  +  <td>Boolean.FALSE</td>
  +</tr>
  +<tr>
  +  <td>use-classpath</td>
  +  <td>Specifies that precompiled translet classes should be looked up from 
the classpath when a new transformer or templates is created</td>
  +  <td>Boolean</td>
  +  <td>Boolean.FALSE</td>
  +</tr>
  +<tr>
  +  <td>enable-inlining</td>
  +  <td>Specifies whether methods that represent templates should be inlined.  
See <link anchor="constraints">Usage constraints</link></td>
  +  <td>Boolean</td>
  +  <td>Boolean.FALSE</td>
  +</tr>
  +<tr>
  +  <td>debug</td>
  +  <td>Enables debugging messages</td>
  +  <td>Boolean</td>
  +  <td>Boolean.FALSE</td>
  +</tr>
  +</table>
  +<p>The <code>translet-name</code>, <code>destination-directory</code>,
  +<code>package-name</code> and <code>jar-name</code> attributes are transient.
  +They only apply to the next invocation of either the 
<code>newTemplates</code>
  +or the <code>newTransformer</code> method on that
  +<code>TransformerFactory</code>.</p>
  +</s3><anchor name="api-examples"/>
   <s3 title="Examples">
  -<p><em>Example 1:</em> Using a translet/Templates object for multiple 
transformations</p>
  +<p><em>Example 1:</em> Using a translet/Templates object for multiple
  +concurrent transformations</p>
   <source>import java.util.Properties;
   import javax.xml.transform.Transformer;
   import java.io.FileOutputStream;
  @@ -382,19 +511,23 @@
   System.setProperties(props);
   ...
   String xslInURI;
  -// Instantiate the TransformerFactory, and use it along with a SteamSource
  +// Instantiate the TransformerFactory, and use it with a StreamSource
   // XSL stylesheet to create a translet as a Templates object.
   TransformerFactory tFactory = TransformerFactory.newInstance();
   Templates translet = tFactory.newTemplates(new StreamSource(xslInURI));
   ...
   String xmlInURI;
   String htmlOutURI;
  +String xmlInURI2;
  +String htmlOutURI2;
   ...
  -// For each transformation, instantiate a new Transformer, and perform
  -// the transformation from a StreamSource to a StreamResult;
  +// For each thread, instantiate a new Transformer, and perform the
  +// transformations on that thread from a StreamSource to a StreamResult;
   Transformer transformer = translet.newTransformer();
   transformer.transform(new StreamSource(xmlInURI),
  -                      new StreamResult(new FileOutputStream(htmlOutURI)));
  +                  new StreamResult(new FileOutputStream(htmlOutURI)));
  +transformer.transform(new StreamSource(xmlInURI2),
  +                  new StreamResult(new FileOutputStream(htmlOutURI2)));
   ...</source>
   <p>For a working sample that illustrates this usage pattern, see <link 
idref="samples" anchor="xsltc1">JAXPTransletOneTransformation</link>.</p>
   <p><em>Example 2:</em> Compiling a translet/Templates object for a single 
transformation</p>
  @@ -415,293 +548,44 @@
   ...
   String xslInURI;
   String xmlInURI;
  +String xmlInURI2;
   String htmlOutURI;
  -// Instantiate the TransformerFactory, and use it along with a SteamSource
  +String htmlOutURI2;
  +// Instantiate the TransformerFactory, and use it along with a StreamSource
   // XSL stylesheet to create a Transformer.
   TransformerFactory tFactory = TransformerFactory.newInstance();
  -Transformer transformer = tFactory.newTransformer(new 
StreamSource(xslInURI));
  +Transformer transformer =
  +                 tFactory.newTransformer(new StreamSource(xslInURI));
   // Perform the transformation from a StreamSource to a StreamResult;
   transformer.transform(new StreamSource(xmlInURI),
  -                      new StreamResult(new 
FileOutputStream(htmlOutURI)));</source>
  +                  new StreamResult(new FileOutputStream(htmlOutURI)));
  +// Re-use the same transformer for a second transformation
  +transformer.transform(new StreamSource(xmlInURI2),
  +                  new StreamResult(new 
FileOutputStream(htmlOutURI2)));</source>
   <p>For a working sample that illustrates this usage pattern, see <link 
idref="samples" anchor="xsltc2">JAXPTransletMultipleTransformations</link>.</p>
   </s3>
   </s2>
   <anchor name="xsltcsmart"/>
   <s2 title="Smart Transformer Switch">
  -<p>As part of the TrAX API, a &quot;Smart Transformer Switch&quot; enables 
automatic switching between Xalan and XSLTC 
  -processors within your application. It uses Xalan to create your 
  - <code>Transformer</code> objects, and uses XSLTC to create your 
<code>Templates</code> objects.</p>
  +<p>As part of the TrAX API, a &quot;Smart Transformer Switch&quot; enables 
automatic switching 
  +between the Interpretive and the Compiling processors within your 
application. It uses the Interpretive
  +processor to create your <code>Transformer</code> objects, and uses 
&xslt4jc-short; to create your 
  +<code>Templates</code> objects.</p>
   <p>To use the switch, you set the TrAX system property,
  -<code>javax.xml.transform.TransformerFactory</code>, to 
<code>org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl</code>. 
  -For one-time transformations or transformations that require extensions 
supported by Xalan, and not XSLTC,
  -you would use Transformer objects. For a repeated transformation where 
performance is critical, you would 
  -use Templates objects.</p> 
  +<code>javax.xml.transform.TransformerFactory</code>, to
  +<code>org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl</code>. 
  +For one-time transformations or transformations that require extensions
  +supported by the Interpretive processor, and not XSLTC, you would use the
  +<code>SmartTransformerFactoryImpl</code> to create <code>Transformer</code>
  +objects. For a repeated transformation where performance is critical, you 
would
  +create a <code>Templates</code> object from which you would create your
  +<code>Transformer</code> objects.</p> 
   </s2>
   <anchor name="native_api"/>
  -<s2 title="Calling XSLTC with the native API">
  -<p>This section demonstrates how to use the native XSLTC API in a standalone 
Java application.</p> 
  -<note>Using XSLTC with the native API is not supported. Applications using 
the native API may break when the 
  -underlying implementation changes in the future.</note>
  -<p>Processing an XML document with a translet involves three main steps:</p>
  -<ol> 
  -  <li><link anchor="native_compile">Compile the stylesheet to a 
translet</link>.</li>
  -  <li><link anchor="native_parse">Parse the input XML document</link>.</li> 
  -  <li><link anchor="native_transform">Use the translet to transform the XML 
document</link>.</li>
  -</ol><anchor name="native_overview"/>
  -<s3 title="Code overview">
  -<p>XsltApp.java illustrates the basic structure for coding a transformation 
with the native XSLTC API. In the following listing, the method for performing 
each of the three steps is an empty shell. The methods are filled in the 
listings in subsequent sections.</p>
  -<source>import org.apache.xalan.xsltc.Translet;
  -import org.apache.xalan.xsltc.dom.DOMImpl;
  -
  -public class XsltApp {
  -  public static void main(String[] args) {
  -    XsltApp proc = new XsltApp();
  -    proc.run(args);
  -  }
  -
  -  public void run(String[] args) {
  -    if (args.length != 2) {
  -      System.err.println("Usage:\n\tprocessor &lt;xmlfile&gt; 
&lt;xslfile&gt;" +
  -            "\n\n\twhere &lt;xmlfile&gt; = xml input filename, and" +
  -            "\n\t      &lt;xslfile&gt; = stylesheet filename.");
  -      System.exit(1);
  -    }
  -    String xmldocFilename     = args[0];
  -    String stylesheetFilename = args[1];
  -
  -    // Compile the stylesheet to a translet
  -    Translet translet = compileStylesheet(stylesheetFilename);
  -
  -    // Parse the input XML document
  -    DOMImpl dom = getDOM(xmldocFilename);
  -
  -    // Transform the XML document against the translet
  -    doTransform(translet, dom);
  -    System.exit(0);
  -  }
  -  
  -  // compile the stylesheet [Empty shell: see below]
  -  private Translet compileStylesheet(String stylesheetName) { return null; }
  -
  -  // parse the input XML document [Empty shell: see below]
  -  private DOMImpl getDOM(String xmldocname) { return null; }
  -
  -  // transform the XML document [Empty shell: see below]
  -  private void doTransform(Translet translet, DOMImpl dom) { }
  -}</source>
  -
  -<p>XsltApp takes two command line arguments: the input XML document 
filename, and the
  -XSL stylesheet filename. The public run() method processes the commandline 
args,
  -and then carries out the three steps.</p> 
  -<p>The first step is accomplished by calling the compileStylesheet() method. 
This method
  -takes the stylesheet filename as input (String), and returns an instance
  -of the translet, as type org.apache.xalan.xsltc.Translet.</p>
  -
  -<p>The input XML document now needs to be parsed. This is accomplished by 
the getDOM() method. This method takes the XML document's filename (String)
  -and returns the Document Object Model for the document, as an object of
  -type org.apache.xalan.xsltc.dom.DOMImpl. </p>
  -
  -<p>Finally, the transformation prescribed by the stylesheet is carried out by
  -calling the doTransform() method. This method takes the translet (compiled
  -stylesheet) and the dom (Document Object Model for the XML document) as
  -input parameters. In this example, the results of the transformation are
  -output to standard output, so this method returns nothing. </p>
  -
  -<p>If all three steps are carried out successfully, the application exits 
with
  -a successful (zero) value.</p>
  -
  -<p>The following sections examine each of the three steps in detail.</p>
  -</s3><anchor name="native_compile"/>
  -<s3 title="1. Compiling the Stylesheet to a Translet">
  -<p>The 'compileStylesheet' method:</p>
  -
  -<source>import java.io.File;
  -import java.net.MalformedURLException; 
  -import org.apache.xalan.xsltc.compiler.XSLTC;
  -...
  -  private Translet compileStylesheet(String stylesheetName) {
  -    Translet retval = null;
  -    String transletName = stylesheetName.substring(0,
  -                              stylesheetName.indexOf('.'));
  -    try {
  -      XSLTC xsltc = new XSLTC();
  -      xsltc.init();
  -      File stylesheet = new File(stylesheetName);
  -      xsltc.compile(stylesheet.toURL());
  -      Class clazz = Class.forName(transletName);
  -      retval = (Translet)clazz.newInstance();
  -    } 
  -    catch (MalformedURLException e) {
  -      System.err.println("Could not create URL to stylesheet file: " +
  -                          stylesheetName + ".\n" + e.getMessage());
  -      System.exit(1);
  -    } 
  -    catch (ClassNotFoundException e) {
  -      System.err.println("Could not find class file: " +
  -                          transletName + ".class .\n" + e.getMessage());
  -      System.exit(1);
  -    } 
  -    catch (InstantiationException e) {
  -      System.err.println("Could not instantiate class file: " +
  -                          transletName + ".class .\n" + e.getMessage());
  -      System.exit(1);
  -    } 
  -    catch (IllegalAccessException e) {
  -      System.err.println("Could not instantiate class file: " +
  -            transletName + ".class, illegal access.\n" + e.getMessage());
  -      System.exit(1);
  -    }
  -    return retval;
  -  }</source>
  -
  -<p>This method reads in the stylesheet file, compiles it to Java bytecodes 
  -(the translet), and then writes the bytecodes to the filesystem, as a 
  -series of .class files. Their base name is derived from the name of the 
  -stylesheet. </p>
  -
  -<p>The XSLT compiler object (org.apache.xalan.xsltc.compiler.XSLTC), is 
created,
  -initialized and then its compile() method is called passing in a URL
  -to the stylesheet itself. Once the .class files have been written,
  -the translet is instantiated using Java reflection to create the Class
  -and then a new instance of the Class as 'retval' of type 
  -org.apache.xalan.xsltc.Translet. </p>
  -
  -<p>Notice all of the various exceptions that could be thrown in the process
  -have been handled with explicit warning messages and a System.exit with a 
non-zero return value. 
  -In your applications, you may want to handle these exceptions 
differently.</p>
  -
  -</s3><anchor name="native_parse"/>
  -<s3 title="2. Parsing the XML Document">
  -
  -<p>Parsing the input XML document is handled in the getDOM() method:</p>
  -
  -<source>import java.io.IOException;
  -import javax.xml.parsers.SAXParserFactory;
  -import javax.xml.parsers.SAXParser;
  -import javax.xml.parsers.ParserConfigurationException;
  -import org.apache.xalan.xsltc.compiler.Constants;
  -import org.apache.xalan.xsltc.dom.DTDMonitor;
  -import org.xml.sax.XMLReader;
  -import org.xml.sax.SAXException;
  -...
  -  private DTDMonitor _dtdMonitor = null;
  -
  -  private DOMImpl getDOM(String xmldocname) {
  -    final SAXParserFactory factory = SAXParserFactory.newInstance();
  -    try {
  -      factory.setFeature(Constants.NAMESPACE_FEATURE, true);
  -    } 
  -    catch (Exception e) {
  -      factory.setNamespaceAware(true);
  -    }
  -    final DOMImpl dom = new DOMImpl();
  -    dom.setDocumentURI(xmldocname);
  -    XMLReader reader = null;
  -    SAXParser parser = null;
  -    _dtdMonitor = new DTDMonitor();
  -    try {
  -      parser = factory.newSAXParser();
  -      reader = parser.getXMLReader();
  -      reader.setContentHandler(dom.getBuilder());
  -      _dtdMonitor.handleDTD(reader);
  -      reader.parse(xmldocname);
  -    } 
  -    catch (ParserConfigurationException e) {
  -      System.err.println("SAX Parser is not configured properly.\n"+
  -                          e.getMessage());
  -      System.exit(1);
  -    } 
  -    catch (SAXException e ) {
  -      System.err.println("SAX Parser could not be created.\n"+
  -                          e.getMessage());
  -      System.exit(1);
  -    } 
  -    catch (IOException e ) {
  -      System.err.println("XML Reader could not read xml document '"+
  -                          xmldocname + "'," + e.getMessage());
  -      System.exit(1);
  -    }
  -    return dom;
  -  }</source>
  -
  -<p>The method parses the input XML document and creates a Document
  -Object Model to return to the run() method for later use. To parse the 
  -document we use a javax.xml.parsers.SAXParser, from the JAXP.  The JAXP
  -model uses a factory method; accordingly we first create the factory,
  -which is of type javax.xml.parsers.SAXParserFactory. After configuring 
  -the factory to handle namespaces, the procedure gets an org.xml.sax.XMLReader
  -from the SAXParser. The reader is registered
  -with the class DTDMonitor, and then the reader is instructed to parse
  -the XML document. The DOMImpl object is returned to the main() method.</p> 
  -
  -<note>Before the document is parsed, the DOMImpl is configured with the
  -XML document's URI with a call to the setDocumentURI() method. This
  -is necessary to define the origin of the document from which the DOM tree
  -is built. This information is needed for xsl:import, xsl:include, and
  -the document() function.</note>
  -</s3><anchor name="native_transform"/>
  -<s3 title="3. Doing the Transformation">
  -
  -<p>Now everything is set to carry out the XSL transformation. The 
doTransform()
  -method takes a reference to the Translet object generated 
  -from the stylesheet, and the DOMImpl object created from the XML 
document.</p>
  -
  -<source>import java.io.IOException;
  -import org.apache.xalan.xsltc.runtime.DefaultSAXOutputHandler;
  -import org.apache.xalan.xsltc.runtime.TextOutput;
  -import org.apache.xalan.xsltc.runtime.AbstractTranslet;
  -import org.apache.xalan.xsltc.TransletException;
  -...
  -  private void doTransform(Translet translet, DOMImpl dom) {
  -    DefaultSAXOutputHandler outputhandlr = null;
  -    TextOutput textoutput = null;
  -    try {
  -      outputhandlr= new DefaultSAXOutputHandler(System.out, "utf-8");
  -      textoutput = new TextOutput(outputhandlr, "utf-8");
  -    } 
  -    catch (IOException e) {
  -      System.err.println("Could not create SAX Output Handler."+
  -                          e.getMessage());
  -      System.exit(1);
  -    }
  -  
  -    // for XSL keys
  -    AbstractTranslet absTranslet = (AbstractTranslet)translet;
  -    absTranslet.setIndexSize(dom.getSize());
  -    _dtdMonitor.buildIdIndex(dom, 0, absTranslet);
  -
  -    try {
  -      absTranslet.transform(dom, textoutput);
  -    } 
  -    catch (TransletException e) {
  -      System.err.println("Could not transform XML document."+
  -                          e.getMessage());
  -      System.exit(1);
  -    }
  -  }</source>
  -
  -<p>The Translet's transform() method takes two arguments: the DOMImpl
  -reference created in the getDOM() method, and an xsltc.runtime.TextOutput
  -object. TextOutput is a ContentHandler wrapper class that implements the
  -xsltc.TransletOutputHandler interface. In this example, the content
  -handler (DefaultSAXOutputHandler) is wrapped.</p>     
  -
  -<p>Translet is an interface. AbstractTranslet is a class that implements that
  -interface. Before the transform() method is called, setIndexSize(int)
  -is called to pass in the maximum DOM size to the translet and the DTDMonitor
  -is called to build the node index that the Key (xsl:key implementation)
  -class uses. This is a general case, if you are not using keys, then you
  -do not need to set the index size, consequently you would not need to
  -work with the AbstractTranslet either. In that case, you can  use the
  -Translet directly by calling translet.transform(dom, textoutput). </p>
  -</s3><anchor name="native_conclusion"/>
  -<s3 title="Conclusion">
  -<p>The native XSLT compiler API provides a way to compile an XSL stylesheet
  -into a translet. The translet can then be used to transform the DOMImpl
  -of an input XML document.   This example demonstrated how to compile a
  -stylesheet into a translet, parse an input XML document, and then transform
  -the XML document using the translet.</p>
  -</s3></s2>
  +<s2 title="Calling &xslt4jc-short; with the native API">
  +<p>The &xslt4jc-short; Native API is no longer supported.  Instead, you 
should always
  +use &xslt4jc-short; with the JAXP Transform API.</p>
  +</s2>
   <anchor name="constraints"/>
   <s2 title="Usage constraints">
   <ul>
  @@ -712,7 +596,7 @@
     <li>The default for template inlining has been changed. Previously,
       by default, inlining (putting all the templates into one big method) was 
on and 
       the <code>&quot;-n&quot;</code> option to the compile command line 
disabled inlining. 
  -    With inlining on, XSLTC can generate methods that are too long (<em>&gt; 
64K length</em>) 
  +    With inlining on, &xslt4jc-short; can generate methods that are too long 
(<em>&gt; 64K length</em>) 
       to run, or contain jump offsets that are too large for the JVM to 
handle. 
       Now the default is not to inline templates. Instead, compilation creates 
separate 
       methods for each template. Inlining was thought to improve performance, 
  @@ -721,11 +605,12 @@
       to turn on inlining, or with TrAX set the &quot;enable-inlining&quot; 
attribute to the TransformerFactory. 
       For example, 
         <source>TransformerFactory tfac = new TransformerFactory(); 
  -tfac.setAttribute(&quot;enable-inlining&quot;, 
Boolean.TRUE)</source><br/></li>
  +tfac.setAttribute(&quot;enable-inlining&quot;, 
Boolean.TRUE);</source><br/></li>
     <li>XSLTC tries to determine the order in which global variables are 
initialized 
       by tracking the dependencies between them. In some cases, the value of a 
variable 
  -    may depend on a template, e.g., if <code>xsl:call-template</code> is 
used to initialized 
  -    a variable whose type is RTF. If this happens, a NPE may be thrown at 
runtime 
  +    may depend on a template, e.g., if <code>xsl:call-template</code> is 
used to initialized
  +    a variable whose type is RTF. If this happens, a
  +    <code>NullPointerException</code> may be thrown at run-time 
       when the translet attempts to access a variable that has not been 
properly 
       initialized. In most cases, this problem can be avoided by reordering 
the 
       variable declarations.<br/></li>
  
  
  
  1.89      +79 -22    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.88
  retrieving revision 1.89
  diff -u -r1.88 -r1.89
  --- readme.xml        20 Feb 2003 18:49:17 -0000      1.88
  +++ readme.xml        21 Feb 2003 20:10:08 -0000      1.89
  @@ -65,18 +65,72 @@
     <li><link anchor="status0">Status</link></li>
     <li><link anchor="build">Build distributions and notes</link></li>
     <li><link anchor="contact">Getting in touch</link></li>
  -  <li><link idref="xsltc_usage" anchor="constraints">XSLTC usage 
constraints</link></li>
     <li><link idref="history">History of software changes</link></li>
    </ul><anchor name="status0"/>
     <s2 title="Status">
      <ul>
  -    <li><link anchor="done">Changes since version 2.4.0</link></li>
  +    <li><link anchor="done">Changes since version 2.4.1</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 &xml4j; to use</link></li>
       <li><link anchor="developer-list">&xslt4j; developers</link></li>
      </ul>
        <anchor name="done"/>
  +     <s3 title="Changes since &xslt4j; 2.4.1">
  +     <p>This developer's release, Xalan-Java 2.5.D1, is primarily for the 
purpose of releasing 
  +        various bug fixes to the community.  These will eventually be 
released officially in 
  +        a future Xalan-Java 2.5 version, along with some new function.</p>
  +     <p>Fixes in this release include the following: </p>
  +     <ul>
  +     <li><jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4858";>4858</jump>,     
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=5140";>5140</jump>,     
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6075";>6075</jump>,      
  
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6157";>6157</jump>,   
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10053";>10053</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10626";>10626</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12481";>12481</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13414";>13414</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13651";>13651</jump>,    
      
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13774";>13774</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13775";>13775</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13977";>13977</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14112";>14112</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14148";>14148</jump>,    
           
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14157";>14157</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14178";>14178</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14229";>14229</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14236";>14236</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14237";>14237</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14241";>14241</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14244";>14244</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14300";>14300</jump>,    
      
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14322";>14322</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14324";>14324</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14365";>14365</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14368";>14368</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14406";>14406</jump>,    
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14578";>14578</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14753";>14753</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14856";>14856</jump>,    
           
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14862";>14862</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14965";>14965</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15074";>15074</jump>,    
           
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15094";>15094</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15218";>15218</jump>,    
      
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15254";>15254</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15373";>15373</jump>,    
      
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15586";>15586</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16745";>16745</jump>,    
      
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17030";>17030</jump>,
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17136";>17136</jump></li>
  +     <li>Support for and bundling of Xerces Java 2.3.</li>     
  +     <li>Support for and bundling of xml-apis.jar from the tck-jaxp-1_2_0 
branch of xml-commons.
  +         This version of the Java APIs for XML Processing successfully 
passes the JAXP 1.1 and 
  +         JAXP 1.2 TCKs.</li>     
  +     <li>For a list of &xslt4j; commits, see [EMAIL PROTECTED] in the
  +     <jump href="http://nagoya.apache.org/eyebrowse/index.html";>Apache 
mailing list archive index</jump>.</li>         
  +     </ul>     
  +     </s3>     
        <s3 title="Changes since &xslt4j; 2.4.0">
        <ul>
         <li>Performance fixes and enhancements to address the degradation of 
performance between Xalan-Java
  @@ -148,7 +202,7 @@
        <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13754";>13754</jump>,
        <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13863";>13863</jump>,    
      
        <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13944";>13944</jump>,
  -     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14022";>14022</jump></li>.
 
  +     <jump 
href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=14022";>14022</jump></li>
 
        <li>Support for and bundling of Xerces Java 2.2.</li>
        <li>Support for and bundling of xml-apis.jar from the 
factoryfinder-build of the RIVERCOURT1 branch of xml-commons.  This version of 
the Java
        APIs for XML Processing successfully passes the JAXP 1.1 and JAXP 1.2 
TCKs.</li>
  @@ -291,7 +345,7 @@
        <s3 title="Version of Xerces to use"> 
          <p>The &xslt4j-current; has been tested with &xml4j-used;. &download; 
For information about including &xml4j-jar; and xml-apis.jar on the system 
class path, see <link idref="getstarted" anchor="classpath">Setting up the 
system class path</link>.</p>
          <p><em>Important</em> You may experience unpredictable anomalies if 
your &xslt4j; and &xml4j; builds are not in synch. If you download an update to 
&xslt4j;, check the release notes to determine which version of &xml4j; you 
should use.</p>
  -       <note>You can use &xslt4j; with other XML parsers that implement the 
<resource-ref idref="jaxp"/>. See 
  +       <note>You can use &xslt4j; with other XML parsers that implement the 
<resource-ref idref="jaxp12"/>. See 
          <link idref="usagepatterns" anchor="plug">Plugging in the Transformer 
and XML parser</link>.</note>
        </s3>
     </s2>
  @@ -299,7 +353,7 @@
     <s2 title="Build Notes">
     <p>We provide two distributions: a binary distribution, and a source 
distribution. See <link idref="getstarted" anchor="download">Downloading
     what you need</link>. If you have downloaded the binary distribution, you 
already have a build. If you downloaded the source
  -  distribution, you can use Ant to build &xslt4j;, including xalan.jar, 
xalansamples.jar, xalanservlet.jar, the
  +  distribution, you can use Ant to build &xslt4j;, including xalan.jar, 
xalansamples.jar, xalanservlet.war, the
     user documentation, and the Javadoc API documentation. You need the source 
distribution to do builds. Keep in mind that if you have also
     downloaded the binary distribution, any builds you run will overwrite that 
binary distribution.</p>
   <ul>
  @@ -318,16 +372,16 @@
        <p><em>Instructions for using Ant</em></p>
        <ol>
          <li>Set the JAVA_HOME environment variable to the JDK root 
directory.<br/><br/>
  -       If you are using JDK 1.1.8, you must also put classes.zip in the JDK 
bin directory on the classpath. You can use Ant 
  -       with JDK 1.1.8 to compile and jar the &xslt4j; source files, but you 
must have JDK 1.2.2 or higher to build the
  -       documentation.<br/><br/></li>
  -       <li>Depending on your environment, run the batch file (build.bat) or 
shell file (build.sh) from the &xslt4j; root
  -       directory, optionally with arguments (see the table of targets 
below).<br/><br/>
  -       The batch/shell file adds several JAR files to the classpath and 
launches Ant with any arguments you provide. If you
  -       provide no target, Ant compiles the source files and rebuilds 
xalan.jar (the "jar" target).</li>
  +       JDK 1.2.2 or higher is required to build &xslt4j;. You must put 
tools.jar from the JDK
  +       bin directory on the classpath.<br/><br/></li>
  +       <li>Depending on your environment, run the batch file (build.bat) or 
shell file (build.sh) 
  +       from the &xslt4j; root directory, optionally with arguments (see the 
table of targets below).<br/><br/>
  +       The batch/shell file adds several JAR files to the classpath and 
launches Ant with any arguments 
  +       you provide. If you provide no target, Ant compiles the source files 
and rebuilds xalan.jar 
  +       (the "jar" target).</li>
        </ol>
  -     <p>You can also set up your classpath manually (see build.bat or 
build.sh for the details), and then run Ant as
  -     follows:<br/><br/>
  +     <p>You can also set up your classpath manually (see build.bat or 
build.sh for the details), and 
  +     then run Ant as follows:<br/><br/>
        <code>java org.apache.tools.ant.Main <ref>target</ref></code><br/><br/>
        where <ref>target</ref> is nothing (for the default target) or one of 
the following.</p>
        <table>
  @@ -335,7 +389,7 @@
          <tr><td>compile</td><td>compiles &xslt4j; in build/classes.</td></tr>
          <tr><td>jar (the default)</td><td>creates xalan.jar in the build 
directory</td></tr>
          <tr><td>samples</td><td>compiles and jars the sample apps in 
build/xalansamples.jar</td></tr>
  -       <tr><td>servlet</td><td>compiles and jars the sample servlet in 
build/xalanservlet.war</td></tr>       
  +       <tr><td>servlet</td><td>compiles and jars the sample servlet in 
build/xalanservlet.jar</td></tr>
          <tr><td>docs</td><td>creates the HTML User's Guide in 
build/docs</td></tr>
          <tr><td>javadocs</td><td>generates the API documentation in 
./build/docs/apidocs</td></tr>
          <tr><td>dist</td><td>generates a complete distribution tree with zip 
and tar.gz distribution files in build</td></tr>
  @@ -349,7 +403,7 @@
        Ant</link>.</p>
        <p>If you want to do the build without Ant, keep the following in 
mind:</p>
        <ul>
  -     <li>Set the classpath to include the src directory, &xml4j-jar;, 
bsf.jar, and bsfengines.jar.</li>
  +     <li>Set the classpath to include the src directory, &xml4j-jar;, and 
bsf.jar.</li>
        <li>Use a Java compiler (such as the IBM Just-In-Time compiler or the 
Sun javac) to compile all the .java files in the src
        tree. </li>
        <li>Use the Sun jar utility to store the resulting .class files in 
xalan.jar</li>
  @@ -357,9 +411,10 @@
      </s3><anchor name="samples"/>
      <s3 title="Rebuilding a sample application">
      <p>If you modify a sample and want to recompile it, you can run the Java 
compiler in the directory containing the
  -   example. Be sure xalan.jar, xml-apis.jar, and &xml4j-jar; are on the 
classpath. To recompile (and run!) the class files in the
  -   Servlet subdirectory, the javax.servlet and javax.servlet.http packages 
must also be on the classpath. Sun
  -   distributes these packages in the JSWDK 1.0.1 servlet.jar file.</p> 
  +   example. Be sure xalan.jar, xml-apis.jar, and &xml4j-jar; are on the 
classpath. </p>
  +   <p>To recompile and run the class files in the servlet subdirectory, the 
javax.servlet and 
  +   javax.servlet.http packages must also be on the classpath. Sun 
distributes these packages in 
  +   the JSWDK 1.0.1 servlet.jar file.</p>
      <p>After recompiling a sample, you can use the Sun jar utility to place 
your new .class files in
       xalansamples.jar.</p>
       <p>You can use Ant with the samples target to recompile the samples and 
place the unpackaged class files in xalansamples.jar.
  @@ -369,7 +424,7 @@
      </s3><anchor name="doc"/>
      <s3 title="Rebuilding the &xslt4j; documentation">
        <p>&xslt4j; includes a number of XML source files, XSL stylesheets, 
document type definition (DTD)
  -      files, entity relationship (ENT) files, graphics, and a JavaScript 
file that provide the input for the Xalan
  +      files, entity relationship (ENT) files, graphics, and a JavaScript 
file that provide the input for the &xslt4j;
         HTML User's Guide, and the overview and package-level documents used 
during the generation of Javadoc.</p>
         <p>To rebuild the documentation, you must use the StyleBook tool and 
the JDK 1.2.2 java and javadoc
         tools. StyleBook (which uses Xalan and Xerces) is in 
stylebook-1.0-b2.jar. Some of the document definition files,
  @@ -437,8 +492,10 @@
     </s3>    
    </s2><anchor name="contact"/>
    <s2 title="Getting in Touch">
  -  <p>Your feedback is more than welcome. Offers of help are even more so! 
Perhaps you would like to take on an active role in the ongoing development, 
testing, and documentation of &xslt4j;?</p> 
  -<p>Please email your comments, questions, suggestions, and offers to join 
the Xalan team to <human-resource-ref idref="xalandev"/>.</p>
  +  <p>Your feedback is more than welcome. Offers of help are even more so! 
Perhaps you would like to 
  +  take on an active role in the ongoing development, testing, and 
documentation of &xslt4j;?</p> 
  +<p>Please email your comments, questions, suggestions, and offers to join 
the Xalan team 
  +to <human-resource-ref idref="xalandev"/>.</p>
    </s2><anchor name="developer-list"/>
    <s2 title="Developers">
   <p>A list of some of people currently working on working on &xslt4j;:</p>
  
  
  
  1.29      +200 -108  xml-xalan/java/xdocs/sources/xalan/extensionslib.xml
  
  Index: extensionslib.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/extensionslib.xml,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- extensionslib.xml 27 Jan 2003 18:45:36 -0000      1.28
  +++ extensionslib.xml 21 Feb 2003 20:10:08 -0000      1.29
  @@ -68,19 +68,28 @@
   <li><link anchor="pipedocument">PipeDocument</link></li>
   <li><link anchor="evaluate">evaluate</link></li>
   <li><link anchor="tokenize">tokenize</link></li>
  -<li><link idref="extensions_xsltc">Extensions for XSLTC</link></li>
  -<li>Examples: <link anchor="ex-redirect">Redirect</link>, <link 
anchor="ex-nodeset">nodeset</link>, <link anchor="ex-sql">SQL 
library</link></li>
  -</ul><anchor name="intro"/>
  +<li><link idref="extensions_xsltc">Extensions for &xslt4jc-short;</link></li>
  +<li>Examples: <link anchor="ex-redirect">Redirect</link>, <link 
anchor="ex-nodeset">nodeset</link>, 
  +<link anchor="ex-sql">SQL library</link></li>
  +</ul>
  +
  +<note>Unless otherwise specified, the &xslt4j; extensions library discussed 
in this section refers to 
  +the &xslt4j; Interpretive processor. See <link 
idref="extensions_xsltc">Extensions for XSLTC</link> for 
  +more information.</note><br></br>
  +
  +<anchor name="intro"/>
   <s2 title= "Introduction">
   <p>Extension elements and functions provide a powerful mechanism
   for extending and simplifying what you can do with an XLST processor like
  -&xslt;. With input and contributions from the XML open-source developer 
community, we are working on placing the most useful
  -extensions in an extensions library distributed with &xslt4j;. If you have 
ideas and/or contributions you would like to make, please email us at the 
<human-resource-ref idref="xalandev"/>.</p>
  +&xslt;. With input and contributions from the XML open-source developer 
community, we are working on 
  +placing the most useful extensions in an extensions library distributed with 
&xslt4j;. If you have 
  +ideas and/or contributions you would like to make, please email us at 
  +the <human-resource-ref idref="xalandev"/>.</p>
   </s2><anchor name="exslt"/>
   <s2 title="EXSLT extensions">
    <p>&xslt4j; supports the <jump href="http://exslt.org/";>EXSLT</jump> 
initiative to provide a set of
  -standard extension functions and elements to XSLT users. &xslt4j; includes 
implementations for the following EXSLT
  -extension modules:</p>
  +standard extension functions and elements to XSLT users. &xslt4j; includes 
implementations for the 
  +following EXSLT extension modules:</p>
   <ul>
   <li><jump href="apidocs/org/apache/xalan/lib/ExsltCommon.html">EXSLT common 
functions</jump></li>
   <li><jump href="apidocs/org/apache/xalan/lib/ExsltMath.html">EXSLT math 
functions</jump></li>
  @@ -88,30 +97,56 @@
   <li><jump href="apidocs/org/apache/xalan/lib/ExsltDatetime.html">EXSLT 
date-and-time functions</jump></li>
   <li><jump href="apidocs/org/apache/xalan/lib/ExsltDynamic.html">EXSLT 
dynamic functions</jump></li>
   <li><jump href="apidocs/org/apache/xalan/lib/ExsltStrings.html">EXSLT string 
functions</jump></li>
  -<li>The EXSLT func:function and func:result elements (see <jump 
href="http://www.exslt.org/func/elements/function/index.html";>EXSLT - 
func:function)</jump></li>
  +<li>The EXSLT func:function and func:result elements (see 
  +<jump href="http://www.exslt.org/func/elements/function/index.html";>EXSLT - 
func:function)</jump></li>
   </ul>
  -<p>All EXSLT extensions use namespaces specified in the EXSLT specification. 
For example, to use the EXSLT math functions, specify a namespace URI as 
follows:</p>
  +<p>All EXSLT extensions use namespaces specified in the EXSLT specification. 
For example, to use the 
  +EXSLT math functions, specify a namespace URI as follows:</p>
   
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:math="http://exslt.org/math";</code></p>
  -<p>Anyone who would like to help by implementating other EXSLT extensions is 
more than welcome. Please email us at the <human-resource-ref 
idref="xalandev"/>.</p>
  +<p>Anyone who would like to help by implementating other EXSLT extensions is 
more than welcome. Please 
  +email us at the <human-resource-ref idref="xalandev"/>.</p>
   </s2>
   <anchor name="xalanns"/>
   <s2 title="&xslt; namespace">
  -<p>The &xslt; extensions are implemented in one of the classes under 
org.apache.xalan.lib. The main extension class is <jump 
href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>.
 Some extension
  -functions (e.g. intersection, difference, etc.) used to be in this class are 
now moved to the corresponding <link anchor="exslt">EXSLT</link> modules. All 
&xslt; extensions use namespace URIs starting with:</p>
  +<p>The &xslt; extensions are implemented in one of the classes under 
org.apache.xalan.lib. The main 
  +extension class is <jump href="apidocs/org/apache/xalan/lib/Extensions.html">
  +org.apache.xalan.lib.Extensions</jump>. Some extension
  +functions (e.g. intersection, difference, etc.) used to be in this class are 
now moved to the 
  +corresponding <link anchor="exslt">EXSLT</link> modules. All &xslt; 
extensions use namespace URIs 
  +starting with:</p>
   <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan</code></p>
  -<p>If you are calling &xslt4j;-supplied extensions, we recommend that you 
define the corresponding namespace in your stylesheet, and call the extension 
using the namespace prefix that you have associated with that namespace. That 
way, if we later reorganize how the &xslt4j;-supplied extensions are stored, 
you won't have to modify your stylesheet.</p>
  -<p>For an example that uses this namespace, see <link 
anchor="ex-nodeset">Example with the nodeset extension function</link>.</p>
  +<p>If you are calling &xslt4j;-supplied extensions, we recommend that you 
define the corresponding 
  +namespace in your stylesheet, and call the extension using the namespace 
prefix that you have associated 
  +with that namespace. That way, if we later reorganize how the 
&xslt4j;-supplied extensions are stored, 
  +you won't have to modify your stylesheet.</p>
  +<p>For an example that uses this namespace, see <link 
anchor="ex-nodeset">Example with the nodeset 
  +extension function</link>.</p>
   </s2><anchor name="redirect"/>
   <s2 title= "Redirect">
  -<p>A standard XSL transformation involves an XSL stylesheet, an XML source 
tree, and the transformation result tree. The transformation sends the entire 
result to a single <jump 
href="apidocs/org/apache/trax/Result.html">org.apache.trax.Result</jump> 
object.</p> 
  -<p>The namespace for the <jump 
href="apidocs/org/apache/xalan/lib/Redirect.html">Redirect</jump> extension 
is:</p>
  +<p>A standard XSL transformation involves an XSL stylesheet, an XML source 
tree, and the transformation
  +result tree. The transformation sends the entire result to a single 
  +<jump 
href="apidocs/org/apache/trax/Result.html">org.apache.trax.Result</jump> 
object.</p> 
  +<p>The namespace for the <jump 
href="apidocs/org/apache/xalan/lib/Redirect.html">Redirect</jump> 
  +extension is:</p>
   
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan/redirect</code></p>
  -<p>It supplies three extension elements that you can use to redirect 
portions of your transformation output to multiple files: &lt;open&gt;, 
&lt;write&gt;, and &lt;close&gt;. If you use the &lt;write&gt; element alone, 
the extension opens a file, writes to it, and closes the file immediately. If 
you want explicit control over the opening and closing of files, use 
&lt;write&gt; in conjunction with the &lt;open&gt; and &lt;close&gt; 
elements.</p>
  -<p>The &lt;open&gt; and &lt;write&gt; elements include a file attribute 
and/or a select attribute to designate the output file. The file attribute 
takes a string, so you can use it to directly specify the output file name. The 
select attribute takes an XPath expression, so you can use it to dynamically 
generate the output file name. If you include both attributes, the Redirect 
extension first evaluates the select attribute, and falls back to the file 
attribute if the select attribute expression does not return a valid file 
name.</p>
  -<p>The &lt;open&gt; and &lt;write&gt; elements also support an append 
attribute. If the append attribute is set to true or yes, then the result is 
appended to the output file.</p>
  +<p>It supplies three extension elements that you can use to redirect 
portions of your transformation 
  +output to multiple files: &lt;open&gt;, &lt;write&gt;, and &lt;close&gt;. If 
you use the &lt;write&gt; 
  +element alone, the extension opens a file, writes to it, and closes the file 
immediately. If you want 
  +explicit control over the opening and closing of files, use &lt;write&gt; in 
conjunction with 
  +the &lt;open&gt; and &lt;close&gt; elements.</p>
  +<p>The &lt;open&gt; and &lt;write&gt; elements include a file attribute 
and/or a select attribute to 
  +designate the output file. The file attribute takes a string, so you can use 
it to directly specify 
  +the output file name. The select attribute takes an XPath expression, so you 
can use it to dynamically 
  +generate the output file name. If you include both attributes, the Redirect 
extension first evaluates 
  +the select attribute, and falls back to the file attribute if the select 
attribute expression does 
  +not return a valid file name.</p>
  +<p>The &lt;open&gt; and &lt;write&gt; elements also support an append 
attribute. If the append attribute 
  +is set to true or yes, then the result is appended to the output file.</p>
   <anchor name="ex-redirect"/> 
   <s3 title="Example with the Redirect extension">
  -<p>Suppose you are outputting the bulk of your result tree to one file, but 
you want to output the transformation of all &lt;foo&gt; elements and their 
children to another file. The following example illustrates the basic structure 
of the XML source:</p>
  +<p>Suppose you are outputting the bulk of your result tree to one file, but 
you want to output the 
  +transformation of all &lt;foo&gt; elements and their children to another 
file. The following example 
  +illustrates the basic structure of the XML source:</p>
   <source>&lt;?xml version="1.0"?&gt; 
   &lt;doc&gt;
     &lt;foo file="foo.out"&gt;
  @@ -171,16 +206,28 @@
       Testing Redirect extension:
       &lt;foobar-out&gt;foo subelement text node&lt;/foobar-out&gt;
     &lt;/foo-out&gt;</source>
  -<p>For more information on using the Redirect extension to send output to 
multiple files, examine the <link idref="samples" 
anchor="ext1">SimpleRedirect</link> sample and see the <jump 
href="apidocs/org/apache/xalan/lib/Redirect.html">Redirect</jump> class 
Javadoc.</p>  
  +<p>For more information on using the Redirect extension to send output to 
multiple files, examine 
  +the <link idref="samples" anchor="ext1">SimpleRedirect</link> sample and see 
the 
  +<jump href="apidocs/org/apache/xalan/lib/Redirect.html">Redirect</jump> 
class Javadoc.</p>  
   </s3></s2><anchor name="nodeset"/>
   <s2 title= "nodeset">
  -<p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
  +<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">
  +org.apache.xalan.lib.Extensions</jump>,<br/>
   <code>nodeset (result-tree-fragment)</code>  casts a result tree fragment 
into a node-set.</p>
  -<p>To use the nodeset extension, you can either use the <code>nodeset</code> 
function in the namespace <code>xmlns:xalan="http://xml.apache.org";</code> or 
the <link anchor="exslt">EXSLT</link> extension function <code>node-set</code> 
in the namespace <code>xmlns:common="http://exslt.org/common";</code>.</p>
  -<note>When you bind a variable to a template, rather than to the value 
generated by a select expression, the data type of the variable is result tree 
fragment. For more information, see <jump 
href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments";>Result Tree 
Fragments</jump>.</note>
  +<p>To use the nodeset extension, you can either use the <code>nodeset</code> 
function in the 
  +namespace <code>xmlns:xalan="http://xml.apache.org";</code> or the <link 
anchor="exslt">EXSLT</link> 
  +extension function <code>node-set</code> in the namespace 
  +<code>xmlns:common="http://exslt.org/common";</code>.</p>
  +<note>When you bind a variable to a template, rather than to the value 
generated by a select 
  +expression, the data type of the variable is result tree fragment. For more 
information, 
  +see <jump 
href="http://www.w3.org/TR/xslt#section-Result-Tree-Fragments";>Result Tree 
  +Fragments</jump>.</note>
   <anchor name="ex-nodeset"/>
   <s3 title="Example with the nodeset extension function">
  -<p>The following stylesheet uses the nodeset extension function to cast a 
result tree fragment into a node-set that can then be navigated in standard 
XPath manner. It uses the http://xml.apache.org/xalan namespace to provide 
access to the nodeset() method in xml.apache.xalan.lib.Extensions.</p>
  +<p>The following stylesheet uses the nodeset extension function to cast a 
result tree fragment 
  +into a node-set that can then be navigated in standard XPath manner. It uses 
the 
  +http://xml.apache.org/xalan namespace to provide access to the nodeset() 
method in 
  +xml.apache.xalan.lib.Extensions.</p>
   <source>&lt;?xml version="1.0"?&gt;
   &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
                      version="1.0"
  @@ -205,16 +252,20 @@
     &lt;/out>
   &lt;/xsl:template> 
   &lt;/xsl:stylesheet&gt;</source>
  -<p>The output of running this stylesheet (with any XML input source) is a 
comma-delimited list of the element names in the node-set<br/>
  +<p>The output of running this stylesheet (with any XML input source) is a 
comma-delimited list of 
  +the element names in the node-set<br/>
   
&nbsp;&nbsp;<code>&lt;out&gt;elem1,elem1a,elem1b,elem2,elem2a&lt;/out&gt;</code></p>
  -<note>For illustration purposes, the preceding stylesheet pays no attention 
to the structure and content of the XML input document. Instead, it processes 
the template (in the stylesheet) bound to the variable named rtf.</note>
  +<note>For illustration purposes, the preceding stylesheet pays no attention 
to the structure and 
  +content of the XML input document. Instead, it processes the template (in 
the stylesheet) bound 
  +to the variable named rtf.</note>
   
   </s3>
   </s2>
   <anchor name="nodeinfo"/>
   <s2 title="NodeInfo">
  -<p><jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">org.apache.xalan.lib.NodeInfo</jump>
 provides extension elements that you can
  -use to get information about the location of nodes in the source 
document:</p>
  +<p><jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">org.apache.xalan.lib.NodeInfo</jump>
 provides 
  +extension elements that you can use to get information about the location of 
nodes in the source 
  +document:</p>
   <ul>
   <li><link anchor="systemid">systemId</link></li>
   <li><link anchor="publicid">publicId</link> (to be done)</li>
  @@ -223,33 +274,43 @@
   </ul>
   <note>If you want to use the NodeInfo extension elements, you MUST set the 
TransformerFactory 
   <link idref="features" anchor="source_location">source_location</link> 
attribute to true. 
  -You can use the <link idref="commandline">command-line utility</link> -L 
flag or the <jump 
href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String,
 java.lang.Object)">TransformerFactory.setAttribute()</jump> 
  -method to set this attribute.</note>
  +You can use the <link idref="commandline">command-line utility</link> -L 
flag or the 
  +<jump 
href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String,
 
  +java.lang.Object)">TransformerFactory.setAttribute()</jump> method to set 
this attribute.</note>
   <anchor name="systemid"/>
   <s3 title="systemId">
  -<p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">org.apache.xalan.lib.NodeInfo</jump>,
  +<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/NodeInfo.html">
  +org.apache.xalan.lib.NodeInfo</jump>,
   <code>systemId()</code> returns the system ID for the current node, and
   <code>systemId(node-set)</code> returns the system ID of the first node in 
the node-set.</p>
   </s3><anchor name="publicid"/>
   <s3 title="publicId">
  -<p><em>To be done.</em> Implemented in <jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">org.apache.xalan.lib.NodeInfo</jump>,
  +<p><em>To be done.</em> Implemented in <jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">
  +org.apache.xalan.lib.NodeInfo</jump>,
   <code>publicId()</code> will return the public ID for the current node, and
   <code>publicId(node-set)</code> will return the public ID of the first node 
in the node-set.</p>
   </s3><anchor name="linenumber"/>
   <s3 title="lineNumber">
  -<p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">org.apache.xalan.lib.NodeInfo</jump>,
  +<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/NodeInfo.html">
  +org.apache.xalan.lib.NodeInfo</jump>,
   <code>lineNumber()</code> returns the line number in the source document for 
the current node, and
  -<code>lineNumber(node-set)</code> returns the line number in the source 
document for the first node in the node-set.</p>
  -<note>This function returns -1 if the line number is not known (for example, 
the source is a DOM Document).</note>
  +<code>lineNumber(node-set)</code> returns the line number in the source 
document for the first node 
  +in the node-set.</p>
  +<note>This function returns -1 if the line number is not known (for example, 
the source is a 
  +DOM Document).</note>
   </s3><anchor name="columnnumber"/>
   <s3 title="columnNumber">
  -<p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/NodeInfo.html">org.apache.xalan.lib.NodeInfo</jump>,
  -<code>columnNumber()</code> returns the column number in the source document 
for the current node, and
  -<code>columnNumber(node-set)</code> returns the column number in the source 
document for the first node in the node-set.</p>
  -<note>This function returns -1 if the column number is not known (for 
example, the source is a DOM Document).</note>
  +<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/NodeInfo.html">
  +org.apache.xalan.lib.NodeInfo</jump>, <code>columnNumber()</code> returns 
the column number in the 
  +source document for the current node, and 
<code>columnNumber(node-set)</code> returns the column 
  +number in the source document for the first node in the node-set.</p>
  +<note>This function returns -1 if the column number is not known (for 
example, the source is a DOM 
  +Document).</note>
   </s3></s2><anchor name="sql"/>
   <s2 title= "SQL library">
  -<note>For UML Diagrams of the SQL Library, see <jump 
href="http://xml.apache.org/xalan-j/Xalan-SQL-Extension/DiagramIndex.html";>SQL 
Library UML Diagrams</jump>.</note>
  +<note>For UML Diagrams of the SQL Library, see 
  +<jump 
href="http://xml.apache.org/xalan-j/Xalan-SQL-Extension/DiagramIndex.html";>SQL 
Library 
  +UML Diagrams</jump>.</note>
   <ul>
   <li><link anchor="sqlconn">Setting up a connection</link></li>
   <li><link anchor="sqlparam">Parameterized queries</link></li>
  @@ -258,40 +319,56 @@
   </ul>
   <p>The namespace for the SQL extension is:</p>
   
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan/sql</code></p>
  -<p>The SQL extension provides extension functions for connecting to a JDBC 
data source, executing a query,
  -and working incrementally through a "streamable" result set. Streaming 
(reuse of a single row node to traverse the result set) is the default mode of 
operation. If you want unlimited access to the entire result set, you can cache 
the query result set (1 row node for each row in the result set).</p>
  -<p><em>If you use streaming mode (the default), you can only access row 
elements one at a time moving forward through the result set. The use of XPath 
expressions in your stylesheet, for example, that attempt to return nodes from 
the result set in any other manner may produce unpredictable results.</em></p>
  -<note>Many features of the SQL library, including support for connection 
pools, parameterized queries, caching, and added support for extracting 
connection information and query parameters from XML source documents exist 
thanks to John Gentilin ([EMAIL PROTECTED]), who has also added a number of 
<link idref="samples" anchor="sql">SQL library samples</link>.</note>
  -<p><jump 
href="apidocs/org/apache/xalan/lib/sql/XConnection.html">org.apache.xalan.lib.sql.XConnection</jump>
 provides a number of extension functions that you can use in your 
stylesheet.</p>
  +<p>The SQL extension provides extension functions for connecting to a JDBC 
data source, executing 
  +a query, and working incrementally through a "streamable" result set. 
Streaming (reuse of a single 
  +row node to traverse the result set) is the default mode of operation. If 
you want unlimited access 
  +to the entire result set, you can cache the query result set (1 row node for 
each row in the result 
  +set).</p>
  +<p><em>If you use streaming mode (the default), you can only access row 
elements one at a time moving 
  +forward through the result set. The use of XPath expressions in your 
stylesheet, for example, that 
  +attempt to return nodes from the result set in any other manner may produce 
unpredictable 
  +results.</em></p>
  +<note>Many features of the SQL library, including support for connection 
pools, parameterized queries, 
  +caching, and added support for extracting connection information and query 
parameters from XML source 
  +documents exist thanks to John Gentilin ([EMAIL PROTECTED]), who has also 
added a number 
  +of <link idref="samples" anchor="sql">SQL library samples</link>.</note>
  +<p><jump href="apidocs/org/apache/xalan/lib/sql/XConnection.html">
  +org.apache.xalan.lib.sql.XConnection</jump> provides a number of extension 
functions that you can 
  +use in your stylesheet.</p>
       <ol>
  -      <li>new() -- Use one of the XConnection constructors to connect to a 
data source, and return an XConnection
  -       object. You can use one of the constructors creates a connection pool 
from which stylesheets can obtain connections 
  -       to a datasource. To support connection pools, SQL library includes a 
ConnectionPool interface and a implementation:
  -       DefaultConnectionPool. You can also provide your own ConnectionPool 
implementation.<br/><br/></li>
  -      <li>query() -- Use the XConnection object query() method to return a 
"streamable" result set in the form of a row-set
  -       node. Work your way through the row-set one row at a time. The same 
row element is used over and over again, so you can
  -       begin "transforming" the row-set before the entire result set has 
been returned.<br/><br/></li>
  -       <li>pquery(), addParameter(), addParameterFromElement(), 
clearParameters() -- Use the XConnection pquery() method in 
  -       conjunction with these other methods to set up and execute 
parameterized queries.<br/><br/></li>
  -       <li>Use enableStreamingMode() to use a single row node to "stream" 
through the result set, and disableStreamingMode()
  -        to cache the query result set. <br/><br/></li>
  +      <li>new() -- Use one of the XConnection constructors to connect to a 
data source, and return an 
  +       XConnection object. You can use one of the constructors creates a 
connection pool from which 
  +       stylesheets can obtain connections to a datasource. To support 
connection pools, SQL library 
  +       includes a ConnectionPool interface and a implementation: 
DefaultConnectionPool. You can also 
  +       provide your own ConnectionPool implementation.<br/><br/></li>
  +      <li>query() -- Use the XConnection object query() method to return a 
"streamable" result set in 
  +       the form of a row-set node. Work your way through the row-set one row 
at a time. The same row 
  +       element is used over and over again, so you can begin "transforming" 
the row-set before the 
  +       entire result set has been returned.<br/><br/></li>
  +       <li>pquery(), addParameter(), addParameterFromElement(), 
clearParameters() -- Use the XConnection 
  +       pquery() method in conjunction with these other methods to set up and 
execute parameterized 
  +       queries.<br/><br/></li>
  +       <li>Use enableStreamingMode() to use a single row node to "stream" 
through the result set, and 
  +       disableStreamingMode() to cache the query result set. <br/><br/></li>
         <li>close() -- Use the XConnection object close() method to terminate 
the connection.</li>      
       </ol>
  -    <p>The query() and pquery() extension functions return a Document node 
that contains (as needed) an array of column-header elements, 
  -    a single row element that is used repeatedly, and an array of col 
elements. Each column-header element (one per column in
  -    the row-set) contains an attribute (ColumnAttribute) for each of the 
column descriptors in the ResultSetMetaData object. 
  -    Each col element contains a text node with a textual representation of 
the value for that column in the current row.</p>
  +    <p>The query() and pquery() extension functions return a Document node 
that contains (as needed) 
  +    an array of column-header elements, a single row element that is used 
repeatedly, and an array 
  +    of col elements. Each column-header element (one per column in the 
row-set) contains an attribute 
  +    (ColumnAttribute) for each of the column descriptors in the 
ResultSetMetaData object.  Each col 
  +    element contains a text node with a textual representation of the value 
for that column in the 
  +    current row.</p>
       <anchor name="sqlconn"/>
       <s3 title="Setting up a connection">
  -    <p>You can place connection information (JDBC driver, datasource URL, 
and usually user ID and password) in stylesheets or
  -     in XML source documents.</p> 
  -     <p>The following stylesheet fragment uses stylesheet parameters to 
designate a JDBC driver and datasource. The default
  -     parameter values can be overridden with runtime parameter values.</p>
  +    <p>You can place connection information (JDBC driver, datasource URL, 
and usually user ID and 
  +     password) in stylesheets or in XML source documents.</p> 
  +     <p>The following stylesheet fragment uses stylesheet parameters to 
designate a JDBC driver and 
  +     datasource. The default parameter values can be overridden with runtime 
parameter values.</p>
        <source>&lt;xsl:param name="driver" 
select="'org.enhydra.instantdb.jdbc.idbDriver'"/&gt;
   &lt;xsl:param name="datasource" 
select="'jdbc:idb:../../instantdb/sample.prp'"/&gt;
   &lt;xsl:param name="query" select="'SELECT * FROM import1'"/&gt;</source>
  -      <p>You can also obtain connection information from the XML source 
document that you use for the transformationl. Suppose 
  -      you have the following DBINFO nodeset in an XML document:</p>
  +      <p>You can also obtain connection information from the XML source 
document that you use for the 
  +      transformationl. Suppose you have the following DBINFO nodeset in an 
XML document:</p>
         <source>&lt;DBINFO&gt;
     &lt;dbdriver&gt;org.enhydra.instantdb.jdbc.idbDriver&lt;/dbdriver&gt;
     &lt;dburl&gt;jdbc:idb:../../instantdb/sample.prp&lt;/dburl&gt;
  @@ -306,7 +383,8 @@
   &nbsp;&nbsp;&lt;xsl:param name="cinfo" select="//DBINFO"/&gt;
   &nbsp;&nbsp;&lt;xsl:variable name="db" select="sql:new($cinfo)"/&gt;
   ....</source> 
  -      <p>For an example of both approaches, see <link idref="samples" 
anchor="basic-conn">Basic Connection</link> samples.</p>
  +      <p>For an example of both approaches, see <link idref="samples" 
anchor="basic-conn">Basic 
  +      Connection</link> samples.</p>
         <p>You can also create a named connection pool that is maintained 
external to &xslt4j;.</p>
         <source>import org.apache.xalan.lib.sql.DefaultConnectionPool;
   import org.apache.xalan.lib.sql.XConnectionPoolManager;
  @@ -332,13 +410,15 @@
         <p>For an example, see the <link idref="samples" 
anchor="ext-conn">ExternalConnection</link> sample.</p>
       </s3><anchor name="sqlparam"/>
       <s3 title="Parameterized queries">
  -      <p>To define a parameterized query, use a SQL query string with a 
question mark (?) for each parameter. You can provide 
  -      the parameter values at runtime with stylesheet parameters or with 
nodes in the XML source document. For each parameter, 
  -      you should also designate the SQL data type.</p>
  -      <p>XConnection provides a number of addParameter() methods and an 
addParameterFromElement() method that you can use 
  -      as extension functions to pull in the parameter values (in the order 
the parameters appear in the query). To
  -      execute the query and return the result set, call the pquery() method 
as an extension function. There are two variations 
  -      of the pquery() method. The one you should ordinarily use includes as 
arguments the SQL query string and a string list 
  +      <p>To define a parameterized query, use a SQL query string with a 
question mark (?) for each 
  +      parameter. You can provide 
  +      the parameter values at runtime with stylesheet parameters or with 
nodes in the XML source document. 
  +      For each parameter, you should also designate the SQL data type.</p>
  +      <p>XConnection provides a number of addParameter() methods and an 
addParameterFromElement() method 
  +      that you can use as extension functions to pull in the parameter 
values (in the order the 
  +      parameters appear in the query). To execute the query and return the 
result set, call the pquery() 
  +      method as an extension function. There are two variations of the 
pquery() method. The one you 
  +      should ordinarily use includes as arguments the SQL query string and a 
string list 
         (delimited by the space, tab, or line feeds) of parameter types. For 
example:</p>
         <source>&lt;xsl:variable name="resultset" 
           select=sql:pquery($XConnectionObj, 
  @@ -403,22 +483,26 @@
     
     </s2><anchor name="pipedocument"/>
     <s2 title="pipeDocument">
  -  <p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/PipeDocument.html">org.apache.xalan.lib.PipeDocument</jump>,<br/>
  -  the pipeDocument extension element pipes an XML document through a series 
of one or more transformations. The output of
  -  each transformation is piped to the next transformation. The final 
transofrmation creates a target file.</p>
  +  <p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/PipeDocument.html">
  +  org.apache.xalan.lib.PipeDocument</jump>,<br/>
  +  the pipeDocument extension element pipes an XML document through a series 
of one or more 
  +  transformations. The output of each transformation is piped to the next 
transformation. The 
  +  final transofrmation creates a target file.</p>
     <p>The namespace for the pipeDocument extension is:</p>
     
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http://xml.apache.org/xalan/PipeDocument</code></p>
   
  -  <p>Suppose, for example,you have a stylesheet that is processing a "book" 
document with elements designating the 
  -  documents to be transformed. This primary stylesheet generates a table of 
contents for the book. For each source 
  -  document it uses a pipeDocument extension element to pipe the document 
through a series of one or more transformations.</p>
  +  <p>Suppose, for example,you have a stylesheet that is processing a "book" 
document with elements 
  +  designating the documents to be transformed. This primary stylesheet 
generates a table of 
  +  contents for the book. For each source document it uses a pipeDocument 
extension element to pipe 
  +  the document through a series of one or more transformations.</p>
     <s3 title="Sample: generating a table of contents and an HTML 
&quot;book&quot;">
       <p>An XML "book" document contains a number of doc elements like the 
following:<br/>
       <code>&lt;doc source="sources/intro.xml" id="intro" 
label="Introduction"&gt;</code></p>
       <p>The source attribute identifies the document to be transformed, the 
id is the output file name, 
       and the primary stylesheet places the label in the table-of-contents 
link.</p>
  -    <p>The stylesheet declares the pipeDocument namespace, designates the 
namespace prefix as an extension element prefix,
  -    and contains a parameter designating where the output files are to be 
placed:</p>
  +    <p>The stylesheet declares the pipeDocument namespace, designates the 
namespace prefix as an 
  +    extension element prefix, and contains a parameter designating where the 
output files are to 
  +    be placed:</p>
     <source>&lt;xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
      xmlns:pipe="http://xml.apache.org/xalan/PipeDocument";
  @@ -426,10 +510,11 @@
      
   &lt;xsl:param  name="destdir" value="html/output"&gt;
   ...</source>
  -<p>This stylesheet contains a template where each doc element is processed. 
For each doc element, the stylesheet adds an 
  -entry to the table-of-contents document. The extension element pipes the 
specified document through a series of two 
  -transformations, with an stylesheet input parameter for the first 
transformation. The pipeDocument target attribute 
  -designates the output from the second transformation.</p>
  +<p>This stylesheet contains a template where each doc element is processed. 
For each doc element, the 
  +stylesheet adds an entry to the table-of-contents document. The extension 
element pipes the specified 
  +document through a series of two transformations, with an stylesheet input 
parameter for the first 
  +transformation. The pipeDocument target attribute designates the output from 
the second 
  +transformation.</p>
   
   <source>&lt;xsl:template match="doc"&gt;
     &lt;p&gt;
  @@ -448,20 +533,23 @@
      <p>Notes:</p>
      <ul>
      <li>The base URI for the source attribute is the XML "book" document.</li>
  -   <li>The target attribute is taken as is (the base is the current user 
directory from which this transformation is being run).</li>
  +   <li>The target attribute is taken as is (the base is the current user 
directory from which this 
  +       transformation is being run).</li>
      <li>The stylsheet containg the extension element is the base URI for the 
stylesheet hrefs.</li>
      </ul>
   </s3>
   <s3 title="Variation: using pipeDocument in an empty stylesheet">
  -<p>Suppose you want to pipe a document through a series of transformations. 
You can use the pipeDocument extension element
  -to perform this operation by placing the extension element in an otherwise 
empty stylesheet.</p>
  -<p>The following stylesheet is used to merge the &xslt; documents into a 
book (the first transformation), and transform the book
  -into a tree of formatting objects, which can then be used to generate a PDF 
file. This transformation is invoked as follows:</p>
  +<p>Suppose you want to pipe a document through a series of transformations. 
You can use the pipeDocument 
  +extension element to perform this operation by placing the extension element 
in an otherwise empty 
  +stylesheet.</p>
  +<p>The following stylesheet is used to merge the &xslt; documents into a 
book (the first transformation), 
  +and transform the book into a tree of formatting objects, which can then be 
used to generate a PDF file. 
  +This transformation is invoked as follows:</p>
   <p><code>java org.apache.xalan.xslt.Process -in printbook.xml</code><br/>
   <code> -param source printbook.xml</code><br/>
   <code> -param target xalanbook.fo</code></p>
  -<p>There is no XML input document or output document for the primary 
transformation, which does no more than invoke
  -the extension element.</p>
  +<p>There is no XML input document or output document for the primary 
transformation, which does no more 
  +than invoke the extension element.</p>
   <source>&lt;?xml version='1.0'?&gt;
   
   &lt;xsl:stylesheet version="1.0"
  @@ -488,24 +576,28 @@
   </s3>  
     </s2><anchor name="evaluate"/>
     <s2 title= "evaluate">
  -  <p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
  -<code>evaluate (xpath-expression)</code> function returns the result of 
evaluating the xpath-expression in the current 
  -XPath expression context (automatically passed in by the extension 
mechanism).</p>
  +  <p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/Extensions.html">
  +  org.apache.xalan.lib.Extensions</jump>,<br/>
  +<code>evaluate (xpath-expression)</code> function returns the result of 
evaluating the xpath-expression 
  +in the current XPath expression context (automatically passed in by the 
extension mechanism).</p>
   <p>Use the evaluation extension function when the value of the expression is 
not known until run time.</p>
  -<note>Although you can still use the evaluate extension function in the main 
Extensions class, the preferred solution
  -is to use the same function in the EXSLT dynamic package. This will make 
your stylesheet more portable across XSLT
  -processors that support EXSLT extensions.</note>
  +<note>Although you can still use the evaluate extension function in the main 
Extensions class, the 
  +preferred solution is to use the same function in the EXSLT dynamic package. 
This will make your 
  +stylesheet more portable across XSLT processors that support EXSLT 
extensions.</note>
   </s2><anchor name="tokenize"/>
   <s2 title="tokenize">
  -<p>Implemented in <jump 
href="apidocs/org/apache/xalan/lib/Extensions.html">org.apache.xalan.lib.Extensions</jump>,<br/>
  +<p>Implemented in <jump href="apidocs/org/apache/xalan/lib/Extensions.html">
  +org.apache.xalan.lib.Extensions</jump>,<br/> 
   <code>tokenize (tokenize-string, delimiters)</code><br/>
   or<br/>
  -<code>tokenize (tokenize-string)</code> function returns a node-set 
containing one text node for each token in the tokenize-string.</p>
  -<p>The delimiters determine which characters are used to divide the 
tokenize-string into individual tokens. If you do not include
  -the delimiters argument, the function uses tab (&amp;#x09), linefeed 
(&amp;#x0A), return (&amp;#x0D), and space (&amp;#x20) as delimiters.
  -If tokenize-string is an empty string or contains only delimiters, the 
result is an empty node-set.</p>
  -<note>Although you can still use the tokenize extension function in the main 
Extensions class, the preferred solution
  -is to use the same function in the EXSLT strings package. This will make 
your stylesheet more portable across XSLT
  -processors that support EXSLT extensions.</note>
  +<code>tokenize (tokenize-string)</code> function returns a node-set 
containing one text node for each 
  +token in the tokenize-string.</p>
  +<p>The delimiters determine which characters are used to divide the 
tokenize-string into individual 
  +tokens. If you do not include the delimiters argument, the function uses tab 
(&amp;#x09), linefeed 
  +(&amp;#x0A), return (&amp;#x0D), and space (&amp;#x20) as delimiters. if 
tokenize-string is an empty 
  +string or contains only delimiters, the result is an empty node-set.</p>
  +<note>Although you can still use the tokenize extension function in the main 
Extensions class, the 
  +preferred solution is to use the same function in the EXSLT strings package. 
This will make your 
  +stylesheet more portable across XSLT processors that support EXSLT 
extensions.</note>
   </s2>
   </s1>
  
  
  
  1.53      +3 -0      xml-xalan/java/xdocs/sources/xalan/usagepatterns.xml
  
  Index: usagepatterns.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/usagepatterns.xml,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- usagepatterns.xml 20 Feb 2003 18:49:17 -0000      1.52
  +++ usagepatterns.xml 21 Feb 2003 20:10:08 -0000      1.53
  @@ -77,6 +77,9 @@
   <li><link anchor="debugging">Debugger interface</link></li>
   </ul>
   <p>See also: <link idref="features">Transform Features</link>.</p>
  +<note>Unless otherwise specified, the usage discussed in this section refers 
to 
  +the &xslt4j; Interpretive processor. See <link idref="xsltc_usage">Getting 
Started Using  
  +XSLTC</link> for information on using the &xslt4j; Compiling 
processor.</note><br></br>
   <anchor name="basic"/>
     <s2 title="Basic steps">
       <ol>
  
  
  
  1.24      +298 -100  xml-xalan/java/xdocs/sources/xalan/extensions.xml
  
  Index: extensions.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/extensions.xml,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- extensions.xml    4 Feb 2003 20:36:17 -0000       1.23
  +++ extensions.xml    21 Feb 2003 20:10:08 -0000      1.24
  @@ -69,19 +69,52 @@
   <li><link anchor="ext-functions">Using extension functions</link></li>
   <li><link anchor="java-namespace">Alternative: using the abbreviated syntax 
for extensions implemented in Java</link></li>
   <li>Examples: <link anchor="ex-basic">basic JavaScript example</link>, <link 
anchor="ex-java-namespace">using the java namespace</link>, <link 
anchor="ex-java">using a Java Hashtable</link>, <link 
anchor="ex-javascript">using a JavaScript array</link></li>
  -</ul><anchor name="intro"/>
  -  <s2 title="Introduction">
  -  <p>For those situations where you would like to augment the functionality 
of XSLT with calls to a procedural language, &xslt4j; supports the creation and 
use of extension elements and extension functions. &xslt4j; also provides a 
growing <link idref="extensionslib">extensions library</link> available for 
your use. An extension (a collection of elements and functions) inhabits a 
namespace, either a namespace you declare and designate as an extensions 
namespace, or one of the predefined namespaces that &xslt4j; provides. For 
information about XML namespaces, see <jump 
href="http://www.w3.org/TR/REC-xml-names/";>Namespaces in XML</jump>.</p>
  -
  -<p><em>Extension elements:</em>  Unlike a literal result element, which the 
stylesheet simply transfers to the result tree, an extension element performs 
an action. For example, you can use the Redirect extension elements shipped 
with &xslt4j; to redirect portions of your transformation output to one or more 
files. Extension elements may contain attributes, text nodes, other elements, 
basically any valid XML. Extension elements may perform quite sophisticated 
actions, given that the extension routine (the implementation) has direct 
access to the XSLT processor context object and to the element. In many cases 
the implementation returns void or null; if it does return a value, that value 
is placed in the transformation result tree.</p>
  -
  -<p><em>Extension functions:</em>  You can think of extension functions as 
extending the core library of functions that XPath provides. An extension 
function passes arguments to the extension implementation and returns a value. 
You can use extension functions to return values that XSLT can interact with 
directly (node-set, result tree fragment, string, boolean, and number) as well 
as values (of any type) that you pass in turn to other extension functions. 
Extension functions written in Java can also access certain items in the XSLT 
execution environment through an <jump 
href="apidocs/org/apache/xalan/extensions/ExpressionContext.html">ExpressionContext</jump>
 interface.</p>
  -
  -<p>XSLT extensions are specified in the <jump 
href="http://www.w3.org/TR/xslt#extension";>XSLT Recommendation</jump>.  This 
document focuses on the &xslt4j; implementation of those requirements, not on 
XSLT extensions in general. For additional information on extensions, consult 
the Recommendation or the other resources listed in <link idref="overview" 
anchor="uptospeed">Getting up to speed with XSLT</link>.</p>
  -</s2><anchor name="supported-lang"/>
  +</ul>
  +<note>Unless otherwise specified, the &xslt4j; extensions discussed in this 
section refers to 
  +the &xslt4j; Interpretive processor. See <link 
idref="extensions_xsltc">Extensions for &xslt4jc-short;</link> for 
  +more information.</note><br></br>
  +<anchor name="intro"/>
  +<s2 title="Introduction">
  +  <p>For those situations where you would like to augment the functionality 
of XSLT with calls to a 
  +     procedural language, &xslt4j; supports the creation and use of 
extension elements and extension 
  +     functions. &xslt4j; also provides a growing <link 
idref="extensionslib">extensions library</link> 
  +     available for your use. An extension (a collection of elements and 
functions) inhabits a namespace, 
  +     either a namespace you declare and designate as an extensions 
namespace, or one of the predefined 
  +     namespaces that &xslt4j; provides. For information about XML 
namespaces, see 
  +     <jump href="http://www.w3.org/TR/REC-xml-names/";>Namespaces in 
XML</jump>.</p>
  +  <p><em>Extension elements:</em>  Unlike a literal result element, which 
the stylesheet simply 
  +     transfers to the result tree, an extension element performs an action. 
For example, you can use 
  +     the Redirect extension elements shipped with &xslt4j; to redirect 
portions of your transformation 
  +     output to one or more files. Extension elements may contain attributes, 
text nodes, other elements, 
  +     basically any valid XML. Extension elements may perform quite 
sophisticated actions, given that 
  +     the extension routine (the implementation) has direct access to the 
XSLT processor context object 
  +     and to the element. In many cases the implementation returns void or 
null; if it does return a 
  +     value, that value is placed in the transformation result tree.</p>
  +  <p><em>Extension functions:</em>  You can think of extension functions as 
extending the core library 
  +     of functions that XPath provides. An extension function passes 
arguments to the extension 
  +     implementation and returns a value. You can use extension functions to 
return values that XSLT 
  +     can interact with directly (node-set, result tree fragment, string, 
boolean, and number) as well 
  +     as values (of any type) that you pass in turn to other extension 
functions. Extension functions 
  +     written in Java can also access certain items in the XSLT execution 
environment through an 
  +     <jump 
href="apidocs/org/apache/xalan/extensions/ExpressionContext.html">ExpressionContext</jump>
 
  +     interface.</p>
  +  <p>XSLT extensions are specified in the <jump 
href="http://www.w3.org/TR/xslt#extension";>XSLT 
  +     Recommendation</jump>.  This document focuses on the &xslt4j; 
implementation of those 
  +     requirements, not on XSLT extensions in general. For additional 
information on extensions, 
  +     consult the Recommendation or the other resources listed in <link 
idref="overview" 
  +     anchor="uptospeed">Getting up to speed with XSLT</link>.</p>
  +</s2>
  +<anchor name="supported-lang"/>
   <s2 title="Supported languages">
  -<p>Extensions written in Java are directly supported by &xslt4j;.  For 
extensions written in languages other than Java, &xslt4j; uses the 
<resource-ref idref="bsf"/>, an architecture for incorporating scripting into 
Java applications and applets. BSF allows an application to take advantage of 
scripting while being independent of any specific scripting language. To date, 
we have tested extensions implemented in JavaScript. Other languages with BSF 
support appear in the table below.</p>
  -<p>BSF requires bsf.jar on the classpath. This JAR file is shipped with 
&xslt4j; and is required only if you have extensions written in languages other 
than Java. The additional JAR files or DLLs required to support extensions 
written in other languages are listed in the table below. These files are 
available from the sources indicated and are not shipped with &xslt4j;.</p>
  +<p>Extensions written in Java are directly supported by &xslt4j;.  For 
extensions written in languages 
  +   other than Java, &xslt4j; uses the <resource-ref idref="bsf"/>, an 
architecture for incorporating 
  +   scripting into Java applications and applets. BSF allows an application 
to take advantage of 
  +   scripting while being independent of any specific scripting language. To 
date, we have tested 
  +   extensions implemented in JavaScript. Other languages with BSF support 
appear in the table below.</p>
  +<p>BSF requires bsf.jar on the classpath. This JAR file is shipped with 
&xslt4j; and is required 
  +   only if you have extensions written in languages other than Java. The 
additional JAR files or DLLs 
  +   required to support extensions written in other languages are listed in 
the table below. These files 
  +   are available from the sources indicated and are not shipped with 
&xslt4j;.</p>
   <table>
     <tr>
       <td><em>Language</em></td>
  @@ -91,8 +124,7 @@
     <tr>
       <td>Mozilla Rhino (JavaScript)<br/><br/></td>
       <td>1.5<br/><br/></td>
  -    <td>js.jar available from 
  -                                 http://www.mozilla.org/rhino<br/><br/></td>
  +    <td>js.jar available from http://www.mozilla.org/rhino<br/><br/></td>
     </tr>
     <tr>
       <td>NetRexx<br/><br/></td>
  @@ -129,24 +161,37 @@
   </table>
   </s2><anchor name="basic-pattern"/>
   <s2 title="The basic pattern">
  -<p>Let's examine a simple example. The stylesheet below uses an extension 
element and an extension function to transform an element in the XML source 
into a statement in the output indicating the date by which a customer can 
expect a response to a given enquiry.</p>
  -
  -<p>The source element contains a numdays attribute. The extension element 
contains a multiplier attribute, which is used to set a variable in the 
extension. The extension function computes the deadline, that is the current 
date plus numdays * multiplier. So for &lt;deadline numdays="3"/&gt; (in the 
XML source) and &lt;my-ext:timelapse multiplier="2"/&gt; (in the stylesheet), 
the extension computes a deadline 6 days from now, and the stylesheet template 
transforms the deadline element into a string along the lines of 
<code>&lt;p&gt;We have logged your enquiry and will respond by April 29, 2000 
12:07:16 PM EST.&lt;/p&gt;</code></p>
  -<note>The extension function could include both numdays and multiplier as 
arguments, thus bypassing the need for the extension element, but the purpose 
here is to illustrate the usage pattern for extension elements.</note>
  +<p>Let's examine a simple example. The stylesheet below uses an extension 
element and an 
  +   extension function to transform an element in the XML source into a 
statement in the output 
  +   indicating the date by which a customer can expect a response to a given 
enquiry.</p>
  +
  +<p>The source element contains a numdays attribute. The extension element 
contains a multiplier 
  +   attribute, which is used to set a variable in the extension. The 
extension function computes the 
  +   deadline, that is the current date plus numdays * multiplier. So for 
&lt;deadline numdays="3"/&gt; 
  +   (in the XML source) and &lt;my-ext:timelapse multiplier="2"/&gt; (in the 
stylesheet), the 
  +   extension computes a deadline 6 days from now, and the stylesheet 
template transforms the 
  +   deadline element into a string along the lines of <code>&lt;p&gt;We have 
logged your enquiry 
  +   and will respond by April 29, 2000 12:07:16 PM EST.&lt;/p&gt;</code></p>
  +<note>The extension function could include both numdays and multiplier as 
arguments, thus bypassing 
  +   the need for the extension element, but the purpose here is to illustrate 
the usage pattern for 
  +   extension elements.</note>
   <p>As you review this stylesheet, please note the following:</p>
   <ol>
  -       <li>The declaration of the xalan namespace, which provides support 
for the component and
  -     component/script elements:<br/><br/>
  +  <li>The declaration of the xalan namespace, which provides support for the 
component and
  +      component/script elements:<br/><br/>
       <code>xmlns:xalan="http://xml.apache.org/xalan";</code><br/><br/></li>
  -    <li>The declaration of a namespace for this extension:<br/><br/>
  +  <li>The declaration of a namespace for this extension:<br/><br/>
       <code>xmlns:my-ext="ext1"</code><br/><br/></li>
  -     <li>The designation of this namespace prefix as an extension prefix. 
This causes any element in the namespace associated with this prefix to be 
treated as an extension element rather than a literal result element.<br/><br/>
  +  <li>The designation of this namespace prefix as an extension prefix. This 
causes any element in the 
  +      namespace associated with this prefix to be treated as an extension 
element rather than a literal 
  +      result element.<br/><br/>
        <code>extension-element-prefixes="my-ext"</code><br/><br/></li>
  -       <li>The xalan:component with attributes designating the namespace 
prefix and the elements and
  +  <li>The xalan:component with attributes designating the namespace prefix 
and the elements and
        functions this extension provides.<br/><br/></li>
  -     <li>The xalan:script subelement with a JavaScript implementation of the 
extension. For Java
  +  <li>The xalan:script subelement with a JavaScript implementation of the 
extension. For Java
        extensions, the xalan:script element has a src attribute that you set 
to identify the Java class.</li>
  -</ol><anchor name="ex-basic"/>   
  +</ol>
  +<anchor name="ex-basic"/>   
   <source>&lt;?xml version="1.0"?&gt;
   &lt;!--Namespaces are global if you set them in the stylesheet element--&gt;
   &lt;xsl:stylesheet 
  @@ -188,12 +233,21 @@
   
   &lt;/xsl:stylesheet&gt;
   </source>
  -</s2><anchor name="setup-runtime"/>
  +</s2>
  +<anchor name="setup-runtime"/>
   <s2 title="Setting up the runtime environment">
  -<p>To run the preceding example, bsf.jar and js.jar must be on the 
classpath. Remember that bsf.jar must be on the classpath to run any extension 
written in a language other than Java. For extensions implemented in a 
scripting language, see the additional requirements in <link 
anchor="supported-lang">Supported languages</link>.</p>
  -</s2><anchor name="basic-syntax"/>
  +<p>To run the preceding example, bsf.jar and js.jar must be on the 
classpath. Remember that bsf.jar 
  +   must be on the classpath to run any extension written in a language other 
than Java. For extensions 
  +   implemented in a scripting language, see the additional requirements in 
  +   <link anchor="supported-lang">Supported languages</link>.</p>
  +</s2>
  +<anchor name="basic-syntax"/>
   <s2 title="Syntax">
  -<p>You can always use the pattern illustrated above to set up and use 
extension elements and extension functions. For extension elements and 
functions implemented in Java, it is recommended that you use the abbreviated 
syntax, described in <link anchor="java-namespace">Alternative: using the 
abbreviated syntax for extensions implemented in Java</link>. Unless you are 
using the abbreviated syntax, do the following:</p>
  +<p>You can always use the pattern illustrated above to set up and use 
extension elements and extension 
  +   functions. For extension elements and functions implemented in Java, it 
is recommended that you use 
  +   the abbreviated syntax, described in <link 
anchor="java-namespace">Alternative: using the abbreviated 
  +   syntax for extensions implemented in Java</link>. Unless you are using 
the abbreviated syntax, do 
  +   the following:</p>
   <s3 title="1. Declare the xalan namespace">
   <p><br/><code>xmlns:xalan="http://xml.apache.org/xalan";</code></p>
   <p>The xalan namespace provides support for the xalan:component element and 
xalan:script subelement.</p>
  @@ -201,11 +255,14 @@
   </s3>
   <s3 title="2. Declare a unique namespace for each extension prefix">
   <p><br/><code>xmlns:<ref>prefix</ref>=<ref>URI</ref></code></p>
  -<p>The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> is an 
arbitrary (but unique) string that matches the value of the prefix attribute of 
an xalan:component element in the stylesheet.<br/>
  +<p>The <ref>prefix</ref> identifies the namespace, and <ref>URI</ref> is an 
arbitrary (but unique) 
  +string that matches the value of the prefix attribute of an xalan:component 
element in the 
  +stylesheet.<br/>
   Example: <code>xmlns:ext1="xyz"</code><br/><br/></p>
   </s3>
   <s3 title="3. If you are using extension elements, designate the extension 
element prefixes">
  -<p><br/>This step is required only if you are using extension elements.  If 
you are using extension functions only, you can skip this step.</p>
  +<p><br/>This step is required only if you are using extension elements.  If 
you are using extension 
  +functions only, you can skip this step.</p>
   <p>In the stylesheet element, write:</p> 
   <p><code>extension-element-prefixes="<ref>prefix-1 prefix-2 
...</ref>"</code></p>
   <p>In a literal result element or extension element include the xsl 
prefix:</p>
  @@ -213,7 +270,8 @@
   <p>Keep in mind that where you declare namespaces and designate extension 
prefixes determines the scope of those namespaces.To make your extensions 
available throughout the stylesheet, include these settings and attribute in 
the stylesheet element.</p>
   </s3>
   <s3 title="4. (Optional) Exclude the extension namespace declaration from 
the result tree">
  -<p><br/>By default, namespace declarations are included in the 
transformation output. To exclude namespaces from the output, use</p>
  +<p><br/>By default, namespace declarations are included in the 
transformation output. To exclude 
  +namespaces from the output, use</p>
   <p><code>exclude-result-prefixes="<ref>prefix-1 prefix-2 
...</ref>"</code></p>
   <p>in the stylesheet element or</p>
   <p><code>xsl:exclude-result-prefixes="<ref>prefix-1 prefix-2 
...</ref>"</code></p> 
  @@ -226,20 +284,27 @@
      <code>&nbsp;&nbsp;&nbsp;&nbsp;elements="<ref>elem-1 elem-2 
...elem-n</ref>"&gt;</code><br/>
      <code>&nbsp;&nbsp;&lt;!--See xalan:script below--&gt;</code><br/>
      <code>&lt;/xalan:component&gt;</code></p>
  -<p>where <ref>func-1 func-2 ... func-n</ref> and <ref>elem-1 elem-2 ... 
elem-n</ref> designate the functions and elements the extension provides and 
the stylesheet uses. You can use the function-available and element-available 
functions to determine at run time whether a function or element designated in 
the xalan:component is actually available.</p>
  -<note>If the component is implemented in Java, the values of the functions 
and elements attributes are ignored. The function-available and 
element-available functions use reflection to examine the actual Java 
methods.</note>
  +<p>where <ref>func-1 func-2 ... func-n</ref> and <ref>elem-1 elem-2 ... 
elem-n</ref> designate the 
  +functions and elements the extension provides and the stylesheet uses. You 
can use the function-available 
  +and element-available functions to determine at run time whether a function 
or element designated in the 
  +xalan:component is actually available.</p>
  +<note>If the component is implemented in Java, the values of the functions 
and elements attributes are 
  +ignored. The function-available and element-available functions use 
reflection to examine the actual 
  +Java methods.</note>
   </s3>
   <anchor name="setup-script"/>
   <s3 title="6. Set up the xalan:script element">
  -<p><br/>In each xalan:component, you must include exactly one xalan:script 
element. If the extension is implemented in JavaScript:</p>
  +<p><br/>In each xalan:component, you must include exactly one xalan:script 
element. If the extension 
  +is implemented in JavaScript:</p>
   <p><code>&lt;xalan:script lang="javascript" &gt;</code><br/>
   <code>&nbsp;&nbsp;&lt;!--The implementation script--&gt;</code><br/>
   <code>&lt;/xalan:script&gt;</code></p>
  -<p>For other scripting languages supported by BSF, use the same approach as 
for JavaScript. 
  +<p>For other scripting languages supported by BSF, use the same approach as 
for JavaScript.
   The src attribute is also supported in the xalan:script element. If it is 
present, the script will
   be loaded from the URL specified in the src attribute. Otherwise the script 
is taken from the text child
   of the xalan:script element.</p>
  -<p>If the extension is implemented in Java, you have three choices for the 
format of the src attribute in the xalan:script element.</p>
  +<p>If the extension is implemented in Java, you have three choices for the 
format of the src attribute 
  +in the xalan:script element.</p>
   <p><code>&lt;xalan:script lang="javaclass" 
src="xalan://<ref>FQCN</ref>"/&gt;</code>
   <br/>where <ref>FQCN</ref> is the fully qualified class name.
   <br/>Example: <code>&lt;xalan:script lang="javaclass" 
src="xalan://java.util.Hashtable"/&gt;</code></p>
  @@ -247,7 +312,8 @@
   <br/>where <ref>PJPN</ref> is the beginning of or the complete name of a 
java package.
   <br/>Example: <code>&lt;xalan:script lang="javaclass" 
src="java.util"/&gt;</code></p>
   <p><code>&lt;xalan:script lang="javaclass" 
src="http://xml.apache.org/xalan/java"/&gt;</code></p>
  -<p>The different formats for the value of the src attribute when using Java 
extensions are more fully explained in <link 
anchor="java-namespace-declare">Declare the namespace</link>.</p>
  +<p>The different formats for the value of the src attribute when using Java 
extensions are more fully 
  +explained in <link anchor="java-namespace-declare">Declare the 
namespace</link>.</p>
   </s3>
   <s3 title="Implicit DTD for xalan:component">
   <source>&lt;!ELEMENT xalan:component (xalan:script)&gt;
  @@ -265,30 +331,54 @@
   <s2 title="Using an extension element">
   <p>Extension elements pass the extension two objects:</p>
   <ul>
  -<li><jump 
href="apidocs/org/apache/xalan/extensions/XSLProcessorContext.html">org.apache.xalan.extensions.XSLProcessorContext</jump>,
 which provides access to the XSL processor, the XML source tree, the 
stylesheet tree, the current context node, and the current mode (if 
any).<br/><br/></li>
  -<li><jump 
href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">org.apache.xalan.templates.ElemExtensionCall</jump>,
 which provides the API for interacting with the extension element.</li>
  +<li><jump 
href="apidocs/org/apache/xalan/extensions/XSLProcessorContext.html">
  +org.apache.xalan.extensions.XSLProcessorContext</jump>, which provides 
access to the XSL processor, 
  +the XML source tree, the stylesheet tree, the current context node, and the 
current mode (if any).
  +<br/><br/></li>
  +<li><jump href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">
  +org.apache.xalan.templates.ElemExtensionCall</jump>, which provides the API 
for interacting with 
  +the extension element.</li>
   </ul>
  -<p>You can use the ElemExtensionCall getAttribute(String name) method, for 
example, to read element attributes in their raw form.  Use the 
getAttribute(String name, Node sourceNode, XSLTEngineImpl processor) method to 
evaluate the attribute as an attribute value template.  Note that the method 
names are the same but the method signatures are different.  For full details, 
see the <jump 
href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">Javadoc</jump> 
for the ElemExtensionCall class.</p>
  +<p>You can use the ElemExtensionCall getAttribute(String name) method, for 
example, to read element 
  +attributes in their raw form.  Use the getAttribute(String name, Node 
sourceNode, XSLTEngineImpl 
  +processor) method to evaluate the attribute as an attribute value template.  
Note that the method 
  +names are the same but the method signatures are different.  For full 
details, see the 
  +<jump 
href="apidocs/org/apache/xalan/templates/ElemExtensionCall.html">Javadoc</jump> 
for the 
  +ElemExtensionCall class.</p>
   <s3 title="Implementing an extension element">
  -<p>For each extension element in a namespace, the implementation must be a 
Java method with the following signature, or the scripting language 
equivalent:</p>
  +<p>For each extension element in a namespace, the implementation must be a 
Java method with the 
  +following signature, or the scripting language equivalent:</p>
   <p><code><ref>Type 
element</ref>(org.apache.xalan.extensions.XSLProcessorContext, </code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.xalan.templates.ElemExtensionCall
 extensionElement)</code></p>
  -<p>where <ref>Type</ref> designates the return type and <ref>element</ref> 
is the local part of the extension element name (the element name without the 
namespace prefix). In the method signature, you may also use superclasses of 
the indicated types.</p>
  -<p>If the extension element is implemented in a loosely typed scripting 
language, such as JavaScript, the arguments and return value are untyped.</p>
  -<p><em>Caution:</em> The value returned by an extension element is placed in 
the transformation result. If you are not interested in a return value, use a 
public void Java method or return null from a scripting language function.</p>
  +<p>where <ref>Type</ref> designates the return type and <ref>element</ref> 
is the local part of the 
  +extension element name (the element name without the namespace prefix). In 
the method signature, you 
  +may also use superclasses of the indicated types.</p>
  +<p>If the extension element is implemented in a loosely typed scripting 
language, such as JavaScript, 
  +the arguments and return value are untyped.</p>
  +<p><em>Caution:</em> The value returned by an extension element is placed in 
the transformation result. 
  +If you are not interested in a return value, use a public void Java method 
or return null from a 
  +scripting language function.</p>
   <p>Java example: <code>public void myElement</code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(org.apache.xalan.extensions.XSLProcessorContext,
 </code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.xalan.templates.ElemExtensionCall
 extensionElement)</code></p>
   <p>JavaScript example: <code>function myElement(xslProcContext, 
element)</code></p>
  -<p>The <link idref="extensionslib" anchor="redirect">Redirect 
extension</link> in the extensions library contains three extension 
elements.</p>
  +<p>The <link idref="extensionslib" anchor="redirect">Redirect 
extension</link> in the extensions 
  +library contains three extension elements.</p>
   </s3>
   
   </s2><anchor name="ext-functions"/>
   <s2 title="Using extension functions">
   <p>Extension functions may include arguments of any type and return a value 
of any type.</p>
  -<p>XSLT recognizes five data types: node-set, result-tree-fragment, string, 
boolean, and number. You can use XPath expressions to set variables with values 
of these types. You can also pass literals for string, boolean, and number 
arguments. If you want to pass an argument of a type that XSLT does not 
recognize, use another extension function to return an object of that type. The 
stylesheet that appears in <link anchor="format-date-stylesheet">Formatting a 
date</link>, for example uses extension functions to return a Date object and a 
SimpleDateFormat object, and then uses these objects to call another extension 
function.</p>
  +<p>XSLT recognizes five data types: node-set, result-tree-fragment, string, 
boolean, and number. You 
  +can use XPath expressions to set variables with values of these types. You 
can also pass literals for 
  +string, boolean, and number arguments. If you want to pass an argument of a 
type that XSLT does not 
  +recognize, use another extension function to return an object of that type. 
The stylesheet that appears 
  +in <link anchor="format-date-stylesheet">Formatting a date</link>, for 
example uses extension functions 
  +to return a Date object and a SimpleDateFormat object, and then uses these 
objects to call another 
  +extension function.</p>
   <s3 title="Data type mapping and method selection">
  -<p>When calling an extension function written in a language other than Java, 
objects of the following Java classes will always be passed to the extension 
function:</p>
  +<p>When calling an extension function written in a language other than Java, 
objects of the following 
  +Java classes will always be passed to the extension function:</p>
     <table>
       <tr>
         <th>XSLT Type</th>
  @@ -316,7 +406,8 @@
       </tr>
     </table>
   <p>Any non-XSLT type is passed without conversion.</p>
  -<p>When calling an extension function written in Java, the extension 
function signature can specify any of the indicated Java types, as explained 
below:</p>
  +<p>When calling an extension function written in Java, the extension 
function signature can specify 
  +any of the indicated Java types, as explained below:</p>
     <table>
       <tr>
         <th>XSLT Type</th>
  @@ -324,7 +415,9 @@
       </tr>
       <tr>
          <td>Node-Set</td>
  -       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, 
org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, 
[double, float, long, int, short, byte,] boolean</td>
  +       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, 
org.w3c.dom.Node or its 
  +           subclasses, java.lang.String, java.lang.Object, char, [double, 
float, long, int, short, byte,] 
  +           boolean</td>
       </tr>
       <tr>
          <td>String</td>
  @@ -336,30 +429,45 @@
       </tr>
       <tr>
          <td>Number</td>
  -       <td>double, java.lang.Double, float, long, int, short,char, byte, 
boolean, java.lang.String, java.lang.Object</td>
  +       <td>double, java.lang.Double, float, long, int, short,char, byte, 
boolean, java.lang.String, 
  +           java.lang.Object</td>
       </tr>
       <tr>
          <td>Result Tree Fragment</td>
  -       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, 
org.w3c.dom.Node or its subclasses, java.lang.String, java.lang.Object, char, 
[double, float, long, int, short, byte,] boolean</td>
  +       <td>org.w3c.dom.traversal.NodeIterator, org.w3c.dom.NodeList, 
org.w3c.dom.Node or its subclasses, 
  +           java.lang.String, java.lang.Object, char, [double, float, long, 
int, short, byte,] boolean</td>
       </tr>
       <tr>
          <td>Non-XSLT Type</td>
  -       <td>the native type or any of its superclasses, double, float, long, 
int, short, char, byte, java.lang.String</td>
  +       <td>the native type or any of its superclasses, double, float, long, 
int, short, char, byte, 
  +           java.lang.String</td>
       </tr>
     </table>
   <p>When calling extension functions written in Java, &xslt4j; selects the 
method to call as follows:</p>
   <ol>
  -  <li>&xslt4j; selects all methods whose name matches the extension function 
name as specified in <link anchor="ext-func-calls">Extension function Java 
calls</link>.</li>
  +  <li>&xslt4j; selects all methods whose name matches the extension function 
name as specified in 
  +      <link anchor="ext-func-calls">Extension function Java 
calls</link>.</li>
     <li>From this list of methods, &xslt4j; determines which methods are 
<ref>qualified</ref>.</li>
  -  <li>Each qualified method is assigned a score based on the table shown 
above. To assign the score to a given method, &xslt4j; examines each of the 
XSLT argument types in the function invocation in the stylesheet. For each 
argument, the appropriate row in the table above is selected. Then, the 
corresponding Java parameter type in the method signature in the Java program 
is scored. Types which appear earlier in the list are given a higher score.  
That is, the list appears in order of scoring preference from highest to 
lowest. Types shown in square brackets have equal priority.</li>
  -  <li>The method with the highest score is invoked after the arguments are 
converted to the appropriate type. If more than one method has the highest 
score, an exception is thrown.</li>
  +  <li>Each qualified method is assigned a score based on the table shown 
above. To assign the score 
  +      to a given method, &xslt4j; examines each of the XSLT argument types 
in the function invocation 
  +      in the stylesheet. For each argument, the appropriate row in the table 
above is selected. Then, 
  +      the corresponding Java parameter type in the method signature in the 
Java program is scored. 
  +      Types which appear earlier in the list are given a higher score.  That 
is, the list appears in 
  +      order of scoring preference from highest to lowest. Types shown in 
square brackets have equal 
  +      priority.</li>
  +  <li>The method with the highest score is invoked after the arguments are 
converted to the appropriate 
  +      type. If more than one method has the highest score, an exception is 
thrown.</li>
   </ol>
  -<p>Any extension function written in Java can have a first parameter of type 
<code>org.apache.xalan.extensions.ExpressionContext</code>. Any method with an 
ExpressionContext as the first parameter will score higher than any method 
which does not have an ExpressionContext as a first parameter.</p>
  +<p>Any extension function written in Java can have a first parameter of 
  +type <code>org.apache.xalan.extensions.ExpressionContext</code>. Any method 
with an 
  +ExpressionContext as the first parameter will score higher than any method 
which does not have an 
  +ExpressionContext as a first parameter.</p>
   </s3>
   
   <anchor name="ext-func-retval"/>
   <s3 title="Return values">
  -<p>The &xslt4j; extension mechanism examines the class of the value returned 
from a function and converts the value into an XSLT type according to the 
following table:</p>
  +<p>The &xslt4j; extension mechanism examines the class of the value returned 
from a function and 
  +   converts the value into an XSLT type according to the following table:</p>
     <table>
       <tr>
         <th>Java Types</th>
  @@ -394,37 +502,64 @@
          <td>Non-XSLT Type</td>
       </tr>
     </table>
  -  <p>Note that the above test is applied using <code>instanceof</code> so 
that any subclasses of the classes listed above will be treated the same as the 
listed superclass.  For example, a <code>java.lang.Double</code> will be 
treated the same as a <code>java.lang.Number</code> and will be converted to an 
XSLT Number.</p>
  -  <note>The return value conversion can somtimes cause confusion.  For 
example, if your extension function returns an object that is a subclass of 
NodeIterator, that object will be converted by &xslt4j; to an XSLT Node-Set.  
If you later attempt to treat that object as a non-XSLT object of your original 
class and try to invoke a method on that object, your method invocation will 
fail.</note>
  +  <p>Note that the above test is applied using <code>instanceof</code> so 
that any subclasses of the 
  +     classes listed above will be treated the same as the listed superclass. 
 For example, a 
  +     <code>java.lang.Double</code> will be treated the same as a 
<code>java.lang.Number</code> and 
  +     will be converted to an XSLT Number.</p>
  +  <note>The return value conversion can somtimes cause confusion.  For 
example, if your 
  +     extension function returns an object that is a subclass of 
NodeIterator, that object will be 
  +     converted by &xslt4j; to an XSLT Node-Set.  If you later attempt to 
treat that object as a 
  +     non-XSLT object of your original class and try to invoke a method on 
that object, your method 
  +     invocation will fail.</note>
   </s3>
   
   <anchor name="ext-func-calls"/>
   <s3 title="Extension function Java calls">
  -<p>The technique for instantiating Java objects and calling Java methods 
depends on the format of the extension namespace that was declared.  See <link 
anchor="java-namespace-declare">Declare the namespace</link> for the three 
different formats of namespace declarations for Java extensions. For each 
namespace format, the section below describes how to instantiate an object, how 
to invoke an instance method, and how to invoke a static method. The sections 
below explain, for each syntax, which methods are <ref>qualified</ref> for 
method selection as described in the preceeding section.</p>
  +<p>The technique for instantiating Java objects and calling Java methods 
depends on the format of the 
  +   extension namespace that was declared.  See <link 
anchor="java-namespace-declare">Declare the 
  +   namespace</link> for the three different formats of namespace 
declarations for Java extensions. 
  +   For each namespace format, the section below describes how to instantiate 
an object, how to invoke 
  +   an instance method, and how to invoke a static method. The sections below 
explain, for each syntax, 
  +   which methods are <ref>qualified</ref> for method selection as described 
in the preceeding section.</p>
   <s4 title="Class format namespace">
   <p><br/><em>To create an instance of an object</em>:
   <br/><code><ref>prefix</ref>:new (<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix. A new instance 
is to be created with the <ref>args</ref> constructor arguments (if any). All 
constructor methods are qualified for method selection.
  +<p>where <ref>prefix</ref> is the extension namespace prefix. A new instance 
is to be created with 
  +   the <ref>args</ref> constructor arguments (if any). All constructor 
methods are qualified for method 
  +   selection.
   <br/>Example: <code>&lt;xsl:variable name="myType"</code>
   
<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:new()"&gt;</code></p>
   
   <p><em>To invoke an instance method on a specified object</em>:
   <br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, 
<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> 
with the <ref>args</ref> arguments. <ref>object</ref> must be an object of the 
class indicated by the namespace declaration.  Otherwise, the case shown 
immediately below will apply. Only instance methods with  the name 
<ref>methodName</ref> are qualified methods. If a matching method is found, 
<ref>object</ref> will be used to identify the object instance and 
<ref>args</ref> will be passed to the invoked method.
  +<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of 
  +   the method to invoke on <ref>object</ref> with the <ref>args</ref> 
arguments. <ref>object</ref> must 
  +   be an object of the class indicated by the namespace declaration.  
Otherwise, the case shown 
  +   immediately below will apply. Only instance methods with  the name 
<ref>methodName</ref> are 
  +   qualified methods. If a matching method is found, <ref>object</ref> will 
be used to identify the 
  +   object instance and <ref>args</ref> will be passed to the invoked method.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:valueOf($myType, 
string(@population))"&gt;</code></p>
   
   <p><em>To invoke an instance method on a default object</em>:
   <br/><code><ref>prefix</ref>:<ref>methodName</ref> 
(<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of the method to invoke with the 
<ref>args</ref> arguments. The first <ref>arg</ref>, if any, must not be an 
object of the class indicated by the namespace declaration.  Otherwise, the 
case shown immediately above will apply. Only instance methods with the name 
<ref>methodName</ref> are qualified methods. If a matching method is found, a 
default instance of the class will be created if it does not already exist.
  +<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of 
  +the method to invoke with the <ref>args</ref> arguments. The first 
<ref>arg</ref>, if any, must not be 
  +an object of the class indicated by the namespace declaration.  Otherwise, 
the case shown immediately 
  +above will apply. Only instance methods with the name <ref>methodName</ref> 
are qualified methods. If 
  +a matching method is found, a default instance of the class will be created 
if it does not already 
  +exist.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:valueOf(string(@population))"&gt;</code></p>
   
   <p><em>To invoke a static method</em>:
   <br/><code><ref>prefix</ref>:<ref>methodName</ref> 
(<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of the method to invoke with the 
<ref>args</ref> arguments. Only static methods with the name 
<ref>methodName</ref> are qualified methods. If a matching method is found, 
<ref>args</ref> will be passed to the invoked static method.
  +<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of 
  +the method to invoke with the <ref>args</ref> arguments. Only static methods 
with the name 
  +<ref>methodName</ref> are qualified methods. If a matching method is found, 
<ref>args</ref> will 
  +be passed to the invoked static method.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-class:printit(string(@population))"&gt;</code></p>
  @@ -432,56 +567,86 @@
   <s4 title="Package format namespace">
   <p><br/><em>To create an instance of an object</em>:
   <br/><code><ref>prefix</ref>:<ref>subpackage</ref>.<ref>class</ref>.new 
(<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix, 
<ref>subpackage</ref> is the rest of the package name (the beginning of the 
package name was in the namespace declaration), and <ref>class</ref> is the 
name of the class. A new instance is to be created with the <ref>args</ref> 
constructor arguments (if any). All constructor methods are qualified for 
method selection.
  +<p>where <ref>prefix</ref> is the extension namespace prefix, 
<ref>subpackage</ref> is the rest of the 
  +package name (the beginning of the package name was in the namespace 
declaration), and <ref>class</ref> 
  +is the name of the class. A new instance is to be created with the 
<ref>args</ref> constructor 
  +arguments (if any). All constructor methods are qualified for method 
selection.
   <br/>Example: <code>&lt;xsl:variable name="myType"</code>
   
<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:extclass.new()"&gt;</code></p>
   
   <p><em>To invoke an instance method on a specified instance</em>:
   <br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, 
<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> 
with the <ref>args</ref> arguments. Only instance methods of the 
<ref>object</ref> with the name <ref>methodName</ref> are qualified methods. If 
a matching method is found, <ref>object</ref> will be used to identify the 
object instance and <ref>args</ref> will be passed to the invoked method.
  +<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of 
  +the method to invoke on <ref>object</ref> with the <ref>args</ref> 
arguments. Only instance methods of 
  +the <ref>object</ref> with the name <ref>methodName</ref> are qualified 
methods. If a matching method 
  +is found, <ref>object</ref> will be used to identify the object instance and 
<ref>args</ref> will be 
  +passed to the invoked method.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:valueOf($myType, 
string(@population))"&gt;</code></p>
   
   <p><em>To invoke a static method</em>:
   
<br/><code><ref>prefix</ref>:<ref>subpackage</ref>.<ref>class</ref>.<ref>methodName</ref>
 (<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix, 
<ref>subpackage</ref> is the rest of the package name (the beginning of the 
package name was in the namespace declaration), <ref>class</ref> is the name of 
the class, and <ref>methodName</ref> is the name of the method to invoke with 
the <ref>args</ref> arguments. Only static methods with the name 
<ref>methodName</ref> are qualified methods. If a matching method is found, 
<ref>args</ref> will be passed to the invoked static method.
  +<p>where <ref>prefix</ref> is the extension namespace prefix, 
<ref>subpackage</ref> is the rest of 
  +the package name (the beginning of the package name was in the namespace 
declaration), <ref>class</ref> 
  +is the name of the class, and <ref>methodName</ref> is the name of the 
method to invoke with the 
  +<ref>args</ref> arguments. Only static methods with the name 
<ref>methodName</ref> are qualified 
  +methods. If a matching method is found, <ref>args</ref> will be passed to 
the invoked static method.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="my-package:extclass.printit(string(@population))"&gt;</code></p>
  -<note>Unlike the class format namespace, there is no concept of a default 
object since the namespace declaration does not identify a unique class.</note>
  +<note>Unlike the class format namespace, there is no concept of a default 
object since the namespace 
  +declaration does not identify a unique class.</note>
   </s4>
   <s4 title="Java format namespace">
   <p><br/><em>To create an instance of an object</em>:
   <br/><code><ref>prefix</ref>:<ref>FQCN</ref>.new (<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix for the Java 
namespace and <ref>FQCN</ref> is the fully qualified class name of the class 
whose constructor is to be called. A new instance is to be created with the 
<ref>args</ref> constructor arguments (if any). All constructor methods are 
qualified for method selection.
  +<p>where <ref>prefix</ref> is the extension namespace prefix for the Java 
namespace and <ref>FQCN</ref> 
  +is the fully qualified class name of the class whose constructor is to be 
called. A new instance is to 
  +be created with the <ref>args</ref> constructor arguments (if any). All 
constructor methods are 
  +qualified for method selection.
   <br/>Example: <code>&lt;xsl:variable name="myHash"</code>
   
<br/><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:java.util.Hashtable.new()"&gt;</code></p>
   
   <p><em>To invoke an instance method on a specified instance</em>:
   <br/><code><ref>prefix</ref>:<ref>methodName</ref> (<ref>object</ref>, 
<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of the method to invoke on <ref>object</ref> 
with the <ref>args</ref> arguments. Only instance methods of the 
<ref>object</ref> with the name <ref>methodName</ref> are qualified methods. If 
a matching method is found, <ref>object</ref> will be used to identify the 
object instance and <ref>args</ref> will be passed to the invoked method.
  +<p>where <ref>prefix</ref> is the extension namespace prefix and 
<ref>methodName</ref> is the name of 
  +the method to invoke on <ref>object</ref> with the <ref>args</ref> 
arguments. Only instance methods of 
  +the <ref>object</ref> with the name <ref>methodName</ref> are qualified 
methods. If a matching method 
  +is found, <ref>object</ref> will be used to identify the object instance and 
<ref>args</ref> will be 
  +passed to the invoked method.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:put($myHash, 
string(@region), $newpop)"&gt;</code></p>
   
   <p><em>To invoke a static method</em>:
   <br/><code><ref>prefix</ref>:<ref>FQCN</ref>.<ref>methodName</ref> 
(<ref>args</ref>)</code></p>
  -<p>where <ref>prefix</ref> is the extension namespace prefix, 
<ref>FQCN</ref> is the fully qualified class name of the class whose static 
method is to be called, and <ref>methodName</ref> is the name of the method to 
invoke with the <ref>args</ref> arguments. Only static methods with the name 
<ref>methodName</ref> are qualified methods. If a matching method is found, 
<ref>args</ref> will be passed to the invoked static method.
  +<p>where <ref>prefix</ref> is the extension namespace prefix, 
<ref>FQCN</ref> is the fully qualified 
  +class name of the class whose static method is to be called, and 
<ref>methodName</ref> is the name of 
  +the method to invoke with the <ref>args</ref> arguments. Only static methods 
with the name 
  +<ref>methodName</ref> are qualified methods. If a matching method is found, 
<ref>args</ref> will be 
  +passed to the invoked static method.
   <br/>
   Example: <code>&lt;xsl:variable name="new-pop"</code><br/>
   
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select="java:java.lang.Integer.valueOf(string(@population))"&gt;</code></p>
  -<note>Unlike the class format namespace, there is no concept of a default 
object since the namespace declaration does not identify a unique class.</note>
  +<note>Unlike the class format namespace, there is no concept of a default 
object since the namespace 
  +declaration does not identify a unique class.</note>
   </s4>
   </s3>
   
   <s3 title="Passing Nodes to java">
  -<p>Please keep in mind that <em>all</em> LocationPath expressions return a 
node-set, even if the expression only returns a single attribute or a text node 
(node-sets with one member). You can use the XSLT string() function (as in the 
syntax examples above) to convert a node-set value to string, and the number() 
function to convert a node-set value to number (a double).</p>
  +<p>Please keep in mind that <em>all</em> LocationPath expressions return a 
node-set, even if the 
  +expression only returns a single attribute or a text node (node-sets with 
one member). You can use 
  +the XSLT string() function (as in the syntax examples above) to convert a 
node-set value to string, 
  +and the number() function to convert a node-set value to number (a 
double).</p>
   <p>If you want to pass a node-set to an extension function, set up a Java 
method to accept an 
  -org.w3c.dom.NodeList (or an org.apache.xpath.NodeSet, which implements 
NodeList, if you want to modify the nodes).</p>
  -<p>Suppose, for example, you have a myExtensions.ProcessNodes class with the 
following doSomething method:</p>
  +org.w3c.dom.NodeList (or an org.apache.xpath.NodeSet, which implements 
NodeList, if you want to modify 
  +the nodes).</p>
  +<p>Suppose, for example, you have a myExtensions.ProcessNodes class with the 
following doSomething 
  +method:</p>
   <p><code>public static boolean doSomething(org.w3c.dom.NodeList 
nList)</code></p>
  -<p>Assuming you set up this extension in the node-ext namespace, any of the 
following extension calls from a stylesheet are syntactically possible:</p>
  +<p>Assuming you set up this extension in the node-ext namespace, any of the 
following extension calls 
  +from a stylesheet are syntactically possible:</p>
   <p><code>&lt;!--Process the current node--&gt;</code><br/>
   <code>&lt;xsl:variable name="success" 
select="node-ext:MyExtensions.ProcessNodes.doSomething(.)"/&gt;</code></p>
   <p><code>&lt;!--Process all nodes in current context--></code><br/>
  @@ -492,44 +657,72 @@
   <code>&lt;xsl:variable name="success" 
select="node-ext:MyExtensions.ProcessNodes.doSomething(foo/baz)"/&gt;</code></p>
   <p><code>&lt;!--Process the/foo/baz and /bar/saz nodes --></code><br/>
   <code>&lt;xsl:variable name="success" 
select="node-ext:MyExtensions.ProcessNodes.doSomething(/foo/baz | 
/bar/saz)"/&gt;</code></p>
  -<p>The NodeList is in fact a list of references into the XML document, so 
keep in mind that getNextSibling(), for example, gets you the next sibling in 
the document, which may not be the next Node in the NodeList.</p>
  +<p>The NodeList is in fact a list of references into the XML document, so 
keep in mind that 
  +getNextSibling(), for example, gets you the next sibling in the document, 
which may not be the next 
  +Node in the NodeList.</p>
   </s3>
   <s3 title="Implementing extension functions">
  -<p>For each extension function in a namespace which is implemented in a 
language other than Java, the implementation must include a method with the 
following signature, or the scripting language equivalent:</p>
  +<p>For each extension function in a namespace which is implemented in a 
language other than Java, the 
  +implementation must include a method with the following signature, or the 
scripting language 
  +equivalent:</p>
   <p><code>public <ref> object function</ref>(<ref>args</ref>)</code></p>
  -<p>where <ref>object</ref> is the return type, <ref>function</ref> is the 
local part of the extension function name (the function name without the 
namespace prefix), and <ref>args</ref> correspond to the arguments in the 
function call.</p>
  -<p>In addition, for extension functions implemented in Java, the 
implementation may include either a Java method with the signature shown above 
or one with the following signature:</p>
  -<p><code>public <ref> object 
function</ref>(org.apache.xalan.extensions.ExpressionContext, 
<ref>args</ref>)</code></p>
  +<p>where <ref>object</ref> is the return type, <ref>function</ref> is the 
local part of the extension 
  +function name (the function name without the namespace prefix), and 
<ref>args</ref> correspond to the 
  +arguments in the function call.</p>
  +<p>In addition, for extension functions implemented in Java, the 
implementation may include either a 
  +Java method with the signature shown above or one with the following 
signature:</p>
  +<p><code>public <ref> object 
function</ref>(org.apache.xalan.extensions.ExpressionContext, 
  +<ref>args</ref>)</code></p>
   </s3>
   </s2><anchor name="java-namespace"/>
   <s2 title="Alternative: using the abbreviated syntax for extensions 
implemented in Java">
  -<p>For extension functions and extension elements implemented in Java, 
&xslt4j; permits an abbreviated syntax. When you use the abbreviated syntax, 
you do not use an xalan:component to designate the functions.</p>
  -<p>The abbreviated syntax supports the use of extension functions and 
extension elements implemented in Java. You cannot use this syntax with 
extensions implemented in JavaScript or another scripting language.</p>
  +<p>For extension functions and extension elements implemented in Java, 
&xslt4j; permits an abbreviated 
  +syntax. When you use the abbreviated syntax, you do not use an 
xalan:component to designate the 
  +functions.</p>
  +<p>The abbreviated syntax supports the use of extension functions and 
extension elements implemented 
  +in Java. You cannot use this syntax with extensions implemented in 
JavaScript or another scripting 
  +language.</p>
   <anchor name="java-namespace-declare"/>
   <s3 title="Declare the namespace">
  -<p>Declare the namespace for your extensions using one of the following 
three formats. The technique for invoking an extension for each format is 
explained in <link anchor="ext-func-calls">Extension function Java 
calls</link>.</p>
  +<p>Declare the namespace for your extensions using one of the following 
three formats. The 
  +technique for invoking an extension for each format is explained in 
  +<link anchor="ext-func-calls">Extension function Java calls</link>.</p>
   <p><em>class format:</em> 
<code>xmlns:my-class="xalan://<ref>FQCN</ref>"</code></p>
   <p>where <ref>FQCN</ref> is the fully qualified class name.
   <br/>Examples: <code>xmlns:my-class="xalan://java.util.Hashtable"</code>
  
-<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:my-class="xalan://mypackage.myclass"</code></p>
  
+<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  +<code>xmlns:my-class="xalan://mypackage.myclass"</code></p>
   <p><em>package format:</em> 
<code>xmlns:my-class="xalan://<ref>PJPN</ref>"</code></p>
  -<p>where <ref>PJPN</ref> is a partial java package name.  That is, it is the 
beginning of or the complete name of a java package.
  +<p>where <ref>PJPN</ref> is a partial java package name.  That is, it is the 
beginning of or the 
  +complete name of a java package.
   <br/>Examples: <code>xmlns:my-package="xalan://java.util"</code>
  
-<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>xmlns:my-package="xalan://mypackage"</code></p>
  
+<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  +<code>xmlns:my-package="xalan://mypackage"</code></p>
   <p><em>Java format:</em> 
<code>xmlns:java="http://xml.apache.org/xalan/java";</code></p>
  -<note>The old namespace http://xml.apache.org/xslt/java is still supported 
for backward compatibility.</note>
  -<note>Although the namespace declarations for the class and package formats 
are shown with the xalan:// prefix, the current implementation for those 
formats will simply use the string to the right of the rightmost forward slash 
as the Java class name. This format, however, is the preferred format for 
extension namespace declarations.</note>
  -<note>The class: prefix which was sometimes required in earlier versions of 
&xslt4j; is no longer required.</note>
  -<note>These formats are also available when coding the src attribute of the 
xalan:script element as explained in <link anchor="setup-script">Set up the 
xalan:script element</link>.</note>
  +<note>The old namespace http://xml.apache.org/xslt/java is still supported 
for backward compatibility.
  +</note>
  +<note>Although the namespace declarations for the class and package formats 
are shown with the 
  +xalan:// prefix, the current implementation for those formats will simply 
use the string to the right 
  +of the rightmost forward slash as the Java class name. This format, however, 
is the preferred 
  +format for extension namespace declarations.</note>
  +<note>The class: prefix which was sometimes required in earlier versions of 
&xslt4j; is no longer 
  +required.</note>
  +<note>These formats are also available when coding the src attribute of the 
xalan:script element 
  +as explained in <link anchor="setup-script">Set up the xalan:script 
element</link>.</note>
   </s3>
   <s3 title="Use the namespace when you make extension calls">
  -<p>Use the declared prefix with the syntax described in <link 
anchor="ext-func-calls">Extension function Java calls</link>.</p>
  -<p>That is all. You do not include an xalan:component element. Using the 
abbreviated syntax clearly involves less setup than using the 
xalan:component/xalan:script approach.</p>
  -<note>We recommend that, for extensions coded in Java, the abbreviated 
syntax should always be used since the xalan:component/xalan:script constructs 
add no functionality.</note>
  -<note>The abbreviated syntax is supported in XSLTC, but the 
xalan:component/xalan:script constructs are not.</note>
  +<p>Use the declared prefix with the syntax described in <link 
anchor="ext-func-calls">Extension 
  +function Java calls</link>.</p>
  +<p>That is all. You do not include an xalan:component element. Using the 
abbreviated syntax clearly 
  +involves less setup than using the xalan:component/xalan:script approach.</p>
  +<note>We recommend that, for extensions coded in Java, the abbreviated 
syntax should always be used 
  +since the xalan:component/xalan:script constructs add no 
functionality.</note>
  +<note>The abbreviated syntax is supported in &xslt4jc-short;, but the 
xalan:component/xalan:script constructs 
  +are not.</note>
   </s3><anchor name="ex-java-namespace"/> 
   <s3 title="Example: Formatting a date">
  -<p>This example uses extension functions to call the SimpleDateFormat class 
and the IntDate class. IntDate uses String arguments to set up a Date 
object:</p>
  +<p>This example uses extension functions to call the SimpleDateFormat class 
and the IntDate class. 
  +IntDate uses String arguments to set up a Date object:</p>
   <source>import java.util.Date;
   import java.util.Calendar;
   
  @@ -547,7 +740,9 @@
         return c.getTime();
       }
   }</source>
  -<p>The template transforms date elements with four attributes. For example, 
it transforms <code>&lt;date format="EEEE, MMM dd, yyyy" year="2000" month="4" 
day="27"/&gt;</code> into &lt;p&gt;Date: Thursday, April 27, 
2000.&lt;/p&gt;.</p>
  +<p>The template transforms date elements with four attributes. For example, 
it transforms 
  +<code>&lt;date format="EEEE, MMM dd, yyyy" year="2000" month="4" 
day="27"/&gt;</code> 
  +into &lt;p&gt;Date: Thursday, April 27, 2000.&lt;/p&gt;.</p>
   <p>As you review this stylesheet, please keep the following in mind:</p>
    <ul>
     <li>The exclude-result-prefixes stylesheet attribute prevents the java 
namespace declaration from
  @@ -562,7 +757,8 @@
     <li>The formatter variable holds a SimpleDateFormat object, and the date 
variable holds a Date object.
       XSLT does not understand either of these types, but they are used to 
call the SimpleDateFormat format
        method. In that call, $formatter is the object, and $date is the 
argument. The syntax for calling
  -     Java constructors and methods is described above in <link 
anchor="ext-func-calls">Extension function Java calls</link>.</li>    
  +     Java constructors and methods is described above in <link 
anchor="ext-func-calls">Extension 
  +     function Java calls</link>.</li>    
    </ul><anchor name="format-date-stylesheet"/>   
   <source>&lt;?xml version="1.0"?&gt;
   &lt;xsl:stylesheet 
  @@ -593,7 +789,9 @@
   </s3>
   </s2>
   <s2 title="Examples: using Java and JavaScript to implement the same 
extension">
  -<p>This section contains two examples. The first example uses a Java 
extension to transform a set of name elements  into an alphabetical and 
numbered list. The second example uses a JavaScript script to do the same. Both 
examples include equivalent extension elements and an extension function.</p>
  +<p>This section contains two examples. The first example uses a Java 
extension to transform a set of 
  +name elements  into an alphabetical and numbered list. The second example 
uses a JavaScript script 
  +to do the same. Both examples include equivalent extension elements and an 
extension function.</p>
   <anchor name="ex-java"/> 
   <s3 title="Java implementation">
   <p>MyCounter.java</p>
  
  
  
  1.29      +32 -13    xml-xalan/java/xdocs/sources/xalan/whatsnew.xml
  
  Index: whatsnew.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/whatsnew.xml,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- whatsnew.xml      27 Jan 2003 18:45:36 -0000      1.28
  +++ whatsnew.xml      21 Feb 2003 20:10:08 -0000      1.29
  @@ -58,18 +58,37 @@
    -->
   <s1 title="What's new in &xslt4j2;">
   <ul>
  -     <li><link anchor="design">New design</link></li>
  -     <li><link anchor="dtm">Document Table Model (DTM)</link></li>
  -  </ul><anchor name="design"/>
  -  <s2 title="New Design">
  -  <p>&xslt4j2; represents a fundamental redesign of &xslt4j;. The primary 
objective of this redesign is an easier-to-use, more understandable, and more 
modular API that encourages wider participation in its ongoing development by 
the open-source XML developer community, and that lends itself to "streaming," 
the production of transformation output while the input is still being 
parsed.</p>
  -<p>&xslt4j2; builds on <resource-ref idref="sax2"/>, <resource-ref 
idref="dom2"/>, and the <resource-ref idref="jaxp"/>. For example, &xslt4j2; 
incorporates the SAX parsing event model in its support for the incremental 
production of transformation output. &xslt4j2; also implements the  standard 
TrAX API (see below) that enables you to code your XML applications without 
reference to the internal details of a particular Transformer or XML parser.</p>
  -<p>Given the scope of the redesign, the changes with respect to &xslt4j; 1 
(no longer available) are global in nature. For an introduction to the 
&xslt4j2; usage patterns, see <link idref="usagepatterns">Basic Usage 
Patterns</link>.</p>
  -<p>&xslt4j2; implements the <link idref="trax">TRaX (Transformation API for 
XML)</link> interfaces. The product of extensive open-source collaboration by 
members of the XML developer community, TrAX provides a conceptual framework 
and a standard API for performing XML transformations. During its evolution, 
the TrAX API has undergone several revisions. We believe this API has now 
reached or is very close to final form. In November 2000, TrAX was incorporated 
into <resource-ref idref="jsr063"/>, the Java API for XML Processing 1.1 , 
which has been published for public review (see <resource-ref 
idref="jaxp11"/>). We strongly encourage you to utilize the TrAX framework when 
you use &xslt4j2; to perform XML transformations.</p>
  -<p>The basic organization of TrAX is quite simple: use a TransformerFactory 
to process transformation instructions and generate a Transformer, with which 
you can apply the processed transformation instructions to your XML Source, 
producing a transformation Result. For more detail, see <link 
idref="usagepatterns" anchor="basic">Basic steps</link>.</p>
  -<p>As part of the Java API for XML Processing, TraX provides a stable 
framework for plugging Transformers (like &xslt4j;) and XML parsers (like 
&xml4j;) into your applications without tying yourself to the internal details 
of those implementations. See <link idref="usagepatterns" 
anchor="plug">Plugging in a Transformer and XML parser</link>.</p>
  -</s2><anchor name="dtm"/>
  -<s2 title="&xslt4j; DTM">
  -<p>In place of the DOM object tree of nodes, the Document Table Model (DTM) 
uses integer arrays and string pools to represent the structure and content of 
the XML document to be transformed. The motivation behind this model is to 
optimize performance and minimize storage. For more information, see <link 
idref="dtm">DTM</link>.</p>
  +  <li><link anchor="design">New design</link></li>
  +</ul>
  +
  +<anchor name="design"/>
  +<s2 title="New Design">
  +<p>&xslt4j2; represents a fundamental redesign of &xslt4j;. The primary 
objective of this redesign is 
  +   an easier-to-use, more understandable, and more modular API that 
encourages wider participation in 
  +   its ongoing development by the open-source XML developer community, and 
that lends itself to 
  +   "streaming," the production of transformation output while the input is 
still being parsed.</p>
  +<p>&xslt4j2; builds on <resource-ref idref="sax2"/>, <resource-ref 
idref="dom2"/>, and the 
  +   <resource-ref idref="jaxp12"/>. For example, &xslt4j2; incorporates the 
SAX parsing event model in 
  +   its support for the incremental production of transformation output. 
&xslt4j2; also implements the
  +   standard TrAX API (see below) that enables you to code your XML 
applications without reference to 
  +   the internal details of a particular Transformer or XML parser.</p>
  +<p>Given the scope of the redesign, the changes with respect to &xslt4j; 1 
(no longer available) are 
  +   global in nature. For an introduction to the &xslt4j2; usage patterns, 
see 
  +   <link idref="usagepatterns">Basic Usage Patterns</link>.</p>
  +<p>&xslt4j2; implements the <link idref="trax">TRaX (Transformation API for 
XML)</link> interfaces. The 
  +   product of extensive open-source collaboration by members of the XML 
developer community, TrAX provides 
  +   a conceptual framework and a standard API for performing XML 
transformations. In November 2000, TrAX 
  +   was incorporated into <resource-ref idref="jsr063"/>, the Java API for 
  +   XML Processing 1.2 (see <resource-ref idref="jaxp12"/>). 
  +   We strongly encourage you to utilize the TrAX framework when you use 
&xslt4j2; to perform XML 
  +   transformations.</p>
  +<p>The basic organization of TrAX is quite simple: use a TransformerFactory 
to process transformation 
  +   instructions and generate a Transformer, with which you can apply the 
processed transformation 
  +   instructions to your XML Source, producing a transformation Result. For 
more detail, see 
  +   <link idref="usagepatterns" anchor="basic">Basic steps</link>.</p>
  +<p>As part of the Java API for XML Processing, TraX provides a stable 
framework for plugging 
  +   Transformers (like &xslt4j;) and XML parsers (like &xml4j;) into your 
applications without tying 
  +   yourself to the internal details of those implementations. See 
  +   <link idref="usagepatterns" anchor="plug">Plugging in a Transformer and 
XML parser</link>.</p>
   </s2>
   </s1>
  
  
  
  1.7       +58 -40    xml-xalan/java/xdocs/sources/xalan/dtm.xml
  
  Index: dtm.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/dtm.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- dtm.xml   27 Jan 2003 18:45:36 -0000      1.6
  +++ dtm.xml   21 Feb 2003 20:10:08 -0000      1.7
  @@ -60,34 +60,44 @@
   <ul>
     <li><link anchor="intro">Introduction</link></li>
     <li><link anchor="settings">Performance settings</link></li>  
  -</ul><anchor name="intro"/>
  +</ul>
  +<anchor name="intro"/>
   <s2 title="Introduction">
  -  <p>The Document Table Model (DTM) is an interface to a Document Model 
designed specifically for the needs of our XPath and XSLT 
  -  implementations. The motivation behind this model is to optimize 
performance and minimize storage.</p>
  -  <p>Specifically, DTM avoids the overhead of instantiating the objects the 
standard DOM requires to represent a tree of nodes. 
  -  DTM uses unique integer "handles" to identify nodes, integer ID values to 
represent URLs, local names, and expanded names, and 
  -  integer index and length references to a string buffer to represent the 
text value of each node.</p>
  -  <p>In general, the "read" APIs to DTM resemble those of the W3C Document 
Object Model (<resource-ref idref="dom"/>) interface. 
  -  However, in place of the DOM object tree of nodes, DTM uses integer arrays 
and string pools to represent the structure and content 
  -  of the XML document to be transformed. DTM also structures the document's 
contents slightly differently, to better match the XPath 
  -  data model; some details and constraints present in a standard DOM are 
suppressed, and a few XPath-specific features are added.</p>
  -  <p>DTM is intended to be a read-only model, and so does not attempt to 
replicate the DOM's write or create-node operations.</p> 
  -  <p>The details of constructing a DTM vary depending on which 
implementation of this API you are using. Two reference implementations are
  -  currently available:</p>
  -<ul>
  -  <li>SAX2DTM (built via a SAX stream)</li>
  -  <li>DOM2DTM (which provides DTM access to an existing DOM)</li>
  -</ul> 
  -  <p>Both DTMs can be built incrementally (see <link 
anchor="incremental">incremental transforms</link>). When operating 
incrementally, the
  -  DTM allows the &xslt4j; processor to begin reading the DTM and performing 
the transformation while the DTM is still being assembled 
  -  (for example, while the parser is still parsing the XML source), and 
attempts to do only as much work as is needed to support the
  +  <p>The Document Table Model (DTM) is an interface to a Document Model 
designed specifically for 
  +  the needs of our XPath and XSLT implementations. The motivation behind 
this model is to optimize 
  +  performance and minimize storage.</p>
  +  <p>Specifically, DTM avoids the overhead of instantiating the objects the 
standard DOM requires to 
  +  represent a tree of nodes. DTM uses unique integer "handles" to identify 
nodes, integer ID values 
  +  to represent URLs, local names, and expanded names, and integer index and 
length references to a 
  +  string buffer to represent the text value of each node.</p>
  +  <p>In general, the "read" APIs to DTM resemble those of the W3C Document 
Object Model 
  +  (<resource-ref idref="dom"/>) interface. However, in place of the DOM 
object tree of nodes, DTM 
  +  uses integer arrays and string pools to represent the structure and 
content of the XML document to 
  +  be transformed. DTM also structures the document's contents slightly 
differently, to better match 
  +  the XPath data model; some details and constraints present in a standard 
DOM are suppressed, and a 
  +  few XPath-specific features are added.</p>
  +  <p>DTM is intended to be a read-only model, and so does not attempt to 
replicate the DOM's write or 
  +  create-node operations.</p> 
  +  <p>The details of constructing a DTM vary depending on which 
implementation of this API you are 
  +  using. Two reference implementations are currently available:</p>
  +  <ul>
  +    <li>SAX2DTM (built via a SAX stream)</li>
  +    <li>DOM2DTM (which provides DTM access to an existing DOM)</li>
  +  </ul> 
  +  <p>Both DTMs can be built incrementally (see <link 
anchor="incremental">incremental transforms</link>). 
  +  When operating incrementally, the DTM allows the &xslt4j; processor to 
begin reading the DTM and 
  +  performing the transformation while the DTM is still being assembled (for 
example, while the parser 
  +  is still parsing the XML source), and attempts to do only as much work as 
is needed to support the
     read requests actually made by the XPath or XSLT processor.</p>
  -  <p>For the convenience of user-written extensions, a proxy mechanism 
presents the contents of the DTM as a read-only subset of the DOM.</p>
  -  </s2><anchor name="settings"/>
  -  <s2 title="DTM performance settings">
  +  <p>For the convenience of user-written extensions, a proxy mechanism 
presents the contents of the 
  +  DTM as a read-only subset of the DOM.</p>
  +</s2>
  +
  +<anchor name="settings"/>
  +<s2 title="DTM performance settings">
     <p>&xslt4j; implements two DTM performance features that you can control 
with the TransformerFactory
  -  <jump 
href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String,
 java.lang.Object)">setAttribute(String name, Object value)</jump>
  -  method.</p>
  +  <jump 
href="apidocs/javax/xml/transform/TransformerFactory.html#setAttribute(java.lang.String,
 
  +  java.lang.Object)">setAttribute(String name, Object value)</jump> 
method.</p>
     <table>
     <tr>
       <th>Attribute name (URL)</th>
  @@ -106,19 +116,18 @@
     </tr> 
     </table>
     <p>Both of these DTM settings are described below.</p>
  -  <note>The DTM also provides a setting that you can use to track location 
information for each node in the source document. See
  -  <link idref="features" 
anchor="source_location">"http://apache.org/xalan/features/source_location";</link></note>
  +  
  +  <p> </p>
     <anchor name="incremental"/>
     <s3 title="'http://xml.apache.org/xalan/features/incremental'">
  -   <p>Set this feature to true to enable incremental transformations. If set 
to false (the default), the transform and the parse 
  -   are performed on the same thread.</p>
  -   <note> When set to true: If the parser is Xerces, we perform an
  -incremental transform on a single thread using the Xerces
  -   "parse on demand" feature. If the parser is not Xerces, we run the
  -transform in one thread and the parse in another. Exception: if the
  -   parser is not Xerces and the XML source is a DOMSource, setting this
  -feature to true has no effect.</note>
  -   <p>Example: setting incremental transforms to true:</p>
  +   <p>Set this feature to true to enable incremental transformations. If set 
to false (the default), 
  +      the transform and the parse are performed on the same thread.</p>
  +   <note> When set to true: If the parser is Xerces, we perform an 
incremental transform on a single 
  +          thread using the Xerces "parse on demand" feature. If the parser 
is not Xerces, we run the
  +          transform in one thread and the parse in another. Exception: if 
the parser is not Xerces 
  +          and the XML source is a DOMSource, setting this feature to true 
has no effect.</note>
  +   <note> The incremental feature is not currently supported by the XSLT 
Compiling processor, XSLTC.</note>
  +   <p>Example: setting incremental transforms to true (for the XSLT 
Interpretive processor):</p>
      <source>javax.xml.transform.TransformerFactory tFactory =
               javax.xml.transform.TransformerFactory.newInstance();
    // setAttribute() takes a String and an Object.            
  @@ -126,10 +135,19 @@
               ("http://xml.apache.org/xalan/features/incremental";, 
                java.lang.Boolean.TRUE);
     ...</source>
  -  </s3><anchor name="optimized"/>
  +  </s3>
  +  
  +  <anchor name="optimized"/>
     <s3 title="'http://xml.apache.org/xalan/features/optimize'">
  -   <p>When set to true (the default), this feature enables optimizations 
that may involve structural rewrites of the stylesheet. 
  -   Any tool that requires direct access to the stylesheet structure should 
set this feature to false.</p>
  -   </s3>
  +   <p>When set to true (the default), this feature enables optimizations 
that may involve structural 
  +      rewrites of the stylesheet. Any tool that requires direct access to 
the stylesheet structure 
  +      should set this feature to false.</p>
  +  </s3>
  +</s2>
  +
  +<s2 title="DTM node location tracking setting">
  +  <p>The DTM also provides a setting that you can use to track location 
information for each node in 
  +     the source document. See <link idref="features" 
  +     
anchor="source_location">"http://apache.org/xalan/features/source_location";</link></p>
   </s2>
   </s1>
  
  
  
  1.4       +24 -25    xml-xalan/java/xdocs/sources/xalan/commandline_xsltc.xml
  
  Index: commandline_xsltc.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/commandline_xsltc.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- commandline_xsltc.xml     27 Jan 2003 18:45:36 -0000      1.3
  +++ commandline_xsltc.xml     21 Feb 2003 20:10:08 -0000      1.4
  @@ -59,7 +59,7 @@
    -->
    
   
  -<s1 title="Command line options for XSLTC">
  +<s1 title="Command line options for &xslt4jc-short;">
   <ul>
   <li><link anchor="options">Options</link></li>
   <li><link anchor="examples">Examples</link></li>
  @@ -69,25 +69,25 @@
      
   <anchor name="options"/>
   <s2 title="Options">
  -<p>The <code>org.apache.xalan.xslt.Process</code> command line now supports 
XSLTC for transformation. You can use 
  -the new <code>-XSLTC</code> option to enable the XSLTC support. The 
xsltc.jar file must be on your CLASSPATH 
  -in order to use the <code>-XSLTC</code> option.</p>
  +<p>The <code>org.apache.xalan.xslt.Process</code> command line now supports 
&xslt4jc-short; for transformation. 
  +You can use the new <code>-XSLTC</code> option to enable the &xslt4jc-short; 
support. 
  +The xsltc.jar file must be on your CLASSPATH in order to use the 
<code>-XSLTC</code> option.</p>
   <p>The following existing options can be used with -XSLTC:</p>
   <p><code>-IN, -XSL, -OUT, -V, -EDUMP, -XML, -TEXT, -HTML, -PARAM, <br/>
   -MEDIA, -FLAVOR, -DIAG, -URIRESOLVER, -ENTITYRESOLVER,<br/>
   -CONTENTHANDLER</code></p>
   
  -<p>The following existing options do not work with <code>-XSLTC</code>. If 
any of them is used with <code>-XSLTC</code>, 
  -a message is printed and the option is ignored.</p>
  +<p>The following existing options do not work with <code>-XSLTC</code>. If 
any of them is used 
  +with <code>-XSLTC</code>, a message is printed and the option is ignored.</p>
   <p><code>-QC, -TT, -TG, -TS, -TTC, -TCLASS, -L, -INCREMENTAL, <br/>
   -NOOPTIMIMIZE, -RL</code></p>
   
   <p>We also have a new set of options for <code>-XSLTC</code>. They are all 
two letter options. The first 
  -letter is X and the second letter is the same as the corresponding option in 
the XSLTC command line 
  +letter is X and the second letter is the same as the corresponding option in 
the &xslt4jc-short; command line 
   <code>org.apache.xalan.xsltc.cmdline.Compile</code>.</p>
   
  -<p>These new options can only be used with <code>-XSLTC</code>. If any of 
them is used with the Xalan 
  -interpreter, a message is printed and the option is ignored.</p>
  +<p>These new options can only be used with <code>-XSLTC</code>. If any of 
them is used 
  +with the &xslt4ji;, a message is printed and the option is ignored.</p>
   
   <p>Here is the list of the new options:</p>
   <ul>
  @@ -113,12 +113,12 @@
   <anchor name="examples"/>
   <s2 title="Examples">
   
  -<p>You can just add the <code>-XSLTC</code> option to your existing option 
list so that it will do the same 
  -thing as before, but using XSLTC.</p>
  +<p>You can just add the <code>-XSLTC</code> option to your existing option 
list so that it will do 
  +the same thing as before, but using &xslt4jc-short;.</p>
   
  -<p>Here is a simple example on how to use XSLTC:</p>
  +<p>Here is a simple example on how to use &xslt4jc-short;:</p>
   <p>&gt; <code>java org.apache.xalan.xslt.Process -in test.xml -xsl test.xsl 
-xsltc</code></p>
  -<p>XSLTC compiles the stylesheet on the fly and uses the bytecode in memory 
to transform the input xml. 
  +<p>&xslt4jc-short; compiles the stylesheet on the fly and uses the bytecode 
in memory to transform the input xml. 
   No translet class is generated in this simple usage pattern.</p>
   <p>If you want to generate translet classes from the stylesheet, you can use 
the <code>-XO</code> option:</p>
   <p>&gt; <code>java org.apache.xalan.xslt.Process -in test.xml -xsl test.xsl 
-xsltc -xo</code></p>
  @@ -126,8 +126,9 @@
   <p>This example still uses the stylesheet for transformation, but it also 
generates the 
   translet class "test.class".</p>
   
  -<p>You can use the <code>-XJ, -XP</code> or <code>-XD</code> options to 
further customize the translet generation behavior. Translets 
  -will be generated if any of the options <code>-XO, -XJ</code> or 
<code>-XT</code> is used.</p>
  +<p>You can use the <code>-XJ, -XP</code> or <code>-XD</code> options to 
further customize the translet 
  +generation behavior. Translets will be generated if any of the options 
<code>-XO, -XJ</code> or 
  +<code>-XT</code> is used.</p>
   <p>&gt; <code>java org.apache.xalan.xslt.Process -in test.xml -xsl test.xsl 
-xsltc -xo newTranslet -xd temp -xp org.apache.test -xj translets.jar</code></p>
   
   <p>The above command line uses the xsl for transformation. It also generates 
translet classes in
  @@ -143,7 +144,7 @@
   <p>The translet is loaded from the specified destination directory or the 
current directory, using
   the specified translet name or the xsl base name, depending on whether the 
<code>-XD</code> or 
   <code>-XO</code> option is used. The options <code>-XO, -XD, -XP</code> and 
<code>-XJ</code>
  -can be used with the <code>-XT</code> option to tell XSLTC how to find the 
translet classes. The translets
  +can be used with the <code>-XT</code> option to tell &xslt4jc-short; how to 
find the translet classes. The translets
   are directly read in as bytecode. You do not need to add the translet 
directory or the jar file to your
   classpath.</p>
   <p>Example:</p>
  @@ -166,7 +167,7 @@
   <s2 title="Simple FAQs">
   
   <p><em>Q:</em> If I use the <code>-XT</code> option, how can I tell if it is 
using the translet or the stylesheet for transformation?</p>
  -<p><em>A:</em> Use the <code>-XX</code> option. When XSLTC uses the translet 
for transformation, you will see a debug 
  +<p><em>A:</em> Use the <code>-XX</code> option. When &xslt4jc-short; uses 
the translet for transformation, you will see a debug 
   message like "Tranform using translet ..." or "Tranform using translet ... 
from jar file ...".</p>
   
   <p><em>Q:</em> I want to use a translet for transformation, and I don't have 
the stylesheet.</p>
  @@ -177,20 +178,18 @@
   
   <p><em>Q:</em> I only want to compile the stylesheet. I don't want to do a 
transformation.</p>
   <p><em>A:</em> TrAX has no notion of compiling a stylesheet. However, you 
can achieve the same effect by 
  -running a dummy transformation and tell XSLTC to save the translet class. 
Example:</p>
  +running a dummy transformation and tell &xslt4jc-short; to save the translet 
class. Example:</p>
   <p>&gt; <code>java org.apache.xalan.xslt.Process -xsl test.xsl -xsltc 
<br/>-xo</code></p>
   <p>This command runs a transformation on an empty input and generates the 
translet <code>test.class</code>.</p>
   </s2>
   
   <anchor name="trax"/>
   <s2 title="Using the new options from TrAX">
  +<p>You can use some of the new attributes in the 
<code>TransformerFactoryImpl</code> class of &xslt4jc-short; to 
  +customize the translet behaviors from TrAX.</p>
   
  -<p>If you use the TrAX interface for XSLTC, you could not tell it to use 
translets before. It always compiled 
  -the xsl on the fly and used the bytecode in memory for transformation.  Now 
you can use some of 
  -the new attributes in XSLTC's <code>TransformerFactoryImpl</code> class to 
customize the translet behaviors from TrAX.</p>
  -
  -<p>Here is the list of attributes in 
<code>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</code> and their 
  -corresponding Process command line options:</p>
  +<p>Here is the list of attributes in 
<code>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</code> 
  +and their corresponding Process command line options:</p>
   
   <table>
     <tr>
  @@ -253,7 +252,7 @@
   <p>The following example shows you how to do the same thing from TrAX for 
the question 2 in the FAQ.</p>
   
   <source>
  -// set the system property javax.xml.transform.TransformerFactory in order 
to use XSLTC
  +// set the system property javax.xml.transform.TransformerFactory in order 
to use &xslt4jc-short;
   String key = "javax.xml.transform.TransformerFactory";
   String value = "org.apache.xalan.xsltc.trax.TransformerFactoryImpl";
   Properties props = System.getProperties();
  
  
  
  1.11      +1 -1      xml-xalan/java/xdocs/sources/xsltc.xml
  
  Index: xsltc.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xsltc.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- xsltc.xml 19 Feb 2002 20:49:22 -0000      1.10
  +++ xsltc.xml 21 Feb 2003 20:10:10 -0000      1.11
  @@ -1,7 +1,7 @@
   <?xml version="1.0"?>
   <!DOCTYPE book SYSTEM "sbk:/style/dtd/book.dtd">
   
  -<book title="XSLTC Design" copyright="2002 The Apache Software Foundation">
  +<book title="XSLTC Design" copyright="2003 The Apache Software Foundation">
    
     <document id="index"
               label="Overview"
  
  
  
  1.59      +48 -38    xml-xalan/java/xdocs/sources/entities.ent
  
  Index: entities.ent
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/entities.ent,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- entities.ent      6 Nov 2002 16:21:42 -0000       1.58
  +++ entities.ent      21 Feb 2003 20:10:10 -0000      1.59
  @@ -3,36 +3,42 @@
   <!ENTITY xslt "Xalan">
   <!ENTITY xslt4j "Xalan-Java">
   <!ENTITY xslt4j2 "Xalan-Java 2">
  -<!ENTITY xslt4j-dist "xalan-j_2_4_1">
  +<!ENTITY xslt4j-dist "xalan-j_2_5_D1">
   <!ENTITY xslt4j-dist-bin "&xslt4j-dist;-bin">
   <!ENTITY xslt4j-dist-src "&xslt4j-dist;-src">
  -<!ENTITY xslt4j-current "&xslt4j; version 2.4.1">
  +<!ENTITY xslt4j-current "&xslt4j; version 2.5.D1">
   <!ENTITY xslt4j-distdir "http://xml.apache.org/dist/xalan-j/";>
  +
  +<!ENTITY xslt4j_longname "Apache Xalan Java">
  +<!ENTITY xslt4ji "&xslt4j; Interpretive">
  +<!ENTITY xslt4jc-short "XSLTC">
  +<!ENTITY xslt4jc-long  "&xslt4j; Compiled">
  +
   <!ENTITY xml4j "Xerces-Java">
   <!ENTITY xml4j1 "Xerces-Java 1">
   <!ENTITY xml4j2 "Xerces-Java 2">
  -<!ENTITY xml4j-used "&xml4j; 2.2.0">
  +<!ENTITY xml4j-used "&xml4j; 2.3.0">
   <!ENTITY xml4j-jar "xercesImpl.jar">
   <!ENTITY xslt4c "Xalan-C++">
   <!ENTITY xml4c "Xerces-C++">
  -<!ENTITY download "The &xslt4j-current; download from xml.apache.org 
includes &xml4j-jar; from &xml4j-used; and xml-apis.jar. For version
  -information about the contents of xml-apis.jar, see the JAR manifest.">
  +<!ENTITY download "The &xslt4j-current; download from xml.apache.org 
includes &xml4j-jar; from &xml4j-used; and xml-apis.jar. 
  +For version information about the contents of xml-apis.jar, see the JAR 
manifest.">
   
  -<!ENTITY xsltcwhatsnewhead '<li><link anchor="xsltc">XSLTC</link></li>'>
  +<!ENTITY xsltcwhatsnewhead '<li><link 
anchor="xsltc">&xslt4jc-short;</link></li>'>
                            
  -<!ENTITY xsltcwhatsnew '<anchor name="xsltc"/><s2 title="XSLTC">
  -                <p>In April 2001, Sun donated XSLTC to the Xalan project. 
XSLTC compiles stylesheets into translets and
  -                provides a runtime environment for using translets to 
transform XML documents. Initially, XSLTC is
  +<!ENTITY xsltcwhatsnew '<anchor name="xsltc"/><s2 title="&xslt4jc-long; 
(&xslt4jc-short;)">
  +                <p>In April 2001, Sun donated &xslt4jc-short; to the Xalan 
project. &xslt4jc-short; compiles stylesheets into translets and
  +                provides a runtime environment for using translets to 
transform XML documents. Initially, &xslt4jc-short; is
                   available in a separate JAR. Over time, we plan to integrate 
the two codebases. For more information,
  -                see <link idref="xsltc_usage">Using XSLTC</link>, <link 
idref="readme" anchor="xsltcreleasenotes">XSLTC 
  -                Release Notes</link>, and <jump 
href="xsltc/index.html">XSLTC Design</link>.</p>
  +                see <link idref="xsltc_usage">Using &xslt4jc-short;</link>, 
<link idref="readme" anchor="xsltcreleasenotes">&xslt4jc-short;
  +                Release Notes</link>, and <jump 
href="xsltc/index.html">&xslt4jc-short; Design</link>.</p>
                   </s2>'>
                   
  -<!ENTITY history2xsltc '<note>For XSLTC changes since XSLTC was incorporated 
into &xslt4j;, see 
  -                        <link idref="xsltc_history">XSLTC software 
changes</link>.</note>'>
  +<!ENTITY history2xsltc '<note>For &xslt4jc-short; changes since 
&xslt4jc-short; was incorporated into &xslt4j;, see
  +                        <link idref="xsltc_history">&xslt4jc-short; software 
changes</link>.</note>'>
                           
  -<!ENTITY xsltcclasspath '<p>If you are using <link 
idref="xsltc_usage">XSLTC</link>, see 
  -                        <link idref="xsltc_usage" anchor="classpath">Setting 
the system classpath for XSLTC</link>.</p>'>
  +<!ENTITY xsltcclasspath '<p>If you are using <link 
idref="xsltc_usage">&xslt4jc-short;</link>, see
  +                        <link idref="xsltc_usage" anchor="classpath">Setting 
the system classpath for &xslt4jc-short;</link>.</p>'>
   
   <!ENTITY xsltcsampleshead '<li><link 
anchor="translets">translets</link></li>'>
   
  @@ -40,12 +46,14 @@
                    <ul>
                    <li><link 
anchor="xsltc1">JAXPTransletOneTransformation</link></li>
                    <li><link 
anchor="xsltc2">JAXPTransletMultipleTransformations</link></li>
  -                 <li><link anchor="xsltcother">Other XSLTC 
samples</link></li>   
  +                 <li><link anchor="xsltcother">Other &xslt4jc-short; 
samples</link></li>
                    </ul>
  -                 <p>You can use the TrAX/JAXP 1.1 interfaces to compile and 
run translets. For this release, you must still
  -                 use StreamSource objects for the XSL stylesheet and XML 
input document, and a StreamResult object for the 
  -                 transformation output. For an overview of the usage 
patterns these samples illustrate, see 
  -                 <link idref="xsltc_usage" anchor="api">Calling XSLTC with 
the TrAX/JAXP API</link>.</p>
  +                 <p>You can use the TrAX/JAXP 1.2 interfaces to compile and 
run translets.
  +                 For this release, you must still
  +                 use StreamSource objects for the XSL stylesheet and XML 
input document, 
  +                 and a StreamResult object for the transformation output. 
  +                 For an overview of the usage patterns these samples 
illustrate, see
  +                 <link idref="xsltc_usage" anchor="api">Calling 
&xslt4jc-short; with the TrAX/JAXP API</link>.</p>
                    <anchor name="xsltcprepare"/>
                    <p><em>Important:</em> To run these samples, you must 
compile the sample class files and adjust the 
                    system classpath.</p>
  @@ -60,49 +68,51 @@
                    generated at tun time (todo.class from the todo.xsl 
stylesheet).</note> 
                    <anchor name="xsltc1"/>
                    <s3 title="JAXPTransletOneTransformation">
  -                 <p>What it does: Uses the XSLTC TransformerFactory to 
compile a translet and use
  -                 the translet to transform the XSLTC to-do list from XML 
into HTML.</p>
  +                 <p>What it does: Uses the &xslt4jc-short; 
TransformerFactory to compile a translet and use
  +                 the translet to transform the &xslt4jc-short; to-do list 
from XML into HTML.</p>
                    <p>Complete the <link anchor="xsltcprepare">steps detailed 
above</link>, and run this sample 
                    from the translets subdirectory with</p>
                    <p><code>java JAXPTransletOneTransformation</code></p>
                    <p>View the result in todo-xsltc.html.</p>
                    </s3><anchor name="xsltc2"/>
                    <s3 title="JAXPTransletMultipleTransformations">
  -                 <p>What it does: Uses the XSLTC TransformerFactory to 
compile a translet and use
  -                 the Templates object associated with the translet to 
transform the XSLTC and Xalan to-do lists from XML 
  +                 <p>What it does: Uses the &xslt4jc-short; 
TransformerFactory to compile a translet and use
  +                 the Templates object associated with the translet to 
transform the &xslt4jc-short; and Xalan to-do lists from XML 
                    into HTML.</p>
                    <p>Complete the <link anchor="xsltcprepare">steps detailed 
above</link>, and run this sample 
                    from the translets subdirectory with</p>
                    <p><code>java JAXPTransletOneTransformation</code></p>
                    <p>View the results in todo-xsltc.html and 
todo-xalan.html.</p>                
                    </s3><anchor name="xsltcother"/>
  -                 <s3 title="Other XSLTC samples">
  -                 <p>Other XSLTC samples are located in the following samples 
subdirectories:</p>
  +                 <s3 title="Other &xslt4jc-short; samples">
  +                 <p>Other &xslt4jc-short; samples are located in the 
following samples subdirectories:</p>
                    <ul>
                    <li>CompiledServlet</li>
                    <li>CompiledBrazil</li>
  -                 <li>CompiledJAXP</li>                                  
  +                 <li>CompiledJAXP</li>
                    <li>CompiledApplet</li>
                    <li>CompiledEJB</li>
                    </ul>
                    <p>For information about each of these samples, consult the 
README file in the subdirectory.</p>
                    <note>The following paragraphs supply some basic background 
information for CompiledServlet and CompiledBrazil.</note>
  -                 <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>&xslt4jc-short; provides demos for using &xslt4jc-short; 
as a servlet and as a handler for
  +                 Brazil (a new and powerful Web techology from Sun labs).</p>
  +                 <p>To run the Brazil-handler demo, 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 classpath. For example:</p>
  +                 <p>The translet must be specified as a pure class name,
  +                 accessible through the Brazil-handler&apos;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>
  +                <note>In order to run the Brazil-handler demo, you also need 
to
  +                      make the Brazil and javax classes available from your
  +                      classpath</note>
  +                 <p>To run the servlet demo, download 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>
                    </s3>
                    </s2>'>
  -                
  
  
  
  1.26      +5 -4      xml-xalan/java/xdocs/sources/xalan-jlocal.xml
  
  Index: xalan-jlocal.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan-jlocal.xml,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- xalan-jlocal.xml  27 Jan 2003 18:45:35 -0000      1.25
  +++ xalan-jlocal.xml  21 Feb 2003 20:10:10 -0000      1.26
  @@ -58,24 +58,26 @@
    * <http://www.apache.org/>.
    -->
   
  -<book title="Xalan XSL Transformer User's Guide" copyright="2002 The Apache 
Software Foundation">
  +<book title="Xalan XSL Transformer User's Guide" copyright="2003 The Apache 
Software Foundation">
     <resources source="sbk:/sources/xalan/resources.xml"/>
     <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/>
  -  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>
  -  <document id="xsltc_usage" label="XSLTC Translets" 
source="xalan/xsltc_usage.xml"/>
     <separator/>
     <document id="overview" label="Overview" source="xalan/overview.xml"/>
  +  <document id="downloads" label="Downloads" source="xalan/downloads.xml"/>  
     <document id="getstarted" label="Getting Started" 
source="xalan/getstarted.xml"/>
  +  <document id="xsltc_usage" label="Using XSLTC" 
source="xalan/xsltc_usage.xml"/>  
     <separator/>
     <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
     <separator/>
     <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
     <document id="commandline" label="Command Line" 
source="xalan/commandline.xml"/>
  +  <hidden   id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>  
     <separator/>
     <document id="usagepatterns" label="Usage Patterns" 
source="xalan/usagepatterns.xml"/>
     <document id="features" label="Features" source="xalan/features.xml"/>
     <separator/>
     <document id="trax" label="TrAX" source="xalan/trax.xml"/>
  +  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>  
     <external href="apidocs/index.html" label="API (Javadoc)"/>
     <separator/>
     <document id="extensions" label="Extensions" 
source="xalan/extensions.xml"/>
  @@ -85,7 +87,6 @@
     <document id="readme" label="Release Notes" source="xalan/readme.xml"/>
     <hidden id="history" source="xalan/history.xml"/>
     <hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
  -  <hidden id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>
     <separator/>
     <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
     <external href="xsltc/index.html" label="XSLTC Design"/>
  
  
  
  1.51      +6 -5      xml-xalan/java/xdocs/sources/xalan-jsite.xml
  
  Index: xalan-jsite.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan-jsite.xml,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- xalan-jsite.xml   27 Jan 2003 18:45:35 -0000      1.50
  +++ xalan-jsite.xml   21 Feb 2003 20:10:10 -0000      1.51
  @@ -58,27 +58,29 @@
    * <http://www.apache.org/>.
    -->
   
  -<book title="Xalan XSL Transformer User's Guide" copyright="2002 The Apache 
Software Foundation">
  +<book title="Xalan XSL Transformer User's Guide" copyright="2003 The Apache 
Software Foundation">
     <resources source="sbk:/sources/xalan/resources.xml"/>
     <external href="../index.html" label="Home"/>
     <separator/>
  -  <document id="index" label="Xalan-J 2.4.1" source="xalan/index.xml"/>
  +  <document id="index" label="Xalan-J 2.5.D1" source="xalan/index.xml"/>
     <document id="whatsnew" label="What's New" source="xalan/whatsnew.xml"/>
  -  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>  
  -  <document id="xsltc_usage" label="XSLTC Translets" 
source="xalan/xsltc_usage.xml"/>
     <separator/>
     <document id="overview" label="Overview" source="xalan/overview.xml"/>
  +  <document id="downloads" label="Downloads" source="xalan/downloads.xml"/>  
     <document id="getstarted" label="Getting Started" 
source="xalan/getstarted.xml"/>
  +  <document id="xsltc_usage" label="Using XSLTC" 
source="xalan/xsltc_usage.xml"/>  
     <separator/>
     <faqs id="faq" label="FAQs" source="xalan/faq.xml"/>
     <separator/>
     <document id="samples" label="Sample Apps" source="xalan/samples.xml"/>
     <document id="commandline" label="Command Line" 
source="xalan/commandline.xml"/>
  +  <hidden id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>  
     <separator/>
     <document id="usagepatterns" label="Usage Patterns" 
source="xalan/usagepatterns.xml"/>
     <document id="features" label="Features" source="xalan/features.xml"/>
     <separator/>
     <document id="trax" label="TrAX" source="xalan/trax.xml"/>
  +  <document id="dtm" label="DTM" source="xalan/dtm.xml"/>  
     <external href="apidocs/index.html" label="API (Javadoc)"/>
     <separator/>
     <document id="extensions" label="Extensions" 
source="xalan/extensions.xml"/>
  @@ -89,7 +91,6 @@
     <document id="builds" label="Xalan-Java Builds" source="xalan/builds.xml"/>
     <hidden id="history" source="xalan/history.xml"/>
     <hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
  -  <hidden id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>
     <separator/>
     <external href="design/design2_0_0.html" label="Xalan 2 Design"/>
     <external href="xsltc/index.html" label="XSLTC Design"/>  
  
  
  
  1.17      +9 -4      
xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.java
  
  Index: EnvironmentCheck.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- EnvironmentCheck.java     30 Jan 2003 18:45:58 -0000      1.16
  +++ EnvironmentCheck.java     21 Feb 2003 20:10:10 -0000      1.17
  @@ -1264,6 +1264,7 @@
       jarVersions.put(new Long(906248), "xalan.jar from xalan-j_2_3_1");
       jarVersions.put(new Long(983377), "xalan.jar from xalan-j_2_4_D1");    
       jarVersions.put(new Long(997276), "xalan.jar from xalan-j_2_4_0");
  +    jarVersions.put(new Long(1031036), "xalan.jar from xalan-j_2_4_1");    
       
       jarVersions.put(new Long(857171), "xalan.jar from lotusxsl-j_1_0_1");
       jarVersions.put(new Long(802165), "xalan.jar from lotusxsl-j_2_0_0");
  @@ -1280,6 +1281,8 @@
       jarVersions.put(new Long(589915), "xsltc.jar from xalan-j_2_3_1");
       jarVersions.put(new Long(1306667), "xsltc.jar from xalan-j_2_4_D1");     
       jarVersions.put(new Long(1328227), "xsltc.jar from xalan-j_2_4_0");
  +    jarVersions.put(new Long(1344009), "xsltc.jar from xalan-j_2_4_1");
  +    jarVersions.put(new Long(1348312), "xsltc.jar from xalan-j_2_5_D1");    
       jarVersions.put(new Long(1268634), "xsltc.jar-bundled from 
xalan-j_2_3_0");
   
       jarVersions.put(new Long(100196), "xml-apis.jar from xalan-j_2_2_0 or 
xalan-j_2_3_D1");
  @@ -1287,6 +1290,7 @@
       jarVersions.put(new Long(109049), "xml-apis.jar from xalan-j_2_4_0 from 
xml-commons RIVERCOURT1 branch");
       jarVersions.put(new Long(109049), "xml-apis.jar from xalan-j_2_4_0, 
lotusxsl-j_2_3_2 or lotusxsl-j_2_3_3 from xml-commons RIVERCOURT1");
       jarVersions.put(new Long(113749), "xml-apis.jar from xalan-j_2_4_1, 
lotusxsl-j_2_3_4 or lotusxsl-j_2_3_5 from factoryfinder-build of xml-commons 
RIVERCOURT1");
  +    jarVersions.put(new Long(124704), "xml-apis.jar from xalan-j_2_5_D1 from 
from tck-jaxp-1_2_0 branch of xml-commons");    
       // If the below were more common I would update it to report 
       //  errors better; but this is so old hardly anyone has it
       jarVersions.put(new Long(424490), "xalan.jar from Xerces Tools releases 
- ERROR:DO NOT USE!");
  @@ -1319,6 +1323,7 @@
       jarVersions.put(new Long(1174955), "xercesImpl.jar from lotusxsl-j_2_3_5 
from XML4J-4_0_8");
       jarVersions.put(new Long(1173922), "xercesImpl.jar from lotusxsl-j_2_3_6 
from XML4J-4_0_9");
       jarVersions.put(new Long(831828), "xercesImpl.jar from lotusxsl-j_2_4_0 
from XML4J-4_1_1");
  +    jarVersions.put(new Long(891817), "xercesImpl.jar from lotusxsl-j_2_4_0 
from xerces-2_3");    
   
       jarVersions.put(new Long(37485), "xalanj1compat.jar from xalan-j_2_0_0");
       jarVersions.put(new Long(38100), "xalanj1compat.jar from xalan-j_2_0_1");
  @@ -1327,7 +1332,7 @@
       jarVersions.put(new Long(21453), "xalanservlet.jar from xalan-j_2_0_1");
       jarVersions.put(new Long(24826), "xalanservlet.jar from xalan-j_2_3_1 or 
xalan-j_2_4_1 or lotusxsl-j_2_3_1 to lotusxsl-j-2_3_5");    
       jarVersions.put(new Long(24831), "xalanservlet.jar from xalan-j_2_4_1");
  -
  +    
       // For those who've downloaded JAXP from sun
       jarVersions.put(new Long(5618), "jaxp.jar from jaxp1.0.1");
       jarVersions.put(new Long(136133), "parser.jar from jaxp1.0.1");
  
  
  
  1.53      +660 -1212 xml-xalan/java/commits.xml
  
  Index: commits.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/commits.xml,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- commits.xml       31 Oct 2002 13:50:50 -0000      1.52
  +++ commits.xml       21 Feb 2003 20:10:11 -0000      1.53
  @@ -1,1690 +1,1138 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <Commits>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/28</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerImpl.java</Modified>
  -<Log>
  -Keep track of parameters for built-in identity transform (needed for
  -some TCK tests).
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan readme.xml</Modified>
  -<Log>
  -On behalf of Sarah McNamara, updated the developer list and list of changes 
since Xalan Java 2.3.1
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan resources.xml</Modified>
  -<Log>
  -On behalf of Sarah McNamara, added resources for the new developers added to 
readme.xml
  -</Log>
  -</Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan index.xml</Modified>
  -<Log>
  -On behalf of Sarah McNamara, removed 'developers release' wording so that 
this release is not flagged as such
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan history.xml</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/01</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java 
ExsltStrings.java</Modified>
   <Log>
  -On behalf of Sarah McNamara, updated the core (non-xsltc) commit info for 
Xalan Java 2.4.0
  +For Bugzilla 14157. Correct namespace prefixes in EXSLT javadoc.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan xsltc_history.xml</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/01</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/utils 
SystemIDResolver.java</Modified>
   <Log>
  -On behalf of Sarah McNamara, updated the xsltc commit info for Xalan Java 
2.4.0
  +Rework the SystemIDResolver class for Bugzilla 13651 and 13977.
  +
  +The getAbsoluteURI interfaces have been rewritten so that they always
  +return a good absolute URI for a systemId string, no matter it is a
  +URI or a local filesystem path. The path is resolved to be absolute
  +whenever possible. We also do conversions from space to "%20" and
  +backslash to forward slash to ensure that the returned URI is a
  +well-formed URI. The URI might not be in a normalized form because
  +normalization takes extra cycles.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources xalan-jsite.xml</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/01</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/utils URI.java</Modified>
   <Log>
  -On behalf of Sarah McNamara, added a link to the new Xalan Java Builds 
information
  +For Bugzilla 13977. Return a good absolute URI when the urlstring
  +is in the form of "file:abc.xsl".
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java commits.xml</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/01</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/processor 
TransformerFactoryImpl.java</Modified>
   <Log>
  -On behalf of Sarah McNamara, updated the list of commits to pick up the 
modified file information correctly
  +For Bugzilla 13651. Set the systemID to a good absolute URI for the 
InputSource.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xslt 
EnvironmentCheck.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/01</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java</Modified>
   <Log>
  -On behalf of Sarah McNamara, added entries for the Xalan Java 2.4.0 packaged 
jars
  +Simplify the code for the new SystemIDResolver. One call to the 
getAbsoluteURI
  +interface should be enough.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/bin xercesImpl.jar</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/01</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/compiler 
OpMapVector.java</Modified>
   <Log>
  -Updated to xercesImpl.jar from Xerces-J-bin.2.0.1.zip (for upcoming Xalan-J 
2.4.0 release).
  +Patch for bugzilla #14178 - Long XPath expressions.  The token queue was 
  +growing properly, but the operations map was missing the last element when 
  +it grew.
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerHandlerImpl.java TrAXFilter.java</Modified>
  +<DateCommitted>2002/11/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerFactoryImpl.java Util.java</Modified>
   <Log>
  -Fixed XSLTCs implementation of XMLFilter
  +bug 14148 fixed, Morris Kwan patch
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TrAXFilter.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
MultiDOM.java</Modified>
   <Log>
  -added some check for parents of filter chain
  +Fixed problem in AxisIterator.isReverse(). This patch fixes Bugzilla
  +14112.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
xpath.cup</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/domapi 
XPathNamespaceImpl.java</Modified>
   <Log>
  -Fix for Bugzilla 12125.
  +Update XPathNamespaceImpl to be consistent with spec for
  +getLocalName, getPrefix, getNamespaceURI, getNodeName, getNodeValue
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/08/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
EqualityExpr.java RelationalExpr.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/04</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources xalan-jlocal.xml xalan-jsite.xml 
xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml commandline.xml 
extensions_xsltc.xml extensionslib.xml</Modified>
   <Log>
  -bug 12148 fixed, xpath pred and relational expr
  +Added two new documents: Extensions for XSLTC and XSLTC options in the
  +Process command line. Added the "XSLTC Exts" item to the main panel.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltDatetime.java</Modified>
   <Log>
  -Fixed Class loader Problem. Default Connection now uses context Classloader
  +For Bugzilla 14237. Fix problems in the hour-in-day extension function.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
SQLDocument.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/05</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/compiler 
OpMapVector.java</Modified>
   <Log>
  -Fixed problem where a query that returned zero rows would incorrectly return 
a JDBC
  -Exception. Note: This only occurs in streaming mode.
  +Use actual length of array in call to arraycopy.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref 
DTMNodeProxy.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/05</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/objects 
XNumber.java</Modified>
   <Log>
  -Add a convenient interface getStringValue() which returns the
  -string value of a node. It is used by the extension code
  -to get a node value without hacking into the DTM.
  +Applying Gordon Chiu's ([EMAIL PROTECTED]) patch for bugzilla #14241.
  +Extra trailing 0 when calling XNumber.str().
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates 
Constants.java</Modified>
  +<DateCommitted>2002/11/05</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltDynamic.java</Modified>
   <Log>
  -Add strings for new extension namespaces. This includes new EXSLT
  -namespaces (dynamic and strings), namespaces for redirect, PipeDocument
  -and SQL extensions and new namespace for the Java extension. For
  -backward compatibility, the old Java namespace is still kept.
  +Fix a problem in the max() function. Reuse the Document object to reduce
  +memory usage.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/extensions 
ExtensionNamespacesManager.java</Modified>
  +<DateCommitted>2002/11/05</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources/xalan commandline_xsltc.xml 
commandline.xml</Modified>
   <Log>
  -Register new extension namespaces, including two new EXSLT namespaces
  -(dynamic and strings), namespaces for redirect, PipeDocument and SQL
  -extensions and the new/old namespaces for Java extension.
  +xdocs update for XSLTC options in Process command line.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib Extensions.java</Modified>
  +<DateCommitted>2002/11/06</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources entities.ent xalan-jlocal.xml 
xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan readme.xml 
xsltc_constraints.xml xsltc_usage.xml</Modified>
   <Log>
  -Reorganize the extension functions for new EXSLT extensions and
  -XSLTC integration. The implementation of some extension functions
  -(intersection, difference, distinct, evaluate and tokenize) are
  -moved to the corresponding EXSLT extension classes. We also put
  -a note to say that using these extension functions in the
  -Xalan namespace is deprecated. The signature of some extension
  -functions are changed to facilitate the XSLTC integration.
  +XSLTC xdocs update.
  +Remove xsltc_constraints.xml. Move the "known problem" and "smart transformer
  +switch" sections into xsltc_usage.xml.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java</Modified>
  +<DateCommitted>2002/11/07</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltDatetime.java</Modified>
   <Log>
  -The EXSLT math extension was rewritten for XSLTC integration. The
  -signatures of the existing functions (max, min, highest and lowest)
  -are changed. We use NodeList instead of NodeSet and NodeIterator
  -in arguments and return types, because it is the only node list type
  -recognized by XSLTC. We also got rid of the ExpressionContext
  -arguments in these functions. We implemented the toNumber() and toString()
  -interfaces as a replacement.
  -
  -I also implemented all of the remaining math functions in the EXSLT spec,
  -e.g. constant, sin, random.
  +For bugzilla 14324. Fix a few problems in datetime extension functions.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltSets.java</Modified>
  +<DateCommitted>2002/11/07</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltDatetime.java</Modified>
   <Log>
  -The signatures of the sets extension functions are changed for
  -XSLTC integration. NodeList is used instead of NodeSet and NodeIterator
  -in arguments and return types. The implementation of intersection,
  -difference and distinct was moved from Extensions.java to this file.
  +For bugzilla 14322. Fix problem in condition checking in getZoneStart().
   </Log>
   </Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib Redirect.java</Modified>
  +<Commit category="xsltc">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/07</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
StreamHTMLOutput.java StreamOutput.java</Modified>
   <Log>
  -Add comments for the new namespace (http://xml.apache.org/xalan/redirect).
  +Fix for Bugzilla 14229.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib 
PipeDocument.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/08</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
ResultTreeHandler.java xml-xalan/java/src/org/apache/xalan/templates 
ElemElement.java ElemTemplateElement.java</Modified>
   <Log>
  -Add comments for the new namespace 
(http://xml.apache.org/xalan/PipeDocument).
  +Committing Gordon Chiu's ([EMAIL PROTECTED]) patches for
  +namespace bugs #13774,13775,13414
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
XConnection.java</Modified>
  +<DateCommitted>2002/11/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/utils 
SystemIDResolver.java</Modified>
   <Log>
  -Add comments for the new namespace (http://xml.apache.org/xalan/sql).
  +Minor improvement to the getAbsoluteURIFromRelative() and getAbsoluteURI()
  +interfaces. Reorganize the code to be more efficient. Return a slightly
  +better result when the input string is an invalid URI.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltDynamic.java</Modified>
  +<DateCommitted>2002/11/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref 
DTMNodeList.java</Modified>
   <Log>
  -Add the ExsltDynamic class which implements the EXSLT dynamic
  -extension functions (max, min, sum, map, evaluate and closure).
  -
  -The implementation of evaluate is taken from Extensions.java.
  -The Javadoc is copied from the relevant EXSLT page.
  +For Bugzilla 14406. Make the interface getDTMIterator() public.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltStrings.java</Modified>
  +<DateCommitted>2002/11/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/objects 
XNodeSet.java</Modified>
   <Log>
  -Implement the EXSLT strings extension functions (align,
  -concat, padding, split and tokenize). The implementation
  -of tokenize is taken from Extensions.java.
  -
  -The Javadoc is copied from the relevant EXSLT page. Three
  -functions (decode-uri, encode-uri and replace) are missing
  -due to ambiguous spec.
  +For Bugzilla 14406. Handle the side-effect that creating a DTMNodeList
  +will change the state of the iterator.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/axes 
SelfIteratorNoPredicate.java</Modified>
  +<DateCommitted>2002/11/12</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources/xalan extensions_xsltc.xml</Modified>
   <Log>
  -For Bugzilla 11809 and 10643. Fix the nextNode() interface so that
  -it returns DTM.NULL if the m_foundLast flag is true.
  +Fix problems in the XSLTC redirect sample. This sample was copied from
  +xsltc_constraints.xml. It works with XSLTC, but not using a good syntax.
  +It is better to change "xsl:version" to "version" and add a "extension-
  +element-prefixes" attribute.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates 
ElemExtensionCall.java</Modified>
  +<DateCommitted>2002/11/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath 
ExtensionsProvider.java</Modified>
   <Log>
  -For Bugzilla 11073. Fix an extension namespace problem.
  +For bugzilla 14236. Add a new interface to pass the XPath
  +extension function up to Xalan.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/06</DateCommitted>
  +<DateCommitted>2002/11/13</DateCommitted>
   <Modified> xml-xalan/java/src/org/apache/xpath/functions 
FuncExtFunction.java</Modified>
   <Log>
  -For Bugzilla 11743 and 12298. Fix argument handling in
  -extension functions. Arguments now have non-null parents
  -and they will be visited by the XPathVisitor.
  +For bugzilla 14236. Pass the XPath extension function object to the
  +extension provider.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/09</DateCommitted>
  -<Modified> xml-xalan/java KEYS</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/extensions 
ExtensionHandler.java ExtensionHandlerExsltFunction.java 
ExtensionHandlerGeneral.java ExtensionHandlerJavaClass.java 
ExtensionHandlerJavaPackage.java ExtensionsTable.java 
xml-xalan/java/src/org/apache/xalan/templates ElemExsltFuncResult.java 
ElemExsltFunction.java xml-xalan/java/src/org/apache/xalan/transformer 
TransformerImpl.java</Modified>
   <Log>
  -I had to get a new key after a hard drive crash.  This time, I backed it up!
  +For bugzilla 14236 and 14244. Cleanup in the extension handling code to make
  +EXSLT func:function and func:result work correctly.
  +
  +New interfaces are added in ExtensionProvider, ExtensionsTable and
  +ExtensionHandler to pass the XPath extension function up to the extension
  +handler. In the case of an EXSLT function, we need to find out the frame
  +size of the caller template and use that to reset the frame bottom of
  +the variable stack. This prevents the local variables in the callee
  +from overwriting the variables in the caller. Also change the way to
  +handle the return result of the function to fix the problem in 14244.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/09</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline 
Transform.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/axes PredicatedNodeTest.java 
OneStepIterator.java</Modified>
   <Log>
  -Change committed on behalf of Igor Hersht: added -DIAG option similar to that
  -supported by org.apache.xalan.xslt.Process class (for bug 12261).
  -
  -Also (on my own behalf) changed calculation of average transform time and
  -throughput rate for -n option to use floating-point division, rather than
  -integer division; latter yielded meaningless results.
  +Committing Gordon Chiu's ([EMAIL PROTECTED]) patches for bugzilla #14365, 
14368.
  +Fixes for processing of last()  function.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/10</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
OutputBuffer.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java 
StreamXMLOutput.java StringOutputBuffer.java WriterOutputBuffer.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/14</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMWSFilter.java</Modified>
   <Log>
  -New buffering system for stream output.
  +file DOMWSFilter.java was initially added on branch XSLTC_DTM.
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/10</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
NodeCounter.java</Modified>
  +<DateCommitted>2002/11/18</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
SAXAdapter.java</Modified>
   <Log>
  -Support for Greek alphabet in xsl:number.
  +Forward namespace() event as startPrefixMapping() to the DOM builder. TODO:
  +additional logic is needed to emit the endPrefixMapping() event. This patch
  +fixes namespace141.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/11</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
WriterOutputBuffer.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/processor 
StylesheetHandler.java</Modified>
   <Log>
  -Set a larger buffer size for Solaris.
  +In response to Simon Kitching's  ([EMAIL PROTECTED]) bug report #14578, 
moved synchronized 
  +block from init method to static initializer to avoid race conditions.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/11</DateCommitted>
  -<Modified> xml-xalan/java build.xml</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java 
Encodings.properties xml-xalan/java/samples/ApplyXPath ApplyXPath.java 
xml-xalan/java/samples/ApplyXPathDOM ApplyXPathDOM.java 
xml-xalan/java/samples/CompiledJAXP Transform.java xml-xalan/java/samples/trax 
Examples.java xml-xalan/java/samples/UseStylesheetParam 
UseStylesheetParam.java</Modified>
   <Log>
  -Copy the LICENSE and README files to the bin directory for the source 
distribution.
  -These files are needed by the xsltc.jar target.
  +Committing Gordon Chiu's ([EMAIL PROTECTED]) patch for encoding issues
  +with serializer, samples and test harness. (Bugzilla #14753)
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/11</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
TransformerIdentityImpl.java</Modified>
  +<DateCommitted>2002/11/25</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltStrings.java 
Extensions.java</Modified>
   <Log>
  -Throw an IllegalArgumentException in the setErrorListener() interface
  -if the error listener is null.
  +Fix possible thread contention issue by putting
  +a lock on the Document object before using it.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/11</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/extensions 
MethodResolver.java</Modified>
  +<DateCommitted>2002/11/25</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java</Modified>
   <Log>
  -For Bugzilla 9731. Convert an empty NodeList to a null Node.
  +Commit Ramesh Mandava's ([EMAIL PROTECTED]) patch to allow xalan to read
  +property files without opening upcontainer permissions when Xalan is used as
  +part of a secure container, such as J2EE RI.
  +
  +The change makes use of the PrivilegedAction interface in JDK 1.2+. It was
  +written with JDK 1.1.8 compatibility in mind so that it will do the same
  +thing as before in JDK 1.1.8.
   </Log>
   </Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/13</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java xml-xalan/java/src/org/apache/xalan/transformer 
TransformerImpl.java</Modified>
  +<Commit category="xsltc">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/26</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java 
Sort.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
NodeSortRecord.java</Modified>
   <Log>
  -For Bugzilla 12379. Transformer.setOutputProperties() should throw
  -IllegalArgumentException if the property is invalid.
  +
  +Changed the NodeSortRecord class to hold non-static references to
  +instances of java.text.Collator and java.util.Locale. Updated the
  +bytecode generation for NodeSortRecord subclasses to access the new
  +variables correctly. When a stylesheet specifies a different language
  +in xsl:sort, the protected references in NodeSortRecord will be
  +updated by the subclass' constructor.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/13</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor 
XSLTAttributeDef.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/27</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/axes 
NodeSequence.java</Modified>
   <Log>
  -For Bugzilla 12127. Throw a TransformerException if a prefix cannot
  -be resolved to a URI insteading of throwing a NullPointerException.
  +Patch for bugzilla #14862.  When NodeSequence wraps a mutable nodeset
  +use the wrapped nodeset in getLength() method.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/13</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor 
XSLTAttributeDef.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/11/27</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java 
xml-xalan/java/src/org/apache/xpath/objects XNodeSet.java</Modified>
   <Log>
  -Correct a problem in the previous patch.
  +The is a better patch for bugzilla #14862 and more consistent with code in 
xslt20 branch.
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/14</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Constants.java 
SyntaxTreeNode.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ResultTreeType.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMImpl.java</Modified>
  +<DateCommitted>2002/12/03</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
DefaultSAXOutputHandler.java TextOutput.java</Modified>
   <Log>
  -Set different initial sizes for DOMImpl arrays. The new values result
  -in better performance for the average case.
  + Added deprecation comments for DefaultSAXOutputHandler and TextOutput.
  + The class xsltc.runtime.output.TransletOutputHandlerFactory
  + should be used instead. See xsltc.cmdline.Transform for an example.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/15</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler xpath.cup 
xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java</Modified>
  +<DateCommitted>2002/12/03</DateCommitted>
  +<Modified> xml-xalan/java/samples/CompiledServlet CompileServlet.java 
TransformServlet.java</Modified>
   <Log>
  -Optimized evaluation of //RelativeLocationPath expressions.
  +Updated sample to use non-deprecated API.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltDatetime.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/03</DateCommitted>
  +<Modified> xml-xalan/java/samples/CompiledApplet TransformApplet.java 
xml-xalan/java/samples/CompiledBrazil TransformHandler.java 
xml-xalan/java/samples/CompiledEJB TransformBean.java</Modified>
   <Log>
  -Javadoc correction.
  +Updated samples to use non-deprecated API.
   </Log>
   </Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib Extensions.java</Modified>
  +<Commit category="xsltc">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc CollatorFactory.java 
xml-xalan/java/src/org/apache/xalan/xsltc/dom CollatorFactoryBase.java 
NodeSortRecord.java NodeSortRecordFactory.java</Modified>
   <Log>
  -Make the tokenize extension function different from the one in the
  -EXSLT strings extension. Reuse the Document object to reduce
  -memory consumption.
  +Patch provided by W. Eliot Kimber to support user-defined collators. A
  +class implementing the org.apache.xalan.xsltc.CollatorFactory interface
  +can be specified from the command line by setting the property:
  +
  + org.apache.xalan.xsltc.COLLATOR_FACTORY
  +
  +The class org.apache.xalan.xsltc.dom.CollatorFactoryBase will be used
  +by default.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib 
ExsltStrings.java</Modified>
  +<DateCommitted>2002/12/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/processor 
TransformerFactoryImpl.java</Modified>
   <Log>
  -Make the tokenize function conformed with the EXSLT spec. Reuse
  -the Document object to reduce memory usage.
  +Performance fix
  +Move the call to newTemplateHandler() to be after DOMSource processing.
  +DOMSource creates another template handler in the processFromNode() method.
  +The newTemplateHandler() call initializes the schema, which is expensive.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/axes RTFIterator.java 
xml-xalan/java/src/org/apache/xpath/objects XRTreeFrag.java</Modified>
  +<DateCommitted>2002/12/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm 
DOM2DTM.java</Modified>
   <Log>
  -For Bugzilla 11341. Let RTFIterator extend NodeSetDTM so that it is the kind
  -of DTMIterator expected by DTMNodeList. This also fixes the problem in
  -testcase JavaBugzilla3722.
  +Performance fix
  +Reuse the node name in the preceding statement.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor 
ProcessorExsltFunction.java XSLTSchema.java</Modified>
  +<DateCommitted>2002/12/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/serialize 
Encodings.java</Modified>
   <Log>
  -For Bugzilla 12077. Fixed problem with func:function in included stylesheet.
  -Add exsltFunction to the templateElements list so that we can detect the 
error where
  -func:function is embedded in another (e.g. xsl:variable) element.
  +Commit Gordon Chiu's ([EMAIL PROTECTED]) patch for performance improvement
  +in the Encodings class. The convertJava2MimeEncoding() and getLastPrintable()
  +methods can be called many times. The old code walks through a big array and
  +do String comparison to find a match. A Hashtable is now used to speed up
  +this processing.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ObjectType.java</Modified>
  +<DateCommitted>2002/12/04</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/objects 
XBoolean.java</Modified>
   <Log>
  -For XSLTC extension integration. Support creating ObjectType from a Class
  -object. Add an additional field to store the Class.
  +For Bugzilla 15074. Return a java Boolean type object in object(),
  +so that it can be recognized by extension functions.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
BooleanType.java IntType.java NodeSetType.java NodeType.java RealType.java 
ResultTreeType.java StringType.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/05</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMImpl.java</Modified>
   <Log>
  -For XSLTC extension integration. Add more translation rules required by
  -extensions. Specifically, all types can be translated to a generic Java 
Object.
  -Numeric types can be translated to their corresponding Java types (e.g. Real 
to
  -java.lang.Double). Node, NodeSet and ResultTree can be translated to a Java 
String.
  + Patch for Bugzilla 15094. Fixed method to compute limit in a Descendant
  +iterator; old method was (very) buggy.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
AbstractTranslet.java</Modified>
  +<DateCommitted>2002/12/05</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/templates 
ElemVariable.java</Modified>
   <Log>
  -Support the append attribute in the redirect/output extension.
  +Commit the patch from Arun Yadav([EMAIL PROTECTED]) to fix Bugzilla 15089.
  +Don't add the func:result element to the variable table because it does not 
have
  +a name.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  +<DateCommitted>2002/12/06</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/axes AxesWalker.java 
ChildTestIterator.java MatchPatternIterator.java OneStepIterator.java 
ReverseAxesWalker.java</Modified>
   <Log>
  -For XSLTC extension integration. Implement the object-type extension
  -function in the EXSLT commons package. Change the behavior of the
  -nodeList2Iterator interface so that it will do a deep copy on the argument
  -NodeList, i.e. if a Node in the NodeList is an Element, it will not only
  -copy the Node itself, but also copy all children and attributes. This is
  -required to get any extension function that returns a NodeList to work in
  -XSLTC.
  +Fix the memory leak problem in Bug 6075.
  +In the detach() method, null out the fields in the iterators that will
  +be reassigned a value upon the next usage. This change fixes the problem
  +that the iterators in the IteratorPool can indirectly reference the
  +TransformerImpl object.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
TransletOutput.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/09</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java</Modified>
   <Log>
  -Support the append attribute in the output extension element, so that
  -it behavior is more like redirect:write.
  +Patch for bugzilla 14965, with tweak from Art W ([EMAIL PROTECTED]).
  +Handle empty comment case.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
Constants.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/10</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/templates 
ElemForEach.java</Modified>
   <Log>
  -Add a constant string for the redirect namespace.
  +Patch for bugzilla 15254.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
CastExpr.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref 
DTMNodeList.java</Modified>
   <Log>
  -For extension integration. Allow numeric types to be casted to
  -Object type.
  +Applying Arun Yadav's ([EMAIL PROTECTED]) patch for bugzilla #15218.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
Parser.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm DTMIterator.java 
xml-xalan/java/src/org/apache/xml/dtm/ref DTMNodeIterator.java 
xml-xalan/java/src/org/apache/xpath NodeSetDTM.java</Modified>
   <Log>
  -For extension integration. Add the objectType extension function to the
  -Symbol Table. Maps the redirect:write element to the TransletOutPut class.
  +Just tidying up the javadoc in the previousNode and nextNode methods
  +and making sure we're testing against DTM.NULL instead of -1.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
xpath.cup</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/17</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler Mode.java StepPattern.java 
xpath.cup xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java 
StreamXMLOutput.java</Modified>
   <Log>
  -For extension integration. The nodeset extension function can be used as
  -node-set in the http://exslt.org/common namespace.
  +Changes:
  + - Fixed matching problem reported by Ivelin Ivanov (Cocoon).
  + - Added support for namespaces when output is HTML.
  + - Set new version of XSLTC to be 1.4.0.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/16</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionCall.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/17</DateCommitted>
  +<Modified> xml-xalan/java/samples/trax Examples.java</Modified>
   <Log>
  -Changes for Java extension and EXSLT extension support.
  -For Java extension:
  -- support 3 different namespace formats (Java, class and package).
  -- fix a bunch of type translation problems
  -- fix problems in class/method matching algorithm
  -
  -For EXSLT extension:
  -- support the math, set, strings and datetime extension
  -- support using the nodeset extension in 3 different ways (xsltc, xalan and 
EXSLT commons)
  -- support the object-type extension in EXSLT commons as a native XSLTC 
function
  -- Maps the redirect:write element to XSLTC's output element
  -- extension function name translation (e.g. node-set to nodeSet)
  +Fixing encodings issues with samples.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/17</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
xpath.cup</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/17</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref 
DTMDefaultBase.java</Modified>
   <Log>
  -Additional optimizations in expansion of '//'.
  +Migrating an improvement in memory usage from the XSLTC_DTM branch:
  +
  +Reduced the initial sizes of SuballocatedIntVectors used for m_dtmIdent and
  +namespace management.  In both cases default size SuballocatedIntVectors were
  +being used, which entails a block size of 2048.  For m_dtmIdent, that value
  +would only overflow into a second block for a document with 2048*65536 nodes.
  +Using a smaller size improves DTM build time for smaller documents, without
  +penalizing most larger documents.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/17</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline 
Transform.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/17</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm 
SAX2DTM.java</Modified>
   <Log>
  -Removed "-DIAG" option as it is similar to "-n 1". XSLTC's command line
  -options are single letters, so -DIAG does not really fit in the synopsis.
  -Morris K. is working on an extension for Xalan's Process class to allow
  -the compilation and execution of translets (once that work is completed
  -the -DIAG option will be available for XSLTC too).
  +Patch for bugzilla 4858.
  +Reduces SAX2DTM memory usage by dropping m_locator after parsing is 
complete. Value of m_locator.getSystemId() is cached.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/17</DateCommitted>
  -<Modified> xml-xalan/java/bin xml-apis.jar xml-xalan/java/src 
xml-commons-src.tar.gz</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/20</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
SQLDocument.java</Modified>
   <Log>
  -New version of xml-apis.jar taken from xml-commons with tag:
  -factoryfinder-build.  It contains the JAXP FactoryFinder patch and some
  -SAX file updates.
  +Fixed spelling mistake for DEFINITELYWRITABLE
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/17</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler XSLTC.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ErrorMessages.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/20</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
DTMDocument.java</Modified>
   <Log>
  -Change default policy for template inlining.
  +Fixed handling of Node text when an Element Node is selected
  +Code provided by [EMAIL PROTECTED]
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/17</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerFactoryImpl.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/20</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java</Modified>
   <Log>
  -Replaced attribute "disable-inlining" by attribute "enable-inlining".
  +Added in missing code for disable pool
  +Code provided by [EMAIL PROTECTED]
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/18</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/res 
XSLTErrorResources.properties xml-xalan/java/src/org/apache/xalan/xslt 
Process.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/20</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
DTMDocument.java</Modified>
   <Log>
  -XSLTC support - phase 1
  -
  -Add the -XSLTC option to enable transforming using XSLTC
  -
  -The following existing options do not work in XSLTC mode:
  --TT
  --TG
  --TS
  --TTC
  --QC
  --L
  --INCREMENTAL
  --NOOPTIMIZE
  --RL
  -
  -If any of these options is used with -XSLTC, a message is printed
  -and the option is ignored. All other existing options (e.g. -flavor,
  --text, etc.) can be used with -XSLTC.
  -
  -In phase 2, we are going to migrate the XSLTC specific options in the
  -XSLTC command lines (Compile and Transform) to the Process command line.
  -One of the new features would be generating translet class files from
  -the xsl.
  +Fixed minor bug with for loop in getNodeData. Removed
  +direct access to child node array
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/19</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltDynamic.java 
ExsltMath.java ExsltStrings.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2002/12/20</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java</Modified>
   <Log>
  -Extension work. A few Javadoc correction. Fix problems in math:max and 
math:min.
  +Fixed createConnection method for JDK1.4
  +Tested with 1.4.1
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/19</DateCommitted>
  +<DateCommitted>2002/12/22</DateCommitted>
   <Modified> xml-xalan/java/src/org/apache/xpath/objects 
XRTreeFragSelectWrapper.java</Modified>
   <Log>
  -For Bugzilla 6181. Change the execute() interface to return the result
  -of executing the select expression.
  +For Bugzilla 15373. Change the execute() method to always return a XString
  +object. Also change the type to CLASS_STRING.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/20</DateCommitted>
  -<Modified> xml-xalan/java/bin xercesImpl.jar</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/09</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath/objects XNumber.java 
XStringForFSB.java</Modified>
   <Log>
  -Updating to latest xercesImpl.jar, which contains org.w3c.dom.xpath 
interfaces.
  +Patch for bugzilla 14300.
  +Corrected algorithm for converting strings to numbers as it was failing on 
very large or very small numbers.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/20</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/domapi 
XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java 
XPathResultImpl.java xml-xalan/java/src/org/apache/xpath/res 
XPATHErrorResources.java XPATHErrorResources.properties</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/10</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/processor 
ProcessorImport.java ProcessorInclude.java StylesheetHandler.java 
XSLTAttributeDef.java xml-xalan/java/src/org/apache/xalan/res XSLMessages.java 
XSLTErrorResources_de.java XSLTErrorResources_en.java 
XSLTErrorResources_es.java XSLTErrorResources.java XSLTErrorResources_fr.java 
XSLTErrorResources_it.java XSLTErrorResources_ja.java 
XSLTErrorResources_ko.java XSLTErrorResources_sv.java 
XSLTErrorResources_zh_CN.java XSLTErrorResources_zh_TW.java 
xml-xalan/java/src/org/apache/xalan/templates ElemTemplateElement.java 
FuncDocument.java FuncFormatNumb.java 
xml-xalan/java/src/org/apache/xalan/transformer MsgMgr.java 
xml-xalan/java/src/org/apache/xml/utils UnImplNode.java 
xml-xalan/java/src/org/apache/xml/utils/res XResourceBundleBase.java 
XResources_de.java XResources_es.java XResources_fr.java XResources_it.java 
XResources_ko.java XResources_sv.java XResources_zh_CN.java 
XResources_zh_TW.java xml-xalan/java/src/org/apache/xpath Expression.java 
XPath.java xml-xalan/java/src/org/apache/xpath/compiler Compiler.java 
OpMap.java XPathParser.java xml-xalan/java/src/org/apache/xpath/objects 
XObject.java xml-xalan/java/src/org/apache/xpath/res 
XPATHErrorResources_de.java XPATHErrorResources_en.java 
XPATHErrorResources_es.java XPATHErrorResources_fr.java 
XPATHErrorResources_it.java XPATHErrorResources_ja.java 
XPATHErrorResources_ko.java XPATHErrorResources_sv.java 
XPATHErrorResources_zh_CN.java XPATHErrorResources_zh_TW.java 
XPATHErrorResources.java</Modified>
   <Log>
  -Prototype implementation of DOM L3 XPath Specification.
  +Changes from Ramesh Mandava ([EMAIL PROTECTED]) to move to using
  +ListResourceBundles for Xalan-J Interpretive messages, along with localized
  +versions of those messages.
  +
  +In addition, message keys are now meaningful strings, rather than numeric.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/20</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java</Modified>
  +<DateCommitted>2003/01/10</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java</Modified>
   <Log>
  -Committing Gordon Chiu's ([EMAIL PROTECTED]) patch for bugzilla #6927.
  +Committing Gordon Chiu's patch for bugzilla #6157.  Multiple xsl:output
  +statements should now be merged correctly.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/21</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMAdapter.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/templates 
OutputProperties.java</Modified>
   <Log>
  -Lazy computation of mappings and reverse mappings.
  +Small cleanup regarding bugzilla 6157.
  +Removed m_propertiesLevels field as it's no longer required.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/21</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMImpl.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/11</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources/xsltc 
xsltc_performance.xml</Modified>
   <Log>
  -(1) Synchronize access to static variable.
  -(2) Pre-allocate static objects for attribute and element types.
  +Fixing mispellings in xsltc_performance.xml (bugzilla 15591).
  +Changes will appear when the site is re-generated.
  +
  +Mispellings originally reported by Rob Tougher ([EMAIL PROTECTED]).
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/21</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMImpl.java</Modified>
  -<Log>
  -Changed setting to speed up DOM building process.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan xsltc_constraints.xml 
xsltc_usage.xml</Modified>
  +<DateCommitted>2003/01/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
CompilerContext.java</Modified>
   <Log>
  -compile -n option changed so inlining is now the default
  +file CompilerContext.java was initially added on branch xslt20.
   </Log>
   </Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java 
ExsltDynamic.java ExsltMath.java ExsltSets.java ExsltStrings.java</Modified>
  +<Commit category="xsltc">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
CompilerContextImpl.java</Modified>
   <Log>
  -Extension cleanup.
  -Add an ExsltBase class as the super class for other EXSLT implementation
  -classes, so that the toString() and toNumber() interfaces can be easily
  -reused by all the subclasses without duplicating code.
  +file CompilerContextImpl.java was initially added on branch xslt20.
   </Log>
   </Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath DOMHelper.java</Modified>
  +<Commit category="xsltc">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
StaticContext.java</Modified>
   <Log>
  -The isNodeTheSame(node1, node2) interface should return true if node1==node2.
  +file StaticContext.java was initially added on branch xslt20.
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerFactoryImpl.java</Modified>
  +<DateCommitted>2003/01/13</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
StaticContextImpl.java</Modified>
   <Log>
  -Return a fresh XMLReader for each call to getXMLReader(). Returning the
  -same instance is incorrect in multi-threaded apps where a single
  -transformer factory is shared by all threads.
  +file StaticContextImpl.java was initially added on branch xslt20.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
DOM2TO.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/14</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm DTMManager.java 
FactoryFinder.java SecuritySupport.java SecuritySupport12.java</Modified>
   <Log>
  -For Bugzilla 12924. Add handling code for DocumentType Node.
  +Committing changes in response to bugzilla #12481.  
  +Before this commit,  DTMManager.newInstance cached the found class
  +in the cases where the class was identified in jaxp.properties or the class 
path.
  +There were some problems with this:
  +
  +1. It was not thread-safe because access to the static field foundFactory was
  +   not synchronized.
  +2. We weren't caching the class when we defaulted to the fallback class (this
  +   was the original issue in the bug report.)
  +3. We weren't using the AccessController class available in JDK1.2 to control
  +   access to priviliged resources (eg. system properties, files).
  +4. DTMManager would never be specified in jaxp.properties because it's
  +   not part of the JAXP specification.
  +5. We aren't using context class loaders.
  +
  +So, I have made the following changes:
  +
  +1. Taken the FactoryFinder, SecuritySupport and SecuritySupport12 classes
  +from the JAXP subdirectories (in xml-commons) and used them as the basis 
  +for the lookup of the DTMManager class.  This gives us the AccessController
  +code.
  +
  +2. Removed the context class loader support and added a cache for
  +   the found class (which gets used if the system property is not set.)   
  +   If we want context class loader support in the future (which we probably) 
  +   do, then we will need to revisit this to see if caching the class loader 
and the
  +   class would work.  
  +
  +3. Synchronized access to the found class.
  +
  +4. Instead of looking in jaxp.properties, look in xalan.properties (a xalan
  +   specific configuration file) which can be placed in 
&lt;$JAVA_HOME&gt;/jre/lib.
  +
  +Possible issues:
  +
  +1. In general, using a cache means that the class will not change, 
  +   regardless of changes to xalan.properties or the class loader.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
SAX2DOM.java</Modified>
  +<DateCommitted>2003/01/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/res XMLErrorResources_de.java 
XMLErrorResources_en.java XMLErrorResources_es.java XMLErrorResources_fr.java 
XMLErrorResources_it.java XMLErrorResources_ja.java XMLErrorResources_ko.java 
XMLErrorResources_sv.java XMLErrorResources_zh_CN.java 
XMLErrorResources_zh_TW.java XMLErrorResources.java XMLMessages.java</Modified>
   <Log>
  -For Bugzilla 12924. In constructor SAX2DOM(Node), the Node might not always
  -be a Document. Add additional handling code so that SAX2DOM can work with a
  -non-Document root.
  +DTM Separation -- New message files
  +Move the error messages used by DTM classes from Xalan and XPath
  +down to org.apache.xml.res. Created XMLErrorResources files for
  +all locales. The XMLMessages class is introduced to handle error
  +resources at this level. If a DTM interface needs to issue an error
  +message, it will use the new XMLMessages class rather than the
  +XSLMessages class in org.apache.xalan.res.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java 
xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java 
XSLTErrorResources.properties</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/utils Constants.java 
DOM2Helper.java DOMHelper.java DOMOrder.java 
ThreadControllerWrapper.java</Modified>
   <Log>
  -Patch for bugzilla #10384.  There's still a problem with attribseterr08 which
  -is covered in bugzilla #3969.
  +DTM Separation - new files in org.apache.xml.utils
  +Move the classes DOMOrder, DOMHelper and DOM2Helper from XPath to xml.utils.
  +Add a new Constants class to hold the constants used by XPath.
  +The ThreadControllerWrapper class is a container for the nested class
  +ThreadController which was originally in 
org.apache.xalan.transformer.TransformerImpl.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/dom3/xpath 
XPathEvaluator.java XPathException.java XPathExpression.java 
XPathNamespace.java XPathNSResolver.java XPathResult.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm DTMException.java 
DTMManager.java xml-xalan/java/src/org/apache/xml/dtm/ref ChunkedIntArray.java 
CoroutineManager.java DTMDefaultBase.java DTMDefaultBaseIterators.java 
DTMDefaultBaseTraversers.java DTMManagerDefault.java 
IncrementalSAXSource_Filter.java IncrementalSAXSource_Xerces.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2RTFDTM.java 
xml-xalan/java/src/org/apache/xml/utils AttList.java DefaultErrorHandler.java 
DOMBuilder.java ListingErrorHandler.java ObjectPool.java 
PrefixResolverDefault.java QName.java TreeWalker.java UnImplNode.java 
URI.java</Modified>
   <Log>
  -Since Xerces has decided not to build the org.w3c.dom.xpath interfaces into
  -XercesImpl I have created a temporary home for these interfaces, until
  -the specification becomes a recommendation.
  +DTM Separation -- patches for files under org.apache.xml
  +1. Replace all invocations of XSLMessages.createMessage() by
  +XMLMessages.createXMLMessage().
  +
  +2. Replace XSLTErrorResources by XMLErrorResources.
  +
  +3. In IncrementalSAXSource_Filter, use ThreadControllerWrapper.runThread()
  +rather than calling TransformerImpl.runTransformThread().
  +
  +4. In SAX2DTM, use a setter method to set the source location property.
  +Remove the field access to 
org.apache.xalan.processor.TransformerFactoryImpl.m_source_location.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/domapi 
XPathEvaluatorImpl.java XPathExpressionImpl.java XPathNSResolverImpl.java 
XPathResultImpl.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath DOM2Helper.java 
DOMHelper.java DOMOrder.java</Modified>
   <Log>
  -Updating import statements to use the interfaces in the temporary 
org.apache.xalan.dom3.xpath package.
  +DTM Separation - remove old files in XPath
  +DOMOrder, DOMHelper and DOM2Helper are now in org.apache.xml.utils.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/24</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.java 
XSLTErrorResources.properties</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xpath NodeSet.java 
XPathContext.java xml-xalan/java/src/org/apache/xpath/functions FuncId.java 
FuncSum.java xml-xalan/java/src/org/apache/xpath/objects XNodeSet.java 
XRTreeFragSelectWrapper.java xml-xalan/java/src/org/apache/xpath/res 
XPATHErrorResources_de.java XPATHErrorResources_es.java 
XPATHErrorResources_fr.java XPATHErrorResources_it.java 
XPATHErrorResources_ja.java XPATHErrorResources_ko.java 
XPATHErrorResources_sv.java XPATHErrorResources_zh_CN.java 
XPATHErrorResources_zh_TW.java XPATHErrorResources.java 
XPATHMessages.java</Modified>
   <Log>
  -Added some new error message strings.
  +DTM Separation -- changes in org.apache.xpath
  +1. Change the import path for DOMHelper and DOM2Helper
  +2. Move 8 errror messages from XPATHErrorResources to XMLErrorResources
  +3. Create a new XPATHMessages class to handle error resources at
  +the XPath level.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
ResultTreeHandler.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/22</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltSets.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java 
StylesheetHandler.java TransformerFactoryImpl.java 
xml-xalan/java/src/org/apache/xalan/res XSLMessages.java 
XSLTErrorResources_de.java XSLTErrorResources.java XSLTErrorResources_es.java 
XSLTErrorResources_fr.java XSLTErrorResources_it.java 
XSLTErrorResources_ja.java XSLTErrorResources_ko.java 
XSLTErrorResources_sv.java XSLTErrorResources_zh_CN.java 
XSLTErrorResources_zh_TW.java xml-xalan/java/src/org/apache/xalan/serialize 
SerializerToXML.java xml-xalan/java/src/org/apache/xalan/templates 
Constants.java xml-xalan/java/src/org/apache/xalan/transformer MsgMgr.java 
TransformerIdentityImpl.java TransformerImpl.java 
TreeWalker2Result.java</Modified>
   <Log>
  -Patch for bugzilla #4344.  The testcases, copyerr04-07 were already
  -working correctly in that when an attempt was made to add an attribute
  -after child elements, or before an element was produced, the attribute was 
  -ignored.  However, Dave M.  said that a warning was also needed.  So,
  -I have added a warning message for these cases.  Also, similar behaviour
  -was being seen for testcases attribset19,35,36 and attribseterr08.  This
  -was being handled in ElemAttribute.execute, but I've commented out the
  -code there since it will get caught in  ResultTreeHandler.execute in the
  -same place the copyerr tests get handled.
  -
  -The negative testcases, copyerr04-07, attribset08 should  be moved
  -to the positive bucket (possibly with a few tweaks) since they all run to
  -completion.
  +DTM Separation -- changes in org.apache.xalan
  +1. Change the paths to DOMHelper and DOM2Helper
  +2. Remove the m_XSLMessages field from a few classes.
  +Use the static methods instead.
  +3. In TransformerFactoryImpl, whenever the source location attribute
  +is set, call the setter method in SAX2DTM to set the same attribute.
  +4. XSLMessages now extends from XPATHMessages. The common interfaces
  +are moved to XMLMessages.
  +5. Move 53 error messages from XSLTErrorResources to XMLErrorResources.
  +6. Move some of the constants from org.apache.xalan.templates.Constants
  +to org.apache.xml.utils.Constants.
  +7. Move the nested class ThreadControler in TransformerImpl to
  +org.apache.xml.utils.ThreadControllerWrapper.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates ElemAttribute.java 
xml-xalan/java/src/org/apache/xalan/res XSLTErrorResources.properties</Modified>
  +<DateCommitted>2003/01/23</DateCommitted>
  +<Modified> xml-xalan/java/samples/UseStylesheetParam UseStylesheetParam.java 
xml-xalan/java/samples/extensions/sql/ext-connection ExternalConnection.java 
xml-xalan/java/samples/SimpleTransform SimpleTransform.java 
xml-xalan/java/samples/Validate ValidateXMLInput.java</Modified>
   <Log>
  -Patch for bugzilla #4344.
  +Updating license in some samples.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
ResultTreeHandler.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/23</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/res 
XSLTErrorResources_de.java XSLTErrorResources_es.java 
XSLTErrorResources_fr.java XSLTErrorResources_it.java XSLTErrorResources.java 
XSLTErrorResources_ja.java XSLTErrorResources_ko.java 
XSLTErrorResources_sv.java XSLTErrorResources_zh_CN.java 
XSLTErrorResources_zh_TW.java</Modified>
   <Log>
  -Gordon Chiu's ([EMAIL PROTECTED]) patch for bugzilla #8473.  Thanks also
  -to Brian Minchau ([EMAIL PROTECTED]) for the analysis of this bug.
  +Correction to the message number.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerFactoryImpl.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/24</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionCall.java</Modified>
   <Log>
  -Use a thread variable to cache an XMLReader.
  +For Bugzilla 16386. Add rules for object type matching.
   </Log>
   </Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/26</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/functions 
FunctionMultiArgs.java</Modified>
  +<Commit category="xsltc">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/24</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
ForEachGroup.java</Modified>
   <Log>
  -For Bugzilla 7161. Add a public accessor to return the argument array.
  +file ForEachGroup.java was initially added on branch xslt20.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/26</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionAvailableCall.java FunctionCall.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/24</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/utils 
FastStringBuffer.java</Modified>
   <Log>
  -EXtension work. Make function-available work with external Java and EXSLT
  -extension functions.
  +Fix for Bugzilla bug 10053.  Before, a blank was emitted for any chunk that
  +began with whitespace after non-whitespace characters had been seen.  Also 
made
  +some performance improvements to sendNormalizedSAXcharacters.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/26</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionAvailableCall.java</Modified>
  +<DateCommitted>2003/01/24</DateCommitted>
  +<Modified> xml-xalan/java build.xml</Modified>
   <Log>
  -Handle dots in the local part, e.g.
  -xmlns:ext="http://xml.apache.org/xalan/java/java.lang
  -function-available('ext:Thread.currentThread') return true.
  +Commit the patch from Sarah Mcnamara ([EMAIL PROTECTED]) to remove
  +the compat target.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/26</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionAvailableCall.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/24</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
AnalyzeString.java</Modified>
   <Log>
  -Minor cleanup in class name handling.
  +file AnalyzeString.java was initially added on branch xslt20.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/27</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath XPathContext.java 
xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/27</DateCommitted>
  +<Modified> xml-xalan/java/bin xml-apis.jar xml-xalan/java/src 
xml-commons-src.tar.gz</Modified>
   <Log>
  -For Bugzilla 10414. Provide a getErrorListener() interface in the 
ExpressionContext.
  +Committing xml-apis bin and source based off new tck-jaxp-1_2_0 branch 
  +of xml-commons.
   </Log>
   </Commit>
  -<Commit category="core">
  +<Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/27</DateCommitted>
  -<Modified> xml-xalan/java/samples/AppletXMLtoHTML client.html</Modified>
  +<DateCommitted>2003/01/27</DateCommitted>
  +<Modified> xml-xalan/java build.xml License xml-xalan/java/bin 
xercesImpl.LICENSE.txt xml-apis.LICENSE.txt xml-xalan/java/samples/ApplyXPath 
ApplyXPath.java xml-xalan/java/samples/ApplyXPathDOM ApplyXPathDOM.java 
xml-xalan/java/samples/CompiledApplet TransformApplet.java 
xml-xalan/java/samples/CompiledBrazil TransformHandler.java 
xml-xalan/java/samples/CompiledEJB TransformBean.java TransformHome.java 
TransformRemote.java TransformServlet.java xml-xalan/java/samples/CompiledJAXP 
Compile.java Transform.java xml-xalan/java/samples/CompiledServlet 
CompileServlet.java TransformServlet.java xml-xalan/java/samples/DOM2DOM 
DOM2DOM.java xml-xalan/java/samples/Pipe Pipe.java 
xml-xalan/java/samples/SAX2SAX SAX2SAX.java 
xml-xalan/java/samples/SimpleTransform SimpleTransform.java 
xml-xalan/java/samples/Trace Trace.java xml-xalan/java/samples/UseStylesheetPI 
UseStylesheetPI.java xml-xalan/java/samples/extensions IntDate.java 
MyCounter.java xml-xalan/java/samples/extensions/sql/ext-connection 
ExternalConnection.java xml-xalan/java/samples/servlet ApplyXSLT.java 
ApplyXSLTException.java ApplyXSLTListener.java ApplyXSLTProperties.java 
DefaultApplyXSLTProperties.java SimpleXSLTServlet.java 
UseStylesheetParamServlet.java XSLTServletWithParams.java 
xml-xalan/java/samples/UseStylesheetParam UseStylesheetParam.java 
xml-xalan/java/samples/UseXMLFilters UseXMLFilters.java 
xml-xalan/java/samples/Validate Validate.java ValidateXMLInput.java 
xml-xalan/java/samples/servlet ApplyXSLT.java ApplyXSLTException.java 
ApplyXSLTListener.java ApplyXSLTProperties.java DefaultApplyXSLTProperties.java 
SimpleXSLTServlet.java UseStylesheetParamServlet.java 
XSLTServletWithParams.java xml-xalan/java/samples/translets 
JAXPTransletMultipleTransformations.java JAXPTransletOneTransformation.java 
xml-xalan/java/samples/trax ExampleContentHandler.java Examples.java 
xml-xalan/java/src/org/apache/xalan Version.java 
xml-xalan/java/src/org/apache/xalan/client XSLTProcessorApplet.java 
xml-xalan/java/src/org/apache/xalan/extensions ExpressionContext.java 
ExpressionVisitor.java ExtensionHandler.java ExtensionHandlerExsltFunction.java 
ExtensionHandlerGeneral.java ExtensionHandlerJava.java 
ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java 
ExtensionNamespacesManager.java ExtensionNamespaceSupport.java 
ExtensionsTable.java MethodResolver.java XSLProcessorContext.java 
xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltCommon.java 
ExsltDatetime.java ExsltDynamic.java ExsltMath.java ExsltSets.java 
ExsltStrings.java Extensions.java NodeInfo.java PipeDocument.java Redirect.java 
xml-xalan/java/src/org/apache/xalan/lib/sql ConnectionPool.java 
ConnectionPoolManager.java DefaultConnectionPool.java DTMDocument.java 
ObjectArray.java PooledConnection.java QueryParameter.java SQLDocument.java 
SQLErrorDocument.java XConnection.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorAttributeSet.java 
ProcessorCharacters.java ProcessorDecimalFormat.java 
ProcessorExsltFuncResult.java ProcessorExsltFunction.java 
ProcessorGlobalParamDecl.java ProcessorGlobalVariableDecl.java 
ProcessorImport.java ProcessorInclude.java ProcessorKey.java ProcessorLRE.java 
ProcessorNamespaceAlias.java ProcessorOutputElem.java 
ProcessorPreserveSpace.java ProcessorStripSpace.java 
ProcessorStylesheetDoc.java ProcessorStylesheetElement.java 
ProcessorTemplate.java ProcessorTemplateElem.java ProcessorText.java 
ProcessorUnknown.java StopParseException.java StylesheetHandler.java 
StylesheetPIHandler.java TransformerFactoryImpl.java WhitespaceInfoPaths.java 
XSLProcessorVersion.java XSLTAttributeDef.java XSLTElementDef.java 
XSLTElementProcessor.java XSLTSchema.java 
xml-xalan/java/src/org/apache/xalan/res XSLMessages.java 
XSLTErrorResources_de.java XSLTErrorResources_en.java 
XSLTErrorResources_es.java XSLTErrorResources.java XSLTErrorResources_fr.java 
XSLTErrorResources_it.java XSLTErrorResources_ja.java 
XSLTErrorResources_ko.java XSLTErrorResources_sv.java 
XSLTErrorResources_zh_CN.java XSLTErrorResources_zh_TW.java 
xml-xalan/java/src/org/apache/xalan/serialize CharInfo.java DOMSerializer.java 
ElemDesc.java EncodingInfo.java Encodings.java Method.java Serializer.java 
SerializerFactory.java SerializerToHTML.java SerializerToText.java 
SerializerToXML.java WriterToASCI.java WriterToUTF8.java 
WriterToUTF8Buffered.java xml-xalan/java/src/org/apache/xalan/templates 
AbsPathChecker.java AVT.java AVTPart.java AVTPartSimple.java AVTPartXPath.java 
Constants.java DecimalFormatProperties.java ElemApplyImport.java 
ElemApplyTemplates.java ElemAttribute.java ElemAttributeSet.java 
ElemCallTemplate.java ElemChoose.java ElemComment.java ElemCopy.java 
ElemCopyOf.java ElemElement.java ElemEmpty.java ElemExsltFuncResult.java 
ElemExsltFunction.java ElemExtensionCall.java ElemExtensionDecl.java 
ElemExtensionScript.java ElemFallback.java ElemForEach.java ElemIf.java 
ElemLiteralResult.java ElemMessage.java ElemNumber.java ElemOtherwise.java 
ElemParam.java ElemPI.java ElemSort.java ElemTemplate.java 
ElemTemplateElement.java ElemText.java ElemTextLiteral.java ElemUnknown.java 
ElemUse.java ElemValueOf.java ElemVariable.java ElemVariablePsuedo.java 
ElemWhen.java ElemWithParam.java FuncDocument.java FuncFormatNumb.java 
FuncKey.java KeyDeclaration.java NamespaceAlias.java OutputProperties.java 
RedundentExprEliminator.java Stylesheet.java StylesheetComposed.java 
StylesheetRoot.java TemplateList.java TemplateSubPatternAssociation.java 
VarNameCollector.java WhiteSpaceInfo.java XMLNSDecl.java XSLTVisitable.java 
XSLTVisitor.java XUnresolvedVariable.java XUnresolvedVariableSimple.java 
xml-xalan/java/src/org/apache/xalan/trace EndSelectionEvent.java 
GenerateEvent.java PrintTraceListener.java SelectionEvent.java 
TraceListener.java TraceListenerEx.java TraceListenerEx2.java TraceManager.java 
TracerEvent.java xml-xalan/java/src/org/apache/xalan/transformer 
ClonerToResultTree.java Counter.java CountersTable.java DecimalToRoman.java 
KeyIterator.java KeyManager.java KeyRefIterator.java KeyTable.java MsgMgr.java 
NodeSorter.java NodeSortKey.java NumeratorFormatter.java QueuedEvents.java 
ResultNameSpace.java ResultTreeHandler.java SerializerSwitcher.java 
StackGuard.java TransformerClient.java TransformerHandlerImpl.java 
TransformerIdentityImpl.java TransformerImpl.java TransformSnapshot.java 
TransformSnapshotImpl.java TransformState.java TrAXFilter.java 
TreeWalker2Result.java XalanProperties.java XSLInfiniteLoopException.java 
xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java Process.java 
xml-xalan/java/src/org/apache/xalan/xsltc CollatorFactory.java DOM.java 
DOMCache.java NodeIterator.java ProcessorVersion.java StripFilter.java 
Translet.java TransletException.java TransletOutputHandler.java 
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline Compile.java Transform.java 
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java 
GetOptsException.java IllegalArgumentException.java MissingOptArgException.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsoluteLocationPath.java 
AbsolutePathPattern.java AlternativePattern.java AncestorPattern.java 
ApplyImports.java ApplyTemplates.java ArgumentList.java Attribute.java 
AttributeSet.java AttributeValue.java AttributeValueTemplate.java 
BinOpExpr.java BooleanCall.java BooleanExpr.java CallTemplate.java 
CastExpr.java CeilingCall.java Choose.java Closure.java Comment.java 
CompilerException.java ConcatCall.java Constants.java ContainsCall.java 
Copy.java CopyOf.java CurrentCall.java DecimalFormatting.java DocumentCall.java 
ElementAvailableCall.java EqualityExpr.java Expression.java Fallback.java 
FilteredAbsoluteLocationPath.java FilterExpr.java FilterParentPath.java 
FloorCall.java FlowList.java ForEach.java FormatNumberCall.java 
ForwardPositionExpr.java FunctionAvailableCall.java FunctionCall.java 
GenerateIdCall.java IdKeyPattern.java IdPattern.java If.java 
IllegalCharException.java Import.java Include.java Instruction.java 
IntExpr.java Key.java KeyCall.java KeyPattern.java LangCall.java LastCall.java 
LiteralAttribute.java LiteralElement.java LiteralExpr.java LocalNameCall.java 
LocationPathPattern.java LogicalExpr.java Message.java Mode.java NameBase.java 
NameCall.java NamespaceAlias.java NamespaceUriCall.java NodeTest.java 
NotCall.java Number.java NumberCall.java Otherwise.java Output.java Param.java 
ParameterRef.java ParentLocationPath.java ParentPattern.java Parser.java 
Pattern.java PositionCall.java Predicate.java ProcessingInstruction.java 
ProcessingInstructionPattern.java QName.java RealExpr.java RelationalExpr.java 
RelativeLocationPath.java RelativePathPattern.java RoundCall.java 
SimpleAttributeValue.java Sort.java SourceLoader.java StartsWithCall.java 
Step.java StepPattern.java StringCall.java StringLengthCall.java 
Stylesheet.java SymbolTable.java SyntaxTreeNode.java Template.java TestSeq.java 
Text.java TopLevelElement.java TransletOutput.java UnaryOpExpr.java 
UnionPathExpr.java UnparsedEntityUriCall.java UnresolvedRef.java 
UnsupportedElement.java UseAttributeSets.java ValueOf.java Variable.java 
VariableBase.java VariableRef.java VariableRefBase.java When.java 
Whitespace.java WithParam.java xpath.cup xpath.lex XslAttribute.java 
XslElement.java XSLTC.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
AttributeSetMethodGenerator.java BooleanType.java ClassGenerator.java 
CompareGenerator.java ErrorMessages_no.java ErrorMessages.java ErrorMsg.java 
FilterGenerator.java IntType.java MatchGenerator.java MethodGenerator.java 
MethodType.java MultiHashtable.java NamedMethodGenerator.java 
NodeCounterGenerator.java NodeSetType.java NodeSortRecordFactGenerator.java 
NodeSortRecordGenerator.java NodeType.java NumberType.java ObjectType.java 
RealType.java ReferenceType.java ResultTreeType.java RtMethodGenerator.java 
SlotAllocator.java StringStack.java StringType.java TestGenerator.java 
Type.java TypeCheckError.java Util.java VoidType.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime AbstractTranslet.java 
AttributeList.java Attributes.java BasisLibrary.java Constants.java 
DefaultSAXOutputHandler.java ErrorMessages_no.java ErrorMessages.java 
Hashtable.java MessageHandler.java Node.java Operators.java Parameter.java 
SAXAdapter.java StringValueHandler.java TextOutput.java TransletLoader.java 
TransletOutputBase.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java 
OutputBuffer.java SAXHTMLOutput.java SAXOutput.java SAXTextOutput.java 
SAXXMLOutput.java StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java 
StreamUnknownOutput.java StreamXMLOutput.java StringOutputBuffer.java 
TransletOutputHandlerFactory.java WriterOutputBuffer.java 
xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java 
OutputSettings.java SAX2DOM.java SAX2TO.java SmartTransformerFactoryImpl.java 
TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java 
TransformerHandlerImpl.java TransformerImpl.java TrAXFilter.java Util.java 
XSLTCSource.java xml-xalan/java/src/org/apache/xalan/xsltc/util 
IntegerArray.java JavaCupRedirect.java xml-xalan/java/src/org/apache/xml/dtm 
Axis.java DTM.java DTMAxisIterator.java DTMAxisTraverser.java 
DTMConfigurationException.java DTMDOMException.java DTMException.java 
DTMFilter.java DTMIterator.java DTMManager.java DTMWSFilter.java 
FactoryFinder.java SecuritySupport.java SecuritySupport12.java 
xml-xalan/java/src/org/apache/xml/dtm/ref ChunkedIntArray.java 
CoroutineManager.java CoroutineParser.java CustomStringPool.java 
DTMAxisIteratorBase.java DTMDefaultBase.java DTMDefaultBaseIterators.java 
DTMDefaultBaseTraversers.java DTMDocumentImpl.java DTMManagerDefault.java 
DTMNamedNodeMap.java DTMNodeIterator.java DTMNodeList.java DTMNodeProxy.java 
DTMSafeStringPool.java DTMStringPool.java DTMTreeWalker.java 
ExpandedNameTable.java IncrementalSAXSource_Filter.java 
IncrementalSAXSource_Xerces.java IncrementalSAXSource.java NodeLocator.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java 
DOM2DTMdefaultNamespaceDeclarationNode.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2RTFDTM.java 
xml-xalan/java/src/org/apache/xml/res XMLErrorResources_de.java 
XMLErrorResources_en.java XMLErrorResources_es.java XMLErrorResources_fr.java 
XMLErrorResources_it.java XMLErrorResources_ja.java XMLErrorResources_ko.java 
XMLErrorResources_sv.java XMLErrorResources_zh_CN.java 
XMLErrorResources_zh_TW.java XMLErrorResources.java XMLMessages.java 
xml-xalan/java/src/org/apache/xml/utils AttList.java BoolStack.java 
CharKey.java Constants.java DefaultErrorHandler.java DOM2Helper.java 
DOMBuilder.java DOMHelper.java DOMOrder.java ElemDesc.java 
FastStringBuffer.java Hashtree2Node.java IntStack.java IntVector.java 
ListingErrorHandler.java MutableAttrListImpl.java NameSpace.java 
NamespaceSupport2.java NodeConsumer.java NodeVector.java NSInfo.java 
ObjectPool.java ObjectStack.java ObjectVector.java PrefixResolver.java 
PrefixResolverDefault.java QName.java RawCharacterHandler.java 
SAXSourceLocator.java SerializableLocatorImpl.java StringBufferPool.java 
StringToIntTable.java StringToStringTable.java StringToStringTableVector.java 
StringVector.java SuballocatedByteVector.java SuballocatedIntVector.java 
SystemIDResolver.java ThreadControllerWrapper.java TreeWalker.java Trie.java 
UnImplNode.java URI.java WrappedRuntimeException.java WrongParserException.java 
XMLChar.java XMLCharacterRecognizer.java XMLString.java XMLStringFactory.java 
xml-xalan/java/src/org/apache/xml/utils/res XResourceBundle.java 
XResourceBundleBase.java XResources_cy.java XResources_de.java 
XResources_el.java XResources_en.java XResources_es.java XResources_fr.java 
XResources_he.java XResources_hy.java XResources_it.java 
XResources_ja_JP_A.java XResources_ja_JP_HA.java XResources_ja_JP_HI.java 
XResources_ja_JP_I.java XResources_ka.java XResources_ko.java 
XResources_sv.java XResources_zh_CN.java XResources_zh_TW.java 
xml-xalan/java/src/org/apache/xml/utils/synthetic Class.java JavaUtils.java 
SynthesisException.java TestDriver.java 
xml-xalan/java/src/org/apache/xml/utils/synthetic/reflection Constructor.java 
EntryPoint.java Field.java Member.java Method.java 
xml-xalan/java/src/org/apache/xpath Arg.java CachedXPathAPI.java 
Expression.java ExpressionNode.java ExpressionOwner.java 
ExtensionsProvider.java FoundIndex.java NodeSet.java NodeSetDTM.java 
SourceTree.java SourceTreeManager.java VariableStack.java 
WhitespaceStrippingElementMatcher.java XPath.java XPathAPI.java 
XPathContext.java XPathException.java XPathFactory.java 
XPathProcessorException.java XPathVisitable.java XPathVisitor.java 
xml-xalan/java/src/org/apache/xpath/axes AttributeIterator.java AxesWalker.java 
BasicTestIterator.java ChildIterator.java ChildTestIterator.java 
ContextNodeList.java DescendantIterator.java FilterExprIterator.java 
FilterExprIteratorSimple.java FilterExprWalker.java 
HasPositionalPredChecker.java IteratorPool.java LocPathIterator.java 
MatchPatternIterator.java NodeSequence.java OneStepIterator.java 
OneStepIteratorForward.java PathComponent.java PredicatedNodeTest.java 
ReverseAxesWalker.java RTFIterator.java SelfIteratorNoPredicate.java 
SubContextList.java UnionChildIterator.java UnionPathIterator.java 
WalkerFactory.java WalkingIterator.java WalkingIteratorSorted.java 
xml-xalan/java/src/org/apache/xpath/compiler Compiler.java FuncLoader.java 
FunctionTable.java Keywords.java Lexer.java OpCodes.java OpMap.java 
OpMapVector.java PsuedoNames.java XPathDumper.java XPathParser.java 
xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java 
XPathExpressionImpl.java XPathNamespaceImpl.java XPathNSResolverImpl.java 
XPathResultImpl.java xml-xalan/java/src/org/apache/xpath/functions 
FuncBoolean.java FuncCeiling.java FuncConcat.java FuncContains.java 
FuncCount.java FuncCurrent.java FuncDoclocation.java 
FuncExtElementAvailable.java FuncExtFunction.java FuncExtFunctionAvailable.java 
FuncFalse.java FuncFloor.java FuncGenerateId.java FuncId.java FuncLang.java 
FuncLast.java FuncLocalPart.java FuncNamespace.java FuncNormalizeSpace.java 
FuncNot.java FuncNumber.java FuncPosition.java FuncQname.java FuncRound.java 
FuncStartsWith.java FuncString.java FuncStringLength.java FuncSubstring.java 
FuncSubstringAfter.java FuncSubstringBefore.java FuncSum.java 
FuncSystemProperty.java Function.java Function2Args.java Function3Args.java 
FunctionDef1Arg.java FunctionMultiArgs.java FunctionOneArg.java 
FuncTranslate.java FuncTrue.java FuncUnparsedEntityURI.java 
WrongNumberArgsException.java xml-xalan/java/src/org/apache/xpath/objects 
XBoolean.java XBooleanStatic.java XMLStringFactoryImpl.java XNodeSet.java 
XNodeSetForDOM.java XNull.java XNumber.java XObject.java XObjectFactory.java 
XRTreeFrag.java XRTreeFragSelectWrapper.java XString.java XStringForChars.java 
XStringForFSB.java xml-xalan/java/src/org/apache/xpath/operations And.java 
Bool.java Div.java Equals.java Gt.java Gte.java Lt.java Lte.java Minus.java 
Mod.java Mult.java Neg.java NotEquals.java Number.java Operation.java Or.java 
Plus.java Quo.java String.java UnaryOperation.java Variable.java 
VariableSafeAbsRef.java xml-xalan/java/src/org/apache/xpath/patterns 
ContextMatchStepPattern.java FunctionPattern.java NodeTest.java 
NodeTestFilter.java StepPattern.java UnionPattern.java 
xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources_de.java 
XPATHErrorResources_en.java XPATHErrorResources_es.java 
XPATHErrorResources_fr.java XPATHErrorResources_it.java 
XPATHErrorResources_ja.java XPATHErrorResources.java 
XPATHErrorResources_ko.java XPATHErrorResources_sv.java 
XPATHErrorResources_zh_CN.java XPATHErrorResources_zh_TW.java 
XPATHMessages.java xml-xalan/java/xdocs/sources xalandesign.xml 
xalan-jlocal.xml xalan-jsite.xml xml-xalan/java/xdocs/sources/xalan builds.xml 
commandline_xsltc.xml commandline.xml dtm.xml extensions_xsltc.xml 
extensions.xml extensionslib.xml faq.xml features.xml getstarted.xml 
history.xml index.xml overview.xml readme.xml samples.xml trax.xml 
usagepatterns.xml whatsnew.xml xsltc_history.xml xsltc_usage.xml 
xml-xalan/java/xdocs/sources/xsltc index.xml xsl_choose_design.xml 
xsl_comment_design.xml xsl_if_design.xml xsl_include_design.xml 
xsl_key_design.xml xsl_lang_design.xml xsl_sort_design.xml 
xsl_unparsed_design.xml xsl_variable_design.xml xsl_whitespace_design.xml 
xsltc_compiler.xml xsltc_dom.xml xsltc_iterators.xml xsltc_namespace.xml 
xsltc_native_api.xml xsltc_overview.xml xsltc_performance.xml 
xsltc_predicates.xml xsltc_runtime.xml xsltc_trax_api.xml 
xsltc_trax.xml</Modified>
   <Log>
  -For bugzilla 13059. Fix typo width"0" to width="0".
  +Commit the copyright patches from Sarah Mcnamara ([EMAIL PROTECTED]).
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/27</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ErrorMsg.java TypeCheckError.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DocumentCache.java DOMImpl.java DTDMonitor.java 
xml-xalan/java/src/org/apache/xalan/xsltc/trax TransformerFactoryImpl.java 
TransformerImpl.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt 
GetOpt.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler Include.java 
TransletOutput.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  +<DateCommitted>2003/01/30</DateCommitted>
  +<Modified> xml-xalan/java/samples/CompiledApplet TransformApplet.java 
xml-xalan/java/samples/CompiledBrazil TransformHandler.java 
xml-xalan/java/samples/CompiledEJB TransformBean.java TransformHome.java 
TransformRemote.java TransformServlet.java xml-xalan/java/samples/CompiledJAXP 
Compile.java Transform.java xml-xalan/java/samples/CompiledServlet 
CompileServlet.java TransformServlet.java xml-xalan/java/samples/translets 
JAXPTransletMultipleTransformations.java 
JAXPTransletOneTransformation.java</Modified>
   <Log>
  -Committing changes from Gordon Chiu ([EMAIL PROTECTED]), with some tweaks 
from
  -me, to move some hard-coded XSLTC messages into the compiler and run-time
  -ErrorMessages classes, as appropriate.
  +Changes to minimize set of classes imported.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/27</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ErrorMessages.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
ErrorMessages.java</Modified>
  +<DateCommitted>2003/01/30</DateCommitted>
  +<Modified> xml-xalan/java todo.xsl</Modified>
   <Log>
  -Committing changes from Gordon Chiu ([EMAIL PROTECTED]), with some tweaks 
from
  -me, to move some hard-coded XSLTC messages into the compiler and run-time
  -ErrorMessages classes, as appropriate.
  -
  -Also, added copious comments to assist anyone who might translate these
  -resources in the future.
  +Added support for distinguishing between active and past developers.  The
  +latter will have an attribute on the "person" tag named "status" whose value
  +equals "emeritus".
   </Log>
   </Commit>
  -<Commit category="xsltc">
  +<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/27</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ErrorMsg.java</Modified>
  +<DateCommitted>2003/01/30</DateCommitted>
  +<Modified> xml-xalan/java xsltc_todo.xml</Modified>
   <Log>
  -Removed a duplicate error message number I inadvertently entered.
  +Changed two developers to have 'emeritus' status.
   </Log>
   </Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/27</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  +<Commit category="core">
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/30</DateCommitted>
  +<Modified> xml-xalan/java/samples/ApplyXPath ApplyXPath.java 
xml-xalan/java/samples/DOM2DOM DOM2DOM.java xml-xalan/java/samples/Pipe 
Pipe.java xml-xalan/java/samples/SAX2SAX SAX2SAX.java 
xml-xalan/java/samples/SimpleTransform SimpleTransform.java 
xml-xalan/java/samples/Trace Trace.java 
xml-xalan/java/samples/UseStylesheetParam UseStylesheetParam.java 
xml-xalan/java/samples/UseStylesheetPI UseStylesheetPI.java 
xml-xalan/java/samples/UseXMLFilters UseXMLFilters.java 
xml-xalan/java/samples/Validate Validate.java ValidateXMLInput.java 
xml-xalan/java/samples/extensions IntDate.java xml-xalan/java/samples/trax 
ExampleContentHandler.java Examples.java</Modified>
   <Log>
  -bugzilla 12813 fixed
  +Patch from Sarah Mcnamara ([EMAIL PROTECTED]) to remove
  +unused imports in samples.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/res 
XSLTErrorResources.properties</Modified>
  +<DateCommitted>2003/01/30</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/client 
XSLTProcessorApplet.java xml-xalan/java/src/org/apache/xalan/extensions 
ExpressionContext.java ExpressionVisitor.java ExtensionHandler.java 
ExtensionHandlerExsltFunction.java ExtensionHandlerGeneral.java 
ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java 
ExtensionNamespacesManager.java ExtensionNamespaceSupport.java 
ExtensionsTable.java MethodResolver.java XSLProcessorContext.java 
xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java ExsltCommon.java 
ExsltDatetime.java ExsltDynamic.java ExsltMath.java ExsltSets.java 
ExsltStrings.java Extensions.java NodeInfo.java PipeDocument.java Redirect.java 
xml-xalan/java/src/org/apache/xalan/lib/sql ConnectionPool.java 
ConnectionPoolManager.java DTMDocument.java DefaultConnectionPool.java 
PooledConnection.java SQLDocument.java SQLErrorDocument.java XConnection.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorAttributeSet.java 
ProcessorCharacters.java ProcessorDecimalFormat.java 
ProcessorExsltFuncResult.java ProcessorExsltFunction.java 
ProcessorGlobalParamDecl.java ProcessorGlobalVariableDecl.java 
ProcessorImport.java ProcessorInclude.java ProcessorKey.java ProcessorLRE.java 
ProcessorNamespaceAlias.java ProcessorOutputElem.java 
ProcessorPreserveSpace.java ProcessorStripSpace.java 
ProcessorStylesheetElement.java ProcessorTemplate.java 
ProcessorTemplateElem.java ProcessorText.java ProcessorUnknown.java 
StylesheetHandler.java StylesheetPIHandler.java TransformerFactoryImpl.java 
WhitespaceInfoPaths.java XSLTAttributeDef.java XSLTElementDef.java 
XSLTElementProcessor.java XSLTSchema.java 
xml-xalan/java/src/org/apache/xalan/res XSLMessages.java 
XSLTErrorResources.java XSLTErrorResources_de.java XSLTErrorResources_es.java 
XSLTErrorResources_fr.java XSLTErrorResources_it.java 
XSLTErrorResources_ja.java XSLTErrorResources_ko.java 
XSLTErrorResources_sv.java XSLTErrorResources_zh_CN.java 
XSLTErrorResources_zh_TW.java xml-xalan/java/src/org/apache/xalan/serialize 
CharInfo.java Encodings.java Serializer.java SerializerFactory.java 
SerializerToHTML.java SerializerToText.java SerializerToXML.java 
WriterToASCI.java WriterToUTF8.java WriterToUTF8Buffered.java 
xml-xalan/java/src/org/apache/xalan/templates AVT.java AVTPart.java 
AVTPartSimple.java AVTPartXPath.java Constants.java 
DecimalFormatProperties.java ElemApplyImport.java ElemApplyTemplates.java 
ElemAttribute.java ElemAttributeSet.java ElemCallTemplate.java ElemChoose.java 
ElemComment.java ElemCopy.java ElemCopyOf.java ElemElement.java ElemEmpty.java 
ElemExsltFuncResult.java ElemExsltFunction.java ElemExtensionCall.java 
ElemExtensionDecl.java ElemFallback.java ElemForEach.java ElemIf.java 
ElemLiteralResult.java ElemMessage.java ElemNumber.java ElemOtherwise.java 
ElemPI.java ElemParam.java ElemSort.java ElemTemplate.java 
ElemTemplateElement.java ElemText.java ElemTextLiteral.java ElemUnknown.java 
ElemUse.java ElemValueOf.java ElemVariable.java ElemVariablePsuedo.java 
ElemWhen.java ElemWithParam.java FuncDocument.java FuncFormatNumb.java 
FuncKey.java KeyDeclaration.java OutputProperties.java 
RedundentExprEliminator.java Stylesheet.java StylesheetComposed.java 
StylesheetRoot.java TemplateList.java TemplateSubPatternAssociation.java 
XSLTVisitor.java XUnresolvedVariable.java XUnresolvedVariableSimple.java 
xml-xalan/java/src/org/apache/xalan/trace EndSelectionEvent.java 
GenerateEvent.java PrintTraceListener.java SelectionEvent.java 
TraceListener.java TraceManager.java TracerEvent.java 
xml-xalan/java/src/org/apache/xalan/transformer ClonerToResultTree.java 
Counter.java CountersTable.java KeyIterator.java KeyManager.java 
KeyRefIterator.java KeyTable.java MsgMgr.java NodeSorter.java NodeSortKey.java 
NumeratorFormatter.java QueuedEvents.java ResultTreeHandler.java 
SerializerSwitcher.java StackGuard.java TransformSnapshotImpl.java 
TransformState.java TrAXFilter.java TransformerHandlerImpl.java 
TransformerIdentityImpl.java TransformerImpl.java TreeWalker2Result.java 
xml-xalan/java/src/org/apache/xalan/xslt EnvironmentCheck.java Process.java 
xml-xalan/java/src/org/apache/xalan/xsltc DOMCache.java StripFilter.java 
TransletOutputHandler.java xml-xalan/java/src/org/apache/xalan/xsltc/cmdline 
Compile.java Transform.java 
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt GetOpt.java 
IllegalArgumentException.java MissingOptArgException.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler AbsoluteLocationPath.java 
AbsolutePathPattern.java AlternativePattern.java AncestorPattern.java 
ApplyImports.java ApplyTemplates.java Attribute.java AttributeSet.java 
AttributeValue.java AttributeValueTemplate.java BinOpExpr.java BooleanCall.java 
BooleanExpr.java CallTemplate.java CastExpr.java CeilingCall.java Choose.java 
Comment.java ConcatCall.java ContainsCall.java Copy.java CopyOf.java 
CurrentCall.java DecimalFormatting.java DocumentCall.java 
ElementAvailableCall.java EqualityExpr.java Expression.java Fallback.java 
FilteredAbsoluteLocationPath.java FilterExpr.java FilterParentPath.java 
FloorCall.java FlowList.java ForEach.java FormatNumberCall.java 
ForwardPositionExpr.java FunctionAvailableCall.java FunctionCall.java 
GenerateIdCall.java IdKeyPattern.java IdPattern.java If.java Import.java 
Include.java Instruction.java IntExpr.java Key.java KeyCall.java LangCall.java 
LastCall.java LiteralAttribute.java LiteralElement.java LiteralExpr.java 
LocalNameCall.java LocationPathPattern.java LogicalExpr.java Message.java 
Mode.java NameBase.java NameCall.java NamespaceAlias.java NamespaceUriCall.java 
NotCall.java Number.java NumberCall.java Otherwise.java Output.java Param.java 
ParameterRef.java ParentLocationPath.java ParentPattern.java Parser.java 
Pattern.java PositionCall.java Predicate.java ProcessingInstruction.java 
ProcessingInstructionPattern.java RealExpr.java RelationalExpr.java 
RoundCall.java SimpleAttributeValue.java Sort.java StartsWithCall.java 
Step.java StepPattern.java StringCall.java StringLengthCall.java 
Stylesheet.java SymbolTable.java SyntaxTreeNode.java Template.java TestSeq.java 
Text.java TopLevelElement.java TransletOutput.java UnaryOpExpr.java 
UnionPathExpr.java UnparsedEntityUriCall.java UnresolvedRef.java 
UnsupportedElement.java UseAttributeSets.java ValueOf.java Variable.java 
VariableBase.java VariableRef.java VariableRefBase.java When.java 
Whitespace.java WithParam.java XslAttribute.java XslElement.java XSLTC.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
AttributeSetMethodGenerator.java BooleanType.java ClassGenerator.java 
CompareGenerator.java ErrorMessages_no.java ErrorMessages.java ErrorMsg.java 
FilterGenerator.java IntType.java MatchGenerator.java MethodGenerator.java 
MultiHashtable.java NamedMethodGenerator.java NodeCounterGenerator.java 
NodeSetType.java NodeSortRecordFactGenerator.java NodeSortRecordGenerator.java 
NodeType.java NumberType.java ObjectType.java RealType.java ReferenceType.java 
ResultTreeType.java RtMethodGenerator.java SlotAllocator.java StringType.java 
TestGenerator.java Type.java Util.java VoidType.java 
xml-xalan/java/src/org/apache/xalan/xsltc/dom AnyNodeCounter.java BitArray.java 
CurrentNodeListFilter.java CurrentNodeListIterator.java DocumentCache.java 
DOMAdapter.java DOMBuilder.java DOMImpl.java DTDMonitor.java 
DupFilterIterator.java FilteredStepIterator.java KeyIndex.java 
LoadDocument.java MultiDOM.java MultipleNodeCounter.java NodeCounter.java 
NodeSortRecord.java NthIterator.java SingleNodeCounter.java 
SortingIterator.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
AbstractTranslet.java AttributeList.java Attributes.java BasisLibrary.java 
DefaultSAXOutputHandler.java ErrorMessages_no.java ErrorMessages.java 
Hashtable.java SAXAdapter.java StringValueHandler.java TextOutput.java 
TransletLoader.java TransletOutputBase.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output OutputBase.java 
SAXHTMLOutput.java SAXOutput.java SAXTextOutput.java SAXXMLOutput.java 
StreamHTMLOutput.java StreamOutput.java StreamTextOutput.java 
StreamUnknownOutput.java StreamXMLOutput.java StringOutputBuffer.java 
TransletOutputHandlerFactory.java WriterOutputBuffer.java 
xml-xalan/java/src/org/apache/xalan/xsltc/trax DOM2SAX.java DOM2TO.java 
OutputSettings.java SAX2DOM.java SAX2TO.java SmartTransformerFactoryImpl.java 
TemplatesHandlerImpl.java TemplatesImpl.java TransformerFactoryImpl.java 
TransformerHandlerImpl.java TransformerImpl.java TrAXFilter.java Util.java 
XSLTCSource.java xml-xalan/java/src/org/apache/xml/dtm DTM.java 
DTMException.java DTMManager.java FactoryFinder.java SecuritySupport.java 
SecuritySupport12.java xml-xalan/java/src/org/apache/xml/dtm/ref 
ChunkedIntArray.java CoroutineManager.java CoroutineParser.java 
CustomStringPool.java DTMAxisIteratorBase.java DTMDefaultBase.java 
DTMDefaultBaseIterators.java DTMDefaultBaseTraversers.java DTMDocumentImpl.java 
DTMManagerDefault.java DTMNamedNodeMap.java DTMNodeIterator.java 
DTMNodeList.java DTMNodeProxy.java DTMSafeStringPool.java DTMStringPool.java 
DTMTreeWalker.java ExpandedNameTable.java IncrementalSAXSource_Filter.java 
IncrementalSAXSource_Xerces.java IncrementalSAXSource.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/dom2dtm DOM2DTM.java 
DOM2DTMdefaultNamespaceDeclarationNode.java 
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm SAX2DTM.java SAX2RTFDTM.java 
xml-xalan/java/src/org/apache/xml/res XMLErrorResources.java XMLMessages.java 
xml-xalan/java/src/org/apache/xml/utils AttList.java BoolStack.java 
DefaultErrorHandler.java DOM2Helper.java DOMBuilder.java DOMHelper.java 
Hashtree2Node.java ListingErrorHandler.java MutableAttrListImpl.java 
ObjectPool.java PrefixResolverDefault.java QName.java SAXSourceLocator.java 
SystemIDResolver.java TreeWalker.java UnImplNode.java 
xml-xalan/java/src/org/apache/xml/utils/res XResourceBundle.java 
XResources_cy.java XResources_de.java XResources_el.java XResources_en.java 
XResources_es.java XResources_fr.java XResources_he.java XResources_hy.java 
XResources_it.java XResources_ja_JP_A.java XResources_ja_JP_HA.java 
XResources_ja_JP_HI.java XResources_ja_JP_I.java XResources_ka.java 
XResources_ko.java XResources_sv.java XResources_zh_CN.java 
XResources_zh_TW.java xml-xalan/java/src/org/apache/xml/utils/synthetic 
Class.java TestDriver.java 
xml-xalan/java/src/org/apache/xml/utils/synthetic/reflection Constructor.java 
EntryPoint.java Method.java xml-xalan/java/src/org/apache/xpath 
CachedXPathAPI.java Expression.java ExtensionsProvider.java NodeSet.java 
NodeSetDTM.java SourceTree.java SourceTreeManager.java VariableStack.java 
WhitespaceStrippingElementMatcher.java XPath.java XPathAPI.java 
XPathContext.java XPathException.java XPathFactory.java XPathVisitor.java 
xml-xalan/java/src/org/apache/xpath/axes AttributeIterator.java AxesWalker.java 
BasicTestIterator.java ChildIterator.java ChildTestIterator.java 
DescendantIterator.java FilterExprIterator.java FilterExprIteratorSimple.java 
FilterExprWalker.java IteratorPool.java LocPathIterator.java 
MatchPatternIterator.java NodeSequence.java OneStepIterator.java 
OneStepIteratorForward.java PredicatedNodeTest.java ReverseAxesWalker.java 
RTFIterator.java SelfIteratorNoPredicate.java SubContextList.java 
UnionPathIterator.java WalkerFactory.java WalkingIterator.java 
WalkingIteratorSorted.java xml-xalan/java/src/org/apache/xpath/compiler 
Compiler.java FuncLoader.java XPathDumper.java XPathParser.java 
xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java 
XPathExpressionImpl.java XPathNamespaceImpl.java XPathResultImpl.java 
xml-xalan/java/src/org/apache/xpath/functions FuncBoolean.java FuncCeiling.java 
FuncConcat.java FuncContains.java FuncCount.java FuncCurrent.java 
FuncDoclocation.java FuncExtElementAvailable.java FuncExtFunction.java 
FuncExtFunctionAvailable.java FuncFalse.java FuncFloor.java FuncGenerateId.java 
FuncId.java FuncLang.java FuncLast.java FuncLocalPart.java FuncNamespace.java 
FuncNormalizeSpace.java FuncNot.java FuncNumber.java FuncPosition.java 
FuncQname.java FuncRound.java FuncStartsWith.java FuncString.java 
FuncStringLength.java FuncSubstring.java FuncSubstringAfter.java 
FuncSubstringBefore.java FuncSum.java FuncSystemProperty.java Function.java 
Function2Args.java Function3Args.java FunctionDef1Arg.java 
FunctionMultiArgs.java FunctionOneArg.java FuncTranslate.java FuncTrue.java 
FuncUnparsedEntityURI.java xml-xalan/java/src/org/apache/xpath/objects 
XBoolean.java XBooleanStatic.java XMLStringFactoryImpl.java XNodeSet.java 
XNodeSetForDOM.java XNull.java XNumber.java XObject.java XObjectFactory.java 
XRTreeFrag.java XRTreeFragSelectWrapper.java XString.java XStringForChars.java 
XStringForFSB.java xml-xalan/java/src/org/apache/xpath/operations And.java 
Bool.java Div.java Equals.java Gt.java Gte.java Lt.java Lte.java Minus.java 
Mod.java Mult.java Neg.java NotEquals.java Number.java Operation.java Or.java 
Plus.java Quo.java UnaryOperation.java Variable.java VariableSafeAbsRef.java 
xml-xalan/java/src/org/apache/xpath/patterns ContextMatchStepPattern.java 
FunctionPattern.java NodeTest.java StepPattern.java UnionPattern.java 
xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources_de.java 
XPATHErrorResources_es.java XPATHErrorResources_fr.java 
XPATHErrorResources_it.java XPATHErrorResources_ja.java 
XPATHErrorResources_ko.java XPATHErrorResources_sv.java 
XPATHErrorResources_zh_CN.java XPATHErrorResources_zh_TW.java 
XPATHErrorResources.java XPATHMessages.java</Modified>
   <Log>
  -Messages for new options in the Process command line.
  +Patch from Sarah Mcnamara ([EMAIL PROTECTED]) to remove
  +unused imports in java source.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xslt Process.java</Modified>
  -<Log>
  -XSLTC support in the Process command line - phase 2
  -Migrate the options from the XSLTC command line (Compile and Transform)
  -to the Process command line. The following new options are added:
  -
  --XO [translet_name]  (specify translate class name)
  --XD destination_directory (specify destination directory)
  --XJ jar_name (put translet into jar file)
  --XP package_prefix (specify package name prefix)
  --XN (enable template inlining)
  --XX (additional debug messages)
  --XT (use translet to transform if possible)
  -
  -The new options can only be used with the -XSLTC option. The options are
  -passed to XSLTC via the standard TRAX API - 
TransformerFactory.setAttribute().
  -Process does not directly communicate with XSLTC.
  -
  -The usage instructions are also re-organized. The options are divided into
  -three categories (command options, Options for Xalan and Options for XSLTC). 
A
  -pager is used when displaying the usage instructions so that you can see them
  -page by page.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
ErrorMessages.java ErrorMsg.java</Modified>
  -<Log>
  -Add debug messages for -XX option in the Process command line. These messages
  -tell the user whether they are transforming using XSLTC.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
Util.java</Modified>
  -<Log>
  -Fix problems in the baseName() interface so that it can handle system ids 
like
  -file:abc.xsl and file:///c:\test\abc.xsl.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
XSLTC.java</Modified>
  -<Log>
  -XSLTC support in the Process command line - phase 2
  -Add two new output types:
  -- BYTEARRAY_AND_FILE_OUTPUT: return a byte array and generate the translet 
class
  -- BYTEARRAY_AND_JAR_OUTPUT:  return a byte array and generate the jar file
  -
  -Add a new compile() interface which accepts the output type as the third
  -parameter. Use different Vectors to store bytecodes and JavaClass objects.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
Util.java</Modified>
  -<Log>
  -Add a wrapper for the noExtName() method in compiler.util.Util.
  -The transformerFactoryImpl class makes use of it.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TemplatesHandlerImpl.java</Modified>
  -<Log>
  -The member name _defaultTransletName in TransformerFactoryImpl
  -has been changed to _transletName.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/09/30</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerFactoryImpl.java</Modified>
  -<Log>
  -XSLTC support in the Process command line - phase 2
  -Most of the changes appear in this class. The changes not only allow you
  -to use the new XSLTC options in the Process command line. It also give
  -you the ability to customize the XSLTC behavior using the standard TRAX API.
  -Previously, the XSLTC TRAX API is not aware of translets. You cannot tell it
  -to use translets for do transformations. Now you can customize the XSLTC 
bevaior
  -using the new attributes. For example, the following code will allow you
  -to use translets for transformations when the translet is newer than the xsl.
  -
  -TransformerFactory tf;
  -tf.setAttribute("auto-translet", "true");
  -Templates templates = tf.newTemplates(xslSource);
  -
  -The following attributes are added:
  -Attributes           Corresponding Process command line options
  -use-translet
  -translet-name                -XO
  -destination-directory        -XD
  -package-name         -XP
  -jar-name             -XJ
  -auto-translet                -XT
  -
  -Four of the new attributes (translet-name, destination-directory, 
package-name and
  -jar-name) are transient. They only apply to the next newTemplates() or 
newTransformer()
  -call. Their values are reset to the default after the call.
  -
  -There is also a makefile like feature when you set the "auto-translet" 
attribute. It will
  -use the translet to do transformation when the translet is newer than the 
xsl. If the xsl
  -is modified, it will use the xsl to transform and regenerate the translet.
  -
  -Unlike the XSLTC Transform command line, the new code will NOT use the 
existing
  -ClassLoader to load the translet or jar file. It directly reads the file 
content into a
  -byte array. This makes the Process command line capable of loading the 
translet from
  -any directory the xsl file might be in or any user specified destination 
directory, without
  -the need on the user to add that directory to the CLASSPATH first.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/01</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/res 
XSLTErrorResources.properties 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util ErrorMessages.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime ErrorMessages.java 
xml-xalan/java/src/org/apache/xpath/res 
XPATHErrorResources.properties</Modified>
  -<Log>
  -Added and fixed up some additional translation guidelines.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/01</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TemplatesHandlerImpl.java TransformerFactoryImpl.java</Modified>
  -<Log>
  -Multi-thread protection for the new attributes.
  -The four transient attributes are now stored in ThreadLocal objects to 
prevent
  -multi-thread contention problems. This ensures that each thread will have a
  -different copy of the attributes and no collision issue will occur.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/01</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerFactoryImpl.java</Modified>
  -<Log>
  -Change the four attributes to be instance variables and remove
  -the ThreadLocal protection. TransformerFactory is not guaranteed
  -to be thread-safe. We will leave the synchronization issues up
  -to the user if they want to use one TransformerFactory in multiple
  -threads.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/03</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/functions 
FuncExtFunction.java</Modified>
  -<Log>
  -Use Vector.elementAt() instead of Vector.get(). The latter is not available
  -in JDK 1.1.8. Add two argument accessor methods for Bugzilla 8939.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/03</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates Constants.java 
ElemTemplateElement.java output_html.properties output_text.properties 
output_xml.properties OutputProperties.java</Modified>
  -<Log>
  -Use one namespace for all extensions (Bugzilla 9959)
  -Use the new namespace uri "http://xml.apache.org/xalan"; instead of
  -"http://xml.apache.org/xslt"; for xsl:output extension attributes.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/03</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor ProcessorLRE.java 
XSLTElementDef.java XSLTSchema.java</Modified>
  -<Log>
  -Use one namespace for all extensions (Bugzilla 9959)
  -Use the new namespace uri "http://xml.apache.org/xalan"; for
  -the component and script extension elements. We maintain
  -backward compatibility so that using the old uri
  -"http://xml.apache.org/xslt"; still works.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/03</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/extensions 
ExtensionHandlerJavaPackage.java</Modified>
  -<Log>
  -Minor Javadoc update to use the new namespace uri.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/03</DateCommitted>
  -<Modified> xml-xalan/java/samples/extensions 1-redir.xsl 2-basicJscript.xsl 
3-java-namespace.xsl 4-numlistJava.xsl 5-numlistJscript.xsl 
6-sqllib-instantdb.xsl</Modified>
  +<DateCommitted>2003/01/31</DateCommitted>
  +<Modified> xml-xalan/java/bin xercesImpl.jar</Modified>
   <Log>
  -Update the extension samples to use the new namespace.
  +Check in new XercesImpl (2.3.0 + patch).
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/04</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltMath.java</Modified>
  +<DateCommitted>2003/01/31</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref 
ExtendedType.java</Modified>
   <Log>
  -Minor fix for math:max().
  +file ExtendedType.java was initially added on branch XSLTC_DTM.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/04</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor 
StylesheetHandler.java</Modified>
  -<Log>
  -For Bugzilla 13106. Visit the XPath expressions created for match patterns.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/04</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
Param.java</Modified>
  -<Log>
  -The default type of a &lt;xsl:param&gt; should be result tree.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/04</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionCall.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/01/31</DateCommitted>
  +<Modified> xml-xalan/java todo.xsl</Modified>
   <Log>
  -Fix a problem in class namespace format and also cleanup the indentation.
  +Removed current project name from list of past developers, as it might not be
  +pertinent.
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/06</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
Param.java</Modified>
  -<Log>
  -Set default type of parameters to be reference. The type of a parameter
  -cannot be determined statically in XSLT 1.0.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/07</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/axes DescendantIterator.java 
UnionPathIterator.java WalkerFactory.java 
xml-xalan/java/src/org/apache/xpath/compiler Compiler.java Lexer.java 
OpMap.java XPathParser.java</Modified>
  -<Log>
  -Patch for bugzilla #5046.
  -
  -The token queue and operations map can now grow to accomodate really
  -large XPath expressions.   Starting sizes of the data structures remain set
  -at the size in the current code.
  -
  -I created new classes org.apache.xml.utils.ObjectVector (based on 
org.apache.xml.utils.IntVector)
  -and org.apache.xpath.compiler.OpMapVector to store the token queue
  -and operations map.
  -
  -This patch is essentially a stop gap until the new parser (xslt20 branch) is 
integrated.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/07</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xml/utils ObjectVector.java 
xml-xalan/java/src/org/apache/xpath/compiler OpMapVector.java</Modified>
  -<Log>
  -Patch for bugzilla #5046.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/07</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/compiler OpMap.java</Modified>
  -<Log>
  -Cleaning up import statements.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/07</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xml/utils IntStack.java 
IntVector.java ObjectStack.java ObjectVector.java 
xml-xalan/java/src/org/apache/xalan/templates ElemApplyTemplates.java 
ElemForEach.java xml-xalan/java/src/org/apache/xalan/transformer 
StackGuard.java TransformerImpl.java TransformSnapshotImpl.java 
xml-xalan/java/src/org/apache/xpath XPathContext.java</Modified>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerImpl.java</Modified>
   <Log>
  -Commiting Gordon Chiu's ([EMAIL PROTECTED]) patch for bugzilla#8175.
  -
  -IntStack's and ObjectStack's are now used in place of fixed length arrays, 
so that users
  -should not run into limitations based on array sizes.  The initial size of 
the arrays has
  -been set to current array sizes, so the user's experience should not change 
much, except
  -in the cases where they were running into the size limitation.
  -
  -No performance analysis has been done to determine an optimal initial
  -size for the stacks.
  +Committing a patch contributed by Prakash Sridharan ([EMAIL PROTECTED]).
  +Messages displayed using xsl:message are now reported to an ErrorListener
  +registered in a Transformer instance. The warning() callback is used for
  +this purpose.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/07</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
TransformerImpl.java</Modified>
  -<Log>
  -Committing Igor Hersht's ([EMAIL PROTECTED]) patch for bugzilla #10176.
  -
  -Also, removing testcase position102 from the excludes list for the smoketest
  -since it now runs.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/08</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc DOM.java 
xml-xalan/java/src/org/apache/xalan/xsltc/compiler ApplyTemplates.java 
Constants.java ForEach.java LastCall.java Parser.java PositionCall.java 
Step.java xml-xalan/java/src/org/apache/xalan/xsltc/dom AbsoluteIterator.java 
CurrentNodeListIterator.java DOMAdapter.java DOMImpl.java 
DupFilterIterator.java FilteredStepIterator.java FilterIterator.java 
ForwardPositionIterator.java KeyIndex.java MatchingIterator.java MultiDOM.java 
NodeIteratorBase.java NthIterator.java ReverseIterator.java StepIterator.java 
xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java</Modified>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/trace 
PrintTraceListener.java</Modified>
   <Log>
  -(1) Eliminated the need for a ReverseIterator.
  -(2) Added a ForwardPositionIterator as a temporary solution for some
  -cases.
  -(3) Added several javadoc-type comments.
  -(4) Fixed a number of cloneIterator() implementations that were broken.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/08</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
ForwardPositionExpr.java</Modified>
  -<Log>
  -Expression wrapper to compute positions properly.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/09</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
OutputBase.java StreamXMLOutput.java</Modified>
  -<Log>
  -Fix for Bugzilla 13304.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/09</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
UnionIterator.java</Modified>
  -<Log>
  -bug fix 12644, Santiago found that the clone iterator was doing a shallow 
copy
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/14</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Key.java 
KeyCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom KeyIndex.java 
xml-xalan/java/src/org/apache/xalan/xsltc/util IntegerArray.java</Modified>
  -<Log>
  -(1) Fixed some dynamic typing problems with idkeys. Values are now properly
  -converted to strings before they are compared.
  -(2) Eliminated the use of BitArrays in KeyIndex (better space efficiency).
  -(3) All idkey tests now pass with flavor=stream (the 6 failures that are
  -reported are due to the use of a different algorithm to generate ids).
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/15</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java 
Parser.java</Modified>
  -<Log>
  -bug fix 13550, for multiple &lt;xsl:output&gt; elements, 
cdata-section-elements attrs are now merged
  +Committing patch for bugzilla #16222.  Thanks to Elson Jiang ([EMAIL 
PROTECTED])
  +for identifying the problem and isolating the cause.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/15</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor 
TransformerFactoryImpl.java</Modified>
  -<Log>
  -Patch for bugzilla #13305.  Moved initalization code into a static 
initializer.
  -
  -TransformerFactory.newInstance() can now be called safely from multiple
  -threads.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/15</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
XslElement.java xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  -<Log>
  -New implementation of xsl:element that properly handles the case where
  -the namespace URI computed at runtime is "". Some of the code implementing
  -the xsl:element instruction has been factored out from the translet into
  -the basis library.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/15</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java 
TransformerFactoryImpl.java</Modified>
  -<Log>
  -bug fix 12317, serialization of Templates is fixed
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/15</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  -<Log>
  -A RuntimeException cannot be constructed from a Throwable with JDKs
  -prior to 1.4.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/17</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
MultiDOM.java</Modified>
  -<Log>
  -Clear dom index flag before passing node to DOMAdapter. Bug reported by
  -Prakash Sridharan.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/17</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/trace 
TraceManager.java</Modified>
   <Log>
  -Switch order of calls to startElement() and namespace() in startXslElement().
  +Committing Elson Jiang's ([EMAIL PROTECTED]) patch for bugzilla #5140.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/18</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
Step.java</Modified>
  -<Log>
  -bug fix 12308, typeCheck, nodeset to node optimization is turned off if node 
has context
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/18</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
Output.java</Modified>
  -<Log>
  -Added support for all EBCDIC flavors in xsl:output.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/19</DateCommitted>
  -<Modified> xml-xalan/java/bin xercesImpl.jar</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax TemplatesImpl.java 
TransformerFactoryImpl.java TransformerImpl.java</Modified>
   <Log>
  -Updating to XercesJ 2.2.0.
  +Add a new attribute "use-classpath" to the XSLTC Trax API.
  +If this attribute is set, the Templates object is created from a translet
  +which is loaded from the CLASSPATH. The translet name is either set by
  +the "translet_name" attribute, or derived from the system ID, or the
  +default name. In TemplatesImpl, we add a new constructor to support
  +creating a TemplatesImpl from a Translet instance.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/20</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xml/dtm/ref 
ExpandedNameTable.java</Modified>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources/xalan faq.xml 
resources.xml</Modified>
   <Log>
  -Committing Pavel Ausianik's ([EMAIL PROTECTED]) patch for bugzilla #12687.
  -
  -Reduce memory allocation on initialization of ExpandedNameTable.
  -
  -m_locNamesPool and m_namespaceNames and code that uses them has
  -been commented out.  Some initialization now done in static initializer.
  +Updates to the FAQ for bugzilla#15586 and #14856
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/20</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath XPathContext.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xslt Process.java 
xml-xalan/java/src/org/apache/xml/dtm/ref DTMManagerDefault.java 
xml-xalan/java/src/org/apache/xpath SourceTreeManager.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java 
TransformerFactoryImpl.java xml-xalan/java/src/org/apache/xalan/transformer 
TransformerIdentityImpl.java TrAXFilter.java 
xml-xalan/java/src/org/apache/xalan/processor ProcessorInclude.java 
TransformerFactoryImpl.java</Modified>
   <Log>
  -Committing Gordon Chiu's ([EMAIL PROTECTED]) modified patch of Pavel 
Ausianik's ([EMAIL PROTECTED]) 
  -patch for bugzilla #12486.
  +The behaviour of the Xerces-J parser recently changed to agree with its
  +documented behaviour with respect to the dynamic validation feature.  This
  +causes problems for stylesheets that contain a DTD, but are not otherwise
  +"valid" - for instance, because the DTD contains ENTITY declarations, but no
  +ELEMENT declarations - because error reporting is performed for documents if
  +the dynamic validation feature is enabled and the document contains a DOCTYPE
  +declaration.
   
  -Method XPathContext.reset()  was creating many new instances of java 
objects, 
  -causing unnecessary memory allocations, instead of reusing previously 
created 
  -objects. 
  -
  -
  -m_locNamesPool and m_namespaceNames and code that uses them has
  -been commented out.  Some initialization now done in static initializer.
  +The solution is to remove code (including code that was commented out) that
  +enabled the Xerces dynamic validation feature.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/20</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/serialize Encodings.java 
Encodings.properties</Modified>
  -<Log>
  -Committing Gordon Chiu's ([EMAIL PROTECTED]) patch for bugzilla #13754.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/21</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Output.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output 
StreamOutput.java</Modified>
  -<Log>
  -Moved EBCDIC support from Output to StreamOutput to ensure correct
  -serialization of XML header.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/21</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/dom3/xpath 
COPYRIGHT.html</Modified>
  -<Log>
  -Copying the copyright statement for the DOM L3 XPath API interfaces into
  -the temporary package (org.apache.xalan.dom3.xpath) which contains
  -the interfaces until they become a recommendation.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/21</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
PositionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/dom 
CurrentNodeListIterator.java DOMImpl.java FilterIterator.java NthIterator.java 
xml-xalan/java/src/org/apache/xalan/xsltc/runtime BasisLibrary.java</Modified>
  +<DateCommitted>2003/02/03</DateCommitted>
  +<Modified> xml-xalan/java/src xml-commons-src.tar.gz xml-xalan/java/bin 
xml-apis.jar</Modified>
   <Log>
  -Committing patch from Henry Zongaro. This patch moves the logic from
  -XPath's position() function from NodeIterator.getPosition() to
  -BasisLibrary.positionF(). This change simplifies the integration
  -between XSLTC and DTM.
  +Updating xml-apis.jar and source.  A security exception wasn't being
  +handled when reading java.home from system properties.
   </Log>
   </Commit>
   <Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/processor 
ProcessorExsltFunction.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/02/04</DateCommitted>
  +<Modified> xml-xalan/java/samples/CompiledApplet 
singleTransform.html</Modified>
   <Log>
  -For bugzilla 13711
  -Fix the conditions for validating the child elements of func:function.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer KeyTable.java 
xml-xalan/java/src/org/apache/xpath/axes NodeSequence.java</Modified>
  -<Log>
  -Committing [EMAIL PROTECTED] (Urban Spielmann)'s  patch for bugzilla #11661. 
 
  -
  -After the Redundant Expression Elimination merge, the key cache had
  -not yet been replaced.  This patch puts back the key cache, which
  -gives xsl:key much better performance.
  +file singleTransform.html was initially added on branch XSLTC_DTM.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/templates 
ElemExtensionCall.java</Modified>
  +<DateCommitted>2003/02/04</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources/xalan extensions.xml 
samples.xml</Modified>
   <Log>
  -For bugzilla 7357
  -Fix problems in exception handling for extension elements.
  +xdocs update
  +In samples.xml, update the documentation for the ApplyXSLT sample to provide
  +more information about the input xml and stylesheet.
  +In extensions.xml, add documentation for the src attribute in xalan:script.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/02/05</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler Import.java 
Include.java XSLTC.java</Modified>
   <Log>
  -Adding XSLTC_DTM version of file to branch.
  +Committing patch for Bugzilla 10626 contributed by Arun Yadav
  +([EMAIL PROTECTED]).
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java</Modified>
  +<Who>[EMAIL PROTECTED]</Who>
  +<DateCommitted>2003/02/10</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TemplatesHandlerImpl.java</Modified>
   <Log>
  -Whoops!  Checked in file on MAIN branch that was meant for XSLTC_DTM branch.
  + Wrapped called to Stylesheet.translate() with class-level synchronization
  + block. This is needed since BCEL is not thread-safe. The bug was reported
  + by Michael Melhem (Cocoon).
   </Log>
   </Commit>
   <Commit category="xsltc">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java</Modified>
  +<DateCommitted>2003/02/11</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
GenerateIdCall.java</Modified>
   <Log>
  -Adding DTM version of ForwardPositionIterator to XSLTC_DTM branch.
  +Applying patch for Bugzilla bug 16745 from Igor Hersht ([EMAIL PROTECTED]).
  +The code generated for a reference to generate-id with no arguments used to
  +default to the current node.  XSLT requires it to default to the context 
node.
   </Log>
   </Commit>
   <Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/22</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
ForwardPositionIterator.java</Modified>
  -<Log>
  -Aarrrgggghhhhh\!\!  Checked in file on MAIN branch that was meant for 
XSLTC_DTM branch, again\!
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/23</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
TransformerImpl.java</Modified>
  -<Log>
  -Patch for bugzilla #13863.
  -
  -Moved setting the namespaceContext from the TransformerImpl constructor to
  -the transform method.
  -</Log>
  -</Commit>
  -<Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath XPath.java 
xml-xalan/java/src/org/apache/xpath/res XPATHErrorResources.java 
XPATHErrorResources.properties</Modified>
  -<Log>
  -Move a hardcoded string into the properties file.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
UnionIterator.java</Modified>
  -<Log>
  -Fix for Bugzilla 13826. A problem in reset() was the cause of duplicate
  -nodes in the resulting nodeset.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/extensions 
ExtensionHandlerJavaClass.java ExtensionHandlerJavaPackage.java</Modified>
  -<Log>
  -For bugzilla 13944. Check for InvocationTargetException in Method.invoke().
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/25</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
FunctionCall.java xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util 
NodeSetType.java ReferenceType.java ResultTreeType.java</Modified>
  -<Log>
  -Fix for Bugzilla 13850 provided by Morris Kwan.
  -
  -Morris Kwan wrote:
  -
  -Changes in NodeSetType.java:
  -Allow a org.w3c.dom.Node to be converted to a XSLTC internal nodeset
  -
  -Changes in ReferenceType.java:
  -Allow conversions from Reference to Java String, double, w3c Node/NodeList
  -
  -Changes in ResultTreeType.java:
  -The result tree when converted to a nodeset, should contain only one node
  -starting from the root. If you replace &lt;xsl:param&gt; with 
&lt;xsl:variable&gt; in
  -the attached testcase, you will see a problem in "ext:nodelistTest
  -($a)/h1/h2" because of this problem.
  -
  -Changes in BasisLibrary.java:
  -Added interfaces referenceToNodeList, referenceToNode and node2Iterator.
  -The changes in copyNodes() fix a problem with the document node. In the
  -case of an RTF, the NodeList passed to nodeList2Iterator() contains only
  -one Node, which is a Document Node. The changes try to create a dummy
  -element for the Document and copy all Nodes under it.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/runtime 
BasisLibrary.java</Modified>
  +<DateCommitted>2003/02/18</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/trax 
TransformerImpl.java</Modified>
   <Log>
  +Patching Prakash's patch (of Feb.3, 2003).  We can't assume that _translet
  +is non-null when the call to setErrorListener is made.  For example, we could
  +have the lines of code:
   
  -  Fix for Bugzilla 13850 provided by Morris Kwan.
  +Transformer transformer = new Transformer();
  +transformer.setErrorListener(myErrorListener);
   
  -  Changes in BasisLibrary.java:
  -  Added interfaces referenceToNodeList, referenceToNode and node2Iterator.
  -  The changes in copyNodes() fix a problem with the document node. In the
  -  case of an RTF, the NodeList passed to nodeList2Iterator() contains only
  -  one Node, which is a Document Node. The changes try to create a dummy
  -  element for the Document and copy all Nodes under it.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath XPathContext.java</Modified>
  -<Log>
  -For Bugzilla 13303.
  -Fix Memory leak in XPathContext.popRTFContext().
  +The original patch caused TCK failures.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/transformer 
TransformerImpl.java</Modified>
  -<Log>
  -Backing out patch for bugzilla #13863.  It causes a bunch of failures in 
  -the trax.sax flavour.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/xdocs/sources/xalan extensions.xml 
extensionslib.xml samples.xml</Modified>
  -<Log>
  -Update the extensions documentation.
  -Use the new namespaces in documents and examples. Update EXSLT development
  -status. Modify setup instructions for SQL samples.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/xdocs xml-site-style.tar.gz 
xml-xalan/java/xdocs/sources/xalan faq.xml resources.xml</Modified>
  +<DateCommitted>2003/02/19</DateCommitted>
  +<Modified> xml-xalan/java/src/org/apache/xalan/xslt Process.java</Modified>
   <Log>
  -For Bugzilla 14022
  -Commit Gordon Chiu's update to the FAQ.
  +Patch for bugzilla #17030.  The command line (Process) uses the
  +bootstrap classloader (in JDK1.4) instead of the system class loader to 
  +load classes specified by the URIResolver, EntityResolver and 
  +ContentHandler options.
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/dom3/xpath COPYRIGHT.html 
XPathEvaluator.java XPathException.java XPathExpression.java 
XPathNamespace.java XPathNSResolver.java XPathResult.java 
xml-xalan/java/src/org/apache/xpath/domapi XPathEvaluatorImpl.java 
XPathExpressionImpl.java XPathNSResolverImpl.java 
XPathResultImpl.java</Modified>
  +<DateCommitted>2003/02/20</DateCommitted>
  +<Modified> xml-xalan/java/samples/servlet ApplyXSLT.java 
DefaultApplyXSLTProperties.java jspSample.jsp SimpleXSLTServlet.java 
UseStylesheetParamServlet.java XSLTServletWithParams.java birds.xml birds.xsl 
booklist1.xsl booklist2.xsl catalog.xml web.xml</Modified>
   <Log>
  -Removed the temporary org.apache.xalan.dom3.xpath package.
  -
  -Updated the org.w3c.dom.xpath interfaces.
  -
  -Changed dependencies to org.w3c.dom.xpath interfaces in the implementation
  -classes in org.apache.xalan.xpath.domapi.
  +Committing Christine Li's ([EMAIL PROTECTED]) patch to the servlet sample.
  +Bugzilla #17136
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java build.xml</Modified>
  +<DateCommitted>2003/02/20</DateCommitted>
  +<Modified> xml-xalan/java/xdocs/sources/xalan readme.xml samples.xml 
usagepatterns.xml</Modified>
   <Log>
  -Build org.w3c.xpath.dom interfaces into xalan.jar.
  +Committing Christine Li's ([EMAIL PROTECTED]) patch to the servlet sample 
documentation.
  +Bugzilla #17136
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath XPathContext.java</Modified>
  -<Log>
  -Patch from Gordon Chiu.  Replace stack.clear() calls with 
stack.removeAllElements()
  -to be compatible with JDK1.1.8.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/28</DateCommitted>
  +<DateCommitted>2003/02/20</DateCommitted>
   <Modified> xml-xalan/java build.xml</Modified>
   <Log>
  -Support compiling under JDK 1.2 - 1.4.  Also check for compatability with 
target JDK 1.1.x.
  +Committing Christine Li's ([EMAIL PROTECTED]) patch to the build script for 
the servlet sample.
  +Bugzilla #17136
   </Log>
   </Commit>
   <Commit category="core">
   <Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xpath/domapi 
XPathNamespaceImpl.java XPathResultImpl.java</Modified>
  -<Log>
  -Somewhat rough implementation of XPathNamespace.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/29</DateCommitted>
  -<Modified> xml-xalan/java/bin ant.jar</Modified>
  -<Log>
  -Upgrade to Ant 1.5.1.
  -</Log>
  -</Commit>
  -<Commit category="core">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/lib ExsltBase.java 
ExsltStrings.java xml-xalan/java/src/org/apache/xalan/lib/sql 
DefaultConnectionPool.java</Modified>
  -<Log>
  -Fix JDK 1.1.8 compatibility problems.
  -Replace methods calls that are only in Java2 by JDK 1.1 equivalents.
  -For DefaultConnectionPool.java, use reflection mechanism to invoke
  -Thread.getContextClassLoader() instead of hard-coded invocation.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/compiler 
LocationPathPattern.java Mode.java Step.java StepPattern.java 
xpath.cup</Modified>
  -<Log>
  -Distinguish between child::node() and attribute::node() both in patterns
  -and expressions. This patch also fixes Bugzilla 11433.
  -</Log>
  -</Commit>
  -<Commit category="xsltc">
  -<Who>[EMAIL PROTECTED]</Who>
  -<DateCommitted>2002/10/29</DateCommitted>
  -<Modified> xml-xalan/java/src/org/apache/xalan/xsltc/dom 
DOMImpl.java</Modified>
  +<DateCommitted>2003/02/20</DateCommitted>
  +<Modified> xml-xalan/java build.xml</Modified>
   <Log>
  -Fixed problem in DOMImpl$ChildrenIterator.getLast(). It now returns 0
  -when the nodeset is empty.
  +Minor change to build script for updated servlet sample.
   </Log>
   </Commit>
   </Commits>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to