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