Interface VariableContext
- All Known Implementing Classes:
SimpleVariableContext
Variables within an XPath expression are denoted using
notation such as $varName
or
$nsPrefix:varName
, and may
refer to a Boolean
, Double
, String
,
node-set (List
) or individual XML node.
When a variable is bound to a node-set, the
actual Java object returned should be a java.util.List
containing XML nodes from the object-model (e.g. dom4j, JDOM, DOM, etc.)
being used with the XPath.
A variable may validly be assigned the null
value,
but an unbound variable (one that this context does not know about)
should cause an UnresolvableException
to be thrown.
Implementations of this interface should implement Serializable
.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetVariableValue
(String namespaceURI, String prefix, String localName) An implementation should return the value of an XPath variable based on the namespace URI and local name of the variable-reference expression.
-
Method Details
-
getVariableValue
Object getVariableValue(String namespaceURI, String prefix, String localName) throws UnresolvableException An implementation should return the value of an XPath variable based on the namespace URI and local name of the variable-reference expression.It must not use the prefix parameter to select a variable, because a prefix could be bound to any namespace; the prefix parameter could be used in debugging output or other generated information. The prefix may otherwise be ignored.
- Parameters:
namespaceURI
- the namespace URI to which the prefix parameter is bound in the XPath expression. If the variable reference expression had no prefix, the namespace URI isnull
.prefix
- the prefix that was used in the variable reference expression; this value is ignored and has no effectlocalName
- the local name of the variable-reference expression. If there is no prefix, then this is the whole name of the variable.- Returns:
- the variable's value (which can be
null
) - Throws:
UnresolvableException
- when the variable cannot be resolved
-