Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ElemTemplateElement Class Reference

Inheritance diagram for ElemTemplateElement:

Inheritance graph
[legend]
Collaboration diagram for ElemTemplateElement:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Static Public Member Functions

Protected Member Functions

Static Protected Attributes


Constructor & Destructor Documentation

ElemTemplateElement::ElemTemplateElement StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
int  lineNumber,
int  columnNumber,
int  xslToken
 

Construct a template element instance.

Parameters:
constructionContext context when object constructed
stylesheetTree owning stylesheet
lineNumber line in the XSLT file where the element occurs
columnNumber column index in the XSLT file where the element occurs
xslToken an integer representing the type of instance.

ElemTemplateElement::ElemTemplateElement StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
int  xslToken,
const XalanDOMString baseURI = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
int  lineNumber = XalanLocator::getUnknownValue(),
int  columnNumber = XalanLocator::getUnknownValue()
 

Special constructor used by dummy elements which do not exist in the final stylesheet.

Parameters:
constructionContext context when object constructed
stylesheetTree owning stylesheet
baseURI The base URI of the XSLT file where the element occurs.
lineNumber line in the XSLT file where the element occurs
columnNumber column index in the XSLT file where the element occurs
xslToken an integer representing the type of instance.

virtual ElemTemplateElement::~ElemTemplateElement  )  [virtual]
 


Member Function Documentation

virtual void ElemTemplateElement::addToStylesheet StylesheetConstructionContext constructionContext,
Stylesheet theStylesheet
[virtual]
 

Called during compilation when an instance is not parented by another element, and thus, is a child of the stylesheet..

Parameters:
constructionContext The current construction context
theStylesheet The owning stylesheet
Returns:
nothing

Reimplemented in ElemAttributeSet, ElemTemplate, and ElemVariable.

virtual ElemTemplateElement* ElemTemplateElement::appendChildElem ElemTemplateElement newChild  )  [virtual]
 

Append a child.

theParent - the new value for the parent.

Returns:
nothing

Reimplemented in ElemApplyImport.

const ElemTemplateElement* ElemTemplateElement::beginChildrenToString StylesheetExecutionContext executionContext,
XalanDOMString result
const
 

Method to initiate output from the children to a string.

Parameters:
executionContext context to execute this element
result string to contain the final result
Returns:
the first child element to execute

virtual const ElemTemplateElement* ElemTemplateElement::beginExecuteChildren StylesheetExecutionContext executionContext  )  const [virtual]
 

Method to initiate the execution of the element's children.

Parameters:
executionContext context to execute this element
Returns:
the first child element to execute

void ElemTemplateElement::canGenerateAttributes bool  value  )  [protected]
 

bool ElemTemplateElement::canGenerateAttributes  )  const
 

virtual bool ElemTemplateElement::childTypeAllowed int  xslToken  )  const [protected, virtual]
 

Given an xsl token type, determine whether or not a child of that type is allowed.

This is so derived types can determine whether a particular type of child is allowed for the instance. It is called from appendChildElem().

The default is to allow no types (no children)

Parameters:
xslToken The xsl token value of the child.
Returns:
true if the child is allowed, or false if not.

Reimplemented in ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemChoose, ElemComment, ElemEmpty, ElemPI, and ElemText.

bool ElemTemplateElement::disableOutputEscaping  )  const [protected]
 

void ElemTemplateElement::disableOutputEscaping bool  value  )  [protected]
 

void ElemTemplateElement::endChildrenToString StylesheetExecutionContext executionContext  )  const
 

Method to indicate string output from the children is complete.

Parameters:
executionContext context to execute this element

virtual void ElemTemplateElement::endElement StylesheetExecutionContext executionContext  )  const [virtual]
 

Completes "post-processing" afer any sub-elements are invoked (i.e.

children, attribute sets and templates). If there are no sub-elements it does nothing

Parameters:
executionContext context to execute this element

Reimplemented in ElemApplyImport, ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemComment, ElemCopy, ElemElement, ElemExtensionCall, ElemForEach, ElemIf, ElemLiteralResult, ElemMessage, ElemOtherwise, ElemParam, ElemPI, ElemTemplate, ElemUse, ElemVariable, ElemWhen, and ElemWithParam.

virtual void ElemTemplateElement::endExecuteChildren StylesheetExecutionContext executionContext  )  const [virtual]
 

Method to indicate the execution of the element's children is complete.

Parameters:
executionContext context to execute this element

