This commit was manufactured by cvs2svn to create tag 'xalan_2_2_D9'.

git-svn-id: https://svn.apache.org/repos/asf/xalan/java/tags/xalan_2_2_D9@335389 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/commits.xml b/commits.xml
index 85b425a..f47793c 100644
--- a/commits.xml
+++ b/commits.xml
@@ -981,4 +981,63 @@
 ongoing process and is just meant to fix a few pending bugs. More changes are 
 expected in this area.</Log>
 </Commit>
+<Commit category="core">
+<Who>mmidy@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xalan/processor XSLProcessorVersion.java</Modified>
+<Log>Change version for xalan2.2.D9 build</Log>
+</Commit>
+<Commit category="core">
+<Who>garyp@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xalan/templates ElemElement.java
+ java/src/org/apache/xalan/transformer ResultTreeHandler.java
+ java/src/org/apache/xml/utils DefaultErrorHandler.java</Modified>
+<Log>ResultTreeHandler was pushing a new namespace context but failing to note 
+that result in more pushes than pops. Cleaned up the execute() method of 
+ElemElement to make it more understandable (to me) and added a few comments. 
+The DefaultErrorHandler was not flushing Writers that it created. Since the 
+Writers are never closed (and cannot be as there is no close method), error 
+messages were failing to appear.</Log>
+</Commit>
+<Commit category="core">
+<Who>jkesselm@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xml/dtm DTMManager.java</Modified>
+<Log>Increasing the number of bits used to identify DTM nodes, at the expense of 
+decreasing the number of DTMs that a DTMManager can track simultaneously. Some 
+other code has been updated to track this change (and to better track posible 
+future changes), as have the IDKEY testcases.</Log>
+</Commit>
+<Commit category="core">
+<Who>jkesselm@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xml/dtm/ref DTMDefaultBase.java
+ DTMDocumentImpl.java DTMManagerDefault.java</Modified>
+<Log>Increasing the number of bits used to identify DTM nodes, at the expense of 
+decreasing the number of DTMs that a DTMManager can track simultaneously. Some 
+other code has been updated to track this change (and to better track posible 
+future changes), as have the IDKEY testcases.</Log>
+</Commit>
+<Commit category="core">
+<Who>jkesselm@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xpath/functions FuncGenerateId.java</Modified>
+<Log>Increasing the number of bits used to identify DTM nodes, at the expense of 
+decreasing the number of DTMs that a DTMManager can track simultaneously. Some 
+other code has been updated to track this change (and to better track posible 
+future changes), as have the IDKEY testcases.</Log>
+</Commit>
+<Commit category="core">
+<Who>sboag@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xpath NodeSetDTM.java</Modified>
+<Log>Try to support getRoot. Fixes problem with TransformStateTest.</Log>
+</Commit>
+<Commit category="core">
+<Who>mmidy@apache.org</Who>
+<DateCommitted>08/10/2001</DateCommitted>
+<Modified>java/src/org/apache/xpath/axes WalkerFactory.java</Modified>
+<Log>Fix problem with duplicate nodes produced from a walking iterator</Log>
+</Commit>
 </Commits>
diff --git a/src/org/apache/xalan/res/XSLTInfo.properties b/src/org/apache/xalan/res/XSLTInfo.properties
index c4e0e9e..36c53e7 100644
--- a/src/org/apache/xalan/res/XSLTInfo.properties
+++ b/src/org/apache/xalan/res/XSLTInfo.properties
@@ -2,7 +2,7 @@
 #  XSLT Resource File
 #
 
-version=2.2.D8
+version=2.2.D9
 vendor=Apache Software Foundation
 vendor-url=http://xml.apache.org/xalan-j
 
