16 #if !defined(XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD)
17 #define XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD
45 #include "LocalMsgIndex.hpp"
49 XALAN_DECLARE_XERCES_CLASS(AttributeList)
50 XALAN_DECLARE_XERCES_CLASS(Locator)
54 XALAN_CPP_NAMESPACE_BEGIN
62 XALAN_USING_XERCES(AttributeList)
63 XALAN_USING_XERCES(Locator)
90 StylesheetConstructionContext& constructionContext,
91 Stylesheet& stylesheetTree,
109 StylesheetConstructionContext& constructionContext,
110 Stylesheet& stylesheetTree,
124 virtual const LocatorType*
139 const XalanDOMChar* attrName,
140 const AttributeListType& atts,
142 StylesheetConstructionContext& constructionContext)
const;
156 const XalanDOMChar* elementName,
157 const XalanDOMChar* aname,
158 const AttributeListType& atts,
160 StylesheetConstructionContext& constructionContext);
172 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
182 startElement(StylesheetExecutionContext& executionContext)
const;
192 endElement(StylesheetExecutionContext& executionContext)
const;
200 execute(StylesheetExecutionContext& executionContext)
const;
208 executeChildren(StylesheetExecutionContext& executionContext)
const;
215 getInvoker(StylesheetExecutionContext& executionContext)
const;
226 execute(StylesheetExecutionContext& executionContext)
const;
234 executeChildren(StylesheetExecutionContext& executionContext)
const;
244 StylesheetExecutionContext& executionContext,
260 StylesheetExecutionContext& executionContext,
272 childrenToResultAttribute(
273 StylesheetExecutionContext& executionContext,
284 childrenToResultComment(StylesheetExecutionContext& executionContext)
const;
297 StylesheetExecutionContext& executionContext,
321 isWhitespace()
const;
330 getElementName()
const = 0;
339 getNameAttribute()
const;
351 StylesheetConstructionContext& constructionContext,
352 Stylesheet& theStylesheet);
367 StylesheetConstructionContext& constructionContext,
368 Stylesheet& theStylesheet,
369 const AttributeListType& atts,
370 const LocatorType* locator = 0);
378 setDefaultTemplate(
bool value);
385 const NamespacesHandler&
388 return m_namespacesHandler;
410 setFlag(eFinishedConstruction, fValue);
419 return getFlag(eFinishedConstruction);
427 StylesheetConstructionContext& constructionContext,
428 const NamespacesHandler& theParentHandler);
438 getFirstChildElem()
const;
440 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
448 beginExecuteChildren(
449 StylesheetExecutionContext& executionContext)
const;
460 StylesheetExecutionContext& executionContext)
const;
471 beginChildrenToString(
472 StylesheetExecutionContext& executionContext,
484 StylesheetExecutionContext& executionContext)
const;
504 getLastChildElem()
const;
512 getNextSiblingElem()
const;
514 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
525 getNextChildElemToExecute(
526 StylesheetExecutionContext& executionContext,
537 getFirstChildElemToExecute(
538 StylesheetExecutionContext& executionContext)
const;
547 virtual bool executeChildElement(
548 StylesheetExecutionContext& executionContext,
568 getPreviousSiblingElem()
const;
586 getParentNodeElem()
const;
618 getXPath(
unsigned int index = 0)
const;
650 getLineNumber()
const;
653 getColumnNumber()
const;
684 return m_locatorProxy.getLineNumber();
690 return m_locatorProxy.getColumnNumber();
696 return getFlag(eHasParams);
702 return getFlag(eHasVariables);
708 return getFlag(eHasSingleTextChild);
714 return m_firstChild != 0 ?
true :
false;
720 return getFlag(eHasDirectTemplate);
726 return getFlag(eCanGenerateAttributes);
732 return getFlag(eDefaultTemplate);
740 setFlag(eCanGenerateAttributes, value);
746 setFlag(eHasPrefix, value);
752 return getFlag(eHasPrefix);
758 setFlag(eSpacePreserve, value);
764 return getFlag(eSpacePreserve);
770 setFlag(eDisableOutputEscaping, value);
776 return getFlag(eDisableOutputEscaping);
789 processPrefixControl(
790 StylesheetConstructionContext& constructionContext,
791 const Stylesheet& stylesheetTree,
793 const XalanDOMChar* attrValue);
803 getNamespaceForPrefixInternal(
const XalanDOMString& prefix)
const;
805 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
817 findTemplateToTransformChild(
818 StylesheetExecutionContext& executionContext,
835 findTemplateToTransformChild(
836 StylesheetExecutionContext& executionContext,
853 StylesheetExecutionContext& executionContext,
870 StylesheetExecutionContext& executionContext,
890 childTypeAllowed(
int xslToken)
const;
899 namespacesPostConstruction(
900 StylesheetConstructionContext& constructionContext,
901 const NamespacesHandler& theParentHandler,
902 NamespacesHandler& theHandler);
904 const NamespacesHandler&
907 return m_namespacesHandler;
920 StylesheetExecutionContext& theContext,
921 XalanMessages::Codes theCode)
const;
934 StylesheetExecutionContext& theContext,
935 XalanMessages::Codes theCode,
949 StylesheetExecutionContext& theContext,
950 XalanMessages::Codes theCode,
951 const Locator* theLocator)
const;
963 StylesheetExecutionContext& theContext,
964 XalanMessages::Codes theCode)
const;
977 StylesheetExecutionContext& theContext,
978 XalanMessages::Codes theCode,
992 StylesheetExecutionContext& theContext,
993 XalanMessages::Codes theCode,
994 const Locator* theLocator)
const;
1006 StylesheetConstructionContext& theContext,
1007 XalanMessages::Codes theCode);
1021 StylesheetConstructionContext& theContext,
1022 XalanMessages::Codes theCode,
1037 StylesheetConstructionContext& theContext,
1038 XalanMessages::Codes theCode,
1040 const Locator* theLocator);
1054 StylesheetConstructionContext& theContext,
1055 XalanMessages::Codes theCode,
1071 StylesheetConstructionContext& theContext,
1072 XalanMessages::Codes theCode,
1073 const XalanDOMChar* theToken1,
1074 const XalanDOMChar* theToken2);
1089 StylesheetConstructionContext& theContext,
1090 XalanMessages::Codes theCode,
1091 const XalanDOMChar* theToken1,
1092 const XalanDOMChar* theToken2,
1093 const XalanDOMChar* theToken3);
1108 StylesheetConstructionContext& theContext,
1109 XalanMessages::Codes theCode,
1110 const XalanDOMChar* theToken1,
1111 const XalanDOMChar* theToken2,
1112 const XalanDOMChar* theToken3);
1123 eHasSingleTextChild = 2,
1125 eHasDirectTemplate = 8,
1126 eCanGenerateAttributes = 16,
1127 eDefaultTemplate = 32,
1128 eSpacePreserve = 64,
1129 eFinishedConstruction = 128,
1131 eDisableOutputEscaping = 512
1135 getFlag(eFlags theFlag)
const
1137 return m_flags & theFlag ?
true :
false;
1145 if (theValue ==
true)
1151 m_flags &= ~theFlag;
1156 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1167 StylesheetExecutionContext& executionContext,
1171 Stylesheet& m_stylesheet;
1176 NamespacesHandler m_namespacesHandler;
1178 const int m_xslToken;
1191 LocatorProxy m_locatorProxy;
1193 unsigned short m_flags;
1209 XALAN_CPP_NAMESPACE_END
1213 #endif // XALAN_ELEMTEMPLATEELEMENT_HEADER_GUARD