Class XSLGeneralVariable

    • Field Detail

      • constantText

        protected java.lang.String constantText
      • global

        protected boolean global
      • assignable

        protected boolean assignable
      • redundant

        protected boolean redundant
      • requiredParam

        protected boolean requiredParam
      • implicitlyRequiredParam

        protected boolean implicitlyRequiredParam
      • tunnel

        protected boolean tunnel
    • Constructor Detail

      • XSLGeneralVariable

        public XSLGeneralVariable()
    • Method Detail

      • getReturnedItemType

        protected ItemType getReturnedItemType()
        Determine the type of item returned by this instruction (only relevant if it is an instruction).
        Overrides:
        getReturnedItemType in class StyleElement
        Returns:
        the item type returned. This is null for a variable: we are not interested in the type of the variable, but in what the xsl:variable constributes to the result of the sequence constructor it is part of.
      • mayContainSequenceConstructor

        public boolean mayContainSequenceConstructor()
        Determine whether this type of element is allowed to contain a template-body
        Overrides:
        mayContainSequenceConstructor in class StyleElement
        Returns:
        true: yes, it may contain a template-body
      • allowsAsAttribute

        protected boolean allowsAsAttribute()
      • allowsTunnelAttribute

        protected boolean allowsTunnelAttribute()
      • allowsValue

        protected boolean allowsValue()
      • allowsRequired

        protected boolean allowsRequired()
      • isAssignable

        public boolean isAssignable()
        Test whether it is permitted to assign to the variable using the saxon:assign extension element.
        Returns:
        true if the extra attribute saxon:assignable="yes" is present.
      • isTunnelParam

        public boolean isTunnelParam()
        Test whether this is a tunnel parameter (tunnel="yes")
        Returns:
        true if this is a tunnel parameter
      • isRequiredParam

        public boolean isRequiredParam()
        Test whether this is a required parameter (required="yes")
        Returns:
        true if this is a required parameter
      • isGlobal

        public boolean isGlobal()
        Test whether this is a global variable or parameter
        Returns:
        true if this is global
      • getVariableDisplayName

        public java.lang.String getVariableDisplayName()
        Get the display name of the variable.
        Returns:
        the lexical QName
      • setRedundant

        public void setRedundant()
        Mark this global variable as redundant. This is done before prepareAttributes is called.
      • getVariableQName

        public StructuredQName getVariableQName()
        Get the QName of the variable
        Returns:
        the name as a structured QName, or a dummy name if the variable has no name attribute or has an invalid name attribute
      • prepareAttributes

        public void prepareAttributes()
                               throws XPathException
        Description copied from class: StyleElement
        Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass
        Specified by:
        prepareAttributes in class StyleElement
        Throws:
        XPathException - if a static error is detected
      • validate

        public void validate​(Declaration decl)
                      throws XPathException
        Description copied from class: StyleElement
        Check that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.
        Overrides:
        validate in class StyleElement
        Parameters:
        decl - the declaration to be validated
        Throws:
        XPathException - if any error is found during validation
      • postValidate

        public void postValidate()
                          throws XPathException
        Hook to allow additional validation of a parent element immediately after its children have been validated.
        Overrides:
        postValidate in class StyleElement
        Throws:
        XPathException - if any error is found during post-traversal validation
      • checkAgainstRequiredType

        public void checkAgainstRequiredType​(SequenceType required)
                                      throws XPathException
        Check the supplied select expression against the required type.
        Parameters:
        required - The type required by the variable declaration, or in the case of xsl:with-param, the signature of the called template
        Throws:
        XPathException - if an error is detected
      • initializeBinding

        protected void initializeBinding​(Executable exec,
                                         Declaration decl,
                                         GeneralVariable var)
                                  throws XPathException
        Initialize - common code called from the compile() method of all subclasses
        Parameters:
        exec - the executable
        decl - this xsl:variable declaration
        var - the representation of the variable declaration in the compiled executable
        Throws:
        XPathException - if an error is detected
      • setReferenceCount

        protected void setReferenceCount​(GeneralVariable var)