18 #if !defined(XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD) 19 #define XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD 47 #include "LocalMsgIndex.hpp" 51 namespace XERCES_CPP_NAMESPACE
67 using xercesc::AttributeList;
68 using xercesc::Locator;
70 class ElemTextLiteral;
71 class NamespacesHandler;
73 class StylesheetConstructionContext;
74 class StylesheetExecutionContext;
97 XalanFileLoc lineNumber,
98 XalanFileLoc columnNumber,
118 XalanFileLoc lineNumber = XalanLocator::getUnknownValue(),
119 XalanFileLoc columnNumber = XalanLocator::getUnknownValue());
129 virtual const Locator*
144 const XalanDOMChar* attrName,
161 const XalanDOMChar* elementName,
162 const XalanDOMChar* aname,
177 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 277 childrenToResultAttribute(
326 isWhitespace()
const;
335 getElementName()
const = 0;
344 getNameAttribute()
const;
375 const Locator* locator = 0);
383 setDefaultTemplate(
bool value);
393 return m_namespacesHandler;
415 setFlag(eFinishedConstruction, fValue);
424 return getFlag(eFinishedConstruction);
443 getFirstChildElem()
const;
445 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 453 beginExecuteChildren(
476 beginChildrenToString(
509 getLastChildElem()
const;
517 getNextSiblingElem()
const;
519 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 530 getNextChildElemToExecute(
542 getFirstChildElemToExecute(
552 virtual bool executeChildElement(
573 getPreviousSiblingElem()
const;
591 getParentNodeElem()
const;
623 getXPath(XalanSize_t index)
const;
641 XalanFileLoc theLineNumber,
642 XalanFileLoc theColumnNumber,
655 getLineNumber()
const;
658 getColumnNumber()
const;
678 const XalanFileLoc m_lineNumber;
680 const XalanFileLoc m_columnNumber;
689 return m_locatorProxy.getLineNumber();
695 return m_locatorProxy.getColumnNumber();
701 return getFlag(eHasParams);
707 return getFlag(eHasVariables);
713 return getFlag(eHasSingleTextChild);
719 return m_firstChild != 0 ? true :
false;
725 return getFlag(eHasDirectTemplate);
731 return getFlag(eCanGenerateAttributes);
737 return getFlag(eDefaultTemplate);
745 setFlag(eCanGenerateAttributes, value);
751 setFlag(eHasPrefix, value);
757 return getFlag(eHasPrefix);
763 setFlag(eSpacePreserve, value);
769 return getFlag(eSpacePreserve);
775 setFlag(eDisableOutputEscaping, value);
781 return getFlag(eDisableOutputEscaping);
794 processPrefixControl(
798 const XalanDOMChar* attrValue);
808 getNamespaceForPrefixInternal(
const XalanDOMString& prefix)
const;
810 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 822 findTemplateToTransformChild(
840 findTemplateToTransformChild(
895 childTypeAllowed(
int xslToken)
const;
904 namespacesPostConstruction(
912 return m_namespacesHandler;
926 XalanMessages::Codes theCode)
const;
940 XalanMessages::Codes theCode,
955 XalanMessages::Codes theCode,
956 const Locator* theLocator)
const;
969 XalanMessages::Codes theCode)
const;
983 XalanMessages::Codes theCode,
998 XalanMessages::Codes theCode,
999 const Locator* theLocator)
const;
1012 XalanMessages::Codes theCode);
1027 XalanMessages::Codes theCode,
1043 XalanMessages::Codes theCode,
1045 const Locator* theLocator);
1060 XalanMessages::Codes theCode,
1077 XalanMessages::Codes theCode,
1078 const XalanDOMChar* theToken1,
1079 const XalanDOMChar* theToken2);
1095 XalanMessages::Codes theCode,
1096 const XalanDOMChar* theToken1,
1097 const XalanDOMChar* theToken2,
1098 const XalanDOMChar* theToken3);
1114 XalanMessages::Codes theCode,
1115 const XalanDOMChar* theToken1,
1116 const XalanDOMChar* theToken2,
1117 const XalanDOMChar* theToken3);
1128 eHasSingleTextChild = 2,
1130 eHasDirectTemplate = 8,
1131 eCanGenerateAttributes = 16,
1132 eDefaultTemplate = 32,
1133 eSpacePreserve = 64,
1134 eFinishedConstruction = 128,
1136 eDisableOutputEscaping = 512
1140 getFlag(eFlags theFlag)
const 1142 return m_flags & theFlag ? true :
false;
1150 if (theValue ==
true)
1156 m_flags &= ~theFlag;
1161 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 1172 StylesheetExecutionContext& executionContext,
1173 XalanDOMString& result)
const;
1176 Stylesheet& m_stylesheet;
1181 NamespacesHandler m_namespacesHandler;
1183 const int m_xslToken;
1185 ElemTemplateElement* m_parentNode;
1186 ElemTemplateElement* m_nextSibling;
1187 ElemTemplateElement* m_previousSibling;
1196 LocatorProxy m_locatorProxy;
1198 unsigned short m_flags;
1218 #endif // XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD This class defines a base class for Locator derivations in Xalan.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
const XalanDOMString & getURI() const
xercesc::AttributeList AttributeListType
This class defines an interface for classes that resolve namespace prefixes to their URIs...
bool hasDirectTemplate() const
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
const Stylesheet & getStylesheet() const
Retrieve the stylesheet from which this element comes.
This class represents the base stylesheet or an "import" stylesheet.
void preserveSpace(bool value)
Class to represent a qualified name.
void canGenerateAttributes(bool value)
const ElemTextLiteral * m_textLiteralChild
XalanFileLoc getColumnNumber() const
const ElemTemplate * m_directTemplate
bool canGenerateAttributes() const
bool isDefaultTemplate() const
static const XalanDOMString s_emptyString
void disableOutputEscaping(bool value)
bool disableOutputEscaping() const
bool preserveSpace() const
xercesc::Locator LocatorType
void hasPrefix(bool value)
bool hasSingleTextChild() const
void setFinishedConstruction(bool fValue)
Set the flag indicating construction of the element is completed.
#define XALAN_XSLT_EXPORT
bool hasVariables() const
const NamespacesHandler & getNamespaces() const
const NamespacesHandler & getNamespacesHandler() const
Get the namespaces handler for this element.
XalanFileLoc getLineNumber() const
bool getFinishedConstruction() const
Get the flag indicating construction of the element is completed.
ElemTemplateElement * m_firstChild