You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by jk...@apache.org on 2023/10/17 20:47:52 UTC

[xalan-java] 03/06: Late change: Fix xhtml errors

This is an automated email from the ASF dual-hosted git repository.

jkesselm pushed a commit to branch maven-build
in repository https://gitbox.apache.org/repos/asf/xalan-java.git

commit ff6e9e321dc346bf51133c1c8d4245c0c89276e2
Author: kubycsolutions <ke...@kubyc.solutions>
AuthorDate: Sat Oct 14 18:50:12 2023 -0400

    Late change: Fix xhtml errors
---
 .../xhtml/AppletXMLtoHTML/appletXMLtoHTML.xhtml    |  14 +-
 .../src/site/xhtml/CompiledEJB/bottom_frame.xhtml  |   3 +-
 samples/src/site/xhtml/CompiledEJB/index.xhtml     |   4 +-
 xalan/src/site/xhtml/design2_0_0.xhtml             | 452 ++++++++++-----------
 xalan/src/site/xhtml/javadocOverview.xhtml         |   4 +-
 5 files changed, 237 insertions(+), 240 deletions(-)

diff --git a/samples/src/site/xhtml/AppletXMLtoHTML/appletXMLtoHTML.xhtml b/samples/src/site/xhtml/AppletXMLtoHTML/appletXMLtoHTML.xhtml
index 396855ed..6944d724 100644
--- a/samples/src/site/xhtml/AppletXMLtoHTML/appletXMLtoHTML.xhtml
+++ b/samples/src/site/xhtml/AppletXMLtoHTML/appletXMLtoHTML.xhtml
@@ -21,14 +21,14 @@
 <head>
 	<title>Using an applet to perform XSL transformations</title>
 </head>
-  <FRAMESET ROWS="125,*" >
-    <FRAME NAME="processor" SRC="client.html" SCROLLING="auto" >
+  <frameset ROWS="125,*" >
+    <frame NAME="processor" SRC="client.html" SCROLLING="auto" >
       <frameset cols="33%, 33%, *">
-        <FRAME NAME="targetArea0" SRC="target.html" />
-        <FRAME NAME="targetArea1" SRC="target.html" />
-        <FRAME NAME="targetArea2" SRC="target.html" />        
+        <frame NAME="targetArea0" SRC="target.html" />
+        <frame NAME="targetArea1" SRC="target.html" />
+        <frame NAME="targetArea2" SRC="target.html" />        
       </frameset>
-      </FRAME>
-  </FRAMESET>
+      </frame>
+  </frameset>
 
 </html>
diff --git a/samples/src/site/xhtml/CompiledEJB/bottom_frame.xhtml b/samples/src/site/xhtml/CompiledEJB/bottom_frame.xhtml
index aed0ae08..3fdbdf42 100644
--- a/samples/src/site/xhtml/CompiledEJB/bottom_frame.xhtml
+++ b/samples/src/site/xhtml/CompiledEJB/bottom_frame.xhtml
@@ -17,8 +17,7 @@
 -->
 <html>
   <head></head>
-  <body>
-    <backgroundcolor>#ffffff</backgroundcolor>
+  <body style="backgroundcolor:#ffffff;">
   </body>
 </html>
 
diff --git a/samples/src/site/xhtml/CompiledEJB/index.xhtml b/samples/src/site/xhtml/CompiledEJB/index.xhtml
index e04741a3..a8f2d8a7 100644
--- a/samples/src/site/xhtml/CompiledEJB/index.xhtml
+++ b/samples/src/site/xhtml/CompiledEJB/index.xhtml
@@ -17,9 +17,7 @@
 -->
 <html>
   <head><title>XML Technology Center</title></head>
-    <backgroundcolor>#ffffff</backgroundcolor>
-
-    <frameset border="0" rows="30%,70%">
+    <frameset border="0" rows="30%,70%" style="backgroundcolor:#ffffff;">
       <frame src="top_frame.html" NAME="top" scrolling="off"/>
       <frame src="bottom_frame.html" NAME="bottom" scrolling="on"/>
     </frameset>
diff --git a/xalan/src/site/xhtml/design2_0_0.xhtml b/xalan/src/site/xhtml/design2_0_0.xhtml
index 008bf214..6869f0f8 100644
--- a/xalan/src/site/xhtml/design2_0_0.xhtml
+++ b/xalan/src/site/xhtml/design2_0_0.xhtml
@@ -1,277 +1,277 @@
-<HTML><HEAD><TITLE>Xalan-J 2.0 Design</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><H1><A href="http://xml.apache.org"><IMG alt="" src="images/xmllogo.gif"/></A>&nbsp;&nbsp;
-         Xalan-J 2.0 Design</H1><HR/>
-  <P></P>
-  <P>Author: Scott Boag<BR/>State: In Progress</P>
-  <UL> 
-	   <LI><A href="#intro">Introduction</A></LI>
- 	   <LI><A href="#requirements">Xalan Requirements</A></LI>
-	   <LI><A href="#overarch">Overview of Architecture</A></LI>
-	   <LI><A href="#process">Process Module</A></LI>
-	   <LI><A href="#templates">Templates Module</A></LI>
-	   <LI><A href="#transformer">Transformer Module</A></LI>
-       <UL>
-         <LI><A href="#stree">Stree Module</A></LI>
-         <LI><A href="#extensions">Extensions Module</A></LI>
-     </UL>
-	   <LI><A href="#xpath">XPath Module</A></LI>
-       <UL><LI><A href="#xpathdbconn">XPath Database Connection</A></LI></UL>
-	   <LI><A href="#utils">Utils Package</A></LI>         
-	   <LI><A href="#other">Other Packages</A></LI>         
-	   <LI><A href="#compilation">Xalan Stylesheet Complilation to Java</A></LI><LI><A href="#optimizations">Future Optimizations</A></LI><LI><A href="#coding">Coding Conventions</A></LI>
+<html><head><title>Xalan-J 2.0 Design</title></head><body alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><h1><a href="http://xml.apache.org"><img alt="" src="images/xmllogo.gif"/></a>&nbsp;&nbsp;
+         Xalan-J 2.0 Design</h1><hr/>
+  <p></p>
+  <p>Author: Scott Boag<br/>State: In Progress</p>
+  <ul> 
+	   <li><a href="#intro">Introduction</a></li>
+ 	   <li><a href="#requirements">Xalan Requirements</a></li>
+	   <li><a href="#overarch">Overview of Architecture</a></li>
+	   <li><a href="#process">Process Module</a></li>
+	   <li><a href="#templates">Templates Module</a></li>
+	   <li><a href="#transformer">Transformer Module</a></li>
+       <ul>
+         <li><a href="#stree">Stree Module</a></li>
+         <li><a href="#extensions">Extensions Module</a></li>
+     </ul>
+	   <li><a href="#xpath">XPath Module</a></li>
+       <ul><li><a href="#xpathdbconn">XPath Database Connection</a></li></ul>
+	   <li><a href="#utils">Utils Package</a></li>         
+	   <li><a href="#other">Other Packages</a></li>         
+	   <li><a href="#compilation">Xalan Stylesheet Complilation to Java</a></li><li><a href="#optimizations">Future Optimizations</a></li><li><a href="#coding">Coding Conventions</a></li>
 	        
