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

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 {@link FuncHereContext) which has this Node as 'owner'.

See Also:
, Serialized Form

Field Summary
 
Fields inherited from class org.apache.xpath.Expression
m_slocator
 
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
checkNumberArgs, setArg
 
Methods inherited from class org.apache.xpath.Expression
asIterator, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, executeCharsToContentHandler, isNodesetExpr, isStableNumber, num, setSourceLocator, 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:
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 -