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]