java.lang.Object
org.docx4j.org.apache.xpath.Expression
org.docx4j.org.apache.xpath.functions.Function
org.docx4j.org.apache.xml.security.transforms.implementations.FuncHere
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator, org.docx4j.org.apache.xpath.ExpressionNode, org.docx4j.org.apache.xpath.XPathVisitable

public class FuncHere
extends org.docx4j.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 
    Constructor Description
    FuncHere()  
  • Method Summary

    Modifier and Type Method Description
    org.docx4j.org.apache.xpath.objects.XObject execute​(org.docx4j.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.docx4j.org.apache.xpath.functions.Function

    callArgVisitors, callVisitors, checkNumberArgs, deepEquals, postCompileStep, reportWrongNumberArgs, setArg

    Methods inherited from class org.docx4j.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 Details

  • Method Details

    • execute

      public org.docx4j.org.apache.xpath.objects.XObject execute​(org.docx4j.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.docx4j.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.docx4j.org.apache.xpath.Expression
      Parameters:
      vars -
      globalsSize -