Xalan-C++ API Reference  1.12.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
xalanc::XSLTEngineImpl Class Reference

It's the responsibility of the XSLTEngineImpl class, collaborating with the XML parser liaison, the DOM, and the XPath engine, to transform a source tree of nodes into a result tree according to instructions and templates specified by a stylesheet tree. More...

#include <xalanc/XSLT/XSLTEngineImpl.hpp>

Inheritance diagram for xalanc::XSLTEngineImpl:
[legend]
Collaboration diagram for xalanc::XSLTEngineImpl:
[legend]

Classes

struct  FindStringPointerFunctor
 
struct  LessXalanDOMStringPointers
 

Public Types

typedef XalanVector< const Locator * > LocatorStack
 
typedef XalanVector< TraceListener * > TraceListenerVectorType
 
typedef XalanVector< const XalanDOMString * > XalanDOMStringPointerVectorType
 
typedef XalanVector< bool > BoolVectorType
 
typedef XalanMemMgrAutoPtr< XPathProcessorXPathProcessorPtrType
 
typedef Function::XObjectArgVectorType XObjectArgVectorType
 
typedef StylesheetExecutionContext::ParamVectorType ParamVectorType
 
typedef XPathConstructionContext::GetCachedString CCGetCachedString
 
typedef XPathExecutionContext::GetCachedString ECGetCachedString
 
typedef XalanMap< XalanDOMString, XalanParamHolderParamMapType
 
- Public Types inherited from xalanc::XSLTProcessor
typedef XalanSize_t size_type
 
- Public Types inherited from xalanc::ProblemListenerBase
enum  eSource {
  eXMLPARSER = 0, eXMLParser = 0, eXSLPROCESSOR = 1, eXSLTProcessor = 1,
  eXPATH = 2, eXPath = 2, eSourceCount
}
 
enum  eClassification {
  eMESSAGE = 0, eMessage = 0, eWARNING = 1, eWarning = 1,
  eERROR = 2, eError = 2, eClassificationCount
}
 
typedef eSource eProblemSource
 

Public Member Functions

 XSLTEngineImpl (MemoryManager &theManager, XMLParserLiaison &parserLiaison, XPathEnvSupport &xpathEnvSupport, DOMSupport &domSupport, XObjectFactory &xobjectFactory, XPathFactory &xpathFactory)
 Construct an XSL processor that can call back to a XML processor, so it can handle included files, and the like. More...
 
virtual ~XSLTEngineImpl ()
 
MemoryManager & getMemoryManager () const
 
MemoryManager & getMemoryManager ()
 
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. More...
 
virtual void problem (eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)
 Function that is called when a problem event occurs. More...
 
virtual void process (const XSLTInputSource &inputSource, const XSLTInputSource &stylesheetSource, XSLTResultTarget &outputTarget, StylesheetConstructionContext &constructionContext, StylesheetExecutionContext &executionContext)
 Transform the source tree to the output in the given result tree target. More...
 
virtual void process (const XSLTInputSource &inputSource, XSLTResultTarget &outputTarget, StylesheetExecutionContext &executionContext)
 Transform the source tree to the output in the given result tree target. More...
 
virtual StylesheetRootprocessStylesheet (const XSLTInputSource &stylesheetSource, StylesheetConstructionContext &constructionContext)
 Given a stylesheet input source, compile the stylesheet into an internal representation. More...
 
virtual StylesheetRootprocessStylesheet (const XalanDOMString &xsldocURLString, StylesheetConstructionContext &constructionContext)
 Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation. More...
 
virtual XalanNodegetSourceTreeFromInput (const XSLTInputSource &inputSource)
 Given an input source, get the source tree. More...
 
virtual void resolveTopLevelParams (StylesheetExecutionContext &executionContext)
 Resolve the params that were pushed by the caller. More...
 
virtual XMLParserLiaisongetXMLParserLiaison () const
 Get the XML Parser Liaison that this processor uses. More...
 
virtual void getUniqueNamespaceValue (XalanDOMString &theValue)
 Generate a random namespace prefix guaranteed to be unique. More...
 
virtual void setStylesheetParam (const XalanDOMString &key, const XalanDOMString &expression)
 Set a top-level parameter, which the stylesheet can access with a top-level xsl:param. More...
 
virtual void setStylesheetParam (const XalanDOMString &key, XObjectPtr value)
 Set a top-level parameter, which the stylesheet can access with a top-level xsl:param. More...
 
virtual void clearStylesheetParams ()
 Clear any stylesheet params. More...
 
virtual FormatterListenergetFormatterListener () const
 Get the current formatter listener. More...
 
virtual void setFormatterListener (FormatterListener *flistener)
 Set the current formatter listener. More...
 
virtual size_type getTraceListeners () const
 Determine the number of trace listeners. More...
 
virtual void addTraceListener (TraceListener *tl)
 Add a trace listener for the purposes of debugging and diagnosis. More...
 
virtual void removeTraceListener (TraceListener *tl)
 Remove a trace listener. More...
 
virtual void fireGenerateEvent (const GenerateEvent &ge)
 Fire a generate event. More...
 
virtual void fireTraceEvent (const TracerEvent &te)
 Fire a trace event. More...
 
virtual void fireSelectEvent (const SelectionEvent &se)
 Fire a selection event. More...
 
virtual bool getTraceSelects () const
 If this is set to true, simple traces of template calls are made. More...
 
virtual void setTraceSelects (bool b)
 
void traceSelect (StylesheetExecutionContext &executionContext, const ElemTemplateElement &theTemplate, const NodeRefListBase &nl, const XPath *xpath) const
 Compose a diagnostic trace of the current selection. More...
 
virtual void setQuietConflictWarnings (bool b)
 If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream. More...
 
virtual void setDiagnosticsOutput (PrintWriter *pw)
 If this is set, diagnostics will be written to the m_diagnosticsPrintWriter stream. More...
 
virtual const XalanDOMStringgetNamespaceForPrefix (const XalanDOMString &prefix) const
 Retrieve a namespace corresponding to a prefix. More...
 
virtual const XalanDOMStringgetURI () const
 Retrieve the base URI for the resolver. More...
 
XalanDocumentparseXML (const XalanDOMString &urlString, DocumentHandler *docHandler, XalanDocument *docToRegister, ErrorHandler *theErrorHandler=0)
 Read in the XML file, either producing a Document or calling SAX events, and register the document in a table. More...
 
XalanDocumentparseXML (const InputSource &inputSource, DocumentHandler *docHandler, XalanDocument *docToRegister, ErrorHandler *theErrorHandler=0)
 Read in the XML file, either producing a Document or calling SAX events, and register the document in a table. More...
 
StylesheetgetStylesheetFromPIURL (const XalanDOMString &xslURLString, XalanNode &fragBase, const XalanDOMString &xmlBaseIdent, bool isRoot, StylesheetConstructionContext &constructionContext)
 Reset the state of the XSL processor by reading in a new XSL stylesheet from a processing instruction. More...
 
void flushPending ()
 Flush the pending element. More...
 
void addResultNamespaceDecl (const XalanDOMString &prefix, const XalanDOMString &namespaceVal)
 Add a namespace declaration to the namespace stack. More...
 
void addResultNamespaceDecl (const XalanDOMString &prefix, const XalanDOMChar *namespaceVal, size_type len)
 Add a namespace declaration to the namespace stack. More...
 
void addResultAttribute (AttributeListImpl &attList, const XalanDOMString &aname, const XalanDOMString &value, bool fromCopy=false, const Locator *locator=0)
 Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack. More...
 