virtual void ElemTemplateElement::execute StylesheetExecutionContext executionContext  )  const [virtual]
 

Execute the element.

Parameters:
execute context to execute this element

virtual bool ElemTemplateElement::executeChildElement StylesheetExecutionContext executionContext,
const ElemTemplateElement element
const [virtual]
 

Filters sub-elements that should be executed.

Parameters:
executionContext context to execute element
element the element to be executed
Returns:
true if element should be executed, false otherwise

Reimplemented in ElemElement, ElemExtensionCall, and ElemForwardCompatible.

virtual void ElemTemplateElement::executeChildren StylesheetExecutionContext executionContext  )  const [virtual]
 

Execute the children of this element.

Parameters:
execute context to execute this element

virtual const ElemTemplateElement* ElemTemplateElement::findTemplateToTransformChild StylesheetExecutionContext executionContext,
const ElemTemplateElement xslInstruction,
const ElemTemplateElement theTemplate,
XalanNode child,
XalanNode::NodeType  nodeType
const [protected, virtual]
 

Given an element, find the corresponding template.

Parameters:
executionContext The current execution context
xslInstruction The calling element
template The template to use if xsl:for-each, or null.
child The source context node.
nodeType The type of child.
Returns:
matching template if any. Returns 0 if no matching template or corresponds to a default rule.

virtual const ElemTemplateElement* ElemTemplateElement::findTemplateToTransformChild StylesheetExecutionContext executionContext,
const ElemTemplateElement xslInstruction,
const ElemTemplateElement theTemplate,
XalanNode child
const [protected, virtual]
 

Given an element, find the corresponding template.

Parameters:
executionContext The current execution context
xslInstruction The calling element
template The template to use if xsl:for-each, or null.
child The source context node.
Returns:
matching template if any. Returns 0 if no matching template or corresponds to a default rule.

int ElemTemplateElement::getColumnNumber  )  const
 

Get the column number in the stylesheet where the element appears.

Returns:
the column number in the stylesheet

virtual const XalanDOMString& ElemTemplateElement::getElementName  )  const [pure virtual]
 

Get a string for the name of the element.

Useful for debugging purposes, and error reporting.

Returns:
A string containing the name of the element.

Implemented in ElemApplyImport, ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemChoose, ElemComment, ElemCopy, ElemCopyOf, ElemDecimalFormat, ElemElement, ElemEmpty, ElemFallback, ElemForEach, ElemForwardCompatible, ElemIf, ElemLiteralResult, ElemMessage, ElemNumber, ElemOtherwise, ElemParam, ElemPI, ElemSort, ElemTemplate, ElemText, ElemTextLiteral, ElemUse, ElemValueOf, ElemVariable, ElemWhen, and ElemWithParam.

bool ElemTemplateElement::getFinishedConstruction  )  const
 

Get the flag indicating construction of the element is completed.

virtual ElemTemplateElement* ElemTemplateElement::getFirstChildElem  )  const [virtual]
 

Get the first child.

Returns:
first child node of this node

virtual const ElemTemplateElement* ElemTemplateElement::getFirstChildElemToExecute StylesheetExecutionContext executionContext  )  const [virtual]
 

Returns the first sub-element (i.e.

children, attribute-sets, templates) to execute.

Parameters:
executionContext context to execute element
Returns:
first sub-element to execute, 0 only if no sub-elements to execute

Reimplemented in ElemApplyTemplates, ElemCallTemplate, and ElemUse.

virtual const ElemTemplateElement* ElemTemplateElement::getInvoker StylesheetExecutionContext executionContext  )  const [virtual]
 

Returns the element that invoked this element.

Returns:
element that invoked this element.

Reimplemented in ElemAttributeSet, and ElemTemplate.

virtual ElemTemplateElement* ElemTemplateElement::getLastChildElem  )  const [virtual]
 

Get the last child.

Returns:
last child node of this node

int ElemTemplateElement::getLineNumber  )  const
 

Get the line number in the stylesheet where the element appears.

Returns:
the line number in the stylesheet

virtual const LocatorType* ElemTemplateElement::getLocator  )  const [virtual]
 

Get the Locator for the node.

This may return 0.

Returns:
The Locator for the node.

virtual const XalanQName& ElemTemplateElement::getNameAttribute  )  const [virtual]
 

Get the QName associated with any name attribute of this element.

If the element has no name attribute, this will be an empty QName.

Returns:
A string containing the name of the element.

Reimplemented in ElemTemplate, and ElemVariable.

