summaryrefslogtreecommitdiff
path: root/gnu/xml/xpath/VariableReference.java
diff options
context:
space:
mode:
authorChris Burdess <dog@bluezoo.org>2005-07-09 20:38:33 +0000
committerChris Burdess <dog@bluezoo.org>2005-07-09 20:38:33 +0000
commit55e6004315b2ec5cf1d801689fb67e08ef58a500 (patch)
tree85b23bd63d20011c08122fa0ccf7862456c274b5 /gnu/xml/xpath/VariableReference.java
parent7a86e8a0bcbada1881ab8c46560094e2b466b943 (diff)
downloadclasspath-55e6004315b2ec5cf1d801689fb67e08ef58a500.tar.gz
2005-07-09 Chris Burdess <dog@gnu.org>
* gnu/xml/transform/AbstractNumberNode.java, gnu/xml/transform/ApplyImportsNode.java, gnu/xml/transform/ApplyTemplatesNode.java, gnu/xml/transform/AttributeNode.java, gnu/xml/transform/Bindings.java, gnu/xml/transform/CallTemplateNode.java, gnu/xml/transform/CopyOfNode.java, gnu/xml/transform/CurrentFunction.java, gnu/xml/transform/DocumentFunction.java, gnu/xml/transform/ElementAvailableFunction.java, gnu/xml/transform/ElementNode.java, gnu/xml/transform/ForEachNode.java, gnu/xml/transform/FormatNumberFunction.java, gnu/xml/transform/FunctionAvailableFunction.java, gnu/xml/transform/GenerateIdFunction.java, gnu/xml/transform/IfNode.java, gnu/xml/transform/KeyFunction.java, gnu/xml/transform/ParameterNode.java, gnu/xml/transform/SortKey.java, gnu/xml/transform/StreamSerializer.java, gnu/xml/transform/Stylesheet.java, gnu/xml/transform/SystemPropertyFunction.java, gnu/xml/transform/TemplateNode.java, gnu/xml/transform/TransformerImpl.java, gnu/xml/transform/UnparsedEntityUriFunction.java, gnu/xml/transform/ValueOfNode.java, gnu/xml/transform/WhenNode.java, gnu/xml/transform/WithParam.java, gnu/xml/xpath/AndExpr.java, gnu/xml/xpath/ArithmeticExpr.java, gnu/xml/xpath/BooleanFunction.java, gnu/xml/xpath/CeilingFunction.java, gnu/xml/xpath/ConcatFunction.java, gnu/xml/xpath/Constant.java, gnu/xml/xpath/ContainsFunction.java, gnu/xml/xpath/CountFunction.java, gnu/xml/xpath/EqualityExpr.java, gnu/xml/xpath/Expr.java, gnu/xml/xpath/FalseFunction.java, gnu/xml/xpath/FloorFunction.java, gnu/xml/xpath/FunctionCall.java, gnu/xml/xpath/IdFunction.java, gnu/xml/xpath/LangFunction.java, gnu/xml/xpath/LastFunction.java, gnu/xml/xpath/LocalNameFunction.java, gnu/xml/xpath/NameFunction.java, gnu/xml/xpath/NameTest.java, gnu/xml/xpath/NamespaceTest.java, gnu/xml/xpath/NamespaceUriFunction.java, gnu/xml/xpath/NegativeExpr.java, gnu/xml/xpath/NodeTypeTest.java, gnu/xml/xpath/NormalizeSpaceFunction.java, gnu/xml/xpath/NotFunction.java, gnu/xml/xpath/NumberFunction.java, gnu/xml/xpath/OrExpr.java, gnu/xml/xpath/ParenthesizedExpr.java, gnu/xml/xpath/Pattern.java, gnu/xml/xpath/PositionFunction.java, gnu/xml/xpath/Predicate.java, gnu/xml/xpath/RelationalExpr.java, gnu/xml/xpath/Root.java, gnu/xml/xpath/RoundFunction.java, gnu/xml/xpath/Selector.java, gnu/xml/xpath/StartsWithFunction.java, gnu/xml/xpath/Steps.java, gnu/xml/xpath/StringFunction.java, gnu/xml/xpath/StringLengthFunction.java, gnu/xml/xpath/SubstringAfterFunction.java, gnu/xml/xpath/SubstringBeforeFunction.java, gnu/xml/xpath/SubstringFunction.java, gnu/xml/xpath/SumFunction.java, gnu/xml/xpath/Test.java, gnu/xml/xpath/TranslateFunction.java, gnu/xml/xpath/TrueFunction.java, gnu/xml/xpath/UnionExpr.java, gnu/xml/xpath/VariableReference.java, gnu/xml/xpath/XPathParser.java, gnu/xml/xpath/XPathParser.y, javax/xml/namespace/QName.java: Corrections to handling of XSL variables and minor conformance updates.
Diffstat (limited to 'gnu/xml/xpath/VariableReference.java')
-rw-r--r--gnu/xml/xpath/VariableReference.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/gnu/xml/xpath/VariableReference.java b/gnu/xml/xpath/VariableReference.java
index e53d1faa8..813a37f96 100644
--- a/gnu/xml/xpath/VariableReference.java
+++ b/gnu/xml/xpath/VariableReference.java
@@ -47,9 +47,9 @@ public class VariableReference
{
final XPathVariableResolver resolver;
- final String name;
+ final QName name;
- public VariableReference(XPathVariableResolver resolver, String name)
+ public VariableReference(XPathVariableResolver resolver, QName name)
{
this.resolver = resolver;
this.name = name;
@@ -64,8 +64,7 @@ public class VariableReference
// Needs context to operate properly
return ((Bindings) resolver).get(name, context, pos, len);
}
- QName qname = QName.valueOf(name);
- return resolver.resolveVariable(qname);
+ return resolver.resolveVariable(name);
}
throw new IllegalStateException("no variable resolver");
}
@@ -80,9 +79,22 @@ public class VariableReference
return new VariableReference(r, name);
}
+ public boolean references(QName var)
+ {
+ return name.equals(var);
+ }
+
public String toString()
{
- return "$" + name;
+ StringBuffer buf = new StringBuffer("$");
+ String prefix = name.getPrefix();
+ if (prefix != null && !"".equals(prefix))
+ {
+ buf.append(prefix);
+ buf.append(':');
+ }
+ buf.append(name.getLocalPart());
+ return buf.toString();
}
}