Class XSLTStylesheet


  • public class XSLTStylesheet
    extends XSLObject
    This class represents an XSL stylesheet
    Author:
    Keith Visco
    • Field Detail

      • XSLT_NAMESPACE

        public static final java.lang.String XSLT_NAMESPACE
        The current (and ever changing) XSLT namespace
        See Also:
        Constant Field Values
    • Constructor Detail

      • XSLTStylesheet

        public XSLTStylesheet()
        Create a new XSLStylesheet
    • Method Detail

      • addAttributeSet

        public void addAttributeSet​(AttributeSet attributeSet)
        Adds the given AttributeSet to this stylesheet
        Parameters:
        attributeSet - the AttributeSet to add
      • addVariable

        public void addVariable​(Variable variable)
                         throws XSLException
        Adds a new top-level Variable to this stylesheet
        Parameters:
        variable - the Variable to add
        Throws:
        XSLException - when adding a Variable with the same name as a previously added Variable or Parameter.
      • addId

        public void addId​(java.lang.String idAttr)
        Adds a new Id to the list of IDs for this stylesheet for all elements.
        Parameters:
        idAttr - the id attribute to add
      • addId

        public void addId​(java.lang.String idAttr,
                          java.lang.String elementType)
        Adds a new Id for the specified element type to the list of IDs for this element type stylesheet.
        Parameters:
        idAttr - the ID to add
        elementType - the tag name of the element that id is an ID for Note: the wild card "*" will match all element types
      • addId

        public void addId​(Id id)
        Adds a new Id for the specified element type to the list of IDs for this element type stylesheet.
        Parameters:
        id - the Id to add
      • addParam

        public void addParam​(Param param)
                      throws XSLException
        Adds a new top-level parameter to this stylesheet. The parameter may, or may not have a default value.
        Parameters:
        param - the top-level parameter to add
        Throws:
        XSLException - when adding a parameter with the same name as a previously declared parameter, or variable
      • addTemplate

        public void addTemplate​(TemplateRule template)
                         throws XSLException
        Adds a new TemplateRule to the list of rules for this stylesheet.
        Parameters:
        rule - the TemplateRule to add
        Throws:
        XSLException - when a template already exists with the given name
      • addScript

        public void addScript​(XSLScript script)
        Adds a new global level XSLScript to this stylesheet.
        Note: This is currently a proprietary feature
        Parameters:
        script - the XSLScript to add
      • appendAction

        public boolean appendAction​(XSLObject xslObject)
        Adds the given XSLObject to this Stylesheet.
        The following elements are valid:
           xsl:attribute-set
           xsl:constant
           xsl:id
           xsl:import
           xsl:include
           xsl:macro
           xsl:template
           xsl:preserve-space
           xsl:strip-space
        
         The following proprietary elemens are also valid:
           xsl:script
         
        Overrides:
        appendAction in class XSLObject
        Parameters:
        xslObject - the XSLObject to add to this XSLObject's list of actions
        Returns:
        true if the given XSLObject has been added to this XSLObject otherwise false
      • getAttributeSet

        public AttributeSet getAttributeSet​(java.lang.String setName)
        Parameters:
        setName - the name of the attribute set to return
        Returns:
        the AttributeSet for the given name, or null if not found.
        See Also:
        AttributeSet
      • getAttributeSets

        public java.util.Hashtable getAttributeSets()
        Returns all of the attribute-sets for this stylesheet
        Returns:
        all of the AttributeSets for this stylesheet
      • getDocumentBase

        public java.lang.String getDocumentBase()
        Returns the document base for this stylesheet
        Returns:
        the document base for this stylesheet
      • getExtensionElementPrefixes

        public List getExtensionElementPrefixes()
        Returns an enumeration of the declared namespace prefixes for extension elements
      • getURILocation

        public URILocation getURILocation()
        Returns the URILocation for this stylesheet, or null, if no location was set.
        Returns:
        the URILocation for this stylesheet
        See Also:
        getHref(), getDocumentBase()
      • getOutput

        public XSLOutput getOutput()
        Returns the XSLOutput Object for controlling the serialization of Result Documents created using this Stylesheet
        Returns:
        the Output Object for controlling the serialization of Result Documents created using this Stylesheet
      • getHref

        public java.lang.String getHref()
        Returns:
        the href for this stylesheet
      • getIds

        public java.util.Hashtable getIds()
        Returns:
        a Vector of all the ID attributes for this Stylesheet
      • getLocalTemplates

        public List getLocalTemplates()
        Returns:
        a Vector of the TemplateRule objects for this stylesheet, does not include imported TemplateRules.
      • getNamedTemplate

        public TemplateRule getNamedTemplate​(java.lang.String name)
        Returns the TemplateRule whose name matches the given name argument. Peter Ciuffetti. Added for WD-xslt-1990421
        Parameters:
        name - the name of the NamedTemplate to return
        Returns:
        the TemplateRule whose name matches the given name argument
        Since:
        WD-xslt-19990421
      • getNamedTemplates

        public java.util.Enumeration getNamedTemplates()
        Returns an enumeration of templates that have names
        Returns:
        an enumeration of templates that have names
      • getParameter

        public Param getParameter​(java.lang.String name)
        Returns the top-level parameter associated with the given name
        Parameters:
        name - the name of the top-level parameter to return
        Returns:
        the top-level parameter associated with the given name
      • getParameters

        public java.util.Enumeration getParameters()
        Returns an Enumeration of the top-level parameters
        Returns:
        the Enumeration of top-level parameter declarations
      • getVariable

        public Variable getVariable​(java.lang.String name)
        Returns the variable associated with the given name
        Parameters:
        name - the name of the variable to return
        Returns:
        the variable associated with the given name
      • getVariables

        public java.util.Enumeration getVariables()
        Returns an Enumeration of the top-level variables
        Returns:
        the Enumeration of top-level variable declarations
      • countTemplates

        public int countTemplates()
        Returns:
        the number of templates contained in this stylesheet, including imported rules
      • getQuotedNamespace

        public java.lang.String getQuotedNamespace​(java.lang.String namespace)
        Returns the namespace that the given namespace argument quotes
        Parameters:
        namespace - the namespace to resolve
      • getResultNamespace

        public java.lang.String getResultNamespace()
      • getResultDocType

        public java.lang.String getResultDocType()
      • getScripts

        public List getScripts()
        Retrieves the set of global level scripts for this stylesheet
        Returns:
        a List of XSLScript Objects
      • getTemplates

        public TemplateRule[] getTemplates()
        Returns:
        an array of all the TemplateRule objects for this stylesheet, including imported templates
      • getXSLNSPrefix

        public java.lang.String getXSLNSPrefix()
        Returns the XSL Namespace Prefix for this XSL Stylesheet
        Returns:
        the XSL Namespace Prefix for this XSL Stylesheet
      • importFrom

        public void importFrom​(XSLTStylesheet xsl)
                        throws XSLException
        Imports the given XSLStylesheet to this XSLStylesheet.
        Parameters:
        xsl - the XSLStylesheet to import
        Throws:
        XSLException
      • importFrom

        public void importFrom​(XSLImport xslImport)
                        throws XSLException
        Imports the XSLStylesheet referenced by the given XSLImport to this stylesheet.
        Parameters:
        xslImport - the XSLImport referencing the appropriate XSLStylesheet to import.
        Throws:
        XSLException
      • includeFrom

        public void includeFrom​(XSLTStylesheet xsl)
                         throws XSLException
        Includes the given XSLStylesheet to this XSLStylesheet.
        Parameters:
        xsl - the XSLStylesheet to include
        Throws:
        XSLException
        See Also:
        isAllowableInclusion
      • isAllowableImport

        public boolean isAllowableImport​(java.lang.String filename)
        Checks the given filename against this Stylesheet's href and previously imported stylesheets to determine if the file represented by the given filename can be imported in this stylesheet.
        Returns:
        true if the given filename is allowed to be included in this XSLStylesheet, otherwise false.
      • preserveSpace

        public void preserveSpace​(java.lang.String name)
        Preserves the whitespace of Elements with the given name. By default all ignorable whitespace is removed for all Elements.
        Parameters:
        name - the name of the Element to preserve whitespace of.
        See Also:
        stripSpace(java.lang.String)
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
                          throws XSLException
        Description copied from class: XSLObject
        Sets the attribute with the given name to the given value.
        Overrides:
        setAttribute in class XSLObject
        Parameters:
        name - the name of the attribute to set
        value - the value to set the attribute to
        Throws:
        XSLException - if this XSLObject does not allow attributes with the given name, or if the attribute is read only
        See Also:
        org.exolab.adaptx.xslt.XSLElement
      • setURILocation

        public void setURILocation​(URILocation location)
        Sets the URILocation for this stylesheet
        Parameters:
        location - the URILocation of this stylesheet
      • stripSpace

        public void stripSpace​(java.lang.String name)
        Removes the ignorable whitespace from Elements with the given name. By default all ignorable whitespace is removed for all Elements. This method should only be called if preserveSpace was previously called with the same name argument.
        Parameters:
        name - the name of the Element to strip whitespace from
        See Also:
        preserveSpace(java.lang.String)