You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mk...@apache.org on 2002/11/06 17:21:42 UTC
cvs commit: xml-xalan/java/xdocs/sources/xalan readme.xml xsltc_usage.xml xsltc_constraints.xml
mkwan 2002/11/06 08:21:42
Modified: java/xdocs/sources entities.ent xalan-jlocal.xml
xalan-jsite.xml
java/xdocs/sources/xalan readme.xml xsltc_usage.xml
Removed: java/xdocs/sources/xalan xsltc_constraints.xml
Log:
XSLTC xdocs update.
Remove xsltc_constraints.xml. Move the "known problem" and "smart transformer
switch" sections into xsltc_uage.xml.
Revision Changes Path
1.58 +0 -1 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.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- entities.ent 31 Oct 2002 15:11:33 -0000 1.57
+++ entities.ent 6 Nov 2002 16:21:42 -0000 1.58
@@ -28,7 +28,6 @@
Release Notes</link>, and <jump href="xsltc/index.html">XSLTC Design</link>.</p>
</s2>'>
-<!ENTITY xsltcreleasenotesentry '<li><link idref="xsltc_constraints">XSLTC Release Notes</link></li>'>
<!ENTITY history2xsltc '<note>For XSLTC changes since XSLTC was incorporated into &xslt4j;, see
<link idref="xsltc_history">XSLTC software changes</link>.</note>'>
1.24 +0 -1 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.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- xalan-jlocal.xml 4 Nov 2002 19:15:25 -0000 1.23
+++ xalan-jlocal.xml 6 Nov 2002 16:21:42 -0000 1.24
@@ -84,7 +84,6 @@
<separator/>
<document id="readme" label="Release Notes" source="xalan/readme.xml"/>
<hidden id="history" source="xalan/history.xml"/>
- <hidden id="xsltc_constraints" source="xalan/xsltc_constraints.xml"/>
<hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
<hidden id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>
<separator/>
1.49 +0 -1 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.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- xalan-jsite.xml 4 Nov 2002 19:15:25 -0000 1.48
+++ xalan-jsite.xml 6 Nov 2002 16:21:42 -0000 1.49
@@ -88,7 +88,6 @@
<document id="readme" label="Release Notes" source="xalan/readme.xml"/>
<document id="builds" label="Xalan-Java Builds" source="xalan/builds.xml"/>
<hidden id="history" source="xalan/history.xml"/>
- <hidden id="xsltc_constraints" source="xalan/xsltc_constraints.xml"/>
<hidden id="xsltc_history" source="xalan/xsltc_history.xml"/>
<hidden id="commandline_xsltc" source="xalan/commandline_xsltc.xml"/>
<separator/>
1.86 +2 -1 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.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- readme.xml 31 Oct 2002 15:06:43 -0000 1.85
+++ readme.xml 6 Nov 2002 16:21:42 -0000 1.86
@@ -62,9 +62,10 @@
<p>&xslt4j-current;</p>
<ul>
- <li><link anchor="status0">Status</link></li>&xsltcreleasenotesentry;
+ <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">
1.31 +57 -6 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.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- xsltc_usage.xml 23 Sep 2002 13:04:01 -0000 1.30
+++ xsltc_usage.xml 6 Nov 2002 16:21:42 -0000 1.31
@@ -64,9 +64,11 @@
<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="xsltcsmart">Smart Transformer Switch</link></li>
<li><link anchor="native_api">Calling XSLTC 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="xsltc_constraints">XSLTC release notes</link></li>
+ <li><link idref="extensions_xsltc">Extensions for XSLTC</link></li>
</ul>
<p>See also: <jump href="xsltc/index.html">XSLTC Design</jump></p>
<anchor name="intro"/>
@@ -423,9 +425,23 @@
new StreamResult(new FileOutputStream(htmlOutURI)));</source>
<p>For a working sample that illustrates this usage pattern, see <link idref="samples" anchor="xsltc2">JAXPTransletMultipleTransformations</link>.</p>
</s3>
-</s2><anchor name="native_api"/>
+</s2>
+<anchor name="xsltcsmart"/>
+<s2 title="Smart Transformer Switch">
+<p>As part of the TrAX API, a "Smart Transformer Switch" 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>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>
+</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>
@@ -685,9 +701,44 @@
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><anchor name="constraints"/>
-<s2 title="XSLTC usage constraints">
-<p>See <link idref="xsltc_constraints" anchor="xsltcconf">Conformance issues</link> and <link idref="xsltc_constraints"
-anchor="xsltcknownproblems">Known problems</link>.</p>
+</s3></s2>
+<anchor name="constraints"/>
+<s2 title="Usage constraints">
+<ul>
+ <li>The strip space element does not work with copy-of. For example, with <code><xsl:strip-space
+ elements="*"/></code>, if you do an identity transform by matching on
+ the root node (/) and then do a <code>copy-of select="."</code>, the whitespace-only
+ nodes are not stripped out. <code>xsl:strip-space</code> works when you do not do a copy-of.<br/><br/></li>
+ <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>"-n"</code> option to the compile command line disabled inlining.
+ With inlining on, XSLTC can generate methods that are too long (<em>> 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,
+ but with recent hotspot technology in the Java 1.4.x JVM, performance is better with
+ inlining off. From the command line, you would use <code>"-n"</code>
+ to turn on inlining, or with TrAX set the "enable-inlining" attribute to the TransformerFactory.
+ For example,
+ <source>TransformerFactory tfac = new TransformerFactory();
+tfac.setAttribute("enable-inlining", 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
+ 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>
+</ul>
+<p>To check on the open bugs in the current Apache xml-xalan/java repository,
+ follow the instructions below:</p>
+<ol>
+ <li>Go to <jump href="http://nagoya.apache.org/bugzilla">http://nagoya.apache.org/bugzilla</jump>.</li>
+ <li>Select <em>Query Existing Bug Reports</em>.</li>
+ <li>Choose:<br/>
+ Program: <em>XalanJ2</em><br/>
+ Component: <em>org.apache.xalan.xsltc</em> (and) <em>Xalan-Xsltc</em></li>
+ <li>Submit the query.</li>
+</ol>
</s2>
</s1>
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org