18 #if !defined(XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD)
19 #define XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD
47 #include "LocalMsgIndex.hpp"
51 XALAN_DECLARE_XERCES_CLASS(AttributeList)
52 XALAN_DECLARE_XERCES_CLASS(Locator)
56 XALAN_CPP_NAMESPACE_BEGIN
92 StylesheetConstructionContext& constructionContext,
93 Stylesheet& stylesheetTree,
94 XalanFileLoc lineNumber,
95 XalanFileLoc columnNumber,
111 StylesheetConstructionContext& constructionContext,
112 Stylesheet& stylesheetTree,
126 virtual const Locator*
141 const XalanDOMChar* attrName,
142 const AttributeListType& atts,
144 StylesheetConstructionContext& constructionContext)
const;
158 const XalanDOMChar* elementName,
159 const XalanDOMChar* aname,
160 const AttributeListType& atts,
162 StylesheetConstructionContext& constructionContext);
174 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
184 startElement(StylesheetExecutionContext& executionContext)
const;
194 endElement(StylesheetExecutionContext& executionContext)
const;
202 execute(StylesheetExecutionContext& executionContext)
const;
210 executeChildren(StylesheetExecutionContext& executionContext)
const;
217 getInvoker(StylesheetExecutionContext& executionContext)
const;
228 execute(StylesheetExecutionContext& executionContext)
const;
236 executeChildren(StylesheetExecutionContext& executionContext)
const;
246 StylesheetExecutionContext& executionContext,
262 StylesheetExecutionContext& executionContext,
274 childrenToResultAttribute(
275 StylesheetExecutionContext& executionContext,
286 childrenToResultComment(StylesheetExecutionContext& executionContext)
const;
299 StylesheetExecutionContext& executionContext,
323 isWhitespace()
const;
332 getElementName()
const = 0;
341 getNameAttribute()
const;
353 StylesheetConstructionContext& constructionContext,
354 Stylesheet& theStylesheet);
369 StylesheetConstructionContext& constructionContext,
370 Stylesheet& theStylesheet,
371 const AttributeListType& atts,
372 const Locator* locator = 0);
380 setDefaultTemplate(
bool value);
387 const NamespacesHandler&
390 return m_namespacesHandler;
412 setFlag(eFinishedConstruction, fValue);
421 return getFlag(eFinishedConstruction);
429 StylesheetConstructionContext& constructionContext,
430 const NamespacesHandler& theParentHandler);
440 getFirstChildElem()
const;
442 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
450 beginExecuteChildren(
451 StylesheetExecutionContext& executionContext)
const;
462 StylesheetExecutionContext& executionContext)
const;
473 beginChildrenToString(
474 StylesheetExecutionContext& executionContext,
486 StylesheetExecutionContext& executionContext)
const;
506 getLastChildElem()
const;
514 getNextSiblingElem()
const;
516 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
527 getNextChildElemToExecute(
528 StylesheetExecutionContext& executionContext,
539 getFirstChildElemToExecute(
540 StylesheetExecutionContext& executionContext)
const;
549 virtual bool executeChildElement(
550 StylesheetExecutionContext& executionContext,
570 getPreviousSiblingElem()
const;
588 getParentNodeElem()
const;
620 getXPath(XalanSize_t index)
const;
638 XalanFileLoc theLineNumber,
639 XalanFileLoc theColumnNumber,
652 getLineNumber()
const;
655 getColumnNumber()
const;
675 const XalanFileLoc m_lineNumber;
677 const XalanFileLoc m_columnNumber;
686 return m_locatorProxy.getLineNumber();
692 return m_locatorProxy.getColumnNumber();
698 return getFlag(eHasParams);
704 return getFlag(eHasVariables);
710 return getFlag(eHasSingleTextChild);
716 return m_firstChild != 0 ?
true :
false;
722 return getFlag(eHasDirectTemplate);
728 return getFlag(eCanGenerateAttributes);
734 return getFlag(eDefaultTemplate);
742 setFlag(eCanGenerateAttributes, value);
748 setFlag(eHasPrefix, value);
754 return getFlag(eHasPrefix);
760 setFlag(eSpacePreserve, value);
766 return getFlag(eSpacePreserve);
772 setFlag(eDisableOutputEscaping, value);
778 return getFlag(eDisableOutputEscaping);
791 processPrefixControl(
792 StylesheetConstructionContext& constructionContext,
793 const Stylesheet& stylesheetTree,
795 const XalanDOMChar* attrValue);
805 getNamespaceForPrefixInternal(
const XalanDOMString& prefix)
const;
807 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
819 findTemplateToTransformChild(
820 StylesheetExecutionContext& executionContext,
837 findTemplateToTransformChild(
838 StylesheetExecutionContext& executionContext,
855 StylesheetExecutionContext& executionContext,
872 StylesheetExecutionContext& executionContext,
892 childTypeAllowed(
int xslToken)
const;
901 namespacesPostConstruction(
902 StylesheetConstructionContext& constructionContext,
903 const NamespacesHandler& theParentHandler,
904 NamespacesHandler& theHandler);
906 const NamespacesHandler&
909 return m_namespacesHandler;
922 StylesheetExecutionContext& theContext,
923 XalanMessages::Codes theCode)
const;
936 StylesheetExecutionContext& theContext,
937 XalanMessages::Codes theCode,
951 StylesheetExecutionContext& theContext,
952 XalanMessages::Codes theCode,
953 const Locator* theLocator)
const;
965 StylesheetExecutionContext& theContext,
966 XalanMessages::Codes theCode)
const;
979 StylesheetExecutionContext& theContext,
980 XalanMessages::Codes theCode,
994 StylesheetExecutionContext& theContext,
995 XalanMessages::Codes theCode,
996 const Locator* theLocator)
const;
1008 StylesheetConstructionContext& theContext,
1009 XalanMessages::Codes theCode);
1023 StylesheetConstructionContext& theContext,
1024 XalanMessages::Codes theCode,
1039 StylesheetConstructionContext& theContext,
1040 XalanMessages::Codes theCode,
1042 const Locator* theLocator);
1056 StylesheetConstructionContext& theContext,
1057 XalanMessages::Codes theCode,
1073 StylesheetConstructionContext& theContext,
1074 XalanMessages::Codes theCode,
1075 const XalanDOMChar* theToken1,
1076 const XalanDOMChar* theToken2);
1091 StylesheetConstructionContext& theContext,
1092 XalanMessages::Codes theCode,
1093 const XalanDOMChar* theToken1,
1094 const XalanDOMChar* theToken2,
1095 const XalanDOMChar* theToken3);
1110 StylesheetConstructionContext& theContext,
1111 XalanMessages::Codes theCode,
1112 const XalanDOMChar* theToken1,
1113 const XalanDOMChar* theToken2,
1114 const XalanDOMChar* theToken3);
1125 eHasSingleTextChild = 2,
1127 eHasDirectTemplate = 8,
1128 eCanGenerateAttributes = 16,
1129 eDefaultTemplate = 32,
1130 eSpacePreserve = 64,
1131 eFinishedConstruction = 128,
1133 eDisableOutputEscaping = 512
1137 getFlag(eFlags theFlag)
const
1139 return m_flags & theFlag ?
true :
false;
1147 if (theValue ==
true)
1153 m_flags &= ~theFlag;
1158 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1169 StylesheetExecutionContext& executionContext,
1173 Stylesheet& m_stylesheet;
1178 NamespacesHandler m_namespacesHandler;
1180 const int m_xslToken;
1193 LocatorProxy m_locatorProxy;
1195 unsigned short m_flags;
1211 XALAN_CPP_NAMESPACE_END
1215 #endif // XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD