<?xml encoding="US-ASCII"?>

<!ENTITY xslt "Xalan">
<!ENTITY xslt4j "Xalan-Java">
<!ENTITY xslt4j2 "Xalan-Java 2">
<!ENTITY xslt4ji "&xslt4j; Interpretive">
<!ENTITY xslt4jc-short "XSLTC">
<!ENTITY xslt4jc-long  "&xslt4j; Compiled">
<!ENTITY xslt4j-dist-bin "&xslt4j-dist;-bin">
<!ENTITY xslt4j-dist-src "&xslt4j-dist;-src">
<!ENTITY xslt4j-dist "xalan-j_2_5_1">
<!ENTITY xslt4j-current "&xslt4j; version 2.5.1">
<!ENTITY xslt4j-distdir "http://xml.apache.org/dist/xalan-j/">
<!ENTITY xslt4j_longname "Apache Xalan Java">
<!ENTITY xml4j "Xerces-Java">
<!ENTITY xml4j1 "Xerces-Java 1">
<!ENTITY xml4j2 "Xerces-Java 2">
<!ENTITY xml4j-used "&xml4j; 2.4.0">
<!ENTITY xml4j-jar "xercesImpl.jar">
<!ENTITY xslt4c "Xalan-C++">
<!ENTITY xml4c "Xerces-C++">
<!ENTITY download "The &xslt4j-current; download from &xslt4j-distdir; 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">&xslt4jc-short;</link></li>'>

<!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">Getting Started with &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 &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">&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>'>

<!ENTITY xsltcsamples '<anchor name="translets"/><s2 title="Translets">
                 <ul>
                 <li><link anchor="xsltc1">JAXPTransletOneTransformation</link></li>
                 <li><link anchor="xsltc2">JAXPTransletMultipleTransformations</link></li>
                 <li><link anchor="xsltcother">Other &xslt4jc-short; samples</link></li>   
                 </ul>
                 <p>You can use the TrAX/JAXP 1.2 interfaces to compile and run translets.
                 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="xsltc1"/>
                 <s3 title="JAXPTransletOneTransformation">
                 <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>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 &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>Run this sample from the translets subdirectory with</p>
                 <p><code>java JAXPTransletMultipleTransformations</code></p>
                 <p>View the results in todo-xsltc.html and todo-xalan.html.</p>                
                 </s3><anchor name="xsltcother"/>
                 <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>CompiledApplet</li>
                 <li>CompiledEJB</li>
                 </ul>
                 <p>For information about each of these samples, consult the README file in the subdirectory.</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>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>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>'>
