Class ElemUse

All Implemented Interfaces:
Serializable, SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, Document, Element, Node, NodeList
Direct Known Subclasses:
ElemAttributeSet, ElemCopy, ElemElement, ElemLiteralResult

public class ElemUse extends ElemTemplateElement
Implement xsl:use. This acts as a superclass for ElemCopy, ElemAttributeSet, ElemElement, and ElemLiteralResult, on order to implement shared behavior the use-attribute-sets attribute.
See Also:
  • Constructor Details

    • ElemUse

      public ElemUse()
  • Method Details

    • setUseAttributeSets

      public void setUseAttributeSets(Vector v)
      Set the "use-attribute-sets" attribute. Attribute sets are used by specifying a use-attribute-sets attribute on xsl:element, xsl:copy (see [7.5 Copying]) or xsl:attribute-set elements. The value of the use-attribute-sets attribute is a whitespace-separated list of names of attribute sets. Each name is specified as a QName, which is expanded as described in [2.4 Qualified Names].
      Parameters:
      v - The value to set for the "use-attribute-sets" attribute.
    • setUseAttributeSets

      public void setUseAttributeSets(QName[] v)
      Set the "use-attribute-sets" attribute. Attribute sets are used by specifying a use-attribute-sets attribute on xsl:element, xsl:copy (see [7.5 Copying]) or xsl:attribute-set elements. The value of the use-attribute-sets attribute is a whitespace-separated list of names of attribute sets. Each name is specified as a QName, which is expanded as described in [2.4 Qualified Names].
      Parameters:
      v - The value to set for the "use-attribute-sets" attribute.
    • getUseAttributeSets

      public QName[] getUseAttributeSets()
      Get the "use-attribute-sets" attribute. Attribute sets are used by specifying a use-attribute-sets attribute on xsl:element, xsl:copy (see [7.5 Copying]) or xsl:attribute-set elements, or a xsl:use-attribute-sets attribute on Literal Result Elements. The value of the use-attribute-sets attribute is a whitespace-separated list of names of attribute sets. Each name is specified as a QName, which is expanded as described in [2.4 Qualified Names].
      Returns:
      The value of the "use-attribute-sets" attribute.
    • applyAttrSets

      public void applyAttrSets(TransformerImpl transformer, StylesheetRoot stylesheet) throws TransformerException
      Add the attributes from the named attribute sets to the attribute list. TODO: Error handling for: "It is an error if there are two attribute sets with the same expanded-name and with equal import precedence and that both contain the same attribute unless there is a definition of the attribute set with higher import precedence that also contains the attribute."
      Parameters:
      transformer - non-null reference to the the current transform-time state.
      stylesheet - The owning root stylesheet
      Throws:
      TransformerException
    • execute

      public void execute(TransformerImpl transformer) throws TransformerException
      Copy attributes specified by use-attribute-sets to the result tree. Specifying a use-attribute-sets attribute is equivalent to adding xsl:attribute elements for each of the attributes in each of the named attribute sets to the beginning of the content of the element with the use-attribute-sets attribute, in the same order in which the names of the attribute sets are specified in the use-attribute-sets attribute. It is an error if use of use-attribute-sets attributes on xsl:attribute-set elements causes an attribute set to directly or indirectly use itself.
      Overrides:
      execute in class ElemTemplateElement
      Parameters:
      transformer - non-null reference to the the current transform-time state.
      Throws:
      TransformerException