-   <LI><A href="../apidocs/index.html">Xalan-J 2.0 Javadoc</A></LI>
-  </UL><A name="intro"><!--anchor--></A>
-  <H2>Introduction</H2> 
-	 <P>This document presents the basic design for Xalan-J 2.0, which is a
-		<A href="http://www.awl.com/cseng/titles/0-201-89542-0/techniques/refactoring.htm">refactoring</A>
-		and redesign of the Xalan-J 1.x processor.   This document will expand and grow over time, and is also incomplete in some sections, though hopefully overall accurate.  The reader should be able to get a good overall idea of the internal design of Xalan, and begin to understand the process flow, and also the technical challenges.</P> 
-	 <P>The main goals of this redesign are
-		to: </P><OL> 
-		<LI>Make the design and code more understandable by Open Source
-		  people.</LI> 
-		<LI>Reduce code size and complexity.</LI>
-		<LI>By simplifying the code, make optimization easier.</LI> 
-		<LI>Make modules generally more localized, and less tangled with other
-		  modules.</LI> 
-		<LI>Conform to the <A href="http://java.sun.com/aboutJava/communityprocess/jsr/jsr_063_jaxp11.html">javax.xml.transform  (TrAX [Transformations for XML])</A> interfaces.</LI> 
-	 <LI>Increase the ability to incrementally produce the result tree.</LI></OL> 
-	 <P>The techniques used toward these goals are to:</P> 
-	 <OL> 
-		<LI>In general, flatten the hierarchy of packages, in order to make the
-		  structure more apparent from the top-level view.</LI> 
-		<LI>Break the construction and the validation of the XSLT stylesheet from
-		  the stylesheet objects themselves.</LI>
-		<LI>Drive the construction of the stylesheet through a table, so that it
-		  is less prone to error.</LI> 
-		<LI>Break the transformation process into a separate package, away from
-		  the stylesheet objects.</LI> 
-		<LI>Create this design document, as a starting point for people interested in
-		  approaching the code.</LI> 
-	 </OL> 
-	 <P>The goals are not:</P> 
-	 <OL> 
-		<LI>To add more features in the progress of this refactoring. This is
-		  design and code clean-up in order to meet the above-named goals. We expect that it will be <B>much</B> easier to add
-		  features once this work is completed.</LI> 
-		<LI>To optimize code for the sake of optimization. However, we
-		  expect that the code will be faster once this work is complete.</LI> 
-	 </OL> 
-	 <P>How well we've achieved the goals will be measured by feedback from the
-		<A href="http://marc.info/?l=xalan-dev">Xalan-dev</A> list, and by software metrics tools.</P> 
-	 <P>Please note that the diagrams in this design document are meant to be
-		useful abstractions, and may not always be exact.</P> 
-  <A name="requirements"><!--anchor--></A> 
-  <H2>Xalan Requirements</H2>
-  <P>These are the concrete general requirements of Xalan, as I understand them, and covering both the Java and C++ versions.  These requirements have been built up over time by experience with product groups and general users.</P><OL><LI>Java, C++ Versions.</LI><LI>XSLT 1.0 conformance, and beyond. (i.e. conform to the current W3C recommendation).</LI><LI>Have design and Code understandable by Open Source Community.</LI><LI>Ability to interoperate with standard APIs.  (SAX2, DOM2, JAXP) [...]
-  <H2>Overview of Architecture</H2> 
-	 <P>The following diagram shows the XSLT abstract processing model.  A transformation expressed in XSLT describes rules for transforming a <A href="http://www.w3.org/TR/xpath#data-model">Source Tree </A> into a result tree. The transformation is achieved by associating patterns with templates. A pattern is matched against elements in the source tree. A template is instantiated to create part of the result tree. The result tree is separate from the source tree. The structure of the resul [...]
+   <li><a href="../apidocs/index.html">Xalan-J 2.0 Javadoc</a></li>
+  </ul><a name="intro"><!--anchor--></a>
+  <h2>Introduction</h2> 
+	 <p>This document presents the basic design for Xalan-J 2.0, which is a
+		<a href="http://www.awl.com/cseng/titles/0-201-89542-0/techniques/refactoring.htm">refactoring</a>
+		and redesign of the Xalan-J 1.x processor.   This document will expand and grow over time, and is also incomplete in some sections, though hopefully overall accurate.  The reader should be able to get a good overall idea of the internal design of Xalan, and begin to understand the process flow, and also the technical challenges.</p> 
+	 <p>The main goals of this redesign are
+		to: </p><ol> 
+		<li>Make the design and code more understandable by Open Source
+		  people.</li> 
+		<li>Reduce code size and complexity.</li>
+		<li>By simplifying the code, make optimization easier.</li> 
+		<li>Make modules generally more localized, and less tangled with other
+		  modules.</li> 
+		<li>Conform to the <a href="http://java.sun.com/aboutJava/communityprocess/jsr/jsr_063_jaxp11.html">javax.xml.transform  (TrAX [Transformations for XML])</a> interfaces.</li> 
+	 <li>Increase the ability to incrementally produce the result tree.</li></ol> 
+	 <p>The techniques used toward these goals are to:</p> 
+	 <ol> 
+		<li>In general, flatten the hierarchy of packages, in order to make the
+		  structure more apparent from the top-level view.</li> 
+		<li>Break the construction and the validation of the XSLT stylesheet from
+		  the stylesheet objects themselves.</li>
+		<li>Drive the construction of the stylesheet through a table, so that it
+		  is less prone to error.</li> 
+		<li>Break the transformation process into a separate package, away from
+		  the stylesheet objects.</li> 
+		<li>Create this design document, as a starting point for people interested in
+		  approaching the code.</li> 
+	 </ol> 
+	 <p>The goals are not:</p> 
+	 <ol> 
+		<li>To add more features in the progress of this refactoring. This is
+		  design and code clean-up in order to meet the above-named goals. We expect that it will be <b>much</b> easier to add
+		  features once this work is completed.</li> 
+		<li>To optimize code for the sake of optimization. However, we
+		  expect that the code will be faster once this work is complete.</li> 
+	 </ol> 
+	 <p>How well we've achieved the goals will be measured by feedback from the
+		<a href="http://marc.info/?l=xalan-dev">Xalan-dev</a> list, and by software metrics tools.</p> 
+	 <p>Please note that the diagrams in this design document are meant to be
+		useful abstractions, and may not always be exact.</p> 
+  <a name="requirements"><!--anchor--></a> 
+  <h2>Xalan Requirements</h2>
+  <p>These are the concrete general requirements of Xalan, as I understand them, and covering both the Java and C++ versions.  These requirements have been built up over time by experience with product groups and general users.</p><ol><li>Java, C++ Versions.</li><li>XSLT 1.0 conformance, and beyond. (i.e. conform to the current W3C recommendation).</li><li>Have design and Code understandable by Open Source Community.</li><li>Ability to interoperate with standard APIs.  (SAX2, DOM2, JAXP) [...]
+  <h2>Overview of Architecture</h2> 
+	 <p>The following diagram shows the XSLT abstract processing model.  A transformation expressed in XSLT describes rules for transforming a <a href="http://www.w3.org/TR/xpath#data-model">Source Tree </a> into a result tree. The transformation is achieved by associating patterns with templates. A pattern is matched against elements in the source tree. A template is instantiated to create part of the result tree. The result tree is separate from the source tree. The structure of the resul [...]
 
