Class ValueOf

  • All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.SourceLocator, LocationProvider, SaxonLocator, TailCallReturner, InstructionInfo, org.xml.sax.Locator

    public final class ValueOf
    extends SimpleNodeConstructor
    An xsl:value-of element in the stylesheet.
    The xsl:value-of element takes attributes:
    • a mandatory attribute select="expression". This must be a valid String expression
    • an optional disable-output-escaping attribute, value "yes" or "no"
    • an optional separator attribute. This is handled at compile-time: if the separator attribute is present, the select expression passed in here will be a call to the string-join() function.
    See Also:
    Serialized Form
    • Constructor Detail

      • ValueOf

        public ValueOf​(Expression select,
                       boolean disable,
                       boolean noNodeIfEmpty)
        Create a new ValueOf expression
        Parameters:
        select - the select expression
        disable - true if disable-output-escaping is in force
        noNodeIfEmpty - true if the instruction is to return () if the select expression is (), false if it is to return an empty text node
    • Method Detail

      • setIsNumberingInstruction

        public void setIsNumberingInstruction()
        Indicate that this is really an xsl:nunber instruction
      • isNumberingInstruction

        public boolean isNumberingInstruction()
        Determine whether this is really an xsl:number instruction
        Returns:
        true if this derives from xsl:number
      • isNoNodeIfEmpty

        public boolean isNoNodeIfEmpty()
      • getInstructionNameCode

        public int getInstructionNameCode()
        Get the name of this instruction for diagnostic and tracing purposes
        Overrides:
        getInstructionNameCode in class Instruction
        Returns:
        the namecode of the instruction name
      • getOptions

        public int getOptions()
        Test for any special options such as disable-output-escaping
        Returns:
        any special options
      • isDisableOutputEscaping

        public boolean isDisableOutputEscaping()
        Test whether disable-output-escaping was requested
        Returns:
        true if disable-output-escaping was requested
      • getItemType

        public ItemType getItemType​(TypeHierarchy th)
        Description copied from class: Instruction
        Get the item type of the items returned by evaluating this instruction
        Overrides:
        getItemType in class Instruction
        Parameters:
        th - the type hierarchy cache
        Returns:
        the static item type of the instruction
      • copy

        public Expression copy()
        Copy an expression. This makes a deep copy.
        Specified by:
        copy in class Expression
        Returns:
        the copy of the original expression
      • checkPermittedContents

        public void checkPermittedContents​(SchemaType parentType,
                                           StaticContext env,
                                           boolean whole)
                                    throws XPathException
        Check statically that the results of the expression are capable of constructing the content of a given schema type.
        Overrides:
        checkPermittedContents in class Expression
        Parameters:
        parentType - The schema type
        env - the static context
        whole - true if this expression is to account for the whole value of the type
        Throws:
        XPathException - if the expression doesn't match the required content type
      • convertToCastAsString

        public Expression convertToCastAsString()
        Convert this value-of instruction to an expression that delivers the string-value of the resulting text node as an untyped atomic value.
        Returns:
        the converted expression
      • evaluateItem

        public NodeInfo evaluateItem​(XPathContext context)
                              throws XPathException
        Evaluate this expression, returning the resulting text node to the caller
        Overrides:
        evaluateItem in class SimpleNodeConstructor
        Parameters:
        context - the dynamic evaluation context
        Returns:
        the parentless text node that results from evaluating this instruction, or null to represent an empty sequence
        Throws:
        XPathException
      • explain

        public void explain​(ExpressionPresenter out)
        Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
        Specified by:
        explain in class Expression
        Parameters:
        out - the expression presenter used to display the structure