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:
- ExpressionNode, ExpressionOwner, Serializable, javax.xml.transform.SourceLocator, 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
Nested classes inherited from class org.apache.xpath.functions.Function2Args |
|
Fields inherited from class org.apache.xpath.functions.Function2Args |
|
Fields inherited from class org.apache.xpath.Expression |
|
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, isSameClass, isStableNumber, num, xstr |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FuncDocument
public FuncDocument()
execute
public XObject execute(XPathContext xctxt)
throws javax.xml.transform.TransformerException
- Execute the function. The function must return
a valid object.
- Overrides:
execute
in class Function
- Parameters:
xctxt
- The current execution context.
- Returns:
- A valid XObject.
- Throws:
javax.xml.transform.TransformerException
getDoc
int getDoc(XPathContext xctxt,
int context,
String uri,
String base)
throws javax.xml.transform.TransformerException
- Get the document from the given URI and base
- Parameters:
xctxt
- The XPath runtime state.context
- The current context nodeuri
- Relative(?) URI of the documentbase
- Base to resolve relative URI from.
- Returns:
- The document Node pointing to the document at the given URI
or null
- Throws:
javax.xml.transform.TransformerException
error
public void error(XPathContext xctxt,
String msg,
Object[] args)
throws javax.xml.transform.TransformerException
- Tell the user of an error, and probably throw an
exception.
- Overrides:
error
in class Expression
- 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,
String msg,
Object[] args)
throws javax.xml.transform.TransformerException
- Warn the user of a problem.
- Overrides:
warn
in class Expression
- 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 class Function2Args
- Parameters:
argNum
- Number of arguments passed in to this function
- Throws:
WrongNumberArgsException
reportWrongNumberArgs
protected void reportWrongNumberArgs()
throws WrongNumberArgsException
- Constructs and throws a WrongNumberArgException with the appropriate
message for this function object.
- Overrides:
reportWrongNumberArgs
in class Function2Args
- Throws:
WrongNumberArgsException
isNodesetExpr
public boolean isNodesetExpr()
- Tell if the expression is a nodeset expression. In other words, tell
if you can execute
asNode
without an exception.
- Overrides:
isNodesetExpr
in class Expression
- Returns:
- true if the expression can be represented as a nodeset.