Package 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
- All Implemented Interfaces:
Serializable,SourceLocator,ExpressionNode,ExpressionOwner,XPathVisitable
public class FuncDocument extends Function2Args
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
Constructors Constructor Description FuncDocument() -
Method Summary
Modifier and Type Method Description voidcheckNumberArgs(int argNum)Overide the superclass method to allow one or two arguments.voiderror(XPathContext xctxt, String msg, Object[] args)Tell the user of an error, and probably throw an exception.XObjectexecute(XPathContext xctxt)Execute the function.booleanisNodesetExpr()Tell if the expression is a nodeset expression.protected voidreportWrongNumberArgs()Constructs and throws a WrongNumberArgException with the appropriate message for this function object.voidwarn(XPathContext xctxt, String msg, Object[] args)Warn the user of a problem.Methods inherited from class org.apache.xpath.functions.Function2Args
callArgVisitors, canTraverseOutsideSubtree, deepEquals, fixupVariables, getArg1, setArgMethods inherited from class org.apache.xpath.functions.FunctionOneArg
getArg0, getExpression, setExpressionMethods inherited from class org.apache.xpath.functions.Function
callVisitors, postCompileStepMethods 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, isSameClass, isStableNumber, num, xstr
-
Constructor Details
-
FuncDocument
public FuncDocument()
-
-
Method Details
-
execute
Execute the function. The function must return a valid object.- Overrides:
executein classFunction- Parameters:
xctxt- The current execution context.- Returns:
- A valid XObject.
- Throws:
TransformerException
-
error
Tell the user of an error, and probably throw an exception.- Overrides:
errorin classExpression- Parameters:
xctxt- The XPath runtime state.msg- The error message keyargs- 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
-
warn
Warn the user of a problem.- Overrides:
warnin classExpression- Parameters:
xctxt- The XPath runtime state.msg- Warning message keyargs- 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
-
checkNumberArgs
Overide the superclass method to allow one or two arguments.- Overrides:
checkNumberArgsin classFunction2Args- Parameters:
argNum- Number of arguments passed in to this function- Throws:
WrongNumberArgsException
-
reportWrongNumberArgs
Constructs and throws a WrongNumberArgException with the appropriate message for this function object.- Overrides:
reportWrongNumberArgsin classFunction2Args- Throws:
WrongNumberArgsException
-
isNodesetExpr
public boolean isNodesetExpr()Tell if the expression is a nodeset expression.- Overrides:
isNodesetExprin classExpression- Returns:
- true if the expression can be represented as a nodeset.
-