Class FuncHere
- java.lang.Object
-
- org.apache.xpath.Expression
-
- org.apache.xpath.functions.Function
-
- org.apache.xml.security.transforms.implementations.FuncHere
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.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 aFuncHere
which has this Node as 'owner'.- See Also:
- "http://www.w3.org/Signature/Drafts/xmldsig-core/Overview.html#function-here", Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description FuncHere()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.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(java.util.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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Method Detail
-
execute
public org.apache.xpath.objects.XObject execute(org.apache.xpath.XPathContext xctxt) throws javax.xml.transform.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:
javax.xml.transform.TransformerException
-
fixupVariables
public void fixupVariables(java.util.Vector vars, int globalsSize)
No arguments to process, so this does nothing.- Specified by:
fixupVariables
in classorg.apache.xpath.Expression
- Parameters:
vars
-globalsSize
-
-
-