org.apache.xalan.templates
Class ElemAttribute

java.lang.Object
  extended by org.apache.xml.utils.UnImplNode
      extended by org.apache.xalan.templates.ElemTemplateElement
          extended by org.apache.xalan.templates.ElemUse
              extended by org.apache.xalan.templates.ElemElement
                  extended by org.apache.xalan.templates.ElemAttribute
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList

public class ElemAttribute
extends ElemElement

Implement xsl:attribute.

 &!ELEMENT xsl:attribute %char-template;>
 &!ATTLIST xsl:attribute
   name %avt; #REQUIRED
   namespace %avt; #IMPLIED
   %space-att;
 &
 

See Also:
creating-attributes in XSLT Specification, Serialized Form

Field Summary
(package private) static long serialVersionUID
           
 
Fields inherited from class org.apache.xalan.templates.ElemElement
m_name_avt, m_namespace_avt
 
Fields inherited from class org.apache.xalan.templates.ElemTemplateElement
m_docOrderNumber, m_firstChild, m_hasVariableDecl, m_nextSibling, m_parentNode
 
Fields inherited from class org.apache.xml.utils.UnImplNode
actualEncoding, fDocumentURI
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
ElemAttribute()
           
 
Method Summary
 ElemTemplateElement appendChild(ElemTemplateElement newChild)
          Add a child to the child list.
(package private)  void constructNode(java.lang.String nodeName, java.lang.String prefix, java.lang.String nodeNamespace, TransformerImpl transformer)
          Construct a node in the result tree.
 java.lang.String getNodeName()
          Return the node name.
 int getXSLToken()
          Get an int constant identifying the type of element.
protected  java.lang.String resolvePrefix(SerializationHandler rhandler, java.lang.String prefix, java.lang.String nodeNamespace)
          Resolve the namespace into a prefix.
 void setName(AVT v)
          Set the "name" attribute.
protected  boolean validateNodeName(java.lang.String nodeName)
          Validate that the node name is good.
 
Methods inherited from class org.apache.xalan.templates.ElemElement
callChildVisitors, compose, execute, getName, getNamespace, setNamespace
 
Methods inherited from class org.apache.xalan.templates.ElemUse
applyAttrSets, getUseAttributeSets, setUseAttributeSets, setUseAttributeSets
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
accept, addOrReplaceDecls, appendChild, callChildVisitors, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, endCompose, error, error, executeNSDecls, executeNSDecls, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixTable, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, needToCheckExclude, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setPrefixTable, setUid, setXmlSpace, shouldStripWhiteSpace, unexecuteNSDecls, unexecuteNSDecls
 
Methods inherited from class org.apache.xml.utils.UnImplNode
adoptNode, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getActualEncoding, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, renameNode, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

ElemAttribute

public ElemAttribute()
Method Detail

getXSLToken

public int getXSLToken()
Get an int constant identifying the type of element.

Overrides:
getXSLToken in class ElemElement
Returns:
The token ID for this element
See Also:
Constants

getNodeName

public java.lang.String getNodeName()
Return the node name.

Specified by:
getNodeName in interface org.w3c.dom.Node
Overrides:
getNodeName in class ElemElement
Returns:
The element name

resolvePrefix

protected java.lang.String resolvePrefix(SerializationHandler rhandler,
                                         java.lang.String prefix,
                                         java.lang.String nodeNamespace)
                                  throws javax.xml.transform.TransformerException
Resolve the namespace into a prefix. At this level, if no prefix exists, then return a manufactured prefix.

Overrides:
resolvePrefix in class ElemElement
Parameters:
rhandler - The current result tree handler.
prefix - The probable prefix if already known.
nodeNamespace - The namespace, which should not be null.
Returns:
The prefix to be used.
Throws:
javax.xml.transform.TransformerException

validateNodeName

protected boolean validateNodeName(java.lang.String nodeName)
Validate that the node name is good.

Parameters:
nodeName - Name of the node being constructed, which may be null.
Returns:
true if the node name is valid, false otherwise.

constructNode

void constructNode(java.lang.String nodeName,
                   java.lang.String prefix,
                   java.lang.String nodeNamespace,
                   TransformerImpl transformer)
             throws javax.xml.transform.TransformerException
Construct a node in the result tree. This method is overloaded by xsl:attribute. At this class level, this method creates an element.

Overrides:
constructNode in class ElemElement
Parameters:
nodeName - The name of the node, which may be null.
prefix - The prefix for the namespace, which may be null.
nodeNamespace - The namespace of the node, which may be null.
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:
javax.xml.transform.TransformerException

appendChild

public ElemTemplateElement appendChild(ElemTemplateElement newChild)
Add a child to the child list.

Overrides:
appendChild in class ElemTemplateElement
Parameters:
newChild - Child to append to the list of this node's children
Returns:
The node we just appended to the children list
Throws:
DOMException

setName

public void setName(AVT v)
Description copied from class: ElemElement
Set the "name" attribute. The name attribute is interpreted as an attribute value template. It is an error if the string that results from instantiating the attribute value template is not a QName.

Overrides:
setName in class ElemElement
Parameters:
v - Name attribute to set for this element
See Also:
ElemElement.setName(AVT)