Xalan-C++ API Documentation
Xalan-C++ API Documentation
The Xalan C++ XSLT Processor Version 1.7
Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members
ElemTemplateElement Class Reference
#include <ElemTemplateElement.hpp>
Inheritance diagram for ElemTemplateElement
Collaboration diagram for ElemTemplateElement:
List of all members.
Public Methods
- ElemTemplateElement ( StylesheetConstructionContext& constructionContext, Stylesheet& stylesheetTree, int lineNumber, int columnNumber, int xslToken)
- Construct a template element instance. More...
- ElemTemplateElement ( StylesheetConstructionContext& constructionContext, Stylesheet& stylesheetTree, int xslToken, const XalanDOMString& baseURI = XalanDOMString(), int lineNumber = XalanLocator::getUnknownValue(), int columnNumber = XalanLocator::getUnknownValue())
- Special constructor used by dummy elements which do not exist in the final stylesheet. More...
- virtual ~ElemTemplateElement ()
- virtual const LocatorType* getLocator () const
- Get the Locator for the node. More...
- virtual bool isAttrOK ( const XalanDOMChar* attrName, const AttributeListType& atts, int which, StylesheetConstructionContext& constructionContext) const
- See if this is a xmlns attribute or in a non-XSLT. More...
- bool 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. More...
- virtual void execute (StylesheetExecutionContext& executionContext) const
- Execute the element's primary function. More...
- virtual void executeChildren (StylesheetExecutionContext& executionContext) const
- Process the children of a template. More...
- virtual void executeChildren ( StylesheetExecutionContext& executionContext, XalanNode* sourceNode) const
- Set the current node and process the children of a template. More...
- const XalanDOMString& childrenToString ( StylesheetExecutionContext& executionContext, XalanDOMString& result) const
- Take the contents of a template element, process it, and convert it to a string. More...
- void childrenToResultAttribute ( StylesheetExecutionContext& executionContext, const XalanDOMString& theName) const
- Take the contents of a template element, process it, and convert it to a string. More...
- void childrenToResultComment (StylesheetExecutionContext& executionContext) const
- Take the contents of a template element, process it, and convert it to a string. More...
- void childrenToResultPI ( StylesheetExecutionContext& executionContext, const XalanDOMString& theTarget) const
- Take the contents of a template element, process it, and convert it to a string. More...
- int getXSLToken () const
- Get an integer representation of the element type. More...
- int getLineNumber () const
- Get the line number in the stylesheet where the element appears. More...
- int getColumnNumber () const
- Get the column number in the stylesheet where the element appears. More...
- virtual bool isWhitespace () const
- Tell if the element will generate text which is XML whitespace. More...
- virtual const XalanDOMString& getElementName () const = 0
- Get a string for the name of the element. More...
- virtual const XalanQName& getNameAttribute () 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 LocatorType* 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 NamespacesHandler& getNamespacesHandler () const
- Get the namespaces handler for this element. More...
- const Stylesheet& getStylesheet () 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.
- virtual void postConstruction ( StylesheetConstructionContext& constructionContext, const NamespacesHandler& theParentHandler)
- Called after construction is completed.
- virtual ElemTemplateElement* getFirstChildElem () const
- Get the first child. More...
- virtual void setFirstChildElem (ElemTemplateElement* theChild)
- Set the first child. More...
- virtual ElemTemplateElement* getLastChildElem () const
- Get the last child. More...
- virtual ElemTemplateElement* getNextSiblingElem () const
- Get the next sibling. More...
- virtual void setNextSiblingElem (ElemTemplateElement* theSibling)
- Set the next sibling. More...
- virtual ElemTemplateElement* getPreviousSiblingElem () const
- Get the previous sibling. More...
- virtual void setPreviousSiblingElem (ElemTemplateElement* theSibling)
- Set the previous sibling. More...
- virtual ElemTemplateElement* getParentNodeElem () const
- Get the parent node. More...
- virtual void setParentNodeElem (ElemTemplateElement* theParent)
- Set the parent node. More...
- virtual ElemTemplateElement* appendChildElem (ElemTemplateElement* newChild)
- Append a child. More...
- virtual const XPath* getXPath (unsigned int index = 0) const
- Get XPath pattern/expression of one of the element atribute. More...
- virtual const XalanDOMString* getNamespaceForPrefix (const XalanDOMString& prefix) const
- Retrieve a namespace corresponding to a prefix. More...
- virtual const XalanDOMString& getURI () const
- Retrieve the base URI for the resolver. More...
- bool hasParams () const
- bool hasVariables () const
- bool hasSingleTextChild () const
- bool hasChildren () const
- bool hasDirectTemplate () const
- bool canGenerateAttributes () const
- bool isDefaultTemplate () const
Static Public Methods
Protected Methods
- 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 XalanDOMString* getNamespaceForPrefixInternal (const XalanDOMString& prefix) const
- Get the namespace for a given prefix. More...
- virtual void transformChild ( StylesheetExecutionContext& executionContext, const ElemTemplateElement& xslInstruction, const ElemTemplateElement* theTemplate, XalanNode* child) const
- Given an element, find the corresponding template and process the contents. More...
- virtual void transformChild ( StylesheetExecutionContext& executionContext, const ElemTemplateElement& xslInstruction, const ElemTemplateElement* theTemplate, XalanNode* child, XalanNode::NodeType nodeType) const
- Given an element, find the corresponding template and process the contents. More...
- virtual bool childTypeAllowed (int xslToken) const
- Given an xsl token type, determine whether or not a child of that type is allowed. More...
- virtual void namespacesPostConstruction ( StylesheetConstructionContext& constructionContext, const NamespacesHandler& theParentHandler, NamespacesHandler& theHandler)
- Called after construction is completed. More...
- const NamespacesHandler& getNamespaces () const
Static Protected Attributes
Constructor & Destructor Documentation
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. |
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
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.
ElemTemplateElement * ElemTemplateElement::appendChildElem (
|
ElemTemplateElement * newChild ) [virtual]
|
|
Append a child.
theParent - the new value for the parent.
-
Returns:
-
nothing
Reimplemented in ElemApplyImport.
void ElemTemplateElement::canGenerateAttributes (
|
bool value ) [protected]
|
|
bool ElemTemplateElement::canGenerateAttributes (
|
) const []
|
|
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.
Take the contents of a template element, process it, and convert it to a string.
Then, add an attribute to the result tree using the provided name and the string value.
-
Parameters:
-
executionContext
|
The current execution context |
theName
|
The name for the result attribute |
Take the contents of a template element, process it, and convert it to a string.
Then, add a comment to the result tree using the string value.
-
Parameters:
-
executionContext
|
The current execution context |
Take the contents of a template element, process it, and convert it to a string.
Then, add a processing instruction to the result tree using the string value, and the provided target.
-
Parameters:
-
executionContext
|
The current execution context |
theName
|
The name for the result attribute |
Take the contents of a template element, process it, and convert it to a string.
Returns a const reference to the resulting string value. Note that this may _not_ be the XalanDOMString instance passed in, if an optimization is available to return a pre-existing string.
-
Parameters:
-
executionContext
|
The current execution context |
result
|
result of executing the elements children |
-
Returns:
-
a reference to a string containing the result.
bool ElemTemplateElement::disableOutputEscaping (
|
) const [protected]
|
|
void ElemTemplateElement::disableOutputEscaping (
|
bool value ) [protected]
|
|
Execute the element's primary function.
Subclasses of this function may recursively execute down the element tree.
-
Parameters:
-
executionContext
|
The current execution context |
Reimplemented in ElemApplyImport, ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemChoose, ElemComment, ElemCopy, ElemCopyOf, ElemDecimalFormat, ElemElement, ElemEmpty, ElemExtensionCall, ElemFallback, ElemForEach, ElemForwardCompatible, ElemIf, ElemLiteralResult, ElemMessage, ElemNumber, ElemOtherwise, ElemPI, ElemParam, ElemTemplate, ElemTextLiteral, ElemUse, ElemValueOf, ElemVariable, and ElemWhen.
Set the current node and process the children of a template.
-
Parameters:
-
processor
|
XSLT processor instance |
sourceNode
|
current node |
Reimplemented in ElemTemplate.
Process the children of a template.
-
Parameters:
-
processor
|
XSLT processor instance |
Reimplemented in ElemTemplate.
int ElemTemplateElement::getColumnNumber (
|
) const []
|
|
Get the column number in the stylesheet where the element appears.
-
Returns:
-
the column number in the stylesheet
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.
Reimplemented in ElemApplyImport, ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemChoose, ElemComment, ElemCopy, ElemCopyOf, ElemDecimalFormat, ElemElement, ElemEmpty, ElemFallback, ElemForEach, ElemForwardCompatible, ElemIf, ElemLiteralResult, ElemMessage, ElemNumber, ElemOtherwise, ElemPI, ElemParam, ElemSort, ElemTemplate, ElemText, ElemTextLiteral, ElemUse, ElemValueOf, ElemVariable, ElemWhen, and ElemWithParam.
bool ElemTemplateElement::getFinishedConstruction (
|
) const []
|
|
Get the flag indicating construction of the element is completed.
ElemTemplateElement * ElemTemplateElement::getFirstChildElem (
|
) const [virtual]
|
|
Get the first child.
-
Returns:
-
first child node of this node
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
const LocatorType * ElemTemplateElement::getLocator (
|
) const [virtual]
|
|
Get the Locator for the node.
This may return 0.
-
Returns:
-
The Locator for the node.
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.
Retrieve a namespace corresponding to a prefix.
This assumes that the PrevixResolver holds its own namespace context, or is a namespace context itself.
-
Parameters:
-
-
Returns:
-
namespace that prefix resolves to, or null if prefix is not found
Reimplemented from PrefixResolver.
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.
Get the namespaces handler for this element.
-
Returns:
-
The element's NamespacesHandler instance.
ElemTemplateElement * ElemTemplateElement::getNextSiblingElem (
|
) const [virtual]
|
|
Get the next sibling.
-
Returns:
-
next sibling node of this node
ElemTemplateElement * ElemTemplateElement::getParentNodeElem (
|
) const [virtual]
|
|
Get the parent node.
-
Returns:
-
parent node of this node
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
Reimplemented from PrefixResolver.
const XPath * ElemTemplateElement::getXPath (
|
unsigned int index = 0 ) 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 in ElemCopyOf, ElemDecimalFormat, ElemForEach, ElemIf, ElemNumber, ElemSort, ElemTemplate, ElemValueOf, ElemVariable, ElemWhen, and ElemWithParam.
int ElemTemplateElement::getXSLToken (
|
) const []
|
|
Get an integer representation of the element type.
-
Returns:
-
integer representation of the element, defined in the Constants class
-
See also:
-
class Constants
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 []
|
|
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]
|
|
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.
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.
bool ElemTemplateElement::preserveSpace (
|
) const [protected]
|
|
void ElemTemplateElement::preserveSpace (
|
bool value ) [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. |
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.
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
void ElemTemplateElement::setDefaultTemplate (
|
bool value ) [virtual]
|
|
Sets a flag indicating this is the default template.
-
Parameters:
-
void ElemTemplateElement::setFinishedConstruction (
|
bool fValue ) []
|
|
Set the flag indicating construction of the element is completed.
-
Parameters:
-
void ElemTemplateElement::setFirstChildElem (
|
ElemTemplateElement * theChild ) [virtual]
|
|
Set the first child.
theChild - the new value for the first child.
-
Returns:
-
nothing
void ElemTemplateElement::setNextSiblingElem (
|
ElemTemplateElement * theSibling ) [virtual]
|
|
Set the next sibling.
theSibling - the new value for the next sibling.
-
Returns:
-
nothing
void ElemTemplateElement::setParentNodeElem (
|
ElemTemplateElement * theParent ) [virtual]
|
|
Set the parent node.
theParent - the new value for the parent.
-
Returns:
-
nothing
Reimplemented in ElemVariable.
void ElemTemplateElement::setPreviousSiblingElem (
|
ElemTemplateElement * theSibling ) [virtual]
|
|
Set the previous sibling.
theSibling - the new value for the previous sibling.
-
Returns:
-
nothing
Given an element, find the corresponding template and process the contents.
-
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. |
void ElemTemplateElement::transformChild (
|
StylesheetExecutionContext & executionContext,
|
|
const ElemTemplateElement & xslInstruction,
|
|
const ElemTemplateElement * theTemplate,
|
|
XalanNode * child ) const [protected, virtual]
|
|
Given an element, find the corresponding template and process the contents.
-
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. |
Reimplemented in ElemApplyTemplates.
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.7
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.
|
|