-</P><P>The term &quot;tree&quot;, as used within this document, describes an
+</p><p>The term &quot;tree&quot;, as used within this document, describes an
 			 abstract structure that consists of nodes or events that may be produced by
 			 XML. A Tree physically may be a DOM tree, a series of well balanced parse
 			 events (such as those coming from a SAX2 ContentHander), a series of requests
 			 (the result of which can describe a tree), or a stream of marked-up
-			 characters.</P><P><CENTER><IMG alt="xslt_abstract.gif" src="images/xslt_abstract.gif"/></CENTER></P><P>The primary interface for Xalan 2.0 external usage is defined in the <A href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</A> interfaces.  These interfaces define a standard and powerful interface to perform tree-based transformations.</P> 
-	 <P>The internal architecture of Xalan 2.0 is divided into four major modules, and various smaller
-		modules. The main modules are:</P> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</A></DT> 
-		<DD>The module that processes the stylesheet, and provides the main
-		  entry point into Xalan.</DD> 
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</A></DT> 
-		<DD>The module that defines the stylesheet structures, including the
+			 characters.</p><p><center><img alt="xslt_abstract.gif" src="images/xslt_abstract.gif"/></center></p><p>The primary interface for Xalan 2.0 external usage is defined in the <a href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</a> interfaces.  These interfaces define a standard and powerful interface to perform tree-based transformations.</p> 
+	 <p>The internal architecture of Xalan 2.0 is divided into four major modules, and various smaller
+		modules. The main modules are:</p> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</a></dt> 
+		<dd>The module that processes the stylesheet, and provides the main
+		  entry point into Xalan.</dd> 
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</a></dt> 
+		<dd>The module that defines the stylesheet structures, including the
 		  Stylesheet object, template element instructions, and Attribute Value
-		  Templates. </DD> 
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/transformer/package-summary.html">org.apache.xalan.transformer</A></DT> 
-		<DD>The module that applies the source tree to the Templates, and
-		  produces a result tree.</DD> 
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xpath/package-summary.html">org.apache.xpath</A></DT> 
-		<DD>The module that processes both XPath expressions, and XSLT Match
-		  patterns.</DD> 
-	 </DL> 
-	 <P>In addition to the above modules, Xalan implements the
-		<A href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</A> interfaces, and depends on the
-	 <A href="http://www.megginson.com/SAX/Java/index.html">SAX2</A> and <A href="http://www.w3.org/TR/DOM-Level-2/">DOM</A> packages.
-</P><P><CENTER><IMG alt="trax.gif" src="images/trax.gif"/></CENTER></P><P>There is also a general utilities package that contains both XML utility
+		  Templates. </dd> 
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/transformer/package-summary.html">org.apache.xalan.transformer</a></dt> 
+		<dd>The module that applies the source tree to the Templates, and
+		  produces a result tree.</dd> 
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xpath/package-summary.html">org.apache.xpath</a></dt> 
+		<dd>The module that processes both XPath expressions, and XSLT Match
+		  patterns.</dd> 
+	 </dl> 
+	 <p>In addition to the above modules, Xalan implements the
+		<a href="../apidocs/javax/xml/transform/package-summary.html#package_description">javax.xml.transform</a> interfaces, and depends on the
+	 <a href="http://www.megginson.com/SAX/Java/index.html">SAX2</a> and <a href="http://www.w3.org/TR/DOM-Level-2/">DOM</a> packages.
+</p><p><center><img alt="trax.gif" src="images/trax.gif"/></center></p><p>There is also a general utilities package that contains both XML utility
 	 classes such as QName, but generally useful classes such as