void addResultAttribute (AttributeListImpl &attList, const XalanDOMString &aname, const XalanDOMChar *value, bool fromCopy=false, const Locator *locator=0)
 Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack. More...
 
void addResultAttribute (AttributeListImpl &attList, const XalanDOMString &aname, const XalanDOMChar *value, size_type theLength, bool fromCopy=false, const Locator *locator=0)
 Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack. More...
 
void addResultAttribute (const XalanDOMString &aname, const XalanDOMChar *value, bool fromCopy=false, const Locator *locator=0)
 Add attribute to pending attributes list, and if it is a namespace, add it to the namespaces stack. More...
 
void addResultAttribute (const XalanDOMString &aname, const XalanDOMString &value, bool fromCopy=false, const Locator *locator=0)
 Add attribute to pending attributes list, and if it is a namespace, add it to the namespaces stack. More...
 
void reportDuplicateNamespaceNodeError (const XalanDOMString &theName, const Locator *locator)
 Report an error copying a duplicate namespace node. More...
 
void setDocumentLocator (const Locator *locator)
 
void startDocument ()
 
void endDocument ()
 
void startElement (const XalanDOMChar *name, AttributeListType &atts)
 
void endElement (const XalanDOMChar *name)
 
void characters (const XalanDOMChar *ch, size_type length)
 
void ignorableWhitespace (const XalanDOMChar *ch, size_type length)
 
void processingInstruction (const XalanDOMChar *target, const XalanDOMChar *data)
 
void resetDocument ()
 
void characters (const XalanDOMChar *ch, size_type start, size_type length)
 Receive notification of character data. More...
 
void characters (const XalanNode &node)
 Send character data from the node to the result tree. More...
 
void characters (const XObjectPtr &xobject)
 Send character data from an XObject to the result tree. More...
 
void startElement (const XalanDOMChar *name)
 Receive notification of the beginning of an element with an empty attribute list. More...
 
void charactersRaw (const XalanDOMChar *ch, size_type start, size_type length)
 Receive notification of character data. More...
 
void charactersRaw (const XalanNode &node)
 Send raw character data from the node to the result tree. More...
 
void charactersRaw (const XObjectPtr &xobject)
 Send raw character data from an XObject to the result tree. More...
 
void comment (const XalanDOMChar *data)
 Called when a Comment is to be constructed. More...
 
void entityReference (const XalanDOMChar *data)
 Receive notification of a entityReference. More...
 
void cdata (const XalanDOMChar *ch, size_type start, size_type length)
 Receive notification of cdata. More...
 
void cloneToResultTree (const XalanNode &node, bool cloneTextNodesOnly, const Locator *locator)
 Clone a node to the result tree. More...
 
void cloneToResultTree (const XalanNode &node, XalanNode::NodeType nodeType, bool overrideStrip, bool shouldCloneAttributes, bool cloneTextNodesOnly, const Locator *locator)
 Clone a node to the result tree. More...
 
void outputToResultTree (const XObject &value, bool outputTextNodesOnly, const Locator *locator)
 Output an object to the result tree by doing the right conversions. More...
 
void outputResultTreeFragment (const XObject &theTree, bool outputTextNodesOnly, const Locator *locator)
 Given a result tree fragment, walk the tree and output it to the result stream. More...
 
void outputResultTreeFragment (const XalanDocumentFragment &theTree, bool outputTextNodesOnly, const Locator *locator)
 Given a result tree fragment, walk the tree and output it to the result stream. More...
 
virtual const StylesheetRootgetStylesheetRoot () const
 Retrieve the root stylesheet. More...
 
virtual void setStylesheetRoot (const StylesheetRoot *theStylesheet)
 Set the root stylesheet. More...
 
virtual void setExecutionContext (StylesheetExecutionContext *theExecutionContext)
 Set the execution context. More...
 
bool getQuietConflictWarnings () const
 Whether to warn about pattern match conflicts. More...
 
const XalanDOMStringgetResultNamespaceForPrefix (const XalanDOMString &prefix) const
 Retrieve the result namespace corresponding to a prefix. More...
 
const XalanDOMStringgetResultPrefixForNamespace (const XalanDOMString &theNamespace) const
 Retrieve the result prefix corresponding to a namespace. More...
 
bool isPendingResultPrefix (const XalanDOMString &thePrefix) const
 Determine whether or not a prefix is in use on the pending element or the pending attributes. More...
 
double evalMatchPatternStr (const XalanDOMString &str, XalanNode *context, XPathExecutionContext &executionContext)
 Evaluate an xpath string and return the result as a numberic score. More...
 
const XPathcreateMatchPattern (const XalanDOMString &str, const PrefixResolver &resolver)
 Create and initialize an xpath and return it. More...
 
void returnXPath (const XPath *xpath)
 Return the xpath created by createXPath() or createMatchPattern(). More...
 
void copyNamespaceAttributes (const XalanNode &src)
 Copy XMLNS: attributes in if not already in scope. More...
 
const XObjectPtr evalXPathStr (const XalanDOMString &str, XPathExecutionContext &executionContext)
 Evaluate an xpath string and return the result. More...
 
const XObjectPtr evalXPathStr (const XalanDOMString &str, XalanNode *contextNode, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext)
 Evaluate an xpath string and return the result. More...
 
const XObjectPtr evalXPathStr (const XalanDOMString &str, XalanNode *contextNode, const XalanElement &prefixResolver, XPathExecutionContext &executionContext)
 Evaluate an xpath string and return the result. More...
 
void copyAttributeToTarget (const XalanDOMString &attrName, const XalanDOMString &attrValue, AttributeListImpl &attrList)
 Copy an attribute to an AttributeListImpl. More...
 
XPathFactorygetXPathFactory ()
 Get the factory for making xpaths. More...
 
XPathProcessorgetXPathProcessor ()
 Get the XPath processor object. More...
 
virtual void reset ()
 Reset the state. More...
 
XPathEnvSupportgetXPathEnvSupport ()
 Retrieve the XPath environment support object. More...
 
void setProblemListener (ProblemListener *l)
 Set the problem listener property. More...
 
ProblemListenergetProblemListener () const
 Get the problem listener property. More...
 
void pushOutputContext (FormatterListener *theListener)
 
void popOutputContext ()
 
bool getHasPendingStartDocument () const
 
void setHasPendingStartDocument (bool b)
 
bool getMustFlushPendingStartDocument () const
 
void setMustFlushPendingStartDocument (bool b)
 
const AttributeListTypegetPendingAttributes () const
 Get the list of attributes yet to be processed. More...
 
void setPendingAttributes (const AttributeListType &pendingAttributes)
 Set the list of attributes yet to be processed. More...
 
void replacePendingAttribute (const XalanDOMChar *theName, const XalanDOMChar *theNewType, const XalanDOMChar *theNewValue)
 Replace the contents of a pending attribute. More...
 
bool isElementPending () const
 
const XalanDOMStringgetPendingElementName () const
 Retrieve name of the pending element currently being processed. More...
 
void setPendingElementName (const XalanDOMString &elementName)
 Changes the currently pending element name. More...
 
void setPendingElementName (const XalanDOMChar *elementName)
 
const Locator * getLocatorFromStack () const
 Get the locator from the top of the locator stack. More...
 
void pushLocatorOnStack (const Locator *locator)
 Push a locator on to the locator stack. More...
 
void popLocatorStack ()
 Pop the locator from the top of the locator stack. More...
 
