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:
java.io.Serializable
,javax.xml.transform.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
Method Detail
-
execute
public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
Execute the function. The function must return a valid object.
-
error
public void error(XPathContext xctxt, java.lang.String msg, java.lang.Object[] args) throws javax.xml.transform.TransformerException
Tell the user of an error, and probably throw an exception.- Overrides:
error
in 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.javax.xml.transform.TransformerException
-
warn
public void warn(XPathContext xctxt, java.lang.String msg, java.lang.Object[] args) throws javax.xml.transform.TransformerException
Warn the user of a problem.- Overrides:
warn
in 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.javax.xml.transform.TransformerException
-
checkNumberArgs
public void checkNumberArgs(int argNum) throws WrongNumberArgsException
Overide the superclass method to allow one or two arguments.- Overrides:
checkNumberArgs
in classFunction2Args
- Parameters:
argNum
- Number of arguments passed in to this function- Throws:
WrongNumberArgsException
-
isNodesetExpr
public boolean isNodesetExpr()
Tell if the expression is a nodeset expression.- Overrides:
isNodesetExpr
in classExpression
- Returns:
- true if the expression can be represented as a nodeset.
-
-