org.apache.xalan.templates
Class ElemExtensionCall

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

public class ElemExtensionCall
extends ElemLiteralResult

Implement an extension element.

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

Field Summary
(package private)  ElemExtensionDecl m_decl
          Declaration for Extension element.
(package private)  String m_extns
          The Namespace URI for this extension call element.
(package private)  String m_lang
          Language used by extension.
(package private)  String m_scriptSrc
          Source for script.
(package private)  String m_srcURL
          URL pointing to extension.
 
Fields inherited from class org.apache.xalan.templates.ElemLiteralResult
 
Fields inherited from class org.apache.xalan.templates.ElemUse
 
Fields inherited from class org.apache.xalan.templates.ElemTemplateElement
m_docOrderNumber, m_firstChild, m_hasVariableDecl, m_nextSibling, m_parentNode, m_prefixTable
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, 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.
 void executeFallbacks(TransformerImpl transformer)
          Execute the fallbacks when an extension is not available.
 String getAttribute(String rawName)
          Return the raw value of the attribute.
 String getAttribute(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, String namespace)
          Return the ElemExtensionDecl for this extension element
 int getXSLToken()
          Get an int constant identifying the type of element.
 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, getExtensionElementPrefix, getExtensionElementPrefixCount, getIsLiteralResultAsStylesheet, getLiteralResultAttribute, getLocalName, getNamespace, getNodeName, getPrefix, getRawName, getVersion, needToCheckExclude, resolvePrefixTables, setExcludeResultPrefixes, setExtensionElementPrefixes, setIsLiteralResultAsStylesheet, setLocalName, setNamespace, setRawName, setVersion, setXmlSpace
 
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, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, isValidNCName, item, recompose, removeChild, replaceChild, replaceChild, runtimeInit, setDOMBackPointer, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace, unexecuteNSDecls, unexecuteNSDecls
 
Methods inherited from class org.apache.xml.utils.UnImplNode
adoptNode, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getImplementation, getNamespaceURI, getNodeValue, getOwnerElement, getSpecified, getStandalone, getStrictErrorChecking, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, splitText, substringData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_extns

String m_extns
The Namespace URI for this extension call element.


m_lang

String m_lang
Language used by extension.


m_srcURL

String m_srcURL
URL pointing to extension.


m_scriptSrc

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,
                                               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

public 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

public 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 String getAttribute(String rawName)
Return the raw value of the attribute.

Specified by:
getAttribute in interface org.w3c.dom.Element
Overrides:
getAttribute in class UnImplNode
Parameters:
rawName - Raw name of the attribute to get
Returns:
the raw value of the attribute or null if not found

getAttribute

public String getAttribute(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.