org.apache.xalan.templates
Class ElemExtensionCall

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.ElemLiteralResult
                  extended by org.apache.xalan.templates.ElemExtensionCall
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 ElemExtensionCall
extends ElemLiteralResult

Implement an extension element.

See Also:
extension-element in XSLT Specification, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.xalan.templates.ElemLiteralResult
ElemLiteralResult.Attribute, ElemLiteralResult.LiteralElementAttributes
 
Field Summary
(package private)  ElemExtensionDecl m_decl
          Declaration for Extension element.
(package private)  java.lang.String m_extns
          The Namespace URI for this extension call element.
(package private)  java.lang.String m_lang
          Language used by extension.
(package private)  java.lang.String m_scriptSrc
          Source for script.
(package private)  java.lang.String m_srcURL
          URL pointing to extension.
(package private) static long serialVersionUID
           
 
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
ElemExtensionCall()
           
 
Method Summary
protected  boolean accept(XSLTVisitor visitor)
          Accept a visitor and call the appropriate method for this class.
 void compose(StylesheetRoot sroot)
          This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.
 void execute(TransformerImpl transformer)
          Execute an extension.
private  void executeFallbacks(TransformerImpl transformer)
          Execute the fallbacks when an extension is not available.
 java.lang.String getAttribute(java.lang.String rawName, org.w3c.dom.Node sourceNode, TransformerImpl transformer)
          Return the value of the attribute interpreted as an Attribute Value Template (in other words, you can use curly expressions such as href="http://{website}".
private  ElemExtensionDecl getElemExtensionDecl(StylesheetRoot stylesheet, java.lang.String namespace)
          Return the ElemExtensionDecl for this extension element
 int getXSLToken()
          Get an int constant identifying the type of element.
private  boolean hasFallbackChildren()
          Return true if this extension element has a child element.
 
Methods inherited from class org.apache.xalan.templates.ElemLiteralResult
addLiteralResultAttribute, addLiteralResultAttribute, callChildVisitors, containsExcludeResultPrefix, containsExtensionElementURI, enumerateLiteralResultAttributes, getAttribute, getAttributeNS, getAttributes, getExtensionElementPrefix, getExtensionElementPrefixCount, getIsLiteralResultAsStylesheet, getLiteralResultAttribute, getLiteralResultAttributeNS, getLocalName, getNamespace, getNodeName, getPrefix, getRawName, getVersion, needToCheckExclude, resolvePrefixTables, setExcludeResultPrefixes, setExtensionElementPrefixes, setIsLiteralResultAsStylesheet, setLocalName, setNamespace, setRawName, setVersion, setXmlSpace, throwDOMException
 
Methods inherited from class org.apache.xalan.templates.ElemUse
applyAttrSets, getUseAttributeSets, setUseAttributeSets, setUseAttributeSets
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
addOrReplaceDecls, appendChild, appendChild, callChildVisitors, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, endCompose, error, error, executeNSDecls, executeNSDecls, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, 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, recompose, removeChild, replaceChild, replaceChild, 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, getAttributeNode, getAttributeNodeNS, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, 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

m_extns

java.lang.String m_extns
The Namespace URI for this extension call element.


m_lang

java.lang.String m_lang
Language used by extension.


m_srcURL

java.lang.String m_srcURL
URL pointing to extension.


m_scriptSrc

java.lang.String m_scriptSrc
Source for script.


m_decl

ElemExtensionDecl m_decl
Declaration for Extension element.

Constructor Detail

ElemExtensionCall

public ElemExtensionCall()
Method Detail

getXSLToken

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

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

compose

public void compose(StylesheetRoot sroot)
             throws javax.xml.transform.TransformerException
This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.

Overrides:
compose in class ElemLiteralResult
Throws:
javax.xml.transform.TransformerException

getElemExtensionDecl

private ElemExtensionDecl getElemExtensionDecl(StylesheetRoot stylesheet,
                                               java.lang.String namespace)
Return the ElemExtensionDecl for this extension element

Parameters:
stylesheet - Stylesheet root associated with this extension element
namespace - Namespace associated with this extension element
Returns:
the ElemExtensionDecl for this extension element.

executeFallbacks

private void executeFallbacks(TransformerImpl transformer)
                       throws javax.xml.transform.TransformerException
Execute the fallbacks when an extension is not available.

Parameters:
transformer - non-null reference to the the current transform-time state.
Throws:
javax.xml.transform.TransformerException

hasFallbackChildren

private boolean hasFallbackChildren()
Return true if this extension element has a child element.

Returns:
true if this extension element has a child element.

execute

public void execute(TransformerImpl transformer)
             throws javax.xml.transform.TransformerException
Execute an extension.

Overrides:
execute in class ElemLiteralResult
Parameters:
transformer - non-null reference to the the current transform-time state.
Throws:
javax.xml.transform.TransformerException
See Also:
literal-result-element in XSLT Specification

getAttribute

public java.lang.String getAttribute(java.lang.String rawName,
                                     org.w3c.dom.Node sourceNode,
                                     TransformerImpl transformer)
                              throws javax.xml.transform.TransformerException
Return the value of the attribute interpreted as an Attribute Value Template (in other words, you can use curly expressions such as href="http://{website}".

Parameters:
rawName - Raw name of the attribute to get
sourceNode - non-null reference to the current source node.
transformer - non-null reference to the the current transform-time state.
Returns:
the value of the attribute
Throws:
javax.xml.transform.TransformerException

accept

protected boolean accept(XSLTVisitor visitor)
Accept a visitor and call the appropriate method for this class.

Overrides:
accept in class ElemLiteralResult
Parameters:
visitor - The visitor whose appropriate method will be called.
Returns:
true if the children of the object should be visited.