void clearTopLevelParams ()
 Reset the vector of top level parameters. More...
 
- Public Member Functions inherited from xalanc::XSLTProcessor
 XSLTProcessor ()
 
virtual ~XSLTProcessor ()
 
- Public Member Functions inherited from xalanc::ProblemListenerBase
 ProblemListenerBase ()
 
virtual ~ProblemListenerBase ()
 
- Public Member Functions inherited from xalanc::PrefixResolver
 PrefixResolver ()
 
 PrefixResolver (const PrefixResolver &)
 
virtual ~PrefixResolver ()
 

Static Public Member Functions

static void initialize (MemoryManager &theManager)
 Perform initialization of statics – must be called before any processing occurs. More...
 
static void terminate ()
 Perform termination of statics. More...
 
static const XalanDOMStringgetXSLNameSpaceURL ()
 Retrieve the URI for the current XSL namespace, for example, "http://www.w3.org/1999/XSL/Transform". More...
 
static const XalanDOMStringgetXalanXSLNameSpaceURL ()
 Special Xalan namespace for built-in extensions. More...
 
- Static Public Member Functions inherited from xalanc::ProblemListenerBase
static void defaultFormat (PrintWriter &pw, eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)
 Function to format a problem call to a PrintWriter instance. More...
 
static void defaultFormat (PrintWriter &pw, eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)
 Function to format a problem call to a PrintWriter instance. More...
 

Protected Member Functions

const AttributeListImplgetPendingAttributesImpl () const
 Get the list of attributes yet to be processed. More...
 
AttributeListImplgetPendingAttributesImpl ()
 Get the list of attributes yet to be processed. More...
 
void setPendingAttributesImpl (const AttributeListType &pendingAttributes)
 Set the list of attributes yet to be processed. More...
 
const XalanDOMStringgetPendingElementNameImpl () const
 Retrieve name of the pending element currently being processed. More...
 
XalanDOMStringgetPendingElementNameImpl ()
 Retrieve name of the pending element currently being processed. More...
 
void setPendingElementNameImpl (const XalanDOMString &elementName)
 Changes the currently pending element name. More...
 
void setPendingElementNameImpl (const XalanDOMChar *elementName)
 Changes the currently pending element name. More...
 
bool getHasPendingStartDocumentImpl () const
 
void setHasPendingStartDocumentImpl (bool b)
 
bool getMustFlushPendingStartDocumentImpl () const
 
void setMustFlushPendingStartDocumentImpl (bool b)
 
FormatterListenergetFormatterListenerImpl () const
 
void setFormatterListenerImpl (FormatterListener *flistener)
 
void copyAttributesToAttList (const XalanNode &node, AttributeListImpl &attList)
 Copy the attributes from the XSL element to the created output element. More...
 

Protected Attributes

XalanDOMString m_resultNameSpacePrefix
 The namespace that the result tree conforms to. More...
 
XalanDOMString m_resultNameSpaceURL
 The URL that belongs to the result namespace. More...
 
XPathFactorym_xpathFactory
 
XObjectFactorym_xobjectFactory
 
const XPathProcessorPtrType m_xpathProcessor
 
BoolVectorType m_cdataStack
 Stack of Booleans to keep track of if we should be outputting cdata instead of escaped text. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from xalanc::ProblemListenerBase
static const XalanMessages::Codes s_messageCodes [eSourceCount][eClassificationCount]
 

Detailed Description

It's the responsibility of the XSLTEngineImpl class, collaborating with the XML parser liaison, the DOM, and the XPath engine, to transform a source tree of nodes into a result tree according to instructions and templates specified by a stylesheet tree.

The process method is the primary public entry points.

If you reuse the processor instance, you should call reset() between calls.

Definition at line 131 of file XSLTEngineImpl.hpp.

Member Typedef Documentation

◆ BoolVectorType

Definition at line 161 of file XSLTEngineImpl.hpp.

◆ CCGetCachedString

Definition at line 186 of file XSLTEngineImpl.hpp.

◆ ECGetCachedString

Definition at line 187 of file XSLTEngineImpl.hpp.

◆ LocatorStack

Definition at line 157 of file XSLTEngineImpl.hpp.

◆ ParamMapType

Definition at line 189 of file XSLTEngineImpl.hpp.

◆ ParamVectorType

Definition at line 185 of file XSLTEngineImpl.hpp.

◆ TraceListenerVectorType

Definition at line 158 of file XSLTEngineImpl.hpp.

◆ XalanDOMStringPointerVectorType

Definition at line 159 of file XSLTEngineImpl.hpp.

◆ XObjectArgVectorType

Definition at line 184 of file XSLTEngineImpl.hpp.

◆ XPathProcessorPtrType

Definition at line 183 of file XSLTEngineImpl.hpp.

Constructor & Destructor Documentation

◆ XSLTEngineImpl()

xalanc::XSLTEngineImpl::XSLTEngineImpl ( MemoryManager &  theManager,
XMLParserLiaison parserLiaison,
XPathEnvSupport xpathEnvSupport,
DOMSupport domSupport,
XObjectFactory xobjectFactory,
XPathFactory xpathFactory 
)

Construct an XSL processor that can call back to a XML processor, so it can handle included files, and the like.

You must create a new instance of the XSLTEngineImpl class each time you run a transformation.

Parameters
XMLParserLiaisonliaison to an object that can help with a specific parser implementation
xpathEnvSupportAn XPathEnvSupport instance
domSupportA DOMSupport instance for the DOM being used
xobjectFactoryobject responsible for XObject objects
xpathFactoryobject responsible for XPath objects

◆ ~XSLTEngineImpl()

virtual xalanc::XSLTEngineImpl::~XSLTEngineImpl ( )
virtual

Member Function Documentation

◆ addResultAttribute() [1/5]

void xalanc::XSLTEngineImpl::addResultAttribute ( AttributeListImpl attList,
const XalanDOMString aname,
const XalanDOMChar *  value,
bool  fromCopy = false,
const Locator *  locator = 0 
)
inline

Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack.

Parameters
attListattribute list added to
anamename of attribute
valuevalue of attribute
fromCopytrue if the attribute is being copied from the source tree
locatorThe Locator for reporting errors.

Definition at line 510 of file XSLTEngineImpl.hpp.

References xalanc::length().

◆ addResultAttribute() [2/5]

void xalanc::XSLTEngineImpl::addResultAttribute ( AttributeListImpl attList,
const XalanDOMString aname,
const XalanDOMChar *  value,
size_type  theLength,
bool  fromCopy = false,
const Locator *  locator = 0 
)

Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack.

Parameters
attListattribute list added to
anamename of attribute
valuevalue of attribute
theLengthThe length of the value
fromCopytrue if the attribute is being copied from the source tree
locatorThe Locator for reporting errors.

◆ addResultAttribute() [3/5]

void xalanc::XSLTEngineImpl::addResultAttribute ( AttributeListImpl attList,
const XalanDOMString aname,
const XalanDOMString value,
bool  fromCopy = false,
const Locator *  locator = 0 
)
inline

Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack.

Parameters
attListattribute list added to
anamename of attribute
valuevalue of attribute
fromCopytrue if the attribute is being copied from the source tree
locatorThe Locator for reporting errors.

Definition at line 484 of file XSLTEngineImpl.hpp.

References xalanc::XalanDOMString::c_str().

◆ addResultAttribute() [4/5]

void xalanc::XSLTEngineImpl::addResultAttribute ( const XalanDOMString aname,
const XalanDOMChar *  value,
bool  fromCopy = false,
const Locator *  locator = 0 
)
inline

