org.apache.xml.security.transforms.implementations
Class FuncHere

java.lang.Object
  extended by org.apache.xpath.Expression
      extended by org.apache.xpath.functions.Function
          extended by 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
FuncHere()
           
 
Method Summary
 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(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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FuncHere

public FuncHere()
Method Detail

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 class org.apache.xpath.functions.Function
Parameters:
xctxt -
Returns:
the xobject
Throws:
TransformerException

fixupVariables

public void fixupVariables(Vector vars,
                           int globalsSize)
No arguments to process, so this does nothing.

Specified by:
fixupVariables in class org.apache.xpath.Expression
Parameters:
vars -
globalsSize -


Copyright © 2000–2014 The Apache Software Foundation. All rights reserved.