-	 StringToIntTable.</P> 
-	 <P>In the diagram below, the dashed lines denote visibility. All packages
-		access the SAX2 and DOM packages.</P> 
-	 <P><CENTER><IMG alt="xalan1_1x1.gif" src="images/xalan1_1x1.gif"/></CENTER></P> 
-	 <P>In addition to the above packages, there are the following additional
-		packages:</P> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/client/package-summary.html">org.apache.xalan.client</A></DT> 
-		<DD>This package has a client applet. I suspect this should be moved
-		  into the samples directory.</DD> 
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/extensions/package-summary.html">org.apache.xalan.extensions</A></DT> 
-		<DD>This holds classes belonging to the Xalan extensions mechanism,
-		  which allows Java code and script to be called from within a stylesheet.</DD>
+	 StringToIntTable.</p> 
+	 <p>In the diagram below, the dashed lines denote visibility. All packages
+		access the SAX2 and DOM packages.</p> 
+	 <p><center><img alt="xalan1_1x1.gif" src="images/xalan1_1x1.gif"/></center></p> 
+	 <p>In addition to the above packages, there are the following additional
+		packages:</p> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/client/package-summary.html">org.apache.xalan.client</a></dt> 
+		<dd>This package has a client applet. I suspect this should be moved
+		  into the samples directory.</dd> 
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/extensions/package-summary.html">org.apache.xalan.extensions</a></dt> 
+		<dd>This holds classes belonging to the Xalan extensions mechanism,
+		  which allows Java code and script to be called from within a stylesheet.</dd>
 		
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/lib/package-summary.html">org.apache.xalan.lib</A></DT> 
-		<DD>This is the built-in Xalan extensions library, which holds
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/lib/package-summary.html">org.apache.xalan.lib</a></dt> 
+		<dd>This is the built-in Xalan extensions library, which holds
 		  extensions such as Redirect (which allows a stylesheet to produce multiple
-		  output files).</DD> 
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/res/package-summary.html">org.apache.xalan.res</A></DT> 
-		<DD>This holds resource files needed by Xalan, such as error message
-		  resources.</DD> 
-	 </DL> 
+		  output files).</dd> 
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/res/package-summary.html">org.apache.xalan.res</a></dt> 
+		<dd>This holds resource files needed by Xalan, such as error message
+		  resources.</dd> 
+	 </dl> 
 	  
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/trace/package-summary.html">org.apache.xalan.trace</A></DT> 
-		<DD>This package contains classes and interfaces that allow a caller to
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/trace/package-summary.html">org.apache.xalan.trace</a></dt> 
+		<dd>This package contains classes and interfaces that allow a caller to
 		  add trace listeners to the transformation, allowing an interface to XSLT
-		  debuggers and similar tools.</DD> 
-	 </DL> 
-	 <DL> 
-		<DT><A href="../apidocs/org/apache/xalan/xslt/package-summary.html">org.apache.xalan.xslt</A></DT> 
-		<DD>This package holds the Xalan2 command line processor.</DD> 
-	 </DL> 
-  <P>A more conceptual view of this architecture is as follows:</P><P><CENTER><IMG alt="Picture of conceptual architecture." src="images/conceptual.gif"/></CENTER></P><A name="process"><!--anchor--></A> 
-  <H2>Process Module</H2> 
-	 <P>The <A href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</A> module implements the
-		<A href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</A> interface, which provides a
+		  debuggers and similar tools.</dd> 
+	 </dl> 
+	 <dl> 
+		<dt><a href="../apidocs/org/apache/xalan/xslt/package-summary.html">org.apache.xalan.xslt</a></dt> 
+		<dd>This package holds the Xalan2 command line processor.</dd> 
+	 </dl> 
+  <p>A more conceptual view of this architecture is as follows:</p><p><center><img alt="Picture of conceptual architecture." src="images/conceptual.gif"/></center></p><a name="process"><!--anchor--></a> 
+  <h2>Process Module</h2> 
+	 <p>The <a href="../apidocs/org/apache/xalan/processor/package-summary.html">org.apache.xalan.processor</a> module implements the
+		<a href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</a> interface, which provides a
 		factory method for creating a concrete Processor instance, and provides methods
-		for creating a <A href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</A> instance, which, in
+		for creating a <a href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</a> instance, which, in
 		Xalan and XSLT terms, is the Stylesheet. Thus the task of the process module is
 		to read the XSLT input in the form of a file, stream, SAX events, or a DOM
-		tree, and produce a Templates/Stylesheet object.</P> 
-	 <P>The overall strategy is to define a schema in that dictates the legal
+		tree, and produce a Templates/Stylesheet object.</p> 
+	 <p>The overall strategy is to define a schema in that dictates the legal
 		structure for XSLT elements and attributes, and to associate with those
 		elements construction-time processors that can fill in the appropriate fields
 		in the top-level Stylesheet object, and also associate classes in the templates
 		module that can be created in a generalized fashion. This makes the validation
-		object-to-class associations centralized and declarative.</P> 
-	 <P>The schema's root class is
-		<A href="../apidocs/org/apache/xalan/processor/XSLTSchema.html">org.apache.xalan.processor.XSLTSchema</A>, and it is here that the
+		object-to-class associations centralized and declarative.</p> 
+	 <p>The schema's root class is
+		<a href="../apidocs/org/apache/xalan/processor/XSLTSchema.html">org.apache.xalan.processor.XSLTSchema</a>, and it is here that the
 		XSLT schema structure is defined. XSLTSchema uses
-		<A href="../apidocs/org/apache/xalan/processor/XSLTElementDef.html">org.apache.xalan.processor.XSLTElementDef</A> to define elements, and
-		<A href="../apidocs/org/apache/xalan/processor/XSLTAttributeDef.html">org.apache.xalan.processor.XSLTAttributeDef</A> to define attributes.
+		<a href="../apidocs/org/apache/xalan/processor/XSLTElementDef.html">org.apache.xalan.processor.XSLTElementDef</a> to define elements, and
+		<a href="../apidocs/org/apache/xalan/processor/XSLTAttributeDef.html">org.apache.xalan.processor.XSLTAttributeDef</a> to define attributes.
 		Both classes hold the allowed namespace, local name, and type of element or
 		attribute. The XSLTElementDef also holds a reference to a
-		<A href="../apidocs/org/apache/xalan/processor/XSLTElementProcessor.html">org.apache.xalan.processor.XSLTElementProcessor</A>, and a sometimes a
-		<CODE><FONT face="courier, monospaced">Class</FONT></CODE> object, with which it can create objects that derive from
-		<A href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">org.apache.xalan.templates.ElemTemplateElement</A>. In addition, the
+		<a href="../apidocs/org/apache/xalan/processor/XSLTElementProcessor.html">org.apache.xalan.processor.XSLTElementProcessor</a>, and a sometimes a
+		<code><font face="courier, monospaced">Class</font></code> object, with which it can create objects that derive from
+		<a href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">org.apache.xalan.templates.ElemTemplateElement</a>. In addition, the
 		XSLTElementDef instance holds a list of XSLTElementDef instances that define
 		legal elements or character events that are allowed as children of the given
-		element.</P> 
-	 <P>The implementation of the <A href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</A>
-		interface is in <A href="../apidocs/org/apache/xalan/processor/TransformerFactoryImpl.html">org.apache.xalan.processor.TransformerFactoryImpl</A>,
-		which creates a <A href="../apidocs/org/apache/xalan/processor/StylesheetHandler.html">org.apache.xalan.processor.StylesheetHandler</A>
+		element.</p> 
+	 <p>The implementation of the <a href="../apidocs/javax/xml/transform/TransformerFactory.html">javax.xml.transform.TransformerFactory</a>
+		interface is in <a href="../apidocs/org/apache/xalan/processor/TransformerFactoryImpl.html">org.apache.xalan.processor.TransformerFactoryImpl</a>,
+		which creates a <a href="../apidocs/org/apache/xalan/processor/StylesheetHandler.html">org.apache.xalan.processor.StylesheetHandler</a>
 		instance. This instance acts as the ContentHandler for the parse events, and is
