 |
Xalan-C++ API Reference
1.12.0
|
Go to the documentation of this file.
18 #if !defined(STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680)
19 #define STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680
44 #if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
75 class ElemTemplateElement;
77 class FormatterListener;
78 class FormatterToText;
81 class NodeRefListBase;
88 class XalanOutputStream;
92 class XalanDocumentFragment;
95 class XalanNumberFormat;
99 class XResultTreeFrag;
118 MemoryManager& theMemoryManager,
171 m_executionContext(executionContext)
178 m_executionContext.popCopyTextNodesOnly();
194 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
316 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
321 class PushAndPopCurrentTemplate
325 PushAndPopCurrentTemplate(
328 m_executionContext(executionContext)
333 ~PushAndPopCurrentTemplate()
335 m_executionContext.popCurrentTemplate();
360 const XalanDOMChar* theName,
361 const XalanDOMChar* theNewType,
362 const XalanDOMChar* theNewValue) = 0;
399 m_executionContext(theExecutionContext)
401 m_executionContext.pushOutputContext(theNewListener);
406 m_executionContext.popOutputContext();
434 const XalanDOMChar* value) = 0;
528 const XPath* xpath = 0) :
538 m_context.returnXPath(m_xpath);
551 const XPath*
const temp = m_xpath;
563 m_context.returnXPath(m_xpath);
573 const XPath* m_xpath;
602 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
656 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
715 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
720 class PushAndPopContextMarker
725 m_executionContext(executionContext)
730 PushAndPopContextMarker(
732 int& currentStackFrameIndex) :
733 m_executionContext(executionContext)
740 ~PushAndPopContextMarker()
742 m_executionContext.popContextMarker();
746 getExecutionContext()
const
748 return m_executionContext;
769 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
770 class ResolveAndClearTopLevelParams
775 m_executionContext(executionContext)
777 m_executionContext.resolveTopLevelParams();
780 ~ResolveAndClearTopLevelParams()
782 m_executionContext.clearTopLevelParams();
848 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
853 class PushAndPopElementFrame
857 PushAndPopElementFrame(
860 m_executionContext(executionContext)
865 ~PushAndPopElementFrame()
867 m_executionContext.popElementFrame();
918 m_executionContext(executionContext),
919 m_savedIndex(executionContext.getCurrentStackFrameIndex())
926 m_executionContext.popCurrentStackFrameIndex();
933 const int m_savedIndex;
936 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
940 class ParamsPushPop :
public PushAndPopContextMarker
947 PushAndPopContextMarker(executionContext)
949 doPush(xslCallTemplateElement);
953 StylesheetExecutionContext& executionContext,
954 const ElemTemplateElement& xslCallTemplateElement,
955 int& savedStackFrameIndex) :
956 PushAndPopContextMarker(executionContext, savedStackFrameIndex)
959 xslCallTemplateElement,
960 savedStackFrameIndex);
971 const ElemTemplateElement& xslCallTemplateElement,
972 int stackFrameIndex);
975 doPush(
const ElemTemplateElement& xslCallTemplateElement);
1030 const XalanDOMChar* ch,
1045 const XalanDOMChar* ch,
1065 const XalanDOMChar* target,
1066 const XalanDOMChar* data) = 0;
1083 const Locator* locator) = 0;
1099 bool shouldCloneAttributes,
1100 const Locator* locator) = 0;
1102 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1142 createXResultTreeFrag(
1157 const Locator* locator) = 0;
1169 const Locator* locator) = 0;
1227 m_executionContext(executionContext)
1229 m_executionContext.pushOnElementRecursionStack(element);
1234 m_executionContext.popElementRecursionStack();
1258 eDefaultXMLIndentAmount = 0,
1259 eDefaultHTMLIndentAmount = 0
1310 virtual eOmitMETATag
1348 bool doIndent =
false,
1349 int indent = eDefaultXMLIndentAmount,
1354 bool xmlDecl =
true,
1381 bool doIndent =
true,
1382 int indent = eDefaultHTMLIndentAmount,
1383 bool escapeURLs =
true,
1384 bool omitMetaTag =
false) = 0;
1397 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1398 class BorrowReturnFormatterToText
1402 BorrowReturnFormatterToText(
1405 bool normalizeLinefeed =
true,
1406 bool handleIgnorableWhitespace =
true);
1408 ~BorrowReturnFormatterToText()
1410 assert(m_formatter != 0);
1412 m_executionContext.returnFormatterToText(m_formatter);
1418 assert(m_formatter != 0);
1420 return *m_formatter;
1426 assert(m_formatter != 0);
1445 friend class BorrowReturnFormatterToText;
1448 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1462 borrowNodeSorter() = 0;
1473 class BorrowReturnNodeSorter
1478 m_executionContext(executionContext),
1479 m_sorter(executionContext.borrowNodeSorter())
1481 assert(m_sorter != 0);
1484 ~BorrowReturnNodeSorter()
1486 assert(m_sorter != 0);
1488 m_executionContext.returnNodeSorter(m_sorter);
1494 assert(m_sorter != 0);
1502 assert(m_sorter != 0);
1532 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1540 attributeSetNameIndex(0),
1541 matchingAttributeSetIndex(0) {}
1632 const XPath* xpath) = 0;
1677 const XalanDOMChar* theLHS,
1678 const XalanDOMChar* theRHS,
1693 const XalanDOMChar* theLHS,
1694 const XalanDOMChar* theRHS,
1695 const XalanDOMChar* theLocale,
1837 const Locator* locator)
const = 0;
1860 const Locator* locator)
const = 0;
1868 const Locator* locator) = 0;
1872 MemoryManager& theManager,
1875 ErrorHandler* theErrorHandler = 0)
const = 0;
1886 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1946 const Locator* locator,
1954 const Locator* locator,
1960 const Locator* locator = 0) = 0;
1996 const Locator* locator = 0) = 0;
2005 const Locator* locator = 0) = 0;
2014 const Locator* locator,
2024 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
2032 borrowFormatterToText() = 0;
2051 #endif // STYLESHEETEXECUTIONCONTEXT_HEADER_GUARD_1357924680
virtual void resolveTopLevelParams()=0
Resolve the params that were pushed by the caller.
virtual void pushProcessCurrentAttribute(bool processAttribute)=0
Set the flag that determines if the current attribute should be executed.
virtual void beginCreateXResultTreeFrag(XalanNode *sourceNode)=0
Initiate creation of a result tree fragment.
virtual void pushVariable(const XalanQName &name, const XObjectPtr val, const ElemTemplateElement *element)=0
Push a named variable onto the variables stack.
virtual bool functionAvailable(const XalanDOMString &theName, const Locator *locator) const =0
Determine if a function is available.
virtual void replacePendingAttribute(const XalanDOMChar *theName, const XalanDOMChar *theNewType, const XalanDOMChar *theNewValue)=0
Replace the contents of a pending attribute.
StylesheetExecutionContext(MemoryManager &theMemoryManager, XObjectFactory *theXObjectFactory=0)
virtual int collationCompare(const XalanDOMString &theLHS, const XalanDOMString &theRHS, const XalanDOMString &theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)=0
Compare two strings using the collation of the supplied locale.
virtual void pushElementFrame(const ElemTemplateElement *elem)=0
Push a frame marker for an element.
virtual eEscapeURLs getEscapeURLs() const =0
Get the value for run-time escaping of URLs.
virtual XalanNode * getRootDocument() const =0
Retrieve root document for stylesheet.
virtual bool popExecuteIf()=0
Pop the flag that determines if the if test was true.
virtual void characters(const XalanNode &node)=0
Send character data from a node to the result tree.
virtual const ElemTemplate * getCurrentTemplate() const =0
Retrieve the current template.
virtual void outputToResultTree(const XObject &xobj, const Locator *locator)=0
Output an object to the result tree by doing the right conversions.
virtual void comment(const XalanDOMChar *data)=0
Called when a Comment is to be constructed.
virtual void popContextMarker()=0
Pop the current context from the current context stack.
virtual bool getCopyTextNodesOnly() const =0
If this function returns true, only text nodes can be copied to the result tree.
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
virtual MutableNodeRefList & createAndPushMutableNodeRefList()=0
virtual XalanDOMString & getCachedString()=0
Get a cached string for temporary use.
virtual FormatterListener * createFormatterToText(Writer &writer, const XalanDOMString &encoding)=0
FormatterToText instance constructor.
This class can sort vectors of nodes according to a select pattern.
virtual void setPrefixResolver(const PrefixResolver *thePrefixResolver)=0
Change the resolver for namespaces.
virtual void popCurrentTemplate()=0
virtual bool popCopyTextNodesOnly()=0
Pop the last flag setting that determines if only text nodes can be copied to the result tree.
virtual const XPath * createMatchPattern(const XalanDOMString &str, const PrefixResolver &resolver)=0
Create and initialize an xpath and return it.
virtual const ElemTemplateElement * popElementRecursionStack()=0
Pop an element off the recursion stack.
virtual const XalanDOMString & getXalanXSLNameSpaceURL() const =0
Special Xalan namespace for built-in extensions.
virtual void createAndPushNodesToTransformList(const NodeRefListBase *nodeList)=0
virtual void popUseAttributeSetIndexesFromStack()=0
virtual bool isElementPending() const =0
See if there is an element pending.
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const =0
virtual void endDocument()=0
Receive notification of the end of a document.
virtual const XalanDOMString & getUnparsedEntityURI(const XalanDOMString &theName, const XalanDocument &theDocument) const =0
The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in t...
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMString &value)=0
Add a result attribute to the list of pending attributes.
eEscapeURLs
Enums to determine whether or not run-time escaping of URLs has been set.
virtual const PrefixResolver * getPrefixResolver() const =0
Retrieve the resolver for namespaces.
virtual bool elementAvailable(const XalanDOMString &theName, const Locator *locator) const =0
Determine if an external element is available by resolving a string to a QName.
virtual bool getQuietConflictWarnings() const =0
Determine whether conflicts should be reported.
virtual void flushPending()=0
Flush the pending element.
virtual void pushVariable(const XalanQName &name, const ElemVariable *var, const ElemTemplateElement *element)=0
Push a named variable onto the processor variable stack The variable will be evaluated when first ref...
virtual bool popSkipElementAttributes()=0
Pops the last flag setting that determines if an element's attributes should be skipped.
virtual PrintWriter * createPrintWriter(XalanOutputStream *theTextOutputStream)=0
Create a PrintWriter for the provided stream.
This class takes SAX events (in addition to some extra events that SAX doesn't handle yet) and produc...
virtual PrintWriter * createPrintWriter(FILE *theStream)=0
Create a PrintWriter using the provided FILE instance.
virtual void pushParam(const XalanQName &qName, const XObjectPtr &theValue)=0
Push a single paramter onto the latest initialized paramter set.
virtual bool getTraceSelects() const =0
If this is set to true, simple traces of template calls are made.
virtual bool getSkipElementAttributes() const =0
Get the last flag setting that determines if an element's attributes should be skipped.
virtual void beginParams()=0
Initiate context to accept a new set of parameters.
virtual const XObjectPtr endCreateXResultTreeFrag()=0
Indicate sthe completion of result tree fragment.
virtual void getNodeSetByKey(XalanNode *context, const XalanDOMString &name, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)=0
Given a valid element key, return the corresponding node list.
Local implementation of MutableNodeRefList.
virtual void cloneToResultTree(const XalanNode &node, const Locator *locator)=0
Clone a node to the result tree.
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)=0
Create a new FormatterToHTML instance.
#define XALAN_XSLT_EXPORT
virtual const XalanDOMString * getResultNamespaceForPrefix(const XalanDOMString &thePrefix) const =0
Retrieve the result namespace corresponding to a prefix.
virtual void popElementFrame()=0
Pop a frame marker for an element.
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const =0
Provides support for XML parsing service.
FormatterListener::size_type fl_size_type
virtual void pushExecuteIf(bool executeIf)=0
Set flag that determines if the if test was true.
virtual void returnXPath(const XPath *xpath)=0
Return the XPath created by createMatchPattern().
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMChar *value)=0
Add a result attribute to the list of pending attributes.
SetAndRestoreCurrentStackFrameIndex(StylesheetExecutionContext &executionContext, int newIndex)
virtual void endParams()=0
Indicate parameter set is complete.
virtual const XalanQName * getCurrentMode() const =0
Retrieve the current mode.
virtual int getGlobalStackFrameIndex() const =0
Get the top of the global stack frame.
virtual XalanNode * getNextNodeToTransform()=0
virtual void getNodeSetByKey(XalanNode *context, const XalanQName &qname, const XalanDOMString &ref, const Locator *locator, MutableNodeRefList &nodelist)=0
Given a valid element key, return the corresponding node list.
virtual void popContextNodeList()=0
Pop the node list for current context.
virtual void charactersRaw(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)=0
Receive notification of character data.
virtual void popNodesToTransformList()=0
virtual void setFormatterListener(FormatterListener *flistener)=0
Set the current formatter listener.
virtual CountersTable & getCountersTable()=0
Get the counters table, which is a table of cached results that is used by ElemNumber.
virtual void pushContextMarker()=0
Push a context marker onto the stack to let us know when to stop searching for a var.
virtual void pushInvoker(const ElemTemplateElement *invoker)=0
Push the element that will invoke non children elements (i.e templates, attribute-sets)
virtual const XObjectPtr getVariable(const XalanQName &name, const Locator *locator=0)=0
Given a name, locate a variable in the current context, and return a pointer to the object.
Class to hold XObjectPtr return types.
virtual XalanDOMString & getLastCachedString()=0
Gets the last string that was cached on the stack.
virtual void pushXObjectPtr(const XObjectPtr &xobjectPtr)=0
virtual MutableNodeRefList * borrowMutableNodeRefList()=0
Borrow a cached MutableNodeRefList instance.
virtual void pushVariable(const XalanQName &name, const ElemTemplateElement *element, const XalanDOMString &str, XalanNode *contextNode, const PrefixResolver &resolver)=0
Execute an XPath using the provided expression, and push the result as a variable in the context of t...
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const =0
Retrieve the URI corresponding to a namespace prefix.
~ElementRecursionStackPusher()
virtual bool releaseCachedString(XalanDOMString &theString)=0
Return a cached string.
size_type attributeSetNameIndex
virtual void pushCurrentMode(const XalanQName *theMode)=0
Set the current mode.
virtual void popXObjectPtr()=0
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
virtual void setStylesheetRoot(const StylesheetRoot *theStylesheet)=0
Set root stylesheet for stylesheet.
ElementRecursionStackPusher(StylesheetExecutionContext &executionContext, const ElemTemplateElement *element)
Construct an instance of the recursion stack pusher.
virtual const XalanDOMString * getResultPrefixForNamespace(const XalanDOMString &theNamespace) const =0
Retrieve the result prefix corresponding to a namespace.
virtual void formatNumber(double number, const XalanDOMString &pattern, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)=0
Formats a number according to the specified pattern.
virtual UseAttributeSetIndexes & getUseAttributeSetIndexes()=0
virtual void beginFormatToText(XalanDOMString &theResult)=0
Initiate to put execution result in string.
virtual void characters(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)=0
Receive notification of character data.
virtual XalanDOMString & getAndPushCachedString()=0
Get a string that is cached on a stack.
virtual bool functionAvailable(const XalanQName &theQName) const =0
Determine if a function is available.
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()))=0
Create a new FormatterToXML instance.
virtual void getUniqueNamespaceValue(XalanDOMString &theValue) const =0
Generate a random namespace prefix guaranteed to be unique.
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const =0
Create a MutableNodeRefList with the appropriate context.
virtual void endFormatToText()=0
Indicates the completion of the result string.
virtual const NodeRefListBase & getContextNodeList() const =0
Get the node list for current context.
virtual void clearTopLevelParams()=0
Reset the vector of top level parameters.
virtual void processingInstruction(const XalanDOMChar *target, const XalanDOMChar *data)=0
Receive notification of a processing instruction.
virtual void popCurrentNode()=0
Reset the node currently being executed.
virtual size_type getContextNodeListLength() const =0
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const =0
Get the document associated with the given URI.
virtual bool returnMutableNodeRefList(MutableNodeRefList *theList)=0
Return a previously borrowed MutableNodeRefList instance.
virtual NodeSorter * getNodeSorter()=0
Get node sorter instance.
virtual const XalanDOMString & getXSLNameSpaceURL() const =0
Determine the full XSLT Namespace URI.
virtual void fireSelectEvent(const SelectionEvent &se)=0
Fire a selection event.
virtual XalanNumberFormatAutoPtr createXalanNumberFormat()=0
Create a new XalanNumberFormat instance.
virtual bool popProcessCurrentAttribute()=0
Pops the last flag setting that determines if the current attribute should be executed.
virtual void setOmitMETATag(eOmitMETATag value)=0
Get the value for run-time omission of URLs.
virtual void reset()=0
Reset the instance.
virtual void popCurrentStackFrameIndex()=0
Pop the last stack frame index setting.
virtual void pushCurrentTemplate(const ElemTemplate *theTemplate)=0
Set the current template.
virtual void setIndent(int indentAmount)=0
Set the current number of spaces to indent.
XPathGuard(StylesheetExecutionContext &context, const XPath *xpath=0)
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const =0
Given a DOM Document, tell what URI was used to parse it.
NodeRefListBase::size_type size_type
Class to hold XPath return types.
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
XalanVector< TopLevelArg > ParamVectorType
virtual void popInvoker()=0
Pop the element that invoked non children elements.
OutputContextPushPop(StylesheetExecutionContext &theExecutionContext, FormatterListener *theNewListener=0)
Construct an object to push and pop the current output context.
virtual ~StylesheetExecutionContext()
virtual void pushVariable(const XalanQName &name, const ElemTemplateElement *element, const XPath &xpath, XalanNode *contextNode, const PrefixResolver &resolver)=0
Execute the supplied XPath and push the result as a variable in the current context.
virtual void endElement(const XalanDOMChar *name)=0
Receive notification of the end of an element.
virtual const ElemTemplateElement * getInvoker() const =0
Get the lastest element that has invoked a non-child element.
virtual void pushTopLevelVariables(const ParamVectorType &topLevelParams)=0
Set a list of top level variables in the specified execution context stylesheet.
virtual bool findOnElementRecursionStack(const ElemTemplateElement *theElement) const =0
Determine if an element is on the recursion stack.
virtual void formatNumber(double number, const XalanDOMString &pattern, const XalanDOMString &dfsName, XalanDOMString &theResult, const XalanNode *context=0, const Locator *locator=0)=0
Formats a number according to the specified pattern.
virtual void pushOnElementRecursionStack(const ElemTemplateElement *theElement)=0
Push an element onto the recursion stack.
virtual void charactersRaw(const XObjectPtr &xobject)=0
Send raw character data from an XObject to the result tree.
virtual void popOutputContext()=0
This class defines an interface for classes that resolve namespace prefixes to their URIs.
virtual bool shouldStripSourceNode(const XalanText &node)=0
Determine if a text node should be stripped from the source tree, as if it weren't there.
size_type matchingAttributeSetIndex
virtual bool returnXResultTreeFrag(XResultTreeFrag *theXResultTreeFrag)=0
This is a hook that XResultTreeFrag instances (which are reference counted), can notify the owning St...
virtual tl_size_type getTraceListeners() const =0
Determine the number of trace listeners.
virtual int collationCompare(const XalanDOMString &theLHS, const XalanDOMString &theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)=0
Compare two strings using the collation of the current locale.
XalanMemMgrAutoPtr< XalanNumberFormat > XalanNumberFormatAutoPtr
virtual void outputResultTreeFragment(const XObject &theTree, const Locator *locator)=0
Given a result tree fragment, walk the tree and output it to the result stream.
virtual void createUseAttributeSetIndexesOnStack()=0
SetAndRestoreCopyTextNodesOnly(StylesheetExecutionContext &executionContext, bool fValue)
virtual void pushOutputContext(FormatterListener *flistener=0)=0
virtual bool isNodeAfter(const XalanNode &node1, const XalanNode &node2) const =0
Determine if a node is after another node, in document order.
virtual void pushCurrentStackFrameIndex(int currentStackFrameIndex=-1)=0
Set the top of the stack frame from where a search for a variable or param should take place.
virtual FormatterListener * getFormatterListener() const =0
Get the current formatter listener.
~SetAndRestoreCopyTextNodesOnly()
This is the parent class of events generated for tracing the progress of the XSL processor.
eOmitMETATag
Enums to determine whether or not run-time omission of the META tag has been set.
virtual void charactersRaw(const XalanNode &node)=0
Send raw character data from a node to the result tree.
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
virtual void pushCurrentNode(XalanNode *theCurrentNode)=0
Change the node currently being executed.
virtual void setSourceDocument(const XalanDOMString &theURI, XalanDocument *theDocument)=0
Associate a document with a given URI.
virtual void releaseAndPopMutableNodeRefList()=0
virtual void pushCopyTextNodesOnly(bool copyTextNodesOnly)=0
Set the flag that determines if only text nodes can be copied to the result tree.
virtual void pushContextNodeList(const NodeRefListBase &theList)=0
Push the node list for current context.
virtual void fireGenerateEvent(const GenerateEvent &ge)=0
Fire a generate event.
virtual int collationCompare(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, const XalanDOMChar *theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)=0
Compare two strings using the collation of the current locale.
virtual void characters(const XObjectPtr &xobject)=0
Send character data from an XObject to the result tree.
const XPath * get() const
virtual void pushSkipElementAttributes(bool skipAttributes)=0
Set the flag that determines if an element's attributes should be skipped.
Local implementation of NodeRefList.
<meta name="usage" content="internal"> This is a table of counters, keyed by ElemNumber objects,...
virtual eOmitMETATag getOmitMETATag() const =0
Get the value for run-time omission of URLs.
Class to represent a qualified name.
This is the class for events generated by the XSL processor after it generates a new node in the resu...
virtual const XObjectPtr createVariable(const XPath &xpath, XalanNode *contextNode, const PrefixResolver &resolver)=0
Execute the supplied XPath and and create a variable in the current context.
virtual int collationCompare(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault)=0
Compare two strings using the collation of the current locale.
virtual void setRootDocument(XalanNode *theDocument)=0
Set root document for stylesheet.
virtual bool elementAvailable(const XalanQName &theQName) const =0
Determine if an external element is available.
virtual void startDocument()=0
Receive notification of the beginning of a document.
virtual void setEscapeURLs(eEscapeURLs value)=0
Set the value for run-time escaping of URLs.
virtual int getCurrentStackFrameIndex() const =0
Get the top of the stack frame from where a search for a variable or param should take place.
virtual void traceSelect(const ElemTemplateElement &theStylesheetElement, const NodeRefListBase &nl, const XPath *xpath)=0
Compose a diagnostic trace of the current selection.
virtual PrintWriter * createPrintWriter(StreamType &theStream)=0
Create a PrintWriter using the provided ostream instance.
virtual PrintWriter * createPrintWriter(const XalanDOMString &theFileName, const XalanDOMString &theEncoding)=0
Create a PrintWriter.
virtual void copyNamespaceAttributes(const XalanNode &src)=0
Add namespace attributes for a node to the list of pending attributes.
virtual bool isPendingResultPrefix(const XalanDOMString &thePrefix)=0
Determine whether or not a prefix is in use on the pending element or the pending attributes.
virtual void cloneToResultTree(const XalanNode &node, XalanNode::NodeType nodeType, bool overrideStrip, bool shouldCloneAttributes, const Locator *locator)=0
Clone a node to the result tree.
This class handles the creation of XObjects and manages their lifetime.
virtual XalanNode * getCurrentNode() const =0
Retrieve the node currently being executed.
void reset(const XPath *xpath)
virtual void popCurrentMode()=0
Pop the current mode.
virtual XalanDOMString & getAndPopCachedString()=0
Gets the last string to be cached on the stack and pops it from the stack.
virtual void fireTraceEvent(const TracerEvent &te)=0
Fire a trace event.
virtual void startElement(const XalanDOMChar *name)=0
Receive notification of the beginning of an element.
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)=0
Handle an extension function.
virtual int getIndent() const =0
Retrieve the current number of spaces to indent.
virtual const XObjectPtr getParamVariable(const XalanQName &theName)=0
Given a name, return a string representing the value, but don't look in the global space.
~SetAndRestoreCurrentStackFrameIndex()
Class for keeping track of elements pushed on the element recursion stack.