You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by dl...@locus.apache.org on 2000/02/17 13:51:21 UTC

cvs commit: xml-xalan/xdocs/sources/xalan samples.xml resources.xml overview.xml org-apache-xalan-xslt.xml org-apache-xalan-xslt-trace.xml org-apache-xalan-xslt-extensions.xml org-apache-xalan-xpath-xml.xml org-apache-xalan-xpath-xdom.xml org-apache-xalan-xpath-dtm.xml javadocOverview.xml

dleslie     00/02/17 04:51:20

  Modified:    xdocs/sources/xalan samples.xml resources.xml overview.xml
                        org-apache-xalan-xslt.xml
                        org-apache-xalan-xslt-trace.xml
                        org-apache-xalan-xslt-extensions.xml
                        org-apache-xalan-xpath-xml.xml
                        org-apache-xalan-xpath-xdom.xml
                        org-apache-xalan-xpath-dtm.xml javadocOverview.xml
  Log:
  New Javadoc top-level and package-level source files.
  
  Revision  Changes    Path
  1.4       +9 -6      xml-xalan/xdocs/sources/xalan/samples.xml
  
  Index: samples.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/samples.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- samples.xml	2000/02/15 21:35:30	1.3
  +++ samples.xml	2000/02/17 12:51:17	1.4
  @@ -64,10 +64,13 @@
       <s2 title="ApplyXPath">
       <p>What it does: The ApplyXPath class executes an XPath expression against an XML document and returns
        information about the route it takes and the nodes (if any) it finds.</p>
  -    <p>Run this sample from the ValidateXPath subdirectory with</p> 
  +     <note>You can use this sample as an aid when you want to find out what a given XPath expression returns from a
  +     given XML file. Keep in mind that the context node for the XPath expression is the document root.</note>
  +    <p>Run this sample from the ApplyXPath subdirectory with</p> 
       <p><code>java ApplyXPath <ref>XMLFile XPathExpression</ref></code></p>
  -    <p>where <ref>XMLFile</ref> is an XML source file and <ref>XPathExpression</ref> is an XPath expression to apply to that
  -    file. The ApplyXPath subdirectory contains an XML file named foo.xml, so you can try command lines like</p>
  +    <p>where <ref>XMLFile</ref> is an XML source file and <ref>XPathExpression</ref> is an XPath expression to
  +     apply to that file. The ApplyXPath subdirectory contains an XML file named foo.xml, so you can try command
  +     lines like</p>
       <p><code>java ApplyXPath foo.xml /</code></p>
       <p>and</p>
       <p><code>java ApplyXPath foo.xml /doc/name/@first</code></p>
  @@ -91,9 +94,9 @@
        (available from http://www.mozilla.org/rhino) on the class path. You do not need js.jar
        on the class path for the samples that use Java extensions. </p>
        <p>Use java.org.apache.xalan.xslt.Process, the &xslt4j; command-line utility, to run these samples from
  -      the command line. The command line must include an -in argument with the XML source and an -xsl argument with
  -      the XSL stylesheet. If you want the output to be printed to a file, rather than to the screen, add an -out
  -      argument for the output file.</p>
  +      the <link idref="commandline">command line</link>. The command line must include an -in flag with the 
  +      XML source and an -xsl flag with the XSL stylesheet. If you want the output to be printed to a file, rather
  +      than to the screen, add an -out flag with the output file name.</p>
         <p>Run these samples from the extensions directory as follows (each of the following is a single command
          line):</p> 
   
  
  
  
  1.2       +3 -0      xml-xalan/xdocs/sources/xalan/resources.xml
  
  Index: resources.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/resources.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- resources.xml	2000/02/04 14:39:50	1.1
  +++ resources.xml	2000/02/17 12:51:17	1.2
  @@ -98,4 +98,7 @@
   <resource id="XSLTProcessorAppletsetDocumentURLDoc" title="XSLTProcessorApplet setDocumentURL() method" location="apidocs/org/apache/xalan/xslt/client/XSLTProcessorApplet.html#setDocumentURL(java.lang.String)"/>
   <resource id="XSLTProcessorAppletsetStyleURLDoc" title="XSLTProcessorApplet setStyleURL() method" location="apidocs/org/apache/xalan/xslt/client/XSLTProcessorApplet.html#setStyleURL(java.lang.String)"/>
   
  +<resource id="usagepatterns_fr_jindex" title="Usage Patterns" location="../usagepatterns.html"/>
  +<resource id="dtm_fr_jindex" title="DTM (Document Table Model)" location="../dtm.html"/>
  +<resource id="ext_fr_jindex_o_a_x_x_ext" title="Xalan Extensions" location="../../../../../../extensions.html"/>
   </resources>
  
  
  
  1.4       +2 -2      xml-xalan/xdocs/sources/xalan/overview.xml
  
  Index: overview.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/overview.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- overview.xml	2000/02/15 21:35:29	1.3
  +++ overview.xml	2000/02/17 12:51:17	1.4
  @@ -118,8 +118,8 @@
       </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>
  +    <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>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>
  
  
  
  1.2       +15 -4     xml-xalan/xdocs/sources/xalan/org-apache-xalan-xslt.xml
  
  Index: org-apache-xalan-xslt.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/org-apache-xalan-xslt.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- org-apache-xalan-xslt.xml	2000/02/04 14:39:50	1.1
  +++ org-apache-xalan-xslt.xml	2000/02/17 12:51:17	1.2
  @@ -59,11 +59,22 @@
    -->
      <s1 title="org.apache.xalan.xslt package">
     <s2 title="Summary">
  -     <p>This is the main Xalan package.</p>
  +     <p><em>This is the main Xalan package.</em></p>
      </s2>     
        <s2 title="Description">
  -     <p>The XSLTProcessor interface defines the XSLT processor API. XSLTProcessorFactory provides methods for creating an
  -     instance of the XSLT processor, which actually uses XSLTEngineImpl, an implementation of XSLTProcessor that users never
  -     need to call directly.</p>
  +     <p>Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to
  +      instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}. The XSLTProcessor interface defines the 
  +      XSLT processor API. You should never need to call the underlying implementation 
  +      ({@link org.apache.xalan.xslt.XSLTEngineImpl}) directly.</p>
  +      
  +      <p>Instantiate {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and the XSL
  +      stylesheet, and an {@link org.apache.xalan.xslt.XSLTResultTarget} object for the transformation output. 
  +      You may construct these objects with a variety of containers/formats, including files or URLs, character
  +      streams,byte streams, SAX input streams or document handlers, and a DOM tree.</p>
  +      <p>As a general rule, use the XSLTProcessor process method to perform a transformation, thereby filling the
  +      XSLTResultTarget object. For repeated transformations, to gather information from the stylesheet before you
  +      perform the transformation, or to set up the processor to function as a SAX document handler, use the
  +       XSLTProcessor processStylesheet method to compile the XSL stylesheet, which returns a 
  +       {@link org.apache.xalan.xslt.StylesheetRoot} object with (for convenience) its own process method.</p>
      </s2>
   </s1>
  
  
  
  1.2       +49 -24    xml-xalan/xdocs/sources/xalan/org-apache-xalan-xslt-trace.xml
  
  Index: org-apache-xalan-xslt-trace.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/org-apache-xalan-xslt-trace.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- org-apache-xalan-xslt-trace.xml	2000/02/04 14:39:50	1.1
  +++ org-apache-xalan-xslt-trace.xml	2000/02/17 12:51:17	1.2
  @@ -57,31 +57,56 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    -->
  -   <s1 title="org.apache.xalan.xslt.trace package">
  +<s1 title="org.apache.xalan.xslt.trace package">
     <s2 title="Summary">
  -     <p>Contains a debugging interface for Xalan.</p>
  +     <p>Contains a debugging interface for &xslt4j;.</p>
      </s2>     
  -     <s2 title="Description">
  -     <p>Xalan contains a debugger interface in the org.apache.xalan.xslt.trace package. This
  -		   should be looked upon as a work in progress, possibly to be replaced by a more 
  -		   standard interface in the future. The source code information given is 
  -		   somewhat limited by what the SAX interface provides... the line and column numbers 
  -		   at the *end* of the event. I'll have to work on obtaining the character selection 
  -		   of the executing event. Also, at this time there is no source tree line information 
  -		   available.  Again, I'll be working on this. The interfaces are:</p> 
  -		<ul>
  -		  <li>TraceListener is an interface that debuggers 
  -		  can implement. The interface can be set on the XSLTProcessor by calling the addTraceListener() function.<br/><br/></li>
  -		  <li>PrintTraceListener is an implementation of 
  -		  the TraceListener interface that is used by Xalan for the -TT, TG, and -TTC 
  -		  switches.  It's code is a good example to look at when figuring out how to 
  -		  use the trace functionality.<br/><br/></li>
  -		  <li>TracerEvent is an event that is 
  -		  passed to the TraceListener.trace() function.  It is called before a node is 'executed' 
  -		  in the stylesheet.<br/><br/></li>
  -		  <li>GenerateEvent is an event that is 
  -		  passed to the TraceListener.generated() function. It is called after an event 
  -		  occurs to create something in the result tree.<br/><br/></li>
  +   <s2 title="Description">
  +     	<ul>
  +		  <li>{@link org.apache.xalan.xslt.trace.TraceListener} is an interface that debuggers 
  +		  can implement. The interface can be set on the {@link org.apache.xalan.xslt.XSLTProcessor}
  +      by calling the addTraceListener function.<br/><br/></li>
  +		  <li>{@link org.apache.xalan.xslt.trace.PrintTraceListener} is an implementation of 
  +		  the TraceListener interface that is used by the &xslt4j; command-line utility
  +      for the -TT, TG, and -TTC flags. You can examine the utility code ({@link org.apache.xalan.xslt.Process})
  +      for examples of how you might use the trace functionality.<br/><br/></li>
  +		  <li>{@link org.apache.xalan.xslt.traceTracerEvent} is an event that is passed to the
  +       TraceListener trace function. It is called before a node is 'executed' in the stylesheet.<br/><br/></li>
  +		  <li>{@link org.apache.xalan.xslt.trace.GenerateEvent} is an event that is passed to the TraceListener.generated()
  +       function. It is called after an event creating something in the result tree occurs.<br/><br/></li>
   		</ul>
  -   </s2>
  +    </s2>
  +    <s2 title="Example">
  +<source>import org.apache.xalan.xslt.XSLTProcessor;
  +import org.apache.xalan.xslt.trace.PrintTraceListener;
  +...
  +// Set up a PrintTraceListener object to print to a file.
  +java.io.FileWriter fw = new java.io.FileWriter("events.log");
  +java.io.PrintWriter pw = new java.io.PrintWriter(fw);
  +PrintTraceListener ptl = new PrintTraceListener(pw);
  +
  +// Print information as each node is 'executed' in the stylesheet.
  +ptl.m_traceElements = true;
  +// Print information after each result-tree generation event.
  +ptl.m_traceGeneration = true;
  +// Print information after each selection event.
  +ptl.m_traceSelection = true;
  +// Print information whenever a template is invoked.
  +ptl.m_traceTemplates = true;
  +
  +// Register the PrintTraceListener with the XSLTProcessor.
  +XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
  +processor.addTraceListener(ptl);
  +
  +...
  +// Perform the transformation -- printing information to 
  +// events.log during the process.
  +processor.process(new XSLTInputSource("foo.xml"),
  +                  new XSLTInputSource("foo.xsl"),
  +                  new XSLTResultTarget("foo.out"));
  +...
  +// Close the PrintWriter and FileWriter.
  +pw.close();
  +fw.close();</source>
  + </s2>
   </s1>
  
  
  
  1.2       +4 -2      xml-xalan/xdocs/sources/xalan/org-apache-xalan-xslt-extensions.xml
  
  Index: org-apache-xalan-xslt-extensions.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/org-apache-xalan-xslt-extensions.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- org-apache-xalan-xslt-extensions.xml	2000/02/04 14:39:50	1.1
  +++ org-apache-xalan-xslt-extensions.xml	2000/02/17 12:51:18	1.2
  @@ -59,9 +59,11 @@
    -->
      <s1 title="org.apache.xalan.xslt.extensions package">
     <s2 title="Summary">
  -     <p>Extensions to standard XSLT functionality.</p>
  +     <p>&xslt4j; supports the creation and use of extension elements and extension functions, which may be implemented in Java,
  +      JavaScript, or another scripting language.</p>
      </s2>     
        <s2 title="Description">
  -     <p></p>
  +     <p>This package includes our own proprietary extensions. For more information on extensions, see 
  +     <resource-ref idref="ext_fr_jindex_o_a_x_x_ext"/>.</p>
      </s2>
   </s1>
  
  
  
  1.2       +18 -6     xml-xalan/xdocs/sources/xalan/org-apache-xalan-xpath-xml.xml
  
  Index: org-apache-xalan-xpath-xml.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/org-apache-xalan-xpath-xml.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- org-apache-xalan-xpath-xml.xml	2000/02/04 14:39:50	1.1
  +++ org-apache-xalan-xpath-xml.xml	2000/02/17 12:51:18	1.2
  @@ -60,13 +60,25 @@
   
   <s1 title="org.apache.xalan.xpath.xml package">
     <s2 title="Summary">
  -     <p>XMLParserLiaison provides a liaison between the XSLT processor and an XML parser. </p>
  +     <p>The infrastructure for working with an XML parser.</p>
      </s2>     
        <s2 title="Description">
  -     <p>Unless you specify an XML parser and your own
  -     implementation of the XMLParserLiaison interface, Xalan uses XMLParserLiaisonDefault to
  -     interface the XML4J parser. This package also includes four implementations of the 
  -     FormatterListener interface, a SAX-based formatter interface for the XSL processor: the FormatterToDOM, the
  -     FormatterToXML, the FormatterToHTML (an extension of FormatterToXML), and the FormatterToText.</p>
  +      <p>An implementation of the {@link org.apache.xalan.xpath.xml.XMLParserLiaison} interface provides a liaison
  +     between the XSLT processor and an XML parser. Unless you specify an XML parser and your own implementation of 
  +     the XMLParserLiaison interface, &xslt4j; uses one of the following extensions of the 
  +     {@link org.apache.xalan.xpath.xml.XMLParserLiaisonDefault}:</p>
  +     <ul>
  +     <li>{@link org.apache.xalan.xpath.dtm.DTMLiaison org.apache.xalan.xpath.dtm.DTMLiaison} for the DTM XML Parser</li>
  +     <li>{@link org.apache.xalan.xpath.xdom.XercesLiaison org.apache.xalan.xpath.xdom.XercesLiaison} for the Xerces XML
  +      Parser</li>
  +     </ul>  
  +     <p>This package also includes four implementations of the <resource-ref idref="SAX"/> <resource-ref
  +      idref="SAXDocumentHandler"/> interface:</p>
  +     <ul>
  +     <li>{@link org.apache.xalan.xpath.xml.FormatterToDOM}</li>
  +     <li>{@link org.apache.xalan.xpath.xml.FormatterToXML}</li>
  +     <li>{@link org.apache.xalan.xpath.xml.FormatterToHTML} (an extension of FormatterToXML)</li>
  +     <li>{@link org.apache.xalan.xpath.xml.FormatterToText}</li>
  +     </ul>
      </s2>
   </s1>
  
  
  
  1.2       +4 -1      xml-xalan/xdocs/sources/xalan/org-apache-xalan-xpath-xdom.xml
  
  Index: org-apache-xalan-xpath-xdom.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/org-apache-xalan-xpath-xdom.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- org-apache-xalan-xpath-xdom.xml	2000/02/04 14:39:50	1.1
  +++ org-apache-xalan-xpath-xdom.xml	2000/02/17 12:51:18	1.2
  @@ -62,6 +62,9 @@
        <p>Contains XercesLiaison, liaison to the Xerces XML parser.</p>
      </s2>     
      <s2 title="Description">
  -     <p></p>
  +     <p>XercesLiaison extends {@link org.apache.xalan.xpath.xml.XMLParserLiaisonDefault}, an implementation
  +     of the {@link org.apache.xalan.xpath.xml.XMLParserLiaison} interface.</p>
  +     <p><em>See Also:</em></p>
  +     <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{@link org.apache.xalan.xpath.dtm.DTMLiaison}</p>
      </s2>
   </s1> 
  
  
  
  1.2       +18 -10    xml-xalan/xdocs/sources/xalan/org-apache-xalan-xpath-dtm.xml
  
  Index: org-apache-xalan-xpath-dtm.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/org-apache-xalan-xpath-dtm.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- org-apache-xalan-xpath-dtm.xml	2000/02/04 14:39:50	1.1
  +++ org-apache-xalan-xpath-dtm.xml	2000/02/17 12:51:18	1.2
  @@ -59,17 +59,25 @@
    -->
   <s1 title="org.apache.xalan.xpath.dtm package">
     <s2 title="Summary">
  -     <p>Implements a pseudo-DOM that provides significant performance enhancements.</p>
  +     <p>Implements a pseudo-DOM Liaison and XML parser that provides significant performance enhancements.</p>
      </s2>
      <s2 title="Description">
  -     <p>DOM (Document Object Model) is a standard interface for interacting with XML documents. Xalan
  -     supports this interface: when you provide a Node as input for an XML source document or XSL 
  -     stylesheet, Xalan uses an implementation of the DOM interface. For large XML documents, however,
  -     this may involve considerable overhead, since Xalan must create one or more Java objects for each Node
  -     in the document.</p>
  -     <p>For those cases where you provide a URL or character stream as input and use the default XML parser
  -     (Xerces) Xalan avoids this overhead by implementing what we call a DTM (Document Table Model), a
  -     pseudo-DOM that uses integer arrays in place of the DOM. The performance improvements are very
  -     significant.</p>
  +     <p>DOM (Document Object Model) is a standard interface for interacting with XML documents. Xalan fully
  +     supports this interface. For large XML documents, however, this may involve considerable overhead, since Xalan 
  +     must create one or more Java objects for each Node in the document.</p>
  +     <p>For those cases where you provide a file or URL, character stream, byte stream or SAX input stream as input
  +      and use the default Liaison {@link org.apache.xalan.xpath.dtm.DTMLiaison} and XML parser 
  +      {@link orglapache.xalan.xpath.dtm.DTM}, Xalan avoids this overhead by implementing a pseudo-DOM that uses
  +      integer arrays in place of the DOM. The performance improvements amay be very significant.</p>
  +      </s2>
  +      <s2 title="Usage">
  +      <p>To use the high performance DTMLiaison and parser, instantiate the {@link org.apache.xalan.xslt.XSLTProcessor} as
  +      follows:</p>
  +      <p><code>org.apache.xalan.xslt.XSLTProcessor xsltProc = org.apache.xalan.xslt.XSLTProcessorFactory.getProcessor();
  +      </code></p>
  +      <p>When your are providing input in the form of a DOM Node, instantiate the XSLTProcessor to use 
  +      {@link org.apache.xalan.xpath.xdom.XercesLiaison} and the Xerces DOM parser:</p>
  +      <p><code>org.apache.xalan.xsltXSLT.Processor xsltProc = org.apache.xalan.xslt.XSLTProcessorFactory.getProcessor(</code><br/>
  +      <code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new org.apache.xalan.xpath.xdom.XercesLiaison());</code></p>
   	 </s2>
   </s1>
  
  
  
  1.2       +39 -18    xml-xalan/xdocs/sources/xalan/javadocOverview.xml
  
  Index: javadocOverview.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/xdocs/sources/xalan/javadocOverview.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- javadocOverview.xml	2000/02/04 14:39:50	1.1
  +++ javadocOverview.xml	2000/02/17 12:51:18	1.2
  @@ -59,23 +59,44 @@
    -->
   <s1 title="API Overview">
   
  -    <s2 title="API Summary">
  -    <p>&xslt4j; implements the <resource-ref idref="xsl-draft-used"/>. XLST is a language for transforming XML documents 
  -    into other XML documents, HTML documents, or other document types. XSLT includes the XML XSLT vocabulary and 
  -    XPath, a language for addressing parts of an XML document. XPath is
  -    designed to be used by both XSLT and XPointer. An XSLT stylesheet describes how to transform a tree of nodes representing
  -    a range of XML documents into another XML tree of nodes.</p>
  -    <p>&xslt4j; takes as primary input an XML source document and an XSL stylesheet. The XML document and the XSL stylesheet
  -    may be a URL or file, a character stream, an input stream, or a DOM tree. The stylesheet may also take the form of a
  -    compiled stylesheet. If the XML document contains a stylesheet Processing Instruction (PI), a separate stylesheet is not
  -    required.</p>
  -    <p>&xslt4j; uses an implementation of the <resource-ref idref="XMLParserLiaisonDoc"/> to interact with XML4J (or another
  -     XML parsser) and sends output events to a <resource-ref idref="FormatterListenerDoc"/>, an extension of
  -     <resource-ref idref="SAX"/> <resource-ref idref="SAXDocumentHandler"/>.</p>
  -     <p>The XSLT and XPath engines are independent from any given DOM or XML implementation. All parser-dependent calls are
  -     funneled through the XMLParserLiaison.</p>
  -     <p>For an introduction to the use of &xslt4j; to transform XML documents, see <jump href="../api.html">
  -     API Overview</jump>.</p>
  -     </s2>
  +  <s2 title="API Summary">
  +    <p>&xslt4j; implements the <resource-ref idref="xsl-draft-used"/>.</p>
  +  </s2>
  +  <s2 title="Description">
  +    <p>XLST is a stylesheet language for transforming XML documents into other XML documents, HTML documents, 
  +    or other document types. The language includes the XSL Transformation vocabulary and XPath, a language for
  +    addressing parts of an XML document. An XSLT stylesheet describes how to transform the tree of nodes in the XML
  +    input into another tree of nodes.</p>
  +    <p><em>Basic procedure for performing transformations:</em></p>
  +    <ol>
  +      <li>Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to
  +      instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}.<br/><br/>
  +       By default, the XSLTProcessor uses the {@link org.apache.xalan.xpath.dtm.DTMLiaison} and the
  +       high-performance <resource-ref idref="dtm_fr_jindex"/> "pseudo" DOM parser to process the input.  If your input is a
  +       DOM node (rather than a file, character stream, byte stream, or SAX input stream), you must use a "standard"
  +       DOM liaison and parser, such as the {@link org.apache.xalan.xpath.xdom.XercesLiaison XercesLiaison} and 
  +       the Xerces DOM parser.<br/><br/>
  +       The XSLT and XPath engines are independent from any given DOM or XML implementation. All parser-dependent
  +       calls are funneled through the XMLParserLiaison.<br/><br/></li>     
  +       <li>Set up {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and XSL stylesheet. 
  +       You can use a file name or URL, character stream, byte stream, or SAX input stream to instantiate an
  +       XSLTInputSource object.<br/><br/>
  +       If the XML document contains a stylesheet Processing Instruction (PI), you do not need to create a separate
  +       XSLTInputSource object for an XSL stylesheet.<br/><br/>
  +       <em>Note:</em> For improved performance with a series of transformations, use the XSLTProcessor
  +       processStylesheet method to compile the XSL stylesheet (the result is a 
  +       {@link org.apache.xalan.xslt.StylesheetRoot}. This is also useful when you need to get information from the
  +       stylesheet before the tranformation occurs. You also must compile the stylesheet if you are using the
  +        XSLTProcessor as a SAX document handler.<br/><br/></li>
  +       <li>Set up an {@link org.apache.xalan.xslt.XSLTResultTarget} for the transformation output. You can use a
  +       file name or URL, character stream, byte stream, or SAX document handler to instantiate an XSLTOutputTarget
  +       object.<br/><br/></li>
  +       <li>Use the XSLTProcessor (or, in some cases, the (@link org.apache.xalan.xslt.StylesheetRoot} process
  +        method to perform the transformation.<br/><br/>
  +        &xslt4j; is thread-safe for one instance per thread. If you are using the same instance of XSLTProcessor to
  +         perform more than one transformation, call the reset method between transformations.</li>
  +    </ol>
  +    <p>For an introduction to basic usage patterns, see <resource-ref idref="usagepatterns_fr_jindex"/>.</p>
  +  </s2>
   
   </s1>