Add attribute to pending attributes list, and if it is a namespace, add it to the namespaces stack.

Parameters
anamename of attribute
valuevalue of attribute
fromCopytrue if the attribute is being copied from the source tree
locatorThe Locator for reporting errors.

Definition at line 556 of file XSLTEngineImpl.hpp.

◆ addResultAttribute() [5/5]

void xalanc::XSLTEngineImpl::addResultAttribute ( const XalanDOMString aname,
const XalanDOMString value,
bool  fromCopy = false,
const Locator *  locator = 0 
)
inline

Add attribute to pending attributes list, and if it is a namespace, add it to the namespaces stack.

Parameters
anamename of attribute
valuevalue of attribute
fromCopytrue if the attribute is being copied from the source tree
locatorThe Locator for reporting errors.

Definition at line 582 of file XSLTEngineImpl.hpp.

◆ addResultNamespaceDecl() [1/2]

void xalanc::XSLTEngineImpl::addResultNamespaceDecl ( const XalanDOMString prefix,
const XalanDOMChar *  namespaceVal,
size_type  len 
)
inline

Add a namespace declaration to the namespace stack.

Parameters
prefixnamespace prefix
namespaceValvalue of namespace
lenlength of namespace

Definition at line 462 of file XSLTEngineImpl.hpp.

◆ addResultNamespaceDecl() [2/2]

void xalanc::XSLTEngineImpl::addResultNamespaceDecl ( const XalanDOMString prefix,
const XalanDOMString namespaceVal 
)
inline

Add a namespace declaration to the namespace stack.

Parameters
prefixnamespace prefix
namespaceValvalue of namespace

Definition at line 444 of file XSLTEngineImpl.hpp.

References xalanc::XalanDOMString::c_str(), and xalanc::XalanDOMString::length().

◆ addTraceListener()

virtual void xalanc::XSLTEngineImpl::addTraceListener ( TraceListener tl)
virtual

Add a trace listener for the purposes of debugging and diagnosis.

Parameters
tlpointer to listener to add

Implements xalanc::XSLTProcessor.

◆ cdata()

void xalanc::XSLTEngineImpl::cdata ( const XalanDOMChar *  ch,
size_type  start,
size_type  length 
)

Receive notification of cdata.

Parameters
chpointer to characters from the XML document
startstart position in the array
lengthnumber of characters to read from the array

◆ characters() [1/4]

void xalanc::XSLTEngineImpl::characters ( const XalanDOMChar *  ch,
size_type  length 
)

◆ characters() [2/4]

void xalanc::XSLTEngineImpl::characters ( const XalanDOMChar *  ch,
size_type  start,
size_type  length 
)

Receive notification of character data.

Parameters
chpointer to characters from the XML document
startstartng offset in 'ch' array
lengthnumber of characters to read from the array

◆ characters() [3/4]

void xalanc::XSLTEngineImpl::characters ( const XalanNode node)

Send character data from the node to the result tree.

Parameters
nodeThe node to send.

◆ characters() [4/4]

void xalanc::XSLTEngineImpl::characters ( const XObjectPtr xobject)

Send character data from an XObject to the result tree.

Parameters
nodeThe xobject to send.

◆ charactersRaw() [1/3]

void xalanc::XSLTEngineImpl::charactersRaw ( const XalanDOMChar *  ch,
size_type  start,
size_type  length 
)

Receive notification of character data.

If available, when the disable-output-escaping attribute is used, output raw text without escaping.

Parameters
chpointer to characters from the XML document
startstart position in the array
lengthnumber of characters to read from the array

◆ charactersRaw() [2/3]

void xalanc::XSLTEngineImpl::charactersRaw ( const XalanNode node)

Send raw character data from the node to the result tree.

Parameters
nodeThe node to send.

◆ charactersRaw() [3/3]

void xalanc::XSLTEngineImpl::charactersRaw ( const XObjectPtr xobject)

Send raw character data from an XObject to the result tree.

Parameters
nodeThe xobject to send.

◆ clearStylesheetParams()

virtual void xalanc::XSLTEngineImpl::clearStylesheetParams ( )
virtual

Clear any stylesheet params.

Implements xalanc::XSLTProcessor.

◆ clearTopLevelParams()

void xalanc::XSLTEngineImpl::clearTopLevelParams ( )
inline

Reset the vector of top level parameters.

Definition at line 1554 of file XSLTEngineImpl.hpp.

References xalanc::XalanVector< Type, ConstructionTraits >::clear().

◆ cloneToResultTree() [1/2]

void xalanc::XSLTEngineImpl::cloneToResultTree ( const XalanNode node,
bool  cloneTextNodesOnly,
const Locator *  locator 
)

Clone a node to the result tree.

Parameters
nodenode to clone
cloneTextNodesOnlyif true, only text nodes will be cloned
locatorthe Locator for the event, if any.

◆ cloneToResultTree() [2/2]

void xalanc::XSLTEngineImpl::cloneToResultTree ( const XalanNode node,
XalanNode::NodeType  nodeType,
bool  overrideStrip,
bool  shouldCloneAttributes,
bool  cloneTextNodesOnly,
const Locator *  locator 
)

Clone a node to the result tree.

Parameters
nodenode to clone
nodeTypethe type of the node
overrideStripfalse if white space stripping should be done
shouldCloneAttributestrue if attributes should be cloned
cloneTextNodesOnlyif true, only text nodes will be cloned
locatorthe Locator for the event, if any.

◆ comment()

void xalanc::XSLTEngineImpl::comment ( const XalanDOMChar *  data)

Called when a Comment is to be constructed.

Parameters
datapointer to comment data

◆ copyAttributesToAttList()

void xalanc::XSLTEngineImpl::copyAttributesToAttList ( const XalanNode node,
AttributeListImpl attList 
)
protected

Copy the attributes from the XSL element to the created output element.

◆ copyAttributeToTarget()

void xalanc::XSLTEngineImpl::copyAttributeToTarget ( const XalanDOMString attrName,
const XalanDOMString attrValue,
AttributeListImpl attrList 
)

Copy an attribute to an AttributeListImpl.

Parameters
attrNameThe name of the attribute
attrValueThe value of the attribute
attrListThe attribute list added to

◆ copyNamespaceAttributes()

void xalanc::XSLTEngineImpl::copyNamespaceAttributes ( const XalanNode src)

Copy XMLNS: attributes in if not already in scope.

Parameters
srcsource node

◆ createMatchPattern()

const XPath* xalanc::XSLTEngineImpl::createMatchPattern ( const XalanDOMString str,
const PrefixResolver resolver 
)

Create and initialize an xpath and return it.

Parameters
strstring for XPath
resolverresolver for namespace resolution
Returns
pointer to XPath created

◆ endDocument()

void xalanc::XSLTEngineImpl::endDocument ( )

◆ endElement()

void xalanc::XSLTEngineImpl::endElement ( const XalanDOMChar *  name)

◆ entityReference()

void xalanc::XSLTEngineImpl::entityReference ( const XalanDOMChar *  data)

Receive notification of a entityReference.

Parameters
datapointer to characters from the XML document
Exceptions
SAXException

◆ evalMatchPatternStr()

double xalanc::XSLTEngineImpl::evalMatchPatternStr ( const XalanDOMString str,
XalanNode context,
XPathExecutionContext executionContext 
)

Evaluate an xpath string and return the result as a numberic score.