diff --git a/src/trax/trax.properties b/src/trax/trax.properties
deleted file mode 100644
index e593c39..0000000
--- a/src/trax/trax.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# $Revision$ $Date$
-#
-# Note: This properties file is provided for illustrative purposes
-#       only and is not part of the interface definition.
-#       This properties file is located in the implementation JAR
-#       and different implementations will specify different
-#       implementation classes and output methods.
-#
-
-# The TRaX Stylesheet processor
-trax.processor.xslt=org.apache.xalan.processor.StylesheetProcessor
diff --git a/xdocs/sources/xalan/xsltc_constraints.xml b/xdocs/sources/xalan/xsltc_constraints.xml
index 694d5c5..142bcd3 100644
--- a/xdocs/sources/xalan/xsltc_constraints.xml
+++ b/xdocs/sources/xalan/xsltc_constraints.xml
@@ -39,9 +39,36 @@
 <anchor name="xsltcknownproblems"/>
 <s3 title="Known Problems">
 <ul>
-    <li>All the currently know problems with XSLTC are filed in Bugzilla. To see the list, 
-  do a query with the Program set to XalanJ2 and the Components set to org.apache.xalan.xsltc and/or 
-  Xalan-Xsltc.</li>
+  <li>Casting variables: XSLTC requires you to explicitly type cast values 
+  returned by variables or expressions, when you use them in tests. Always a good
+  practice, but it may seem like overkill in some in contexts, where other XSLT processors
+  automatically assume or convert to the correct type. For example. unless you cast $country
+  to a string in the following apply-templates, entry nodes whose &lt;country&gt; elements
+  contain a string matching the global $country parameter are NOT selected.<br/><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<code>&lt;xsl:apply-templates select="entry[country=string($country)]"/&gt;</code></li>
+  <li>Order dependency of conditions within a predicate: If you have a predicate in a select or match
+  expression that has multiple conditions, one of which contains a union (X or Y), put it last. 
+  Otherwise, the predicate fails to match node that it should.</li>
+  <li>When using DOM caching, as shown in the Servlet demo, if the source document is local to the 
+  server, the cache is not refreshed when the source XML document is modified. This 
+  problem does not apply when the source is associated with a URL.</li>
+  <li>If you have a list of references included or imported stylesheets, put any with 
+  a relative path last; otherwise, stylesheets in the current directory are not found.</li>
+  <li>[1] should be treated equivalent to position()=1, but it is not. Therefore, if 
+  you get unexpected results using such shortcut positional predicates, substitute the 
+  full postion()= version.</li>
+  <li>XSLTC fails to match existing nodes when match expressions have 
+  multiple steps with predicates containing the position function.
+  The following examples are taken from the XSLTMark oddtemplates.xsl test:<br/><br/>
+  <code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[position()=2]'</code><br/>
+  <code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[6]/kid[2]'</code><br/>
+  <code>&nbsp;&nbsp;&nbsp;&nbsp;match='top/*[position()=last()]'</code><br/></li>
+  <li>XSTLC has problems with output escaping, see bug 1403.</li>
+  <li>Case-order option with sorting is ignored.</li>
+  <li>As a minor side-effect of implementing simplified stylesheets, if you inadvertenly 
+  go to compile a stylesheet and give the name of the .xml doc instead of the .xsl doc,
+  it may compile without a warning. In some cases, the compiler aborts with an error 
+  about too many branches.</li>
 </ul>
 </s3>
 <anchor name="xsltcdemos"/>
@@ -68,7 +95,70 @@
 
 <anchor name="xsltctrax"/>
 <s3 title="Translets and TrAX">