-		handed to the <A href="../apidocs/org/xml/sax/XMLReader.html">org.xml.sax.XMLReader</A>, which the StylesheetProcessor
-		uses to parse the XSLT document. The <CODE><FONT face="courier, monospaced">StylesheetHandler</FONT></CODE> then receives the parse
+		handed to the <a href="../apidocs/org/xml/sax/XMLReader.html">org.xml.sax.XMLReader</a>, which the StylesheetProcessor
+		uses to parse the XSLT document. The <code><font face="courier, monospaced">StylesheetHandler</font></code> then receives the parse
 		events, which maintains the state of the construction, and passes the events on
-		to the appropriate <CODE><FONT face="courier, monospaced">XSLTElementProcessor</FONT></CODE> for the given event, as dictated by the
-		<CODE><FONT face="courier, monospaced">XSLTElementDef</FONT></CODE> that is associated with the given event.</P> 
-	 <A name="templates"><!--anchor--></A> 
-  <H2>Templates Module</H2> 
-	 <P>The <A href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</A> module implements the
-		<A href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</A> interface, and defines a set of
+		to the appropriate <code><font face="courier, monospaced">XSLTElementProcessor</font></code> for the given event, as dictated by the
+		<code><font face="courier, monospaced">XSLTElementDef</font></code> that is associated with the given event.</p> 
+	 <a name="templates"><!--anchor--></a> 
+  <h2>Templates Module</h2> 
+	 <p>The <a href="../apidocs/org/apache/xalan/templates/package-summary.html">org.apache.xalan.templates</a> module implements the
+		<a href="../apidocs/javax/xml/transform/Templates.html">javax.xml.transform.Templates</a> interface, and defines a set of
 		classes that represent a Stylesheet. The primary purpose of this module is to
 		hold stylesheet data, not to perform procedural tasks associated with the
 		construction of the data, nor tasks associated with the transformation itself.
-		</P> 
-	 <P>The base class of all templates objects that are associated with an XSLT element is the <A href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">ElemTemplateElement</A> object, which in turn implements <A href="../apidocs/org/apache/xml/utils/UnImplNode.html">UnImplNode</A>.  A <CODE><FONT face="courier, monospaced">ElemTemplateElement</FONT></CODE> object must be immutable once it's constructed, so that it may be shared among multiple threads concurrently.  Ideally, [...]
-		<CODE><FONT face="courier, monospaced">Templates</FONT></CODE> interface, is a type of <A href="../apidocs/org/apache/xalan/templates/StylesheetComposed.html">StylesheetComposed</A>,
-		which is a <A href="../apidocs/org/apache/xalan/templates/Stylesheet.html">Stylesheet</A> composed of itself and all included
-		<CODE><FONT face="courier, monospaced">Stylesheet</FONT></CODE> objects. A <CODE><FONT face="courier, monospaced">StylesheetRoot</FONT></CODE> has a global
-		imports list, which is a list of all imported <CODE><FONT face="courier, monospaced">StylesheetComposed</FONT></CODE>
-		instances. From each <CODE><FONT face="courier, monospaced">StylesheetComposed</FONT></CODE> object, one can iterate
-		through the list of directly or indirectly included <CODE><FONT face="courier, monospaced">Stylesheet</FONT></CODE>
+		</p> 
+	 <p>The base class of all templates objects that are associated with an XSLT element is the <a href="../apidocs/org/apache/xalan/templates/ElemTemplateElement.html">ElemTemplateElement</a> object, which in turn implements <a href="../apidocs/org/apache/xml/utils/UnImplNode.html">UnImplNode</a>.  A <code><font face="courier, monospaced">ElemTemplateElement</font></code> object must be immutable once it's constructed, so that it may be shared among multiple threads concurrently.  Ideally, [...]
+		<code><font face="courier, monospaced">Templates</font></code> interface, is a type of <a href="../apidocs/org/apache/xalan/templates/StylesheetComposed.html">StylesheetComposed</a>,
+		which is a <a href="../apidocs/org/apache/xalan/templates/Stylesheet.html">Stylesheet</a> composed of itself and all included
+		<code><font face="courier, monospaced">Stylesheet</font></code> objects. A <code><font face="courier, monospaced">StylesheetRoot</font></code> has a global
+		imports list, which is a list of all imported <code><font face="courier, monospaced">StylesheetComposed</font></code>
+		instances. From each <code><font face="courier, monospaced">StylesheetComposed</font></code> object, one can iterate
+		through the list of directly or indirectly included <code><font face="courier, monospaced">Stylesheet</font></code>
 		objects, and one call also iterate through the list of all
-		<CODE><FONT face="courier, monospaced">StylesheetComposed</FONT></CODE> objects of lesser import precedence.
-		<CODE><FONT face="courier, monospaced">StylesheetRoot</FONT></CODE> is a <CODE><FONT face="courier, monospaced">StylesheetComposed</FONT></CODE>, which is a
-		<CODE><FONT face="courier, monospaced">Stylesheet</FONT></CODE>.</P> 
-	 <P>Each stylesheet has a set of properties, which can be set by various
+		<code><font face="courier, monospaced">StylesheetComposed</font></code> objects of lesser import precedence.
+		<code><font face="courier, monospaced">StylesheetRoot</font></code> is a <code><font face="courier, monospaced">StylesheetComposed</font></code>, which is a
+		<code><font face="courier, monospaced">Stylesheet</font></code>.</p> 
+	 <p>Each stylesheet has a set of properties, which can be set by various
 		means, usually either via an attribute on xsl:stylesheet, or via a top-level
 		xsl instruction (for instance, xsl:attribute-set). The get methods for these
-		properties only access the declaration within the given <CODE><FONT face="courier, monospaced">Stylesheet</FONT></CODE>
+		properties only access the declaration within the given <code><font face="courier, monospaced">Stylesheet</font></code>
 		object, and never takes into account included or imported stylesheets. The
-		<CODE><FONT face="courier, monospaced">StylesheetComposed</FONT></CODE> derivative object, if it is a root
-		<CODE><FONT face="courier, monospaced">Stylesheet</FONT></CODE> or imported <CODE><FONT face="courier, monospaced">Stylesheet</FONT></CODE>, has &quot;composed&quot;
+		<code><font face="courier, monospaced">StylesheetComposed</font></code> derivative object, if it is a root
+		<code><font face="courier, monospaced">Stylesheet</font></code> or imported <code><font face="courier, monospaced">Stylesheet</font></code>, has &quot;composed&quot;
 		getter methods that do take into account imported and included stylesheets, for
