org.apache.xalan.templates
Class FuncDocument

java.lang.Object
  |
  +--org.apache.xpath.Expression
        |
        +--org.apache.xpath.functions.Function
              |
              +--org.apache.xpath.functions.FunctionOneArg
                    |
                    +--org.apache.xpath.functions.Function2Args
                          |
                          +--org.apache.xalan.templates.FuncDocument

public class FuncDocument
extends Function2Args

**For advanced use only** Execute the Doc() function. When the document function has exactly one argument and the argument is a node-set, then the result is the union, for each node in the argument node-set, of the result of calling the document function with the first argument being the string-value of the node, and the second argument being a node-set with the node as its only member. When the document function has two arguments and the first argument is a node-set, then the result is the union, for each node in the argument node-set, of the result of calling the document function with the first argument being the string-value of the node, and with the second argument being the second argument passed to the document function.

See Also:
Serialized Form

Constructor Summary
FuncDocument()
           
 
Method Summary
 void checkNumberArgs(int argNum)
          Overide the superclass method to allow one or two arguments.
 void error(XPathContext xctxt, java.lang.String msg, java.lang.Object[] args)
          Tell the user of an error, and probably throw an exception.
 XObject execute(XPathContext xctxt)
          Execute the function.
 boolean isNodesetExpr()
          Tell if the expression is a nodeset expression.
 void warn(XPathContext xctxt, java.lang.String msg, java.lang.Object[] args)
          Warn the user of a problem.
 
Methods inherited from class org.apache.xpath.functions.Function2Args
callArgVisitors, canTraverseOutsideSubtree, deepEquals, fixupVariables, getArg1, setArg
 
Methods inherited from class org.apache.xpath.functions.FunctionOneArg
getArg0, getExpression, setExpression
 
Methods inherited from class org.apache.xpath.functions.Function
callVisitors, postCompileStep
 
Methods inherited from class org.apache.xpath.Expression
asIterator, asIteratorRaw, asNode, assertion, bool, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isStableNumber, num, xstr
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FuncDocument

public FuncDocument()
Method Detail

execute

public XObject execute(XPathContext xctxt)
                throws TransformerException
Execute the function. The function must return a valid object.
Parameters:
xctxt - The current execution context.
Returns:
A valid XObject.
Throws:
TransformerException -  
Overrides:
execute in class Function

error

public void error(XPathContext xctxt,
                  java.lang.String msg,
                  java.lang.Object[] args)
           throws TransformerException
Tell the user of an error, and probably throw an exception.
Parameters:
xctxt - The XPath runtime state.
msg - The error message key
args - Arguments to be used in the error message
Throws:
XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
TransformerException -  
Overrides:
error in class Expression

warn

public void warn(XPathContext xctxt,
                 java.lang.String msg,
                 java.lang.Object[] args)
          throws TransformerException
Warn the user of a problem.
Parameters:
xctxt - The XPath runtime state.
msg - Warning message key
args - Arguments to be used in the warning message
Throws:
XSLProcessorException - thrown if the active ProblemListener and XPathContext decide the error condition is severe enough to halt processing.
TransformerException -  
Overrides:
warn in class Expression

checkNumberArgs

public void checkNumberArgs(int argNum)
                     throws WrongNumberArgsException
Overide the superclass method to allow one or two arguments.
Parameters:
argNum - Number of arguments passed in to this function
Throws:
WrongNumberArgsException -  
Overrides:
checkNumberArgs in class Function2Args

isNodesetExpr

public boolean isNodesetExpr()
Tell if the expression is a nodeset expression. In other words, tell if you can execute asNode without an exception.
Returns:
true if the expression can be represented as a nodeset.
Overrides:
isNodesetExpr in class Expression


Copyright © 2003 Apache XML Project. All Rights Reserved.