Class FuncHere
java.lang.Object
org.apache.xpath.Expression
org.apache.xpath.functions.Function
org.apache.xml.security.transforms.implementations.FuncHere
- All Implemented Interfaces:
Serializable
,SourceLocator
,org.apache.xpath.ExpressionNode
,org.apache.xpath.XPathVisitable
public class FuncHere
extends org.apache.xpath.functions.Function
The 'here()' function returns a node-set containing the attribute or
processing instruction node or the parent element of the text node
that directly bears the XPath expression. This expression results
in an error if the containing XPath expression does not appear in the
same XML document against which the XPath expression is being evaluated.
Mainpart is stolen from FuncId.java
This does crash under Xalan2.2.D7 and works under Xalan2.2.D9
To get this baby to work, a special trick has to be used. The function needs
access to the Node where the XPath expression has been defined. This is done
by constructing a
FuncHere
which has this Node as 'owner'.- See Also:
-
- "http://www.w3.org/Signature/Drafts/xmldsig-core/Overview.html#function-here"
- Serialized Form
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.xpath.objects.XObject
execute
(org.apache.xpath.XPathContext xctxt) The here function returns a node-set containing the attribute or processing instruction node or the parent element of the text node that directly bears the XPath expression.void
fixupVariables
(Vector vars, int globalsSize) No arguments to process, so this does nothing.Methods inherited from class org.apache.xpath.functions.Function
callArgVisitors, callVisitors, checkNumberArgs, deepEquals, postCompileStep, reportWrongNumberArgs, setArg
Methods inherited from class org.apache.xpath.Expression
asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isSameClass, isStableNumber, num, warn, xstr
-
Constructor Details
-
FuncHere
public FuncHere()
-
-
Method Details
-
execute
public org.apache.xpath.objects.XObject execute(org.apache.xpath.XPathContext xctxt) throws TransformerException The here function returns a node-set containing the attribute or processing instruction node or the parent element of the text node that directly bears the XPath expression. This expression results in an error if the containing XPath expression does not appear in the same XML document against which the XPath expression is being evaluated.- Overrides:
execute
in classorg.apache.xpath.functions.Function
- Parameters:
xctxt
-- Returns:
- the xobject
- Throws:
TransformerException
-
fixupVariables
No arguments to process, so this does nothing.- Specified by:
fixupVariables
in classorg.apache.xpath.Expression
- Parameters:
vars
-globalsSize
-
-