-		some of these properties.</P> 
+		some of these properties.</p> 
 	  
-  <A name="transformer"><!--anchor--></A> 
-  <H2>Transformer Module</H2> 
-	 <P>The <A href="../apidocs/org/apache/xalan/transformer/package-summary.html">Transformer</A> module is in charge of run-time transformations.  The <A href="../apidocs/org/apache/xalan/transformer/TransformerImpl.html">TransformerImpl</A> object, which implements the TrAX <A href="../apidocs/javax/xml/transform/Transformer.html">Transformer</A> interface, and has an association with a <A href="../apidocs/org/apache/xalan/templates/StylesheetRoot.html">StylesheetRoot</A> object, begins  [...]
-tree content handler (often a <A href="../apidocs/org/apache/xalan/serialize/package-summary.html">Serializer</A>), and the <CODE><FONT face="courier, monospaced">Transformer</FONT></CODE>.  For one thing, 
+  <a name="transformer"><!--anchor--></a> 
+  <h2>Transformer Module</h2> 
+	 <p>The <a href="../apidocs/org/apache/xalan/transformer/package-summary.html">Transformer</a> module is in charge of run-time transformations.  The <a href="../apidocs/org/apache/xalan/transformer/TransformerImpl.html">TransformerImpl</a> object, which implements the TrAX <a href="../apidocs/javax/xml/transform/Transformer.html">Transformer</a> interface, and has an association with a <a href="../apidocs/org/apache/xalan/templates/StylesheetRoot.html">StylesheetRoot</a> object, begins  [...]
+tree content handler (often a <a href="../apidocs/org/apache/xalan/serialize/package-summary.html">Serializer</a>), and the <code><font face="courier, monospaced">Transformer</font></code>.  For one thing, 
  we have to delay the call to
  startElement(name, atts) because of the
  xsl:attribute and xsl:copy calls.  In other words,
  the attributes have to be fully collected before you
- can call startElement.</P><P>Other important classes in this package are:</P><DL><DT>CountersTable and Counter</DT><DD>The <A href="../apidocs/org/apache/xalan/transformer/Counter.html">Counter</A> class does incremental counting for support of xsl:number.
+ can call startElement.</p><p>Other important classes in this package are:</p><dl><dt>CountersTable and Counter</dt><dd>The <a href="../apidocs/org/apache/xalan/transformer/Counter.html">Counter</a> class does incremental counting for support of xsl:number.
  This class stores a cache of counted nodes (m_countNodes). 
   It tries to cache the counted nodes in document order... 
- the node count is based on its position in the cache list.  The <A href="../apidocs/org/apache/xalan/transformer/CountersTable.html">CountersTable</A> class is a table of counters, keyed by <A href="../apidocs/org/apache/xalan/templates/ElemNumber.html">ElemNumber</A> objects, each 
- of which has a list of <CODE><FONT face="courier, monospaced">Counter</FONT></CODE> objects.</DD></DL><DL><DT>KeyIterator, KeyManager, and KeyTable</DT><DD>These classes handle mapping of keys declared with the xsl:key element.  They attempt to work incrementally, locating nodes on request but indexing all as they traverse the tree, and stopping when the requested node is found.  If a requested node is not found, then the entire tree will be traversed.  Such is the nature of xsl:key.</D [...]
+ the node count is based on its position in the cache list.  The <a href="../apidocs/org/apache/xalan/transformer/CountersTable.html">CountersTable</a> class is a table of counters, keyed by <a href="../apidocs/org/apache/xalan/templates/ElemNumber.html">ElemNumber</a> objects, each 
+ of which has a list of <code><font face="courier, monospaced">Counter</font></code> objects.</dd></dl><dl><dt>KeyIterator, KeyManager, and KeyTable</dt><dd>These classes handle mapping of keys declared with the xsl:key element.  They attempt to work incrementally, locating nodes on request but indexing all as they traverse the tree, and stopping when the requested node is found.  If a requested node is not found, then the entire tree will be traversed.  Such is the nature of xsl:key.</d [...]
  to get information about the state of the transform.  It 
- is primarily intended as a tooling interface.</DD></DL><P>Even though the following modules are defined in the <CODE><FONT face="courier, monospaced">org.apache.xalan</FONT></CODE> package, instead of the transformer package, they are defined in this section as they are mostly related to runtime transformation.</P><A name="stree"><!--anchor--></A>
-  <H3>Stree Module [and discussions about streaming]</H3>
-  <P>The Stree module implements the default <A href="http://www.w3.org/TR/xpath#data-model">Source Tree </A> for Xalan, that is to be transformed.  It implements read-only <A href="http://www.w3.org/TR/DOM-Level-2/">DOM2</A> interfaces, and provides some information needed for fast transforms, such as document order indexes.  It also attempts to allow an incremental transform by launching the transform on a secondary thread as soon as the SAX2 <A href="http://www.megginson.com/SAX/Java/ [...]
-<A name="serializer"><!--anchor--></A>
-<H3>Serializer Module</H3>
-<P>XML serialization is a term used for turning a tree or set of events into a stream, and should not be confused with Java object serialization.  The Xalan serializers implement the <A href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html">ContentHandler</A> to turn parser events coming from the transform, into a stream of XML, HTML, or plain text.  The serializers also implement the <A href="../apidocs/org/apache/xml/serializer/Serializer.html">Serializer</A>  [...]
-<H3>Extensions Module</H3>
-<P>This package contains an implementation of Xalan Extension Mechanism, which uses the <A href="http://oss.software.ibm.com/developerworks/opensource/bsf/">Bean Scripting Framework</A>.
+ is primarily intended as a tooling interface.</dd></dl><p>Even though the following modules are defined in the <code><font face="courier, monospaced">org.apache.xalan</font></code> package, instead of the transformer package, they are defined in this section as they are mostly related to runtime transformation.</p><a name="stree"><!--anchor--></a>
+  <h3>Stree Module [and discussions about streaming]</h3>
+  <p>The Stree module implements the default <a href="http://www.w3.org/TR/xpath#data-model">Source Tree </a> for Xalan, that is to be transformed.  It implements read-only <a href="http://www.w3.org/TR/DOM-Level-2/">DOM2</a> interfaces, and provides some information needed for fast transforms, such as document order indexes.  It also attempts to allow an incremental transform by launching the transform on a secondary thread as soon as the SAX2 <a href="http://www.megginson.com/SAX/Java/ [...]
+<a name="serializer"><!--anchor--></a>
+<h3>Serializer Module</h3>
+<p>XML serialization is a term used for turning a tree or set of events into a stream, and should not be confused with Java object serialization.  The Xalan serializers implement the <a href="http://www.megginson.com/SAX/Java/javadoc/org/xml/sax/ContentHandler.html">ContentHandler</a> to turn parser events coming from the transform, into a stream of XML, HTML, or plain text.  The serializers also implement the <a href="../apidocs/org/apache/xml/serializer/Serializer.html">Serializer</a>  [...]
+<h3>Extensions Module</h3>
+<p>This package contains an implementation of Xalan Extension Mechanism, which uses the <a href="http://oss.software.ibm.com/developerworks/opensource/bsf/">Bean Scripting Framework</a>.
 
