dleslie 00/10/16 14:56:59
Modified: java/xdocs/sources/xalan STATUS commandline.xml
extensions.xml extensionslib.xml index.xml
overview.xml samples.xml usagepatterns.xml
whatsnew.xml
Log:
Final draft (I hope) for Xalan-J 2.0.D01.
Revision Changes Path
1.4 +1 -1 xml-xalan/java/xdocs/sources/xalan/STATUS
Index: STATUS
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/STATUS,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- STATUS 2000/10/12 15:34:17 1.3
+++ STATUS 2000/10/16 21:56:57 1.4
@@ -2,7 +2,7 @@
<p>The &xslt4j-current; has been tested with &xml4j-used;. &download; For
information about including xerces.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
Xalan and Xerces builds are not in synch. If you download an update to Xalan,
check the release notes to determine which version of Xerces you should use.</p>
<note>You can use Xalan with other XMLReaders that implement the
<resource-ref idref="jaxp"/>. See
-<link idref="usagepatterns" anchor="xmlreader">Setting the
XMLReader</link>).</note>
+<link idref="usagepatterns" anchor="xmlreader">Setting the
XMLReader</link>.</note>
</s3><anchor name="to-do"/>
<s3 title="To-do tasks">
<ul>
1.5 +1 -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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- commandline.xml 2000/10/16 16:48:06 1.4
+++ commandline.xml 2000/10/16 21:56:57 1.5
@@ -82,8 +82,6 @@
<source>-IN inputXMLURL
-XSL XSLTransformationURL
-OUT outputFileName
--LXCIN compiledStylesheetFileNameIn
--LXCOUT compiledStylesheetFileNameOut
-V (Version info)
-QC (Quiet Pattern Conflicts Warnings)
-Q (Quiet Mode)
@@ -103,14 +101,10 @@
-DIAG put out timing diagnostics</source>
<p>Use -IN to specify the XML source document.</p>
<p>Use -XSL to specify the XSL stylesheet file.</p>
- <p>Use -LXCIN to specify a compiled XSL stylesheet file.</p>
- <p>Use -LXCOUT to compile an XSL stylesheet for future use as -LXCIN
input.</p>
- <note>You can only use -LXCIN with a compiled stylesheet that you have
already created with the -LXOUT switch. For an
- example, see <link anchor="compiledstylesheet">Using a compiled
stylesheet</link></note>
<p>Use -TEXT if you want the output to include only element values
(not element tags with element names and
attributes).</p>
<p>Use -HTML to write 4.0 transitional HTML (some elements, such as
<br>, are
- not well formed XML.</p>
+ not well formed XML).</p>
<p>To set stylesheet parameters from the command line, use <br/>
<code>TestXSLT -PARAM <ref>name expression</ref></code></p>
</s2>
1.5 +14 -8 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- extensions.xml 2000/10/12 15:34:17 1.4
+++ extensions.xml 2000/10/16 21:56:57 1.5
@@ -21,7 +21,7 @@
<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 the predefined java namespace 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 XSL 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 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.</p>
</s2><anchor name="supported-lang"/>
@@ -227,7 +227,7 @@
<code> (org.apache.xalan.xslt.XSLProcessorContext,
</code><br/>
<code> org.w3c.dom.Element
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"/>
@@ -334,7 +334,9 @@
// set the year, month, and day.
Calendar c = Calendar.getInstance();
// Convert each argument to int.
-
c.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));
+ c.set ( Integer.parseInt(year),
+ Integer.parseInt(month),
+ Integer.parseInt(day) );
return c.getTime();
}
}</source>
@@ -362,7 +364,8 @@
xmlns:java="http://xml.apache.org/xslt/java"
exclude-result-prefixes="java">
- <!--Other templates for transforming the rest of the XML source
documents-->
+ <!--Other templates for transforming the rest of
+ the XML source documents-->
<xsl:template match="date">
<xsl:variable name="year" select="string(./@year)"/>
@@ -395,8 +398,9 @@
public MyCounter ()
{}
- public void init(org.apache.xalan.extensions.XSLProcessorContext context,
- org.apache.xalan.xslt.ElemExtensionCall extElem)
+ public void init
+ ( org.apache.xalan.extensions.XSLProcessorContext context,
+ org.apache.xalan.xslt.ElemExtensionCall extElem )
{
String name = extElem.getAttribute("name");
String value = extElem.getAttribute("value");
@@ -419,8 +423,10 @@
return (cval == null) ? 0 : cval.intValue ();
}
- public void incr(org.apache.xalan.extensions.XSLProcessorContext context,
- org.apache.xalan.xslt.ElemExtensionCall extElem) {
+ public void incr
+ ( org.apache.xalan.extensions.XSLProcessorContext context,
+ org.apache.xalan.xslt.ElemExtensionCall extElem)
+ {
String name = extElem.getAttribute("name");
Integer cval = (Integer) counters.get(name);
int nval = (cval == null) ? 0 : (cval.intValue () + 1);
1.3 +1 -1 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- extensionslib.xml 2000/10/16 16:58:37 1.2
+++ extensionslib.xml 2000/10/16 21:56:58 1.3
@@ -151,7 +151,7 @@
Testing Redirect extension:
<foobar-out>foo subelement text node</foobar-out>
</foo-out></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"/>
1.3 +1 -1 xml-xalan/java/xdocs/sources/xalan/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/xml-xalan/java/xdocs/sources/xalan/index.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.xml 2000/10/12 15:34:17 1.2
+++ index.xml 2000/10/16 21:56:58 1.3
@@ -75,7 +75,7 @@
<s2 title="How about this release?">
<p>&xslt4j-current; is the first release of &xslt4j2;. It is an alpha
Developer's release. For information about known
limitations and problems, see the <link idref="readme">Release
notes</link>. Please send your comments, bug reports, and
- feeback to the <human-resource-ref idref="xalandev"/></p>
+ feedback to the <human-resource-ref idref="xalandev"/></p>
</s2>
<s2 title="How do I get it?">
<p>Download and unzip either of the following:</p>
1.4 +1 -1 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- overview.xml 2000/10/12 15:34:17 1.3
+++ overview.xml 2000/10/16 21:56:58 1.4
@@ -94,7 +94,7 @@
</xsl:stylesheet></source>
<p>foo.out:</p>
<source><out>Hello</out></source>
-<p>By default, &xslt4j; uses the &xml4j; SAXParser, and it may be configured
(with system properties) to work with other parsers. The input may be submitted
in the form of a SAX InputStream (from a URI, a character or byte stream, or
another transformation) or a DOM Node.</p>
+<p>By default, &xslt4j; uses the &xml4j; SAXParser, and it may be configured
(<link idref="usagepatterns" anchor="xmlreader">with system properties</link>)
to work with other parsers. The input may be submitted in the form of a SAX
InputStream (from a URI, a character or byte stream, or another transformation)
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">
1.10 +2 -2 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.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- samples.xml 2000/10/16 16:48:08 1.9
+++ samples.xml 2000/10/16 21:56:58 1.10
@@ -156,7 +156,7 @@
<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: Copy xalan.jar and xerces.jar to the AppletXMLtoHTML
subdirectory, and open AppletXMLotHTML.hmtl in a
+ <p>How to run it: Copy xalan.jar and xerces.jar to the AppletXMLtoHTML
subdirectory, and open AppletXMLtoHTML.hmtl in a
browser (it has been tested with Netscape 4.7 and Internet Explorer
5).</p>
</s2><anchor name="servlet"/>
<s2 title="Servlet">
@@ -225,7 +225,7 @@
<p>Run this sample from the extensions subdirectory with</p>
<p><code>java org.apache.xalan.xslt.Process -in
1-redir.xml</code><br/>
<code>-xsl 1-redir.xsl</code></p>
- <p>The standard (non-redirected) output is writen to the screen. The
redirected output is written to 1-redir-out, or
+ <p>The standard (non-redirected) output is written to the screen. The
redirected output is written to 1-redir-out, or
whatever filename you assign to the doc/foo @file attribute in
1-redir.xml. The stylesheet gets the file name for
redirected output from the XML input file.</p>
</s3><anchor name="ext2"/>
1.8 +6 -5 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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- usagepatterns.xml 2000/10/16 18:07:03 1.7
+++ usagepatterns.xml 2000/10/16 21:56:58 1.8
@@ -127,7 +127,7 @@
<p>The Transformer uses the XMLParser to parse the XML input and sends parse
events to a SAX ContentHandler, which assembles the input into a DOM tree. Of
course this operation is unnecessary if the XML input is submitted as a DOM.</p>
<p>For each node in the XML source, the Transformer uses the Templates
object to determine which template to apply: one of the templates in the
Templates object, a default template rule as specified in the XSLT spec, or
none.</p>
<p>The Transformer forwards the SAX events produced by this process to the
appropriate output ContentHandler, a serializer if the Result object has been
set up to write to a stream or file, a DOMBuilder utility if the output is to
be a DOM tree.</p>
-<note>A serializer is a utility that translates a series of SAX events or a
DOM tree into a stream, performing any character escaping required by the
output method (the XML ourput method, for example normally requires < and
& to be escaped).</note>
+<note>A serializer is a utility that translates a series of SAX events or a
DOM tree into a stream, performing any character escaping required by the
output method (the XML output method, for example normally requires < and
& to be escaped).</note>
<p>To the degree possible, the parsing of the XML source and application of
the Templates object to that source are performed concurrently. This enables
the Transformer to begin supplying the client with transformation output before
the parsing has been completed. When necessary, the Transformer waits for the
XMLReader to provide the input it needs to continue.</p>
</s2><anchor name="xmlreader"/>
<s2 title="Setting the XMLReader">
@@ -138,7 +138,7 @@
<li>Call the org.apache.trax.Processor.setXMLReader() method.<br/><br/>
If you call this method before you call
org.apache.trax.Processor.process() to generate a Templates object, &xslt4j;
uses the XMLReader you designate to process the stylesheet and the XML input,
and ignores the org.xml.sax.driver property setting (for the current
transformation).<br/><br/></li>
</ul>
-<p>Be sure the XMLReader is on the classpath. The &xml4j; XMLReader --
org.apache.xerces.parsers.SAXParser -- is in xerces.jar.(</p>
+<p>Be sure the XMLReader is on the classpath. The &xml4j; XMLReader --
org.apache.xerces.parsers.SAXParser -- is in xerces.jar.</p>
<note>Other system properties: The default serializer system property
settings are in org/apache/serialize/serializer.properties. The default XSLT
stylesheet system property setting is in org/apache/trax/trax.properties.
These properties files are in xalan.jar.</note>
</s2><anchor name="params"/>
<s2 title="Setting stylesheet parameters">
@@ -148,7 +148,7 @@
<p>where <code>param</code> is the parameter name and <code>foobar</code> is
the parameter value. The parameter namespace is null.</p>
</s2><anchor name="embed"/>
<s2 title="Working with embedded stylesheets">
-<p>An XML source document may include an <jump
href="http://www.w3.org/TR/xml-stylesheet/">xml-stylesheet processing
instruction</jump> which identifies the stylesheet to be used to process the
document. As indicated by the processing instruction href attribute, the
stylesheet itself may be embedded in the XML document or located elsewhere.</p>
+<p>An XML source document may include an <jump
href="http://www.w3.org/TR/xml-stylesheet/">xml-stylesheet processing
instruction</jump> which identifies the stylesheet to be used to process the
document. As indicated by the processing instruction <ref>href</ref> attribute,
the stylesheet itself may be embedded in the XML document or located
elsewhere.</p>
<p>Suppose you have an XML document (foo.xml) with the following
xml-stylesheet processing instruction:</p>
<p><code><?xml-stylesheet type="text/xml" href="foo.xsl"?></code></p>
<p>The following fragment, uses this instruction to locate the stylesheet
(foo.xsl in the same directory) and create a Templates object. Note the use of
the Processor getAssociatedStylesheets() and processMultipleStylesheets()
methods in steps 2a and 2b.</p>
@@ -271,7 +271,7 @@
<p>For those cases where you want to be able to call procedural code from
within a stylesheet, the &xslt4j; Extensions facility supports the creation of
extension elements and extension functions. See <link
idref="extensions">Extensions</link> and <link idref="samples"
anchor="extensions">Extensions samples</link>.</p>
</s2><anchor name="multithreading"/>
<s2 title="Multithreading">
-<p>A given Templates object may be used concurrently iand repeatedly in
multiple transformations. You must, however, use a separate Transformer object
to perform each transformation. The Transformer object tracks state information
and is lightweight. Each time you perform a transformation, use the Templates
object newTransformer() method to instantiate a Transformer.</p>
+<p>A given Templates object may be used concurrently and repeatedly in
multiple transformations. You must, however, use a separate Transformer object
to perform each transformation. The Transformer object tracks state information
and is lightweight. Each time you perform a transformation, use the Templates
object newTransformer() method to instantiate a Transformer.</p>
</s2><anchor name="debugging"/>
<s2 title="Debugger Interface">
<p>&xslt4j; contains a debugger interface in the
org.apache.xalan.xslt.trace package:</p>
@@ -312,7 +312,8 @@
ptl.m_traceTemplates = true;
// Set up the transformation
-traxProcessor processor = org.apache.trax.Processor.newInstance("xslt");
+org.apache.trax.Processor processor =
+ org.apache.trax.Processor.newInstance("xslt");
org.apache.trax.Templates templates = processor.process
(new
org.xml.sax.InputSource("foo.xsl"));
org.apache.trax.Transformer transformer = templates.newTransformer();
1.11 +2 -2 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.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- whatsnew.xml 2000/10/16 16:48:08 1.10
+++ whatsnew.xml 2000/10/16 21:56:58 1.11
@@ -62,7 +62,7 @@
<li><link anchor="packages">Package layout</link></li>
</ul><anchor name="design"/>
<s2 title="New Design">
- <p>&xslt4j2; represents a fundamental redesign of Xalan. The primary
objective of this redesign is an easier-to-use, more understandable, and more
modular API that 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, and .</p>
+ <p>&xslt4j2; represents a fundamental redesign of Xalan. The primary
objective of this redesign is an easier-to-use, more understandable, and more
modular API that 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>As a result of this redesign, the changes are global in nature. The API
and the basic usage patterns are different. For the details, see <link
idref="usagepatterns">Basic Usage Patterns</link>.</p>
<p>To start with, &xslt4j2; implements the <resource-ref idref="trax"/>
interfaces. A number of open-source XML tool developers have collaborated on
TRaX, a conceptual framework and a standard API for performing XML
transformations. We strongly encourage you to use the TRaX framework and
interfaces when you use &xslt4j2; to perform XML transformations.</p>
<p>The basic organization of TRaX is quite simple: use a Processor to
process transformation instructions (the stylesheet), producing a Templates
object. Use the Templates object to instantiate a Transformer, with which you
can apply the Templates object to XML input, producing a result tree. For more
detail, see <link idref="usagepatterns" anchor="basic">Basic steps</link>.</p>
@@ -113,7 +113,7 @@
</gloss>
<gloss>
<label><jump
href="apidocs/org/apache/xalan/res/package-summary.html">org.apache.xalan.res</jump></label>
- <item>&xslt4j; resource files (such as error message).</item>
+ <item>&xslt4j; resource files (such as error messages).</item>
</gloss>
<gloss>
<label><jump
href="apidocs/org/apache/xalan/client/package-summary.html">org.apache.xalan.client</jump></label>