Xalan-C++ API Reference  1.12.0
Public Member Functions | Protected Member Functions | List of all members
xalanc::ElemCallTemplate Class Reference

#include <xalanc/XSLT/ElemCallTemplate.hpp>

Inheritance diagram for xalanc::ElemCallTemplate:
[legend]
Collaboration diagram for xalanc::ElemCallTemplate:
[legend]

Public Member Functions

 ElemCallTemplate (StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber)
 Construct an object corresponding to an "xsl:call-template" element. More...
 
virtual ~ElemCallTemplate ()
 
virtual const XalanDOMStringgetElementName () const
 Get a string for the name of the element. More...
 
virtual const ElemTemplateElementstartElement (StylesheetExecutionContext &executionContext) const
 Completes "pre-processing" before any sub-elements are invoked (i.e. More...
 
virtual void endElement (StylesheetExecutionContext &executionContext) const
 Completes "post-processing" afer any sub-elements are invoked (i.e. More...
 
virtual const ElemTemplateElementgetNextChildElemToExecute (StylesheetExecutionContext &executionContext, const ElemTemplateElement *currentElem) const
 Returns the next sub-element (i.e. More...
 
virtual const ElemTemplateElementgetFirstChildElemToExecute (StylesheetExecutionContext &executionContext) const
 Returns the first sub-element (i.e. More...
 
virtual void postConstruction (StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler)
 Called after construction is completed. More...
 
const ElemTemplategetTemplate () const
 
- Public Member Functions inherited from xalanc::ElemTemplateElement
 ElemTemplateElement (StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, XalanFileLoc lineNumber, XalanFileLoc columnNumber, int xslToken)
 Construct a template element instance. More...
 
 ElemTemplateElement (StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, int xslToken, const XalanDOMString &baseURI=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), XalanFileLoc lineNumber=XalanLocator::getUnknownValue(), XalanFileLoc columnNumber=XalanLocator::getUnknownValue())
 Special constructor used by dummy elements which do not exist in the final stylesheet. More...
 
virtual ~ElemTemplateElement ()
 
virtual const Locator * getLocator () const
 Get the Locator for the node. More...
 
virtual bool isAttrOK (const XalanDOMChar *attrName, const AttributeListType &atts, XalanSize_t which, StylesheetConstructionContext &constructionContext) const
 See if this is a xmlns attribute or in a non-XSLT. More...
 
bool processSpaceAttr (const XalanDOMChar *elementName, const XalanDOMChar *aname, const AttributeListType &atts, XalanSize_t which, StylesheetConstructionContext &constructionContext)
 Tell whether or not this is a xml:space attribute and, if so, process it. More...
 
virtual void execute (StylesheetExecutionContext &executionContext) const
 Execute the element. More...
 
virtual void executeChildren (StylesheetExecutionContext &executionContext) const
 Execute the children of this element. More...
 
virtual const ElemTemplateElementgetInvoker (StylesheetExecutionContext &executionContext) const
 Returns the element that invoked this element. More...
 
int getXSLToken () const
 
virtual bool isWhitespace () const
 Tell if the element will generate text which is XML whitespace. More...
 
virtual const XalanQNamegetNameAttribute () const
 Get the QName associated with any name attribute of this element. More...
 
virtual void addToStylesheet (StylesheetConstructionContext &constructionContext, Stylesheet &theStylesheet)
 Called during compilation when an instance is not parented by another element, and thus, is a child of the stylesheet. More...
 
virtual void processSortElement (StylesheetConstructionContext &constructionContext, Stylesheet &theStylesheet, const AttributeListType &atts, const Locator *locator=0)
 Called during compilation to process xsl:sort elements in the stylesheet. More...
 
virtual void setDefaultTemplate (bool value)
 Sets a flag indicating this is the default template. More...
 
const NamespacesHandlergetNamespacesHandler () const
 Get the namespaces handler for this element. More...
 
const StylesheetgetStylesheet () const
 Retrieve the stylesheet from which this element comes. More...
 
void setFinishedConstruction (bool fValue)
 Set the flag indicating construction of the element is completed. More...
 
bool getFinishedConstruction () const
 Get the flag indicating construction of the element is completed. More...
 
virtual ElemTemplateElementgetFirstChildElem () const
 Get the first child. More...
 
virtual const ElemTemplateElementbeginExecuteChildren (StylesheetExecutionContext &executionContext) const
 Method to initiate the execution of the element's children. More...
 
virtual void endExecuteChildren (StylesheetExecutionContext &executionContext) const
 Method to indicate the execution of the element's children is complete. More...
 
const ElemTemplateElementbeginChildrenToString (StylesheetExecutionContext &executionContext, XalanDOMString &result) const
 Method to initiate output from the children to a string. More...
 
void endChildrenToString (StylesheetExecutionContext &executionContext) const
 Method to indicate string output from the children is complete. More...
 
virtual void setFirstChildElem (ElemTemplateElement *theChild)
 Set the first child. More...
 
virtual ElemTemplateElementgetLastChildElem () const
 Get the last child. More...
 
virtual ElemTemplateElementgetNextSiblingElem () const
 Get the next sibling. More...
 
virtual bool executeChildElement (StylesheetExecutionContext &executionContext, const ElemTemplateElement *element) const
 Filters sub-elements that should be executed. More...
 
virtual void setNextSiblingElem (ElemTemplateElement *theSibling)
 Set the next sibling. More...
 
virtual ElemTemplateElementgetPreviousSiblingElem () const
 Get the previous sibling. More...
 
virtual void setPreviousSiblingElem (ElemTemplateElement *theSibling)
 Set the previous sibling. More...
 
virtual ElemTemplateElementgetParentNodeElem () const
 Get the parent node. More...
 
virtual void setParentNodeElem (ElemTemplateElement *theParent)
 Set the parent node. More...
 
virtual ElemTemplateElementappendChildElem (ElemTemplateElement *newChild)
 Append a child. More...
 
virtual const XPathgetXPath (XalanSize_t index) const
 Get XPath pattern/expression of one of the element atribute. More...
 
virtual const XalanDOMStringgetNamespaceForPrefix (const XalanDOMString &prefix) const
 Retrieve a namespace corresponding to a prefix. More...
 
virtual const XalanDOMStringgetURI () const
 Retrieve the base URI for the resolver. More...
 
XalanFileLoc getLineNumber () const
 
XalanFileLoc getColumnNumber () const
 
bool hasParams () const
 
bool hasVariables () const
 
bool hasSingleTextChild () const
 
bool hasChildren () const
 
bool hasDirectTemplate () const
 
bool canGenerateAttributes () const
 
bool isDefaultTemplate () const
 
- Public Member Functions inherited from xalanc::PrefixResolver
 PrefixResolver ()
 
 PrefixResolver (const PrefixResolver &)
 
virtual ~PrefixResolver ()
 

Protected Member Functions

virtual bool childTypeAllowed (int xslToken) const
 Given an xsl token type, determine whether or not a child of that type is allowed. More...
 
- Protected Member Functions inherited from xalanc::ElemTemplateElement
void canGenerateAttributes (bool value)
 
void hasPrefix (bool value)
 
bool hasPrefix () const
 
void preserveSpace (bool value)
 
bool preserveSpace () const
 
void disableOutputEscaping (bool value)
 
bool disableOutputEscaping () const
 
bool processPrefixControl (StylesheetConstructionContext &constructionContext, const Stylesheet &stylesheetTree, const XalanDOMString &localName, const XalanDOMChar *attrValue)
 Process the exclude-result-prefixes or the extension-element-prefixes attributes, for the purpose of prefix exclusion. More...
 
const XalanDOMStringgetNamespaceForPrefixInternal (const XalanDOMString &prefix) const
 Get the namespace for a given prefix. More...
 
virtual const ElemTemplateElementfindTemplateToTransformChild (StylesheetExecutionContext &executionContext, const ElemTemplateElement &xslInstruction, const ElemTemplateElement *theTemplate, XalanNode *child) const
 Given an element, find the corresponding template. More...
 
virtual const ElemTemplateElementfindTemplateToTransformChild (StylesheetExecutionContext &executionContext, const ElemTemplateElement &xslInstruction, const ElemTemplateElement *theTemplate, XalanNode *child, XalanNode::NodeType nodeType) const
 Given an element, find the corresponding template. More...
 
virtual void namespacesPostConstruction (StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler, NamespacesHandler &theHandler)
 Called after construction is completed. More...
 
const NamespacesHandlergetNamespaces () const
 
void error (StylesheetExecutionContext &theContext, XalanMessages::Codes theCode) const
 A convenience function for loading a message and reporting an error through the provided StylesheetExecutionContext instance. More...
 
void error (StylesheetExecutionContext &theContext, XalanMessages::Codes theCode, const XalanDOMString &theToken) const
 A convenience function for loading a message and reporting an error through the provided StylesheetExecutionContext instance. More...
 
void error (StylesheetExecutionContext &theContext, XalanMessages::Codes theCode, const Locator *theLocator) const
 A convenience function for loading a message and reporting an error through the provided StylesheetExecutionContext instance. More...
 
void warn (StylesheetExecutionContext &theContext, XalanMessages::Codes theCode) const
 A convenience function for loading a message and reporting a warning through the provided StylesheetExecutionContext instance. More...
 
void warn (StylesheetExecutionContext &theContext, XalanMessages::Codes theCode, const XalanDOMString &theToken) const
 A convenience function for loading a message and reporting a warning through the provided StylesheetExecutionContext instance. More...
 
void warn (StylesheetExecutionContext &theContext, XalanMessages::Codes theCode, const Locator *theLocator) const
 A convenience function for loading a message and reporting a warning through the provided StylesheetExecutionContext instance. More...
 
void error (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode)
 A convenience function for loading a message and reporting an error through the provided StylesheetConstructionContext instance. More...
 
void error (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode, const XalanDOMString &theToken)
 A convenience function for loading a message and reporting an error through the provided StylesheetConstructionContext instance. More...
 
void error (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode, const XalanDOMString &theToken, const Locator *theLocator)
 A convenience function for loading a message and reporting an error through the provided StylesheetConstructionContext instance. More...
 
void error (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode, const XalanDOMString &theToken1, const XalanDOMString &theToken2)
 A convenience function for loading a message and reporting an error through the provided StylesheetConstructionContext instance. More...
 
void error (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode, const XalanDOMChar *theToken1, const XalanDOMChar *theToken2)
 A convenience function for loading a message and reporting an error through the provided StylesheetConstructionContext instance. More...
 
void error (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode, const XalanDOMChar *theToken1, const XalanDOMChar *theToken2, const XalanDOMChar *theToken3)
 A convenience function for loading a message and reporting an error through the provided StylesheetConstructionContext instance. More...
 
void warn (StylesheetConstructionContext &theContext, XalanMessages::Codes theCode, const XalanDOMChar *theToken1, const XalanDOMChar *theToken2, const XalanDOMChar *theToken3)
 A convenience function for loading a message and reporting a warning through the provided StylesheetConstructionContext instance. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from xalanc::ElemTemplateElement
static bool isValidNCName (const XalanDOMString &s)
 Validate that the string is an NCName. More...
 
- Static Protected Attributes inherited from xalanc::ElemTemplateElement
static const XalanDOMString s_emptyString
 

Detailed Description

Definition at line 41 of file ElemCallTemplate.hpp.

Constructor & Destructor Documentation

◆ ElemCallTemplate()

xalanc::ElemCallTemplate::ElemCallTemplate ( StylesheetConstructionContext constructionContext,
Stylesheet stylesheetTree,
const AttributeListType atts,
XalanFileLoc  lineNumber,
XalanFileLoc  columnNumber 
)

Construct an object corresponding to an "xsl:call-template" element.

Parameters
constructionContextcontext for construction of object
stylesheetTreestylesheet containing element
attslist of attributes for element
lineNumberline number in document
columnNumbercolumn number in document

◆ ~ElemCallTemplate()

virtual xalanc::ElemCallTemplate::~ElemCallTemplate ( )
virtual

Member Function Documentation

◆ childTypeAllowed()

virtual bool xalanc::ElemCallTemplate::childTypeAllowed ( int  xslToken) const
protectedvirtual

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
xslTokenThe xsl token value of the child.
Returns
true if the child is allowed, or false if not.

Reimplemented from xalanc::ElemTemplateElement.

◆ endElement()

virtual void xalanc::ElemCallTemplate::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
executionContextcontext to execute this element

Reimplemented from xalanc::ElemTemplateElement.

◆ getElementName()

virtual const XalanDOMString& xalanc::ElemCallTemplate::getElementName ( ) const
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.

Implements xalanc::ElemTemplateElement.

◆ getFirstChildElemToExecute()

virtual const ElemTemplateElement* xalanc::ElemCallTemplate::getFirstChildElemToExecute ( StylesheetExecutionContext executionContext) const
virtual

Returns the first sub-element (i.e.

children, attribute-sets, templates) to execute.

Parameters
executionContextcontext to execute element
Returns
first sub-element to execute, 0 only if no sub-elements to execute

Reimplemented from xalanc::ElemTemplateElement.

◆ getNextChildElemToExecute()

virtual const ElemTemplateElement* xalanc::ElemCallTemplate::getNextChildElemToExecute ( StylesheetExecutionContext executionContext,
const ElemTemplateElement currentElem 
) const
virtual

Returns the next sub-element (i.e.

children, attribute-sets, templates) to execute.

Parameters
executionContextcontext to execute element
currentElemthe last sub-element to be executed
Returns
next sub-element to execute, 0 only if no more sub-elements to execute

Reimplemented from xalanc::ElemTemplateElement.

◆ getTemplate()

const ElemTemplate* xalanc::ElemCallTemplate::getTemplate ( ) const
inline

Definition at line 94 of file ElemCallTemplate.hpp.

◆ postConstruction()

virtual void xalanc::ElemCallTemplate::postConstruction ( StylesheetConstructionContext constructionContext,
const NamespacesHandler theParentHandler 
)
virtual

Called after construction is completed.

Reimplemented from xalanc::ElemTemplateElement.

◆ startElement()

virtual const ElemTemplateElement* xalanc::ElemCallTemplate::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
executionContextcontext to execute this element

Reimplemented from xalanc::ElemTemplateElement.


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