-The Bean Scripting Framework (BSF) is an architecture for incorporating scripting into Java applications and applets.  Scripting languages such as Netscape Rhino (Javascript), VBScript, Perl, Tcl, Python, NetRexx and Rexx can be used to augment XSLT's functionality.  In addition, the Xalan extension mechanism allows use of Java classes.  See the <A href="http://xml.apache.org/xalan/extensions.html">Xalan-J 2 extension documentation</A> for a description of using extensions in a styleshee [...]
-  <H2>XPath Module</H2> 
-	 <P>This module is pulled out of the Xalan package, and put in the org.apache package, to emphasize that the intention is that this package can be used independently of the XSLT engine, even though it has dependencies on the Xalan utils module.</P><P><CENTER><IMG alt="xalan ---> xpath" src="images/org_apache.gif"/></CENTER></P> 
-  <P>The XPath module first compiles the XPath strings into expression trees, and then executes these expressions via a call to the XPath execute(...) function.  </P>  <P>Major classes are:</P><DL><DT>XPath</DT><DD>Represents a compiled XPath.  Major function is <CODE><FONT face="courier, monospaced">XObject execute(XPathContext xctxt, Node contextNode, 
-                         PrefixResolver namespaceContext)</FONT></CODE>.</DD></DL><DL><DT>XPathAPI</DT><DD>The methods in this class are convenience methods into the
- low-level XPath API.</DD></DL><DL><DT>XPathContext</DT><DD>Used as the runtime execution context for XPath.</DD></DL><DL><DT>DOMHelper</DT><DD>Used as a helper for handling DOM issues.  May be subclassed to take advantage 
-   of specific DOM implementations.</DD></DL><DL><DT>SourceTreeManager</DT><DD>bottlenecks all management of source trees.  The methods
+The Bean Scripting Framework (BSF) is an architecture for incorporating scripting into Java applications and applets.  Scripting languages such as Netscape Rhino (Javascript), VBScript, Perl, Tcl, Python, NetRexx and Rexx can be used to augment XSLT's functionality.  In addition, the Xalan extension mechanism allows use of Java classes.  See the <a href="http://xml.apache.org/xalan/extensions.html">Xalan-J 2 extension documentation</a> for a description of using extensions in a styleshee [...]
+  <h2>XPath Module</h2> 
+	 <p>This module is pulled out of the Xalan package, and put in the org.apache package, to emphasize that the intention is that this package can be used independently of the XSLT engine, even though it has dependencies on the Xalan utils module.</p><p><center><img alt="xalan ---> xpath" src="images/org_apache.gif"/></center></p> 
+  <p>The XPath module first compiles the XPath strings into expression trees, and then executes these expressions via a call to the XPath execute(...) function.  </p>  <p>Major classes are:</p><dl><dt>XPath</dt><dd>Represents a compiled XPath.  Major function is <code><font face="courier, monospaced">XObject execute(XPathContext xctxt, Node contextNode, 
+                         PrefixResolver namespaceContext)</font></code>.</dd></dl><dl><dt>XPathAPI</dt><dd>The methods in this class are convenience methods into the
+ low-level XPath API.</dd></dl><dl><dt>XPathContext</dt><dd>Used as the runtime execution context for XPath.</dd></dl><dl><dt>DOMHelper</dt><dd>Used as a helper for handling DOM issues.  May be subclassed to take advantage 
+   of specific DOM implementations.</dd></dl><dl><dt>SourceTreeManager</dt><dd>bottlenecks all management of source trees.  The methods
  in this class should allow easy garbage collection of source 
- trees, and should centralize parsing for those source trees.</DD></DL><DL><DT>Expression</DT><DD>The base-class of all expression objects, allowing polymorphic behaviors.</DD></DL><P>The general architecture of the XPath module is divided into the compiler, and categories of expression objects.</P><P><CENTER><IMG alt="xpath modules" src="images/xpath.gif"/></CENTER></P><P>The most important module is the axes module.  This module implements the DOM2 <A href="http://www.w3.org/TR/DOM-Lev [...]
-<H3>XPath Database Connection</H3>
-<P>An important part of the XPath design in both Xalan 1 and Xalan 2, is to enable database connections to be used as drivers directly to the XPath <A href="http://www.w3.org/TR/xpath#location-paths">LocationPath</A> handling.  This allows databases to be directly connected to the transform, and be able to take advantage of internal indexing and the like.  While in Xalan 1 this was done via the <A href="http://xml.apache.org/xalan/apidocs/org/apache/xalan/xpath/XLocator.html">XLocator</A [...]
-  <H2>Utils Package</H2> 
-  <P>This package contains general utilities for use by both the xalan and xpath packages.</P><A name="other"><!--anchor--></A>
-  <H2>Other Packages</H2> 
-	 <DL><DT>client</DT><DD>Implementation of Xalan Applet [should we keep this?].
+ trees, and should centralize parsing for those source trees.</dd></dl><dl><dt>Expression</dt><dd>The base-class of all expression objects, allowing polymorphic behaviors.</dd></dl><p>The general architecture of the XPath module is divided into the compiler, and categories of expression objects.</p><p><center><img alt="xpath modules" src="images/xpath.gif"/></center></p><p>The most important module is the axes module.  This module implements the DOM2 <a href="http://www.w3.org/TR/DOM-Lev [...]
+<h3>XPath Database Connection</h3>
+<p>An important part of the XPath design in both Xalan 1 and Xalan 2, is to enable database connections to be used as drivers directly to the XPath <a href="http://www.w3.org/TR/xpath#location-paths">LocationPath</a> handling.  This allows databases to be directly connected to the transform, and be able to take advantage of internal indexing and the like.  While in Xalan 1 this was done via the <a href="http://xml.apache.org/xalan/apidocs/org/apache/xalan/xpath/XLocator.html">XLocator</a [...]
+  <h2>Utils Package</h2> 
+  <p>This package contains general utilities for use by both the xalan and xpath packages.</p><a name="other"><!--anchor--></a>
+  <h2>Other Packages</h2> 
+	 <dl><dt>client</dt><dd>Implementation of Xalan Applet [should we keep this?].
 