-<p>TO BE REWRITTEN</p>
+<p>
+The Translet API has been extended to conform with the JAXP1.1 TrAX model.
+This release contains the first implementation of that extension. Two
+new classes have been added to the Translet XSLT codebase, they are:</p>
+<p>(1) <code>org.apache.xalan.xsltc.runtime.TransformerFactoryImpl</code> -<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;the Translet implementation of a SAXTransformerFactory.</p>
+<p>(2) <code>org.apache.xalan.xsltc.runtime.TransletTemplates</code> -
+&nbsp;&nbsp;&nbsp;&nbsp;the Translet implementation of a Templates object.</p>
+<p>
+The existing XSLT class 'org.apache.xalan.xsltc.runtime.AbstractTranslet'
+that implements the Translet interface is now also extending the 
+javax.xml.transform.Transformer abstract class.
+</p>
+<p>
+This implementation is only a partial implementation, with many limitations.
+These limitations include:
+</p>
+<ol>
+<li>Currently  'StreamSource' and 'StreamResult' are the only
+ TrAX Sources and Results that are supported.</li>
+<li>The translet is compiled everytime a call is made to the<br/>
+<code>TransformerFactoryImpl 'newTransformer()'</code> method.</li>
+<li>The translet is compiled everytime a call is made to the <br/>
+<code>TemplateFactoryImpl 'newTransformer()'</code> method.</li>
+<li>Translet are currently not cached. (See (2) and (3)).</li>
+<li>Several abstract methods from SAXTransformerFactory still need to
+be implemented in the xsltc.runtime.TransformerFactoryImpl class:<br/><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;TemplatesHandler newTemplatesHandler()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler(Source src)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;TransformerHandler newTransformerHandler(Templates templates)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;XMLFilter newXMLFilter(Source src)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;XMLFilter newXMLFilter(Templates templates)</code></li>
+<li>Several abstract methods from Transformer still need to be implemented in the 
+AbstractTranslet class:<br/><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;ErrorListener getErrorListener()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setErrorListener(ErrorListener)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;Properties getOutputProperties()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;String getOutputProperty(String name)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setOutputProperties(Properties props)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setOutputProperty(String name, String value)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;URIResolver getURIResolver()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setURIResolver(URIResolver resolver)</code></li>
+<li>Abstract method from Templates still need to be implemented in the TransletTemplates class:<br/><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;Properties getOutputProperties()</code></li>
+<li>Several abstract methods from TransformerFactory still need to be implemented 
+in the <code>xsltc.runtime.TransformerFactoryImpl</code> class:<br/><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;ErrorListener getErrorListener()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setErrorListener(ErrorListener listener)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;Object getAttribute(String name)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setAttribute(String name, Object value)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;boolean getFeature(String name)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;URIResolver getURIResolver()</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;void setURIResolver(URIResolver resolver)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;Source getAssociatedStylesheet(Source src, String media, String title,</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String charset)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;Templates newTemplates(Source xslSrc)</code><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;Transformer newTransformer()</code></li>
+<li>Whenever possible, the required methods that are currently unimplemented will throw an 
+exception if someone tries to call them- this will alert the user that the method is not implemented. 
+The message is of the form:<br/><br/>
+<code>&nbsp;&nbsp;&nbsp;&nbsp;&quot;&lt;Class Name&gt;:&lt;Method Name&gt;( &lt;args&gt; ) not implemented yet.&quot;</code>
+</li>
+</ol>
 </s3>
 <anchor name="xsltchistory"/>
 <s3 title="History of XSLTC software changes">
@@ -583,6 +673,19 @@
 utilities. You can already use the same JAXP interfaces to perform
 transformations with the Xalan transformer and with translets. Over time, we plan to merge the two codebases.
 <ref>See <jump href="xsltc/index.html">XSLTC Design Documents</jump>.</ref></p>
+<p>Since this is the first release of XSLTC on Apache (xml.apache.org), changes are  
+relative to Preview 5 of XSLTC posted on www.sun.com/xml/developers.</p>
+<ul>
+  <li>Simplified stylesheets are now implemented.</li>
+  <li>Base package name has changed from <code>com.sun.xslt</code> to <code>org.apache.xalan.xsltc</code></li>
+  <li>You no longer have to get the BCEL.jar file; it is included in the distribution.</li>
+  <li>The Project X parser components and APIs have all been replaced with JAXP equivalents. 
+  Consequently, you may deploy XSLTC with JAXP-conformant parsers, such as Xerces or Crimson.</li>
+  <li>Previously undocumented feature: -x. You can use the -x option on the java command line when you
+  compile translets or run them to get more detailed information on errors.</li>
+  <li>Addition of -s to DefaultRun - a new -s option has been added to the DefaultRun class 
+  for use with test auotmation. When you use the option, it prevents System.exit() from being called when 
+  and exception is encountered.</li>
 </ul>
 </s4> 
 </s3>