Parameters
strstring to evaluate
contextcontext node
executionContextcurrent execution context
Returns
score number, higher representing better match

◆ evalXPathStr() [1/3]

const XObjectPtr xalanc::XSLTEngineImpl::evalXPathStr ( const XalanDOMString str,
XalanNode contextNode,
const PrefixResolver prefixResolver,
XPathExecutionContext executionContext 
)

Evaluate an xpath string and return the result.

Parameters
strstring to evaluate
contextNodecontext node
prefixResolverprefix resolver to use
executionContextcurrent execution context
Returns
pointer to XObject result

◆ evalXPathStr() [2/3]

const XObjectPtr xalanc::XSLTEngineImpl::evalXPathStr ( const XalanDOMString str,
XalanNode contextNode,
const XalanElement prefixResolver,
XPathExecutionContext executionContext 
)

Evaluate an xpath string and return the result.

Parameters
strstring to evaluate
contextNodecontext node
prefixResolverprefix resolver to use
executionContextcurrent execution context
Returns
pointer to XObject result

◆ evalXPathStr() [3/3]

const XObjectPtr xalanc::XSLTEngineImpl::evalXPathStr ( const XalanDOMString str,
XPathExecutionContext executionContext 
)

Evaluate an xpath string and return the result.

Parameters
strstring to evaluate
executionContextcurrent execution context
Returns
pointer to XObject result

◆ fireGenerateEvent()

virtual void xalanc::XSLTEngineImpl::fireGenerateEvent ( const GenerateEvent ge)
virtual

Fire a generate event.

Parameters
gegenerate event to fire

Implements xalanc::XSLTProcessor.

◆ fireSelectEvent()

virtual void xalanc::XSLTEngineImpl::fireSelectEvent ( const SelectionEvent se)
virtual

Fire a selection event.

Parameters
seselection event to fire

Implements xalanc::XSLTProcessor.

◆ fireTraceEvent()

virtual void xalanc::XSLTEngineImpl::fireTraceEvent ( const TracerEvent te)
virtual

Fire a trace event.

Parameters
tetrace event to fire

Implements xalanc::XSLTProcessor.

◆ flushPending()

void xalanc::XSLTEngineImpl::flushPending ( )

Flush the pending element.

◆ getFormatterListener()

virtual FormatterListener* xalanc::XSLTEngineImpl::getFormatterListener ( ) const
virtual

Get the current formatter listener.

Returns
pointer to formatter listener

Implements xalanc::XSLTProcessor.

◆ getFormatterListenerImpl()

FormatterListener* xalanc::XSLTEngineImpl::getFormatterListenerImpl ( ) const
inlineprotected

Definition at line 1366 of file XSLTEngineImpl.hpp.

◆ getHasPendingStartDocument()

bool xalanc::XSLTEngineImpl::getHasPendingStartDocument ( ) const
inline

Definition at line 1101 of file XSLTEngineImpl.hpp.

◆ getHasPendingStartDocumentImpl()

bool xalanc::XSLTEngineImpl::getHasPendingStartDocumentImpl ( ) const
inlineprotected

Definition at line 1330 of file XSLTEngineImpl.hpp.

◆ getLocatorFromStack()

const Locator* xalanc::XSLTEngineImpl::getLocatorFromStack ( ) const
inline

Get the locator from the top of the locator stack.

Returns
A pointer to the Locator, or 0 if there is nothing on the stack.

Definition at line 1216 of file XSLTEngineImpl.hpp.

◆ getMemoryManager() [1/2]

MemoryManager& xalanc::XSLTEngineImpl::getMemoryManager ( )
inline

Definition at line 224 of file XSLTEngineImpl.hpp.

◆ getMemoryManager() [2/2]

MemoryManager& xalanc::XSLTEngineImpl::getMemoryManager ( ) const
inline

Definition at line 218 of file XSLTEngineImpl.hpp.

◆ getMustFlushPendingStartDocument()

bool xalanc::XSLTEngineImpl::getMustFlushPendingStartDocument ( ) const
inline

Definition at line 1121 of file XSLTEngineImpl.hpp.

◆ getMustFlushPendingStartDocumentImpl()

bool xalanc::XSLTEngineImpl::getMustFlushPendingStartDocumentImpl ( ) const
inlineprotected

Definition at line 1350 of file XSLTEngineImpl.hpp.

◆ getNamespaceForPrefix()

virtual const XalanDOMString* xalanc::XSLTEngineImpl::getNamespaceForPrefix ( const XalanDOMString prefix) const
virtual

Retrieve a namespace corresponding to a prefix.

This assumes that the PrevixResolver hold's its own namespace context, or is a namespace context itself.

Parameters
prefixPrefix to resolve
Returns
namespace that prefix resolves to, or null if prefix is not found

Implements xalanc::PrefixResolver.

◆ getPendingAttributes()

const AttributeListType& xalanc::XSLTEngineImpl::getPendingAttributes ( ) const
inline

Get the list of attributes yet to be processed.

Returns
attribute list

Definition at line 1142 of file XSLTEngineImpl.hpp.

◆ getPendingAttributesImpl() [1/2]

AttributeListImpl& xalanc::XSLTEngineImpl::getPendingAttributesImpl ( )
inlineprotected

Get the list of attributes yet to be processed.

Returns
attribute list

Definition at line 1263 of file XSLTEngineImpl.hpp.

◆ getPendingAttributesImpl() [2/2]

const AttributeListImpl& xalanc::XSLTEngineImpl::getPendingAttributesImpl ( ) const
inlineprotected

Get the list of attributes yet to be processed.

Returns
attribute list

Definition at line 1252 of file XSLTEngineImpl.hpp.

◆ getPendingElementName()

const XalanDOMString& xalanc::XSLTEngineImpl::getPendingElementName ( ) const
inline

Retrieve name of the pending element currently being processed.

Returns
element name

Definition at line 1188 of file XSLTEngineImpl.hpp.

◆ getPendingElementNameImpl() [1/2]

XalanDOMString& xalanc::XSLTEngineImpl::getPendingElementNameImpl ( )
inlineprotected

Retrieve name of the pending element currently being processed.

Returns
element name

Definition at line 1296 of file XSLTEngineImpl.hpp.

◆ getPendingElementNameImpl() [2/2]

const XalanDOMString& xalanc::XSLTEngineImpl::getPendingElementNameImpl ( ) const
inlineprotected

Retrieve name of the pending element currently being processed.

Returns
element name

Definition at line 1285 of file XSLTEngineImpl.hpp.

◆ getProblemListener()

ProblemListener* xalanc::XSLTEngineImpl::getProblemListener ( ) const
inline

Get the problem listener property.

The XSL class can have a single listener that can be informed of errors and warnings, and can normally control if an exception is thrown or not (or the problem listeners can throw their own RuntimeExceptions).

Returns
pointer to ProblemListener interface

Definition at line 1071 of file XSLTEngineImpl.hpp.

◆ getQuietConflictWarnings()

bool xalanc::XSLTEngineImpl::getQuietConflictWarnings ( ) const
inline

Whether to warn about pattern match conflicts.

Returns
true to not warn about pattern match conflicts

Definition at line 874 of file XSLTEngineImpl.hpp.

◆ getResultNamespaceForPrefix()

const XalanDOMString* xalanc::XSLTEngineImpl::getResultNamespaceForPrefix ( const XalanDOMString prefix) const

Retrieve the result namespace corresponding to a prefix.

Parameters
prefixprefix for namespace
Returns
string for namespace URI