virtual const XalanDOMString* ElemTemplateElement::getNamespaceForPrefix const XalanDOMString prefix  )  const [virtual]
 

Retrieve a namespace corresponding to a prefix.

This assumes that the PrevixResolver holds its own namespace context, or is a namespace context itself.

Parameters:
prefix Prefix to resolve
Returns:
namespace that prefix resolves to, or null if prefix is not found

Implements PrefixResolver.

const XalanDOMString* ElemTemplateElement::getNamespaceForPrefixInternal const XalanDOMString prefix  )  const [protected]
 

Get the namespace for a given prefix.

Parameters:
prefix The prefix to search for
fExists If not null, set to true if the namespace was defined.
Returns:
The namespace string.

const NamespacesHandler& ElemTemplateElement::getNamespaces  )  const [protected]
 

const NamespacesHandler& ElemTemplateElement::getNamespacesHandler  )  const
 

Get the namespaces handler for this element.

Returns:
The element's NamespacesHandler instance.

virtual const ElemTemplateElement* ElemTemplateElement::getNextChildElemToExecute StylesheetExecutionContext executionContext,
const ElemTemplateElement currentElem
const [virtual]
 

Returns the next sub-element (i.e.

children, attribute-sets, templates) to execute.

Parameters:
executionContext context to execute element
currentElem the last sub-element to be executed
Returns:
next sub-element to execute, 0 only if no more sub-elements to execute

Reimplemented in ElemApplyImport, ElemApplyTemplates, ElemCallTemplate, ElemChoose, ElemFallback, ElemForEach, and ElemUse.

virtual ElemTemplateElement* ElemTemplateElement::getNextSiblingElem  )  const [virtual]
 

Get the next sibling.

Returns:
next sibling node of this node

virtual ElemTemplateElement* ElemTemplateElement::getParentNodeElem  )  const [virtual]
 

Get the parent node.

Returns:
parent node of this node

virtual ElemTemplateElement* ElemTemplateElement::getPreviousSiblingElem  )  const [virtual]
 

Get the previous sibling.

Returns:
previous sibling node of this node

const Stylesheet& ElemTemplateElement::getStylesheet  )  const
 

Retrieve the stylesheet from which this element comes.

Returns:
reference to source stylesheet

virtual const XalanDOMString& ElemTemplateElement::getURI  )  const [virtual]
 

Retrieve the base URI for the resolver.

Returns:
URI string

Implements PrefixResolver.

virtual const XPath* ElemTemplateElement::getXPath unsigned int  index = 0  )  const [virtual]
 

Get XPath pattern/expression of one of the element atribute.

number of the attribute. If an attribute has more then one attribute with pattern/expression,the order of the returned expressions are undefined

Returns:
pointer or null

Reimplemented in ElemCopyOf, ElemDecimalFormat, ElemForEach, ElemIf, ElemNumber, ElemSort, ElemTemplate, ElemValueOf, ElemVariable, ElemWhen, and ElemWithParam.

int ElemTemplateElement::getXSLToken  )  const
 

bool ElemTemplateElement::hasChildren  )  const
 

bool ElemTemplateElement::hasDirectTemplate  )  const
 

bool ElemTemplateElement::hasParams  )  const
 

bool ElemTemplateElement::hasPrefix  )  const [protected]
 

void ElemTemplateElement::hasPrefix bool  value  )  [protected]
 

bool ElemTemplateElement::hasSingleTextChild  )  const
 

bool ElemTemplateElement::hasVariables  )  const
 

virtual bool ElemTemplateElement::isAttrOK const XalanDOMChar *  attrName,
const AttributeListType atts,
int  which,
StylesheetConstructionContext constructionContext
const [virtual]
 

See if this is a xmlns attribute or in a non-XSLT.

Parameters:
attrName qualified name of attribute
atts attribute list where the element comes from (not used at this time)
which index into the attribute list (not used at this time)
constructionContext The current construction context
Returns:
true if this is a namespace name

Reimplemented in ElemLiteralResult.

bool ElemTemplateElement::isDefaultTemplate  )  const
 

bool ElemTemplateElement::isValidNCName const XalanDOMString s  )  [static]
 

Validate that the string is an NCName.

Parameters:
s name in question
Returns:
true if the string is a valid NCName according to XML rules
See also:
http://www.w3.org/TR/REC-xml-names#NT-NCName

virtual bool ElemTemplateElement::isWhitespace  )  const [virtual]
 

Tell if the element will generate text which is XML whitespace.

