org.apache.xalan.templates

Class ElemTemplate

Implemented Interfaces:
Document, Element, ExpressionNode, Node, NodeList, PrefixResolver, Serializable, SourceLocator, WhitespaceStrippingElementMatcher, XSLTVisitable
Known Direct Subclasses:
ElemExsltFunction, WhiteSpaceInfo

public class ElemTemplate
extends ElemTemplateElement

Implement xsl:template.
 <!ELEMENT xsl:template
  (#PCDATA
   %instructions;
   %result-elements;
   | xsl:param)
 >

 <!ATTLIST xsl:template
   match %pattern; #IMPLIED
   name %qname; #IMPLIED
   priority %priority; #IMPLIED
   mode %qname; #IMPLIED
   %space-att;
 >
 

See Also:
section-Defining-Template-Rules in XSLT Specification

Nested Class Summary

Field Summary

int
m_frameSize
The stack frame size for this template, which is equal to the maximum number of params and variables that can be declared in the template at one time.

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

Method Summary

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
endCompose(StylesheetRoot sroot)
This after the template's children have been composed.
void
execute(TransformerImpl transformer)
Copy the template contents into the result tree.
XPath
getMatch()
Get the "match" attribute.
QName
getMode()
Get the "mode" attribute.
QName
getName()
Get the "name" attribute.
String
getNodeName()
Return the node name.
double
getPriority()
Get the "priority" attribute.
String
getPublicId()
Return the public identifier for the current document event.
Stylesheet
getStylesheet()
Get the owning stylesheet.
StylesheetComposed
getStylesheetComposed()
Get the stylesheet composed (resolves includes and imports and has methods on it that return "composed" properties.
StylesheetRoot
getStylesheetRoot()
Get the root stylesheet.
String
getSystemId()
Return the system identifier for the current document event.
int
getXSLToken()
Get an int constant identifying the type of element.
void
recompose(StylesheetRoot root)
This function is called during recomposition to control how this element is composed.
void
setLocaterInfo(SourceLocator locator)
Set the location information for this element.
void
setMatch(XPath v)
Set the "match" attribute.
void
setMode(QName v)
Set the "mode" attribute.
void
setName(QName v)
Set the "name" attribute.
void
setPriority(double v)
Set the "priority" attribute.
void
setStylesheet(Stylesheet sheet)
Set the owning stylesheet.

Methods inherited from class org.apache.xalan.templates.ElemTemplateElement

appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, containsExcludeResultPrefix, endCompose, error, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDOMBackPointer, getDeclaredPrefixes, 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, getXSLToken, getXmlSpace, 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, appendChild, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, error, error, getAttribute, getAttributeNS, getAttributeNode, getAttributeNodeNS, getAttributes, getChildNodes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getFirstChild, getImplementation, getLastChild, getLength, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getOwnerElement, getParentNode, getPrefix, getPreviousSibling, getSpecified, getStandalone, getStrictErrorChecking, getTagName, getVersion, hasAttribute, hasAttributeNS, hasAttributes, hasChildNodes, importNode, insertBefore, insertData, isSupported, item, normalize, removeAttribute, removeAttributeNS, removeAttributeNode, removeChild, replaceChild, replaceData, setAttribute, setAttributeNS, setAttributeNode, setAttributeNodeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, setVersion, splitText, substringData

Field Details

m_frameSize

public int m_frameSize
The stack frame size for this template, which is equal to the maximum number of params and variables that can be declared in the template at one time.

Method Details

compose

public void compose(StylesheetRoot sroot)
            throws 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 interface ElemTemplateElement


endCompose

public void endCompose(StylesheetRoot sroot)
            throws TransformerException
This after the template's children have been composed.
Overrides:
endCompose in interface ElemTemplateElement


execute

public void execute(TransformerImpl transformer)
            throws TransformerException
Copy the template contents into the result tree. The content of the xsl:template element is the template that is instantiated when the template rule is applied.
Overrides:
execute in interface ElemTemplateElement

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

Throws:
TransformerException -


getMatch

public XPath getMatch()
Get the "match" attribute. The match attribute is a Pattern that identifies the source node or nodes to which the rule applies. The match attribute is required unless the xsl:template element has a name attribute (see [6 Named Templates]). It is an error for the value of the match attribute to contain a VariableReference.

Returns:
Value of the "match" attribute

See Also:
patterns in XSLT Specification


getMode

public QName getMode()
Get the "mode" attribute. Modes allow an element to be processed multiple times, each time producing a different result. If xsl:template does not have a match attribute, it must not have a mode attribute.

Returns:
Value of the "mode" attribute

See Also:
modes in XSLT Specification


getName

public QName getName()
Get the "name" attribute. An xsl:template element with a name attribute specifies a named template. If an xsl:template element has a name attribute, it may, but need not, also have a match attribute.

Returns:
Value of the "name" attribute

See Also:
named-templates in XSLT Specification


getNodeName

public String getNodeName()
Return the node name.
Specified by:
getNodeName in interface Node
Overrides:
getNodeName in interface ElemTemplateElement

Returns:
The element's name


getPriority

public double getPriority()
Get the "priority" attribute. The priority of a template rule is specified by the priority attribute on the template rule. The value of this must be a real number (positive or negative), matching the production Number with an optional leading minus sign (-).

Returns:
The value of the "priority" attribute

See Also:
conflict in XSLT Specification


getPublicId

public String getPublicId()
Return the public identifier for the current document event.

This will be the public identifier

Specified by:
getPublicId in interface SourceLocator
Overrides:
getPublicId in interface ElemTemplateElement

Returns:
A string containing the public identifier, or null if none is available.

See Also:
getSystemId()


getStylesheet

public Stylesheet getStylesheet()
Get the owning stylesheet.
Overrides:
getStylesheet in interface ElemTemplateElement

Returns:
The owning stylesheet.


getStylesheetComposed

public StylesheetComposed getStylesheetComposed()
Get the stylesheet composed (resolves includes and imports and has methods on it that return "composed" properties.
Overrides:
getStylesheetComposed in interface ElemTemplateElement

Returns:
The stylesheet composed.


getStylesheetRoot

public StylesheetRoot getStylesheetRoot()
Get the root stylesheet.
Overrides:
getStylesheetRoot in interface ElemTemplateElement

Returns:
The root stylesheet for this element


getSystemId

public String getSystemId()
Return the system identifier for the current document event.

If the system identifier is a URL, the parser must resolve it fully before passing it to the application.

Specified by:
getSystemId in interface SourceLocator
Overrides:
getSystemId in interface ElemTemplateElement

Returns:
A string containing the system identifier, or null if none is available.

See Also:
getPublicId()


getXSLToken

public int getXSLToken()
Get an int constant identifying the type of element.
Overrides:
getXSLToken in interface ElemTemplateElement

Returns:
The token ID for the element

See Also:
Constants


recompose

public void recompose(StylesheetRoot root)
This function is called during recomposition to control how this element is composed.
Overrides:
recompose in interface ElemTemplateElement

Parameters:
root - The root stylesheet for this transformation.


setLocaterInfo

public void setLocaterInfo(SourceLocator locator)
Set the location information for this element.
Overrides:
setLocaterInfo in interface ElemTemplateElement

Parameters:
locator - SourceLocator holding location information


setMatch

public void setMatch(XPath v)
Set the "match" attribute. The match attribute is a Pattern that identifies the source node or nodes to which the rule applies. The match attribute is required unless the xsl:template element has a name attribute (see [6 Named Templates]). It is an error for the value of the match attribute to contain a VariableReference.

Parameters:
v - Value to set for the "match" attribute

See Also:
patterns in XSLT Specification


setMode

public void setMode(QName v)
Set the "mode" attribute. Modes allow an element to be processed multiple times, each time producing a different result. If xsl:template does not have a match attribute, it must not have a mode attribute.

Parameters:
v - Value to set the "mode" attribute

See Also:
modes in XSLT Specification


setName

public void setName(QName v)
Set the "name" attribute. An xsl:template element with a name attribute specifies a named template. If an xsl:template element has a name attribute, it may, but need not, also have a match attribute.

Parameters:
v - Value to set the "name" attribute

See Also:
named-templates in XSLT Specification


setPriority

public void setPriority(double v)
Set the "priority" attribute. The priority of a template rule is specified by the priority attribute on the template rule. The value of this must be a real number (positive or negative), matching the production Number with an optional leading minus sign (-).

Parameters:
v - The value to set for the "priority" attribute

See Also:
conflict in XSLT Specification


setStylesheet

public void setStylesheet(Stylesheet sheet)
Set the owning stylesheet.

Parameters:
sheet - The owning stylesheet for this element


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