org.apache.xalan.templates
Class ElemUse

java.lang.Object
  |
  +--org.apache.xml.utils.UnImplNode
        |
        +--org.apache.xalan.templates.ElemTemplateElement
              |
              +--org.apache.xalan.templates.ElemUse
Direct Known Subclasses:
ElemAttributeSet, ElemCopy, ElemElement, ElemLiteralResult

public class ElemUse
extends ElemTemplateElement

**For advanced use only** 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, Serialized Form

Constructor Summary
ElemUse()
           
 
Method Summary
 void applyAttrSets(TransformerImpl transformer, StylesheetRoot stylesheet)
          Add the attributes from the named attribute sets to the attribute list.
 void execute(TransformerImpl transformer)
          Copy attributes specified by use-attribute-sets to the result tree.
 QName[] getUseAttributeSets()
          Get the "use-attribute-sets" attribute.
 void setUseAttributeSets(QName[] v)
          Set the "use-attribute-sets" attribute.
 void setUseAttributeSets(java.util.Vector v)
          Set the "use-attribute-sets" attribute.
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeName, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, getXSLToken, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace
 
Methods inherited from class org.apache.xml.utils.UnImplNode
adoptNode, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getImplementation, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSpecified, getStandalone, getStrictErrorChecking, getVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, setVersion, splitText, substringData
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ElemUse

public ElemUse()
Method Detail

setUseAttributeSets

public void setUseAttributeSets(java.util.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
attributeSetsNames - List of attribute sets names to apply
sourceNode - non-null reference to the current source node.
mode - reference, which may be null, to the current mode.
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.
Parameters:
transformer - non-null reference to the the current transform-time state.
sourceNode - non-null reference to the current source node.
mode - reference, which may be null, to the current mode.
Throws:
TransformerException -  
Overrides:
execute in class ElemTemplateElement


Copyright © 2003 Apache XML Project. All Rights Reserved.