Class ElemVariable

    • Constructor Detail

      • ElemVariable

        public ElemVariable()
        Constructor ElemVariable
      • ElemVariable

        public ElemVariable​(ElemVariable param)
                     throws javax.xml.transform.TransformerException
        Copy constructor.
        Parameters:
        param - An element created from an xsl:variable
        Throws:
        javax.xml.transform.TransformerException
    • Method Detail

      • setIndex

        public void setIndex​(int index)
        Sets the relative position of this variable within the stack frame (if local) or the global area (if global). Note that this should be called only for global variables since the local position is computed in the compose() method.
      • getIndex

        public int getIndex()
        If this element is not at the top-level, get the relative position of the variable into the stack frame. If this variable is at the top-level, get the relative position within the global area.
      • setSelect

        public void setSelect​(XPath v)
        Set the "select" attribute. If the variable-binding element has a select attribute, then the value of the attribute must be an expression and the value of the variable is the object that results from evaluating the expression. In this case, the content of the variable must be empty.
        Parameters:
        v - Value to set for the "select" attribute.
      • getSelect

        public XPath getSelect()
        Get the "select" attribute. If the variable-binding element has a select attribute, then the value of the attribute must be an expression and the value of the variable is the object that results from evaluating the expression. In this case, the content of the variable must be empty.
        Returns:
        Value of the "select" attribute.
      • setName

        public void setName​(QName v)
        Set the "name" attribute. Both xsl:variable and xsl:param have a required name attribute, which specifies the name of the variable. The value of the name attribute is a QName, which is expanded as described in [2.4 Qualified Names].
        Parameters:
        v - Value to set for the "name" attribute.
        See Also:
        qname in XSLT Specification
      • getName

        public QName getName()
        Get the "name" attribute. Both xsl:variable and xsl:param have a required name attribute, which specifies the name of the variable. The value of the name attribute is a QName, which is expanded as described in [2.4 Qualified Names].
        Returns:
        Value of the "name" attribute.
        See Also:
        qname in XSLT Specification
      • setIsTopLevel

        public void setIsTopLevel​(boolean v)
        Set if this is a top-level variable or param, or not.
        Parameters:
        v - Boolean indicating whether this is a top-level variable or param, or not.
        See Also:
        top-level-variables in XSLT Specification
      • getIsTopLevel

        public boolean getIsTopLevel()
        Get if this is a top-level variable or param, or not.
        Returns:
        Boolean indicating whether this is a top-level variable or param, or not.
        See Also:
        top-level-variables in XSLT Specification
      • getXSLToken

        public int getXSLToken()
        Get an integer representation of the element type.
        Overrides:
        getXSLToken in class ElemTemplateElement
        Returns:
        An integer representation of the element, defined in the Constants class.
        See Also:
        Constants
      • getNodeName

        public java.lang.String getNodeName()
        Return the node name.
        Specified by:
        getNodeName in interface org.w3c.dom.Node
        Overrides:
        getNodeName in class ElemTemplateElement
        Returns:
        The node name
      • execute

        public void execute​(TransformerImpl transformer)
                     throws javax.xml.transform.TransformerException
        Execute a variable declaration and push it onto the variable stack.
        Overrides:
        execute in class ElemTemplateElement
        Parameters:
        transformer - non-null reference to the the current transform-time state.
        Throws:
        javax.xml.transform.TransformerException
        See Also:
        variables in XSLT Specification
      • getValue

        public XObject getValue​(TransformerImpl transformer,
                                int sourceNode)
                         throws javax.xml.transform.TransformerException
        Get the XObject representation of the variable.
        Parameters:
        transformer - non-null reference to the the current transform-time state.
        sourceNode - non-null reference to the current source node.
        Returns:
        the XObject representation of the variable.
        Throws:
        javax.xml.transform.TransformerException
      • compose

        public void compose​(StylesheetRoot sroot)
                     throws javax.xml.transform.TransformerException
        This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.
        Overrides:
        compose in class ElemTemplateElement
        Throws:
        javax.xml.transform.TransformerException
      • endCompose

        public void endCompose​(StylesheetRoot sroot)
                        throws javax.xml.transform.TransformerException
        This after the template's children have been composed. We have to get the count of how many variables have been declared, so we can do a link and unlink.
        Overrides:
        endCompose in class ElemTemplateElement
        Throws:
        javax.xml.transform.TransformerException
      • recompose

        public void recompose​(StylesheetRoot root)
        This function is called during recomposition to control how this element is composed.
        Overrides:
        recompose in class ElemTemplateElement
        Parameters:
        root - The root stylesheet for this transformation.
      • isPsuedoVar

        public boolean isPsuedoVar()
        Tell if this is a psuedo variable reference, declared by Xalan instead of by the user.
      • appendChild

        public ElemTemplateElement appendChild​(ElemTemplateElement elem)
        Add a child to the child list. If the select attribute is present, an error will be raised.
        Overrides:
        appendChild in class ElemTemplateElement
        Parameters:
        elem - New element to append to this element's children list
        Returns:
        null if the select attribute was present, otherwise the child just added to the child list