16 #if !defined(STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
17 #define STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
41 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
55 #if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
73 XALAN_CPP_NAMESPACE_BEGIN
93 #if defined(XALAN_STRICT_ANSI_HEADERS)
167 m_xpathExecutionContextDefault.setXPathEnvSupport(theSupport);
178 m_xpathExecutionContextDefault.setDOMSupport(theDOMSupport);
189 m_xpathExecutionContextDefault.setXObjectFactory(theXObjectFactory);
203 m_xsltProcessor = theProcessor;
209 return m_usePerInstanceDocumentFactory;
215 m_usePerInstanceDocumentFactory = fValue;
243 getCopyTextNodesOnly()
const;
246 pushCopyTextNodesOnly(
bool copyTextNodesOnly);
249 popCopyTextNodesOnly();
251 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
253 pushProcessCurrentAttribute(
bool processAttribute);
256 popProcessCurrentAttribute();
259 pushSkipElementAttributes(
bool skipAttributes);
262 getSkipElementAttributes()
const;
265 popSkipElementAttributes();
268 pushExecuteIf(
bool executeIf);
275 getRootDocument()
const;
284 getCurrentMode()
const;
293 getCurrentTemplate()
const;
299 popCurrentTemplate();
306 const XalanDOMChar* theName,
307 const XalanDOMChar* theNewType,
308 const XalanDOMChar* theNewValue);
324 const XalanDOMChar* value);
351 setIndent(
int indentAmount);
371 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
406 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
428 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
429 virtual void beginParams();
431 virtual void endParams();
449 getGlobalStackFrameIndex()
const;
452 getCurrentStackFrameIndex()
const;
455 pushCurrentStackFrameIndex(
int currentStackFrameIndex = -1);
458 popCurrentStackFrameIndex();
474 const XalanDOMChar* ch,
480 const XalanDOMChar* ch,
485 comment(
const XalanDOMChar* data);
489 const XalanDOMChar* target,
490 const XalanDOMChar* data);
505 bool shouldCloneAttributes,
508 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
510 beginCreateXResultTreeFrag(
515 endCreateXResultTreeFrag();
526 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
528 createXResultTreeFrag(
556 popElementRecursionStack();
562 getEscapeURLs()
const;
565 setEscapeURLs(eEscapeURLs value);
568 getOmitMETATag()
const;
571 setOmitMETATag(eOmitMETATag value);
574 createFormatterToXML(
577 bool doIndent =
false,
578 int indent = eDefaultXMLIndentAmount,
587 createFormatterToHTML(
593 bool doIndent =
true,
594 int indent = eDefaultHTMLIndentAmount,
595 bool escapeURLs =
true,
596 bool omitMetaTag =
false);
599 createFormatterToText(
603 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
614 virtual XalanNumberFormatAutoPtr
615 createXalanNumberFormat();
635 return s_defaultXalanNumberFormatFactory;
645 static XalanNumberFormatFactory*
646 installXalanNumberFormatFactory(XalanNumberFormatFactory* theFactory);
650 getTraceListeners()
const;
662 getTraceSelects()
const;
685 const XalanDOMChar* theLHS,
686 const XalanDOMChar* theRHS,
691 const XalanDOMChar* theLHS,
692 const XalanDOMChar* theRHS,
693 const XalanDOMChar* theLocale,
709 const XalanDOMChar* theLHS,
710 const XalanDOMChar* theRHS,
715 const XalanDOMChar* theLHS,
716 const XalanDOMChar* theRHS,
717 const XalanDOMChar* theLocale,
722 const CollationCompareFunctor*
723 installCollationCompareFunctor(CollationCompareFunctor* theFunctor);
725 CollationCompareFunctor*
726 uninstallCollationCompareFunctor();
771 uninstallFormatNumberFunctor();
782 createPrintWriter(StreamType& theStream);
785 createPrintWriter(FILE* theStream);
809 getCurrentNode()
const;
812 pushCurrentNode(
XalanNode* theCurrentNode);
826 popContextNodeList();
829 getContextNodeList()
const;
832 getContextNodeListLength()
const;
835 getContextNodeListPosition(
const XalanNode& contextNode)
const;
838 elementAvailable(
const XalanQName& theQName)
const;
846 functionAvailable(
const XalanQName& theQName)
const;
858 const XObjectArgVectorType& argVec,
868 borrowMutableNodeRefList();
876 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
878 createUseAttributeSetIndexesOnStack();
880 virtual UseAttributeSetIndexes&
881 getUseAttributeSetIndexes();
884 popUseAttributeSetIndexesFromStack();
896 createAndPushMutableNodeRefList();
899 releaseAndPopMutableNodeRefList();
911 getNextNodeToTransform();
914 popNodesToTransformList();
917 getAndPushCachedString();
920 getLastCachedString();
923 getAndPopCachedString();
954 getPrefixResolver()
const;
966 getUnparsedEntityURI(
971 shouldStripSourceNode(
const XalanText& node);
1007 m_xsltProcessor(xsltProcessor)
1026 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1030 borrowFormatterToText();
1039 getDecimalFormatSymbols(
const XalanQName& qname);
1041 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1052 ParamsVectorType& params);
1062 isCached(
const XPath* theXPath);
1080 const XPath* theXPath);
1087 cleanUpTransients();
1095 enum { eXPathCacheMax = 50,
1096 eDefaultParamsVectorSize = 10,
1097 eXResultTreeFragAllocatorBlockSize = 10,
1098 eDocumentAllocatorBlockSize = 10,
1099 eDocumentFragmentAllocatorBlockSize = 10,
1100 eDefaultAttributeAllocatorBlockSize = 10,
1101 eDefaultAttributeNSAllocatorBlockSize = 10,
1102 eDefaultCommentAllocatorBlockSize = 10,
1103 eDefaultElementAllocatorBlockSize = 10,
1104 eDefaultElementNSAllocatorBlockSize = 10,
1105 eDefaultPIAllocatorBlockSize = 10,
1106 eDefaultTextAllocatorBlockSize = 20,
1107 eDefaultTextIWSAllocatorBlockSize = 20 };
1109 ElementTemplateElementStackType m_elementRecursionStack;
1113 FormatterListenerVectorType m_formatterListeners;
1115 PrintWriterVectorType m_printWriters;
1117 OutputStreamVectorType m_outputStreams;
1119 CollationCompareFunctor* m_collationCompareFunctor;
1128 ParamsVectorType m_paramsVector;
1130 XPathCacheMapType m_matchPatternCache;
1132 KeyTablesTableType m_keyTables;
1145 CurrentTemplateStackType m_currentTemplateStack;
1159 BooleanStackType m_copyTextNodesOnlyStack;
1160 ModeStackType m_modeStack;
1161 IntStackType m_currentIndexStack;
1163 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1168 FormatterToTextCacheType m_formatterToTextCache;
1170 FormatterToSourceTreeCacheType m_formatterToSourceTreeCache;
1172 NodeSorterCacheType m_nodeSorterCache;
1182 ~FormatterToTextDOMString();
1187 m_printWriter.setString(theString);
1193 FormatterToTextDOMString(
const FormatterToTextDOMString&);
1195 FormatterToTextDOMString&
1196 operator=(
const FormatterToTextDOMString&);
1199 operator==(
const FormatterToTextDOMString&)
const;
1212 MutableNodeRefListStackType;
1218 FormatterToTextStackType;
1220 FormatterToSourceTreeStackType;
1225 class NodesToTransform
1229 m_nodeList(nodeList), m_index(0)
1231 assert(m_nodeList != 0);
1246 if (m_index < m_nodeList->getLength())
1248 return m_nodeList->item(m_index++);
1260 XObjectPtrStackType m_xobjectPtrStack;
1261 MutableNodeRefListStackType m_mutableNodeRefListStack;
1262 NodesToTransformStackType m_nodesToTransformStack;
1263 BooleanStackType m_processCurrentAttributeStack;
1264 BooleanStackType m_executeIfStack;
1265 StringStackType m_stringStack;
1266 FormatterToTextStackType m_formatterToTextStack;
1267 BooleanStackType m_skipElementAttributesStack;
1268 FormatterToSourceTreeStackType m_formatterToSourceTreeStack;
1269 ParamsVectorStackType m_paramsVectorStack;
1270 ElementTemplateElementStackType m_elementInvokerStack;
1271 UseAttributeSetIndexesStackType m_useAttributeSetIndexesStack;
1278 bool m_usePerInstanceDocumentFactory;
1281 eEscapeURLs m_escapeURLs;
1284 eOmitMETATag m_omitMETATag;
1286 bool m_hasStripOrPreserveSpace;
1288 static XalanNumberFormatFactory s_defaultXalanNumberFormatFactory;
1290 static XalanNumberFormatFactory* s_xalanNumberFormatFactory;
1292 static const DefaultCollationCompareFunctor s_defaultCollationFunctor;
1298 XALAN_CPP_NAMESPACE_END
1302 #endif // STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680