Xalan-C++ API Reference  1.12.0
StylesheetExecutionContextDefault.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
19 #define STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
20 
21 
22 
23 // Base class include file.
25 
26 
27 
28 #include <ctime>
29 #include <memory>
30 
31 
32 
38 
39 
41 
42 
43 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
45 #endif
46 
47 
48 
50 
51 
52 
54 
55 
56 
57 #if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
59 #endif
62 
63 
64 
72 
73 
74 
75 namespace XALAN_CPP_NAMESPACE {
76 
77 
78 
79 class XalanSourceTreeDocument;
80 class XPathProcessor;
81 class XSLTEngineImpl;
82 
85 //
86 // An class which provides support for executing stylesheets.
87 //
89 {
90 public:
91 
92  typedef std::clock_t ClockType;
93 
97 
99  typedef std::pair<const XPath*, ClockType> XPathCacheEntry;
102 
105 
106  /**
107  * Construct a StylesheetExecutionContextDefault object
108  *
109  * @param theXPathEnvSupport XPath environment support class instance
110  * @param theDOMSupport DOMSupport class instance
111  * @param theXobjectFactory factory class instance for XObjects
112  * @param theCurrentNode current node in the source tree
113  * @param theContextNodeList node list for current context
114  * @param thePrefixResolver pointer to prefix resolver to use
115  */
117  MemoryManager& theManager,
118  XSLTEngineImpl& xsltProcessor,
119  XPathEnvSupport& theXPathEnvSupport,
120  DOMSupport& theDOMSupport,
121  XObjectFactory& theXObjectFactory,
122  XalanNode* theCurrentNode = 0,
123  const NodeRefListBase* theContextNodeList = 0,
124  const PrefixResolver* thePrefixResolver = 0);
125 
126  /**
127  * Construct a StylesheetExecutionContextDefault object
128  *
129  * @param theXPathEnvSupport XPath environment support class instance
130  * @param theDOMSupport DOMSupport class instance
131  * @param theXobjectFactory factory class instance for XObjects
132  * @param theCurrentNode current node in the source tree
133  * @param theContextNodeList node list for current context
134  * @param thePrefixResolver pointer to prefix resolver to use
135  */
136  explicit
138  MemoryManager& theManager,
139  XalanNode* theCurrentNode = 0,
140  const NodeRefListBase* theContextNodeList = 0,
141  const PrefixResolver* thePrefixResolver = 0);
142 
145  MemoryManager& theManager,
146  XalanNode* theCurrentNode = 0,
147  const NodeRefListBase* theContextNodeList = 0,
148  const PrefixResolver* thePrefixResolver = 0);
149 
150  virtual
152 
153 
154  /**
155  * Set the XPathEnvSupport instance.
156  *
157  * @param theSupport a reference to the instance to use.
158  */
159  void
161  {
162  m_xpathExecutionContextDefault.setXPathEnvSupport(theSupport);
163  }
164 
165  /**
166  * Set the DOMSupport instance.
167  *
168  * @param theDOMSupport a reference to the instance to use.
169  */
170  void
171  setDOMSupport(DOMSupport* theDOMSupport)
172  {
173  m_xpathExecutionContextDefault.setDOMSupport(theDOMSupport);
174  }
175 
176  /**
177  * Set the XObjectFactory instance.
178  *
179  * @param theFactory a reference to the instance to use.
180  */
181  void
182  setXObjectFactory(XObjectFactory* theXObjectFactory)
183  {
184  m_xpathExecutionContextDefault.setXObjectFactory(theXObjectFactory);
185 
186  m_xobjectFactory = theXObjectFactory;
187  }
188 
189 
190  /**
191  * Set the DOMSupport instance.
192  *
193  * @param theDOMSupport a reference to the instance to use.
194  */
195  void
197  {
198  m_xsltProcessor = theProcessor;
199  }
200 
201  bool
203  {
204  return m_usePerInstanceDocumentFactory;
205  }
206 
207  void
209  {
210  m_usePerInstanceDocumentFactory = fValue;
211  }
212 
213 
214  // These interfaces are inherited from StylesheetExecutionContext...
215 
216  virtual bool
218 
219  virtual bool
221 
222  virtual void
223  pushCopyTextNodesOnly(bool copyTextNodesOnly);
224 
225  virtual bool
227 
228 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
229  virtual void
230  pushProcessCurrentAttribute(bool processAttribute);
231 
232  virtual bool
234 
235  virtual void
236  pushSkipElementAttributes(bool skipAttributes);
237 
238  virtual bool
240 
241  virtual bool
243 
244  virtual void
245  pushExecuteIf(bool executeIf);
246 
247  virtual bool
249 #endif
250 
251  virtual XalanNode*
253 
254  virtual void
255  setRootDocument(XalanNode* theDocument);
256 
257  virtual void
258  setStylesheetRoot(const StylesheetRoot* theStylesheet);
259 
260  virtual const XalanQName*
261  getCurrentMode() const;
262 
263  virtual void
264  pushCurrentMode(const XalanQName* theMode);
265 
266  virtual void
268 
269  virtual const ElemTemplate*
271 
272  virtual void
273  pushCurrentTemplate(const ElemTemplate* theTemplate);
274 
275  virtual void
277 
278  virtual bool
280 
281  virtual void
283  const XalanDOMChar* theName,
284  const XalanDOMChar* theNewType,
285  const XalanDOMChar* theNewValue);
286 
287  virtual void
289 
290  virtual void
292 
293  virtual void
295  const XalanDOMString& aname,
296  const XalanDOMString& value);
297 
298  virtual void
300  const XalanDOMString& aname,
301  const XalanDOMChar* value);
302 
303  virtual void
305 
306  virtual const XalanDOMString*
307  getResultPrefixForNamespace(const XalanDOMString& theNamespace) const;
308 
309  virtual const XalanDOMString*
311 
312  virtual bool
314 
315  virtual void
317 
318  virtual FormatterListener*
320 
321  virtual void
323 
324  virtual int
325  getIndent() const;
326 
327  virtual void
328  setIndent(int indentAmount);
329 
330  virtual const XPath*
332  const XalanDOMString& str,
333  const PrefixResolver& resolver);
334 
335  virtual void
336  returnXPath(const XPath* xpath);
337 
338  virtual void
339  pushTopLevelVariables(const ParamVectorType& topLevelParams);
340 
341 
342  virtual const XObjectPtr
344  const XPath& xpath,
345  XalanNode* contextNode,
346  const PrefixResolver& resolver);
347 
348 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
349  virtual const XObjectPtr
350  createVariable(
351  const ElemTemplateElement& templateChild,
352  XalanNode* sourceNode);
353 #endif
354 
355  virtual void
357  const XalanQName& name,
358  const ElemTemplateElement* element,
359  const XalanDOMString& str,
360  XalanNode* contextNode,
361  const PrefixResolver& resolver);
362 
363  virtual void
365  const XalanQName& name,
366  const XObjectPtr val,
367  const ElemTemplateElement* element);
368 
369  virtual void
371  const XalanQName& name,
372  const ElemVariable* var,
373  const ElemTemplateElement* element);
374 
375  virtual void
377  const XalanQName& name,
378  const ElemTemplateElement* element,
379  const XPath& xpath,
380  XalanNode* contextNode,
381  const PrefixResolver& resolver);
382 
383 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
384  virtual void
385  pushVariable(
386  const XalanQName& name,
387  const ElemTemplateElement* element,
388  const ElemTemplateElement& templateChild,
389  XalanNode* sourceNode);
390 #endif
391 
392 
393  virtual void
395 
396  virtual void
398 
399  virtual void
401 
402  virtual void
404 
405 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
406  virtual void beginParams();
407 
408  virtual void endParams();
409 
410  virtual void pushParam(const XalanQName& qName,const XObjectPtr& theValue);
411 #else
412  virtual void
413  pushParams(const ElemTemplateElement& xslCallTemplateElement);
414 #endif
415 
416  virtual const XObjectPtr
417  getParamVariable(const XalanQName& theName);
418 
419  virtual void
421 
422  virtual void
424 
425  virtual int
427 
428  virtual int
430 
431  virtual void
432  pushCurrentStackFrameIndex(int currentStackFrameIndex = -1);
433 
434  virtual void
436 
437  virtual void
439 
440  virtual void
442 
443  virtual void
444  startElement(const XalanDOMChar* name);
445 
446  virtual void
447  endElement(const XalanDOMChar* name);
448 
449  virtual void
451  const XalanDOMChar* ch,
452  fl_size_type start,
454 
455  virtual void
457  const XalanDOMChar* ch,
458  fl_size_type start,
460 
461  virtual void
462  comment(const XalanDOMChar* data);
463 
464  virtual void
466  const XalanDOMChar* target,
467  const XalanDOMChar* data);
468 
469  virtual void
471 
472  virtual void
474  const XalanNode& node,
475  const Locator* locator);
476 
477  virtual void
479  const XalanNode& node,
480  XalanNode::NodeType nodeType,
481  bool overrideStrip,
482  bool shouldCloneAttributes,
483  const Locator* locator);
484 
485 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
486  virtual void
488 
489  virtual const XObjectPtr
491 
492  virtual void
494 
495  virtual void
497 #endif
498 
499 
500 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
501  virtual const XObjectPtr
502  createXResultTreeFrag(
503  const ElemTemplateElement& templateChild,
504  XalanNode* sourceNode);
505 #endif
506 
507  virtual void
509  const XObject& xobj,
510  const Locator* locator);
511 
512  virtual void
514  const XObject& theTree,
515  const Locator* locator);
516 
517  virtual const XalanDOMString&
519 
520  virtual const XalanDOMString&
522 
523  virtual bool
525 
526  virtual void
528 
529  virtual const ElemTemplateElement*
531 
532  virtual bool
534 
535  virtual eEscapeURLs
536  getEscapeURLs() const;
537 
538  virtual void
539  setEscapeURLs(eEscapeURLs value);
540 
541  virtual eOmitMETATag
542  getOmitMETATag() const;
543 
544  void
545  setOmitMETATag(eOmitMETATag value);
546 
547  virtual FormatterListener*
549  Writer& writer,
550  const XalanDOMString& version = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
551  bool doIndent = false,
552  int indent = eDefaultXMLIndentAmount,
553  const XalanDOMString& encoding = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
554  const XalanDOMString& mediaType = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
555  const XalanDOMString& doctypeSystem = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
556  const XalanDOMString& doctypePublic = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
557  bool xmlDecl = true,
558  const XalanDOMString& standalone = XalanDOMString(XalanMemMgrs::getDummyMemMgr()));
559 
560  virtual FormatterListener*
562  Writer& writer,
563  const XalanDOMString& encoding = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
564  const XalanDOMString& mediaType = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
565  const XalanDOMString& doctypeSystem = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
566  const XalanDOMString& doctypePublic = XalanDOMString(XalanMemMgrs::getDummyMemMgr()),
567  bool doIndent = true,
568  int indent = eDefaultHTMLIndentAmount,
569  bool escapeURLs = true,
570  bool omitMetaTag = false);
571 
572  virtual FormatterListener*
574  Writer& writer,
575  const XalanDOMString& encoding);
576 
577 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
578  virtual NodeSorter*
580 #else
581  virtual NodeSorter*
582  borrowNodeSorter();
583 
584  virtual bool
585  returnNodeSorter(NodeSorter* theSorter);
586 #endif
587 
590 
591  // A basic class to create XalanNumberFormat instances...
593  {
594  public:
595 
596  explicit
598 
599  virtual
601 
602  virtual XalanNumberFormat*
603  create(MemoryManager& theManager);
604  };
605 
608  {
609  return s_defaultXalanNumberFormatFactory;
610  }
611 
612  /**
613  * Static function to install a new XalanNumberFormatFactory.
614  * The caller owns the XalanNumberFormatFactory instance.
615  *
616  * @param a pointer to the new factory instance to use.
617  * @return a pointer to the old factory instance.
618  */
619  static XalanNumberFormatFactory*
621 
622 
623  virtual tl_size_type
625 
626  virtual void
628 
629  virtual void
631 
632  virtual void
634 
635  virtual bool
637 
638  virtual void
640  const ElemTemplateElement& theStylesheetElement,
641  const NodeRefListBase& nl,
642  const XPath* xpath);
643 
644  virtual int
646  const XalanDOMString& theLHS,
647  const XalanDOMString& theRHS,
648  XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault);
649 
650  virtual int
652  const XalanDOMString& theLHS,
653  const XalanDOMString& theRHS,
654  const XalanDOMString& theLocale,
655  XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault);
656 
657  virtual int
659  const XalanDOMChar* theLHS,
660  const XalanDOMChar* theRHS,
661  XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault);
662 
663  virtual int
665  const XalanDOMChar* theLHS,
666  const XalanDOMChar* theRHS,
667  const XalanDOMChar* theLocale,
668  XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault);
669 
671 
673  {
674  public:
675 
677 
678  virtual
680 
681  virtual int
683  const XalanDOMChar* theLHS,
684  const XalanDOMChar* theRHS,
685  XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault) const;
686 
687  virtual int
689  const XalanDOMChar* theLHS,
690  const XalanDOMChar* theRHS,
691  const XalanDOMChar* theLocale,
692  XalanCollationServices::eCaseOrder theCaseOrder = XalanCollationServices::eDefault) const;
693  };
694 
695 
698 
701 
702 
704  {
705  public:
706 
708 
709  virtual
711 
712  virtual void
713  operator() (
714  XPathExecutionContext& executionContext,
715  double theNumber,
716  const XalanDOMString& thePattern,
717  const XalanDecimalFormatSymbols* theDFS,
718  XalanDOMString& theResult,
719  const XalanNode* context = 0,
720  const Locator* locator = 0) const = 0;
721  };
722 
723  virtual void
725  double number,
726  const XalanDOMString& pattern,
727  XalanDOMString& theResult,
728  const XalanNode* context = 0,
729  const Locator* locator = 0);
730 
731  virtual void
733  double number,
734  const XalanDOMString& pattern,
735  const XalanDOMString& dfsName,
736  XalanDOMString& theResult,
737  const XalanNode* context = 0,
738  const Locator* locator = 0);
739 
740 
741  const FormatNumberFunctor*
743 
746 
747  virtual PrintWriter*
748  createPrintWriter(XalanOutputStream* theTextOutputStream);
749 
750  virtual PrintWriter*
752  const XalanDOMString& theFileName,
753  const XalanDOMString& theEncoding);
754 
755  virtual PrintWriter*
757 
758  virtual PrintWriter*
759  createPrintWriter(FILE* theStream);
760 
761  virtual CountersTable&
763 
764  virtual void
765  characters(const XalanNode& node);
766 
767  virtual void
768  characters(const XObjectPtr& xobject);
769 
770  virtual void
771  charactersRaw(const XalanNode& node);
772 
773  virtual void
774  charactersRaw(const XObjectPtr& xobject);
775 
776 
777  // These interfaces are inherited from XPathExecutionContext...
778 
779  virtual void
780  reset();
781 
782  virtual XalanNode*
783  getCurrentNode() const;
784 
785  virtual void
786  pushCurrentNode(XalanNode* theCurrentNode);
787 
788  virtual void
790 
791  virtual bool
793  const XalanNode& node1,
794  const XalanNode& node2) const;
795 
796  virtual void
798 
799  virtual void
801 
802  virtual const NodeRefListBase&
804 
805  virtual size_type
807 
808  virtual size_type
809  getContextNodeListPosition(const XalanNode& contextNode) const;
810 
811  virtual bool
812  elementAvailable(const XalanQName& theQName) const;
813 
814  virtual bool
816  const XalanDOMString& theName,
817  const Locator* locator) const;
818 
819  virtual bool
820  functionAvailable(const XalanQName& theQName) const;
821 
822  virtual bool
824  const XalanDOMString& theName,
825  const Locator* locator) const;
826 
827  virtual const XObjectPtr
829  const XalanDOMString& theNamespace,
830  const XalanDOMString& functionName,
831  XalanNode* context,
832  const XObjectArgVectorType& argVec,
833  const Locator* locator);
834 
835  virtual XalanDocument*
837  MemoryManager& theManager,
838  const XalanDOMString& urlString,
839  const XalanDOMString& base,
840  ErrorHandler* theErrorHandler = 0) const;
841 
842  virtual MutableNodeRefList*
844 
845  virtual bool
847 
848  virtual MutableNodeRefList*
849  createMutableNodeRefList(MemoryManager& theManager) const;
850 
851 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
852  virtual void
854 
855  virtual UseAttributeSetIndexes&
857 
858  virtual void
860 
861  virtual void
863 
864  virtual void
866 
867  virtual const ElemTemplateElement*
868  getInvoker() const;
869 
870  virtual MutableNodeRefList&
872 
873  virtual void
875 
876  virtual void
877  pushXObjectPtr(const XObjectPtr& xobjectPtr);
878 
879  virtual void
881 
882  virtual void
884 
885  virtual XalanNode*
887 
888  virtual void
890 
891  virtual XalanDOMString&
893 
894  virtual XalanDOMString&
896 
897  virtual XalanDOMString&
899 #endif
900 
901  virtual XalanDOMString&
903 
904  virtual bool
906 
907 
908  virtual void
910  XalanNode* context,
911  const XalanQName& qname,
912  const XalanDOMString& ref,
913  const Locator* locator,
914  MutableNodeRefList& nodelist);
915 
916  virtual void
918  XalanNode* context,
919  const XalanDOMString& name,
920  const XalanDOMString& ref,
921  const Locator* locator,
922  MutableNodeRefList& nodelist);
923 
924  virtual const XObjectPtr
926  const XalanQName& name,
927  const Locator* locator = 0);
928 
929  virtual const PrefixResolver*
931 
932  virtual void
933  setPrefixResolver(const PrefixResolver* thePrefixResolver);
934 
935  virtual const XalanDOMString*
936  getNamespaceForPrefix(const XalanDOMString& prefix) const;
937 
938  virtual const XalanDOMString&
939  findURIFromDoc(const XalanDocument* owner) const;
940 
941  virtual const XalanDOMString&
943  const XalanDOMString& theName,
944  const XalanDocument& theDocument) const;
945 
946  virtual bool
948 
949  virtual XalanDocument*
950  getSourceDocument(const XalanDOMString& theURI) const;
951 
952  virtual void
954  const XalanDOMString& theURI,
955  XalanDocument* theDocument);
956 
957  // These interfaces are inherited from ExecutionContext...
958  virtual void
960  eSource source,
961  eClassification classification,
962  const XalanDOMString& msg,
963  const Locator* locator,
964  const XalanNode* sourceNode);
965 
966  virtual void
968  eSource source,
969  eClassification classification,
970  const XalanDOMString& msg,
971  const XalanNode* sourceNode);
972 
974  {
975  public:
976 
978  m_xsltProcessor(xsltProcessor)
979  {
980  }
981 
982  void
984 
985  private:
986 
987  XSLTEngineImpl& m_xsltProcessor;
988  };
989 
990  /**
991  * Get a XalanSourceTreeDocument, primarily for creating result
992  * tree fragments.
993  */
995  getSourceTreeFactory(MemoryManager& theManager) const;
996 
997 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
998 protected:
999 
1000  virtual FormatterToText*
1001  borrowFormatterToText();
1002 
1003  virtual bool
1004  returnFormatterToText(FormatterToText* theFormatter);
1005 #endif
1006 
1007 private:
1008 
1010  getDecimalFormatSymbols(const XalanQName& qname);
1011 
1012 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1013  /**
1014  * Given a context, create the params for a template
1015  * call.
1016  *
1017  * @param xslCallTemplateElement "call-template" element
1018  * @param params The params
1019  */
1020  void
1021  getParams(
1022  const ElemTemplateElement& xslCallTemplateElement,
1023  ParamsVectorType& params);
1024 #endif
1025 
1026  /**
1027  * Determine if the XPath is one that we have cached.
1028  *
1029  * @param theXPath the XPath instance to check
1030  * @return true if the instance has been cached, false if not.
1031  */
1032  bool
1033  isCached(const XPath* theXPath);
1034 
1035  /**
1036  * Clear out the cache of XPath instances.
1037  */
1038  void
1039  clearXPathCache();
1040 
1041  /**
1042  * Add an XPath instance to the cache, clearing out an old entry
1043  * if the cache is full.
1044  *
1045  * @param pattern the key for looking up the XPath instance in the cache.
1046  * @param theXPath the XPath instance to cache
1047  */
1048  void
1049  addToXPathCache(
1050  const XalanDOMString& pattern,
1051  const XPath* theXPath);
1052 
1053 
1054  /**
1055  * Clean up anything that was created for use only during the transformation.
1056  */
1057  void
1058  cleanUpTransients();
1059 
1060  XPathExecutionContextDefault m_xpathExecutionContextDefault;
1061 
1062  XSLTEngineImpl* m_xsltProcessor;
1063 
1064  XalanNode* m_rootDocument;
1065 
1066  enum { eXPathCacheMax = 50,
1067  eDefaultParamsVectorSize = 10,
1068  eXResultTreeFragAllocatorBlockSize = 10,
1069  eDocumentAllocatorBlockSize = 10,
1070  eDocumentFragmentAllocatorBlockSize = 10,
1071  eDefaultAttributeAllocatorBlockSize = 10,
1072  eDefaultAttributeNSAllocatorBlockSize = 10,
1073  eDefaultCommentAllocatorBlockSize = 10,
1074  eDefaultElementAllocatorBlockSize = 10,
1075  eDefaultElementNSAllocatorBlockSize = 10,
1076  eDefaultPIAllocatorBlockSize = 10,
1077  eDefaultTextAllocatorBlockSize = 20,
1078  eDefaultTextIWSAllocatorBlockSize = 20 };
1079 
1080  ElementTemplateElementStackType m_elementRecursionStack;
1081 
1082  const StylesheetRoot* m_stylesheetRoot;
1083 
1084  FormatterListenerVectorType m_formatterListeners;
1085 
1086  PrintWriterVectorType m_printWriters;
1087 
1088  OutputStreamVectorType m_outputStreams;
1089 
1090  CollationCompareFunctor* m_collationCompareFunctor;
1091 
1092  FormatNumberFunctor * m_formatNumberFunctor;
1093 
1094  /**
1095  * Holds all information about variables during execution.
1096  */
1097  VariablesStack m_variablesStack;
1098 
1099  ParamsVectorType m_paramsVector;
1100 
1101  XPathCacheMapType m_matchPatternCache;
1102 
1103  KeyTablesTableType m_keyTables;
1104 
1105  CountersTable m_countersTable;
1106 
1107  /**
1108  * The factory that will be used to create result tree fragments based on our
1109  * internal source tree.
1110  */
1111  mutable XalanMemMgrAutoPtr<XalanSourceTreeDocument> m_sourceTreeResultTreeFactory;
1112 
1113  // Holds the current mode.
1114  const XalanQName* m_mode;
1115 
1116  CurrentTemplateStackType m_currentTemplateStack;
1117 
1118  int m_indentAmount;
1119 
1120  XResultTreeFragAllocator m_xresultTreeFragAllocator;
1121 
1122  XalanSourceTreeDocumentFragmentAllocator m_documentFragmentAllocator;
1123 
1124  XalanSourceTreeDocumentAllocator m_documentAllocator;
1125 
1126  typedef XalanVector<bool> BooleanStackType;
1127  typedef XalanVector<const XalanQName*> ModeStackType;
1128  typedef XalanVector<int> IntStackType;
1129 
1130  BooleanStackType m_copyTextNodesOnlyStack;
1131  ModeStackType m_modeStack;
1132  IntStackType m_currentIndexStack;
1133 
1134 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1135  typedef XalanMemoryManagerObjectCacheDefault<FormatterToText> FormatterToTextCacheType;
1136  typedef XalanMemoryManagerObjectCacheDefault<FormatterToSourceTree> FormatterToSourceTreeCacheType;
1137  typedef XalanMemoryManagerObjectCacheDefault<NodeSorter> NodeSorterCacheType;
1138 
1139  FormatterToTextCacheType m_formatterToTextCache;
1140 
1141  FormatterToSourceTreeCacheType m_formatterToSourceTreeCache;
1142 
1143  NodeSorterCacheType m_nodeSorterCache;
1144 #else
1145 
1146  class FormatterToTextDOMString : public FormatterToText
1147  {
1148  public:
1149 
1150  FormatterToTextDOMString(MemoryManager& theManager);
1151 
1152  virtual
1153  ~FormatterToTextDOMString();
1154 
1155  void
1156  setDOMString(XalanDOMString& theString)
1157  {
1158  m_printWriter.setString(theString);
1159  }
1160 
1161  private:
1162 
1163  // These are not defined...
1164  FormatterToTextDOMString(const FormatterToTextDOMString&);
1165 
1166  FormatterToTextDOMString&
1167  operator=(const FormatterToTextDOMString&);
1168 
1169  bool
1170  operator==(const FormatterToTextDOMString&) const;
1171 
1172 
1173  // Data members...
1174  DOMStringPrintWriter m_printWriter;
1175 
1176  static XalanDOMString s_dummyString;
1177  };
1178 
1179  typedef XalanVector<XObjectPtr> XObjectPtrStackType;
1180  typedef XalanVector<ParamsVectorType> ParamsVectorStackType;
1181  typedef XalanVector<UseAttributeSetIndexes> UseAttributeSetIndexesStackType;
1182  typedef XalanObjectStackCache<MutableNodeRefList,DefaultCacheCreateFunctorMemMgr<MutableNodeRefList> >
1183  MutableNodeRefListStackType;
1184 
1185  typedef XalanObjectStackCache<XalanDOMString,DefaultCacheCreateFunctorMemMgr<XalanDOMString> >
1186  StringStackType;
1187 
1188  typedef XalanObjectStackCache<FormatterToTextDOMString,DefaultCacheCreateFunctorMemMgr<FormatterToTextDOMString> >
1189  FormatterToTextStackType;
1190  typedef XalanObjectStackCache<FormatterToSourceTree,DefaultCacheCreateFunctorMemMgr<FormatterToSourceTree> >
1191  FormatterToSourceTreeStackType;
1192 
1193  /*
1194  * class to maintain the list of nodes to be transformed by an element
1195  */
1196  class NodesToTransform
1197  {
1198  public:
1199  NodesToTransform(const NodeRefListBase* nodeList) :
1200  m_nodeList(nodeList), m_index(0)
1201  {
1202  assert(m_nodeList != 0);
1203  }
1204 
1205  const NodeRefListBase* operator() ()
1206  {
1207  return m_nodeList;
1208  }
1209 
1211  {
1212  return m_index;
1213  }
1214 
1215  XalanNode* next()
1216  {
1217  if (m_index < m_nodeList->getLength())
1218  {
1219  return m_nodeList->item(m_index++);
1220  }
1221  return 0;
1222  }
1223 
1224  private:
1225  const NodeRefListBase* m_nodeList;
1227  };
1228 
1229  typedef XalanVector<NodesToTransform> NodesToTransformStackType;
1230 
1231  XObjectPtrStackType m_xobjectPtrStack;
1232  MutableNodeRefListStackType m_mutableNodeRefListStack;
1233  NodesToTransformStackType m_nodesToTransformStack;
1234  BooleanStackType m_processCurrentAttributeStack;
1235  BooleanStackType m_executeIfStack;
1236  StringStackType m_stringStack;
1237  FormatterToTextStackType m_formatterToTextStack;
1238  BooleanStackType m_skipElementAttributesStack;
1239  FormatterToSourceTreeStackType m_formatterToSourceTreeStack;
1240  ParamsVectorStackType m_paramsVectorStack;
1241  ElementTemplateElementStackType m_elementInvokerStack;
1242  UseAttributeSetIndexesStackType m_useAttributeSetIndexesStack;
1243 
1244  NodeSorter m_nodeSorter;
1245 #endif
1246 
1247  // If true, we will use a separate document factory for
1248  // result tree fragments.
1249  bool m_usePerInstanceDocumentFactory;
1250 
1251  // Determines whether or not to override the property in the stylesheet.
1252  eEscapeURLs m_escapeURLs;
1253 
1254  // Determines whether or not to override the property in the stylesheet.
1255  eOmitMETATag m_omitMETATag;
1256 
1257  static XalanNumberFormatFactory s_defaultXalanNumberFormatFactory;
1258 
1259  static XalanNumberFormatFactory* s_xalanNumberFormatFactory;
1260 
1261  static const DefaultCollationCompareFunctor s_defaultCollationFunctor;
1262 };
1263 
1264 
1265 
1266 }
1267 
1268 
1269 
1270 #endif // STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
xalanc::StylesheetExecutionContextDefault::isNodeAfter
virtual bool isNodeAfter(const XalanNode &node1, const XalanNode &node2) const
Determine if a node is after another node, in document order.
xalanc::StylesheetExecutionContextDefault::createPrintWriter
virtual PrintWriter * createPrintWriter(FILE *theStream)
Create a PrintWriter using the provided FILE instance.
FormatterToSourceTree.hpp
xalanc::StylesheetExecutionContextDefault::fireGenerateEvent
virtual void fireGenerateEvent(const GenerateEvent &ge)
Fire a generate event.
xalanc::StylesheetExecutionContextDefault::formatNumber
virtual void formatNumber(double number, const XalanDOMString &pattern, const XalanDOMString &dfsName, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)
Formats a number according to the specified pattern.
xalanc::StylesheetExecutionContextDefault::createFormatterToXML
virtual FormatterListener * createFormatterToXML(Writer &writer, const XalanDOMString &version=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), bool doIndent=false, int indent=eDefaultXMLIndentAmount, const XalanDOMString &encoding=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const XalanDOMString &mediaType=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const XalanDOMString &doctypeSystem=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const XalanDOMString &doctypePublic=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), bool xmlDecl=true, const XalanDOMString &standalone=XalanDOMString(XalanMemMgrs::getDummyMemMgr()))
Create a new FormatterToXML instance.
xalanc::StylesheetExecutionContextDefault::returnMutableNodeRefList
virtual bool returnMutableNodeRefList(MutableNodeRefList *theList)
Return a previously borrowed MutableNodeRefList instance.
xalanc::StylesheetExecutionContextDefault::pushElementFrame
virtual void pushElementFrame(const ElemTemplateElement *elem)
Push a frame marker for an element.
xalanc::StylesheetExecutionContextDefault::createPrintWriter
virtual PrintWriter * createPrintWriter(const XalanDOMString &theFileName, const XalanDOMString &theEncoding)
Create a PrintWriter.
xalanc::XResultTreeFrag
Definition: XResultTreeFrag.hpp:51
xalanc::StylesheetExecutionContextDefault::functionAvailable
virtual bool functionAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if a function is available.
xalanc::StylesheetExecutionContextDefault::FormatNumberFunctor::FormatNumberFunctor
FormatNumberFunctor()
Definition: StylesheetExecutionContextDefault.hpp:707
xalanc::StylesheetExecutionContextDefault::getRootDocument
virtual XalanNode * getRootDocument() const
Retrieve root document for stylesheet.
xalanc::StylesheetExecutionContextDefault::popContextMarker
virtual void popContextMarker()
Pop the current context from the current context stack.
xalanc::XalanMemoryManagerObjectCacheDefault
Definition: XalanObjectCache.hpp:437
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc::StylesheetExecutionContextDefault::XPathCacheEntry
std::pair< const XPath *, ClockType > XPathCacheEntry
Definition: StylesheetExecutionContextDefault.hpp:99
xalanc::StylesheetExecutionContextDefault::popSkipElementAttributes
virtual bool popSkipElementAttributes()
Pops the last flag setting that determines if an element's attributes should be skipped.
xalanc::VariablesStack
Defines a class to keep track of a stack for macro arguments.
Definition: VariablesStack.hpp:61
xalanc::StylesheetExecutionContextDefault::popCurrentTemplate
virtual void popCurrentTemplate()
xalanc::StylesheetExecutionContextDefault::XalanNumberFormatFactory::create
virtual XalanNumberFormat * create(MemoryManager &theManager)
xalanc::XResultTreeFragAllocator
Definition: XResultTreeFragAllocator.hpp:42
xalanc::NodeSorter
This class can sort vectors of nodes according to a select pattern.
Definition: NodeSorter.hpp:63
xalanc::XalanNumberFormat
Definition: XalanNumberFormat.hpp:37
xalanc::StylesheetExecutionContextDefault::setIndent
virtual void setIndent(int indentAmount)
Set the current number of spaces to indent.
xalanc::StylesheetExecutionContext::StreamType
std::ostream StreamType
Definition: StylesheetExecutionContext.hpp:114
xalanc::StylesheetExecutionContext
Definition: StylesheetExecutionContext.hpp:107
xalanc::StylesheetExecutionContextDefault::ParamsVectorType
ParamsVectorTypeDecl ParamsVectorType
Definition: StylesheetExecutionContextDefault.hpp:104
xalanc::StylesheetExecutionContextDefault::XPathCacheReturnFunctor
Definition: StylesheetExecutionContextDefault.hpp:974
xalanc::XalanNode
Definition: XalanNode.hpp:39
xalanc::XalanSourceTreeDocumentFragmentAllocator
Definition: XalanSourceTreeDocumentFragmentAllocator.hpp:42
xalanc::StylesheetExecutionContextDefault::installXalanNumberFormatFactory
static XalanNumberFormatFactory * installXalanNumberFormatFactory(XalanNumberFormatFactory *theFactory)
Static function to install a new XalanNumberFormatFactory.
xalanc::StylesheetExecutionContextDefault::characters
virtual void characters(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)
Receive notification of character data.
xalanc::StylesheetExecutionContextDefault::pushParam
virtual void pushParam(const XalanQName &qName, const XObjectPtr &theValue)
Push a single paramter onto the latest initialized paramter set.
xalanc::StylesheetExecutionContextDefault::createVariable
virtual const XObjectPtr createVariable(const XPath &xpath, XalanNode *contextNode, const PrefixResolver &resolver)
Execute the supplied XPath and and create a variable in the current context.
xalanc::StylesheetExecutionContextDefault::getContextNodeList
virtual const NodeRefListBase & getContextNodeList() const
Get the node list for current context.
xalanc::XalanNode::NodeType
NodeType
Definition: XalanNode.hpp:48
xalanc::StylesheetExecutionContextDefault::returnXResultTreeFrag
virtual bool returnXResultTreeFrag(XResultTreeFrag *theXResultTreeFrag)
This is a hook that XResultTreeFrag instances (which are reference counted), can notify the owning St...
xalanc::StylesheetExecutionContextDefault::pushCurrentStackFrameIndex
virtual void pushCurrentStackFrameIndex(int currentStackFrameIndex=-1)
Set the top of the stack frame from where a search for a variable or param should take place.
xalanc::StylesheetExecutionContextDefault::getContextNodeListPosition
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const
xalanc::XalanVector
Definition: XalanVector.hpp:59
xalanc::XalanText
Definition: XalanText.hpp:41
xalanc::StylesheetExecutionContextDefault::setStylesheetRoot
virtual void setStylesheetRoot(const StylesheetRoot *theStylesheet)
Set root stylesheet for stylesheet.
xalanc::StylesheetExecutionContextDefault::getCachedString
virtual XalanDOMString & getCachedString()
Get a cached string for temporary use.
xalanc::StylesheetExecutionContextDefault::uninstallFormatNumberFunctor
FormatNumberFunctor * uninstallFormatNumberFunctor()
xalanc::StylesheetExecutionContext::tl_size_type
XalanSize_t tl_size_type
Definition: StylesheetExecutionContext.hpp:110
xalanc::StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::operator()
virtual int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
XalanSourceTreeDocument.hpp
XALAN_USES_MEMORY_MANAGER
#define XALAN_USES_MEMORY_MANAGER(Type)
Definition: XalanMemoryManagement.hpp:589
xalanc::XalanDecimalFormatSymbols
Definition: XalanDecimalFormatSymbols.hpp:41
xalanc::FormatterToText
This class takes SAX events (in addition to some extra events that SAX doesn't handle yet) and produc...
Definition: FormatterToText.hpp:50
xalanc::XPath
Definition: XPath.hpp:68
xalanc::StylesheetExecutionContextDefault::XalanNumberFormatFactory::XalanNumberFormatFactory
XalanNumberFormatFactory()
xalanc::StylesheetExecutionContextDefault::problem
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
xalanc::StylesheetExecutionContextDefault::getResultNamespaceForPrefix
virtual const XalanDOMString * getResultNamespaceForPrefix(const XalanDOMString &thePrefix) const
Retrieve the result namespace corresponding to a prefix.
xalanc::MutableNodeRefList
Local implementation of MutableNodeRefList.
Definition: MutableNodeRefList.hpp:47
xalanc::StylesheetExecutionContextDefault::popInvoker
virtual void popInvoker()
Pop the element that invoked non children elements.
xalanc::StylesheetExecutionContextDefault::setFormatterListener
virtual void setFormatterListener(FormatterListener *flistener)
Set the current formatter listener.
xalanc::StylesheetExecutionContextDefault::endFormatToText
virtual void endFormatToText()
Indicates the completion of the result string.
xalanc::StylesheetExecutionContextDefault::getNodeSetByKey
virtual void getNodeSetByKey(XalanNode *context, const XalanDOMString &name, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)
Given a valid element key, return the corresponding node list.
XALAN_XSLT_EXPORT
#define XALAN_XSLT_EXPORT
Definition: XSLTDefinitions.hpp:27
xalanc::StylesheetExecutionContextDefault::CurrentTemplateStackType
XalanVector< const ElemTemplate * > CurrentTemplateStackType
Definition: StylesheetExecutionContextDefault.hpp:101
xalanc::StylesheetExecutionContextDefault::createMutableNodeRefList
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const
Create a MutableNodeRefList with the appropriate context.
xalanc::StylesheetExecutionContext::fl_size_type
FormatterListener::size_type fl_size_type
Definition: StylesheetExecutionContext.hpp:112
xalanc::StylesheetExecutionContextDefault::charactersRaw
virtual void charactersRaw(const XalanNode &node)
Send raw character data from a node to the result tree.
XalanSourceTreeDocumentAllocator.hpp
xalanc::StylesheetExecutionContextDefault::getParamVariable
virtual const XObjectPtr getParamVariable(const XalanQName &theName)
Given a name, return a string representing the value, but don't look in the global space.
xalanc::XalanDocument
Definition: XalanDocument.hpp:37
xalanc::size_type
size_t size_type
Definition: XalanMap.hpp:46
xalanc::StylesheetExecutionContextDefault::pushXObjectPtr
virtual void pushXObjectPtr(const XObjectPtr &xobjectPtr)
xalanc::StylesheetExecutionContextDefault::formatNumber
virtual void formatNumber(double number, const XalanDOMString &pattern, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)
Formats a number according to the specified pattern.
xalanc::ElemTemplateElement
Definition: ElemTemplateElement.hpp:80
xalanc::StylesheetExecutionContextDefault::popElementFrame
virtual void popElementFrame()
Pop a frame marker for an element.
xalanc::StylesheetExecutionContextDefault::XPathCacheReturnFunctor::XPathCacheReturnFunctor
XPathCacheReturnFunctor(XSLTEngineImpl &xsltProcessor)
Definition: StylesheetExecutionContextDefault.hpp:977
xalanc::XalanSourceTreeDocumentAllocator
Definition: XalanSourceTreeDocumentAllocator.hpp:42
xalanc::StylesheetExecutionContextDefault::pushProcessCurrentAttribute
virtual void pushProcessCurrentAttribute(bool processAttribute)
Set the flag that determines if the current attribute should be executed.
xalanc::StylesheetExecutionContextDefault::XalanNumberFormatFactory::~XalanNumberFormatFactory
virtual ~XalanNumberFormatFactory()
xalanc::StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::DefaultCollationCompareFunctor
DefaultCollationCompareFunctor()
XalanObjectStackCache.hpp
xalanc::StylesheetExecutionContextDefault::pushVariable
virtual void pushVariable(const XalanQName &name, const ElemVariable *var, const ElemTemplateElement *element)
Push a named variable onto the processor variable stack The variable will be evaluated when first ref...
xalanc::StylesheetExecutionContextDefault::getOmitMETATag
virtual eOmitMETATag getOmitMETATag() const
Get the value for run-time omission of URLs.
xalanc::StylesheetExecutionContextDefault::getAndPopCachedString
virtual XalanDOMString & getAndPopCachedString()
Gets the last string to be cached on the stack and pops it from the stack.
XalanVector.hpp
xalanc::StylesheetExecutionContextDefault::getCopyTextNodesOnly
virtual bool getCopyTextNodesOnly() const
If this function returns true, only text nodes can be copied to the result tree.
xalanc::StylesheetExecutionContextDefault::pushVariable
virtual void pushVariable(const XalanQName &name, const ElemTemplateElement *element, const XalanDOMString &str, XalanNode *contextNode, const PrefixResolver &resolver)
Execute an XPath using the provided expression, and push the result as a variable in the context of t...
xalanc::StylesheetExecutionContextDefault::pushOnElementRecursionStack
virtual void pushOnElementRecursionStack(const ElemTemplateElement *theElement)
Push an element onto the recursion stack.
XalanSourceTreeDocumentFragment.hpp
xalanc::StylesheetExecutionContextDefault::setXObjectFactory
void setXObjectFactory(XObjectFactory *theXObjectFactory)
Set the XObjectFactory instance.
Definition: StylesheetExecutionContextDefault.hpp:182
xalanc::StylesheetExecutionContextDefault::pushInvoker
virtual void pushInvoker(const ElemTemplateElement *invoker)
Push the element that will invoke non children elements (i.e templates, attribute-sets)
xalanc::operator==
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1118
xalanc::StylesheetExecutionContextDefault::shouldStripSourceNode
virtual bool shouldStripSourceNode(const XalanText &node)
Determine if a text node should be stripped from the source tree, as if it weren't there.
xalanc::StylesheetExecutionContextDefault::pushCurrentTemplate
virtual void pushCurrentTemplate(const ElemTemplate *theTemplate)
Set the current template.
xalanc::StylesheetExecutionContextDefault::XPathCacheReturnFunctor::operator()
void operator()(const XPathCacheMapType::value_type &theCacheEntry)
xalanc::StylesheetExecutionContextDefault::createAndPushNodesToTransformList
virtual void createAndPushNodesToTransformList(const NodeRefListBase *nodeList)
xalanc::StylesheetExecutionContextDefault::pushSkipElementAttributes
virtual void pushSkipElementAttributes(bool skipAttributes)
Set the flag that determines if an element's attributes should be skipped.
xalanc::StylesheetExecutionContextDefault::getCurrentNode
virtual XalanNode * getCurrentNode() const
Retrieve the node currently being executed.
xalanc::StylesheetExecutionContextDefault::reset
virtual void reset()
Reset the instance.
xalanc::StylesheetExecutionContextDefault::cloneToResultTree
virtual void cloneToResultTree(const XalanNode &node, const Locator *locator)
Clone a node to the result tree.
xalanc::StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::~DefaultCollationCompareFunctor
virtual ~DefaultCollationCompareFunctor()
NodeSorter.hpp
xalanc::StylesheetExecutionContextDefault::getLastCachedString
virtual XalanDOMString & getLastCachedString()
Gets the last string that was cached on the stack.
xalanc::StylesheetExecutionContextDefault::getCountersTable
virtual CountersTable & getCountersTable()
Get the counters table, which is a table of cached results that is used by ElemNumber.
xalanc::StylesheetExecutionContextDefault::getUseAttributeSetIndexes
virtual UseAttributeSetIndexes & getUseAttributeSetIndexes()
xalanc::StylesheetExecutionContextDefault::CollationCompareFunctor
XalanCollationServices::CollationCompareFunctor CollationCompareFunctor
Definition: StylesheetExecutionContextDefault.hpp:670
xalanc::StylesheetExecutionContextDefault::flushPending
virtual void flushPending()
Flush the pending element.
xalanc::StylesheetExecutionContextDefault::resolveTopLevelParams
virtual void resolveTopLevelParams()
Resolve the params that were pushed by the caller.
xalanc::XObjectPtr
Class to hold XObjectPtr return types.
Definition: XObject.hpp:884
xalanc::XalanOutputStream
Definition: XalanOutputStream.hpp:50
xalanc::StylesheetExecutionContextDefault::characters
virtual void characters(const XalanNode &node)
Send character data from a node to the result tree.
xalanc::StylesheetExecutionContextDefault::createFormatterToText
virtual FormatterListener * createFormatterToText(Writer &writer, const XalanDOMString &encoding)
FormatterToText instance constructor.
xalanc::StylesheetExecutionContextDefault::collationCompare
virtual int collationCompare(const XalanDOMString &theLHS, const XalanDOMString &theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)
Compare two strings using the collation of the current locale.
xalanc::StylesheetExecutionContextDefault::FormatNumberFunctor::~FormatNumberFunctor
virtual ~FormatNumberFunctor()
Definition: StylesheetExecutionContextDefault.hpp:710
xalanc::StylesheetExecutionContextDefault::popCurrentMode
virtual void popCurrentMode()
Pop the current mode.
xalanc::XSLTEngineImpl
It's the responsibility of the XSLTEngineImpl class, collaborating with the XML parser liaison,...
Definition: XSLTEngineImpl.hpp:132
xalanc::StylesheetExecutionContextDefault::getCurrentStackFrameIndex
virtual int getCurrentStackFrameIndex() const
Get the top of the stack frame from where a search for a variable or param should take place.
xalanc::StylesheetExecutionContextDefault::addResultAttribute
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMString &value)
Add a result attribute to the list of pending attributes.
xalanc::StylesheetExecutionContextDefault::create
static StylesheetExecutionContextDefault * create(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
xalanc::StylesheetExecutionContextDefault::createFormatterToHTML
virtual FormatterListener * createFormatterToHTML(Writer &writer, const XalanDOMString &encoding=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const XalanDOMString &mediaType=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const XalanDOMString &doctypeSystem=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const XalanDOMString &doctypePublic=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), bool doIndent=true, int indent=eDefaultHTMLIndentAmount, bool escapeURLs=true, bool omitMetaTag=false)
Create a new FormatterToHTML instance.
DOMStringHelper.hpp
xalanc::StylesheetExecutionContextDefault::getInvoker
virtual const ElemTemplateElement * getInvoker() const
Get the lastest element that has invoked a non-child element.
xalanc::StylesheetExecutionContextDefault::charactersRaw
virtual void charactersRaw(const XObjectPtr &xobject)
Send raw character data from an XObject to the result tree.
xalanc::StylesheetExecutionContextDefault::fireSelectEvent
virtual void fireSelectEvent(const SelectionEvent &se)
Fire a selection event.
CountersTable.hpp
xalanc::StylesheetExecutionContextDefault::popExecuteIf
virtual bool popExecuteIf()
Pop the flag that determines if the if test was true.
xalanc::StylesheetExecutionContextDefault::getSourceTreeFactory
XalanSourceTreeDocument * getSourceTreeFactory(MemoryManager &theManager) const
Get a XalanSourceTreeDocument, primarily for creating result tree fragments.
xalanc::SelectionEvent
Definition: SelectionEvent.hpp:48
xalanc::StylesheetExecutionContextDefault::ElementTemplateElementStackType
XalanVector< const ElemTemplateElement * > ElementTemplateElementStackType
Definition: StylesheetExecutionContextDefault.hpp:98
xalanc::StylesheetExecutionContextDefault::getResultPrefixForNamespace
virtual const XalanDOMString * getResultPrefixForNamespace(const XalanDOMString &theNamespace) const
Retrieve the result prefix corresponding to a namespace.
xalanc::XalanCollationServices::eCaseOrder
eCaseOrder
Definition: XalanCollationServices.hpp:40
xalanc::StylesheetExecutionContextDefault::popUseAttributeSetIndexesFromStack
virtual void popUseAttributeSetIndexesFromStack()
xalanc::StylesheetExecutionContextDefault::problem
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
xalanc::StylesheetExecutionContextDefault::elementAvailable
virtual bool elementAvailable(const XalanQName &theQName) const
Determine if an external element is available.
xalanc::StylesheetExecutionContextDefault::getEscapeURLs
virtual eEscapeURLs getEscapeURLs() const
Get the value for run-time escaping of URLs.
xalanc::StylesheetExecutionContextDefault::getQuietConflictWarnings
virtual bool getQuietConflictWarnings() const
Determine whether conflicts should be reported.
xalanc::StylesheetExecutionContextDefault::popCopyTextNodesOnly
virtual bool popCopyTextNodesOnly()
Pop the last flag setting that determines if only text nodes can be copied to the result tree.
xalanc::StylesheetExecutionContextDefault::getTraceListeners
virtual tl_size_type getTraceListeners() const
Determine the number of trace listeners.
xalanc::StylesheetExecutionContextDefault::StylesheetExecutionContextDefault
StylesheetExecutionContextDefault(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct a StylesheetExecutionContextDefault object.
xalanc::StylesheetExecutionContextDefault::popNodesToTransformList
virtual void popNodesToTransformList()
xalanc::StylesheetExecutionContextDefault::getNamespaceForPrefix
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve the URI corresponding to a namespace prefix.
xalanc::StylesheetExecutionContextDefault::getAndPushCachedString
virtual XalanDOMString & getAndPushCachedString()
Get a string that is cached on a stack.
xalanc::StylesheetExecutionContextDefault::pushVariable
virtual void pushVariable(const XalanQName &name, const ElemTemplateElement *element, const XPath &xpath, XalanNode *contextNode, const PrefixResolver &resolver)
Execute the supplied XPath and push the result as a variable in the current context.
XalanSourceTreeDocumentFragmentAllocator.hpp
xalanc::StylesheetExecutionContextDefault::startElement
virtual void startElement(const XalanDOMChar *name)
Receive notification of the beginning of an element.
xalanc::ProblemListenerBase::eSource
eSource
Definition: ProblemListenerBase.hpp:62
xalanc::StylesheetExecutionContextDefault::installCollationCompareFunctor
const CollationCompareFunctor * installCollationCompareFunctor(CollationCompareFunctor *theFunctor)
xalanc::StylesheetExecutionContextDefault::findURIFromDoc
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const
Given a DOM Document, tell what URI was used to parse it.
xalanc::StylesheetExecutionContextDefault::OutputStreamVectorType
XalanVector< XalanOutputStream * > OutputStreamVectorType
Definition: StylesheetExecutionContextDefault.hpp:96
xalanc::StylesheetExecutionContextDefault::getXalanXSLNameSpaceURL
virtual const XalanDOMString & getXalanXSLNameSpaceURL() const
Special Xalan namespace for built-in extensions.
xalanc::StylesheetExecutionContextDefault::createPrintWriter
virtual PrintWriter * createPrintWriter(XalanOutputStream *theTextOutputStream)
Create a PrintWriter for the provided stream.
xalanc::StylesheetExecutionContextDefault::createPrintWriter
virtual PrintWriter * createPrintWriter(StreamType &theStream)
Create a PrintWriter using the provided ostream instance.
xalanc::StylesheetExecutionContextDefault::beginFormatToText
virtual void beginFormatToText(XalanDOMString &theResult)
Initiate to put execution result in string.
xalanc::StylesheetExecutionContextDefault::getNextNodeToTransform
virtual XalanNode * getNextNodeToTransform()
xalanc::StylesheetExecutionContextDefault::PrintWriterVectorType
XalanVector< PrintWriter * > PrintWriterVectorType
Definition: StylesheetExecutionContextDefault.hpp:95
xalanc::StylesheetExecutionContextDefault::cloneToResultTree
virtual void cloneToResultTree(const XalanNode &node, XalanNode::NodeType nodeType, bool overrideStrip, bool shouldCloneAttributes, const Locator *locator)
Clone a node to the result tree.
xalanc::StylesheetExecutionContextDefault::XalanNumberFormatFactory
Definition: StylesheetExecutionContextDefault.hpp:593
xalanc::StylesheetExecutionContextDefault::pushCurrentMode
virtual void pushCurrentMode(const XalanQName *theMode)
Set the current mode.
xalanc::StylesheetExecutionContextDefault::getTraceSelects
virtual bool getTraceSelects() const
If this is set to true, simple traces of template calls are made.
xalanc::StylesheetExecutionContextDefault::processingInstruction
virtual void processingInstruction(const XalanDOMChar *target, const XalanDOMChar *data)
Receive notification of a processing instruction.
xalanc::StylesheetExecutionContextDefault::comment
virtual void comment(const XalanDOMChar *data)
Called when a Comment is to be constructed.
xalanc::StylesheetExecutionContextDefault::addResultAttribute
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMChar *value)
Add a result attribute to the list of pending attributes.
xalanc::StylesheetExecutionContextDefault::getPrefixResolver
virtual const PrefixResolver * getPrefixResolver() const
Retrieve the resolver for namespaces.
xalanc::StylesheetExecutionContextDefault::setDOMSupport
void setDOMSupport(DOMSupport *theDOMSupport)
Set the DOMSupport instance.
Definition: StylesheetExecutionContextDefault.hpp:171
xalanc::StylesheetExecutionContextDefault::releaseAndPopMutableNodeRefList
virtual void releaseAndPopMutableNodeRefList()
xalanc::StylesheetExecutionContextDefault::beginCreateXResultTreeFrag
virtual void beginCreateXResultTreeFrag(XalanNode *sourceNode)
Initiate creation of a result tree fragment.
xalanc::StylesheetExecutionContextDefault::releaseCachedString
virtual bool releaseCachedString(XalanDOMString &theString)
Return a cached string.
xalanc::StylesheetExecutionContextDefault::DefaultCollationCompareFunctor
Definition: StylesheetExecutionContextDefault.hpp:673
xalanc::StylesheetExecutionContextDefault::getUnparsedEntityURI
virtual const XalanDOMString & getUnparsedEntityURI(const XalanDOMString &theName, const XalanDocument &theDocument) const
The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in t...
xalanc::XObject
Class to hold XPath return types.
Definition: XObject.hpp:64
xalanc::length
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
Definition: DOMStringHelper.hpp:235
xalanc::StylesheetExecutionContextDefault::startDocument
virtual void startDocument()
Receive notification of the beginning of a document.
xalanc::StylesheetExecutionContextDefault::setOmitMETATag
void setOmitMETATag(eOmitMETATag value)
VariablesStack.hpp
xalanc::StylesheetExecutionContextDefault::popProcessCurrentAttribute
virtual bool popProcessCurrentAttribute()
Pops the last flag setting that determines if the current attribute should be executed.
xalanc::XPathExecutionContextDefault
A basic implementation of the class XPathExecutionContext.
Definition: XPathExecutionContextDefault.hpp:65
xalanc::StylesheetExecutionContextDefault::collationCompare
virtual int collationCompare(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, const XalanDOMChar *theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)
Compare two strings using the collation of the current locale.
xalanc::StylesheetExecutionContextDefault::collationCompare
virtual int collationCompare(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)
Compare two strings using the collation of the current locale.
xalanc::StylesheetExecutionContextDefault::pushExecuteIf
virtual void pushExecuteIf(bool executeIf)
Set flag that determines if the if test was true.
xalanc::StylesheetExecutionContextDefault::pushTopLevelVariables
virtual void pushTopLevelVariables(const ParamVectorType &topLevelParams)
Set a list of top level variables in the specified execution context stylesheet.
xalanc::StylesheetExecutionContextDefault::getUniqueNamespaceValue
virtual void getUniqueNamespaceValue(XalanDOMString &theValue) const
Generate a random namespace prefix guaranteed to be unique.
xalanc::StylesheetExecutionContextDefault::createXalanNumberFormat
virtual XalanNumberFormatAutoPtr createXalanNumberFormat()
Create a new XalanNumberFormat instance.
xalanc::StylesheetExecutionContextDefault::getContextNodeListLength
virtual size_type getContextNodeListLength() const
XalanObjectCache.hpp
xalanc::StylesheetExecutionContextDefault::popCurrentNode
virtual void popCurrentNode()
Reset the node currently being executed.
xalanc::PrefixResolver
This class defines an interface for classes that resolve namespace prefixes to their URIs.
Definition: PrefixResolver.hpp:40
xalanc::StylesheetExecutionContextDefault::getGlobalStackFrameIndex
virtual int getGlobalStackFrameIndex() const
Get the top of the global stack frame.
xalanc::StylesheetExecutionContextDefault::setEscapeURLs
virtual void setEscapeURLs(eEscapeURLs value)
xalanc::ElemVariable
Definition: ElemVariable.hpp:48
xalanc::StylesheetExecutionContextDefault::getNodeSorter
virtual NodeSorter * getNodeSorter()
Get node sorter instance.
xalanc::StylesheetExecutionContextDefault::getVariable
virtual const XObjectPtr getVariable(const XalanQName &name, const Locator *locator=0)
Given a name, locate a variable in the current context, and return a pointer to the object.
xalanc::PrintWriter
Definition: PrintWriter.hpp:38
xalanc::StylesheetExecutionContextDefault::ClockType
std::clock_t ClockType
Definition: StylesheetExecutionContextDefault.hpp:92
xalanc::DOMSupport
Definition: DOMSupport.hpp:42
xalanc::StylesheetExecutionContextDefault::KeyTablesTableType
Stylesheet::KeyTablesTableType KeyTablesTableType
Definition: StylesheetExecutionContextDefault.hpp:103
xalanc::ProblemListenerBase::eClassification
eClassification
Definition: ProblemListenerBase.hpp:75
xalanc::StylesheetExecutionContextDefault::FormatNumberFunctor
Definition: StylesheetExecutionContextDefault.hpp:704
xalanc::StylesheetExecutionContextDefault::pushCopyTextNodesOnly
virtual void pushCopyTextNodesOnly(bool copyTextNodesOnly)
Set the flag that determines if only text nodes can be copied to the result tree.
xalanc::StylesheetExecutionContextDefault::collationCompare
virtual int collationCompare(const XalanDOMString &theLHS, const XalanDOMString &theRHS, const XalanDOMString &theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)
Compare two strings using the collation of the supplied locale.
xalanc::StylesheetExecutionContextDefault::parseXML
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const
Provides support for XML parsing service.
xalanc::StylesheetExecutionContextDefault::popCurrentStackFrameIndex
virtual void popCurrentStackFrameIndex()
Pop the last stack frame index setting.
xalanc::StylesheetExecutionContextDefault::createUseAttributeSetIndexesOnStack
virtual void createUseAttributeSetIndexesOnStack()
xalanc::XalanMap< XalanDOMString, XPathCacheEntry >
xalanc::StylesheetExecutionContextDefault::endCreateXResultTreeFrag
virtual const XObjectPtr endCreateXResultTreeFrag()
Indicate sthe completion of result tree fragment.
xalanc::StylesheetExecutionContextDefault::getDefaultXalanNumberFormatFactory
static XalanNumberFormatFactory & getDefaultXalanNumberFormatFactory()
Definition: StylesheetExecutionContextDefault.hpp:607
xalanc::StylesheetExecutionContextDefault::setRootDocument
virtual void setRootDocument(XalanNode *theDocument)
Set root document for stylesheet.
xalanc::StylesheetExecutionContextDefault::isElementPending
virtual bool isElementPending() const
See if there is an element pending.
xalanc::StylesheetExecutionContextDefault::getCurrentMode
virtual const XalanQName * getCurrentMode() const
Retrieve the current mode.
xalanc::StylesheetExecutionContextDefault::getCurrentTemplate
virtual const ElemTemplate * getCurrentTemplate() const
Retrieve the current template.
xalanc::StylesheetExecutionContext::UseAttributeSetIndexes
Definition: StylesheetExecutionContext.hpp:1538
xalanc::StylesheetExecutionContextDefault::functionAvailable
virtual bool functionAvailable(const XalanQName &theQName) const
Determine if a function is available.
xalanc::StylesheetExecutionContextDefault::uninstallCollationCompareFunctor
CollationCompareFunctor * uninstallCollationCompareFunctor()
xalanc::TracerEvent
This is the parent class of events generated for tracing the progress of the XSL processor.
Definition: TracerEvent.hpp:50
XalanMap.hpp
FormatterToText.hpp
xalanc::StylesheetExecutionContextDefault::getSourceDocument
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const
Get the document associated with the given URI.
xalanc::StylesheetExecutionContextDefault::setXSLTProcessor
void setXSLTProcessor(XSLTEngineImpl *theProcessor)
Set the DOMSupport instance.
Definition: StylesheetExecutionContextDefault.hpp:196
xalanc::ElemTemplate
Definition: ElemTemplate.hpp:44
xalanc::StylesheetRoot
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
Definition: StylesheetRoot.hpp:64
xalanc::StylesheetExecutionContextDefault::createAndPushMutableNodeRefList
virtual MutableNodeRefList & createAndPushMutableNodeRefList()
xalanc::XalanMemMgrAutoPtr
Definition: XalanMemMgrAutoPtr.hpp:47
xalanc::StylesheetExecutionContextDefault::getSkipElementAttributes
virtual bool getSkipElementAttributes() const
Get the last flag setting that determines if an element's attributes should be skipped.
xalanc::StylesheetExecutionContextDefault::fireTraceEvent
virtual void fireTraceEvent(const TracerEvent &te)
Fire a trace event.
xalanc::StylesheetExecutionContextDefault::endDocument
virtual void endDocument()
Receive notification of the end of a document.
xalanc::XPathEnvSupport
Definition: XPathEnvSupport.hpp:61
xalanc::StylesheetExecutionContextDefault::pushCurrentNode
virtual void pushCurrentNode(XalanNode *theCurrentNode)
Change the node currently being executed.
xalanc::StylesheetExecutionContextDefault::XPathCacheMapType
XalanMap< XalanDOMString, XPathCacheEntry > XPathCacheMapType
Definition: StylesheetExecutionContextDefault.hpp:100
xalanc::StylesheetExecutionContextDefault::setXPathEnvSupport
void setXPathEnvSupport(XPathEnvSupport *theSupport)
Set the XPathEnvSupport instance.
Definition: StylesheetExecutionContextDefault.hpp:160
xalanc::StylesheetExecutionContextDefault::getIndent
virtual int getIndent() const
Retrieve the current number of spaces to indent.
xalanc::StylesheetExecutionContextDefault::popXObjectPtr
virtual void popXObjectPtr()
xalanc::FormatterListener
A SAX-based formatter interface for the XSL processor.
Definition: FormatterListener.hpp:57
xalanc::XPathExecutionContext
Definition: XPathExecutionContext.hpp:83
xalanc::NodeRefListBase
Local implementation of NodeRefList.
Definition: NodeRefListBase.hpp:45
xalanc::CountersTable
<meta name="usage" content="internal"> This is a table of counters, keyed by ElemNumber objects,...
Definition: CountersTable.hpp:158
xalanc::StylesheetExecutionContextDefault::endElement
virtual void endElement(const XalanDOMChar *name)
Receive notification of the end of an element.
xalanc::XalanQName
Class to represent a qualified name.
Definition: XalanQName.hpp:71
xalanc::GenerateEvent
This is the class for events generated by the XSL processor after it generates a new node in the resu...
Definition: GenerateEvent.hpp:56
xalanc::StylesheetExecutionContextDefault::createMatchPattern
virtual const XPath * createMatchPattern(const XalanDOMString &str, const PrefixResolver &resolver)
Create and initialize an xpath and return it.
xalanc::StylesheetExecutionContextDefault::StylesheetExecutionContextDefault
StylesheetExecutionContextDefault(MemoryManager &theManager, XSLTEngineImpl &xsltProcessor, XPathEnvSupport &theXPathEnvSupport, DOMSupport &theDOMSupport, XObjectFactory &theXObjectFactory, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct a StylesheetExecutionContextDefault object.
xalanc::StylesheetExecutionContextDefault::pushOutputContext
virtual void pushOutputContext(FormatterListener *flistener=0)
xalanc::StylesheetExecutionContextDefault::findOnElementRecursionStack
virtual bool findOnElementRecursionStack(const ElemTemplateElement *theElement) const
Determine if an element is on the recursion stack.
xalanc::StylesheetExecutionContextDefault::elementAvailable
virtual bool elementAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if an external element is available by resolving a string to a QName.
xalanc::StylesheetExecutionContextDefault::returnXPath
virtual void returnXPath(const XPath *xpath)
Return the XPath created by createMatchPattern().
xalanc::StylesheetExecutionContextDefault::popOutputContext
virtual void popOutputContext()
xalanc::StylesheetExecutionContextDefault::isPendingResultPrefix
virtual bool isPendingResultPrefix(const XalanDOMString &thePrefix)
Determine whether or not a prefix is in use on the pending element or the pending attributes.
xalanc::StylesheetExecutionContextDefault::popContextNodeList
virtual void popContextNodeList()
Pop the node list for current context.
xalanc::StylesheetExecutionContextDefault::~StylesheetExecutionContextDefault
virtual ~StylesheetExecutionContextDefault()
xalanc::XalanDOMString
Definition: XalanDOMString.hpp:46
xalanc::StylesheetExecutionContextDefault::setUsePerInstanceDocumentFactory
void setUsePerInstanceDocumentFactory(bool fValue)
Definition: StylesheetExecutionContextDefault.hpp:208
xalanc::XalanCollationServices::CollationCompareFunctor
Definition: XalanCollationServices.hpp:43
xalanc::StylesheetExecutionContextDefault::getNodeSetByKey
virtual void getNodeSetByKey(XalanNode *context, const XalanQName &qname, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)
Given a valid element key, return the corresponding node list.
xalanc::StylesheetExecutionContextDefault::getFormatterListener
virtual FormatterListener * getFormatterListener() const
Get the current formatter listener.
xalanc::StylesheetExecutionContextDefault::pushContextNodeList
virtual void pushContextNodeList(const NodeRefListBase &theList)
Push the node list for current context.
xalanc::StylesheetExecutionContextDefault::getXSLNameSpaceURL
virtual const XalanDOMString & getXSLNameSpaceURL() const
Determine the full XSLT Namespace URI.
xalanc::StylesheetExecutionContextDefault::getUsePerInstanceDocumentFactory
bool getUsePerInstanceDocumentFactory() const
Definition: StylesheetExecutionContextDefault.hpp:202
xalanc::StylesheetExecutionContextDefault::outputToResultTree
virtual void outputToResultTree(const XObject &xobj, const Locator *locator)
Output an object to the result tree by doing the right conversions.
xalanc::StylesheetExecutionContextDefault::extFunction
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)
Handle an extension function.
xalanc::StylesheetExecutionContextDefault::characters
virtual void characters(const XObjectPtr &xobject)
Send character data from an XObject to the result tree.
xalanc::StylesheetExecutionContextDefault::copyNamespaceAttributes
virtual void copyNamespaceAttributes(const XalanNode &src)
Add namespace attributes for a node to the list of pending attributes.
XPathExecutionContextDefault.hpp
xalanc::XalanSourceTreeDocument
Definition: XalanSourceTreeDocument.hpp:79
StylesheetExecutionContext.hpp
xalanc::StylesheetExecutionContextDefault::installFormatNumberFunctor
const FormatNumberFunctor * installFormatNumberFunctor(FormatNumberFunctor *formatNumberFunctor)
xalanc::StylesheetExecutionContextDefault::endParams
virtual void endParams()
Indicate parameter set is complete.
xalanc::XalanMap< XalanDOMString, XPathCacheEntry >::value_type
std::pair< const key_type, data_type > value_type
Definition: XalanMap.hpp:201
xalanc::XObjectFactory
This class handles the creation of XObjects and manages their lifetime.
Definition: XObjectFactory.hpp:54
xalanc::StylesheetExecutionContextDefault::pushContextMarker
virtual void pushContextMarker()
Push a context marker onto the stack to let us know when to stop searching for a var.
XResultTreeFragAllocator.hpp
xalanc::StylesheetExecutionContextDefault::pushVariable
virtual void pushVariable(const XalanQName &name, const XObjectPtr val, const ElemTemplateElement *element)
Push a named variable onto the variables stack.
xalanc::StylesheetExecutionContextDefault::clearTopLevelParams
virtual void clearTopLevelParams()
Reset the vector of top level parameters.
xalanc::StylesheetExecutionContextDefault::FormatterListenerVectorType
XalanVector< FormatterListener * > FormatterListenerVectorType
Definition: StylesheetExecutionContextDefault.hpp:94
xalanc::StylesheetExecutionContextDefault::borrowMutableNodeRefList
virtual MutableNodeRefList * borrowMutableNodeRefList()
Borrow a cached MutableNodeRefList instance.
xalanc::StylesheetExecutionContextDefault::popElementRecursionStack
virtual const ElemTemplateElement * popElementRecursionStack()
Pop an element off the recursion stack.
xalanc::StylesheetExecutionContextDefault::beginParams
virtual void beginParams()
Initiate context to accept a new set of parameters.
xalanc::StylesheetExecutionContextDefault::outputResultTreeFragment
virtual void outputResultTreeFragment(const XObject &theTree, const Locator *locator)
Given a result tree fragment, walk the tree and output it to the result stream.
Stylesheet.hpp
xalanc::StylesheetExecutionContextDefault::setSourceDocument
virtual void setSourceDocument(const XalanDOMString &theURI, XalanDocument *theDocument)
Associate a document with a given URI.
xalanc::StylesheetExecutionContextDefault::charactersRaw
virtual void charactersRaw(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)
Receive notification of character data.
DOMStringPrintWriter.hpp
XalanSet.hpp
xalanc::StylesheetExecutionContextDefault
Definition: StylesheetExecutionContextDefault.hpp:89
xalanc::StylesheetExecutionContextDefault::traceSelect
virtual void traceSelect(const ElemTemplateElement &theStylesheetElement, const NodeRefListBase &nl, const XPath *xpath)
Compose a diagnostic trace of the current selection.
xalanc::StylesheetExecutionContextDefault::replacePendingAttribute
virtual void replacePendingAttribute(const XalanDOMChar *theName, const XalanDOMChar *theNewType, const XalanDOMChar *theNewValue)
Replace the contents of a pending attribute.
xalanc::StylesheetExecutionContextDefault::setPrefixResolver
virtual void setPrefixResolver(const PrefixResolver *thePrefixResolver)
Change the resolver for namespaces.
xalanc::Writer
Definition: Writer.hpp:45
xalanc::StylesheetExecutionContextDefault::DefaultCollationCompareFunctor::operator()
virtual int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, const XalanDOMChar *theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
xalanc::ParamsVectorTypeDecl
VariablesStack::ParamsVectorType ParamsVectorTypeDecl
Definition: StylesheetExecutionContextDefault.hpp:81