◆ getResultPrefixForNamespace()

const XalanDOMString* xalanc::XSLTEngineImpl::getResultPrefixForNamespace ( const XalanDOMString theNamespace) const

Retrieve the result prefix corresponding to a namespace.

Parameters
theNamespacenamespace for prefix
Returns
string for namespace prefix

◆ getSourceTreeFromInput()

virtual XalanNode* xalanc::XSLTEngineImpl::getSourceTreeFromInput ( const XSLTInputSource inputSource)
virtual

Given an input source, get the source tree.

Parameters
inputSourcepointer to input source
Returns
source tree

Implements xalanc::XSLTProcessor.

◆ getStylesheetFromPIURL()

Stylesheet* xalanc::XSLTEngineImpl::getStylesheetFromPIURL ( const XalanDOMString xslURLString,
XalanNode fragBase,
const XalanDOMString xmlBaseIdent,
bool  isRoot,
StylesheetConstructionContext constructionContext 
)

Reset the state of the XSL processor by reading in a new XSL stylesheet from a processing instruction.

Parameters
xslURLStringvalid URI to an XSL stylesheet
fragBasebase of tree if URI represents document fragment
xmlBaseIdentbase identifier for stylesheet URI
isRoottrue if stylesheet is root of tree
constructionContextcontext for construction of object
Returns
pointer to stylesheet

◆ getStylesheetRoot()

virtual const StylesheetRoot* xalanc::XSLTEngineImpl::getStylesheetRoot ( ) const
virtual

Retrieve the root stylesheet.

Returns
pointer to root stylesheet

Implements xalanc::XSLTProcessor.

◆ getTraceListeners()

virtual size_type xalanc::XSLTEngineImpl::getTraceListeners ( ) const
virtual

Determine the number of trace listeners.

Returns
number of listeners

Implements xalanc::XSLTProcessor.

◆ getTraceSelects()

virtual bool xalanc::XSLTEngineImpl::getTraceSelects ( ) const
virtual

If this is set to true, simple traces of template calls are made.

Returns
true if traces made

Implements xalanc::XSLTProcessor.

◆ getUniqueNamespaceValue()

virtual void xalanc::XSLTEngineImpl::getUniqueNamespaceValue ( XalanDOMString theValue)
virtual

Generate a random namespace prefix guaranteed to be unique.

Parameters
theValueA string for returning the new prefix

Implements xalanc::XSLTProcessor.

◆ getURI()

virtual const XalanDOMString& xalanc::XSLTEngineImpl::getURI ( ) const
virtual

Retrieve the base URI for the resolver.

Returns
URI string

Implements xalanc::PrefixResolver.

◆ getXalanXSLNameSpaceURL()

static const XalanDOMString& xalanc::XSLTEngineImpl::getXalanXSLNameSpaceURL ( )
inlinestatic

Special Xalan namespace for built-in extensions.

Returns
Xalan namespace for extensions

Definition at line 863 of file XSLTEngineImpl.hpp.

◆ getXMLParserLiaison()

virtual XMLParserLiaison& xalanc::XSLTEngineImpl::getXMLParserLiaison ( ) const
virtual

Get the XML Parser Liaison that this processor uses.

Returns
XML parser liaison object

Implements xalanc::XSLTProcessor.

◆ getXPathEnvSupport()

XPathEnvSupport& xalanc::XSLTEngineImpl::getXPathEnvSupport ( )
inline

Retrieve the XPath environment support object.

Returns
XPath environment support object

Definition at line 1043 of file XSLTEngineImpl.hpp.

◆ getXPathFactory()

XPathFactory& xalanc::XSLTEngineImpl::getXPathFactory ( )
inline

Get the factory for making xpaths.

Returns
XPath factory object

Definition at line 1014 of file XSLTEngineImpl.hpp.

◆ getXPathProcessor()

XPathProcessor& xalanc::XSLTEngineImpl::getXPathProcessor ( )
inline

Get the XPath processor object.

Returns
XPathProcessor interface being used

Definition at line 1025 of file XSLTEngineImpl.hpp.

◆ getXSLNameSpaceURL()

static const XalanDOMString& xalanc::XSLTEngineImpl::getXSLNameSpaceURL ( )
inlinestatic

Retrieve the URI for the current XSL namespace, for example, "http://www.w3.org/1999/XSL/Transform".

Returns
URI string

Definition at line 852 of file XSLTEngineImpl.hpp.

◆ ignorableWhitespace()

void xalanc::XSLTEngineImpl::ignorableWhitespace ( const XalanDOMChar *  ch,
size_type  length 
)

◆ initialize()

static void xalanc::XSLTEngineImpl::initialize ( MemoryManager &  theManager)
static

Perform initialization of statics – must be called before any processing occurs.

See class XSLTInit.

◆ isElementPending()

bool xalanc::XSLTEngineImpl::isElementPending ( ) const
inline

Definition at line 1177 of file XSLTEngineImpl.hpp.

◆ isPendingResultPrefix()

bool xalanc::XSLTEngineImpl::isPendingResultPrefix ( const XalanDOMString thePrefix) const

Determine whether or not a prefix is in use on the pending element or the pending attributes.

Parameters
thePrefixprefix for namespace
Returns
true if the prefix is in use, false if not.

◆ outputResultTreeFragment() [1/2]

void xalanc::XSLTEngineImpl::outputResultTreeFragment ( const XalanDocumentFragment theTree,
bool  outputTextNodesOnly,
const Locator *  locator 
)

Given a result tree fragment, walk the tree and output it to the result stream.

Parameters
theTreeresult tree fragment
outputTextNodesOnlyif true, only text nodes will be copied
locatorthe Locator for the event, if any.

◆ outputResultTreeFragment() [2/2]

void xalanc::XSLTEngineImpl::outputResultTreeFragment ( const XObject theTree,
bool  outputTextNodesOnly,
const Locator *  locator 
)
inline

Given a result tree fragment, walk the tree and output it to the result stream.

Parameters
theTreeresult tree fragment
outputTextNodesOnlyif true, only text nodes will be copied
locatorthe Locator for the event, if any.

Definition at line 796 of file XSLTEngineImpl.hpp.

References xalanc::XObject::rtree().

◆ outputToResultTree()

void xalanc::XSLTEngineImpl::outputToResultTree ( const XObject value,
bool  outputTextNodesOnly,
const Locator *  locator 
)

Output an object to the result tree by doing the right conversions.

Parameters
valuethe XObject to output
outputTextNodesOnlyif true, only text nodes will be copied
locatorthe Locator for the event, if any.

◆ parseXML() [1/2]

XalanDocument* xalanc::XSLTEngineImpl::parseXML ( const InputSource &  inputSource,
DocumentHandler *  docHandler,
XalanDocument docToRegister,
ErrorHandler *  theErrorHandler = 0 
)

Read in the XML file, either producing a Document or calling SAX events, and register the document in a table.

If the document has already been read in, it will not be reparsed.

Parameters
inputSourcelocation of the XML
docHandlerpointer to SAX event handler
docToRegisterif using a SAX event handler, the object to register in the source docs table.
Returns
document object, which represents the parsed XML
Exceptions
SAXException

◆ parseXML() [2/2]

XalanDocument* xalanc::XSLTEngineImpl::parseXML ( const XalanDOMString urlString,
DocumentHandler *  docHandler,
XalanDocument docToRegister,
ErrorHandler *  theErrorHandler = 0 
)

Read in the XML file, either producing a Document or calling SAX events, and register the document in a table.

