Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.xml.security.transforms.implementations
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 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(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` -

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD