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...
Classes | |
| struct | FindStringPointerFunctor |
| struct | LessXalanDOMStringPointers |
Public Types | |
| typedef XalanVector< const LocatorType * > | LocatorStack |
| typedef XalanVector < TraceListener * > | TraceListenerVectorType |
| typedef XalanVector< const XalanDOMString * > | XalanDOMStringPointerVectorType |
| typedef XalanVector< bool > | BoolVectorType |
| typedef XalanMemMgrAutoPtr < XPathProcessor, true > | XPathProcessorPtrType |
| typedef Function::XObjectArgVectorType | XObjectArgVectorType |
| typedef StylesheetExecutionContext::ParamVectorType | ParamVectorType |
| typedef XPathConstructionContext::GetAndReleaseCachedString | CCGetAndReleaseCachedString |
| typedef XPathExecutionContext::GetAndReleaseCachedString | ECGetAndReleaseCachedString |
Public Types inherited from XSLTProcessor | |
| typedef size_t | size_type |
Public Member Functions | |
| XSLTEngineImpl (MemoryManagerType &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 () |
| MemoryManagerType & | getMemoryManager () |
| 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 StylesheetRoot * | processStylesheet (const XSLTInputSource &stylesheetSource, StylesheetConstructionContext &constructionContext) |
| Given a stylesheet input source, compile the stylesheet into an internal representation. More... | |
| virtual StylesheetRoot * | processStylesheet (const XalanDOMString &xsldocURLString, StylesheetConstructionContext &constructionContext) |
| Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation. More... | |
| virtual XalanNode * | getSourceTreeFromInput (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 XMLParserLiaison & | getXMLParserLiaison () 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) |
| Push a top-level stylesheet parameter. More... | |
| virtual void | setStylesheetParam (const XalanDOMString &key, XObjectPtr value) |
| Push a top-level stylesheet parameter. More... | |
| virtual FormatterListener * | getFormatterListener () 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 XalanDOMString * | getNamespaceForPrefix (const XalanDOMString &prefix) const |
| Retrieve a namespace corresponding to a prefix. More... | |
| virtual const XalanDOMString & | getURI () const |
| Retrieve the base URI for the resolver. More... | |
| XalanDocument * | parseXML (const XalanDOMString &urlString, DocumentHandlerType *docHandler, XalanDocument *docToRegister) |
| Read in the XML file, either producing a Document or calling SAX events, and register the document in a table. More... | |
| XalanDocument * | parseXML (const InputSourceType &inputSource, DocumentHandlerType *docHandler, XalanDocument *docToRegister) |
| Read in the XML file, either producing a Document or calling SAX events, and register the document in a table. More... | |
| Stylesheet * | 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. 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, XalanDOMString::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 LocatorType *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 LocatorType *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, XalanDOMString::size_type theLength, bool fromCopy=false, const LocatorType *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 LocatorType *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 LocatorType *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 LocatorType *locator) |
| Report an error copying a duplicate namespace node. More... | |
| void | setDocumentLocator (const LocatorType *locator) |
| void | startDocument () |
| void | endDocument () |
| void | startElement (const XalanDOMChar *name, AttributeListType &atts) |
| void | endElement (const XalanDOMChar *name) |
| void | characters (const XalanDOMChar *ch, XalanDOMString::size_type length) |
| void | ignorableWhitespace (const XalanDOMChar *ch, XalanDOMString::size_type length) |
| void | processingInstruction (const XalanDOMChar *target, const XalanDOMChar *data) |
| void | resetDocument () |
| void | characters (const XalanDOMChar *ch, XalanDOMString::size_type start, XalanDOMString::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, XalanDOMString::size_type start, XalanDOMString::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, XalanDOMString::size_type start, XalanDOMString::size_type length) |
| Receive notification of cdata. More... | |
| void | cloneToResultTree (const XalanNode &node, bool cloneTextNodesOnly, const LocatorType *locator) |
| Clone a node to the result tree. More... | |
| void | cloneToResultTree (const XalanNode &node, XalanNode::NodeType nodeType, bool overrideStrip, bool shouldCloneAttributes, bool cloneTextNodesOnly, const LocatorType *locator) |
| Clone a node to the result tree. More... | |
| void | outputToResultTree (const XObject &value, bool outputTextNodesOnly, const LocatorType *locator) |
| Output an object to the result tree by doing the right conversions. More... | |
| void | outputResultTreeFragment (const XObject &theTree, bool outputTextNodesOnly, const LocatorType *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 LocatorType *locator) |
| Given a result tree fragment, walk the tree and output it to the result stream. More... | |
| virtual const StylesheetRoot * | getStylesheetRoot () 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... | |
| virtual void | message (const XalanDOMString &msg, const XalanNode *sourceNode=0, const ElemTemplateElement *styleNode=0) const |
| Report a message. More... | |
| virtual void | message (const XalanDOMString &msg, const LocatorType &locator, const XalanNode *sourceNode=0) const |
| Report a message. More... | |
| virtual void | warn (const XalanDOMString &msg, const XalanNode *sourceNode=0, const ElemTemplateElement *styleNode=0) const |
| Report a warning. More... | |
| virtual void | warn (const XalanDOMString &msg, const LocatorType &locator, const XalanNode *sourceNode=0) const |
| Report a warning. More... | |
| virtual void | error (const XalanDOMString &msg, const XalanNode *sourceNode=0, const ElemTemplateElement *styleNode=0) const |
| Report an error and throw an exception. More... | |
| virtual void | error (const XalanDOMString &msg, const LocatorType &locator, const XalanNode *sourceNode=0) const |
| Report an error and throw an exception. More... | |
| const XalanDOMString * | getResultNamespaceForPrefix (const XalanDOMString &prefix) const |
| Retrieve the result namespace corresponding to a prefix. More... | |
| const XalanDOMString * | getResultPrefixForNamespace (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 XPath * | createMatchPattern (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... | |
| XPathFactory & | getXPathFactory () |
| Get the factory for making xpaths. More... | |
| XPathProcessor & | getXPathProcessor () |
| Get the XPath processor object. More... | |
| virtual void | reset () |
| Reset the state. More... | |
| XPathEnvSupport & | getXPathEnvSupport () |
| Retrieve the XPath environment support object. More... | |
| void | setProblemListener (ProblemListener *l) |
| Set the problem listener property. More... | |
| ProblemListener * | getProblemListener () 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 AttributeListType & | getPendingAttributes () 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 XalanDOMString & | getPendingElementName () 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 LocatorType * | getLocatorFromStack () const |
| Get the locator from the top of the locator stack. More... | |
| void | pushLocatorOnStack (const LocatorType *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 XSLTProcessor | |
| XSLTProcessor () | |
| virtual | ~XSLTProcessor () |
Public Member Functions inherited from PrefixResolver | |
| PrefixResolver () | |
| PrefixResolver (const PrefixResolver &) | |
| virtual | ~PrefixResolver () |
Static Public Member Functions | |
| static void | initialize (MemoryManagerType &theManager) |
| Perform initialization of statics – must be called before any processing occurs. More... | |
| static void | terminate () |
| Perform termination of statics. More... | |
| static const XalanDOMString & | getXSLNameSpaceURL () |
| Retrieve the URI for the current XSL namespace, for example, "http://www.w3.org/1999/XSL/Transform". More... | |
| static const XalanDOMString & | getXalanXSLNameSpaceURL () |
| Special Xalan namespace for built-in extensions. More... | |
Protected Member Functions | |
| const AttributeListImpl & | getPendingAttributesImpl () const |
| Get the list of attributes yet to be processed. More... | |
| AttributeListImpl & | getPendingAttributesImpl () |
| 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 XalanDOMString & | getPendingElementNameImpl () const |
| Retrieve name of the pending element currently being processed. More... | |
| XalanDOMString & | getPendingElementNameImpl () |
| 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) |
| FormatterListener * | getFormatterListenerImpl () 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... | |
| XPathFactory & | m_xpathFactory |
| XObjectFactory & | m_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... | |
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.
| typedef XalanVector<bool> XSLTEngineImpl::BoolVectorType |
| typedef XPathConstructionContext::GetAndReleaseCachedString XSLTEngineImpl::CCGetAndReleaseCachedString |
| typedef XPathExecutionContext::GetAndReleaseCachedString XSLTEngineImpl::ECGetAndReleaseCachedString |
| typedef XalanVector<const LocatorType*> XSLTEngineImpl::LocatorStack |
| typedef XalanVector<const XalanDOMString*> XSLTEngineImpl::XalanDOMStringPointerVectorType |
| XSLTEngineImpl::XSLTEngineImpl | ( | MemoryManagerType & | 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.
| XMLParserLiaison | liaison to an object that can help with a specific parser implementation |
| xpathEnvSupport | An XPathEnvSupport instance |
| domSupport | A DOMSupport instance for the DOM being used |
| xobjectFactory | object responsible for XObject objects |
| xpathFactory | object responsible for XPath objects |
|
virtual |
| void XSLTEngineImpl::addResultAttribute | ( | AttributeListImpl & | attList, |
| const XalanDOMString & | aname, | ||
| const XalanDOMString & | value, | ||
| bool | fromCopy = false, |
||
| const LocatorType * | locator = 0 |
||
| ) |
Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack.
| attList | attribute list added to |
| aname | name of attribute |
| value | value of attribute |
| fromCopy | true if the attribute is being copied from the source tree |
| locator | The Locator for reporting errors. |
| void XSLTEngineImpl::addResultAttribute | ( | AttributeListImpl & | attList, |
| const XalanDOMString & | aname, | ||
| const XalanDOMChar * | value, | ||
| bool | fromCopy = false, |
||
| const LocatorType * | locator = 0 |
||
| ) |
Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack.
| attList | attribute list added to |
| aname | name of attribute |
| value | value of attribute |
| fromCopy | true if the attribute is being copied from the source tree |
| locator | The Locator for reporting errors. |
| void XSLTEngineImpl::addResultAttribute | ( | AttributeListImpl & | attList, |
| const XalanDOMString & | aname, | ||
| const XalanDOMChar * | value, | ||
| XalanDOMString::size_type | theLength, | ||
| bool | fromCopy = false, |
||
| const LocatorType * | locator = 0 |
||
| ) |
Add attribute to attribute list, and if it is a namespace, add it to the namespaces stack.
| attList | attribute list added to |
| aname | name of attribute |
| value | value of attribute |
| theLength | The length of the value |
| fromCopy | true if the attribute is being copied from the source tree |
| locator | The Locator for reporting errors. |
| void XSLTEngineImpl::addResultAttribute | ( | const XalanDOMString & | aname, |
| const XalanDOMChar * | value, | ||
| bool | fromCopy = false, |
||
| const LocatorType * | locator = 0 |
||
| ) |
Add attribute to pending attributes list, and if it is a namespace, add it to the namespaces stack.
| aname | name of attribute |
| value | value of attribute |
| fromCopy | true if the attribute is being copied from the source tree |
| locator | The Locator for reporting errors. |
| void XSLTEngineImpl::addResultAttribute | ( | const XalanDOMString & | aname, |
| const XalanDOMString & | value, | ||
| bool | fromCopy = false, |
||
| const LocatorType * | locator = 0 |
||
| ) |
Add attribute to pending attributes list, and if it is a namespace, add it to the namespaces stack.
| aname | name of attribute |
| value | value of attribute |
| fromCopy | true if the attribute is being copied from the source tree |
| locator | The Locator for reporting errors. |
| void XSLTEngineImpl::addResultNamespaceDecl | ( | const XalanDOMString & | prefix, |
| const XalanDOMString & | namespaceVal | ||
| ) |
Add a namespace declaration to the namespace stack.
| prefix | namespace prefix |
| namespaceVal | value of namespace |
| void XSLTEngineImpl::addResultNamespaceDecl | ( | const XalanDOMString & | prefix, |
| const XalanDOMChar * | namespaceVal, | ||
| XalanDOMString::size_type | len | ||
| ) |
Add a namespace declaration to the namespace stack.
| prefix | namespace prefix |
| namespaceVal | value of namespace |
| len | length of namespace |
|
virtual |
Add a trace listener for the purposes of debugging and diagnosis.
| tl | pointer to listener to add |
Implements XSLTProcessor.
| void XSLTEngineImpl::cdata | ( | const XalanDOMChar * | ch, |
| XalanDOMString::size_type | start, | ||
| XalanDOMString::size_type | length | ||
| ) |
Receive notification of cdata.
| ch | pointer to characters from the XML document |
| start | start position in the array |
| length | number of characters to read from the array |
| void XSLTEngineImpl::characters | ( | const XalanDOMChar * | ch, |
| XalanDOMString::size_type | length | ||
| ) |
| void XSLTEngineImpl::characters | ( | const XalanDOMChar * | ch, |
| XalanDOMString::size_type | start, | ||
| XalanDOMString::size_type | length | ||
| ) |
Receive notification of character data.
| ch | pointer to characters from the XML document |
| start | startng offset in 'ch' array |
| length | number of characters to read from the array |
| void XSLTEngineImpl::characters | ( | const XalanNode & | node | ) |
Send character data from the node to the result tree.
| node | The node to send. |
| void XSLTEngineImpl::characters | ( | const XObjectPtr & | xobject | ) |
Send character data from an XObject to the result tree.
| node | The xobject to send. |
| void XSLTEngineImpl::charactersRaw | ( | const XalanDOMChar * | ch, |
| XalanDOMString::size_type | start, | ||
| XalanDOMString::size_type | length | ||
| ) |
Receive notification of character data.
If available, when the disable-output-escaping attribute is used, output raw text without escaping.
| ch | pointer to characters from the XML document |
| start | start position in the array |
| length | number of characters to read from the array |
| void XSLTEngineImpl::charactersRaw | ( | const XalanNode & | node | ) |
Send raw character data from the node to the result tree.
| node | The node to send. |
| void XSLTEngineImpl::charactersRaw | ( | const XObjectPtr & | xobject | ) |
Send raw character data from an XObject to the result tree.
| node | The xobject to send. |
| void XSLTEngineImpl::clearTopLevelParams | ( | ) |
Reset the vector of top level parameters.
| void XSLTEngineImpl::cloneToResultTree | ( | const XalanNode & | node, |
| bool | cloneTextNodesOnly, | ||
| const LocatorType * | locator | ||
| ) |
Clone a node to the result tree.
| node | node to clone |
| cloneTextNodesOnly | if true, only text nodes will be cloned |
| locator | the Locator for the event, if any. |
| void XSLTEngineImpl::cloneToResultTree | ( | const XalanNode & | node, |
| XalanNode::NodeType | nodeType, | ||
| bool | overrideStrip, | ||
| bool | shouldCloneAttributes, | ||
| bool | cloneTextNodesOnly, | ||
| const LocatorType * | locator | ||
| ) |
Clone a node to the result tree.
| node | node to clone |
| nodeType | the type of the node |
| overrideStrip | false if white space stripping should be done |
| shouldCloneAttributes | true if attributes should be cloned |
| cloneTextNodesOnly | if true, only text nodes will be cloned |
| locator | the Locator for the event, if any. |
| void XSLTEngineImpl::comment | ( | const XalanDOMChar * | data | ) |
Called when a Comment is to be constructed.
| data | pointer to comment data |
|
protected |
Copy the attributes from the XSL element to the created output element.
| void XSLTEngineImpl::copyAttributeToTarget | ( | const XalanDOMString & | attrName, |
| const XalanDOMString & | attrValue, | ||
| AttributeListImpl & | attrList | ||
| ) |
Copy an attribute to an AttributeListImpl.
| attrName | The name of the attribute |
| attrValue | The value of the attribute |
| attrList | The attribute list added to |
| void XSLTEngineImpl::copyNamespaceAttributes | ( | const XalanNode & | src | ) |
Copy XMLNS: attributes in if not already in scope.
| src | source node |
| const XPath* XSLTEngineImpl::createMatchPattern | ( | const XalanDOMString & | str, |
| const PrefixResolver & | resolver | ||
| ) |
| void XSLTEngineImpl::endDocument | ( | ) |
| void XSLTEngineImpl::endElement | ( | const XalanDOMChar * | name | ) |
| void XSLTEngineImpl::entityReference | ( | const XalanDOMChar * | data | ) |
Receive notification of a entityReference.
| data | pointer to characters from the XML document |
| SAXException |
|
virtual |
Report an error and throw an exception.
| msg | text of message to output |
| sourceNode | node in source where error occurred |
| styleNode | node in stylesheet where error occurred |
Implements XSLTProcessor.
|
virtual |
Report an error and throw an exception.
| msg | text of message to output |
| locator | A LocatorType for error reporting |
| sourceNode | node in source where error occurred |
Implements XSLTProcessor.
| double XSLTEngineImpl::evalMatchPatternStr | ( | const XalanDOMString & | str, |
| XalanNode * | context, | ||
| XPathExecutionContext & | executionContext | ||
| ) |
Evaluate an xpath string and return the result as a numberic score.
| str | string to evaluate |
| context | context node |
| executionContext | current execution context |
| const XObjectPtr XSLTEngineImpl::evalXPathStr | ( | const XalanDOMString & | str, |
| XPathExecutionContext & | executionContext | ||
| ) |
Evaluate an xpath string and return the result.
| str | string to evaluate |
| executionContext | current execution context |
| const XObjectPtr XSLTEngineImpl::evalXPathStr | ( | const XalanDOMString & | str, |
| XalanNode * | contextNode, | ||
| const PrefixResolver & | prefixResolver, | ||
| XPathExecutionContext & | executionContext | ||
| ) |
Evaluate an xpath string and return the result.
| str | string to evaluate |
| contextNode | context node |
| prefixResolver | prefix resolver to use |
| executionContext | current execution context |
| const XObjectPtr XSLTEngineImpl::evalXPathStr | ( | const XalanDOMString & | str, |
| XalanNode * | contextNode, | ||
| const XalanElement & | prefixResolver, | ||
| XPathExecutionContext & | executionContext | ||
| ) |
Evaluate an xpath string and return the result.
| str | string to evaluate |
| contextNode | context node |
| prefixResolver | prefix resolver to use |
| executionContext | current execution context |
|
virtual |
|
virtual |
|
virtual |
| void XSLTEngineImpl::flushPending | ( | ) |
Flush the pending element.
|
virtual |
|
protected |
| bool XSLTEngineImpl::getHasPendingStartDocument | ( | ) | const |
|
protected |
| const LocatorType* XSLTEngineImpl::getLocatorFromStack | ( | ) | const |
Get the locator from the top of the locator stack.
| MemoryManagerType& XSLTEngineImpl::getMemoryManager | ( | ) |
| bool XSLTEngineImpl::getMustFlushPendingStartDocument | ( | ) | const |
|
protected |
|
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.
| prefix | Prefix to resolve |
Implements PrefixResolver.
| const AttributeListType& XSLTEngineImpl::getPendingAttributes | ( | ) | const |
Get the list of attributes yet to be processed.
|
protected |
Get the list of attributes yet to be processed.
|
protected |
Get the list of attributes yet to be processed.
| const XalanDOMString& XSLTEngineImpl::getPendingElementName | ( | ) | const |
Retrieve name of the pending element currently being processed.
|
protected |
Retrieve name of the pending element currently being processed.
|
protected |
Retrieve name of the pending element currently being processed.
| ProblemListener* XSLTEngineImpl::getProblemListener | ( | ) | const |
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).
| bool XSLTEngineImpl::getQuietConflictWarnings | ( | ) | const |
Whether to warn about pattern match conflicts.
| const XalanDOMString* XSLTEngineImpl::getResultNamespaceForPrefix | ( | const XalanDOMString & | prefix | ) | const |
Retrieve the result namespace corresponding to a prefix.
| prefix | prefix for namespace |
| const XalanDOMString* XSLTEngineImpl::getResultPrefixForNamespace | ( | const XalanDOMString & | theNamespace | ) | const |
Retrieve the result prefix corresponding to a namespace.
| theNamespace | namespace for prefix |
|
virtual |
Given an input source, get the source tree.
| inputSource | pointer to input source |
Implements XSLTProcessor.
| Stylesheet* 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.
| xslURLString | valid URI to an XSL stylesheet |
| fragBase | base of tree if URI represents document fragment |
| xmlBaseIdent | base identifier for stylesheet URI |
| isRoot | true if stylesheet is root of tree |
| constructionContext | context for construction of object |
|
virtual |
|
virtual |
|
virtual |
If this is set to true, simple traces of template calls are made.
Implements XSLTProcessor.
|
virtual |
Generate a random namespace prefix guaranteed to be unique.
| theValue | A string for returning the new prefix |
Implements XSLTProcessor.
|
virtual |
|
static |
Special Xalan namespace for built-in extensions.
|
virtual |
Get the XML Parser Liaison that this processor uses.
Implements XSLTProcessor.
| XPathEnvSupport& XSLTEngineImpl::getXPathEnvSupport | ( | ) |
| XPathFactory& XSLTEngineImpl::getXPathFactory | ( | ) |
Get the factory for making xpaths.
| XPathProcessor& XSLTEngineImpl::getXPathProcessor | ( | ) |
Get the XPath processor object.
|
static |
Retrieve the URI for the current XSL namespace, for example, "http://www.w3.org/1999/XSL/Transform".
| void XSLTEngineImpl::ignorableWhitespace | ( | const XalanDOMChar * | ch, |
| XalanDOMString::size_type | length | ||
| ) |
|
static |
Perform initialization of statics – must be called before any processing occurs.
See class XSLTInit.
| bool XSLTEngineImpl::isElementPending | ( | ) | const |
| bool XSLTEngineImpl::isPendingResultPrefix | ( | const XalanDOMString & | thePrefix | ) | const |
Determine whether or not a prefix is in use on the pending element or the pending attributes.
| thePrefix | prefix for namespace |
|
virtual |
Report a message.
| msg | text of message to output |
| sourceNode | node in source where message occurred |
| styleNode | node in stylesheet where message occurred |
Implements XSLTProcessor.
|
virtual |
Report a message.
| msg | text of message to output |
| locator | A LocatorType for error reporting |
| sourceNode | node in source where message occurred |
Implements XSLTProcessor.
| void XSLTEngineImpl::outputResultTreeFragment | ( | const XObject & | theTree, |
| bool | outputTextNodesOnly, | ||
| const LocatorType * | locator | ||
| ) |
Given a result tree fragment, walk the tree and output it to the result stream.
| theTree | result tree fragment |
| outputTextNodesOnly | if true, only text nodes will be copied |
| locator | the Locator for the event, if any. |
| void XSLTEngineImpl::outputResultTreeFragment | ( | const XalanDocumentFragment & | theTree, |
| bool | outputTextNodesOnly, | ||
| const LocatorType * | locator | ||
| ) |
Given a result tree fragment, walk the tree and output it to the result stream.
| theTree | result tree fragment |
| outputTextNodesOnly | if true, only text nodes will be copied |
| locator | the Locator for the event, if any. |
| void XSLTEngineImpl::outputToResultTree | ( | const XObject & | value, |
| bool | outputTextNodesOnly, | ||
| const LocatorType * | locator | ||
| ) |
Output an object to the result tree by doing the right conversions.
| value | the XObject to output |
| outputTextNodesOnly | if true, only text nodes will be copied |
| locator | the Locator for the event, if any. |
| XalanDocument* XSLTEngineImpl::parseXML | ( | const XalanDOMString & | urlString, |
| DocumentHandlerType * | docHandler, | ||
| XalanDocument * | docToRegister | ||
| ) |
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.
| urlString | location of the XML |
| docHandler | pointer to SAX event handler |
| docToRegister | if using a SAX event handler, the object to register in the source docs table. |
| SAXException |
| XalanDocument* XSLTEngineImpl::parseXML | ( | const InputSourceType & | inputSource, |
| DocumentHandlerType * | docHandler, | ||
| XalanDocument * | docToRegister | ||
| ) |
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.
| inputSource | location of the XML |
| docHandler | pointer to SAX event handler |
| docToRegister | if using a SAX event handler, the object to register in the source docs table. |
| SAXException |
| void XSLTEngineImpl::popLocatorStack | ( | ) |
Pop the locator from the top of the locator stack.
| void XSLTEngineImpl::popOutputContext | ( | ) |
|
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.
| inputSource | input source |
| stylesheetSource | stylesheet source |
| outputTarget | output source tree |
| constructionContext | context for construction of objects |
| executionContext | current execution context |
| XSLProcessorException |
Implements XSLTProcessor.
|
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().
| inputSource | input source |
| outputTarget | output source tree |
| executionContext | current execution context |
| XSLProcessorException |
Implements XSLTProcessor.
| void XSLTEngineImpl::processingInstruction | ( | const XalanDOMChar * | target, |
| const XalanDOMChar * | data | ||
| ) |
|
virtual |
Given a stylesheet input source, compile the stylesheet into an internal representation.
| stylesheetSource | input source for the stylesheet |
| constructionContext | context for construction of objects |
| XSLProcessorException |
Implements XSLTProcessor.
|
virtual |
Given a URI to an XSL stylesheet, compile the stylesheet into an internal representation.
| xmldocURLString | URI to the input XML document |
| constructionContext | context for construction of objects |
| XSLProcessorException |
Implements XSLTProcessor.
| void XSLTEngineImpl::pushLocatorOnStack | ( | const LocatorType * | locator | ) |
Push a locator on to the locator stack.
| A | pointer to the Locator to push. |
| void XSLTEngineImpl::pushOutputContext | ( | FormatterListener * | theListener | ) |
|
virtual |
| void XSLTEngineImpl::replacePendingAttribute | ( | const XalanDOMChar * | theName, |
| const XalanDOMChar * | theNewType, | ||
| const XalanDOMChar * | theNewValue | ||
| ) |
Replace the contents of a pending attribute.
| theName | name of attribute |
| theNewType | type of attribute |
| theNewValue | new value of attribute |
| void XSLTEngineImpl::reportDuplicateNamespaceNodeError | ( | const XalanDOMString & | theName, |
| const LocatorType * | locator | ||
| ) |
Report an error copying a duplicate namespace node.
| theName | The name of the node. |
|
virtual |
Reset the state.
This needs to be called after a process() call is invoked, if the processor is to be used again.
Implements XSLTProcessor.
| void XSLTEngineImpl::resetDocument | ( | ) |
|
virtual |
Resolve the params that were pushed by the caller.
Implements XSLTProcessor.
| void XSLTEngineImpl::returnXPath | ( | const XPath * | xpath | ) |
Return the xpath created by createXPath() or createMatchPattern().
| xpath | The XPath to return. |
|
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.
| pw | pointer to print writer |
Implements XSLTProcessor.
| void XSLTEngineImpl::setDocumentLocator | ( | const LocatorType * | locator | ) |
|
virtual |
Set the execution context.
| theExecutionContext | pointer to new execution context. |
Implements XSLTProcessor.
|
virtual |
Set the current formatter listener.
| flistener | pointer to new formatter listener |
Implements XSLTProcessor.
|
protected |
| void XSLTEngineImpl::setHasPendingStartDocument | ( | bool | b | ) |
|
protected |
| void XSLTEngineImpl::setMustFlushPendingStartDocument | ( | bool | b | ) |
|
protected |
| void XSLTEngineImpl::setPendingAttributes | ( | const AttributeListType & | pendingAttributes | ) |
Set the list of attributes yet to be processed.
| pendingAttributes | The attribute list |
|
protected |
Set the list of attributes yet to be processed.
| pendingAttributes | The attribute list |
| void XSLTEngineImpl::setPendingElementName | ( | const XalanDOMString & | elementName | ) |
Changes the currently pending element name.
| elementName | new name of element |
| void XSLTEngineImpl::setPendingElementName | ( | const XalanDOMChar * | elementName | ) |
|
protected |
Changes the currently pending element name.
| elementName | new name of element |
|
protected |
Changes the currently pending element name.
| elementName | new name of element |
| void XSLTEngineImpl::setProblemListener | ( | ProblemListener * | l | ) |
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).
| l | pointer to ProblemListener interface |
|
virtual |
If the quietConflictWarnings property is set to true, warnings about pattern conflicts won't be printed to the diagnostics stream.
True by default.
| b | true if conflict warnings should be suppressed. |
Implements XSLTProcessor.
|
virtual |
Push a top-level stylesheet parameter.
This value can be evaluated via xsl:param-variable.
| key | name of the param |
| expression | expression that will be evaluated |
Implements XSLTProcessor.
|
virtual |
Push a top-level stylesheet parameter.
This value can be evaluated via xsl:param-variable.
| key | name of the parameter |
| value | XObject value for parameter |
Implements XSLTProcessor.
|
virtual |
Set the root stylesheet.
| theStylesheet | pointer to new root stylesheet |
Implements XSLTProcessor.
|
virtual |
| void XSLTEngineImpl::startDocument | ( | ) |
| void XSLTEngineImpl::startElement | ( | const XalanDOMChar * | name, |
| AttributeListType & | atts | ||
| ) |
| void XSLTEngineImpl::startElement | ( | const XalanDOMChar * | name | ) |
Receive notification of the beginning of an element with an empty attribute list.
| name | element type name |
|
static |
Perform termination of statics.
See class XSLTInit.
|
virtual |
Compose a diagnostic trace of the current selection.
| executionContext | The current execution context |
| theStylesheetElement | The executing stylesheet element |
| nl | The list of selected nodes |
| xpath | A pointer to the XPath which generated the list of nodes, if any. |
Implements XSLTProcessor.
|
virtual |
Report a warning.
| msg | text of message to output |
| sourceNode | node in source where warning occurred |
| styleNode | node in stylesheet where warning occurred |
Implements XSLTProcessor.
|
virtual |
Report a warning.
| msg | text of message to output |
| locator | A LocatorType for error reporting |
| sourceNode | node in source where error occurred |
Implements XSLTProcessor.
|
protected |
Stack of Booleans to keep track of if we should be outputting cdata instead of escaped text.
|
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.
|
protected |
The URL that belongs to the result namespace.
|
protected |
|
protected |
|
protected |
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
|
Xalan-C++ XSLT Processor Version 1.10 |
|
|