If the document has already been read in, it will not be reparsed.

Parameters
urlStringlocation of the XML
docHandlerpointer to SAX event handler
docToRegisterif using a SAX event handler, the object to register in the source docs table.
Returns
document object, which represents the parsed XML
Exceptions
SAXException

◆ popLocatorStack()

void xalanc::XSLTEngineImpl::popLocatorStack ( )
inline

Pop the locator from the top of the locator stack.

Definition at line 1236 of file XSLTEngineImpl.hpp.

◆ popOutputContext()

void xalanc::XSLTEngineImpl::popOutputContext ( )
inline

Definition at line 1091 of file XSLTEngineImpl.hpp.

◆ problem() [1/2]

virtual void xalanc::XSLTEngineImpl::problem ( eSource  source,
eClassification  classification,
const XalanDOMString msg,
const Locator *  locator,
const XalanNode sourceNode 
)
virtual

Function that is called when a problem event occurs.

Parameters
sourceEither eXMLParser, eXSLProcessor, or eXPATH.
classificationEither eMessage, eWarning, or eError.
locatorThe current Locator instance for the stylesheet. Maybe be a null pointer.
sourceNodeThe current source node, if any.
msgThe error message.

Implements xalanc::XSLTProcessor.

◆ problem() [2/2]

virtual void xalanc::XSLTEngineImpl::problem ( eSource  source,
eClassification  classification,
const XalanDOMString msg,
const XalanNode sourceNode 
)
virtual

Function that is called when a problem event occurs.

This version assumes location information is already formatted into the message.

Parameters
sourceeither eXMLPARSER, eXSLPROCESSOR, or eXPATH
classificationeither eMESSAGE, eERROR or eWARNING
msgstring message explaining the problem.

Implements xalanc::XSLTProcessor.

◆ process() [1/2]

virtual void xalanc::XSLTEngineImpl::process ( const XSLTInputSource inputSource,
const XSLTInputSource stylesheetSource,
XSLTResultTarget outputTarget,
StylesheetConstructionContext constructionContext,
StylesheetExecutionContext executionContext 
)
virtual

Transform the source tree to the output in the given result tree target.

The processor will process the input source, the stylesheet source, and transform to the output target.

Parameters
inputSourceinput source
stylesheetSourcestylesheet source
outputTargetoutput source tree
constructionContextcontext for construction of objects
executionContextcurrent execution context
Exceptions
XSLProcessorException

Implements xalanc::XSLTProcessor.

◆ process() [2/2]

virtual void xalanc::XSLTEngineImpl::process ( const XSLTInputSource inputSource,
XSLTResultTarget outputTarget,
StylesheetExecutionContext executionContext 
)
virtual

Transform the source tree to the output in the given result tree target.

This function does not create a stylesheet tree, it assumes the provided StylesheetExecutionContext has the stylesheet tree to use. This is set by calling StylesheetExecutionContext::setStylesheetRoot().

Parameters
inputSourceinput source
outputTargetoutput source tree
executionContextcurrent execution context
Exceptions
XSLProcessorException

Implements xalanc::XSLTProcessor.

◆ processingInstruction()

void xalanc::XSLTEngineImpl::processingInstruction ( const XalanDOMChar *  target,
const XalanDOMChar *  data 
)

◆ processStylesheet() [1/2]

virtual StylesheetRoot* xalanc::XSLTEngineImpl::processStylesheet ( const XalanDOMString xsldocURLString,
StylesheetConstructionContext constructionContext 
)
virtual

Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation.

Parameters
xmldocURLStringURI to the input XML document
constructionContextcontext for construction of objects
Returns
pointer to compiled stylesheet object
Exceptions
XSLProcessorException

Implements xalanc::XSLTProcessor.

◆ processStylesheet() [2/2]

virtual StylesheetRoot* xalanc::XSLTEngineImpl::processStylesheet ( const XSLTInputSource stylesheetSource,
StylesheetConstructionContext constructionContext 
)
virtual

Given a stylesheet input source, compile the stylesheet into an internal representation.

Parameters
stylesheetSourceinput source for the stylesheet
constructionContextcontext for construction of objects
Returns
pointer to the compiled stylesheet object
Exceptions
XSLProcessorException

Implements xalanc::XSLTProcessor.

◆ pushLocatorOnStack()

void xalanc::XSLTEngineImpl::pushLocatorOnStack ( const Locator *  locator)
inline

Push a locator on to the locator stack.

Parameters
Apointer to the Locator to push.

Definition at line 1227 of file XSLTEngineImpl.hpp.

◆ pushOutputContext()

void xalanc::XSLTEngineImpl::pushOutputContext ( FormatterListener theListener)
inline

Definition at line 1082 of file XSLTEngineImpl.hpp.

◆ removeTraceListener()

virtual void xalanc::XSLTEngineImpl::removeTraceListener ( TraceListener tl)
virtual

Remove a trace listener.

Parameters
tlTrace listener to be removed.

Implements xalanc::XSLTProcessor.

◆ replacePendingAttribute()

void xalanc::XSLTEngineImpl::replacePendingAttribute ( const XalanDOMChar *  theName,
const XalanDOMChar *  theNewType,
const XalanDOMChar *  theNewValue 
)
inline

Replace the contents of a pending attribute.

Parameters
theNamename of attribute
theNewTypetype of attribute
theNewValuenew value of attribute

Definition at line 1166 of file XSLTEngineImpl.hpp.

◆ reportDuplicateNamespaceNodeError()

void xalanc::XSLTEngineImpl::reportDuplicateNamespaceNodeError ( const XalanDOMString theName,
const Locator *  locator 
)

Report an error copying a duplicate namespace node.

Parameters
theNameThe name of the node.

◆ reset()

virtual void xalanc::XSLTEngineImpl::reset ( )
virtual

Reset the state.

This needs to be called after a process() call is invoked, if the processor is to be used again.

Implements xalanc::XSLTProcessor.

◆ resetDocument()

void xalanc::XSLTEngineImpl::resetDocument ( )

◆ resolveTopLevelParams()

virtual void xalanc::XSLTEngineImpl::resolveTopLevelParams ( StylesheetExecutionContext executionContext)
virtual

Resolve the params that were pushed by the caller.

Implements xalanc::XSLTProcessor.

◆ returnXPath()

void xalanc::XSLTEngineImpl::returnXPath ( const XPath xpath)

Return the xpath created by createXPath() or createMatchPattern().

Parameters
xpathThe XPath to return.

◆ setDiagnosticsOutput()

virtual void xalanc::XSLTEngineImpl::setDiagnosticsOutput ( PrintWriter pw)
virtual

If this is set, diagnostics will be written to the m_diagnosticsPrintWriter stream.

If the value is null, then diagnostics will be turned off.

Parameters
pwpointer to print writer

Implements xalanc::XSLTProcessor.

◆ setDocumentLocator()

void xalanc::XSLTEngineImpl::setDocumentLocator ( const Locator *  locator)

◆ setExecutionContext()

virtual void xalanc::XSLTEngineImpl::setExecutionContext ( StylesheetExecutionContext theExecutionContext)
virtual

Set the execution context.

Parameters
theExecutionContextpointer to new execution context.

Implements xalanc::XSLTProcessor.

◆ setFormatterListener()

virtual void xalanc::XSLTEngineImpl::setFormatterListener ( FormatterListener flistener)
virtual

Set the current formatter listener.

Parameters
flistenerpointer to new formatter listener

Implements xalanc::XSLTProcessor.

◆ setFormatterListenerImpl()

