Class 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 a FuncHere 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
      • 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 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 class org.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 class org.apache.xpath.Expression
        Parameters:
        vars -
        globalsSize -