-</DD></DL> 
+</dd></dl> 
 		 
 		 
-		<DL><DT>lib</DT><DD>Implementation of Xalan-specific extensions.</DD></DL><DL><DT>res</DT><DD>Contains strings that require internationalization.</DD></DL><A name="compilation"><!--anchor--></A>
-<H2>Xalan Stylesheet Complilation to Java</H2>
-<P>We are doing some work on compiling stylesheet objects to Java.  This is a work in progress, and is not meant for general use yet.  For the moment, we are writing out Java text files, and then compiling them to bytecodes via javac, rather than directly producing bytecodes.  The CompilingStylesheetProcessor derives from TransformerFactoryImpl to produce these classes, which are then bundled into a jar file.  For the moment the full Xalan jar is required, but we're looking at ways to on [...]
-<H2>Future Optimizations</H2>
-<P>This section enumerates some optimizations that we're planning to do in future versions of Xalan.</P><P>Likely near term optimizations (next six months?):</P><OL><LI>By pre-analysis of the stylesheet, prune nodes from the tree that have been processed and can be predicted that they won't be visited again.</LI><LI>Eliminate redundent expressions (xsl:when, variable sets, rooted patterns, etc.).</LI><LI>Optimize variable patterns such as &lt;xsl:variable name=&quot;foo&quot;&gt;&lt;xsl: [...]
-  <H2>Coding Conventions</H2> 
-	 <P>This section documents the coding conventions used in the Xalan
-		source.</P> 
-	 <OL> 
-		<LI>Class files are arranged with constructors and possibly an init()
+		<dl><dt>lib</dt><dd>Implementation of Xalan-specific extensions.</dd></dl><dl><dt>res</dt><dd>Contains strings that require internationalization.</dd></dl><a name="compilation"><!--anchor--></a>
+<h2>Xalan Stylesheet Complilation to Java</h2>
+<p>We are doing some work on compiling stylesheet objects to Java.  This is a work in progress, and is not meant for general use yet.  For the moment, we are writing out Java text files, and then compiling them to bytecodes via javac, rather than directly producing bytecodes.  The CompilingStylesheetProcessor derives from TransformerFactoryImpl to produce these classes, which are then bundled into a jar file.  For the moment the full Xalan jar is required, but we're looking at ways to on [...]
+<h2>Future Optimizations</h2>
+<p>This section enumerates some optimizations that we're planning to do in future versions of Xalan.</p><p>Likely near term optimizations (next six months?):</p><ol><li>By pre-analysis of the stylesheet, prune nodes from the tree that have been processed and can be predicted that they won't be visited again.</li><li>Eliminate redundent expressions (xsl:when, variable sets, rooted patterns, etc.).</li><li>Optimize variable patterns such as &lt;xsl:variable name=&quot;foo&quot;&gt;&lt;xsl: [...]
+  <h2>Coding Conventions</h2> 
+	 <p>This section documents the coding conventions used in the Xalan
+		source.</p> 
+	 <ol> 
+		<li>Class files are arranged with constructors and possibly an init()
 		  function first, public API methods second, package specific, protected, and
 		  private methods following (arranged based on related functionality), member
-		  variables with their getter/setter access methods last.</LI> 
-		<LI>Non-static member variables are prefixed with &quot;m_&quot;.</LI> 
-		<LI>static final member variables should always be upper case, without
-		  the &quot;m_&quot; prefix. They need not have accessors.</LI> 
-		<LI>Private member variables that are not accessed outside the class need
-		  not have getter/setter methods declared.</LI> 
-		<LI>Private member variables that are accessed outside the class should
+		  variables with their getter/setter access methods last.</li> 
+		<li>Non-static member variables are prefixed with &quot;m_&quot;.</li> 
+		<li>static final member variables should always be upper case, without
+		  the &quot;m_&quot; prefix. They need not have accessors.</li> 
+		<li>Private member variables that are not accessed outside the class need
+		  not have getter/setter methods declared.</li> 
+		<li>Private member variables that are accessed outside the class should
 		  have either package specific or public getter/setter methods declared. All
-		  accessors should follow the bean design patterns.</LI> 
-		<LI>Package-scoped member variables, public member variables, and
-		  protected member variables should not be declared.</LI> 
-	 </OL> 
-  <A name="open"><!--anchor--></A> 
+		  accessors should follow the bean design patterns.</li> 
+		<li>Package-scoped member variables, public member variables, and
+		  protected member variables should not be declared.</li> 
+	 </ol> 
+  <a name="open"><!--anchor--></a> 
   
-<HR/><FONT color="#0086b2" size="-1"><I>
-              Copyright &copy; 1999-2023 The Apache Software Foundation</I></FONT></BODY></HTML>
+<hr/><font color="#0086b2" size="-1"><i>
+              Copyright &copy; 1999-2023 The Apache Software Foundation</i></font></body></html>
diff --git a/xalan/src/site/xhtml/javadocOverview.xhtml b/xalan/src/site/xhtml/javadocOverview.xhtml
index 70ce354f..619ee880 100644
--- a/xalan/src/site/xhtml/javadocOverview.xhtml
+++ b/xalan/src/site/xhtml/javadocOverview.xhtml
@@ -18,8 +18,8 @@
 <html>
 <head><title>Xalan-Java 2</title></head>
 <body>
-<p>Xalan-Java implements the <A href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation 16 November 1999 XSL
-Transformations (XSLT) Version 1.0</A>.</p>
+<p>Xalan-Java implements the <a href="http://www.w3.org/TR/xslt" target="_top">W3C Recommendation 16 November 1999 XSL
+Transformations (XSLT) Version 1.0</a>.</p>
 <p>XLST is a stylesheet language for transforming XML documents into other XML documents, HTML documents, 
 other document types, or text. The language includes the XSL Transformation vocabulary and XPath, a language for
 addressing parts of an XML document. An XSL stylesheet describes how to transform the tree of nodes in the XML


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xalan.apache.org
For additional commands, e-mail: commits-help@xalan.apache.org