Returns:
true if the text is pure whitespace

Reimplemented in ElemTextLiteral.

virtual void ElemTemplateElement::namespacesPostConstruction StylesheetConstructionContext constructionContext,
const NamespacesHandler theParentHandler,
NamespacesHandler theHandler
[protected, virtual]
 

Called after construction is completed.

This is a hook for deriving classes to handle post-construction with the instances HamespaceHandler instance, which is otherwise only available through a const accessor.

Reimplemented in ElemElement, and ElemLiteralResult.

virtual void ElemTemplateElement::postConstruction StylesheetConstructionContext constructionContext,
const NamespacesHandler theParentHandler
[virtual]
 

Called after construction is completed.

Reimplemented in ElemCallTemplate, ElemForEach, ElemLiteralResult, and ElemUse.

bool ElemTemplateElement::preserveSpace  )  const [protected]
 

void ElemTemplateElement::preserveSpace bool  value  )  [protected]
 

bool ElemTemplateElement::processPrefixControl StylesheetConstructionContext constructionContext,
const Stylesheet stylesheetTree,
const XalanDOMString localName,
const XalanDOMChar *  attrValue
[protected]
 

Process the exclude-result-prefixes or the extension-element-prefixes attributes, for the purpose of prefix exclusion.

Parameters:
constructionContext context when object consructed
stylesheetTree The current Stylesheet object.
localName The local name of the attribute.
attrValue The value of the attribute.

virtual void ElemTemplateElement::processSortElement StylesheetConstructionContext constructionContext,
Stylesheet theStylesheet,
const AttributeListType atts,
const LocatorType locator = 0
[virtual]
 

Called during compilation to process xsl:sort elements in the stylesheet.

Parameters:
constructionContext The current construction context
theStylesheet The owning stylesheet
atts The list of attributes for the sort element
locator A Locator instance for error reporting, if available.
Returns:
nothing

Reimplemented in ElemForEach.

bool ElemTemplateElement::processSpaceAttr const XalanDOMChar *  aname,
const AttributeListType atts,
int  which,
StylesheetConstructionContext constructionContext
 

Tell whether or not this is a xml:space attribute and, if so, process it.

Parameters:
aname name of the attribute in question
atts attribute list that owns the attribute
which index of the attribute into the attribute list
constructionContext The current construction context
Returns:
true if this is a xml:space attribute

virtual void ElemTemplateElement::setDefaultTemplate bool  value  )  [virtual]
 

Sets a flag indicating this is the default template.

Parameters:
value The value of flag.

void ElemTemplateElement::setFinishedConstruction bool  fValue  ) 
 

Set the flag indicating construction of the element is completed.

Parameters:
fValue The value to set

virtual void ElemTemplateElement::setFirstChildElem ElemTemplateElement theChild  )  [virtual]
 

Set the first child.

theChild - the new value for the first child.

Returns:
nothing

virtual void ElemTemplateElement::setNextSiblingElem ElemTemplateElement theSibling  )  [virtual]
 

Set the next sibling.

theSibling - the new value for the next sibling.

Returns:
nothing

virtual void ElemTemplateElement::setParentNodeElem ElemTemplateElement theParent  )  [virtual]
 

Set the parent node.

theParent - the new value for the parent.

Returns:
nothing

Reimplemented in ElemVariable.

virtual void ElemTemplateElement::setPreviousSiblingElem ElemTemplateElement theSibling  )  [virtual]
 

Set the previous sibling.

theSibling - the new value for the previous sibling.

Returns:
nothing

virtual const ElemTemplateElement* ElemTemplateElement::startElement StylesheetExecutionContext executionContext  )  const [virtual]
 

Completes "pre-processing" before any sub-elements are invoked (i.e.

children, attribute sets and templates). If there are no sub-elements it executes the primary function of the element.

Parameters:
executionContext context to execute this element

Reimplemented in ElemApplyImport, ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemChoose, ElemComment, ElemCopy, ElemCopyOf, ElemElement, ElemEmpty, ElemExtensionCall, ElemFallback, ElemForEach, ElemForwardCompatible, ElemIf, ElemLiteralResult, ElemMessage, ElemNumber, ElemOtherwise, ElemParam, ElemPI, ElemTemplate, ElemTextLiteral, ElemUse, ElemValueOf, ElemVariable, ElemWhen, and ElemWithParam.


Member Data Documentation

const XalanDOMString ElemTemplateElement::s_emptyString [static, protected]
 


The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.9
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.