diff --git a/xdocs/sources/xsltc/xsltc_trax.xml b/xdocs/sources/xsltc/xsltc_trax.xml
index 14eb801..99584b0 100644
--- a/xdocs/sources/xsltc/xsltc_trax.xml
+++ b/xdocs/sources/xsltc/xsltc_trax.xml
@@ -311,9 +311,9 @@
 Templates object.</p>
 <p><code>public Templates newTemplates(Source xslSrc)</code></p>
 <p>To implement this method I needed to create a new class that would be a Templates
-for Translets object. The new class TransletTemplates (org.apache.xalan.xsltc.trax.TransletTemplates) implements the Templates
+for Translets object. The new class TransletTemplates (org.apache.xalan.xsltc.runtime.TransletTemplates) implements the Templates
 interface as is shown below:</p>
-<source>package org.apache.xalan.xsltc.trax;
+<source>package org.apache.xalan.xsltc.runtime;
 
 import javax.xml.transform.Templates;
 import javax.xml.transform.Transformer;
@@ -513,7 +513,7 @@
 JCUP=/net/bigblock/files18/tmiller/xml-xalan/java/bin/java_cup.jar
 JCUPRT=/net/bigblock/files18/tmiller/xml-xalan/java/bin/runtime.jar
 CLASSPATH=${JAXP}:${CRIMSON}:${XSLT}:${XML}:${BCEL}:${JCUP}:${JCUPRT}:.
-FAC=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
+FAC=org.apache.xalan.xsltc.runtime.TransformerFactoryImpl
 #FAC=org.apache.xalan.processor.TransformerFactoryImpl
 java -classpath ${CLASSPATH} \
      -Djavax.xml.transform.TransformerFactory=${FAC} \
@@ -521,7 +521,7 @@
 </s3><anchor name="transformerfactoryimpl"/>
 <s3 title="TransformerFactoryImpl.java">
 
-<source>package org.apache.xalan.xsltc.trax;
+<source>package org.apache.xalan.xsltc.runtime;
 
 import javax.xml.transform.Templates;
 import javax.xml.transform.Transformer;
@@ -647,7 +647,7 @@
 }</source>
 </s3><anchor name="translettemplates"/>
 <s3 title="TransletTemplates.java">
-<source>package org.apache.xalan.xsltc.trax;
+<source>package org.apache.xalan.xsltc.runtime;
 
 import javax.xml.transform.Templates;
 import javax.xml.transform.Transformer;
@@ -688,4 +688,4 @@
 javac -classpath ${CLASSPATH} ${SRCS}</source>
 </s3>
 </s2>
-</s1>
+</s1>
\ No newline at end of file
diff --git a/xsltc_todo.xml b/xsltc_todo.xml
index 6ab89a2..7448f93 100644
--- a/xsltc_todo.xml
+++ b/xsltc_todo.xml
@@ -3,7 +3,7 @@
 <todo title="Things To Do" project="XSLTC" major-version="1">
 
   <devs>
-   <person name="Jacek Ambroziak" email="jaceka@crossgain.com" id="JA" expertise="code">
+   <person name="Jacek Ambroziak" email="jacek_ambroziak@yahoo.com" id="JA" expertise="code">
      Inventor, architect, former lead developer and evangelist.
    </person>  
    <person name="Tom Amiro" email="Tom.Amiro@Sun.COM" id="TA" expertise="testing">