18#if !defined(STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680)
19#define STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
43#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
57#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
79class XalanSourceTreeDocument;
162 m_xpathExecutionContextDefault.setXPathEnvSupport(
theSupport);
204 return m_usePerInstanceDocumentFactory;
210 m_usePerInstanceDocumentFactory =
fValue;
228#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
348#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
383#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
405#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
485#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
500#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
552 int indent = eDefaultXMLIndentAmount,
568 int indent = eDefaultHTMLIndentAmount,
577#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
609 return s_defaultXalanNumberFormatFactory;
619 static XalanNumberFormatFactory*
720 const Locator*
locator = 0)
const = 0;
851#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
997#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1012#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1058 cleanUpTransients();
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 };
1080 ElementTemplateElementStackType m_elementRecursionStack;
1084 FormatterListenerVectorType m_formatterListeners;
1086 PrintWriterVectorType m_printWriters;
1088 OutputStreamVectorType m_outputStreams;
1090 CollationCompareFunctor* m_collationCompareFunctor;
1099 ParamsVectorType m_paramsVector;
1101 XPathCacheMapType m_matchPatternCache;
1103 KeyTablesTableType m_keyTables;
1116 CurrentTemplateStackType m_currentTemplateStack;
1130 BooleanStackType m_copyTextNodesOnlyStack;
1131 ModeStackType m_modeStack;
1132 IntStackType m_currentIndexStack;
1134#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1150 FormatterToTextDOMString(MemoryManager&
theManager);
1153 ~FormatterToTextDOMString();
1164 FormatterToTextDOMString(
const FormatterToTextDOMString&);
1166 FormatterToTextDOMString&
1167 operator=(
const FormatterToTextDOMString&);
1170 operator==(
const FormatterToTextDOMString&)
const;
1174 DOMStringPrintWriter m_printWriter;
1176 static XalanDOMString s_dummyString;
1179 typedef XalanVector<XObjectPtr> XObjectPtrStackType;
1180 typedef XalanVector<ParamsVectorType> ParamsVectorStackType;
1181 typedef XalanVector<UseAttributeSetIndexes> UseAttributeSetIndexesStackType;
1182 typedef XalanObjectStackCache<MutableNodeRefList,DefaultCacheCreateFunctorMemMgr<MutableNodeRefList> >
1183 MutableNodeRefListStackType;
1185 typedef XalanObjectStackCache<XalanDOMString,DefaultCacheCreateFunctorMemMgr<XalanDOMString> >
1188 typedef XalanObjectStackCache<FormatterToTextDOMString,DefaultCacheCreateFunctorMemMgr<FormatterToTextDOMString> >
1189 FormatterToTextStackType;
1190 typedef XalanObjectStackCache<FormatterToSourceTree,DefaultCacheCreateFunctorMemMgr<FormatterToSourceTree> >
1191 FormatterToSourceTreeStackType;
1196 class NodesToTransform
1199 NodesToTransform(
const NodeRefListBase* nodeList) :
1200 m_nodeList(nodeList), m_index(0)
1202 assert(m_nodeList != 0);
1205 const NodeRefListBase* operator() ()
1210 NodeRefListBase::size_type& index()
1217 if (m_index < m_nodeList->getLength())
1219 return m_nodeList->item(m_index++);
1225 const NodeRefListBase* m_nodeList;
1226 NodeRefListBase::size_type m_index;
1229 typedef XalanVector<NodesToTransform> NodesToTransformStackType;
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;
1244 NodeSorter m_nodeSorter;
1249 bool m_usePerInstanceDocumentFactory;
1252 eEscapeURLs m_escapeURLs;
1255 eOmitMETATag m_omitMETATag;
1257 static XalanNumberFormatFactory s_defaultXalanNumberFormatFactory;
1259 static XalanNumberFormatFactory* s_xalanNumberFormatFactory;
1261 static const DefaultCollationCompareFunctor s_defaultCollationFunctor;
#define XALAN_XSLT_EXPORT
#define XALAN_USES_MEMORY_MANAGER(Type)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
<meta name="usage" content="internal"> This is a table of counters, keyed by ElemNumber objects,...
This class takes SAX events (in addition to some extra events that SAX doesn't handle yet) and produc...
This is the class for events generated by the XSL processor after it generates a new node in the resu...
Local implementation of MutableNodeRefList.
Local implementation of NodeRefList.
This class can sort vectors of nodes according to a select pattern.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
DefaultCollationCompareFunctor()
virtual int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
virtual ~DefaultCollationCompareFunctor()
virtual int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, const XalanDOMChar *theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
virtual ~FormatNumberFunctor()
void operator()(const XPathCacheMapType::value_type &theCacheEntry)
XPathCacheReturnFunctor(XSLTEngineImpl &xsltProcessor)
virtual XalanNumberFormat * create(MemoryManager &theManager)
virtual ~XalanNumberFormatFactory()
XalanNumberFormatFactory()
virtual int getCurrentStackFrameIndex() const
Get the top of the stack frame from where a search for a variable or param should take place.
virtual void pushOutputContext(FormatterListener *flistener=0)
virtual void pushCopyTextNodesOnly(bool copyTextNodesOnly)
Set the flag that determines if only text nodes can be copied to the result tree.
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...
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
virtual void pushCurrentMode(const XalanQName *theMode)
Set the current mode.
virtual int collationCompare(const XalanDOMString &theLHS, const XalanDOMString &theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)
Compare two strings using the collation of the current locale.
virtual NodeSorter * getNodeSorter()
Get node sorter instance.
virtual bool releaseCachedString(XalanDOMString &theString)
Return a cached string.
virtual bool returnXResultTreeFrag(XResultTreeFrag *theXResultTreeFrag)
This is a hook that XResultTreeFrag instances (which are reference counted), can notify the owning St...
virtual void endElement(const XalanDOMChar *name)
Receive notification of the end of an element.
virtual XalanNumberFormatAutoPtr createXalanNumberFormat()
Create a new XalanNumberFormat instance.
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const
Get the document associated with the given URI.
virtual void getUniqueNamespaceValue(XalanDOMString &theValue) const
Generate a random namespace prefix guaranteed to be unique.
virtual CountersTable & getCountersTable()
Get the counters table, which is a table of cached results that is used by ElemNumber.
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)
Handle an extension function.
virtual bool elementAvailable(const XalanQName &theQName) const
Determine if an external element is available.
static XalanNumberFormatFactory & getDefaultXalanNumberFormatFactory()
XalanVector< const ElemTemplateElement * > ElementTemplateElementStackType
virtual void charactersRaw(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)
Receive notification of character data.
virtual void createAndPushNodesToTransformList(const NodeRefListBase *nodeList)
virtual void popCurrentNode()
Reset the node currently being executed.
virtual const ElemTemplate * getCurrentTemplate() const
Retrieve the current template.
virtual size_type getContextNodeListLength() const
virtual void outputResultTreeFragment(const XObject &theTree, const Locator *locator)
Given a result tree fragment, walk the tree and output it to the result stream.
StylesheetExecutionContextDefault(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct a StylesheetExecutionContextDefault object.
virtual void pushXObjectPtr(const XObjectPtr &xobjectPtr)
virtual bool popSkipElementAttributes()
Pops the last flag setting that determines if an element's attributes should be skipped.
XalanMap< XalanDOMString, XPathCacheEntry > XPathCacheMapType
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.
virtual void pushExecuteIf(bool executeIf)
Set flag that determines if the if test was true.
virtual void beginCreateXResultTreeFrag(XalanNode *sourceNode)
Initiate creation of a result tree fragment.
virtual void setEscapeURLs(eEscapeURLs value)
Set the value for run-time escaping of URLs.
XalanCollationServices::CollationCompareFunctor CollationCompareFunctor
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const
virtual void fireSelectEvent(const SelectionEvent &se)
Fire a selection event.
CollationCompareFunctor * uninstallCollationCompareFunctor()
virtual void pushContextMarker()
Push a context marker onto the stack to let us know when to stop searching for a var.
virtual bool getCopyTextNodesOnly() const
If this function returns true, only text nodes can be copied to the result tree.
virtual bool functionAvailable(const XalanQName &theQName) const
Determine if a function is available.
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.
virtual void reset()
Reset the instance.
virtual tl_size_type getTraceListeners() const
Determine the number of trace listeners.
virtual void popContextMarker()
Pop the current context from the current context stack.
virtual const XalanDOMString & getXalanXSLNameSpaceURL() const
Special Xalan namespace for built-in extensions.
virtual void fireTraceEvent(const TracerEvent &te)
Fire a trace event.
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const
Create a MutableNodeRefList with the appropriate context.
FormatNumberFunctor * uninstallFormatNumberFunctor()
void setXObjectFactory(XObjectFactory *theXObjectFactory)
Set the XObjectFactory instance.
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.
virtual void popUseAttributeSetIndexesFromStack()
virtual void pushProcessCurrentAttribute(bool processAttribute)
Set the flag that determines if the current attribute should be executed.
virtual void flushPending()
Flush the pending element.
virtual void endFormatToText()
Indicates the completion of the result string.
virtual void beginFormatToText(XalanDOMString &theResult)
Initiate to put execution result in string.
virtual void fireGenerateEvent(const GenerateEvent &ge)
Fire a generate event.
virtual void clearTopLevelParams()
Reset the vector of top level parameters.
virtual bool elementAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if an external element is available by resolving a string to a QName.
virtual XalanNode * getRootDocument() const
Retrieve root document for stylesheet.
virtual void pushCurrentTemplate(const ElemTemplate *theTemplate)
Set the current template.
virtual MutableNodeRefList * borrowMutableNodeRefList()
Borrow a cached MutableNodeRefList instance.
virtual void pushInvoker(const ElemTemplateElement *invoker)
Push the element that will invoke non children elements (i.e templates, attribute-sets)
virtual void pushParam(const XalanQName &qName, const XObjectPtr &theValue)
Push a single paramter onto the latest initialized paramter set.
virtual ~StylesheetExecutionContextDefault()
virtual XalanNode * getNextNodeToTransform()
virtual PrintWriter * createPrintWriter(StreamType &theStream)
Create a PrintWriter using the provided ostream instance.
XalanVector< const ElemTemplate * > CurrentTemplateStackType
virtual void popNodesToTransformList()
virtual XalanDOMString & getAndPopCachedString()
Gets the last string to be cached on the stack and pops it from the stack.
virtual void pushTopLevelVariables(const ParamVectorType &topLevelParams)
Set a list of top level variables in the specified execution context stylesheet.
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.
virtual void pushOnElementRecursionStack(const ElemTemplateElement *theElement)
Push an element onto the recursion stack.
virtual void endDocument()
Receive notification of the end of a document.
virtual XalanNode * getCurrentNode() const
Retrieve the node currently being executed.
virtual XalanDOMString & getCachedString()
Get a cached string for temporary use.
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.
bool getUsePerInstanceDocumentFactory() const
void setXSLTProcessor(XSLTEngineImpl *theProcessor)
Set the DOMSupport instance.
virtual eOmitMETATag getOmitMETATag() const
Get the value for run-time omission of URLs.
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMString &value)
Add a result attribute to the list of pending attributes.
virtual void startElement(const XalanDOMChar *name)
Receive notification of the beginning of an element.
void setOmitMETATag(eOmitMETATag value)
Get the value for run-time omission of URLs.
virtual void processingInstruction(const XalanDOMChar *target, const XalanDOMChar *data)
Receive notification of a processing instruction.
void setXPathEnvSupport(XPathEnvSupport *theSupport)
Set the XPathEnvSupport instance.
virtual UseAttributeSetIndexes & getUseAttributeSetIndexes()
virtual PrintWriter * createPrintWriter(const XalanDOMString &theFileName, const XalanDOMString &theEncoding)
Create a PrintWriter.
virtual void comment(const XalanDOMChar *data)
Called when a Comment is to be constructed.
virtual void outputToResultTree(const XObject &xobj, const Locator *locator)
Output an object to the result tree by doing the right conversions.
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.
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...
virtual PrintWriter * createPrintWriter(FILE *theStream)
Create a PrintWriter using the provided FILE instance.
virtual void beginParams()
Initiate context to accept a new set of parameters.
virtual bool returnMutableNodeRefList(MutableNodeRefList *theList)
Return a previously borrowed MutableNodeRefList instance.
virtual bool isPendingResultPrefix(const XalanDOMString &thePrefix)
Determine whether or not a prefix is in use on the pending element or the pending attributes.
XalanVector< PrintWriter * > PrintWriterVectorType
virtual bool getQuietConflictWarnings() const
Determine whether conflicts should be reported.
virtual FormatterListener * createFormatterToText(Writer &writer, const XalanDOMString &encoding)
FormatterToText instance constructor.
virtual XalanDOMString & getAndPushCachedString()
Get a string that is cached on a stack.
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMChar *value)
Add a result attribute to the list of pending attributes.
virtual bool isElementPending() const
See if there is an element pending.
virtual void popXObjectPtr()
virtual void popCurrentTemplate()
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.
virtual void popContextNodeList()
Pop the node list for current context.
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.
virtual void pushElementFrame(const ElemTemplateElement *elem)
Push a frame marker for an element.
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.
virtual void cloneToResultTree(const XalanNode &node, const Locator *locator)
Clone a node to the result tree.
virtual void setIndent(int indentAmount)
Set the current number of spaces to indent.
static StylesheetExecutionContextDefault * create(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
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.
virtual void setStylesheetRoot(const StylesheetRoot *theStylesheet)
Set root stylesheet for stylesheet.
virtual void createUseAttributeSetIndexesOnStack()
virtual const NodeRefListBase & getContextNodeList() const
Get the node list for current context.
Stylesheet::KeyTablesTableType KeyTablesTableType
virtual eEscapeURLs getEscapeURLs() const
Get the value for run-time escaping of URLs.
virtual const ElemTemplateElement * popElementRecursionStack()
Pop an element off the recursion stack.
virtual bool getTraceSelects() const
If this is set to true, simple traces of template calls are made.
virtual void returnXPath(const XPath *xpath)
Return the XPath created by createMatchPattern().
virtual bool popExecuteIf()
Pop the flag that determines if the if test was true.
const FormatNumberFunctor * installFormatNumberFunctor(FormatNumberFunctor *formatNumberFunctor)
virtual const XalanDOMString * getResultPrefixForNamespace(const XalanDOMString &theNamespace) const
Retrieve the result prefix corresponding to a namespace.
virtual bool isNodeAfter(const XalanNode &node1, const XalanNode &node2) const
Determine if a node is after another node, in document order.
virtual bool popCopyTextNodesOnly()
Pop the last flag setting that determines if only text nodes can be copied to the result tree.
virtual void setSourceDocument(const XalanDOMString &theURI, XalanDocument *theDocument)
Associate a document with a given URI.
virtual void charactersRaw(const XalanNode &node)
Send raw character data from a node to the result tree.
virtual int getIndent() const
Retrieve the current number of spaces to indent.
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.
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const
Provides support for XML parsing service.
virtual const ElemTemplateElement * getInvoker() const
Get the lastest element that has invoked a non-child element.
XalanVector< FormatterListener * > FormatterListenerVectorType
virtual void popCurrentMode()
Pop the current mode.
virtual void endParams()
Indicate parameter set is complete.
virtual void releaseAndPopMutableNodeRefList()
const CollationCompareFunctor * installCollationCompareFunctor(CollationCompareFunctor *theFunctor)
virtual void popCurrentStackFrameIndex()
Pop the last stack frame index setting.
virtual void pushCurrentNode(XalanNode *theCurrentNode)
Change the node currently being executed.
virtual const XObjectPtr getParamVariable(const XalanQName &theName)
Given a name, return a string representing the value, but don't look in the global space.
void setUsePerInstanceDocumentFactory(bool fValue)
virtual bool findOnElementRecursionStack(const ElemTemplateElement *theElement) const
Determine if an element is on the recursion stack.
virtual int getGlobalStackFrameIndex() const
Get the top of the global stack frame.
virtual const PrefixResolver * getPrefixResolver() const
Retrieve the resolver for namespaces.
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.
virtual bool getSkipElementAttributes() const
Get the last flag setting that determines if an element's attributes should be skipped.
virtual void setPrefixResolver(const PrefixResolver *thePrefixResolver)
Change the resolver for namespaces.
ParamsVectorTypeDecl ParamsVectorType
virtual void pushSkipElementAttributes(bool skipAttributes)
Set the flag that determines if an element's attributes should be skipped.
virtual void cloneToResultTree(const XalanNode &node, XalanNode::NodeType nodeType, bool overrideStrip, bool shouldCloneAttributes, const Locator *locator)
Clone a node to the result tree.
virtual void setRootDocument(XalanNode *theDocument)
Set root document for stylesheet.
virtual void popInvoker()
Pop the element that invoked non children elements.
virtual const XPath * createMatchPattern(const XalanDOMString &str, const PrefixResolver &resolver)
Create and initialize an xpath and return it.
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve the URI corresponding to a namespace prefix.
void setDOMSupport(DOMSupport *theDOMSupport)
Set the DOMSupport instance.
virtual const XalanDOMString & getXSLNameSpaceURL() const
Determine the full XSLT Namespace URI.
virtual void charactersRaw(const XObjectPtr &xobject)
Send raw character data from an XObject to the result tree.
XalanVector< XalanOutputStream * > OutputStreamVectorType
virtual void characters(const XalanNode &node)
Send character data from a node to the result tree.
virtual void pushContextNodeList(const NodeRefListBase &theList)
Push the node list for current context.
virtual void replacePendingAttribute(const XalanDOMChar *theName, const XalanDOMChar *theNewType, const XalanDOMChar *theNewValue)
Replace the contents of a pending attribute.
virtual XalanDOMString & getLastCachedString()
Gets the last string that was cached on the stack.
virtual bool functionAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if a function is available.
virtual FormatterListener * getFormatterListener() const
Get the current formatter listener.
virtual bool popProcessCurrentAttribute()
Pops the last flag setting that determines if the current attribute should be executed.
virtual void resolveTopLevelParams()
Resolve the params that were pushed by the caller.
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.
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.
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const
Given a DOM Document, tell what URI was used to parse it.
virtual void copyNamespaceAttributes(const XalanNode &src)
Add namespace attributes for a node to the list of pending attributes.
virtual void characters(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)
Receive notification of character data.
static XalanNumberFormatFactory * installXalanNumberFormatFactory(XalanNumberFormatFactory *theFactory)
Static function to install a new XalanNumberFormatFactory.
virtual PrintWriter * createPrintWriter(XalanOutputStream *theTextOutputStream)
Create a PrintWriter for the provided stream.
virtual void traceSelect(const ElemTemplateElement &theStylesheetElement, const NodeRefListBase &nl, const XPath *xpath)
Compose a diagnostic trace of the current selection.
virtual void characters(const XObjectPtr &xobject)
Send character data from an XObject to the result tree.
virtual void popOutputContext()
XalanSourceTreeDocument * getSourceTreeFactory(MemoryManager &theManager) const
Get a XalanSourceTreeDocument, primarily for creating result tree fragments.
virtual void pushVariable(const XalanQName &name, const XObjectPtr val, const ElemTemplateElement *element)
Push a named variable onto the variables stack.
virtual void setFormatterListener(FormatterListener *flistener)
Set the current formatter listener.
virtual const XObjectPtr endCreateXResultTreeFrag()
Indicate sthe completion of result tree fragment.
virtual const XalanDOMString * getResultNamespaceForPrefix(const XalanDOMString &thePrefix) const
Retrieve the result namespace corresponding to a prefix.
virtual const XalanQName * getCurrentMode() const
Retrieve the current mode.
virtual bool shouldStripSourceNode(const XalanText &node)
Determine if a text node should be stripped from the source tree, as if it weren't there.
virtual MutableNodeRefList & createAndPushMutableNodeRefList()
std::pair< const XPath *, ClockType > XPathCacheEntry
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...
virtual int collationCompare(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)
Compare two strings using the collation of the current locale.
virtual void popElementFrame()
Pop a frame marker for an element.
virtual void startDocument()
Receive notification of the beginning of a document.
eEscapeURLs
Enums to determine whether or not run-time escaping of URLs has been set.
FormatterListener::size_type fl_size_type
eOmitMETATag
Enums to determine whether or not run-time omission of the META tag has been set.
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
This is the parent class of events generated for tracing the progress of the XSL processor.
Defines a class to keep track of a stack for macro arguments.
This class handles the creation of XObjects and manages their lifetime.
Class to hold XObjectPtr return types.
Class to hold XPath return types.
A basic implementation of the class XPathExecutionContext.
It's the responsibility of the XSLTEngineImpl class, collaborating with the XML parser liaison,...
std::pair< const key_type, data_type > value_type
Class to represent a qualified name.