void xalanc::XSLTEngineImpl::setFormatterListenerImpl ( FormatterListener flistener)
inlineprotected

Definition at line 1372 of file XSLTEngineImpl.hpp.

◆ setHasPendingStartDocument()

void xalanc::XSLTEngineImpl::setHasPendingStartDocument ( bool  b)
inline

Definition at line 1111 of file XSLTEngineImpl.hpp.

◆ setHasPendingStartDocumentImpl()

void xalanc::XSLTEngineImpl::setHasPendingStartDocumentImpl ( bool  b)
inlineprotected

Definition at line 1340 of file XSLTEngineImpl.hpp.

◆ setMustFlushPendingStartDocument()

void xalanc::XSLTEngineImpl::setMustFlushPendingStartDocument ( bool  b)
inline

Definition at line 1131 of file XSLTEngineImpl.hpp.

◆ setMustFlushPendingStartDocumentImpl()

void xalanc::XSLTEngineImpl::setMustFlushPendingStartDocumentImpl ( bool  b)
inlineprotected

Definition at line 1360 of file XSLTEngineImpl.hpp.

◆ setPendingAttributes()

void xalanc::XSLTEngineImpl::setPendingAttributes ( const AttributeListType pendingAttributes)
inline

Set the list of attributes yet to be processed.

Parameters
pendingAttributesThe attribute list

Definition at line 1153 of file XSLTEngineImpl.hpp.

◆ setPendingAttributesImpl()

void xalanc::XSLTEngineImpl::setPendingAttributesImpl ( const AttributeListType pendingAttributes)
inlineprotected

Set the list of attributes yet to be processed.

Parameters
pendingAttributesThe attribute list

Definition at line 1274 of file XSLTEngineImpl.hpp.

◆ setPendingElementName() [1/2]

void xalanc::XSLTEngineImpl::setPendingElementName ( const XalanDOMChar *  elementName)
inline

Definition at line 1205 of file XSLTEngineImpl.hpp.

◆ setPendingElementName() [2/2]

void xalanc::XSLTEngineImpl::setPendingElementName ( const XalanDOMString elementName)
inline

Changes the currently pending element name.

Parameters
elementNamenew name of element

Definition at line 1199 of file XSLTEngineImpl.hpp.

◆ setPendingElementNameImpl() [1/2]

void xalanc::XSLTEngineImpl::setPendingElementNameImpl ( const XalanDOMChar *  elementName)
inlineprotected

Changes the currently pending element name.

Parameters
elementNamenew name of element

Definition at line 1318 of file XSLTEngineImpl.hpp.

◆ setPendingElementNameImpl() [2/2]

void xalanc::XSLTEngineImpl::setPendingElementNameImpl ( const XalanDOMString elementName)
inlineprotected

Changes the currently pending element name.

Parameters
elementNamenew name of element

Definition at line 1307 of file XSLTEngineImpl.hpp.

◆ setProblemListener()

void xalanc::XSLTEngineImpl::setProblemListener ( ProblemListener l)
inline

Set the problem listener property.

The XSL class can have a single listener that can be informed of errors and warnings, and can normally control if an exception is thrown or not (or the problem listeners can throw their own RuntimeExceptions).

Parameters
lpointer to ProblemListener interface

Definition at line 1057 of file XSLTEngineImpl.hpp.

◆ setQuietConflictWarnings()

virtual void xalanc::XSLTEngineImpl::setQuietConflictWarnings ( bool  b)
virtual

If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream.

True by default.

Parameters
btrue if conflict warnings should be suppressed.

Implements xalanc::XSLTProcessor.

◆ setStylesheetParam() [1/2]

virtual void xalanc::XSLTEngineImpl::setStylesheetParam ( const XalanDOMString key,
const XalanDOMString expression 
)
virtual

Set a top-level parameter, which the stylesheet can access with a top-level xsl:param.

Top-level params are "sticky," and must be removed with a call to clearStylesheetParams().

Parameters
keyname of the param
expressionexpression that will be evaluated

Implements xalanc::XSLTProcessor.

◆ setStylesheetParam() [2/2]

virtual void xalanc::XSLTEngineImpl::setStylesheetParam ( const XalanDOMString key,
XObjectPtr  value 
)
virtual

Set a top-level parameter, which the stylesheet can access with a top-level xsl:param.

Top-level params are "sticky," and must be removed with a call to clearStylesheetParams().

Parameters
keyname of the parameter
valueXObject value for parameter

Implements xalanc::XSLTProcessor.

◆ setStylesheetRoot()

virtual void xalanc::XSLTEngineImpl::setStylesheetRoot ( const StylesheetRoot theStylesheet)
virtual

Set the root stylesheet.

Parameters
theStylesheetpointer to new root stylesheet

Implements xalanc::XSLTProcessor.

◆ setTraceSelects()

virtual void xalanc::XSLTEngineImpl::setTraceSelects ( bool  b)
virtual

◆ startDocument()

void xalanc::XSLTEngineImpl::startDocument ( )

◆ startElement() [1/2]

void xalanc::XSLTEngineImpl::startElement ( const XalanDOMChar *  name)

Receive notification of the beginning of an element with an empty attribute list.

Parameters
nameelement type name

◆ startElement() [2/2]

void xalanc::XSLTEngineImpl::startElement ( const XalanDOMChar *  name,
AttributeListType atts 
)

◆ terminate()

static void xalanc::XSLTEngineImpl::terminate ( )
static

Perform termination of statics.

See class XSLTInit.

◆ traceSelect()

void xalanc::XSLTEngineImpl::traceSelect ( StylesheetExecutionContext executionContext,
const ElemTemplateElement theStylesheetElement,
const NodeRefListBase nl,
const XPath xpath 
) const
virtual

Compose a diagnostic trace of the current selection.

Parameters
executionContextThe current execution context
theStylesheetElementThe executing stylesheet element
nlThe list of selected nodes
xpathA pointer to the XPath which generated the list of nodes, if any.

Implements xalanc::XSLTProcessor.

Member Data Documentation

◆ m_cdataStack

BoolVectorType xalanc::XSLTEngineImpl::m_cdataStack
protected

Stack of Booleans to keep track of if we should be outputting cdata instead of escaped text.

Definition at line 1413 of file XSLTEngineImpl.hpp.

◆ m_resultNameSpacePrefix

XalanDOMString xalanc::XSLTEngineImpl::m_resultNameSpacePrefix
protected

The namespace that the result tree conforms to.

A null value indicates that result-ns is not used and there is no checking. A empty string indicates that the result tree conforms to the default namespace.

Definition at line 1383 of file XSLTEngineImpl.hpp.

◆ m_resultNameSpaceURL

XalanDOMString xalanc::XSLTEngineImpl::m_resultNameSpaceURL
protected

The URL that belongs to the result namespace.

Definition at line 1388 of file XSLTEngineImpl.hpp.

◆ m_xobjectFactory

XObjectFactory& xalanc::XSLTEngineImpl::m_xobjectFactory
protected

Definition at line 1404 of file XSLTEngineImpl.hpp.

◆ m_xpathFactory

XPathFactory& xalanc::XSLTEngineImpl::m_xpathFactory
protected

Definition at line 1401 of file XSLTEngineImpl.hpp.

◆ m_xpathProcessor

const XPathProcessorPtrType xalanc::XSLTEngineImpl::m_xpathProcessor
protected

Definition at line 1407 of file XSLTEngineImpl.hpp.


The documentation for this class was generated from the following file: