garyp       01/07/10 00:49:14

  Modified:    java/src/org/apache/xalan/extensions ExpressionContext.java
               java/src/org/apache/xalan/templates StylesheetRoot.java
               java/src/org/apache/xpath VariableStack.java
                        XPathContext.java
  Log:
  Resolve bugzilla 2355 
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2355>.  To make the 
functionality clearer, I've changed the method name from getVariable to 
getVariableOrParam since the routine will pick up either one.  Also fixed a bug 
 where top level variables and parameters were not getting marked as such.
  
  Revision  Changes    Path
  1.3       +15 -0     
xml-xalan/java/src/org/apache/xalan/extensions/ExpressionContext.java
  
  Index: ExpressionContext.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/ExpressionContext.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ExpressionContext.java    2000/10/30 18:56:27     1.2
  +++ ExpressionContext.java    2001/07/10 07:49:02     1.3
  @@ -58,6 +58,7 @@
   
   import org.w3c.dom.traversal.NodeIterator;
   import org.w3c.dom.Node;
  +import org.apache.xpath.objects.XObject;
   
   /**
    * An object that implements this interface can supply
  @@ -92,4 +93,18 @@
      * @return value of n as a string, or an empty string if n is null.
      */
     public String toString(Node n);
  +
  +  /**
  +   * Get a variable based on it's qualified name.
  +   *
  +   * @param qname The qualified name of the variable.
  +   *
  +   * @return The evaluated value of the variable.
  +   *
  +   * @throws javax.xml.transform.TransformerException
  +   */
  +
  +  public XObject getVariableOrParam(org.apache.xml.utils.QName qname)
  +            throws javax.xml.transform.TransformerException;
  +
   }
  
  
  
  1.43      +3 -0      
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.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- StylesheetRoot.java       2001/06/19 21:34:44     1.42
  +++ StylesheetRoot.java       2001/07/10 07:49:07     1.43
  @@ -750,7 +750,10 @@
     {
       // Don't overide higher priority variable        
       if (getVariableOrParamComposed(elemVar.getName()) == null)
  +    {
  +      elemVar.setIsTopLevel(true);        // Mark as a top-level variable or 
param
         m_variables.addElement(elemVar);
  +    }
     }
   
     /**
  
  
  
  1.31      +1 -1      xml-xalan/java/src/org/apache/xpath/VariableStack.java
  
  Index: VariableStack.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/VariableStack.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- VariableStack.java        2001/06/29 12:39:00     1.30
  +++ VariableStack.java        2001/07/10 07:49:10     1.31
  @@ -415,7 +415,7 @@
      *
      * @throws javax.xml.transform.TransformerException
      */
  -  public final XObject getVariable(
  +  public final XObject getVariableOrParam(
             XPathContext xctxt, org.apache.xml.utils.QName qname)
               throws javax.xml.transform.TransformerException
     {
  
  
  
  1.26      +16 -20    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.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XPathContext.java 2001/06/29 12:39:00     1.25
  +++ XPathContext.java 2001/07/10 07:49:12     1.26
  @@ -470,25 +470,6 @@
     {
       m_variableStacks = varStack;
     }
  -  
  -  /**
  -   * Get a variable based on it's qualified name.
  -   * This is for external use only.
  -   *
  -   * @param xctxt The XPath context, which must be passed in order to
  -   * lazy evaluate variables.
  -   * 
  -   * @param qname The qualified name of the variable.
  -   *
  -   * @return The evaluated value of the variable.
  -   *
  -   * @throws javax.xml.transform.TransformerException
  -   */
  -  public final XObject getVariable(org.apache.xml.utils.QName qname)
  -            throws javax.xml.transform.TransformerException
  -  {
  -     return m_variableStacks.getVariable(this, qname);
  -  }
   
     // ================ SourceTreeManager ===================
   
  @@ -1118,7 +1099,22 @@
         return strVal.toString();
       }
   
  -    
  +    /**
  +     * Get a variable based on it's qualified name.
  +     *
  +     * @param qname The qualified name of the variable.
  +     *
  +     * @return The evaluated value of the variable.
  +     *
  +     * @throws javax.xml.transform.TransformerException
  +     */
  +
  +    public final XObject getVariableOrParam(org.apache.xml.utils.QName qname)
  +              throws javax.xml.transform.TransformerException
  +    {
  +      return m_variableStacks.getVariableOrParam(XPathContext.this, qname);
  +    }
  +
     }
   
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to