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
  Usage:
    **For advanced use only**

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FuncDocument()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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`

    - ### 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 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`

    - #### 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 class `Expression`
      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.
        `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 class `Expression`
      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.
        `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`

    - #### isNodesetExpr

          public boolean isNodesetExpr()

      Tell if the expression is a nodeset expression.
      Overrides:
        `isNodesetExpr` in class `Expression`
      Returns:
        true if the expression can be represented as a nodeset.

Copyright © 2023 Apache XML Project. All Rights Reserved.