Xalan-C++ API Documentation
Go to the documentation of this file.
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)
75 XALAN_CPP_NAMESPACE_BEGIN
92 #if defined(XALAN_STRICT_ANSI_HEADERS)
121 MemoryManager& theManager,
142 MemoryManager& theManager,
149 MemoryManager& theManager,
166 m_xpathExecutionContextDefault.setXPathEnvSupport(theSupport);
177 m_xpathExecutionContextDefault.setDOMSupport(theDOMSupport);
188 m_xpathExecutionContextDefault.setXObjectFactory(theXObjectFactory);
202 m_xsltProcessor = theProcessor;
208 return m_usePerInstanceDocumentFactory;
214 m_usePerInstanceDocumentFactory = fValue;
232 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
287 const XalanDOMChar* theName,
288 const XalanDOMChar* theNewType,
289 const XalanDOMChar* theNewValue);
305 const XalanDOMChar* value);
352 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
387 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
409 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
455 const XalanDOMChar* ch,
461 const XalanDOMChar* ch,
470 const XalanDOMChar* target,
471 const XalanDOMChar* data);
479 const Locator* locator);
486 bool shouldCloneAttributes,
487 const Locator* locator);
489 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
504 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
506 createXResultTreeFrag(
514 const Locator* locator);
519 const Locator* locator);
555 bool doIndent =
false,
556 int indent = eDefaultXMLIndentAmount,
571 bool doIndent =
true,
572 int indent = eDefaultHTMLIndentAmount,
573 bool escapeURLs =
true,
574 bool omitMetaTag =
false);
581 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
613 return s_defaultXalanNumberFormatFactory;
623 static XalanNumberFormatFactory*
663 const XalanDOMChar* theLHS,
664 const XalanDOMChar* theRHS,
669 const XalanDOMChar* theLHS,
670 const XalanDOMChar* theRHS,
671 const XalanDOMChar* theLocale,
687 const XalanDOMChar* theLHS,
688 const XalanDOMChar* theRHS,
693 const XalanDOMChar* theLHS,
694 const XalanDOMChar* theRHS,
695 const XalanDOMChar* theLocale,
724 const Locator* locator = 0)
const = 0;
733 const Locator* locator = 0);
742 const Locator* locator = 0);
821 const Locator* locator)
const;
829 const Locator* locator)
const;
837 const Locator* locator);
841 MemoryManager& theManager,
844 ErrorHandler* theErrorHandler = 0)
const;
855 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
917 const Locator* locator,
925 const Locator* locator,
931 const Locator* locator = 0);
967 const Locator* locator,
982 m_xsltProcessor(xsltProcessor)
1001 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1005 borrowFormatterToText();
1014 getDecimalFormatSymbols(
const XalanQName& qname);
1016 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1037 isCached(
const XPath* theXPath);
1055 const XPath* theXPath);
1062 cleanUpTransients();
1070 enum { eXPathCacheMax = 50,
1071 eDefaultParamsVectorSize = 10,
1072 eXResultTreeFragAllocatorBlockSize = 10,
1073 eDocumentAllocatorBlockSize = 10,
1074 eDocumentFragmentAllocatorBlockSize = 10,
1075 eDefaultAttributeAllocatorBlockSize = 10,
1076 eDefaultAttributeNSAllocatorBlockSize = 10,
1077 eDefaultCommentAllocatorBlockSize = 10,
1078 eDefaultElementAllocatorBlockSize = 10,
1079 eDefaultElementNSAllocatorBlockSize = 10,
1080 eDefaultPIAllocatorBlockSize = 10,
1081 eDefaultTextAllocatorBlockSize = 20,
1082 eDefaultTextIWSAllocatorBlockSize = 20 };
1084 ElementTemplateElementStackType m_elementRecursionStack;
1088 FormatterListenerVectorType m_formatterListeners;
1090 PrintWriterVectorType m_printWriters;
1092 OutputStreamVectorType m_outputStreams;
1094 CollationCompareFunctor* m_collationCompareFunctor;
1103 ParamsVectorType m_paramsVector;
1105 XPathCacheMapType m_matchPatternCache;
1107 KeyTablesTableType m_keyTables;
1120 CurrentTemplateStackType m_currentTemplateStack;
1134 BooleanStackType m_copyTextNodesOnlyStack;
1135 ModeStackType m_modeStack;
1136 IntStackType m_currentIndexStack;
1138 #if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
1143 FormatterToTextCacheType m_formatterToTextCache;
1145 FormatterToSourceTreeCacheType m_formatterToSourceTreeCache;
1147 NodeSorterCacheType m_nodeSorterCache;
1154 FormatterToTextDOMString(MemoryManager& theManager);
1157 ~FormatterToTextDOMString();
1162 m_printWriter.setString(theString);
1168 FormatterToTextDOMString(
const FormatterToTextDOMString&);
1170 FormatterToTextDOMString&
1171 operator=(
const FormatterToTextDOMString&);
1174 operator==(
const FormatterToTextDOMString&)
const;
1187 MutableNodeRefListStackType;
1193 FormatterToTextStackType;
1195 FormatterToSourceTreeStackType;
1200 class NodesToTransform
1204 m_nodeList(nodeList), m_index(0)
1206 assert(m_nodeList != 0);
1221 if (m_index < m_nodeList->getLength())
1223 return m_nodeList->item(m_index++);
1235 XObjectPtrStackType m_xobjectPtrStack;
1236 MutableNodeRefListStackType m_mutableNodeRefListStack;
1237 NodesToTransformStackType m_nodesToTransformStack;
1238 BooleanStackType m_processCurrentAttributeStack;
1239 BooleanStackType m_executeIfStack;
1240 StringStackType m_stringStack;
1241 FormatterToTextStackType m_formatterToTextStack;
1242 BooleanStackType m_skipElementAttributesStack;
1243 FormatterToSourceTreeStackType m_formatterToSourceTreeStack;
1244 ParamsVectorStackType m_paramsVectorStack;
1245 ElementTemplateElementStackType m_elementInvokerStack;
1246 UseAttributeSetIndexesStackType m_useAttributeSetIndexesStack;
1253 bool m_usePerInstanceDocumentFactory;
1256 eEscapeURLs m_escapeURLs;
1259 eOmitMETATag m_omitMETATag;
1261 static XalanNumberFormatFactory s_defaultXalanNumberFormatFactory;
1263 static XalanNumberFormatFactory* s_xalanNumberFormatFactory;
1265 static const DefaultCollationCompareFunctor s_defaultCollationFunctor;
1270 XALAN_CPP_NAMESPACE_END
1274 #endif // STYLESHEETEXECUTIONCONTEXTDEFAULT_HEADER_GUARD_1357924680
CollationCompareFunctor * uninstallCollationCompareFunctor()
virtual ~StylesheetExecutionContextDefault()
StylesheetExecutionContextDefault(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
Construct a StylesheetExecutionContextDefault object.
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)
Handle an extension function.
virtual XalanDOMString & getAndPopCachedString()
Gets the last string to be cached on the stack and pops it from the stack.
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 bool returnMutableNodeRefList(MutableNodeRefList *theList)
Return a previously borrowed MutableNodeRefList instance.
virtual bool getCopyTextNodesOnly() const
If this function returns true, only text nodes can be copied to the result tree.
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.
static XalanNumberFormatFactory & getDefaultXalanNumberFormatFactory()
virtual int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, const XalanDOMChar *theLocale, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
virtual bool elementAvailable(const XalanQName &theQName) const
Determine if an external element is available.
virtual void popNodesToTransformList()
virtual FormatterListener * createFormatterToText(Writer &writer, const XalanDOMString &encoding)
FormatterToText instance constructor.
virtual ~FormatNumberFunctor()
NodeRefListBase::size_type size_type
virtual void fireSelectEvent(const SelectionEvent &se)
Fire a selection event.
virtual void setEscapeURLs(eEscapeURLs value)
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const
Given a DOM Document, tell what URI was used to parse it.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
virtual void startDocument()
Receive notification of the beginning of a document.
virtual bool functionAvailable(const XalanQName &theQName) const
Determine if a function is available.
virtual int getGlobalStackFrameIndex() const
Get the top of the global stack frame.
virtual void popCurrentTemplate()
Class to hold XPath return types.
virtual void pushContextMarker()
Push a context marker onto the stack to let us know when to stop searching for a var.
virtual void pushXObjectPtr(const XObjectPtr &xobjectPtr)
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
void setOmitMETATag(eOmitMETATag value)
Get the value for run-time omission of URLs.
virtual const XalanDOMString & getXSLNameSpaceURL() const
Determine the full XSLT Namespace URI.
virtual void characters(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)
Receive notification of character data.
A basic implementation of the class XPathExecutionContext.
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 void setIndent(int indentAmount)
Set the current number of spaces to indent.
virtual int getIndent() const
Retrieve the current number of spaces to indent.
<meta name="usage" content="internal"> This is a table of counters, keyed by ElemNumber objects,...
virtual MutableNodeRefList & createAndPushMutableNodeRefList()
XalanVector< PrintWriter * > PrintWriterVectorType
bool operator==(const ElemAttributeSet &theLHS, const ElemAttributeSet &theRHS)
virtual eEscapeURLs getEscapeURLs() const
Get the value for run-time escaping of URLs.
XalanVector< FormatterListener * > FormatterListenerVectorType
This class can sort vectors of nodes according to a select pattern.
This is the parent class of events generated for tracing the progress of the XSL processor.
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 flushPending()
Flush the pending element.
XALAN_STD_QUALIFIER pair< const XPath *, ClockType > XPathCacheEntry
void setXPathEnvSupport(XPathEnvSupport *theSupport)
Set the XPathEnvSupport instance.
virtual void reset()
Reset the instance.
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 characters(const XalanNode &node)
Send character data from a node to the result tree.
virtual void endDocument()
Receive notification of the end of a document.
virtual bool isNodeAfter(const XalanNode &node1, const XalanNode &node2) const
Determine if a node is after another node, in document order.
virtual void pushOnElementRecursionStack(const ElemTemplateElement *theElement)
Push an element onto the recursion stack.
virtual void clearTopLevelParams()
Reset the vector of top level parameters.
virtual PrintWriter * createPrintWriter(const XalanDOMString &theFileName, const XalanDOMString &theEncoding)
Create a PrintWriter.
FormatterListener::size_type fl_size_type
virtual bool getTraceSelects() const
If this is set to true, simple traces of template calls are made.
#define XALAN_USES_MEMORY_MANAGER(Type)
XObjectFactory & m_xobjectFactory
virtual void fireTraceEvent(const TracerEvent &te)
Fire a trace event.
virtual const XalanDOMString * getResultPrefixForNamespace(const XalanDOMString &theNamespace) const
Retrieve the result prefix corresponding to a namespace.
virtual void popInvoker()
Pop the element that invoked non children elements.
virtual void processingInstruction(const XalanDOMChar *target, const XalanDOMChar *data)
Receive notification of a processing instruction.
This is the class for events generated by the XSL processor after it generates a new node in the resu...
#define XALAN_XSLT_EXPORT
virtual const ElemTemplate * getCurrentTemplate() const
Retrieve the current template.
virtual const PrefixResolver * getPrefixResolver() const
Retrieve the resolver for namespaces.
XPathCacheReturnFunctor(XSLTEngineImpl &xsltProcessor)
virtual void popCurrentNode()
Reset the node currently being executed.
virtual bool getQuietConflictWarnings() const
Determine whether conflicts should be reported.
virtual void outputResultTreeFragment(const XObject &theTree, const Locator *locator)
Given a result tree fragment, walk the tree and output it to the result stream.
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 problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
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 const XObjectPtr getParamVariable(const XalanQName &theName)
Given a name, return a string representing the value, but don't look in the global space.
virtual void popOutputContext()
virtual void cloneToResultTree(const XalanNode &node, const Locator *locator)
Clone a node to the result tree.
virtual bool isElementPending() const
See if there is an element pending.
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.
XalanMap< XalanDOMString, XPathCacheEntry > XPathCacheMapType
virtual void popContextMarker()
Pop the current context from the current context stack.
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.
eOmitMETATag
Enums to determine whether or not run-time omission of the META tag has been set.
Defines a class to keep track of a stack for macro arguments.
virtual void setRootDocument(XalanNode *theDocument)
Set root document for stylesheet.
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.
XalanVector< const ElemTemplate * > CurrentTemplateStackType
virtual const ElemTemplateElement * popElementRecursionStack()
Pop an element off the recursion stack.
void operator()(const XPathCacheMapType::value_type &theCacheEntry)
virtual void replacePendingAttribute(const XalanDOMChar *theName, const XalanDOMChar *theNewType, const XalanDOMChar *theNewValue)
Replace the contents of a pending attribute.
virtual bool findOnElementRecursionStack(const ElemTemplateElement *theElement) const
Determine if an element is on the recursion stack.
virtual void beginCreateXResultTreeFrag(XalanNode *sourceNode)
Initiate creation of a result tree fragment.
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const
virtual void popContextNodeList()
Pop the node list for current context.
virtual void releaseAndPopMutableNodeRefList()
void setXObjectFactory(XObjectFactory *theXObjectFactory)
Set the XObjectFactory instance.
virtual XalanNumberFormatAutoPtr createXalanNumberFormat()
Create a new XalanNumberFormat instance.
XalanNumberFormatFactory()
Stylesheet::KeyTablesTableType KeyTablesTableType
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 void beginParams()
Initiate context to accept a new set of parameters.
virtual const ElemTemplateElement * getInvoker() const
Get the lastest element that has invoked a non-child element.
virtual void endParams()
Indicate parameter set is complete.
virtual void characters(const XObjectPtr &xobject)
Send character data from an XObject to the result tree.
XalanSourceTreeDocument * getSourceTreeFactory(MemoryManager &theManager) const
Get a XalanSourceTreeDocument, primarily for creating result tree fragments.
ParamsVectorTypeDecl ParamsVectorType
virtual PrintWriter * createPrintWriter(FILE *theStream)
Create a PrintWriter using the provided FILE instance.
virtual void fireGenerateEvent(const GenerateEvent &ge)
Fire a generate event.
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const
Get the document associated with the given URI.
virtual void pushElementFrame(const ElemTemplateElement *elem)
Push a frame marker for an element.
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 ~XalanNumberFormatFactory()
virtual void traceSelect(const ElemTemplateElement &theStylesheetElement, const NodeRefListBase &nl, const XPath *xpath)
Compose a diagnostic trace of the current selection.
virtual NodeSorter * getNodeSorter()
Get node sorter instance.
static XalanNumberFormatFactory * installXalanNumberFormatFactory(XalanNumberFormatFactory *theFactory)
Static function to install a new XalanNumberFormatFactory.
virtual void pushContextNodeList(const NodeRefListBase &theList)
Push the node list for current context.
virtual void popUseAttributeSetIndexesFromStack()
virtual void comment(const XalanDOMChar *data)
Called when a Comment is to be constructed.
virtual const XPath * createMatchPattern(const XalanDOMString &str, const PrefixResolver &resolver)
Create and initialize an xpath and return it.
virtual void endElement(const XalanDOMChar *name)
Receive notification of the end of an element.
virtual ~DefaultCollationCompareFunctor()
This class handles the creation of XObjects and manages their lifetime.
FormatNumberFunctor * uninstallFormatNumberFunctor()
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.
virtual void endFormatToText()
Indicates the completion of the result string.
virtual void pushCurrentNode(XalanNode *theCurrentNode)
Change the node currently being executed.
XalanVector< const ElemTemplateElement * > ElementTemplateElementStackType
virtual void setFormatterListener(FormatterListener *flistener)
Set the current formatter listener.
virtual void popCurrentStackFrameIndex()
Pop the last stack frame index setting.
virtual void pushParam(const XalanQName &qName, const XObjectPtr &theValue)
Push a single paramter onto the latest initialized paramter set.
virtual bool isPendingResultPrefix(const XalanDOMString &thePrefix)
Determine whether or not a prefix is in use on the pending element or the pending attributes.
virtual XalanNode * getCurrentNode() const
Retrieve the node currently being executed.
virtual void charactersRaw(const XalanDOMChar *ch, fl_size_type start, fl_size_type length)
Receive notification of character data.
virtual void addResultAttribute(const XalanDOMString &aname, const XalanDOMString &value)
Add a result attribute to the list of pending attributes.
virtual FormatterListener * getFormatterListener() const
Get the current formatter listener.
virtual void pushCurrentMode(const XalanQName *theMode)
Set the current mode.
const FormatNumberFunctor * installFormatNumberFunctor(FormatNumberFunctor *formatNumberFunctor)
virtual void pushExecuteIf(bool executeIf)
Set flag that determines if the if test was true.
virtual void startElement(const XalanDOMChar *name)
Receive notification of the beginning of an element.
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 eOmitMETATag getOmitMETATag() const
Get the value for run-time omission of URLs.
virtual PrintWriter * createPrintWriter(XalanOutputStream *theTextOutputStream)
Create a PrintWriter for the provided stream.
virtual void setPrefixResolver(const PrefixResolver *thePrefixResolver)
Change the resolver for namespaces.
virtual bool popExecuteIf()
Pop the flag that determines if the if test was true.
virtual const XalanQName * getCurrentMode() const
Retrieve the current mode.
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 const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve the URI corresponding to a namespace prefix.
virtual XalanNumberFormat * create(MemoryManager &theManager)
virtual XalanNode * getRootDocument() const
Retrieve root document for stylesheet.
virtual void popXObjectPtr()
static MemoryManager & getDummyMemMgr()
virtual bool popProcessCurrentAttribute()
Pops the last flag setting that determines if the current attribute should be executed.
void setUsePerInstanceDocumentFactory(bool fValue)
const CollationCompareFunctor * installCollationCompareFunctor(CollationCompareFunctor *theFunctor)
Class to hold XObjectPtr return types.
virtual MutableNodeRefList * borrowMutableNodeRefList()
Borrow a cached MutableNodeRefList instance.
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...
Local implementation of NodeRefList.
virtual const XalanDOMString & getXalanXSLNameSpaceURL() const
Special Xalan namespace for built-in extensions.
virtual PrintWriter * createPrintWriter(StreamType &theStream)
Create a PrintWriter using the provided ostream instance.
virtual bool releaseCachedString(XalanDOMString &theString)
Return a cached string.
XalanCollationServices::CollationCompareFunctor CollationCompareFunctor
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 XalanDOMString & getCachedString()
Get a cached string for temporary use.
virtual void pushVariable(const XalanQName &name, const XObjectPtr val, const ElemTemplateElement *element)
Push a named variable onto the variables stack.
virtual void setStylesheetRoot(const StylesheetRoot *theStylesheet)
Set root stylesheet for stylesheet.
virtual void beginFormatToText(XalanDOMString &theResult)
Initiate to put execution result in string.
virtual void createUseAttributeSetIndexesOnStack()
This class takes SAX events (in addition to some extra events that SAX doesn't handle yet) and produc...
virtual void pushSkipElementAttributes(bool skipAttributes)
Set the flag that determines if an element's attributes should be skipped.
virtual const XObjectPtr endCreateXResultTreeFrag()
Indicate sthe completion of result tree fragment.
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 bool returnXResultTreeFrag(XResultTreeFrag *theXResultTreeFrag)
This is a hook that XResultTreeFrag instances (which are reference counted), can notify the owning St...
Class to represent a qualified name.
virtual void resolveTopLevelParams()
Resolve the params that were pushed by the caller.
DefaultCollationCompareFunctor()
void setDOMSupport(DOMSupport *theDOMSupport)
Set the DOMSupport instance.
virtual bool getSkipElementAttributes() const
Get the last flag setting that determines if an element's attributes should be skipped.
virtual tl_size_type getTraceListeners() const
Determine the number of trace listeners.
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
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 charactersRaw(const XalanNode &node)
Send raw character data from a node to the result tree.
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 void createAndPushNodesToTransformList(const NodeRefListBase *nodeList)
XALAN_STD_QUALIFIER pair< const key_type, data_type > value_type
virtual void pushCurrentTemplate(const ElemTemplate *theTemplate)
Set the current template.
virtual void pushOutputContext(FormatterListener *flistener=0)
virtual void charactersRaw(const XObjectPtr &xobject)
Send raw character data from an XObject to the result tree.
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0) const
Provides support for XML parsing service.
virtual void popCurrentMode()
Pop the current mode.
virtual void getUniqueNamespaceValue(XalanDOMString &theValue) const
Generate a random namespace prefix guaranteed to be unique.
virtual int operator()(const XalanDOMChar *theLHS, const XalanDOMChar *theRHS, XalanCollationServices::eCaseOrder theCaseOrder=XalanCollationServices::eDefault) const
virtual void returnXPath(const XPath *xpath)
Return the XPath created by createMatchPattern().
virtual const NodeRefListBase & getContextNodeList() const
Get the node list for current context.
virtual void popElementFrame()
Pop a frame marker for an element.
Local implementation of MutableNodeRefList.
virtual void pushTopLevelVariables(const ParamVectorType &topLevelParams)
Set a list of top level variables in the specified execution context stylesheet.
virtual void pushInvoker(const ElemTemplateElement *invoker)
Push the element that will invoke non children elements (i.e templates, attribute-sets)
VariablesStack::ParamsVectorType ParamsVectorTypeDecl
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.
void setXSLTProcessor(XSLTEngineImpl *theProcessor)
Set the DOMSupport instance.
virtual XalanNode * getNextNodeToTransform()
bool getUsePerInstanceDocumentFactory() const
virtual void pushProcessCurrentAttribute(bool processAttribute)
Set the flag that determines if the current attribute should be executed.
virtual size_type getContextNodeListLength() const
XalanVector< XalanOutputStream * > OutputStreamVectorType
virtual XalanDOMString & getLastCachedString()
Gets the last string that was cached on the stack.
It's the responsibility of the XSLTEngineImpl class, collaborating with the XML parser liaison,...
virtual bool functionAvailable(const XalanDOMString &theName, const Locator *locator) const
Determine if a function is available.
virtual void outputToResultTree(const XObject &xobj, const Locator *locator)
Output an object to the result tree by doing the right conversions.
virtual bool popSkipElementAttributes()
Pops the last flag setting that determines if an element's attributes should be skipped.
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 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 copyNamespaceAttributes(const XalanNode &src)
Add namespace attributes for a node to the list of pending attributes.
virtual void pushCopyTextNodesOnly(bool copyTextNodesOnly)
Set the flag that determines if only text nodes can be copied to the result tree.
virtual const XalanDOMString * getResultNamespaceForPrefix(const XalanDOMString &thePrefix) const
Retrieve the result namespace corresponding to a prefix.
static StylesheetExecutionContextDefault * create(MemoryManager &theManager, XalanNode *theCurrentNode=0, const NodeRefListBase *theContextNodeList=0, const PrefixResolver *thePrefixResolver=0)
virtual CountersTable & getCountersTable()
Get the counters table, which is a table of cached results that is used by ElemNumber.
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 problem(eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)
Function that is called when a problem event occurs.
virtual UseAttributeSetIndexes & getUseAttributeSetIndexes()
virtual MutableNodeRefList * createMutableNodeRefList(MemoryManager &theManager) const
Create a MutableNodeRefList with the appropriate context.
Interpreting class diagrams
Doxygen and
GraphViz are
used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.
|
|