You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by zo...@apache.org on 2002/11/05 11:41:51 UTC

cvs commit: xml-xalan/test build.xml

zongaro     2002/11/05 02:41:50

  Modified:    java     Tag: XSLTC_DTM build.xml
               java/src/org/apache/xalan/extensions Tag: XSLTC_DTM
                        ExtensionHandlerJavaClass.java
                        ExtensionHandlerJavaPackage.java
               java/src/org/apache/xalan/lib Tag: XSLTC_DTM ExsltMath.java
               java/src/org/apache/xalan/lib/sql Tag: XSLTC_DTM
                        DefaultConnectionPool.java
               java/src/org/apache/xalan/processor Tag: XSLTC_DTM
                        TransformerFactoryImpl.java
                        XSLProcessorVersion.java
               java/src/org/apache/xalan/res Tag: XSLTC_DTM
                        XSLTInfo.properties
               java/src/org/apache/xalan/serialize Tag: XSLTC_DTM
                        Encodings.java SerializerToXML.java
               java/src/org/apache/xalan/transformer Tag: XSLTC_DTM
                        TransformerImpl.java
               java/src/org/apache/xalan/xslt Tag: XSLTC_DTM
                        EnvironmentCheck.java
               java/src/org/apache/xalan/xsltc Tag: XSLTC_DTM DOM.java
                        DOMCache.java Translet.java
                        TransletOutputHandler.java
               java/src/org/apache/xalan/xsltc/cmdline Tag: XSLTC_DTM
                        Compile.java Transform.java
               java/src/org/apache/xalan/xsltc/cmdline/getopt Tag:
                        XSLTC_DTM GetOpt.java
               java/src/org/apache/xalan/xsltc/compiler Tag: XSLTC_DTM
                        AbsolutePathPattern.java AncestorPattern.java
                        ApplyImports.java ApplyTemplates.java
                        AttributeSet.java AttributeValue.java
                        AttributeValueTemplate.java CallTemplate.java
                        CastExpr.java Constants.java DecimalFormatting.java
                        DocumentCall.java ElementAvailableCall.java
                        EqualityExpr.java Expression.java
                        FilterParentPath.java FlowList.java ForEach.java
                        FormatNumberCall.java FunctionAvailableCall.java
                        FunctionCall.java If.java Include.java Key.java
                        KeyCall.java LastCall.java LiteralElement.java
                        LiteralExpr.java LocationPathPattern.java
                        LogicalExpr.java Mode.java NameBase.java
                        Number.java Output.java Param.java
                        ParameterRef.java ParentLocationPath.java
                        ParentPattern.java Parser.java PositionCall.java
                        Predicate.java ProcessingInstruction.java
                        QName.java RelationalExpr.java Sort.java Step.java
                        StepPattern.java Stylesheet.java SymbolTable.java
                        SyntaxTreeNode.java Template.java TestSeq.java
                        Text.java TransletOutput.java
                        UnparsedEntityUriCall.java UnresolvedRef.java
                        UseAttributeSets.java Variable.java
                        VariableBase.java VariableRef.java
                        VariableRefBase.java When.java XSLTC.java
                        XslAttribute.java XslElement.java xpath.cup
                        xpath.lex
               java/src/org/apache/xalan/xsltc/compiler/util Tag: XSLTC_DTM
                        BooleanType.java ErrorMessages.java
                        ErrorMessages_no.java ErrorMsg.java IntType.java
                        MethodGenerator.java MultiHashtable.java
                        NodeSetType.java NodeType.java RealType.java
                        ReferenceType.java ResultTreeType.java
                        StringType.java Type.java TypeCheckError.java
                        Util.java
               java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
                        AbsoluteIterator.java AnyNodeCounter.java Axis.java
                        CurrentNodeListIterator.java DOMAdapter.java
                        DOMBuilder.java DOMImpl.java DocumentCache.java
                        DupFilterIterator.java ExtendedSAX.java
                        FilterIterator.java FilteredStepIterator.java
                        ForwardPositionIterator.java KeyIndex.java
                        MatchingIterator.java MultiDOM.java
                        NodeCounter.java NodeIteratorBase.java
                        NthIterator.java SAXImpl.java SortingIterator.java
                        StepIterator.java UnionIterator.java
               java/src/org/apache/xalan/xsltc/runtime Tag: XSLTC_DTM
                        BasisLibrary.java Constants.java
                        DefaultSAXOutputHandler.java ErrorMessages.java
                        SAXAdapter.java StringValueHandler.java
                        TextOutput.java TransletLoader.java
                        TransletOutputBase.java
               java/src/org/apache/xalan/xsltc/runtime/output Tag:
                        XSLTC_DTM SAXHTMLOutput.java
               java/src/org/apache/xalan/xsltc/trax Tag: XSLTC_DTM
                        DOM2SAX.java SAX2DOM.java TemplatesHandlerImpl.java
                        TemplatesImpl.java TrAXFilter.java
                        TransformerFactoryImpl.java
                        TransformerHandlerImpl.java TransformerImpl.java
                        XSLTCSource.java
               java/src/org/apache/xalan/xsltc/util Tag: XSLTC_DTM
                        IntegerArray.java
               java/src/org/apache/xml/dtm/ref Tag: XSLTC_DTM
                        DTMNodeProxy.java
               java/src/org/apache/xml/utils Tag: XSLTC_DTM
                        ListingErrorHandler.java SystemIDResolver.java
                        URI.java
               java/src/org/apache/xpath Tag: XSLTC_DTM XPath.java
                        XPathContext.java
               java/src/org/apache/xpath/axes Tag: XSLTC_DTM
                        LocPathIterator.java NodeSequence.java
                        SingletonIterator.java
               java/src/org/apache/xpath/res Tag: XSLTC_DTM
                        XPATHErrorResources.java
               test     Tag: XSLTC_DTM build.xml
  Log:
  Bringing branch up-to-date with changes from MAIN branch.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.176.2.2 +41 -48    xml-xalan/java/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/build.xml,v
  retrieving revision 1.176.2.1
  retrieving revision 1.176.2.2
  diff -u -r1.176.2.1 -r1.176.2.2
  --- build.xml	9 Oct 2002 15:35:27 -0000	1.176.2.1
  +++ build.xml	5 Nov 2002 10:41:31 -0000	1.176.2.2
  @@ -86,7 +86,7 @@
     <property name="version.VERSION" value="2"/>
     <property name="version.RELEASE" value="4"/>
     <property name="version.DEVELOPER" value=""/><!-- Set this to 'D' if a developer release; blank "" if maintenance release -->
  -  <property name="version.MINOR" value="0"/><!-- EITHER the developer release number, or a maintenance release number -->
  +  <property name="version.MINOR" value="1"/><!-- EITHER the developer release number, or a maintenance release number -->
     <property name="version" value="${version.VERSION}_${version.RELEASE}_${version.DEVELOPER}${version.MINOR}"/><!-- GUMP: version # of dist file -->
     <property name="impl.version" value="${version.VERSION}.${version.RELEASE}.${version.DEVELOPER}${version.MINOR}"/><!-- Used in jar task for filtering MANIFEST.MF file -->
     <property name="name" value="xalan"/><!-- GUMP: base name of jar target's file -->
  @@ -100,6 +100,7 @@
     <property name="apachexml.reldir" value="org/apache/xml"/>
     <property name="xpath.reldir" value="org/apache/xpath"/>
     <property name="xalan.reldir" value="org/apache/xalan"/>
  +  <property name="domxpath.reldir" value="org/w3c/dom/xpath"/>
     <property name="xsltc.reldir" value="${xalan.reldir}/xsltc"/>
     <property name="generated.xpathparser" value="${src.dir}/${xsltc.reldir}/compiler/XPathParser.java"/>
     <property name="generated.xpathlexer" value="${src.dir}/${xsltc.reldir}/compiler/XPathLexer.java"/>
  @@ -109,7 +110,7 @@
     <property name="build.dir" value="./build"/><!-- GUMP: root of all normal builds output -->
     <property name="build.xalan.jar" value="${build.dir}/${name}.jar"/><!-- GUMP: actual path/name of jar target output -->
     <property name="build.xalan-unbundled.jar" value="${build.dir}/${name}-unbundled.jar"/>
  -  <property name="build.xalan-interpreter.jar" value="${build.dir}/${name}-interpreter.jar"/>
  +  <property name="build.xalan-interpretive.jar" value="${build.dir}/${name}-interpretive.jar"/>
     <property name="build.xsltc.jar" value="${build.dir}/xsltc.jar"/>
     <property name="build.classes" value="${build.dir}/classes"/>
     <property name="build.docs" value="${build.dir}/docs"/>
  @@ -180,10 +181,18 @@
     </path>
     <path id="xslt.boot.class.path">
       <!-- Put this version of xalan in front of the jdk's for JDK 1.4+ -->
  +    <!-- Set build.boot.class.path to a JDK 1.1.x classes.zip file to check
  +         compatibility with 1.1.x.  If you omit this property, compatability
  +         with 1.1.x will not be checked even though javac specifies a target of 1.1 -->
       <pathelement location="${build.classes}" />
  +    <pathelement path="${build.boot.class.path}" />
       <pathelement path="${sun.boot.class.path}" />
     </path>
  -  
  +  <path id="compile.source.path">
  +    <dirset dir="${src.dir}" includes="/org/apache/**" />
  +  </path>
  +
  +
     <!-- =================================================================== -->
     <!-- Creates output build directories and doc prerequistes               -->
     <!-- =================================================================== -->
  @@ -232,7 +241,8 @@
       <echo message="Compiling DTM implementation and utilities" />
       <javac srcdir="${src.dir}"
              destdir="${build.classes}"
  -           debug="${build.debug}" >
  +           debug="${build.debug}"
  +           target="1.1" >
         <include name="${apachexml.reldir}/**/*.java" />
         <!-- But exclude unused synthetic* files; should be obsoleted from CVS -->
         <exclude name="${apachexml.reldir}/utils/synthetic/**/*.java" />      
  @@ -246,41 +256,20 @@
     <!-- =================================================================== -->
     <!-- Compile the Xalan interpreter source tree                           -->
     <!-- =================================================================== -->
  -  <target name="xalan-interpreter.compile" depends="xml.compile"
  -    description="Compile the Xalan interpreter classes (skips 1.x compat and XSLTC)" >
  -    <echo message="Compiling Xalan interpreter classes" />
  -    <!-- Note: split compile into separate javac steps to avoid JDK 1.1.8 bug reported at:
  -         http://developer.java.sun.com/developer/bugParade/bugs/4043508.html
  -         which causes an error like:
  -         [javac] E:\builds\xml-xalan\java\src\org\apache\xalan\templates\ElemTemplate.java:108: Cyclic class inheritance or scoping.
  -    --> 
  -    <!-- Compile XPath engine and some common utilities -->
  +  <target name="xalan-interpretive.compile" depends="xml.compile"
  +    description="Compile the Xalan interpretive classes (skips 1.x compat and XSLTC)" >
  +    <echo message="Compiling Xalan interpretive classes" />
       <javac srcdir="${src.dir}" 
              destdir="${build.classes}"
  -           debug="${build.debug}" >
  -      <!-- Also compile version info classes here -->
  -      <include name="${xalan.reldir}/Version.java" />
  -      <include name="${xalan.reldir}/processor/XSLProcessorVersion.java" />
  +           debug="${build.debug}" 
  +           target="1.1" >
         <include name="${xpath.reldir}/**/*.java" />
  +      <include name="${domxpath.reldir}/**/*.java" />
  +      <include name="${xalan.reldir}/**/*.java" />
  +      <exclude name="${xsltc.reldir}/**/*.java" />
         <classpath refid="compile.class.path" />
         <bootclasspath refid="xslt.boot.class.path" />
  -    </javac>
  -    <!-- Compile Xalan interpreter main engine (but not xsltc package yet) -->
  -    <javac srcdir="${src.dir}" 
  -           destdir="${build.classes}"
  -           includes="${xalan.reldir}/**/*.java"
  -           excludes="${xsltc.reldir}/**/*.java,${xalan.reldir}/lib/**/*.java,${xalan.reldir}/xslt/**/*.java"
  -           debug="${build.debug}" >
  -      <classpath refid="compile.class.path" />
  -      <bootclasspath refid="xslt.boot.class.path" />
  -    </javac>
  -    <!-- Compile various Xalan-specific extensions and command line class -->
  -    <javac srcdir="${src.dir}" 
  -           destdir="${build.classes}"
  -           includes="${xalan.reldir}/lib/**/*.java,${xalan.reldir}/xslt/**/*.java"
  -           debug="${build.debug}" >
  -      <classpath refid="compile.class.path" />
  -      <bootclasspath refid="xslt.boot.class.path" />
  +      <sourcepath refid="compile.source.path" />
       </javac>
       <!-- Copy needed properties, resource, etc. files to be put into .jar file -->
       <copy todir="${build.classes}">
  @@ -288,9 +277,9 @@
       </copy>  
     </target>
     
  -  <!-- Compile all java sources (Xalan interpreter and XSLTC) -->
  -  <target name="compile" depends="xalan-interpreter.compile,xsltc.compile"
  -    description="Compile all java source files (Xalan interpreter + XSLTC)" >
  +  <!-- Compile all java sources (Xalan interpretive and XSLTC) -->
  +  <target name="compile" depends="xalan-interpretive.compile,xsltc.compile"
  +    description="Compile all java source files (Xalan interpretive + XSLTC)" >
     </target>
   
     <!-- =================================================================== -->
  @@ -495,14 +484,14 @@
     </target>
     
     <!-- =================================================================== -->
  -  <!-- Creates the xalan interpreter jar                                   -->
  +  <!-- Creates the xalan interpretive jar                                   -->
     <!-- =================================================================== -->
  -  <target name="xalan-interpreter.jar" depends="xalan-interpreter.compile"
  -    description="Jar up everything in Xalan interpreter (without XSLTC)" >
  +  <target name="xalan-interpretive.jar" depends="xalan-interpretive.compile"
  +    description="Jar up everything in Xalan interpretive (without XSLTC)" >
       <!-- Copy over the manifest, with filtering (for version number) -->
       <filter token="impl.version" value="${impl.version}"/>
       <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
  -    <jar jarfile="${build.xalan-interpreter.jar}" manifest="${build.dir}/MANIFEST.MF" basedir="${build.classes}" >
  +    <jar jarfile="${build.xalan-interpretive.jar}" manifest="${build.dir}/MANIFEST.MF" basedir="${build.classes}" >
         <patternset><!-- relative to jar/@basedir -->
           <include name="${apachexml.reldir}/**/*" />
           <include name="${xpath.reldir}/**/*" />
  @@ -514,9 +503,9 @@
     </target>
     
     <!-- =================================================================== -->
  -  <!-- Creates the xalan unbundled jar (Xalan interpreter + XSLTC)         -->
  +  <!-- Creates the xalan unbundled jar (Xalan interpretive + XSLTC)         -->
     <!-- =================================================================== -->
  -  <target name="unbundledjar" depends="xalan-interpreter.compile,xsltc.compile"
  +  <target name="unbundledjar" depends="xalan-interpretive.compile,xsltc.compile"
       description="Jar up Xalan and XSLTC, without the XSLTC dependencies" >
       <filter token="impl.version" value="${impl.version}"/>
       <copy todir="${build.dir}" file="${manifest.mf}" filtering="true"/>
  @@ -531,9 +520,9 @@
     </target>
     
     <!-- =================================================================== -->
  -  <!-- Creates one big xalan jar (Xalan interpreter + XSLTC + support jars) -->
  +  <!-- Creates one big xalan jar (Xalan interpretive + XSLTC + support jars) -->
     <!-- =================================================================== -->
  -  <target name="jar" depends="xalan-interpreter.compile,xsltc.compile,xsltc.copy-deps-jars"
  +  <target name="jar" depends="xalan-interpretive.compile,xsltc.compile,xsltc.copy-deps-jars"
       description="Jar up everything (Xalan, XSLTC and XSLTC dependencies)" >
       
       <!-- Copy over the manifest, with filtering (for version number) -->
  @@ -805,7 +794,11 @@
       <!-- Also delete files expanded from ${xml-commons-srcs.tar.gz}-->
       <delete dir="${src.dir}/javax" includeEmptyDirs="true" quiet="true"/>
       <delete dir="${src.dir}/org/xml" includeEmptyDirs="true" quiet="true"/>
  -    <delete dir="${src.dir}/org/w3c" includeEmptyDirs="true" quiet="true"/>
  +    <delete includeEmptyDirs="true" quiet="true">
  +      <fileset dir="${src.dir}/org/w3c">
  +        <exclude name="dom/xpath/**"/>
  +      </fileset>
  +    </delete>
     </target>
    
     <target name="xsltc.clean"
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.10.12.3 +20 -6     xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandlerJavaClass.java
  
  Index: ExtensionHandlerJavaClass.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandlerJavaClass.java,v
  retrieving revision 1.10.12.2
  retrieving revision 1.10.12.3
  diff -u -r1.10.12.2 -r1.10.12.3
  --- ExtensionHandlerJavaClass.java	24 Aug 2002 12:39:05 -0000	1.10.12.2
  +++ ExtensionHandlerJavaClass.java	5 Nov 2002 10:41:31 -0000	1.10.12.3
  @@ -247,6 +247,10 @@
               MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
               return c.newInstance(convertedArgs[0]);
             }
  +          catch (InvocationTargetException ite)
  +          {
  +            throw ite;
  +          }
             catch(Exception e)
             {
               // Must not have been the right one
  @@ -300,6 +304,10 @@
                 }
               }
             }
  +          catch (InvocationTargetException ite)
  +          {
  +            throw ite;
  +          }
             catch(Exception e)
             {
               // Must not have been the right one
  @@ -352,11 +360,15 @@
       }
       catch (InvocationTargetException ite)
       {
  -      Throwable realException = ite.getTargetException();
  -      if (realException instanceof Exception)
  -        throw new TransformerException((Exception) realException);
  -      else
  -        throw new TransformerException(ite);
  +      Throwable resultException = ite;
  +      Throwable targetException = ite.getTargetException();
  + 
  +      if (targetException instanceof TransformerException)
  +        throw ((TransformerException)targetException);
  +      else if (targetException != null)
  +        resultException = targetException;
  +            
  +      throw new TransformerException(resultException);
       }
       catch (Exception e)
       {
  @@ -423,7 +435,9 @@
       {
         Throwable targetException = e.getTargetException();
         
  -      if (targetException != null)
  +      if (targetException instanceof TransformerException)
  +        throw (TransformerException)targetException;
  +      else if (targetException != null)
           throw new TransformerException (targetException.getMessage (), targetException);
         else
           throw new TransformerException (e.getMessage (), e);
  
  
  
  1.11.10.2 +33 -5     xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.java
  
  Index: ExtensionHandlerJavaPackage.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.java,v
  retrieving revision 1.11.10.1
  retrieving revision 1.11.10.2
  diff -u -r1.11.10.1 -r1.11.10.2
  --- ExtensionHandlerJavaPackage.java	4 Oct 2002 09:24:45 -0000	1.11.10.1
  +++ ExtensionHandlerJavaPackage.java	5 Nov 2002 10:41:31 -0000	1.11.10.2
  @@ -276,6 +276,10 @@
               MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
               return c.newInstance(convertedArgs[0]);
             }
  +          catch (InvocationTargetException ite)
  +          {
  +            throw ite;
  +          }
             catch(Exception e)
             {
               // Must not have been the right one
  @@ -315,6 +319,10 @@
               MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
               return m.invoke(null, convertedArgs[0]);
             }
  +          catch (InvocationTargetException ite)
  +          {
  +            throw ite;
  +          }
             catch(Exception e)
             {
               // Must not have been the right one
  @@ -365,6 +373,10 @@
               MethodResolver.convertParams(methodArgs, convertedArgs, paramTypes, exprContext);
               return m.invoke(targetObject, convertedArgs[0]);
             }
  +          catch (InvocationTargetException ite)
  +          {
  +            throw ite;
  +          }
             catch(Exception e)
             {
               // Must not have been the right one
  @@ -383,11 +395,15 @@
       }
       catch (InvocationTargetException ite)
       {
  -      Throwable realException = ite.getTargetException();
  -      if (realException instanceof Exception)
  -        throw new TransformerException((Exception) realException);
  -      else
  -        throw new TransformerException(ite);
  +      Throwable resultException = ite;
  +      Throwable targetException = ite.getTargetException();
  + 
  +      if (targetException instanceof TransformerException)
  +        throw ((TransformerException)targetException);
  +      else if (targetException != null)
  +        resultException = targetException;
  +            
  +      throw new TransformerException(resultException);
       }
       catch (Exception e)
       {
  @@ -462,6 +478,18 @@
       try
       {
         result = m.invoke(null, new Object[] {xpc, element});
  +    }
  +    catch (InvocationTargetException ite)
  +    {
  +      Throwable resultException = ite;
  +      Throwable targetException = ite.getTargetException();
  + 
  +      if (targetException instanceof TransformerException)
  +        throw ((TransformerException)targetException);
  +      else if (targetException != null)
  +        resultException = targetException;
  +            
  +      throw new TransformerException(resultException);
       }
       catch (Exception e)
       {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.2.2.6   +49 -6     xml-xalan/java/src/org/apache/xalan/lib/ExsltMath.java
  
  Index: ExsltMath.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/ExsltMath.java,v
  retrieving revision 1.2.2.5
  retrieving revision 1.2.2.6
  diff -u -r1.2.2.5 -r1.2.2.6
  --- ExsltMath.java	22 Oct 2002 14:52:34 -0000	1.2.2.5
  +++ ExsltMath.java	5 Nov 2002 10:41:32 -0000	1.2.2.6
  @@ -91,7 +91,7 @@
      * in descending order as it would be by xsl:sort with a data type of number. The maximum 
      * is the result of converting the string value of the first node in this sorted list to 
      * a number using the number function. 
  -   * 
  +   * <p>
      * If the node set is empty, or if the result of converting the string values of any of the 
      * nodes to a number is NaN, then NaN is returned.
      * 
  @@ -126,7 +126,7 @@
      * in ascending order as it would be by xsl:sort with a data type of number. The minimum 
      * is the result of converting the string value of the first node in this sorted list to 
      * a number using the number function. 
  -   * 
  +   * <p>
      * If the node set is empty, or if the result of converting the string values of any of 
      * the nodes to a number is NaN, then NaN is returned.
      * 
  @@ -161,7 +161,7 @@
      * calculated by math:max. A node has this maximum value if the result of converting its 
      * string value to a number as if by the number function is equal to the maximum value, 
      * where the equality comparison is defined as a numerical comparison using the = operator.
  -   * 
  +   * <p>
      * If any of the nodes in the node set has a non-numeric value, the math:max function will 
      * return NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any 
      * of the nodes in the node set has a non-numeric value, math:highest will return an empty 
  @@ -198,7 +198,7 @@
      * by math:min. A node has this minimum value if the result of converting its string value to 
      * a number as if by the number function is equal to the minimum value, where the equality 
      * comparison is defined as a numerical comparison using the = operator.
  -   * 
  +   * <p>
      * If any of the nodes in the node set has a non-numeric value, the math:min function will return 
      * NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any of the nodes 
      * in the node set has a non-numeric value, math:lowest will return an empty node set.
  @@ -230,7 +230,10 @@
     }
     
     /**
  -   * The math:abs function returns the absolute value of a number. 
  +   * The math:abs function returns the absolute value of a number.
  +   *
  +   * @param num A number
  +   * @return The absolute value of the number
      */
      public static double abs(double num)
      {
  @@ -238,7 +241,10 @@
      }
   
     /**
  -   * The math:acos function returns the arccosine value of a number. 
  +   * The math:acos function returns the arccosine value of a number.
  +   *
  +   * @param num A number
  +   * @return The arccosine value of the number
      */
      public static double acos(double num)
      {
  @@ -247,6 +253,9 @@
   
     /**
      * The math:asin function returns the arcsine value of a number. 
  +   *
  +   * @param num A number
  +   * @return The arcsine value of the number
      */
      public static double asin(double num)
      {
  @@ -255,6 +264,9 @@
   
     /**
      * The math:atan function returns the arctangent value of a number. 
  +   *
  +   * @param num A number
  +   * @return The arctangent value of the number
      */
      public static double atan(double num)
      {
  @@ -263,6 +275,10 @@
     
     /**
      * The math:atan2 function returns the angle ( in radians ) from the X axis to a point (y,x). 
  +   *
  +   * @param num1 The X axis value
  +   * @param num2 The Y axis value
  +   * @return The angle (in radians) from the X axis to a point (y,x)
      */
      public static double atan2(double num1, double num2)
      {
  @@ -271,6 +287,9 @@
   
     /**
      * The math:cos function returns cosine of the passed argument. 
  +   *
  +   * @param num A number
  +   * @return The cosine value of the number
      */
      public static double cos(double num)
      {
  @@ -279,6 +298,9 @@
   
     /**
      * The math:exp function returns e (the base of natural logarithms) raised to a power. 
  +   *
  +   * @param num A number
  +   * @return The value of e raised to the given power
      */
      public static double exp(double num)
      {
  @@ -287,6 +309,9 @@
   
     /**
      * The math:log function returns the natural logarithm of a number. 
  +   *
  +   * @param num A number
  +   * @return The natural logarithm of the number
      */
      public static double log(double num)
      {
  @@ -295,6 +320,10 @@
   
     /**
      * The math:power function returns the value of a base expression taken to a specified power. 
  +   *
  +   * @param num1 The base
  +   * @param num2 The power
  +   * @return The value of the base expression taken to the specified power
      */
      public static double power(double num1, double num2)
      {
  @@ -303,6 +332,8 @@
   
     /**
      * The math:random function returns a random number from 0 to 1. 
  +   *
  +   * @return A random double from 0 to 1
      */
      public static double random()
      {
  @@ -311,6 +342,9 @@
   
     /**
      * The math:sin function returns the sine of the number. 
  +   *
  +   * @param num A number
  +   * @return The sine value of the number
      */
      public static double sin(double num)
      {
  @@ -319,6 +353,9 @@
   
     /**
      * The math:sqrt function returns the square root of a number. 
  +   *
  +   * @param num A number
  +   * @return The square root of the number
      */
      public static double sqrt(double num)
      {
  @@ -327,6 +364,9 @@
   
     /**
      * The math:tan function returns the tangent of the number passed as an argument. 
  +   *
  +   * @param num A number
  +   * @return The tangent value of the number
      */
      public static double tan(double num)
      {
  @@ -345,6 +385,9 @@
      *  LOG2E
      *  SQRT1_2
      * </pre>
  +   * @param name The name of the constant
  +   * @param precision The precision
  +   * @return The value of the specified constant to the given precision
      */
      public static double constant(String name, double precision)
      {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.9.10.3  +17 -3     xml-xalan/java/src/org/apache/xalan/lib/sql/DefaultConnectionPool.java
  
  Index: DefaultConnectionPool.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/lib/sql/DefaultConnectionPool.java,v
  retrieving revision 1.9.10.2
  retrieving revision 1.9.10.3
  diff -u -r1.9.10.2 -r1.9.10.3
  --- DefaultConnectionPool.java	12 Sep 2002 16:07:32 -0000	1.9.10.2
  +++ DefaultConnectionPool.java	5 Nov 2002 10:41:32 -0000	1.9.10.3
  @@ -64,6 +64,7 @@
   import java.util.Enumeration;
   import java.util.Properties;
   import java.util.Vector;
  +import java.lang.reflect.Method;
   
   import org.apache.xalan.res.XSLMessages;
   import org.apache.xalan.res.XSLTErrorResources;
  @@ -476,9 +477,22 @@
   
        try
        {
  -// We need to implement the context classloader
  -//       Class.forName( m_driver );
  -        Class cls = Thread.currentThread().getContextClassLoader().loadClass(m_driver);
  +        // We need to implement the context classloader
  +        Class cls = null;
  +        try 
  +        {
  +          Method m = Thread.class.getMethod("getContextClassLoader", null);
  +          ClassLoader classLoader = (ClassLoader) m.invoke(Thread.currentThread(), null);
  +          cls = classLoader.loadClass(m_driver);
  +        } 
  +        catch (Exception e) 
  +        {
  +          cls = Class.forName(m_driver);  
  +        }
  +        
  +        if (cls == null)
  +          cls = Class.forName(m_driver);
  +
           // We have also had problems with drivers unloading
           // load an instance that will get freed with the class.
           m_Driver = cls.newInstance();
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.41.6.3  +2 -8      xml-xalan/java/src/org/apache/xalan/processor/TransformerFactoryImpl.java
  
  Index: TransformerFactoryImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/TransformerFactoryImpl.java,v
  retrieving revision 1.41.6.2
  retrieving revision 1.41.6.3
  diff -u -r1.41.6.2 -r1.41.6.3
  --- TransformerFactoryImpl.java	22 Oct 2002 14:52:35 -0000	1.41.6.2
  +++ TransformerFactoryImpl.java	5 Nov 2002 10:41:32 -0000	1.41.6.3
  @@ -885,14 +885,7 @@
       }
       else
       {
  -      try
  -      {
  -        baseID = SystemIDResolver.getAbsoluteURI(baseID);
  -      }
  -      catch (TransformerException te)
  -      {
  -        throw new TransformerConfigurationException(te);
  -      }
  +      baseID = SystemIDResolver.getAbsoluteURI(baseID);
       }
   
       builder.setSystemId(baseID);
  @@ -916,6 +909,7 @@
       try
       {
         InputSource isource = SAXSource.sourceToInputSource(source);
  +      isource.setSystemId(baseID);
         XMLReader reader = null;
   
         if (source instanceof SAXSource)
  
  
  
  1.38.2.2  +1 -1      xml-xalan/java/src/org/apache/xalan/processor/XSLProcessorVersion.java
  
  Index: XSLProcessorVersion.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/XSLProcessorVersion.java,v
  retrieving revision 1.38.2.1
  retrieving revision 1.38.2.2
  diff -u -r1.38.2.1 -r1.38.2.2
  --- XSLProcessorVersion.java	12 Sep 2002 16:07:32 -0000	1.38.2.1
  +++ XSLProcessorVersion.java	5 Nov 2002 10:41:32 -0000	1.38.2.2
  @@ -118,7 +118,7 @@
      *          When missing, it designates the final and complete
      *          development drop for a release.
      */
  -  public static int MAINTENANCE = 0;
  +  public static int MAINTENANCE = 1;
   
     /**
      * Development Drop Number.
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.29.4.3  +1 -1      xml-xalan/java/src/org/apache/xalan/res/XSLTInfo.properties
  
  Index: XSLTInfo.properties
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/res/XSLTInfo.properties,v
  retrieving revision 1.29.4.2
  retrieving revision 1.29.4.3
  diff -u -r1.29.4.2 -r1.29.4.3
  --- XSLTInfo.properties	12 Sep 2002 16:07:32 -0000	1.29.4.2
  +++ XSLTInfo.properties	5 Nov 2002 10:41:33 -0000	1.29.4.3
  @@ -2,7 +2,7 @@
   #  XSLT Resource File
   #
   
  -version=2.4.0
  +version=2.4.1
   vendor=Apache Software Foundation
   vendor-url=http://xml.apache.org/xalan-j
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.8.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/serialize/Encodings.java
  
  Index: Encodings.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/Encodings.java,v
  retrieving revision 1.8.10.2
  retrieving revision 1.8.10.3
  diff -u -r1.8.10.2 -r1.8.10.3
  
  
  
  1.14.2.3  +2 -18     xml-xalan/java/src/org/apache/xalan/serialize/SerializerToXML.java
  
  Index: SerializerToXML.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/serialize/SerializerToXML.java,v
  retrieving revision 1.14.2.2
  retrieving revision 1.14.2.3
  diff -u -r1.14.2.2 -r1.14.2.3
  --- SerializerToXML.java	20 Sep 2002 22:11:57 -0000	1.14.2.2
  +++ SerializerToXML.java	5 Nov 2002 10:41:33 -0000	1.14.2.3
  @@ -441,8 +441,6 @@
   
       if (null != entitiesFileName)
       {
  -      try
  -      {
           m_charInfo = null;
   
           if (null == m_charInfos)
  @@ -474,26 +472,12 @@
           {
             String absoluteEntitiesFileName;
   
  -          if (entitiesFileName.indexOf(':') < 0)
  -          {
  -            absoluteEntitiesFileName =
  -              SystemIDResolver.getAbsoluteURIFromRelative(entitiesFileName);
  -          }
  -          else
  -          {
  -            absoluteEntitiesFileName =
  -              SystemIDResolver.getAbsoluteURI(entitiesFileName, null);
  -          }
  -
  +          absoluteEntitiesFileName = SystemIDResolver.getAbsoluteURI(entitiesFileName);
  +            
             m_charInfo = new CharInfo(absoluteEntitiesFileName);
   
             m_charInfos.put(entitiesFileName, m_charInfo);
           }
  -      }
  -      catch (javax.xml.transform.TransformerException te)
  -      {
  -        throw new org.apache.xml.utils.WrappedRuntimeException(te);
  -      }
       }
     }
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.131.2.4 +8 -0      xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
  retrieving revision 1.131.2.3
  retrieving revision 1.131.2.4
  diff -u -r1.131.2.3 -r1.131.2.4
  --- TransformerImpl.java	22 Oct 2002 14:52:35 -0000	1.131.2.3
  +++ TransformerImpl.java	5 Nov 2002 10:41:34 -0000	1.131.2.4
  @@ -620,6 +620,14 @@
   
       try
       {
  +        
  +      // Patch for bugzilla #13863.  If we don't reset the namespaceContext
  +      // then we will get a NullPointerException if transformer is reused 
  +      // (for stylesheets that use xsl:key).  Not sure if this should go 
  +      // here or in reset(). -is  
  +      if(getXPathContext().getNamespaceContext() == null){
  +         getXPathContext().setNamespaceContext(getStylesheet());
  +      }
         String base = source.getSystemId();
         
         // If no systemID of the source, use the base of the stylesheet.
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.10.6.3  +24 -10    xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.java
  
  Index: EnvironmentCheck.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xslt/EnvironmentCheck.java,v
  retrieving revision 1.10.6.2
  retrieving revision 1.10.6.3
  diff -u -r1.10.6.2 -r1.10.6.3
  --- EnvironmentCheck.java	12 Sep 2002 16:07:33 -0000	1.10.6.2
  +++ EnvironmentCheck.java	5 Nov 2002 10:41:34 -0000	1.10.6.3
  @@ -1266,27 +1266,31 @@
       jarVersions.put(new Long(905872), "xalan.jar from xalan-j_2_3_D1");
       jarVersions.put(new Long(906122), "xalan.jar from xalan-j_2_3_0");
       jarVersions.put(new Long(906248), "xalan.jar from xalan-j_2_3_1");
  +    jarVersions.put(new Long(983377), "xalan.jar from xalan-j_2_4_D1");    
       jarVersions.put(new Long(997276), "xalan.jar from xalan-j_2_4_0");
  -
  -
  -    // Impossible to get exact number, so don't use this: jarVersions.put(new Long(), "xalan.jar from xalan-j_2_4_D1");
  -
  +    
       jarVersions.put(new Long(857171), "xalan.jar from lotusxsl-j_1_0_1");
       jarVersions.put(new Long(802165), "xalan.jar from lotusxsl-j_2_0_0");
       jarVersions.put(new Long(857692), "xalan.jar from lotusxsl-j_2_2");
  +    jarVersions.put(new Long(906359), "xalan.jar from lotusxsl-j_2_3_1");
  +    jarVersions.put(new Long(857692), "xalan.jar from lotusxsl-j_2_3_2");
  +    jarVersions.put(new Long(1201514), "xalan.jar from lotusxsl-j_2_3_3");
  +    jarVersions.put(new Long(1201599), "xalan.jar from lotusxsl-j_2_3_4");
  +    jarVersions.put(new Long(1201641), "xalan.jar from lotusxsl-j_2_3_5");    
   
       jarVersions.put(new Long(596540), "xsltc.jar from xalan-j_2_2_0");
       jarVersions.put(new Long(590247), "xsltc.jar from xalan-j_2_3_D1");
       jarVersions.put(new Long(589914), "xsltc.jar from xalan-j_2_3_0");
       jarVersions.put(new Long(589915), "xsltc.jar from xalan-j_2_3_1");
  +    jarVersions.put(new Long(1306667), "xsltc.jar from xalan-j_2_4_D1");     
       jarVersions.put(new Long(1328227), "xsltc.jar from xalan-j_2_4_0");
       jarVersions.put(new Long(1268634), "xsltc.jar-bundled from xalan-j_2_3_0");
   
       jarVersions.put(new Long(100196), "xml-apis.jar from xalan-j_2_2_0 or xalan-j_2_3_D1");
       jarVersions.put(new Long(108484), "xml-apis.jar from xalan-j_2_3_0, or xalan-j_2_3_1 from xml-commons-1.0.b2");
       jarVersions.put(new Long(109049), "xml-apis.jar from xalan-j_2_4_0 from xml-commons RIVERCOURT1 branch");
  -    
  -
  +    jarVersions.put(new Long(109049), "xml-apis.jar from xalan-j_2_4_0, lotusxsl-j_2_3_2 or lotusxsl-j_2_3_3 from xml-commons RIVERCOURT1");
  +    jarVersions.put(new Long(113749), "xml-apis.jar from xalan-j_2_4_1, lotusxsl-j_2_3_4 or lotusxsl-j_2_3_5 from factoryfinder-build of xml-commons RIVERCOURT1");
       // If the below were more common I would update it to report 
       //  errors better; but this is so old hardly anyone has it
       jarVersions.put(new Long(424490), "xalan.jar from Xerces Tools releases - ERROR:DO NOT USE!");
  @@ -1309,14 +1313,24 @@
       jarVersions.put(new Long(1812019), "xerces.jar from xalan-j_2_2_0");
       jarVersions.put(new Long(1720292), "xercesImpl.jar from xalan-j_2_3_D1");
       jarVersions.put(new Long(1730053), "xercesImpl.jar from xalan-j_2_3_0 or xalan-j_2_3_1 from xerces-2_0_0");
  +    jarVersions.put(new Long(1728861), "xercesImpl.jar from xalan-j_2_4_D1 from xerces-2_0_1");    
       jarVersions.put(new Long(972027), "xercesImpl.jar from xalan-j_2_4_0 from xerces-2_1");
  +    jarVersions.put(new Long(831587), "xercesImpl.jar from xalan-j_2_4_1 from xerces-2_2");    
  +    jarVersions.put(new Long(1729063), "xercesImpl.jar from lotusxsl-j_2_3_1 from XML4J-4_0_0");
  +    jarVersions.put(new Long(1738551), "xercesImpl.jar from lotusxsl-j_2_3_2 from XML4J-4_0_2");
  +    jarVersions.put(new Long(3243826), "xercesImpl.jar from lotusxsl-j_2_3_3 from XML4J-4_0_5");
  +    jarVersions.put(new Long(1171789), "xercesImpl.jar from lotusxsl-j_2_3_4 from XML4J-4_0_6");
  +    jarVersions.put(new Long(1174955), "xercesImpl.jar from lotusxsl-j_2_3_5 from XML4J-4_0_8");
  +    jarVersions.put(new Long(1173922), "xercesImpl.jar from lotusxsl-j_2_3_6 from XML4J-4_0_9");
  +    jarVersions.put(new Long(831828), "xercesImpl.jar from lotusxsl-j_2_4_0 from XML4J-4_1_1");
   
       jarVersions.put(new Long(37485), "xalanj1compat.jar from xalan-j_2_0_0");
       jarVersions.put(new Long(38100), "xalanj1compat.jar from xalan-j_2_0_1");
   
       jarVersions.put(new Long(18779), "xalanservlet.jar from xalan-j_2_0_0");
       jarVersions.put(new Long(21453), "xalanservlet.jar from xalan-j_2_0_1");
  -    jarVersions.put(new Long(24826), "xalanservlet.jar from xalan-j_2_3_1 or xalan-j_2_4_0");
  +    jarVersions.put(new Long(24826), "xalanservlet.jar from xalan-j_2_3_1 or xalan-j_2_4_1 or lotusxsl-j_2_3_1 to lotusxsl-j-2_3_5");    
  +    jarVersions.put(new Long(24831), "xalanservlet.jar from xalan-j_2_4_1");
   
       // For those who've downloaded JAXP from sun
       jarVersions.put(new Long(5618), "jaxp.jar from jaxp1.0.1");
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.9.10.6  +1 -1      xml-xalan/java/src/org/apache/xalan/xsltc/DOM.java
  
  Index: DOM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/DOM.java,v
  retrieving revision 1.9.10.5
  retrieving revision 1.9.10.6
  diff -u -r1.9.10.5 -r1.9.10.6
  --- DOM.java	22 Oct 2002 14:52:36 -0000	1.9.10.5
  +++ DOM.java	5 Nov 2002 10:41:35 -0000	1.9.10.6
  @@ -116,7 +116,7 @@
       public Node makeNode(int index);
       public Node makeNode(DTMAxisIterator iter);
       public NodeList makeNodeList(int index);
  -    public NodeList makeNodeList(DTMIterator iter);
  +    public NodeList makeNodeList(DTMAxisIterator iter);
       public String getLanguage(int node);
       public int getSize();
       public String getDocumentURI(int node);
  
  
  
  1.2.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/DOMCache.java
  
  Index: DOMCache.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/DOMCache.java,v
  retrieving revision 1.2.10.2
  retrieving revision 1.2.10.3
  diff -u -r1.2.10.2 -r1.2.10.3
  
  
  
  1.3.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/Translet.java
  
  Index: Translet.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/Translet.java,v
  retrieving revision 1.3.10.2
  retrieving revision 1.3.10.3
  diff -u -r1.3.10.2 -r1.3.10.3
  
  
  
  1.7.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/TransletOutputHandler.java
  
  Index: TransletOutputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/TransletOutputHandler.java,v
  retrieving revision 1.7.10.2
  retrieving revision 1.7.10.3
  diff -u -r1.7.10.2 -r1.7.10.3
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.8.10.4  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Compile.java
  
  Index: Compile.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Compile.java,v
  retrieving revision 1.8.10.3
  retrieving revision 1.8.10.4
  diff -u -r1.8.10.3 -r1.8.10.4
  
  
  
  1.15.10.6 +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java
  
  Index: Transform.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java,v
  retrieving revision 1.15.10.5
  retrieving revision 1.15.10.6
  diff -u -r1.15.10.5 -r1.15.10.6
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.10.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt/GetOpt.java
  
  Index: GetOpt.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/getopt/GetOpt.java,v
  retrieving revision 1.1.10.1
  retrieving revision 1.1.10.2
  diff -u -r1.1.10.1 -r1.1.10.2
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.5.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AbsolutePathPattern.java
  
  Index: AbsolutePathPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AbsolutePathPattern.java,v
  retrieving revision 1.5.6.2
  retrieving revision 1.5.6.3
  diff -u -r1.5.6.2 -r1.5.6.3
  
  
  
  1.4.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AncestorPattern.java
  
  Index: AncestorPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AncestorPattern.java,v
  retrieving revision 1.4.6.2
  retrieving revision 1.4.6.3
  diff -u -r1.4.6.2 -r1.4.6.3
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ApplyImports.java
  
  Index: ApplyImports.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ApplyImports.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.12.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ApplyTemplates.java
  
  Index: ApplyTemplates.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ApplyTemplates.java,v
  retrieving revision 1.12.2.2
  retrieving revision 1.12.2.3
  diff -u -r1.12.2.2 -r1.12.2.3
  
  
  
  1.10.6.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AttributeSet.java
  
  Index: AttributeSet.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AttributeSet.java,v
  retrieving revision 1.10.6.1
  retrieving revision 1.10.6.2
  diff -u -r1.10.6.1 -r1.10.6.2
  
  
  
  1.1.14.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AttributeValue.java
  
  Index: AttributeValue.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AttributeValue.java,v
  retrieving revision 1.1.14.1
  retrieving revision 1.1.14.2
  diff -u -r1.1.14.1 -r1.1.14.2
  
  
  
  1.5.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AttributeValueTemplate.java
  
  Index: AttributeValueTemplate.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/AttributeValueTemplate.java,v
  retrieving revision 1.5.6.1
  retrieving revision 1.5.6.2
  diff -u -r1.5.6.1 -r1.5.6.2
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/CallTemplate.java
  
  Index: CallTemplate.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/CallTemplate.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.10.6.4  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/CastExpr.java
  
  Index: CastExpr.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/CastExpr.java,v
  retrieving revision 1.10.6.3
  retrieving revision 1.10.6.4
  diff -u -r1.10.6.3 -r1.10.6.4
  
  
  
  1.19.2.7  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Constants.java,v
  retrieving revision 1.19.2.6
  retrieving revision 1.19.2.7
  diff -u -r1.19.2.6 -r1.19.2.7
  
  
  
  1.8.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/DecimalFormatting.java
  
  Index: DecimalFormatting.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/DecimalFormatting.java,v
  retrieving revision 1.8.6.1
  retrieving revision 1.8.6.2
  diff -u -r1.8.6.1 -r1.8.6.2
  
  
  
  1.12.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/DocumentCall.java
  
  Index: DocumentCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/DocumentCall.java,v
  retrieving revision 1.12.6.2
  retrieving revision 1.12.6.3
  diff -u -r1.12.6.2 -r1.12.6.3
  
  
  
  1.4.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ElementAvailableCall.java
  
  Index: ElementAvailableCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ElementAvailableCall.java,v
  retrieving revision 1.4.6.1
  retrieving revision 1.4.6.2
  diff -u -r1.4.6.1 -r1.4.6.2
  
  
  
  1.8.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/EqualityExpr.java
  
  Index: EqualityExpr.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/EqualityExpr.java,v
  retrieving revision 1.8.6.2
  retrieving revision 1.8.6.3
  diff -u -r1.8.6.2 -r1.8.6.3
  
  
  
  1.11.2.4  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Expression.java
  
  Index: Expression.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Expression.java,v
  retrieving revision 1.11.2.3
  retrieving revision 1.11.2.4
  diff -u -r1.11.2.3 -r1.11.2.4
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FilterParentPath.java
  
  Index: FilterParentPath.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FilterParentPath.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.2.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FlowList.java
  
  Index: FlowList.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FlowList.java,v
  retrieving revision 1.2.6.1
  retrieving revision 1.2.6.2
  diff -u -r1.2.6.1 -r1.2.6.2
  
  
  
  1.12.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ForEach.java
  
  Index: ForEach.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ForEach.java,v
  retrieving revision 1.12.6.2
  retrieving revision 1.12.6.3
  diff -u -r1.12.6.2 -r1.12.6.3
  
  
  
  1.6.2.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FormatNumberCall.java
  
  Index: FormatNumberCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FormatNumberCall.java,v
  retrieving revision 1.6.2.1
  retrieving revision 1.6.2.2
  diff -u -r1.6.2.1 -r1.6.2.2
  
  
  
  1.5.6.4   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FunctionAvailableCall.java
  
  Index: FunctionAvailableCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FunctionAvailableCall.java,v
  retrieving revision 1.5.6.3
  retrieving revision 1.5.6.4
  diff -u -r1.5.6.3 -r1.5.6.4
  
  
  
  1.14.2.6  +14 -7     xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FunctionCall.java
  
  Index: FunctionCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/FunctionCall.java,v
  retrieving revision 1.14.2.5
  retrieving revision 1.14.2.6
  diff -u -r1.14.2.5 -r1.14.2.6
  --- FunctionCall.java	22 Oct 2002 14:52:36 -0000	1.14.2.5
  +++ FunctionCall.java	5 Nov 2002 10:41:37 -0000	1.14.2.6
  @@ -240,9 +240,10 @@
   	    _internal2Java.put(Type.NodeSet, new JavaType(nodeListClass,0)); 
   
   	    _internal2Java.put(Type.ResultTree, new JavaType(nodeClass, 1)); 
  -	    _internal2Java.put(Type.ResultTree, new JavaType(nodeListClass,0));
  -	    _internal2Java.put(Type.ResultTree, new JavaType(objectClass,2));
  -	    _internal2Java.put(Type.ResultTree, new JavaType(stringClass,3));
  +	    _internal2Java.put(Type.ResultTree, new JavaType(nodeListClass, 0));
  +	    _internal2Java.put(Type.ResultTree, new JavaType(objectClass, 2));
  +	    _internal2Java.put(Type.ResultTree, new JavaType(stringClass, 3));
  +	    _internal2Java.put(Type.ResultTree, new JavaType(Double.TYPE, 4));
   
   	    _internal2Java.put(Type.Reference, new JavaType(objectClass,0));
   
  @@ -261,9 +262,9 @@
   
   	    _java2Internal.put(objectClass, Type.Reference);
   
  -	    // Conversions from org.w3c.dom.Node/NodeList are not supported
  -	    // GTM
  +	    // Conversions from org.w3c.dom.Node/NodeList to internal NodeSet
   	    _java2Internal.put(nodeListClass, Type.NodeSet);
  +	    _java2Internal.put(nodeClass, Type.NodeSet);
   	    
   	    // Initialize the extension namespace table
   	    _extensionNamespaceTable.put(EXT_XALAN, "org.apache.xalan.lib.Extensions");
  @@ -602,7 +603,13 @@
   		}
   		else {
   		    // no mapping available
  -		    if (intType instanceof ObjectType) {
  +		    //
  +		    // Allow a Reference type to match any external (Java) type at
  +		    // the moment. The real type checking is performed at runtime.
  +		    if (intType instanceof ReferenceType) {
  +		       currMethodDistance += 1; 
  +		    }
  +		    else if (intType instanceof ObjectType) {
   		        ObjectType object = (ObjectType)intType;
   		        if (extType.getName().equals(object.getJavaClassName()))
   		            currMethodDistance += 0;
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/If.java
  
  Index: If.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/If.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.14.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Include.java
  
  Index: Include.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Include.java,v
  retrieving revision 1.14.2.2
  retrieving revision 1.14.2.3
  diff -u -r1.14.2.2 -r1.14.2.3
  
  
  
  1.10.6.4  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Key.java
  
  Index: Key.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Key.java,v
  retrieving revision 1.10.6.3
  retrieving revision 1.10.6.4
  diff -u -r1.10.6.3 -r1.10.6.4
  
  
  
  1.7.6.4   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/KeyCall.java
  
  Index: KeyCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/KeyCall.java,v
  retrieving revision 1.7.6.3
  retrieving revision 1.7.6.4
  diff -u -r1.7.6.3 -r1.7.6.4
  
  
  
  1.7.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LastCall.java
  
  Index: LastCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LastCall.java,v
  retrieving revision 1.7.6.2
  retrieving revision 1.7.6.3
  diff -u -r1.7.6.2 -r1.7.6.3
  
  
  
  1.16.2.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LiteralElement.java
  
  Index: LiteralElement.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LiteralElement.java,v
  retrieving revision 1.16.2.1
  retrieving revision 1.16.2.2
  diff -u -r1.16.2.1 -r1.16.2.2
  
  
  
  1.4.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LiteralExpr.java
  
  Index: LiteralExpr.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LiteralExpr.java,v
  retrieving revision 1.4.6.1
  retrieving revision 1.4.6.2
  diff -u -r1.4.6.1 -r1.4.6.2
  
  
  
  1.2.14.1  +7 -2      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LocationPathPattern.java
  
  Index: LocationPathPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LocationPathPattern.java,v
  retrieving revision 1.2
  retrieving revision 1.2.14.1
  diff -u -r1.2 -r1.2.14.1
  --- LocationPathPattern.java	6 Jun 2001 14:32:38 -0000	1.2
  +++ LocationPathPattern.java	5 Nov 2002 10:41:37 -0000	1.2.14.1
  @@ -64,6 +64,7 @@
   
   package org.apache.xalan.xsltc.compiler;
   
  +import org.apache.xalan.xsltc.dom.Axis;
   import org.apache.xalan.xsltc.compiler.util.Type;
   import org.apache.xalan.xsltc.compiler.util.*;
   
  @@ -125,12 +126,16 @@
   	return false;
       }
       
  -    /** return last pattern (matching the current node) */
       public abstract StepPattern getKernelPattern();
   	
       public abstract void reduceKernelPattern();
   		
       public abstract boolean isWildcard();
  +
  +    public int getAxis() {
  +	final StepPattern sp = getKernelPattern();
  +	return (sp != null) ? sp.getAxis() : Axis.CHILD;
  +    }
   
       public String toString() {
   	return "root()";
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LogicalExpr.java
  
  Index: LogicalExpr.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LogicalExpr.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.19.6.5  +113 -62   xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Mode.java
  
  Index: Mode.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Mode.java,v
  retrieving revision 1.19.6.4
  retrieving revision 1.19.6.5
  diff -u -r1.19.6.4 -r1.19.6.5
  --- Mode.java	1 Aug 2002 19:55:30 -0000	1.19.6.4
  +++ Mode.java	5 Nov 2002 10:41:37 -0000	1.19.6.5
  @@ -70,11 +70,13 @@
   import java.util.Vector;
   import java.util.Hashtable;
   import java.util.Enumeration;
  -import org.apache.xalan.xsltc.compiler.util.Type;
  -import org.apache.bcel.generic.*;
  +
   import org.apache.bcel.util.*;
  -import org.apache.xalan.xsltc.compiler.util.*;
  +import org.apache.bcel.generic.*;
   import org.apache.xalan.xsltc.DOM;
  +import org.apache.xalan.xsltc.dom.Axis;
  +import org.apache.xalan.xsltc.compiler.util.*;
  +import org.apache.xalan.xsltc.compiler.util.Type;
   
   import org.apache.xml.dtm.DTM;
   
  @@ -106,16 +108,26 @@
       private Vector _templates; 
   
       /**
  -     * Group for patterns with node()-type kernel.
  +     * Group for patterns with node()-type kernel and child axis.
        */
  -    private Vector _nodeGroup = null;
  +    private Vector _childNodeGroup = null;
   
       /**
  -     * Test sequence for patterns with node()-type kernel.
  +     * Test sequence for patterns with node()-type kernel and child axis.
        */
  -    private TestSeq _nodeTestSeq = null;
  +    private TestSeq _childNodeTestSeq = null;
   
       /**
  +     * Group for patterns with node()-type kernel and attribute axis.
  +     */
  +    private Vector _attribNodeGroup = null;
  +
  +    /**
  +     * Test sequence for patterns with node()-type kernel and attribute axis.
  +     */
  +    private TestSeq _attribNodeTestSeq = null;
  +    
  +    /**
        * Group for patterns with id() or key()-type kernel.
        */
       private Vector _idxGroup = null;
  @@ -397,27 +409,31 @@
   	// Find the vector to put this pattern into
   	Vector patterns;
   
  -	// Use the vector for id()/key()/node() patterns if no kernel type
  -	patterns = (kernelType == -1) ? _nodeGroup : _patternGroups[kernelType];
  -
  -	// Create a new vector if needed and insert the very first pattern
  -	if (patterns == null) {
  -	    patterns = new Vector(2);
  -	    patterns.addElement(pattern);
  -
  -	    if (kernelType == -1) {
  -		_nodeGroup = patterns;
  +	if (kernelType == DOM.NO_TYPE) {
  +	    if (pattern.getAxis() == Axis.ATTRIBUTE) {
  +		patterns = (_attribNodeGroup == null) ?
  +		    (_attribNodeGroup = new Vector(2)) : _attribNodeGroup;
   	    }
   	    else {
  -		_patternGroups[kernelType] = patterns;
  +		patterns = (_childNodeGroup == null) ?
  +		    (_childNodeGroup = new Vector(2)) : _childNodeGroup;
   	    }
   	}
  -	// Otherwise make sure patterns are ordered by precedence/priorities
  +	else {
  +	    patterns = (_patternGroups[kernelType] == null) ?
  +		(_patternGroups[kernelType] = new Vector(2)) : 
  +		_patternGroups[kernelType];
  +	}
  +
  +	if (patterns == null) {
  +	    patterns.addElement(pattern);
  +	}
   	else {
   	    boolean inserted = false;
   	    for (int i = 0; i < patterns.size(); i++) {
   		final LocationPathPattern lppToCompare =
   		    (LocationPathPattern)patterns.elementAt(i);
  +
   		if (pattern.noSmallerThan(lppToCompare)) {
   		    inserted = true;
   		    patterns.insertElementAt(pattern, i);
  @@ -431,47 +447,73 @@
       }
       
       /**
  +     * Complete test sequences of a given type by adding all patterns
  +     * from a given group.
  +     */
  +    private void completeTestSequences(int nodeType, Vector patterns) {
  +	if (patterns != null) {
  +	    if (_patternGroups[nodeType] == null) {
  +		_patternGroups[nodeType] = patterns;
  +	    }
  +	    else {
  +		final int m = patterns.size();
  +		for (int j = 0; j < m; j++) {
  +		    addPattern(nodeType, 
  +			(LocationPathPattern) patterns.elementAt(j));
  +		}
  +	    }
  +	}
  +    }
  +
  +    /**
        * Build test sequences. The first step is to complete the test sequences 
        * by including patterns of "*" and "node()" kernel to all element test 
        * sequences, and of "@*" to all attribute test sequences.
        */
       private void prepareTestSequences() {
  -	final Vector names = _stylesheet.getXSLTC().getNamesIndex();
  -
   	final Vector starGroup = _patternGroups[DTM.ELEMENT_NODE];
   	final Vector atStarGroup = _patternGroups[DTM.ATTRIBUTE_NODE];
   
  -	// Complete test sequences with "*", "@*" and "node()"
  -	if (starGroup != null || atStarGroup != null || _nodeGroup != null) {
  +	// Complete test sequence for "text()" with "child::node()"
  +	completeTestSequences(DTM.TEXT_NODE, _childNodeGroup);
  +	
  +	// Complete test sequence for "*" with "child::node()"
  +	completeTestSequences(DTM.ELEMENT_NODE, _childNodeGroup);
  +	
  +	// Complete test sequence for "pi()" with "child::node()"
  +	completeTestSequences(DTM.PROCESSING_INSTRUCTION_NODE, _childNodeGroup);
  +	
  +	// Complete test sequence for "comment()" with "child::node()"
  +	completeTestSequences(DTM.COMMENT_NODE, _childNodeGroup);
  +	
  +	// Complete test sequence for "@*" with "attribute::node()"
  +	completeTestSequences(DTM.ATTRIBUTE_NODE, _attribNodeGroup);
  +
  +	final Vector names = _stylesheet.getXSLTC().getNamesIndex();
  +	if (starGroup != null || atStarGroup != null || 
  +	    _childNodeGroup != null || _attribNodeGroup != null) 
  +	{
   	    final int n = _patternGroups.length;
   
  -	    for (int m, i = DTM.NTYPES; i < n; i++) {
  +	    // Complete test sequence for user-defined types
  +	    for (int i = DTM.NTYPES; i < n; i++) {
   		if (_patternGroups[i] == null) continue;
   
   		final String name = (String) names.elementAt(i - DTM.NTYPES);
   
   		if (isAttributeName(name)) {
   		    // If an attribute then copy "@*" to its test sequence
  -		    m = (atStarGroup != null) ? atStarGroup.size() : 0;
  -		    for (int j = 0; j < m; j++) {
  -			addPattern(i, 
  -			    (LocationPathPattern) atStarGroup.elementAt(j));
  -		    }
  +		    completeTestSequences(i, atStarGroup);
  +
  +		    // And also copy "attribute::node()" to its test sequence
  +		    completeTestSequences(i, _attribNodeGroup);
   		}
   		else {
   		    // If an element then copy "*" to its test sequence
  -		    m = (starGroup != null) ? starGroup.size() : 0;
  -		    for (int j = 0; j < m; j++) {
  -			addPattern(i, 
  -			    (LocationPathPattern) starGroup.elementAt(j));
  -		    }
  +		    completeTestSequences(i, starGroup);
   
  -		    // And also copy "node()" to its test sequence
  -		    m = (_nodeGroup != null) ? _nodeGroup.size() : 0;
  -		    for (int j = 0; j < m; j++) {
  -			addPattern(i, 
  -			    (LocationPathPattern) _nodeGroup.elementAt(j));
  -		    }
  +		    // And also copy "child::node()" to its test sequence
  +		    completeTestSequences(i, _childNodeGroup);
   		}
   	    }
   	}
  @@ -483,19 +525,28 @@
   	    final Vector patterns = _patternGroups[i];
   	    if (patterns != null) {
   		final TestSeq testSeq = new TestSeq(patterns, i, this);
  +// System.out.println("testSeq[" + i + "] = " + testSeq);
   		testSeq.reduce();
   		_testSeq[i] = testSeq;
   		testSeq.findTemplates(_neededTemplates);
   	    }
   	}
   
  -	if ((_nodeGroup != null) && (_nodeGroup.size() > 0)) {
  -	    _nodeTestSeq = new TestSeq(_nodeGroup, -1, this);
  -	    _nodeTestSeq.reduce();
  -	    _nodeTestSeq.findTemplates(_neededTemplates);
  +	if (_childNodeGroup != null && _childNodeGroup.size() > 0) {
  +	    _childNodeTestSeq = new TestSeq(_childNodeGroup, -1, this);
  +	    _childNodeTestSeq.reduce();
  +	    _childNodeTestSeq.findTemplates(_neededTemplates);
  +	}
  +
  +/*
  +	if (_attribNodeGroup != null && _attribNodeGroup.size() > 0) {
  +	    _attribNodeTestSeq = new TestSeq(_attribNodeGroup, -1, this);
  +	    _attribNodeTestSeq.reduce();
  +	    _attribNodeTestSeq.findTemplates(_neededTemplates);
   	}
  +*/
   
  -	if ((_idxGroup != null) && (_idxGroup.size() > 0)) {
  +	if (_idxGroup != null && _idxGroup.size() > 0) {
   	    _idxTestSeq = new TestSeq(_idxGroup, this);
   	    _idxTestSeq.reduce();
   	    _idxTestSeq.findTemplates(_neededTemplates);
  @@ -827,10 +878,10 @@
   
   	// If there is a match on node() we need to replace ihElem
   	// and ihText if the priority of node() is higher
  -	if (_nodeTestSeq != null) {
  +	if (_childNodeTestSeq != null) {
   	    // Compare priorities of node() and "*"
  -	    double nodePrio = _nodeTestSeq.getPriority();
  -	    int    nodePos  = _nodeTestSeq.getPosition();
  +	    double nodePrio = _childNodeTestSeq.getPriority();
  +	    int    nodePos  = _childNodeTestSeq.getPosition();
   	    double elemPrio = (0 - Double.MAX_VALUE);
   	    int    elemPos  = Integer.MIN_VALUE;
   
  @@ -841,7 +892,7 @@
   	    if (elemPrio == Double.NaN || elemPrio < nodePrio || 
   		(elemPrio == nodePrio && elemPos < nodePos)) 
   	    {
  -		ihElem = _nodeTestSeq.compile(classGen, methodGen, ihLoop);
  +		ihElem = _childNodeTestSeq.compile(classGen, methodGen, ihLoop);
   	    }
   
   	    // Compare priorities of node() and text()
  @@ -856,8 +907,8 @@
   	    if (textPrio == Double.NaN || textPrio < nodePrio ||
   	        (textPrio == nodePrio && textPos < nodePos)) 
   	    {
  -		ihText = _nodeTestSeq.compile(classGen, methodGen, ihLoop);
  -		_testSeq[DTM.TEXT_NODE] = _nodeTestSeq;
  +		ihText = _childNodeTestSeq.compile(classGen, methodGen, ihLoop);
  +		_testSeq[DTM.TEXT_NODE] = _childNodeTestSeq;
   	    }
   	}
   
  @@ -927,7 +978,7 @@
   
   	// Match on processing instruction - default: process next node
   	InstructionHandle ihPI = ihLoop;
  -	if (_nodeTestSeq != null) ihPI = ihElem;
  +	if (_childNodeTestSeq != null) ihPI = ihElem;
   	if (_testSeq[DTM.PROCESSING_INSTRUCTION_NODE] != null)
   	    targets[DTM.PROCESSING_INSTRUCTION_NODE] =
   		_testSeq[DTM.PROCESSING_INSTRUCTION_NODE].
  @@ -937,7 +988,7 @@
   	
   	// Match on comments - default: process next node
   	InstructionHandle ihComment = ihLoop;
  -	if (_nodeTestSeq != null) ihComment = ihElem;
  +	if (_childNodeTestSeq != null) ihComment = ihElem;
   	targets[DTM.COMMENT_NODE] = _testSeq[DTM.COMMENT_NODE] != null
   	    ? _testSeq[DTM.COMMENT_NODE].compile(classGen, methodGen, ihComment)
   	    : ihComment;
  @@ -1186,10 +1237,10 @@
   
   	// If there is a match on node() we need to replace ihElem
   	// and ihText if the priority of node() is higher
  -	if (_nodeTestSeq != null) {
  +	if (_childNodeTestSeq != null) {
   	    // Compare priorities of node() and "*"
  -	    double nodePrio = _nodeTestSeq.getPriority();
  -	    int    nodePos  = _nodeTestSeq.getPosition();
  +	    double nodePrio = _childNodeTestSeq.getPriority();
  +	    int    nodePos  = _childNodeTestSeq.getPosition();
   	    double elemPrio = (0 - Double.MAX_VALUE);
   	    int    elemPos  = Integer.MIN_VALUE;
   
  @@ -1201,7 +1252,7 @@
   	    if (elemPrio == Double.NaN || elemPrio < nodePrio || 
   		(elemPrio == nodePrio && elemPos < nodePos)) 
   	    {
  -		ihElem = _nodeTestSeq.compile(classGen, methodGen, ihLoop);
  +		ihElem = _childNodeTestSeq.compile(classGen, methodGen, ihLoop);
   	    }
   
   	    // Compare priorities of node() and text()
  @@ -1217,8 +1268,8 @@
   	    if (textPrio == Double.NaN || textPrio < nodePrio ||
   	        (textPrio == nodePrio && textPos < nodePos)) 
   	    {
  -		ihText = _nodeTestSeq.compile(classGen, methodGen, ihLoop);
  -		_testSeq[DTM.TEXT_NODE] = _nodeTestSeq;
  +		ihText = _childNodeTestSeq.compile(classGen, methodGen, ihLoop);
  +		_testSeq[DTM.TEXT_NODE] = _childNodeTestSeq;
   	    }
   	}
   
  @@ -1286,7 +1337,7 @@
   
   	// Match on processing instruction - default: loop
   	InstructionHandle ihPI = ihLoop;
  -	if (_nodeTestSeq != null) ihPI = ihElem;
  +	if (_childNodeTestSeq != null) ihPI = ihElem;
   	if (_testSeq[DTM.PROCESSING_INSTRUCTION_NODE] != null) {
   	    targets[DTM.PROCESSING_INSTRUCTION_NODE] =
   		_testSeq[DTM.PROCESSING_INSTRUCTION_NODE].
  @@ -1298,7 +1349,7 @@
   	
   	// Match on comments - default: process next node
   	InstructionHandle ihComment = ihLoop;
  -	if (_nodeTestSeq != null) ihComment = ihElem;
  +	if (_childNodeTestSeq != null) ihComment = ihElem;
   	targets[DTM.COMMENT_NODE] = _testSeq[DTM.COMMENT_NODE] != null
   	    ? _testSeq[DTM.COMMENT_NODE].compile(classGen, methodGen, ihComment)
   	    : ihComment;
  
  
  
  1.6.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/NameBase.java
  
  Index: NameBase.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/NameBase.java,v
  retrieving revision 1.6.6.2
  retrieving revision 1.6.6.3
  diff -u -r1.6.6.2 -r1.6.6.3
  
  
  
  1.8.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Number.java
  
  Index: Number.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Number.java,v
  retrieving revision 1.8.6.2
  retrieving revision 1.8.6.3
  diff -u -r1.8.6.2 -r1.8.6.3
  
  
  
  1.12.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Output.java
  
  Index: Output.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Output.java,v
  retrieving revision 1.12.6.2
  retrieving revision 1.12.6.3
  diff -u -r1.12.6.2 -r1.12.6.3
  
  
  
  1.19.6.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Param.java
  
  Index: Param.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Param.java,v
  retrieving revision 1.19.6.1
  retrieving revision 1.19.6.2
  diff -u -r1.19.6.1 -r1.19.6.2
  
  
  
  1.10.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ParameterRef.java
  
  Index: ParameterRef.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ParameterRef.java,v
  retrieving revision 1.10.6.2
  retrieving revision 1.10.6.3
  diff -u -r1.10.6.2 -r1.10.6.3
  
  
  
  1.16.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ParentLocationPath.java
  
  Index: ParentLocationPath.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ParentLocationPath.java,v
  retrieving revision 1.16.2.2
  retrieving revision 1.16.2.3
  diff -u -r1.16.2.2 -r1.16.2.3
  
  
  
  1.3.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ParentPattern.java
  
  Index: ParentPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ParentPattern.java,v
  retrieving revision 1.3.6.1
  retrieving revision 1.3.6.2
  diff -u -r1.3.6.1 -r1.3.6.2
  
  
  
  1.39.2.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Parser.java
  
  Index: Parser.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Parser.java,v
  retrieving revision 1.39.2.4
  retrieving revision 1.39.2.5
  diff -u -r1.39.2.4 -r1.39.2.5
  
  
  
  1.8.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/PositionCall.java
  
  Index: PositionCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/PositionCall.java,v
  retrieving revision 1.8.6.1
  retrieving revision 1.8.6.2
  diff -u -r1.8.6.1 -r1.8.6.2
  
  
  
  1.22.6.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Predicate.java
  
  Index: Predicate.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Predicate.java,v
  retrieving revision 1.22.6.4
  retrieving revision 1.22.6.5
  diff -u -r1.22.6.4 -r1.22.6.5
  
  
  
  1.6.2.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ProcessingInstruction.java
  
  Index: ProcessingInstruction.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/ProcessingInstruction.java,v
  retrieving revision 1.6.2.1
  retrieving revision 1.6.2.2
  diff -u -r1.6.2.1 -r1.6.2.2
  
  
  
  1.3.12.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/QName.java
  
  Index: QName.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/QName.java,v
  retrieving revision 1.3.12.1
  retrieving revision 1.3.12.2
  diff -u -r1.3.12.1 -r1.3.12.2
  
  
  
  1.12.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/RelationalExpr.java
  
  Index: RelationalExpr.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/RelationalExpr.java,v
  retrieving revision 1.12.6.2
  retrieving revision 1.12.6.3
  diff -u -r1.12.6.2 -r1.12.6.3
  
  
  
  1.14.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Sort.java
  
  Index: Sort.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Sort.java,v
  retrieving revision 1.14.6.2
  retrieving revision 1.14.6.3
  diff -u -r1.14.6.2 -r1.14.6.3
  
  
  
  1.30.2.5  +6 -4      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Step.java
  
  Index: Step.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Step.java,v
  retrieving revision 1.30.2.4
  retrieving revision 1.30.2.5
  diff -u -r1.30.2.4 -r1.30.2.5
  --- Step.java	22 Oct 2002 14:52:36 -0000	1.30.2.4
  +++ Step.java	5 Nov 2002 10:41:38 -0000	1.30.2.5
  @@ -256,9 +256,11 @@
   	    translatePredicates(classGen, methodGen);
   	}
   	else {
  -	    // If it is an attribute but not '@*' or '@attr' with a parent
  -	    if ((_axis == Axis.ATTRIBUTE) &&
  -		(_nodeType != NodeTest.ATTRIBUTE) && (!hasParentPattern())) {
  +	    // If it is an attribute but not '@*', '@attr' or '@node()' and
  +	    // has no parent
  +	    if (_axis == Axis.ATTRIBUTE && _nodeType != NodeTest.ATTRIBUTE &&
  +		_nodeType != NodeTest.ANODE && !hasParentPattern()) 
  +	    {
   		int iter = cpg.addInterfaceMethodref(DOM_INTF,
   						     "getTypedAxisIterator",
   						     "(II)"+NODE_ITERATOR_SIG);
  
  
  
  1.14.2.5  +5 -1      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/StepPattern.java
  
  Index: StepPattern.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/StepPattern.java,v
  retrieving revision 1.14.2.4
  retrieving revision 1.14.2.5
  diff -u -r1.14.2.4 -r1.14.2.5
  --- StepPattern.java	1 Oct 2002 20:58:32 -0000	1.14.2.4
  +++ StepPattern.java	5 Nov 2002 10:41:38 -0000	1.14.2.5
  @@ -144,6 +144,10 @@
   	}
       }
       
  +    public int getAxis() {
  +	return _axis;
  +    }
  +
       public void reduceKernelPattern() {
   	_isEpsilon = true;
       }
  
  
  
  1.37.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Stylesheet.java
  
  Index: Stylesheet.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Stylesheet.java,v
  retrieving revision 1.37.2.2
  retrieving revision 1.37.2.3
  diff -u -r1.37.2.2 -r1.37.2.3
  
  
  
  1.6.2.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/SymbolTable.java
  
  Index: SymbolTable.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/SymbolTable.java,v
  retrieving revision 1.6.2.1
  retrieving revision 1.6.2.2
  diff -u -r1.6.2.1 -r1.6.2.2
  
  
  
  1.19.2.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/SyntaxTreeNode.java
  
  Index: SyntaxTreeNode.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/SyntaxTreeNode.java,v
  retrieving revision 1.19.2.4
  retrieving revision 1.19.2.5
  diff -u -r1.19.2.4 -r1.19.2.5
  
  
  
  1.16.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Template.java
  
  Index: Template.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Template.java,v
  retrieving revision 1.16.6.2
  retrieving revision 1.16.6.3
  diff -u -r1.16.6.2 -r1.16.6.3
  
  
  
  1.6.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/TestSeq.java
  
  Index: TestSeq.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/TestSeq.java,v
  retrieving revision 1.6.6.2
  retrieving revision 1.6.6.3
  diff -u -r1.6.6.2 -r1.6.6.3
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Text.java
  
  Index: Text.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Text.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.7.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/TransletOutput.java
  
  Index: TransletOutput.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/TransletOutput.java,v
  retrieving revision 1.7.6.2
  retrieving revision 1.7.6.3
  diff -u -r1.7.6.2 -r1.7.6.3
  
  
  
  1.2.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UnparsedEntityUriCall.java
  
  Index: UnparsedEntityUriCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UnparsedEntityUriCall.java,v
  retrieving revision 1.2.6.1
  retrieving revision 1.2.6.2
  diff -u -r1.2.6.1 -r1.2.6.2
  
  
  
  1.2.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UnresolvedRef.java
  
  Index: UnresolvedRef.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UnresolvedRef.java,v
  retrieving revision 1.2.6.1
  retrieving revision 1.2.6.2
  diff -u -r1.2.6.1 -r1.2.6.2
  
  
  
  1.7.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UseAttributeSets.java
  
  Index: UseAttributeSets.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UseAttributeSets.java,v
  retrieving revision 1.7.6.1
  retrieving revision 1.7.6.2
  diff -u -r1.7.6.1 -r1.7.6.2
  
  
  
  1.22.6.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Variable.java
  
  Index: Variable.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Variable.java,v
  retrieving revision 1.22.6.1
  retrieving revision 1.22.6.2
  diff -u -r1.22.6.1 -r1.22.6.2
  
  
  
  1.13.6.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/VariableBase.java
  
  Index: VariableBase.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/VariableBase.java,v
  retrieving revision 1.13.6.1
  retrieving revision 1.13.6.2
  diff -u -r1.13.6.1 -r1.13.6.2
  
  
  
  1.11.6.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/VariableRef.java
  
  Index: VariableRef.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/VariableRef.java,v
  retrieving revision 1.11.6.2
  retrieving revision 1.11.6.3
  diff -u -r1.11.6.2 -r1.11.6.3
  
  
  
  1.8.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/VariableRefBase.java
  
  Index: VariableRefBase.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/VariableRefBase.java,v
  retrieving revision 1.8.6.1
  retrieving revision 1.8.6.2
  diff -u -r1.8.6.1 -r1.8.6.2
  
  
  
  1.9.10.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/When.java
  
  Index: When.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/When.java,v
  retrieving revision 1.9.10.1
  retrieving revision 1.9.10.2
  diff -u -r1.9.10.1 -r1.9.10.2
  
  
  
  1.35.6.6  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/XSLTC.java
  
  Index: XSLTC.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/XSLTC.java,v
  retrieving revision 1.35.6.5
  retrieving revision 1.35.6.6
  diff -u -r1.35.6.5 -r1.35.6.6
  
  
  
  1.17.2.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/XslAttribute.java
  
  Index: XslAttribute.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/XslAttribute.java,v
  retrieving revision 1.17.2.1
  retrieving revision 1.17.2.2
  diff -u -r1.17.2.1 -r1.17.2.2
  
  
  
  1.16.2.4  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/XslElement.java
  
  Index: XslElement.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/XslElement.java,v
  retrieving revision 1.16.2.3
  retrieving revision 1.16.2.4
  diff -u -r1.16.2.3 -r1.16.2.4
  
  
  
  1.33.10.4 +6 -4      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/xpath.cup
  
  Index: xpath.cup
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/xpath.cup,v
  retrieving revision 1.33.10.3
  retrieving revision 1.33.10.4
  diff -u -r1.33.10.3 -r1.33.10.4
  --- xpath.cup	18 Sep 2002 13:31:52 -0000	1.33.10.3
  +++ xpath.cup	5 Nov 2002 10:41:39 -0000	1.33.10.4
  @@ -353,9 +353,11 @@
               {: RESULT = new AncestorPattern(sp, rpp); :};
   
   StepPattern ::= NodeTestPattern:nt
  -            {: RESULT = new StepPattern(Axis.CHILD,
  -                                        parser.findNodeType(Axis.CHILD, nt),
  -                                        null);
  +            {: 
  +	        final int nodeType = parser.findNodeType(Axis.CHILD, nt);
  +		RESULT = new StepPattern(
  +		     (nodeType == NodeTest.ATTRIBUTE) ? Axis.ATTRIBUTE : Axis.CHILD,
  +		     nodeType, null);
               :}
   
               | NodeTestPattern:nt Predicates:pp
  
  
  
  1.7.10.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/xpath.lex
  
  Index: xpath.lex
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/xpath.lex,v
  retrieving revision 1.7.10.1
  retrieving revision 1.7.10.2
  diff -u -r1.7.10.1 -r1.7.10.2
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.3.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/BooleanType.java
  
  Index: BooleanType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/BooleanType.java,v
  retrieving revision 1.3.6.1
  retrieving revision 1.3.6.2
  diff -u -r1.3.6.1 -r1.3.6.2
  
  
  
  1.5.10.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ErrorMessages.java
  
  Index: ErrorMessages.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ErrorMessages.java,v
  retrieving revision 1.5.10.4
  retrieving revision 1.5.10.5
  diff -u -r1.5.10.4 -r1.5.10.5
  
  
  
  1.5.10.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ErrorMessages_no.java
  
  Index: ErrorMessages_no.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ErrorMessages_no.java,v
  retrieving revision 1.5.10.1
  retrieving revision 1.5.10.2
  diff -u -r1.5.10.1 -r1.5.10.2
  
  
  
  1.12.10.4 +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ErrorMsg.java
  
  Index: ErrorMsg.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ErrorMsg.java,v
  retrieving revision 1.12.10.3
  retrieving revision 1.12.10.4
  diff -u -r1.12.10.3 -r1.12.10.4
  
  
  
  1.3.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/IntType.java
  
  Index: IntType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/IntType.java,v
  retrieving revision 1.3.6.1
  retrieving revision 1.3.6.2
  diff -u -r1.3.6.1 -r1.3.6.2
  
  
  
  1.8.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/MethodGenerator.java
  
  Index: MethodGenerator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/MethodGenerator.java,v
  retrieving revision 1.8.6.2
  retrieving revision 1.8.6.3
  diff -u -r1.8.6.2 -r1.8.6.3
  
  
  
  1.2.10.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/MultiHashtable.java
  
  Index: MultiHashtable.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/MultiHashtable.java,v
  retrieving revision 1.2.10.1
  retrieving revision 1.2.10.2
  diff -u -r1.2.10.1 -r1.2.10.2
  
  
  
  1.9.6.4   +16 -1     xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/NodeSetType.java
  
  Index: NodeSetType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/NodeSetType.java,v
  retrieving revision 1.9.6.3
  retrieving revision 1.9.6.4
  diff -u -r1.9.6.3 -r1.9.6.4
  --- NodeSetType.java	18 Sep 2002 13:31:53 -0000	1.9.6.3
  +++ NodeSetType.java	5 Nov 2002 10:41:43 -0000	1.9.6.4
  @@ -148,6 +148,21 @@
   					 + ")" + NODE_ITERATOR_SIG );
   	   il.append(new INVOKESTATIC(convert));
   	}
  +	else if (clazz.getName().equals("org.w3c.dom.Node")) {
  +	   // w3c Node is on the stack from the external Java function call.
  +	   // call BasisLibrary.node2Iterator() to consume Node and leave 
  +	   // Iterator on the stack. 
  +	   il.append(classGen.loadTranslet());   // push translet onto stack
  +	   il.append(methodGen.loadDOM());   	 // push DOM onto stack
  +	   final int convert = cpg.addMethodref(BASIS_LIBRARY_CLASS,
  +					"node2Iterator",
  +					"("		
  +					 + "Lorg/w3c/dom/Node;"
  +					 + TRANSLET_INTF_SIG 
  +					 + DOM_INTF_SIG 
  +					 + ")" + NODE_ITERATOR_SIG );
  +	   il.append(new INVOKESTATIC(convert));
  +	}
   	else {
   	    ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR,
   		toString(), clazz.getName());
  
  
  
  1.7.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/NodeType.java
  
  Index: NodeType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/NodeType.java,v
  retrieving revision 1.7.6.2
  retrieving revision 1.7.6.3
  diff -u -r1.7.6.2 -r1.7.6.3
  
  
  
  1.3.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/RealType.java
  
  Index: RealType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/RealType.java,v
  retrieving revision 1.3.6.1
  retrieving revision 1.3.6.2
  diff -u -r1.3.6.1 -r1.3.6.2
  
  
  
  1.7.6.3   +34 -3     xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ReferenceType.java
  
  Index: ReferenceType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ReferenceType.java,v
  retrieving revision 1.7.6.2
  retrieving revision 1.7.6.3
  diff -u -r1.7.6.2 -r1.7.6.3
  --- ReferenceType.java	1 Aug 2002 19:55:31 -0000	1.7.6.2
  +++ ReferenceType.java	5 Nov 2002 10:41:43 -0000	1.7.6.3
  @@ -242,12 +242,43 @@
   
       /**
        * Translates a reference into the Java type denoted by <code>clazz</code>. 
  -     * Only conversion allowed is to java.lang.Object.
        */
       public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, 
   			    Class clazz) {
  +	final ConstantPoolGen cpg = classGen.getConstantPool();
  +	final InstructionList il = methodGen.getInstructionList();
  +	
   	if (clazz.getName().equals("java.lang.Object")) {
  -	    methodGen.getInstructionList().append(NOP);	
  +	    il.append(NOP);	
  +	}
  +	else if (clazz == Double.TYPE) {
  +	    translateTo(classGen, methodGen, Type.Real);
  +	}
  +	else if (clazz.getName().equals("java.lang.String")) {
  +	    translateTo(classGen, methodGen, Type.String);
  +	}
  +	else if (clazz.getName().equals("org.w3c.dom.Node")) {
  +	    int index = cpg.addMethodref(BASIS_LIBRARY_CLASS, "referenceToNode", 
  +				         "(" 
  +				         + OBJECT_SIG 
  +				         + DOM_INTF_SIG 
  +				         + ")"
  +				         + "Lorg/w3c/dom/Node;");
  +	    il.append(methodGen.loadDOM());
  +	    il.append(new INVOKESTATIC(index));
  +	}
  +	else if (clazz.getName().equals("org.w3c.dom.NodeList")) {
  +	    int index = cpg.addMethodref(BASIS_LIBRARY_CLASS, "referenceToNodeList", 
  +				         "(" 
  +				         + OBJECT_SIG 
  +				         + DOM_INTF_SIG 
  +				         + ")"
  +				         + "Lorg/w3c/dom/NodeList;");
  +	    il.append(methodGen.loadDOM());
  +	    il.append(new INVOKESTATIC(index));
  +	}
  +	else if (clazz.getName().equals("org.apache.xalan.xsltc.DOM")) {
  +	    translateTo(classGen, methodGen, Type.ResultTree);
   	}
   	else {
   	    ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR,
  
  
  
  1.10.6.5  +8 -6      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ResultTreeType.java
  
  Index: ResultTreeType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/ResultTreeType.java,v
  retrieving revision 1.10.6.4
  retrieving revision 1.10.6.5
  diff -u -r1.10.6.4 -r1.10.6.5
  --- ResultTreeType.java	18 Sep 2002 13:31:53 -0000	1.10.6.4
  +++ ResultTreeType.java	5 Nov 2002 10:41:43 -0000	1.10.6.5
  @@ -370,12 +370,11 @@
   	il.append(new INVOKEINTERFACE(mapping, 3));
   	il.append(DUP);
   
  -	// Create an iterator with all the nodes in the DOM adapter
  +	// Create an iterator for the root node of the DOM adapter
   	final int iter = cpg.addInterfaceMethodref(DOM_INTF,
  -						   "getChildren",
  -						   "(I)"+NODE_ITERATOR_SIG);
  -	il.append(new PUSH(cpg, DTM.ROOT_NODE));
  -	il.append(new INVOKEINTERFACE(iter, 2));
  +						   "getIterator",
  +						   "()"+NODE_ITERATOR_SIG);
  +	il.append(new INVOKEINTERFACE(iter, 1));	
       }
   
       /**
  @@ -444,6 +443,9 @@
           else if (className.equals("java.lang.String")) {
               translateTo(classGen, methodGen, Type.String);
           }
  +        else if (clazz == Double.TYPE) {
  +            translateTo(classGen, methodGen, Type.Real);
  +        }        
   	else {
   	    ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR,
   					toString(), className);
  
  
  
  1.5.6.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/StringType.java
  
  Index: StringType.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/StringType.java,v
  retrieving revision 1.5.6.2
  retrieving revision 1.5.6.3
  diff -u -r1.5.6.2 -r1.5.6.3
  
  
  
  1.9.6.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/Type.java
  
  Index: Type.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/Type.java,v
  retrieving revision 1.9.6.1
  retrieving revision 1.9.6.2
  diff -u -r1.9.6.1 -r1.9.6.2
  
  
  
  1.1.14.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/TypeCheckError.java
  
  Index: TypeCheckError.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/TypeCheckError.java,v
  retrieving revision 1.1.14.2
  retrieving revision 1.1.14.3
  diff -u -r1.1.14.2 -r1.1.14.3
  
  
  
  1.5.2.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/Util.java
  
  Index: Util.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/util/Util.java,v
  retrieving revision 1.5.2.2
  retrieving revision 1.5.2.3
  diff -u -r1.5.2.2 -r1.5.2.3
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.6.10.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java
  
  Index: AbsoluteIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/AbsoluteIterator.java,v
  retrieving revision 1.6.10.4
  retrieving revision 1.6.10.5
  diff -u -r1.6.10.4 -r1.6.10.5
  
  
  
  1.1.14.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java
  
  Index: AnyNodeCounter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java,v
  retrieving revision 1.1.14.2
  retrieving revision 1.1.14.3
  diff -u -r1.1.14.2 -r1.1.14.3
  
  
  
  1.3.10.2  +1 -35     xml-xalan/java/src/org/apache/xalan/xsltc/dom/Axis.java
  
  Index: Axis.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/Axis.java,v
  retrieving revision 1.3.10.1
  retrieving revision 1.3.10.2
  diff -u -r1.3.10.1 -r1.3.10.2
  --- Axis.java	17 Apr 2002 18:13:43 -0000	1.3.10.1
  +++ Axis.java	5 Nov 2002 10:41:44 -0000	1.3.10.2
  @@ -71,40 +71,6 @@
   
   public interface Axis extends org.apache.xml.dtm.Axis
   {
  -/*
  -    public static final int ANCESTOR         =  0;
  -    public static final int ANCESTORORSELF   =  1;
  -    public static final int ATTRIBUTE        =  2;
  -    public static final int CHILD            =  3;
  -    public static final int DESCENDANT       =  4;
  -    public static final int DESCENDANTORSELF =  5;
  -    public static final int FOLLOWING        =  6;
  -    public static final int FOLLOWINGSIBLING =  7;
  -    public static final int NAMESPACEDECLS   =  8;
  -    public static final int NAMESPACE        =  9;
  -    public static final int PARENT           = 10;
  -    public static final int PRECEDING        = 11;
  -    public static final int PRECEDINGSIBLING = 12;
  -    public static final int SELF             = 13;
  -	
  -    public static final String[] names = {
  -	"ancestor",
  -	"ancestor-or-self",
  -	"attribute",
  -	"child",
  -	"descendant",
  -	"descendant-or-self",
  -	"following",
  -	"following-sibling",
  -	"namespace",
  -	"namespace-decls",
  -	"parent",
  -	"preceding",
  -	"preceding-sibling",
  -	"self"
  -    };
  -    */
  -
       public static final boolean[] isReverse = {
   	true,  // ancestor
   	true,  // ancestor-or-self
  
  
  
  1.6.2.4   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java
  
  Index: CurrentNodeListIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/CurrentNodeListIterator.java,v
  retrieving revision 1.6.2.3
  retrieving revision 1.6.2.4
  diff -u -r1.6.2.3 -r1.6.2.4
  
  
  
  1.11.10.7 +1 -1      xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMAdapter.java
  
  Index: DOMAdapter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMAdapter.java,v
  retrieving revision 1.11.10.6
  retrieving revision 1.11.10.7
  diff -u -r1.11.10.6 -r1.11.10.7
  --- DOMAdapter.java	22 Oct 2002 14:52:37 -0000	1.11.10.6
  +++ DOMAdapter.java	5 Nov 2002 10:41:44 -0000	1.11.10.7
  @@ -368,7 +368,7 @@
         return _dom.makeNodeList(index);
       }
   
  -    public NodeList makeNodeList(DTMIterator iter) 
  +    public NodeList makeNodeList(DTMAxisIterator iter) 
       {
         return _dom.makeNodeList(iter);
       }
  
  
  
  1.2.2.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMBuilder.java
  
  Index: DOMBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMBuilder.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  
  
  
  1.68.2.14 +7 -11     xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMImpl.java
  
  Index: DOMImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMImpl.java,v
  retrieving revision 1.68.2.13
  retrieving revision 1.68.2.14
  diff -u -r1.68.2.13 -r1.68.2.14
  --- DOMImpl.java	22 Oct 2002 14:52:37 -0000	1.68.2.13
  +++ DOMImpl.java	5 Nov 2002 10:41:44 -0000	1.68.2.14
  @@ -414,23 +414,19 @@
   	if (_nodeLists == null) {
               _nodeLists = new NodeList[_namesArray.length + DTM.NTYPES];
   	}
  -      try
  -      {        
  -// %HZ%:  Should we create an org.apache.xpath.axes.SingletonIterator class?
         return _nodeLists[index] != null
                  ? _nodeLists[index]
  -               : (_nodeLists[index] = new DTMNodeList(new org.apache.xpath.axes.SingletonIterator(index)));
  -      }
  -      catch (javax.xml.transform.TransformerException te)
  -      {return null;}
  +               : (_nodeLists[index] =
  +                         new DTMAxisIterNodeList(this,
  +                                                 new SingletonIterator(index)));
       }
   
       /**
        * Create an org.w3c.dom.NodeList from a node iterator
        * The iterator most be started before this method is called
        */
  -    public NodeList makeNodeList(DTMIterator iter) {
  -        return new DTMNodeList(iter);
  +    public NodeList makeNodeList(DTMAxisIterator iter) {
  +        return new DTMAxisIterNodeList(this, iter);
       }
   
       /**
  @@ -439,7 +435,7 @@
       private NodeList getEmptyNodeList() {
         return EmptyNodeList != null
                ? EmptyNodeList
  -               : (EmptyNodeList = new DTMNodeList(null));
  +               : (EmptyNodeList = new DTMNodeListBase());
       }
   
       /**
  
  
  
  1.6.10.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/DocumentCache.java
  
  Index: DocumentCache.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DocumentCache.java,v
  retrieving revision 1.6.10.4
  retrieving revision 1.6.10.5
  diff -u -r1.6.10.4 -r1.6.10.5
  
  
  
  1.8.10.4  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/DupFilterIterator.java
  
  Index: DupFilterIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DupFilterIterator.java,v
  retrieving revision 1.8.10.3
  retrieving revision 1.8.10.4
  diff -u -r1.8.10.3 -r1.8.10.4
  
  
  
  1.1.4.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/ExtendedSAX.java
  
  Index: ExtendedSAX.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/ExtendedSAX.java,v
  retrieving revision 1.1.4.2
  retrieving revision 1.1.4.3
  diff -u -r1.1.4.2 -r1.1.4.3
  
  
  
  1.4.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilterIterator.java
  
  Index: FilterIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilterIterator.java,v
  retrieving revision 1.4.10.2
  retrieving revision 1.4.10.3
  diff -u -r1.4.10.2 -r1.4.10.3
  
  
  
  1.5.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java
  
  Index: FilteredStepIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/FilteredStepIterator.java,v
  retrieving revision 1.5.10.2
  retrieving revision 1.5.10.3
  diff -u -r1.5.10.2 -r1.5.10.3
  
  
  
  1.1.2.2   +1 -1      xml-xalan/java/src/org/apache/xalan/xsltc/dom/ForwardPositionIterator.java
  
  Index: ForwardPositionIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/ForwardPositionIterator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  
  
  
  1.7.10.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/KeyIndex.java
  
  Index: KeyIndex.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/KeyIndex.java,v
  retrieving revision 1.7.10.4
  retrieving revision 1.7.10.5
  diff -u -r1.7.10.4 -r1.7.10.5
  
  
  
  1.6.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/MatchingIterator.java
  
  Index: MatchingIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/MatchingIterator.java,v
  retrieving revision 1.6.10.2
  retrieving revision 1.6.10.3
  diff -u -r1.6.10.2 -r1.6.10.3
  
  
  
  1.16.10.7 +3 -5      xml-xalan/java/src/org/apache/xalan/xsltc/dom/MultiDOM.java
  
  Index: MultiDOM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/MultiDOM.java,v
  retrieving revision 1.16.10.6
  retrieving revision 1.16.10.7
  diff -u -r1.16.10.6 -r1.16.10.7
  --- MultiDOM.java	22 Oct 2002 14:52:38 -0000	1.16.10.6
  +++ MultiDOM.java	5 Nov 2002 10:41:45 -0000	1.16.10.7
  @@ -80,7 +80,6 @@
   import org.apache.xml.dtm.ref.DTMDefaultBase;
   import org.apache.xml.dtm.DTM;
   import org.apache.xml.dtm.DTMManager;
  -import org.apache.xml.dtm.DTMIterator;
   
   public final class MultiDOM implements DOM {
   
  @@ -161,7 +160,7 @@
           }
       
           public boolean isReverse() {
  -            return (_source == null) ? false : _source.isReverse();
  +	    return Axis.isReverse[_axis];
           }
       
           public void setMark() {
  @@ -178,7 +177,6 @@
               clone._mask = _mask;
               return clone;
           }
  -
       } // end of AxisIterator
   
   
  @@ -533,7 +531,7 @@
           return _adapters[getDTMId(index)].makeNodeList(index & CLR);
       }
   
  -    public NodeList makeNodeList(DTMIterator iter) {
  +    public NodeList makeNodeList(DTMAxisIterator iter) {
           // TODO: gather nodes from all DOMs ?
           return _adapters[0].makeNodeList(iter);
       }
  
  
  
  1.6.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeCounter.java
  
  Index: NodeCounter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeCounter.java,v
  retrieving revision 1.6.10.2
  retrieving revision 1.6.10.3
  diff -u -r1.6.10.2 -r1.6.10.3
  
  
  
  1.6.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java
  
  Index: NodeIteratorBase.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeIteratorBase.java,v
  retrieving revision 1.6.10.2
  retrieving revision 1.6.10.3
  diff -u -r1.6.10.2 -r1.6.10.3
  
  
  
  1.9.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/NthIterator.java
  
  Index: NthIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NthIterator.java,v
  retrieving revision 1.9.10.2
  retrieving revision 1.9.10.3
  diff -u -r1.9.10.2 -r1.9.10.3
  
  
  
  1.1.2.17  +8 -11     xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/SAXImpl.java
  
  Index: SAXImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/SAXImpl.java,v
  retrieving revision 1.1.2.16
  retrieving revision 1.1.2.17
  diff -u -r1.1.2.16 -r1.1.2.17
  --- SAXImpl.java	22 Oct 2002 14:52:38 -0000	1.1.2.16
  +++ SAXImpl.java	5 Nov 2002 10:41:45 -0000	1.1.2.17
  @@ -293,22 +293,19 @@
           if (_nodeLists == null) {
               _nodeLists = new NodeList[_namesArray.length + DTM.NTYPES];
           }
  -        try {
  -            return (_nodeLists[index] != null)
  -                     ? _nodeLists[index]
  -                     : (_nodeLists[index] =
  -                             new DTMNodeList(new org.apache.xpath.axes
  -                                                    .SingletonIterator(index)));
  -        } catch (javax.xml.transform.TransformerException te) { }
  -        return null;
  +        return (_nodeLists[index] != null)
  +                 ? _nodeLists[index]
  +                 : (_nodeLists[index] =
  +                         new DTMAxisIterNodeList(this,
  +                                                 new SingletonIterator(index)));
       }
   
       /**
        * Create an org.w3c.dom.NodeList from a node iterator
        * The iterator most be started before this method is called
        */
  -    public NodeList makeNodeList(DTMIterator iter) {
  -        return new DTMNodeList(iter);
  +    public NodeList makeNodeList(DTMAxisIterator iter) {
  +        return new DTMAxisIterNodeList(this, iter);
       }
   
       /**
  @@ -317,7 +314,7 @@
       private NodeList getEmptyNodeList() {
           return (_emptyNodeList != null)
                          ? _emptyNodeList
  -                       : (_emptyNodeList = new DTMNodeList(null));
  +                       : (_emptyNodeList = new DTMNodeListBase());
       }
   
       /**
  
  
  
  1.2.2.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/SortingIterator.java
  
  Index: SortingIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/SortingIterator.java,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  
  
  
  1.11.10.4 +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/dom/StepIterator.java
  
  Index: StepIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/StepIterator.java,v
  retrieving revision 1.11.10.3
  retrieving revision 1.11.10.4
  diff -u -r1.11.10.3 -r1.11.10.4
  
  
  
  1.11.2.4  +7 -2      xml-xalan/java/src/org/apache/xalan/xsltc/dom/UnionIterator.java
  
  Index: UnionIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/UnionIterator.java,v
  retrieving revision 1.11.2.3
  retrieving revision 1.11.2.4
  diff -u -r1.11.2.3 -r1.11.2.4
  --- UnionIterator.java	22 Oct 2002 14:52:38 -0000	1.11.2.3
  +++ UnionIterator.java	5 Nov 2002 10:41:45 -0000	1.11.2.4
  @@ -240,10 +240,15 @@
       }
   
       public DTMAxisIterator reset() {
  -	super.reset();
   	for (int i = 0; i < _free; i++) {
   	    _heap[i].iterator.reset();
  +	    _heap[i].step();
   	}
  +	// build heap
  +	for (int i = (_heapSize = _free)/2; i >= 0; i--) {
  +	    heapify(i);
  +	}
  +	_returnedLast = END;
   	return resetPosition();
       }
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.35.2.10 +84 -17    xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java
  
  Index: BasisLibrary.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/BasisLibrary.java,v
  retrieving revision 1.35.2.9
  retrieving revision 1.35.2.10
  diff -u -r1.35.2.9 -r1.35.2.10
  --- BasisLibrary.java	22 Oct 2002 14:52:39 -0000	1.35.2.9
  +++ BasisLibrary.java	5 Nov 2002 10:41:47 -0000	1.35.2.10
  @@ -80,7 +80,6 @@
   import org.apache.xalan.xsltc.*;
   import org.apache.xalan.xsltc.DOM;
   import org.apache.xalan.xsltc.dom.DOMAdapter;
  -import org.apache.xalan.xsltc.NodeIterator;
   import org.apache.xalan.xsltc.dom.Axis;
   import org.apache.xalan.xsltc.dom.DOMAdapter;
   import org.apache.xalan.xsltc.dom.MultiDOM;
  @@ -493,7 +492,7 @@
           return "number";
         else if (obj instanceof DOMAdapter)
           return "RTF";
  -      else if (obj instanceof NodeIterator)
  +      else if (obj instanceof DTMAxisIterator)
           return "node-set";
         else
           return "unknown";
  @@ -782,7 +781,7 @@
   	    DTMAxisIterator iter = ((DTMAxisIterator)left).reset();
   
   	    if (right instanceof DTMAxisIterator) {
  -		result = compare(iter, (NodeIterator)right, op, dom);
  +		result = compare(iter, (DTMAxisIterator)right, op, dom);
   	    }
   	    else if (right instanceof String) {
   		result = compare(iter, (String)right, op, dom);
  @@ -977,11 +976,76 @@
   	    return null;
   	}
       }
  +    
  +    /**
  +     * Utility function: used to convert reference to org.w3c.dom.NodeList.
  +     */
  +    public static NodeList referenceToNodeList(Object obj, DOM dom) {
  +        if (obj instanceof Node || obj instanceof DTMAxisIterator) {
  +            DTMAxisIterator iter = referenceToNodeSet(obj);
  +            return dom.makeNodeList(iter);
  +        }
  +        else if (obj instanceof DOM) {
  +          dom = (DOM)obj;
  +          return dom.makeNodeList(DTMDefaultBase.ROOTNODE);
  +        }
  +	else {
  +	    final String className = obj.getClass().getName();
  +	    runTimeError(DATA_CONVERSION_ERR, "reference", className);
  +	    return null;
  +	}
  +    }
   
       /**
  +     * Utility function: used to convert reference to org.w3c.dom.Node.
  +     */
  +    public static org.w3c.dom.Node referenceToNode(Object obj, DOM dom) {
  +        if (obj instanceof Node || obj instanceof DTMAxisIterator) {
  +            DTMAxisIterator iter = referenceToNodeSet(obj);
  +            return dom.makeNode(iter);
  +        }
  +        else if (obj instanceof DOM) {
  +          dom = (DOM)obj;
  +          DTMAxisIterator iter = dom.getChildren(DTMDefaultBase.ROOTNODE);
  +          return dom.makeNode(iter);
  +        }
  +	else {
  +	    final String className = obj.getClass().getName();
  +	    runTimeError(DATA_CONVERSION_ERR, "reference", className);
  +	    return null;
  +	}
  +    }
  +    
  +    /**
  +     * Utility function used to convert a w3c Node into an internal DOM iterator. 
  +     */
  +    public static DTMAxisIterator node2Iterator(org.w3c.dom.Node node,
  +	Translet translet, DOM dom) 
  +    {
  +        final org.w3c.dom.Node inNode = node;
  +        // Create a dummy NodeList which only contains the given node to make 
  +        // use of the nodeList2Iterator() interface.
  +        org.w3c.dom.NodeList nodelist = new org.w3c.dom.NodeList() {            
  +            public int getLength() {
  +                return 1;
  +            }
  +            
  +            public org.w3c.dom.Node item(int index) {
  +                if (index == 0)
  +                    return inNode;
  +                else
  +                    return null;
  +            }
  +        };
  +        
  +        return nodeList2Iterator(nodelist, translet, dom);
  +    }
  +    
  +    /**
        * Utility function used to copy a node list to be under a parent node.
        */
  -    private static void copyNodes(org.w3c.dom.NodeList nodeList, org.w3c.dom.Document doc, org.w3c.dom.Node parent)
  +    private static void copyNodes(org.w3c.dom.NodeList nodeList, 
  +	org.w3c.dom.Document doc, org.w3c.dom.Node parent)
       {
           final int size = nodeList.getLength();
   
  @@ -990,10 +1054,6 @@
           {
               org.w3c.dom.Node curr = nodeList.item(i);
               int nodeType = curr.getNodeType();
  -            if (nodeType == org.w3c.dom.Node.DOCUMENT_NODE) {
  -                // ignore the root node of node list
  -                continue;
  -            }
               String value = null;
               try {
                   value = curr.getNodeValue();
  @@ -1006,7 +1066,8 @@
               org.w3c.dom.Node newNode = null; 
               switch (nodeType){
                   case org.w3c.dom.Node.ATTRIBUTE_NODE:
  -                     newNode = doc.createAttributeNS(curr.getNamespaceURI(), nodeName);
  +                     newNode = doc.createAttributeNS(curr.getNamespaceURI(), 
  +			nodeName);
                        break;
                   case org.w3c.dom.Node.CDATA_SECTION_NODE: 
                        newNode = doc.createCDATASection(value);
  @@ -1017,19 +1078,25 @@
                   case org.w3c.dom.Node.DOCUMENT_FRAGMENT_NODE: 
                        newNode = doc.createDocumentFragment();
                        break;
  -                case org.w3c.dom.Node.DOCUMENT_TYPE_NODE: 
  -                     // nothing ?
  +                case org.w3c.dom.Node.DOCUMENT_NODE:
  +                     newNode = doc.createElementNS(null, "__document__");
  +                     copyNodes(curr.getChildNodes(), doc, newNode);
  +                     break;
  +                case org.w3c.dom.Node.DOCUMENT_TYPE_NODE:
  +                     // nothing?
                        break;
                   case org.w3c.dom.Node.ELEMENT_NODE: 
  -                     // For Element node, also copy the children and the attributes.
  -                     org.w3c.dom.Element element = doc.createElementNS(curr.getNamespaceURI(), nodeName);
  +                     // For Element node, also copy the children and the 
  +		     // attributes.
  +                     org.w3c.dom.Element element = doc.createElementNS(
  +			curr.getNamespaceURI(), nodeName);
                        if (curr.hasAttributes())
                        {
                          org.w3c.dom.NamedNodeMap attributes = curr.getAttributes();
  -                       for (int k = 0; k < attributes.getLength(); k++)
  -                       {
  +                       for (int k = 0; k < attributes.getLength(); k++) {
                            org.w3c.dom.Node attr = attributes.item(k);
  -                         element.setAttribute(attr.getNodeName(), attr.getNodeValue());
  +                         element.setAttribute(attr.getNodeName(), 
  +			    attr.getNodeValue());
                          }
                        }
                        copyNodes(curr.getChildNodes(), doc, element);
  
  
  
  1.3.2.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/Constants.java
  
  Index: Constants.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/Constants.java,v
  retrieving revision 1.3.2.2
  retrieving revision 1.3.2.3
  diff -u -r1.3.2.2 -r1.3.2.3
  
  
  
  1.23.2.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/DefaultSAXOutputHandler.java
  
  Index: DefaultSAXOutputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/DefaultSAXOutputHandler.java,v
  retrieving revision 1.23.2.1
  retrieving revision 1.23.2.2
  diff -u -r1.23.2.1 -r1.23.2.2
  
  
  
  1.1.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/ErrorMessages.java
  
  Index: ErrorMessages.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/ErrorMessages.java,v
  retrieving revision 1.1.10.2
  retrieving revision 1.1.10.3
  diff -u -r1.1.10.2 -r1.1.10.3
  
  
  
  1.10.2.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/SAXAdapter.java
  
  Index: SAXAdapter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/SAXAdapter.java,v
  retrieving revision 1.10.2.4
  retrieving revision 1.10.2.5
  diff -u -r1.10.2.4 -r1.10.2.5
  
  
  
  1.3.2.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/StringValueHandler.java
  
  Index: StringValueHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/StringValueHandler.java,v
  retrieving revision 1.3.2.1
  retrieving revision 1.3.2.2
  diff -u -r1.3.2.1 -r1.3.2.2
  
  
  
  1.54.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TextOutput.java
  
  Index: TextOutput.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TextOutput.java,v
  retrieving revision 1.54.2.2
  retrieving revision 1.54.2.3
  diff -u -r1.54.2.2 -r1.54.2.3
  
  
  
  1.2.2.2   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletLoader.java
  
  Index: TransletLoader.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletLoader.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  
  
  
  1.7.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletOutputBase.java
  
  Index: TransletOutputBase.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/TransletOutputBase.java,v
  retrieving revision 1.7.10.2
  retrieving revision 1.7.10.3
  diff -u -r1.7.10.2 -r1.7.10.3
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.8.4.3   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/SAXHTMLOutput.java
  
  Index: SAXHTMLOutput.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/runtime/output/SAXHTMLOutput.java,v
  retrieving revision 1.8.4.2
  retrieving revision 1.8.4.3
  diff -u -r1.8.4.2 -r1.8.4.3
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.11.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/DOM2SAX.java
  
  Index: DOM2SAX.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/DOM2SAX.java,v
  retrieving revision 1.11.2.2
  retrieving revision 1.11.2.3
  diff -u -r1.11.2.2 -r1.11.2.3
  
  
  
  1.10.2.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/SAX2DOM.java
  
  Index: SAX2DOM.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/SAX2DOM.java,v
  retrieving revision 1.10.2.2
  retrieving revision 1.10.2.3
  diff -u -r1.10.2.2 -r1.10.2.3
  
  
  
  1.5.2.4   +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/TemplatesHandlerImpl.java
  
  Index: TemplatesHandlerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TemplatesHandlerImpl.java,v
  retrieving revision 1.5.2.3
  retrieving revision 1.5.2.4
  diff -u -r1.5.2.3 -r1.5.2.4
  
  
  
  1.10.2.5  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/TemplatesImpl.java
  
  Index: TemplatesImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TemplatesImpl.java,v
  retrieving revision 1.10.2.4
  retrieving revision 1.10.2.5
  diff -u -r1.10.2.4 -r1.10.2.5
  
  
  
  1.1.10.2  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/TrAXFilter.java
  
  Index: TrAXFilter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TrAXFilter.java,v
  retrieving revision 1.1.10.1
  retrieving revision 1.1.10.2
  diff -u -r1.1.10.1 -r1.1.10.2
  
  
  
  1.34.2.8  +7 -3      xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java
  
  Index: TransformerFactoryImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerFactoryImpl.java,v
  retrieving revision 1.34.2.7
  retrieving revision 1.34.2.8
  diff -u -r1.34.2.7 -r1.34.2.8
  --- TransformerFactoryImpl.java	22 Oct 2002 14:52:39 -0000	1.34.2.7
  +++ TransformerFactoryImpl.java	5 Nov 2002 10:41:47 -0000	1.34.2.8
  @@ -1189,8 +1189,12 @@
               String systemId = source.getSystemId();
               if (systemId != null) {
             	String baseName = Util.baseName(systemId);
  -                if (baseName != null)
  -            	    transletBaseName = Util.noExtName(baseName);
  +                //if (baseName != null)
  +            	//   transletBaseName = Util.noExtName(baseName);
  +		if (baseName != null) {
  +		    baseName = Util.noExtName(baseName);
  +		    transletBaseName = Util.toJavaName(baseName);
  +		}
               }
         	}
         
  
  
  
  1.6.10.7  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerHandlerImpl.java
  
  Index: TransformerHandlerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerHandlerImpl.java,v
  retrieving revision 1.6.10.6
  retrieving revision 1.6.10.7
  diff -u -r1.6.10.6 -r1.6.10.7
  
  
  
  1.37.2.9  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
  retrieving revision 1.37.2.8
  retrieving revision 1.37.2.9
  diff -u -r1.37.2.8 -r1.37.2.9
  
  
  
  1.3.10.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/trax/XSLTCSource.java
  
  Index: XSLTCSource.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/XSLTCSource.java,v
  retrieving revision 1.3.10.2
  retrieving revision 1.3.10.3
  diff -u -r1.3.10.2 -r1.3.10.3
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.14.3  +0 -0      xml-xalan/java/src/org/apache/xalan/xsltc/util/IntegerArray.java
  
  Index: IntegerArray.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/util/IntegerArray.java,v
  retrieving revision 1.1.14.2
  retrieving revision 1.1.14.3
  diff -u -r1.1.14.2 -r1.1.14.3
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.13.8.3  +1 -1      xml-xalan/java/src/org/apache/xml/dtm/ref/DTMNodeProxy.java
  
  Index: DTMNodeProxy.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/DTMNodeProxy.java,v
  retrieving revision 1.13.8.2
  retrieving revision 1.13.8.3
  diff -u -r1.13.8.2 -r1.13.8.3
  --- DTMNodeProxy.java	12 Sep 2002 16:07:36 -0000	1.13.8.2
  +++ DTMNodeProxy.java	5 Nov 2002 10:41:49 -0000	1.13.8.3
  @@ -377,7 +377,7 @@
       // Annoyingly, AxisIterators do not currently implement DTMIterator, so
       // we can't just wap DTMNodeList around an Axis.CHILD iterator.
       // Instead, we've created a special-case operating mode for that object.
  -    return new DTMNodeList(dtm,node);
  +    return new DTMChildIterNodeList(dtm,node);
   
       // throw new DTMDOMException(DOMException.NOT_SUPPORTED_ERR);
     }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.10.2  +0 -0      xml-xalan/java/src/org/apache/xml/utils/ListingErrorHandler.java
  
  Index: ListingErrorHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/utils/ListingErrorHandler.java,v
  retrieving revision 1.1.10.1
  retrieving revision 1.1.10.2
  diff -u -r1.1.10.1 -r1.1.10.2
  
  
  
  1.15.2.2  +155 -157  xml-xalan/java/src/org/apache/xml/utils/SystemIDResolver.java
  
  Index: SystemIDResolver.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/utils/SystemIDResolver.java,v
  retrieving revision 1.15.2.1
  retrieving revision 1.15.2.2
  diff -u -r1.15.2.1 -r1.15.2.2
  --- SystemIDResolver.java	1 Aug 2002 19:55:31 -0000	1.15.2.1
  +++ SystemIDResolver.java	5 Nov 2002 10:41:49 -0000	1.15.2.2
  @@ -57,7 +57,6 @@
   package org.apache.xml.utils;
   
   import javax.xml.transform.TransformerException;
  -
   import org.apache.xml.utils.URI;
   import org.apache.xml.utils.URI.MalformedURIException;
   
  @@ -78,196 +77,195 @@
   {
   
     /**
  -   * Get absolute URI from a given relative URI. 
  +   * Get an absolute URI from a given relative URI (local path). 
      * 
  -   * <p>The URI is resolved relative to the system property "user.dir" 
  -   * if it is available; if not (i.e. in an Applet perhaps which 
  -   * throws SecurityException) then it is currently resolved 
  -   * relative to "" or a blank string.  Also replaces all 
  -   * backslashes with forward slashes.</p>
  +   * <p>The relative URI is a local filesystem path. The path can be
  +   * absolute or relative. If it is a relative path, it is resolved relative 
  +   * to the system property "user.dir" if it is available; if not (i.e. in an 
  +   * Applet perhaps which throws SecurityException) then we just return the
  +   * relative path. The space and backslash characters are also replaced to
  +   * generate a good absolute URI.</p>
      *
  -   * @param uri Relative URI to resolve
  +   * @param localPath The relative URI to resolve
      *
  -   * @return Resolved absolute URI or the input relative URI if 
  -   * it could not be resolved.
  +   * @return Resolved absolute URI
      */
  -  public static String getAbsoluteURIFromRelative(String uri)
  +  public static String getAbsoluteURIFromRelative(String localPath)
     {
  -
  -    String curdir = "";
  -    try {
  -      curdir = System.getProperty("user.dir");
  -    }
  -    catch (SecurityException se) {}// user.dir not accessible from applet
  -
  -    if (null != curdir)
  +    // If the local path is absolute, just prepend the scheme part to
  +    // generate the absolute URI.
  +    String urlString = localPath;
  +    if (isAbsolutePath(localPath))
       {
  -      String base;
  -      if (curdir.startsWith(File.separator))
  -        base = "file://" + curdir;
  -      else
  -        base = "file:///" + curdir;
  -        
  -      if (uri != null)
  -        // Note: this should arguably stick in a '/' forward 
  -        //  slash character instead of the file separator, 
  -        //  since we're effectively assuming it's a hierarchical 
  -        //  URI and adding in the abs_path separator -sc
  -        uri = base + System.getProperty("file.separator") + uri;
  +      if (localPath.startsWith(File.separator))
  +        urlString = "file://" + localPath;
         else
  -        uri = base + System.getProperty("file.separator");
  +        urlString = "file:///" + localPath;      
       }
  +    // If it is a relative path, the path is resolved against the current
  +    // "user.dir" system property.
  +    else
  +    {
  +      String absolutePath = localPath;
  +      try {
  +        absolutePath = new File(localPath).getAbsolutePath();
  +      }
  +      // user.dir not accessible from applet
  +      catch (SecurityException se) {}
   
  -    if (null != uri && (uri.indexOf('\\') > -1))
  -      uri = uri.replace('\\', '/');
  -
  -    return uri;
  +      if (null != absolutePath)
  +      {
  +        if (absolutePath.startsWith(File.separator))
  +          urlString = "file://" + absolutePath;
  +        else
  +          urlString = "file:///" + absolutePath;        
  +      }
  +      else
  +        urlString = "file:///" + localPath;
  +    }
  +    
  +    String result = replaceChars(urlString);
  +    return result;
  +  }
  +    
  +  /**
  +   * Return true if the systemId denotes an absolute URI (contains the scheme part).
  +   *
  +   * @param systemId The systemId string
  +   * @return true if the systemId contains a scheme part
  +   */
  +  public static boolean isAbsoluteURI(String systemId)
  +  {
  +    // If there is more than one character before the ':' character,
  +    // then it is considered to be an absolute URI; otherwise it is a local path.
  +    int colonIndex = systemId.indexOf(':');
  +    if (colonIndex > 1)
  +      return true;
  +    else
  +      return false;
     }
     
     /**
  -   * Take a SystemID string and try and turn it into a good absolute URL.
  +   * Return true if the local path is an absolute path.
      *
  -   * @param urlString url A URL string, which may be relative or absolute.
  +   * @param systemId The path string
  +   * @return true if the path is absolute
  +   */
  +  public static boolean isAbsolutePath(String systemId)
  +  {
  +    // On Unix, an absolute path starts with '/'.
  +    if (systemId.startsWith(File.separator))
  +      return true;
  +    
  +    // On Windows, an absolute path starts with "[drive_letter]:\".
  +    if (systemId.length() > 2 
  +        && systemId.charAt(1) == ':'
  +        && Character.isLetter(systemId.charAt(0))
  +        && (systemId.charAt(2) == '\\' || systemId.charAt(2) == '/'))
  +      return true;
  +    else
  +      return false;
  +  }
  +  
  +  /**
  +   * Replace spaces with "%20" and backslashes with forward slashes in 
  +   * the input string to generate a well-formed URI string.
      *
  -   * @return The resolved absolute URI
  -   * @throws TransformerException thrown if the string can't be turned into a URL.
  +   * @param str The input string
  +   * @return The string after conversion
      */
  -  public static String getAbsoluteURI(String url)
  -          throws TransformerException
  +  private static String replaceChars(String str)
     {
  -    if (url.startsWith(".."))
  -      url = new File(url).getAbsolutePath();
  -      
  -    if (url.startsWith(File.separator))
  -    {
  -      // If the url starts with a path separator, we assume it's 
  -      //  a reference to a file: scheme (why do we do this? -sc)
  -      url = "file://" + url;
  -    }
  -    else if (url.indexOf(':') < 0)
  -    {
  -      // If the url does not have a colon: character (which 
  -      //  separates the scheme part from the rest) then it 
  -      //  must be a relative one, so go get an absolute one -sc
  -      url = getAbsoluteURIFromRelative(url);
  -    }
  -
  -    // Bugzilla#5701: the below else if is incorrect, if you read 
  -    //  section 5.2 of RFC 2396.  If the url did start with file:, 
  -    //  it implies we should assume it's absolute and be done 
  -    //  with resolving.  Note that I'm not even sure why we put 
  -    //  in the second check for '/' anyways -sc
  -    //else if (url.startsWith("file:") && url.charAt(5) != '/') 
  -    //{
  -    //  url = getAbsoluteURIFromRelative(url.substring(5));
  -    //}
  -    // Bugzilla#5701 comment out code end 
  -
  -    return url;
  +    StringBuffer buf = new StringBuffer(str);
  +    int length = buf.length();
  +    for (int i = 0; i < length; i++)
  +    {
  +      char currentChar = buf.charAt(i);
  +      // Replace space with "%20"
  +      if (currentChar == ' ')
  +      {
  +        buf.setCharAt(i, '%');
  +        buf.insert(i+1, "20");
  +        length = length + 2;
  +        i = i + 2;
  +      }
  +      // Replace backslash with forward slash
  +      else if (currentChar == '\\')
  +      {
  +        buf.setCharAt(i, '/');
  +      }
  +    }
  +    
  +    return buf.toString();
     }
  -
  -
  +  
     /**
  -   * Take a SystemID string and try and turn it into a good absolute URL.
  +   * Take a SystemID string and try to turn it into a good absolute URI.
      *
  -   * @param urlString SystemID string
  -   * @param base Base URI to use to resolve the given systemID
  +   * @param systemId A URI string, which may be absolute or relative.
      *
      * @return The resolved absolute URI
  -   * @throws TransformerException thrown if the string can't be turned into a URL.
      */
  -  public static String getAbsoluteURI(String urlString, String base)
  -          throws TransformerException
  +  public static String getAbsoluteURI(String systemId)
     {
  -    boolean isAbsouteUrl = false;
  -    boolean needToResolve = false;    
  - 
  -    // Bugzilla#5701: the below if is incorrect, if you read 
  -    //  section 5.2 of RFC 2396.  If the url did start with file:, 
  -    //  it implies we should assume it's absolute and be done 
  -    //  with resolving.  Note that I'm not even sure why we put 
  -    //  in the second check for '/' anyways -sc
  -    //if(urlString.startsWith("file:") && urlString.charAt(5) != '/') 
  -    //{
  -    //  needToResolve = true;
  -    //}
  -    //else if (urlString.indexOf(':') > 0)
  -    // Bugzilla#5701 comment out code end 
  -    if (urlString.indexOf(':') > 0)
  -    {
  -      // If there is a colon to separate the scheme from the rest, 
  -      //  it should be an absolute URL
  -      isAbsouteUrl = true;
  -    }
  -    else if (urlString.startsWith(File.separator))
  -    {
  -      // If the url starts with a path separator, we assume it's 
  -      //  a reference to a file: scheme (why do we do this? -sc)
  -      urlString = "file://" + urlString;
  -      isAbsouteUrl = true;
  -    }
  -
  -    if ((!isAbsouteUrl) && ((null == base)
  -            || (base.indexOf(':') < 0)))
  -    {
  -      if (base != null && base.startsWith(File.separator))
  -        base = "file://" + base;
  -      else
  -        base = getAbsoluteURIFromRelative(base);
  -    }
  -
  -    // bit of a hack here.  Need to talk to URI person to see if this can be fixed.
  -    if ((null != base) && needToResolve) 
  -         
  +    if (isAbsoluteURI(systemId))
       {
  -      if(base.equals(urlString))
  +      // Only process the systemId if it starts with "file:".
  +      if (systemId.startsWith("file:"))
         {
  -        base = "";
  +        int secondColonIndex = systemId.indexOf(':', 5);
  +        // If the path contains a drive letter.
  +        if (secondColonIndex > 5
  +            && Character.isLetter(systemId.charAt(secondColonIndex-1)))
  +        {
  +          String localPath = systemId.substring(secondColonIndex-1);
  +          if (!isAbsolutePath(localPath))
  +            return getAbsoluteURIFromRelative(localPath);
  +        }
  +        else if (systemId.charAt(5) != '/')
  +        {
  +          return getAbsoluteURIFromRelative(systemId.substring(5));
  +        }
  +        
  +        String absoluteURI = replaceChars(systemId);
  +        return absoluteURI;        
         }
         else
  -      {
  -        urlString = urlString.substring(5);
  -        isAbsouteUrl = false;
  -      }
  -    }   
  -
  -    // This is probably a bad idea, we should at least check for quotes...
  -    if (null != base && (base.indexOf('\\') > -1))
  -      base = base.replace('\\', '/');
  -
  -    if (null != urlString && (urlString.indexOf('\\') > -1))
  -      urlString = urlString.replace('\\', '/');
  +        return systemId;
  +    }
  +    else
  +      return getAbsoluteURIFromRelative(systemId);
  +    
  +  }
   
  -    URI uri;
   
  -    try
  +  /**
  +   * Take a SystemID string and try to turn it into a good absolute URI.
  +   *
  +   * @param urlString SystemID string
  +   * @param base The URI string used as the base for resolving the systemID
  +   *
  +   * @return The resolved absolute URI
  +   * @throws TransformerException thrown if the string can't be turned into a URI.
  +   */
  +  public static String getAbsoluteURI(String urlString, String base)
  +          throws TransformerException
  +  {    
  +    if (base == null)
  +      return getAbsoluteURI(urlString);
  +    
  +    String absoluteBase = getAbsoluteURI(base);
  +    URI uri = null;
  +    try 
       {
  -      if ((null == base) || (base.length() == 0) || (isAbsouteUrl))
  -      {
  -        uri = new URI(urlString);
  -      }
  -      else
  -      {
  -        URI baseURI = new URI(base);
  -
  -        uri = new URI(baseURI, urlString);
  -      }
  +      URI baseURI = new URI(absoluteBase);
  +      uri = new URI(baseURI, urlString);
       }
       catch (MalformedURIException mue)
       {
         throw new TransformerException(mue);
       }
  -
  -    String uriStr = uri.toString();
       
  -    // Not so sure if this is good.  But, for now, I'll try it. We really must 
  -    // make sure the return from this function is a URL!
  -    if((Character.isLetter(uriStr.charAt(0)) && (uriStr.charAt(1) == ':') 
  -     && (uriStr.charAt(2) == '/') && (uriStr.length() == 3 || uriStr.charAt(3) != '/'))
  -       || ((uriStr.charAt(0) == '/') && (uriStr.length() == 1 || uriStr.charAt(1) != '/')))
  -    {
  -    	uriStr = "file:///"+uriStr;
  -    }
  -    return uriStr;
  -  }
  +    return replaceChars(uri.toString());
  +  }  
   }
  
  
  
  1.6.10.2  +4 -7      xml-xalan/java/src/org/apache/xml/utils/URI.java
  
  Index: URI.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/utils/URI.java,v
  retrieving revision 1.6.10.1
  retrieving revision 1.6.10.2
  diff -u -r1.6.10.1 -r1.6.10.2
  --- URI.java	29 Jul 2002 00:01:31 -0000	1.6.10.1
  +++ URI.java	5 Nov 2002 10:41:49 -0000	1.6.10.2
  @@ -421,7 +421,8 @@
       int index = 0;
   
       // check for scheme
  -    if (uriSpec.indexOf(':') == -1)
  +    int colonIndex = uriSpec.indexOf(':');
  +    if (colonIndex < 0)
       {
         if (p_base == null)
         {
  @@ -431,8 +432,8 @@
       else
       {
         initializeScheme(uriSpec);
  -
  -      index = m_scheme.length() + 1;
  +      uriSpec = uriSpec.substring(colonIndex+1);
  +      uriSpecLen = uriSpec.length();
       }
   
       // two slashes means generic URI syntax, so we get the authority
  @@ -508,10 +509,6 @@
         if (m_scheme == null)
         {
           m_scheme = p_base.getScheme();
  -      }
  -      else
  -      {
  -        return;
         }
   
         // check for authority - RFC 2396 5.2 #4
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.23.2.2  +13 -2     xml-xalan/java/src/org/apache/xpath/XPath.java
  
  Index: XPath.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/XPath.java,v
  retrieving revision 1.23.2.1
  retrieving revision 1.23.2.2
  diff -u -r1.23.2.1 -r1.23.2.2
  --- XPath.java	29 Jul 2002 00:01:32 -0000	1.23.2.1
  +++ XPath.java	5 Nov 2002 10:41:49 -0000	1.23.2.2
  @@ -327,7 +327,12 @@
         // e.printStackTrace();
   
         String msg = e.getMessage();
  -      msg = (msg == null || msg.length()== 0)? "Unknown error in XPath" : msg;
  +      
  +      if (msg == null || msg.length() == 0) {
  +           msg = XSLMessages.createXPATHMessage(
  +               XPATHErrorResources.ER_XPATH_ERROR, null);
  +     
  +      }  
         TransformerException te = new TransformerException(msg,
                 getLocator(), e);
         ErrorListener el = xctxt.getErrorListener();
  @@ -397,7 +402,13 @@
         // e.printStackTrace();
   
         String msg = e.getMessage();
  -      msg = (msg == null || msg.length()== 0)? "Unknown error in XPath" : msg;
  +      
  +      if (msg == null || msg.length() == 0) {
  +           msg = XSLMessages.createXPATHMessage(
  +               XPATHErrorResources.ER_XPATH_ERROR, null);
  +     
  +      }        
  +      
         TransformerException te = new TransformerException(msg,
                 getLocator(), e);
         ErrorListener el = xctxt.getErrorListener();
  
  
  
  1.37.2.4  +3 -3      xml-xalan/java/src/org/apache/xpath/XPathContext.java
  
  Index: XPathContext.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/XPathContext.java,v
  retrieving revision 1.37.2.3
  retrieving revision 1.37.2.4
  diff -u -r1.37.2.3 -r1.37.2.4
  --- XPathContext.java	22 Oct 2002 14:52:40 -0000	1.37.2.3
  +++ XPathContext.java	5 Nov 2002 10:41:49 -0000	1.37.2.4
  @@ -387,8 +387,8 @@
                      org.apache.xpath.objects.XMLStringFactoryImpl.getFactory());
                      
       m_saxLocations.removeAllElements();   
  -	m_axesIteratorStack.clear();
  -	m_contextNodeLists.clear();
  +	m_axesIteratorStack.removeAllElements();
  +	m_contextNodeLists.removeAllElements();
   	m_currentExpressionNodes.removeAllElements();
   	m_currentNodes.removeAllElements();
   	m_iteratorRoots.RemoveAllNoClear();
  @@ -1308,10 +1308,10 @@
      * */
     public void popRTFContext()
     {
  +  	int previous=m_last_pushed_rtfdtm.pop();
     	if(null==m_rtfdtm_stack)
     		return;
     
  -  	int previous=m_last_pushed_rtfdtm.pop();
     	if(m_which_rtfdtm==previous)
     	{
     		if(previous>=0) // guard against none-active
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.34.2.2  +20 -6     xml-xalan/java/src/org/apache/xpath/axes/LocPathIterator.java
  
  Index: LocPathIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/axes/LocPathIterator.java,v
  retrieving revision 1.34.2.1
  retrieving revision 1.34.2.2
  diff -u -r1.34.2.1 -r1.34.2.2
  --- LocPathIterator.java	29 Jul 2002 00:01:32 -0000	1.34.2.1
  +++ LocPathIterator.java	5 Nov 2002 10:41:50 -0000	1.34.2.2
  @@ -554,15 +554,26 @@
      */
     public int getLength()
     {      
  +    // Tell if this is being called from within a predicate.
     	boolean isPredicateTest = (this == m_execContext.getSubContextList());
  +
  +    // And get how many total predicates are part of this step.
     	int predCount = getPredicateCount();
     	
  -  	if(-1 != m_length && !isPredicateTest)
  +    // If we have already calculated the length, and the current predicate 
  +    // is the first predicate, then return the length.  We don't cache 
  +    // the anything but the length of the list to the first predicate.
  +    if (-1 != m_length && isPredicateTest && m_predicateIndex < 1)
     		return m_length;
     	
  -  	if(m_foundLast)
  +    // I'm a bit worried about this one, since it doesn't have the 
  +    // checks found above.  I suspect it's fine.  -sb
  +    if (m_foundLast)
     		return m_pos;
     		
  +    // Create a clone, and count from the current position to the end 
  +    // of the list, not taking into account the current predicate and 
  +    // predicates after the current one.
       int pos = (m_predicateIndex >= 0) ? getProximityPosition() : m_pos;
                 
       LocPathIterator clone;
  @@ -579,10 +590,13 @@
       // We want to clip off the last predicate, but only if we are a sub 
       // context node list, NOT if we are a context list.  See pos68 test, 
       // also test against bug4638.
  -    if(predCount > 0 && isPredicateTest)
  +    if (predCount > 0 && isPredicateTest)
       {
         // Don't call setPredicateCount, because it clones and is slower.
  -      clone.m_predCount = predCount - 1;
  +      clone.m_predCount = m_predicateIndex;
  +      // The line above used to be:
  +      // clone.m_predCount = predCount - 1;
  +      // ...which looks like a dumb bug to me. -sb
       }
   
       int next;
  @@ -592,7 +606,7 @@
         pos++;
       }
       
  -    if(!isPredicateTest)
  +    if (isPredicateTest && m_predicateIndex < 1)
         m_length = pos;
       
       return pos;
  @@ -1063,5 +1077,5 @@
     {
       return getLength();
     }
  -
  +
   }
  
  
  
  1.2.2.3   +8 -3      xml-xalan/java/src/org/apache/xpath/axes/NodeSequence.java
  
  Index: NodeSequence.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/axes/NodeSequence.java,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  --- NodeSequence.java	22 Oct 2002 20:17:15 -0000	1.2.2.2
  +++ NodeSequence.java	5 Nov 2002 10:41:50 -0000	1.2.2.3
  @@ -535,9 +535,14 @@
     {
     	if(hasCache())
     	{
  -        if (m_obj instanceof NodeSetDTM) {
  -            return ((NodeSetDTM)m_obj).getLength();
  +        // If this NodeSequence wraps a mutable nodeset, then
  +        // m_last will not reflect the size of the nodeset if
  +        // it has been mutated...
  +        if (m_iter instanceof NodeSetDTM)
  +        {
  +            return m_iter.getLength();
           }    
  +        
   	  	if(-1 == m_last)
   	  	{
   	  		int pos = m_next;
  @@ -548,7 +553,7 @@
     	}
     	else
     	{
  -  		return m_iter.getLength();
  +  		return (-1 == m_last) ? (m_last = m_iter.getLength()) : m_last;
     	}
     }
   
  
  
  
  1.1.2.2   +0 -0      xml-xalan/java/src/org/apache/xpath/axes/Attic/SingletonIterator.java
  
  Index: SingletonIterator.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/axes/Attic/SingletonIterator.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.10.8.3  +3 -0      xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java
  
  Index: XPATHErrorResources.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java,v
  retrieving revision 1.10.8.2
  retrieving revision 1.10.8.3
  diff -u -r1.10.8.2 -r1.10.8.3
  --- XPATHErrorResources.java	20 Sep 2002 22:11:58 -0000	1.10.8.2
  +++ XPATHErrorResources.java	5 Nov 2002 10:41:50 -0000	1.10.8.3
  @@ -562,6 +562,9 @@
   /** Field ER_WRONG_NODETYPE                    */
     public static final int ER_WRONG_NODETYPE          = 115; 
     
  +/** Field ER_XPATH_ERROR                       */  
  +  public static final int ER_XPATH_ERROR             = 116;
  +  
     // Warnings...
   
     /** Field WG_LOCALE_NAME_NOT_HANDLED          */
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.53.2.3  +55 -2     xml-xalan/test/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-xalan/test/build.xml,v
  retrieving revision 1.53.2.2
  retrieving revision 1.53.2.3
  diff -u -r1.53.2.2 -r1.53.2.3
  --- build.xml	10 Oct 2002 19:02:13 -0000	1.53.2.2
  +++ build.xml	5 Nov 2002 10:41:50 -0000	1.53.2.3
  @@ -718,6 +718,59 @@
           </antcall>
       </target>
   
  +    <target name="alltest.conf.xsltc">
  +        <property name="alltest.xsltc.resultDir" value="results-alltest.xsltc" />
  +        <property name="alltest.conf.xsltc.resultDir" value="${alltest.xsltc.resultDir}/conf" />
  +        <echo message="About to execute xsltc.conf tests with all flavors, results into ${alltest.conf.xsltc.resultDir}/..." />
  +        <!-- Run full conf test with each major available flavor into 
  +             specific output directories; note any user options will 
  +             override for all test calls.
  +             Also exclude the currently failing tests in the 
  +             smoketest if use.excludes is set.
  +        -->
  +        <condition property="conf.xsltc.excludes" value="${smoketest.conf.xsltc.excludes}">
  +            <equals arg1="${use.excludes}" arg2="true" />
  +        </condition>
  +        <antcall target="conf.xsltc">
  +            <param name="conf.xsltc.flavor" value="trax.systemId"/>
  +            <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
  +            <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/systemId"/>
  +            <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/systemId/results.xml"/>
  +        </antcall>
  +        <antcall target="conf.xsltc">
  +            <param name="conf.xsltc.flavor" value="trax.file"/>
  +            <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
  +            <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/file"/>
  +            <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/file/results.xml"/>
  +        </antcall>
  +        <antcall target="conf.xsltc">
  +            <param name="conf.xsltc.flavor" value="trax.dom"/>
  +            <!-- Note DOM always has additional exclusions in conf tests-->
  +            <param name="conf.xsltc.excludes" value="${trax.dom.excludes};${conf.xsltc.excludes}"/>
  +            <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/dom"/>
  +            <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/dom/results.xml"/>
  +        </antcall>
  +        <antcall target="conf.xsltc">
  +            <param name="conf.xsltc.flavor" value="trax.sax"/>
  +            <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
  +            <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/sax"/>
  +            <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/sax/results.xml"/>
  +        </antcall>
  +        <antcall target="conf.xsltc">
  +            <param name="conf.xsltc.flavor" value="trax.localPath"/>
  +            <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
  +            <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/localPath"/>
  +            <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/localPath/results.xml"/>
  +        </antcall>
  +        <antcall target="conf.xsltc">
  +            <param name="conf.xsltc.flavor" value="trax.stream"/>
  +            <param name="conf.xsltc.excludes" value="${conf.xsltc.excludes}"/>
  +            <param name="conf.xsltc.outputDir" value="${alltest.conf.xsltc.resultDir}/stream"/>
  +            <param name="conf.xsltc.logFile" value="${alltest.conf.xsltc.resultDir}/stream/results.xml"/>
  +        </antcall>
  +    </target>
  +
  +
       <target name="test"
           depends="alltest"
           description="Alias for alltest">
  
  
  

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