You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/12/01 18:50:27 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/templates AVT.java ElemApplyImport.java ElemApplyTemplates.java ElemAttribute.java ElemAttributeSet.java ElemCallTemplate.java ElemChoose.java ElemComment.java ElemCopy.java ElemCopyOf.java ElemElement.java ElemExtensionCall.java ElemFallback.java ElemForEach.java ElemIf.java ElemLiteralResult.java ElemMessage.java ElemNumber.java ElemPI.java ElemParam.java ElemTemplate.java ElemTemplateElement.java ElemTextLiteral.java ElemUnknown.java ElemUse.java ElemValueOf.java ElemVariable.java NamespaceAlias.java StylesheetRoot.java TemplateList.java TemplateSubPatternAssociation.java

sboag       00/12/01 09:50:27

  Modified:    java/src/org/apache/xalan/processor
                        ProcessorNamespaceAlias.java
               java/src/org/apache/xalan/templates AVT.java
                        ElemApplyImport.java ElemApplyTemplates.java
                        ElemAttribute.java ElemAttributeSet.java
                        ElemCallTemplate.java ElemChoose.java
                        ElemComment.java ElemCopy.java ElemCopyOf.java
                        ElemElement.java ElemExtensionCall.java
                        ElemFallback.java ElemForEach.java ElemIf.java
                        ElemLiteralResult.java ElemMessage.java
                        ElemNumber.java ElemPI.java ElemParam.java
                        ElemTemplate.java ElemTemplateElement.java
                        ElemTextLiteral.java ElemUnknown.java ElemUse.java
                        ElemValueOf.java ElemVariable.java
                        NamespaceAlias.java StylesheetRoot.java
                        TemplateList.java
                        TemplateSubPatternAssociation.java
  Log:
  Namespace aliases should now work.  1) now build composed namespace
  alias table indexed by URL and with a value of the namespace
  element, 2) in ElemTemplateElement#resolvePrefixTables insert the
  aliased (result) namespace instead of the namespace, 3) in ElemLiteralResult
  augment resolvePrefixTables by fixing up the m_namespace and
  m_rawName members to use the result prefix and URL, and do the
  same to the AVTs.  I think ElemLiteralResult is the only place that
  this fixup should be done.
  
  The namespace tests that use alias don't match because we now
  properly use the result prefix.  These tests will need to be fixed.
  
  namespace20.xsl is broken.  Not yet sure if this is a regression.  I'll
  look into this later today.
  
  Added javadoc comments to all execute functions in the Template
  package, and a few other places as well.
  
  Revision  Changes    Path
  1.7       +16 -0     xml-xalan/java/src/org/apache/xalan/processor/ProcessorNamespaceAlias.java
  
  Index: ProcessorNamespaceAlias.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorNamespaceAlias.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ProcessorNamespaceAlias.java	2000/11/30 09:57:30	1.6
  +++ ProcessorNamespaceAlias.java	2000/12/01 17:50:09	1.7
  @@ -102,6 +102,22 @@
       NamespaceAlias na = new NamespaceAlias(handler.nextUid());
   
       setPropertiesFromAttributes(handler, rawName, attributes, na);
  +    String prefix = na.getStylesheetPrefix();
  +    if(prefix.equals("#default"))
  +    {
  +      prefix = "";
  +      na.setStylesheetPrefix(prefix);
  +    }
  +    String stylesheetNS = handler.getNamespaceForPrefix(prefix);
  +    na.setStylesheetNamespace(stylesheetNS);
  +    prefix = na.getResultPrefix();
  +    if(prefix.equals("#default"))
  +    {
  +      prefix = "";
  +      na.setResultPrefix(prefix);
  +    }
  +    String resultNS = handler.getNamespaceForPrefix(prefix);
  +    na.setResultNamespace(resultNS);
       handler.getStylesheet().setNamespaceAlias(na);
     }
   }
  
  
  
  1.10      +38 -11    xml-xalan/java/src/org/apache/xalan/templates/AVT.java
  
  Index: AVT.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/AVT.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AVT.java	2000/11/23 04:57:45	1.9
  +++ AVT.java	2000/12/01 17:50:10	1.10
  @@ -98,14 +98,23 @@
   
     /**
      * Get the raw name of the attribute, with the prefix unprocessed.
  -   * MADE PUBLIC 9/5/2000 to support compilation experiment
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return non-null reference to prefixed name.
      */
     public String getRawName()
     {
       return m_rawName;
     }
  +  
  +  /**
  +   * Get the raw name of the attribute, with the prefix unprocessed.
  +   *
  +   * @param rawName non-null reference to prefixed name.
  +   */
  +  public void setRawName(String rawName)
  +  {
  +    m_rawName = rawName;
  +  }
   
     /**
      * The name of the attribute.
  @@ -114,14 +123,23 @@
   
     /**
      * Get the local name of the attribute.
  -   * MADE PUBLIC 9/5/2000 to support compilation experiment
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return non-null reference to name string.
      */
     public String getName()
     {
       return m_name;
     }
  +  
  +  /**
  +   * Set the local name of the attribute.
  +   *
  +   * @param name non-null reference to name string.
  +   */
  +  public void setName(String name)
  +  {
  +    m_name = name;
  +  }
   
     /**
      * The name of the attribute.
  @@ -130,25 +148,34 @@
   
     /**
      * Get the namespace URI of the attribute.
  -   * MADE PUBLIC 9/5/2000 to support compilation experiment
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return non-null reference to URI, "" if null namespace.
      */
     public String getURI()
     {
       return m_uri;
     }
  +  
  +  /**
  +   * Get the namespace URI of the attribute.
  +   *
  +   * @param uri non-null reference to URI, "" if null namespace.
  +   */
  +  public void setURI(String uri)
  +  {
  +    m_uri = uri;
  +  }
   
     /**
      * Construct an AVT by parsing the string, and either
      * constructing a vector of AVTParts, or simply hold
      * on to the string if the AVT is simple.
      *
  -   * NEEDSDOC @param handler
  -   * NEEDSDOC @param uri
  -   * NEEDSDOC @param name
  -   * NEEDSDOC @param rawName
  -   * NEEDSDOC @param stringedValue
  +   * @param handler non-null reference to StylesheetHandler that is constructing.
  +   * @param uri non-null reference to URI, "" if null namespace.
  +   * @param name  non-null reference to name string.
  +   * @param rawName prefixed name.
  +   * @param stringedValue non-null raw string value.
      *
      * @throws javax.xml.transform.TransformerException
      */
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemApplyImport.java
  
  Index: ElemApplyImport.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemApplyImport.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemApplyImport.java	2000/11/23 04:57:47	1.5
  +++ ElemApplyImport.java	2000/12/01 17:50:10	1.6
  @@ -100,9 +100,9 @@
     /**
      * Execute the xsl:apply-imports transformation.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.7       +7 -7      xml-xalan/java/src/org/apache/xalan/templates/ElemApplyTemplates.java
  
  Index: ElemApplyTemplates.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemApplyTemplates.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ElemApplyTemplates.java	2000/11/23 04:57:47	1.6
  +++ ElemApplyTemplates.java	2000/12/01 17:50:11	1.7
  @@ -98,7 +98,7 @@
     /**
      * Set the mode attribute for this element.
      *
  -   * NEEDSDOC @param mode
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      */
     public void setMode(QName mode)
     {
  @@ -161,9 +161,9 @@
      * Apply the context node to the matching templates.
      * @see <a href="http://www.w3.org/TR/xslt#section-Applying-Template-Rules">section-Applying-Template-Rules in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -217,10 +217,10 @@
      * NEEDSDOC Method pushParams 
      *
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * NEEDSDOC @param xctxt
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.9       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemAttribute.java
  
  Index: ElemAttribute.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemAttribute.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ElemAttribute.java	2000/11/23 04:57:47	1.8
  +++ ElemAttribute.java	2000/12/01 17:50:11	1.9
  @@ -159,9 +159,9 @@
      * Create an attribute in the result tree.
      * @see <a href="http://www.w3.org/TR/xslt#creating-attributes">creating-attributes in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemAttributeSet.java
  
  Index: ElemAttributeSet.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemAttributeSet.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemAttributeSet.java	2000/11/30 09:57:32	1.5
  +++ ElemAttributeSet.java	2000/12/01 17:50:11	1.6
  @@ -135,9 +135,9 @@
     /**
      * Apply a set of attributes to the element.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.9       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemCallTemplate.java
  
  Index: ElemCallTemplate.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCallTemplate.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ElemCallTemplate.java	2000/11/23 04:57:47	1.8
  +++ ElemCallTemplate.java	2000/12/01 17:50:11	1.9
  @@ -145,9 +145,9 @@
      * Invoke a named template.
      * @see <a href="http://www.w3.org/TR/xslt#named-templates">named-templates in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemChoose.java
  
  Index: ElemChoose.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemChoose.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemChoose.java	2000/11/23 04:57:48	1.5
  +++ ElemChoose.java	2000/12/01 17:50:12	1.6
  @@ -112,9 +112,9 @@
      * NEEDSDOC Method execute 
      *
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemComment.java
  
  Index: ElemComment.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemComment.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemComment.java	2000/11/23 04:57:50	1.5
  +++ ElemComment.java	2000/12/01 17:50:12	1.6
  @@ -104,9 +104,9 @@
      * NEEDSDOC Method execute 
      *
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.8       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemCopy.java
  
  Index: ElemCopy.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCopy.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ElemCopy.java	2000/11/23 04:57:50	1.7
  +++ ElemCopy.java	2000/12/01 17:50:12	1.8
  @@ -123,9 +123,9 @@
      * root node, xsl:copy will not create a root node, but will just use
      * the content template.</p>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.8       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemCopyOf.java
  
  Index: ElemCopyOf.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCopyOf.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ElemCopyOf.java	2000/11/23 04:57:50	1.7
  +++ ElemCopyOf.java	2000/12/01 17:50:12	1.8
  @@ -138,9 +138,9 @@
      * a string as xsl:value-of does (see [7.6.1 Generating Text with
      * xsl:value-of]).
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.10      +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java
  
  Index: ElemElement.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemElement.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ElemElement.java	2000/11/23 04:57:51	1.9
  +++ ElemElement.java	2000/12/01 17:50:13	1.10
  @@ -188,9 +188,9 @@
      * attribute. The content of the xsl:element element is a template
      * for the attributes and children of the created element.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.16      +5 -5      xml-xalan/java/src/org/apache/xalan/templates/ElemExtensionCall.java
  
  Index: ElemExtensionCall.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemExtensionCall.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ElemExtensionCall.java	2000/11/23 04:57:51	1.15
  +++ ElemExtensionCall.java	2000/12/01 17:50:13	1.16
  @@ -238,9 +238,9 @@
     /**
      * Execute an extension.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -354,8 +354,8 @@
      * such as href="http://{website}".
      *
      * NEEDSDOC @param rawName
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param transformer
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param transformer non-null reference to the the current transform-time state.
      *
      * NEEDSDOC ($objectName$) @return
      *
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemFallback.java
  
  Index: ElemFallback.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemFallback.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemFallback.java	2000/11/23 04:57:51	1.5
  +++ ElemFallback.java	2000/12/01 17:50:13	1.6
  @@ -109,9 +109,9 @@
      * must be instantiated in sequence; otherwise, an error must
      * be signaled. The content of an xsl:fallback element is a template.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.11      +8 -8      xml-xalan/java/src/org/apache/xalan/templates/ElemForEach.java
  
  Index: ElemForEach.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemForEach.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ElemForEach.java	2000/11/30 09:57:32	1.10
  +++ ElemForEach.java	2000/12/01 17:50:13	1.11
  @@ -204,9 +204,9 @@
      * NEEDSDOC Method execute 
      *
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -306,10 +306,10 @@
      * NEEDSDOC Method pushParams 
      *
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * NEEDSDOC @param xctxt
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -342,8 +342,8 @@
      * Perform a query if needed, and call transformNode for each child.
      *
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
      * @exception TransformerException Thrown in a variety of circumstances.
      * @param stylesheetTree The owning stylesheet tree.
      * @param xslInstruction The stylesheet element context (depricated -- I do
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemIf.java
  
  Index: ElemIf.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemIf.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemIf.java	2000/11/23 04:57:52	1.5
  +++ ElemIf.java	2000/12/01 17:50:14	1.6
  @@ -139,9 +139,9 @@
      * is true, then the content template is instantiated; otherwise, nothing
      * is created.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.12      +80 -16    xml-xalan/java/src/org/apache/xalan/templates/ElemLiteralResult.java
  
  Index: ElemLiteralResult.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemLiteralResult.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ElemLiteralResult.java	2000/11/23 04:57:52	1.11
  +++ ElemLiteralResult.java	2000/12/01 17:50:14	1.12
  @@ -122,7 +122,7 @@
      */
     private Vector m_avts = null;
   
  -  /** NEEDSDOC Field m_xslAttr          */
  +  /** List of attributes with the XSLT namespace.   */
     private Vector m_xslAttr = null;
   
     /**
  @@ -180,6 +180,57 @@
   
       return null;
     }
  +  
  +  /**
  +   * Augment resolvePrefixTables, resolving the namespace aliases once 
  +   * the superclass has resolved the tables.
  +   */
  +  public void resolvePrefixTables() throws TransformerException
  +  {
  +    super.resolvePrefixTables();
  +    StylesheetRoot stylesheet = getStylesheetRoot();
  +    if((null != m_namespace) && (m_namespace.length() > 0))
  +    {
  +      NamespaceAlias nsa = stylesheet.getNamespaceAliasComposed(m_namespace);
  +      if(null != nsa)
  +      {
  +        m_namespace = nsa.getResultNamespace();
  +        
  +        String resultPrefix = nsa.getResultPrefix();
  +        if((null != resultPrefix) && (resultPrefix.length() > 0))
  +          m_rawName = resultPrefix+":"+m_localName;
  +        else
  +          m_rawName = m_localName;
  +      }
  +    }
  +    
  +    if(null != m_avts)
  +    {
  +      int n = m_avts.size();
  +      for(int i = 0; i < n; i++)
  +      {
  +        AVT avt = (AVT)m_avts.elementAt(i);
  +        
  +        // Should this stuff be a method on AVT?
  +        String ns = avt.getURI();
  +        if((null != ns) && (ns.length() > 0))
  +        {
  +          NamespaceAlias nsa = stylesheet.getNamespaceAliasComposed(m_namespace);
  +          if(null != nsa)
  +          {
  +            String namespace = nsa.getResultNamespace();
  +            
  +            String resultPrefix = nsa.getResultPrefix();
  +            String rawName = avt.getName();
  +            if((null != resultPrefix) && (resultPrefix.length() > 0))
  +              rawName = resultPrefix+":"+rawName;
  +            avt.setURI(namespace);
  +            avt.setRawName(rawName);
  +          }
  +        }
  +      }
  +    }
  +  }
   
     /**
      * The namespace of the element to be created.
  @@ -187,9 +238,13 @@
     private String m_namespace;
   
     /**
  -   * Set the m_namespace of the LRE.
  +   * Set the namespace URI of the result element to be created.
  +   * Note that after resolvePrefixTables has been called, this will 
  +   * return the aliased result namespace, not the original stylesheet 
  +   * namespace.
      *
  -   * NEEDSDOC @param ns
  +   * @param ns The Namespace URI, or the empty string if the
  +   *        element has no Namespace URI.
      */
     public void setNamespace(String ns)
     {
  @@ -197,15 +252,16 @@
     }
   
     /**
  -   * Get the m_namespace of the Literal Result Element.
  +   * Get the original namespace of the Literal Result Element.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return The Namespace URI, or the empty string if the
  +   *        element has no Namespace URI.
      */
     public String getNamespace()
     {
       return m_namespace;
     }
  -
  +  
     /**
      * The raw name of the element to be created.
      */
  @@ -214,7 +270,8 @@
     /**
      * Set the local name of the LRE.
      *
  -   * NEEDSDOC @param localName
  +   * @param localName The local name (without prefix) of the result element 
  +   *                  to be created.
      */
     public void setLocalName(String localName)
     {
  @@ -223,8 +280,12 @@
   
     /**
      * Get the local name of the Literal Result Element.
  +   * Note that after resolvePrefixTables has been called, this will 
  +   * return the aliased name prefix, not the original stylesheet 
  +   * namespace prefix.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return The local name (without prefix) of the result element 
  +   *                  to be created.
      */
     public String getLocalName()
     {
  @@ -235,11 +296,12 @@
      * The raw name of the element to be created.
      */
     private String m_rawName;
  -
  +  
     /**
      * Set the raw name of the LRE.
      *
  -   * NEEDSDOC @param rawName
  +   * @param rawName The qualified name (with prefix), or the
  +   *        empty string if qualified names are not available.
      */
     public void setRawName(String rawName)
     {
  @@ -249,7 +311,8 @@
     /**
      * Get the raw name of the Literal Result Element.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return  The qualified name (with prefix), or the
  +   *        empty string if qualified names are not available.
      */
     public String getRawName()
     {
  @@ -406,7 +469,7 @@
       return false;
     }
   
  -  /**
  +  /*
      * Combine the parent's namespaces with this namespace
      * for fast processing, taking care to reference the
      * parent's namespace if this namespace adds nothing new.
  @@ -415,7 +478,7 @@
      * Overide super method to handle exclude-result-prefix attribute.
      *
      * @throws TransformerException
  -   */
  +   *
     public void resolvePrefixTables() throws TransformerException
     {
   
  @@ -507,6 +570,7 @@
         child.resolvePrefixTables();
       }
     }
  +  */
   
     /**
      * Copy a Literal Result Element into the Result tree, copy the
  @@ -514,9 +578,9 @@
      * of the XSLT namespace, and execute the children of the LRE.
      * @see <a href="http://www.w3.org/TR/xslt#literal-result-element">literal-result-element in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemMessage.java
  
  Index: ElemMessage.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemMessage.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemMessage.java	2000/11/23 04:57:52	1.5
  +++ ElemMessage.java	2000/12/01 17:50:14	1.6
  @@ -144,9 +144,9 @@
      * instantiating the content to create an XML fragment. This XML
      * fragment is the content of the message.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.11      +8 -8      xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java
  
  Index: ElemNumber.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ElemNumber.java	2000/11/23 04:57:52	1.10
  +++ ElemNumber.java	2000/12/01 17:50:14	1.11
  @@ -493,9 +493,9 @@
      * Execute an xsl:number instruction. The xsl:number element is
      * used to insert a formatted number into the result tree.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -866,7 +866,7 @@
      * Get the target node that will be counted..
      *
      * NEEDSDOC @param xctxt
  -   * NEEDSDOC @param sourceNode
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
      *
      * NEEDSDOC ($objectName$) @return
      *
  @@ -954,7 +954,7 @@
     /**
      * Get the locale we should be using.
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * NEEDSDOC @param contextNode
      *
      * NEEDSDOC ($objectName$) @return
  @@ -1002,7 +1002,7 @@
     /**
      *
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * NEEDSDOC @param contextNode
      *
      * NEEDSDOC ($objectName$) @return
  @@ -1056,7 +1056,7 @@
      * Format a vector of numbers into a formatted string.
      * @param xslNumberElement Element that takes %conversion-atts; attributes.
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * @param list Array of one or more integer numbers.
      * NEEDSDOC @param contextNode
      * @return String that represents list according to
  @@ -1214,7 +1214,7 @@
      * NEEDSDOC Method getFormattedNumber 
      *
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * NEEDSDOC @param contextNode
      * NEEDSDOC @param numberType
      * NEEDSDOC @param numberWidth
  
  
  
  1.7       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemPI.java
  
  Index: ElemPI.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemPI.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ElemPI.java	2000/11/23 04:57:53	1.6
  +++ ElemPI.java	2000/12/01 17:50:14	1.7
  @@ -139,9 +139,9 @@
      * template for the string-value of the processing instruction node.
      * @see <a href="http://www.w3.org/TR/xslt#section-Creating-Processing-Instructions">section-Creating-Processing-Instructions in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.7       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemParam.java
  
  Index: ElemParam.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemParam.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ElemParam.java	2000/11/23 04:57:53	1.6
  +++ ElemParam.java	2000/12/01 17:50:15	1.7
  @@ -129,9 +129,9 @@
      * stylesheet within which the xsl:param element occurs is invoked,
      * parameters may be passed that are used in place of the default values.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.8       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemTemplate.java
  
  Index: ElemTemplate.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTemplate.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ElemTemplate.java	2000/11/30 09:57:32	1.7
  +++ ElemTemplate.java	2000/12/01 17:50:15	1.8
  @@ -354,9 +354,9 @@
      * The content of the xsl:template element is the template
      * that is instantiated when the template rule is applied.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.25      +46 -23    xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java
  
  Index: ElemTemplateElement.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTemplateElement.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- ElemTemplateElement.java	2000/11/30 09:57:32	1.24
  +++ ElemTemplateElement.java	2000/12/01 17:50:15	1.25
  @@ -640,7 +640,8 @@
      * this element.  Take care to call resolveInheritedNamespaceDecls.
      * after all namespace declarations have been added.
      *
  -   * NEEDSDOC @param nsSupport
  +   * @param nsSupport non-null reference to NamespaceSupport from 
  +   * the ContentHandler.
      *
      * @throws TransformerException
      */
  @@ -650,12 +651,13 @@
     }
   
     /**
  -   * From the SAX2 helper class, set the namespace table for
  -   * this element.  Take care to call resolveInheritedNamespaceDecls.
  +   * Copy the namespace declarations from the NamespaceSupport object.  
  +   * Take care to call resolveInheritedNamespaceDecls.
      * after all namespace declarations have been added.
      *
  -   * NEEDSDOC @param nsSupport
  -   * NEEDSDOC @param excludeXSLDecl
  +   * @param nsSupport non-null reference to NamespaceSupport from 
  +   * the ContentHandler.
  +   * @param excludeXSLDecl true if XSLT namespaces should be ignored.
      *
      * @throws TransformerException
      */
  @@ -685,12 +687,14 @@
     }
   
     /**
  -   * Fullfill the PrefixResolver interface.  Calling this will throw an error.
  +   * Fullfill the PrefixResolver interface.  Calling this for this class 
  +   * will throw an error.
      *
  -   * NEEDSDOC @param prefix
  -   * NEEDSDOC @param context
  +   * @param prefix The prefix to look up, which may be an empty string ("") 
  +   *               for the default Namespace.
  +   * @param context The node context from which to look up the URI.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return null if the error listener does not choose to throw an exception.
      */
     public String getNamespaceForPrefix(String prefix, org.w3c.dom.Node context)
     {
  @@ -708,9 +712,11 @@
      * local declarations. Replaced a recursive solution, which permits
      * easier subclassing/overriding.
      *
  -   * NEEDSDOC @param prefix
  +   * @param prefix non-null reference to prefix string, which should map 
  +   *               to a namespace URL.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return The namespace URL that the prefix maps to, or null if no 
  +   *         mapping can be found.
      */
     public String getNamespaceForPrefix(String prefix)
     {
  @@ -739,7 +745,7 @@
     }
   
     /**
  -   * The table of namespace declarations for this element
  +   * The table of {@link XMLNSDecl}s for this element
      * and all parent elements, screened for excluded prefixes.
      * @serial
      */
  @@ -749,7 +755,7 @@
      * Return a table that contains all prefixes available
      * within this element context.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return reference to vector of {@link XMLNSDecl}s, which may be null.
      */
     public Vector getPrefixes()
     {
  @@ -760,10 +766,11 @@
      * Tell if the result namespace decl should be excluded.  Should be called before
      * namespace aliasing (I think).
      *
  -   * NEEDSDOC @param prefix
  -   * NEEDSDOC @param uri
  +   * @param prefix non-null reference to prefix.
  +   * @param uri reference to namespace that prefix maps to, which is protected 
  +   *            for null, but should really never be passed as null.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return true if the given namespace should be excluded.
      *
      * @throws TransformerException
      */
  @@ -793,12 +800,13 @@
      * parent's namespace if this namespace adds nothing new.
      * (Recursive method, walking the elements depth-first,
      * processing parents before children).
  +   * Note that this method builds m_prefixTable with aliased 
  +   * namespaces, *not* the original namespaces.
      *
      * @throws TransformerException
      */
     public void resolvePrefixTables() throws TransformerException
     {
  -
       // Always start with a fresh prefix table!
       m_prefixTable = null;
   
  @@ -808,7 +816,8 @@
       // to the parent that has decls.
       if (null != this.m_declaredPrefixes)
       {
  -
  +      StylesheetRoot stylesheet = this.getStylesheetRoot();
  +      
         // Add this element's declared prefixes to the 
         // prefix table.
         int n = m_declaredPrefixes.size();
  @@ -824,7 +833,21 @@
           if (null == m_prefixTable)
             m_prefixTable = new Vector();
   
  -        m_prefixTable.addElement(new XMLNSDecl(prefix, uri, shouldExclude));
  +        NamespaceAlias nsAlias = stylesheet.getNamespaceAliasComposed(uri);
  +        if(null != nsAlias)
  +        {
  +          // Should I leave the non-aliased element in the table as 
  +          // an excluded element?
  +          
  +          // The exclusion should apply to the non-aliased prefix, so 
  +          // we don't calculate it here.  -sb
  +          decl = new XMLNSDecl(nsAlias.getResultPrefix(), 
  +                              nsAlias.getResultNamespace(), shouldExclude);
  +        }
  +        else
  +          decl = new XMLNSDecl(prefix, uri, shouldExclude);
  +
  +        m_prefixTable.addElement(decl);
         }
       }
   
  @@ -847,7 +870,7 @@
   
           // Add the prefixes from the parent's prefix table.
           int n = prefixes.size();
  -
  +        
           for (int i = 0; i < n; i++)
           {
             XMLNSDecl decl = (XMLNSDecl) prefixes.elementAt(i);
  @@ -859,7 +882,7 @@
               decl = new XMLNSDecl(decl.getPrefix(), decl.getURI(),
                                    shouldExclude);
             }
  -
  +          
             m_prefixTable.addElement(decl);
           }
         }
  @@ -883,7 +906,7 @@
      * Send startPrefixMapping events to the result tree handler
      * for all declared prefix mappings in the stylesheet.
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      *
      * @throws TransformerException
      */
  @@ -918,7 +941,7 @@
      * Send startPrefixMapping events to the result tree handler
      * for all declared prefix mappings in the stylesheet.
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      *
      * @throws TransformerException
      */
  
  
  
  1.6       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemTextLiteral.java
  
  Index: ElemTextLiteral.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemTextLiteral.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ElemTextLiteral.java	2000/11/23 04:57:54	1.5
  +++ ElemTextLiteral.java	2000/12/01 17:50:15	1.6
  @@ -204,9 +204,9 @@
     /**
      * Copy the text literal to the result tree.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.5       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemUnknown.java
  
  Index: ElemUnknown.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemUnknown.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ElemUnknown.java	2000/11/23 04:57:54	1.4
  +++ ElemUnknown.java	2000/12/01 17:50:16	1.5
  @@ -89,9 +89,9 @@
     /**
      * Copy an unknown element to the result tree
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.8       +6 -6      xml-xalan/java/src/org/apache/xalan/templates/ElemUse.java
  
  Index: ElemUse.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemUse.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ElemUse.java	2000/11/30 09:57:32	1.7
  +++ ElemUse.java	2000/12/01 17:50:17	1.8
  @@ -150,11 +150,11 @@
      * contain the same attribute unless there is a definition of the attribute
      * set with higher import precedence that also contains the attribute."
      *
  -   * NEEDSDOC @param transformer
  +   * @param transformer non-null reference to the the current transform-time state.
      * NEEDSDOC @param stylesheet
      * NEEDSDOC @param attributeSetsNames
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -199,9 +199,9 @@
      * on xsl:attribute-set elements causes an attribute set to directly
      * or indirectly use itself.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.9       +3 -3      xml-xalan/java/src/org/apache/xalan/templates/ElemValueOf.java
  
  Index: ElemValueOf.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemValueOf.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ElemValueOf.java	2000/11/23 04:57:54	1.8
  +++ ElemValueOf.java	2000/12/01 17:50:17	1.9
  @@ -205,9 +205,9 @@
      * be merged with any adjacent text nodes.
      * @see <a href="http://www.w3.org/TR/xslt#value-of">value-of in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  
  
  
  1.8       +5 -5      xml-xalan/java/src/org/apache/xalan/templates/ElemVariable.java
  
  Index: ElemVariable.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemVariable.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ElemVariable.java	2000/11/30 09:57:32	1.7
  +++ ElemVariable.java	2000/12/01 17:50:17	1.8
  @@ -233,9 +233,9 @@
      * Execute a variable declaration and push it onto the variable stack.
      * @see <a href="http://www.w3.org/TR/xslt#variables">variables in XSLT Specification</a>
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  -   * NEEDSDOC @param mode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      *
      * @throws TransformerException
      */
  @@ -255,8 +255,8 @@
     /**
      * Get the XObject representation of the variable.
      *
  -   * NEEDSDOC @param transformer
  -   * NEEDSDOC @param sourceNode
  +   * @param transformer non-null reference to the the current transform-time state.
  +   * @param sourceNode non-null reference to the <a href="http://www.w3.org/TR/xslt#dt-current-node">current source node</a>.
      *
      * NEEDSDOC ($objectName$) @return
      *
  
  
  
  1.4       +55 -5     xml-xalan/java/src/org/apache/xalan/templates/NamespaceAlias.java
  
  Index: NamespaceAlias.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/NamespaceAlias.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- NamespaceAlias.java	2000/11/30 09:57:32	1.3
  +++ NamespaceAlias.java	2000/12/01 17:50:17	1.4
  @@ -62,7 +62,7 @@
    * that one namespace URI is an alias for another namespace URI.
    * @see <a href="http://www.w3.org/TR/xslt#literal-result-element">literal-result-element in XSLT Specification</a>
    */
  -public class NamespaceAlias implements RecomposableBase
  +public class NamespaceAlias extends ElemTemplateElement
   {
     
     /**
  @@ -83,7 +83,7 @@
     /**
      * Set the "stylesheet-prefix" attribute.
      *
  -   * NEEDSDOC @param v
  +   * @param v non-null prefix value.
      */
     public void setStylesheetPrefix(String v)
     {
  @@ -93,12 +93,37 @@
     /**
      * Get the "stylesheet-prefix" attribute.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return non-null prefix value.
      */
     public String getStylesheetPrefix()
     {
       return m_StylesheetPrefix;
     }
  +  
  +  /**
  +   * The namespace in the stylesheet space.
  +   */
  +  private String m_StylesheetNamespace;
  +
  +  /**
  +   * Set the value for the stylesheet namespace.
  +   *
  +   * @param v non-null prefix value.
  +   */
  +  public void setStylesheetNamespace(String v)
  +  {
  +    m_StylesheetNamespace = v;
  +  }
  +
  +  /**
  +   * Get the value for the stylesheet namespace.
  +   *
  +   * @return non-null prefix value.
  +   */
  +  public String getStylesheetNamespace()
  +  {
  +    return m_StylesheetNamespace;
  +  }
   
     /**
      * The "result-prefix" attribute
  @@ -108,7 +133,7 @@
     /**
      * Set the "result-prefix" attribute.
      *
  -   * NEEDSDOC @param v
  +   * @param v non-null prefix value.
      */
     public void setResultPrefix(String v)
     {
  @@ -118,11 +143,36 @@
     /**
      * Get the "result-prefix" attribute.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return non-null prefix value.
      */
     public String getResultPrefix()
     {
       return m_ResultPrefix;
  +  }
  +  
  +  /**
  +   * The result namespace.
  +   */
  +  private String m_ResultNamespace;
  +
  +  /**
  +   * Set the result namespace.
  +   *
  +   * @param v non
  +   */
  +  public void setResultNamespace(String v)
  +  {
  +    m_ResultNamespace = v;
  +  }
  +
  +  /**
  +   * Get the result namespace value.
  +   *
  +   * @return non-null namespace value.
  +   */
  +  public String getResultNamespace()
  +  {
  +    return m_ResultNamespace;
     }
   
     /**
  
  
  
  1.26      +11 -10    xml-xalan/java/src/org/apache/xalan/templates/StylesheetRoot.java
  
  Index: StylesheetRoot.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/StylesheetRoot.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- StylesheetRoot.java	2000/11/30 09:57:33	1.25
  +++ StylesheetRoot.java	2000/12/01 17:50:17	1.26
  @@ -438,9 +438,9 @@
      */
     public int getGlobalImportCount()
     {
  -	  return (m_globalImportList!=null)
  -			? m_globalImportList.length 
  -			  : 1;
  +          return (m_globalImportList!=null)
  +                        ? m_globalImportList.length 
  +                          : 1;
     }
   
     /**
  @@ -657,22 +657,23 @@
      */
     void recomposeNamespaceAliases(NamespaceAlias nsAlias)
     {
  -    m_namespaceAliasComposed.put(nsAlias.getStylesheetPrefix(),
  -                                 nsAlias.getResultPrefix());
  +    m_namespaceAliasComposed.put(nsAlias.getStylesheetNamespace(),
  +                                 nsAlias);
     }
   
     /**
      * Get the "xsl:namespace-alias" property.
  -   * Return the alias namespace uri for a given namespace uri if one is found.
  +   * Return the NamespaceAlias for a given namespace uri.
      * @see <a href="http://www.w3.org/TR/xslt#literal-result-element">literal-result-element in XSLT Specification</a>
      *
  -   * NEEDSDOC @param uri
  +   * @param uri non-null reference to namespace that is to be aliased.
      *
  -   * NEEDSDOC ($objectName$) @return
  +   * @return NamespaceAlias that matches uri, or null if no match.
      */
  -  public String getNamespaceAliasComposed(String uri)
  +  public NamespaceAlias getNamespaceAliasComposed(String uri)
     {
  -    return (String) m_namespaceAliasComposed.get(uri);
  +    return (NamespaceAlias) ((null == m_namespaceAliasComposed) 
  +                    ? null : m_namespaceAliasComposed.get(uri));
     }
   
     /**
  
  
  
  1.24      +1 -1      xml-xalan/java/src/org/apache/xalan/templates/TemplateList.java
  
  Index: TemplateList.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/TemplateList.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- TemplateList.java	2000/11/30 09:57:33	1.23
  +++ TemplateList.java	2000/12/01 17:50:17	1.24
  @@ -558,7 +558,7 @@
      * NEEDSDOC @param head
      * NEEDSDOC @param xctxt
      * NEEDSDOC @param targetNode
  -   * NEEDSDOC @param mode
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      */
     private void checkConflicts(TemplateSubPatternAssociation head,
                                 XPathContext xctxt, Node targetNode, QName mode)
  
  
  
  1.8       +1 -1      xml-xalan/java/src/org/apache/xalan/templates/TemplateSubPatternAssociation.java
  
  Index: TemplateSubPatternAssociation.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/templates/TemplateSubPatternAssociation.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TemplateSubPatternAssociation.java	2000/11/23 04:57:57	1.7
  +++ TemplateSubPatternAssociation.java	2000/12/01 17:50:18	1.8
  @@ -180,7 +180,7 @@
      *
      * NEEDSDOC @param xctxt
      * NEEDSDOC @param targetNode
  -   * NEEDSDOC @param mode
  +   * @param mode reference, which may be null, to the <a href="http://www.w3.org/TR/xslt#modes">current mode</a>.
      * @return The mode associated with the template.
      *
      * @throws TransformerException