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

#include <xalanc/XSLT/ElemTemplate.hpp>

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

Public Types

typedef ElemTemplateElement ParentType
 

Public Member Functions

 ElemTemplate (StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber)
 Construct an object corresponding to an "xsl:template" element. More...
 
virtual ~ElemTemplate ()
 
const XalanQNamegetMode () const
 Retrieve the mode of element. More...
 
const XPathgetMatchPattern () const
 Retrieve the match pattern. More...
 
double getPriority () const
 Retrieve the priority of element. 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 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 ElemTemplateElementgetInvoker (StylesheetExecutionContext &executionContext) const
 Returns the element that invoked this element. More...
 
virtual const XPathgetXPath (XalanSize_t index) const
 Get XPath pattern/expression of one of the element atribute. More...
 
- 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...
 
int getXSLToken () const
 
virtual bool isWhitespace () const
 Tell if the element will generate text which is XML whitespace. 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 void postConstruction (StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler)
 Called after construction 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 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 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 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 43 of file ElemTemplate.hpp.

Member Typedef Documentation

◆ ParentType

Definition at line 47 of file ElemTemplate.hpp.

Constructor & Destructor Documentation

◆ ElemTemplate()

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

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

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

◆ ~ElemTemplate()

virtual xalanc::ElemTemplate::~ElemTemplate ( )
virtual

Member Function Documentation

◆ addToStylesheet()

virtual void xalanc::ElemTemplate::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
constructionContextThe current construction context
theStylesheetThe owning stylesheet
Returns
nothing

Reimplemented from xalanc::ElemTemplateElement.

◆ childTypeAllowed()

virtual bool xalanc::ElemTemplate::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::ElemTemplate::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::ElemTemplate::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.

◆ getInvoker()

virtual const ElemTemplateElement* xalanc::ElemTemplate::getInvoker ( StylesheetExecutionContext executionContext) const
virtual

Returns the element that invoked this element.

Returns
element that invoked this element.

Reimplemented from xalanc::ElemTemplateElement.

◆ getMatchPattern()

const XPath* xalanc::ElemTemplate::getMatchPattern ( ) const
inline

Retrieve the match pattern.

Returns
XPath corresponding to the match pattern

Definition at line 87 of file ElemTemplate.hpp.

◆ getMode()

const XalanQName& xalanc::ElemTemplate::getMode ( ) const
inline

Retrieve the mode of element.

Returns
QName for mode

Definition at line 74 of file ElemTemplate.hpp.

◆ getNameAttribute()

virtual const XalanQName& xalanc::ElemTemplate::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 from xalanc::ElemTemplateElement.

◆ getPriority()

double xalanc::ElemTemplate::getPriority ( ) const
inline

Retrieve the priority of element.

Returns
priority value

Definition at line 98 of file ElemTemplate.hpp.

◆ getXPath()

virtual const XPath* xalanc::ElemTemplate::getXPath ( XalanSize_t  index) const
virtual

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

@index 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 from xalanc::ElemTemplateElement.

◆ startElement()

virtual const ElemTemplateElement* xalanc::ElemTemplate::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: