org.apache.xalan.templates

Class ElemUse

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: attribute-sets in XSLT Specification

UNKNOWN: advanced

Method Summary
voidapplyAttrSets(TransformerImpl transformer, StylesheetRoot stylesheet)
Add the attributes from the named attribute sets to the attribute list.
voidexecute(TransformerImpl transformer)
Copy attributes specified by use-attribute-sets to the result tree.
QName[]getUseAttributeSets()
Get the "use-attribute-sets" attribute.
voidsetUseAttributeSets(Vector v)
Set the "use-attribute-sets" attribute.
voidsetUseAttributeSets(QName[] v)
Set the "use-attribute-sets" attribute.

Method Detail

applyAttrSets

public void applyAttrSets(TransformerImpl transformer, StylesheetRoot stylesheet)
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)
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.

Parameters: transformer non-null reference to the the current transform-time state.

Throws: TransformerException

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.

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.

Copyright B) 2006 Apache XML Project. All Rights Reserved.