This class represents the base stylesheet or an "import" stylesheet. More...
Public Member Functions | |
| Stylesheet (StylesheetRoot &root, const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext) | |
| Constructor for a Stylesheet needs a Document. More... | |
| virtual | ~Stylesheet () |
| MemoryManagerType & | getMemoryManager () |
| double | getXSLTVerDeclared () const |
| Retrieve XSLT version number. More... | |
| void | setXSLTVerDeclared (double ver) |
| Set XSLT version number. More... | |
| const StylesheetRoot & | getStylesheetRoot () const |
| Retrieve the root stylesheet object. More... | |
| StylesheetRoot & | getStylesheetRoot () |
| Retrieve the root stylesheet object. More... | |
| const NamespacesStackType & | getNamespaces () const |
| Retrieve the stack of namespace lists. More... | |
| NamespacesStackType & | getNamespaces () |
| Retrieve the stack of namespace lists. More... | |
| const NamespacesHandler & | getNamespacesHandler () const |
| NamespacesHandler & | getNamespacesHandler () |
| const NamespaceVectorType & | getNamespaceDecls () const |
| Retrieve the list of namespace declarations currently in effect. More... | |
| NamespaceVectorType & | getNamespaceDecls () |
| Retrieve the list of namespace declarations currently in effect. More... | |
| void | setNamespaceDecls (const NamespaceVectorType &ns) |
| Set the list of namespace declarations currently in effect. More... | |
| void | pushNamespaces (const AttributeListType &atts) |
| Push the namespace declarations from the current attribute list onto the namespace stack. More... | |
| void | popNamespaces () |
| Pop a namespace declaration from the namespace stack. More... | |
| void | addWhitespaceElement (const XalanSpaceNodeTester &theTester) |
| virtual void | postConstruction (StylesheetConstructionContext &constructionContext) |
| Called after construction is completed. More... | |
| bool | isAttrOK (const XalanDOMChar *attrName, const AttributeListType &atts, int which, StylesheetConstructionContext &constructionContext) const |
| See if this is a xmlns attribute, and, if so, process it. More... | |
| const XalanDOMString * | getNamespaceFromStack (const XalanDOMString &nodeName, XalanDOMString &theBuffer) const |
| Get the namespace from a qualified name. More... | |
| const XalanDOMString * | getNamespaceFromStack (const XalanDOMChar *nodeName, XalanDOMString &theBuffer) const |
| Get the namespace from a qualified name. More... | |
| const XalanDOMString * | getNamespaceForPrefixFromStack (const XalanDOMString &prefix) const |
| Get the namespace from a prefix by searching the stack of namespace lists. More... | |
| const XalanDOMString * | getNamespaceForPrefixFromStack (const XalanDOMChar *prefix) const |
| Get the namespace from a prefix by searching the stack of namespace lists. More... | |
| const XalanDOMString * | getNamespaceForPrefix (const XalanDOMString &prefix, StylesheetConstructionContext &constructionContext) const |
| Get the namespace for a prefix, and report an error if it wasn't found. More... | |
| const XalanDOMString * | getNamespaceForPrefix (const XalanDOMChar *prefix, StylesheetConstructionContext &constructionContext) const |
| Get the namespace for a prefix, and report an error if it wasn't found. More... | |
| void | processExcludeResultPrefixes (StylesheetConstructionContext &theConstructionContext, const XalanDOMChar *theValue) |
| See if a namespace should be excluded. More... | |
| void | addTemplate (ElemTemplate *theTemplate, StylesheetConstructionContext &constructionContext) |
| Add a template to the list of names templates. More... | |
| bool | getYesOrNo (const XalanDOMChar *aname, const XalanDOMChar *val, StylesheetConstructionContext &constructionContext) const |
| Process an attribute that has the value of 'yes' or 'no'. More... | |
| const XalanDOMString & | getBaseIdentifier () const |
| Retrieve the base identifier with which this stylesheet is associated. More... | |
| const XalanDOMString & | getCurrentIncludeBaseIdentifier () const |
| Retrieve the base identifier for the most recently included stylesheet. More... | |
| void | processNSAliasElement (const XalanDOMChar *name, const AttributeListType &atts, StylesheetConstructionContext &constructionContext) |
| Process an xsl:namespace-alias element. More... | |
| void | processDecimalFormatElement (StylesheetConstructionContext &constructionContext, const AttributeListType &atts, const LocatorType *locator=0) |
| Process an xsl:decimal-format element. More... | |
| const XalanDecimalFormatSymbols * | getDecimalFormatSymbols (const XalanQName &theQName) const |
| Retrieve the XalanDecimalFormatSymbols instance associated with the QName. More... | |
| void | addImport (Stylesheet *theStylesheet) |
| Add an imported stylesheet. More... | |
| bool | isWrapperless () const |
| whether there is a wrapper template More... | |
| ElemTemplateElement * | initWrapperless (StylesheetConstructionContext &constructionContext, const LocatorType *locator) |
| URLStackType & | getIncludeStack () |
| Retrieve the stack of who's including who. More... | |
| void | processKeyElement (const PrefixResolver &nsContext, const AttributeListType &atts, const LocatorType *locator, StylesheetConstructionContext &constructionContext) |
| Process the xsl:key element. More... | |
| const ElemTemplate * | findNamedTemplate (const XalanQName &qname) const |
| Locate a template via the "name" attribute. More... | |
| const ElemTemplate * | findTemplate (StylesheetExecutionContext &executionContext, XalanNode *targetNode) const |
| Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft. More... | |
| const ElemTemplate * | findTemplate (StylesheetExecutionContext &executionContext, XalanNode *targetNode, XalanNode::NodeType targetNodeType, const XalanQName &mode, bool onlyUseImports) const |
| Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft. More... | |
| const PatternTableVectorType * | locateElementMatchPatternDataList (const XalanDOMString &theName) const |
| Given a name, locate the start of a list of possible templates that match that name. More... | |
| const PatternTableVectorType * | locateAttributeMatchPatternDataList (const XalanDOMString &theName) const |
| Given a name, locate the start of a list of possible templates that match that name. More... | |
| const PatternTableVectorType * | locateMatchPatternDataList (const XalanNode &theNode, XalanNode::NodeType targetNodeType) const |
| Given a XalanNode, locate the start of a list of possible templates that match it. More... | |
| void | processExtensionNamespace (StylesheetConstructionContext &theConstructionContext, const XalanDOMString &uri) |
| Add an extension namespace handler. More... | |
| ExtensionNSHandler * | lookupExtensionNSHandler (const XalanDOMString &uri) const |
| Return the handler for a given extension namespace. More... | |
| void | setTopLevelVariable (ElemVariable *var) |
| Set a top level variable. More... | |
| void | pushTopLevelVariables (StylesheetExecutionContext &executionContext, const ParamVectorType &topLevelParams) const |
| Set a list of top level variables in the specified execution context stylesheet. 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... | |
| const XalanDOMString & | getXSLTNamespaceURI () const |
| void | setXSLTNamespaceURI (const XalanDOMString &theURI) |
| const ElemTemplate * | getFirstTemplate () const |
Static Public Member Functions | |
| static Stylesheet * | create (MemoryManagerType &theManager, StylesheetRoot &root, const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext) |
| static void | addObjectIfNotFound (const XalanMatchPatternData *thePattern, PatternTableVectorType &theVector) |
| Add object to vector of match patterns if not already there. More... | |
| static void | addObjectIfNotFound (const XalanMatchPatternData *thePattern, const XalanMatchPatternData *theArray[], unsigned int &theArraySize) |
| Add object to array of match patterns if not already there. More... | |
Protected Attributes | |
| StylesheetRoot & | m_stylesheetRoot |
| The root of the stylesheet tree. More... | |
| XalanDOMString | m_baseIdent |
| The base URL of the XSL document. More... | |
| KeyDeclarationVectorType | m_keyDeclarations |
| Table of KeyDeclaration objects, which are set by the xsl:key element. More... | |
| WhitespaceElementsVectorType | m_whitespaceElements |
Static Protected Attributes | |
| static const XalanQNameByReference | s_emptyQName |
Additional Inherited Members | |
Protected Member Functions inherited from PrefixResolver | |
| PrefixResolver () | |
| PrefixResolver (const PrefixResolver &) | |
| virtual | ~PrefixResolver () |
This class represents the base stylesheet or an "import" stylesheet.
"include" stylesheets are combined with the including stylesheet.
| typedef XalanMap<XalanQNameByReference, const ElemTemplate* > Stylesheet::ElemTemplateMapType |
| typedef StylesheetConstructionContext::GetAndReleaseCachedString Stylesheet::GetAndReleaseCachedString |
| typedef XalanMap<const XalanNode*, KeyTable* > Stylesheet::KeyTablesTableType |
| Stylesheet::Stylesheet | ( | StylesheetRoot & | root, |
| const XalanDOMString & | baseIdentifier, | ||
| StylesheetConstructionContext & | constructionContext | ||
| ) |
Constructor for a Stylesheet needs a Document.
| XSLProcessorException | thrown if the active ProblemListener and XMLParserLiaison decide the error condition is severe enough to halt processing. |
|
virtual |
| void Stylesheet::addImport | ( | Stylesheet * | theStylesheet | ) |
Add an imported stylesheet.
| theStylesheet | The stylesheet to add. |
|
static |
Add object to vector of match patterns if not already there.
| thePattern | pattern to add |
| theVector | vector of patterns to add to |
|
static |
Add object to array of match patterns if not already there.
theArraySize size will be incremented if the pattern was added.
| thePattern | pattern to add |
| theArray | vector of patterns to add to |
| theArraySize | The size of the array |
| void Stylesheet::addTemplate | ( | ElemTemplate * | theTemplate, |
| StylesheetConstructionContext & | constructionContext | ||
| ) |
Add a template to the list of names templates.
| theTemplate | template to add |
| constructionContext | context for construction |
| void Stylesheet::addWhitespaceElement | ( | const XalanSpaceNodeTester & | theTester | ) |
|
static |
| const ElemTemplate* Stylesheet::findNamedTemplate | ( | const XalanQName & | qname | ) | const |
Locate a template via the "name" attribute.
| name | qualified name of template |
| const ElemTemplate* Stylesheet::findTemplate | ( | StylesheetExecutionContext & | executionContext, |
| XalanNode * | targetNode | ||
| ) | const |
Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
| executionContext | current execution context |
| targetNode | element that needs a rule |
| const ElemTemplate* Stylesheet::findTemplate | ( | StylesheetExecutionContext & | executionContext, |
| XalanNode * | targetNode, | ||
| XalanNode::NodeType | targetNodeType, | ||
| const XalanQName & | mode, | ||
| bool | onlyUseImports | ||
| ) | const |
Given a target element, find the template that best matches in the given XSL document, according to the rules specified in the xsl draft.
| executionContext | current execution context |
| targetNode | node that needs a rule |
| targetNodeType | the type of targetNode |
| mode | string indicating the mode |
| onlyUseImports | only use imports, do not use any templates from the stylesheet itself |
| const XalanDOMString& Stylesheet::getBaseIdentifier | ( | ) | const |
Retrieve the base identifier with which this stylesheet is associated.
| const XalanDOMString& Stylesheet::getCurrentIncludeBaseIdentifier | ( | ) | const |
Retrieve the base identifier for the most recently included stylesheet.
This will return the same value as getBaseIdentifier(), if no include is being processed.
| const XalanDecimalFormatSymbols* Stylesheet::getDecimalFormatSymbols | ( | const XalanQName & | theQName | ) | const |
Retrieve the XalanDecimalFormatSymbols instance associated with the QName.
| theQName | the QName for the lookup |
| const ElemTemplate* Stylesheet::getFirstTemplate | ( | ) | const |
| URLStackType& Stylesheet::getIncludeStack | ( | ) |
Retrieve the stack of who's including who.
| MemoryManagerType& Stylesheet::getMemoryManager | ( | ) |
| const NamespaceVectorType& Stylesheet::getNamespaceDecls | ( | ) | const |
Retrieve the list of namespace declarations currently in effect.
| NamespaceVectorType& Stylesheet::getNamespaceDecls | ( | ) |
Retrieve the list of namespace declarations currently in effect.
| const XalanDOMString* Stylesheet::getNamespaceForPrefix | ( | const XalanDOMString & | prefix, |
| StylesheetConstructionContext & | constructionContext | ||
| ) | const |
Get the namespace for a prefix, and report an error if it wasn't found.
| prefix | prefix to search |
| constructionContext | The current construction context |
| const XalanDOMString* Stylesheet::getNamespaceForPrefix | ( | const XalanDOMChar * | prefix, |
| StylesheetConstructionContext & | constructionContext | ||
| ) | const |
Get the namespace for a prefix, and report an error if it wasn't found.
| prefix | prefix to search |
| constructionContext | The current construction context |
|
virtual |
Retrieve a namespace corresponding to a prefix.
This assumes that the PrevixResolver holds its own namespace context, or is a namespace context itself.
| prefix | Prefix to resolve |
Implements PrefixResolver.
| const XalanDOMString* Stylesheet::getNamespaceForPrefixFromStack | ( | const XalanDOMString & | prefix | ) | const |
Get the namespace from a prefix by searching the stack of namespace lists.
| prefix | prefix to search |
| const XalanDOMString* Stylesheet::getNamespaceForPrefixFromStack | ( | const XalanDOMChar * | prefix | ) | const |
Get the namespace from a prefix by searching the stack of namespace lists.
| prefix | prefix to search |
| const XalanDOMString* Stylesheet::getNamespaceFromStack | ( | const XalanDOMString & | nodeName, |
| XalanDOMString & | theBuffer | ||
| ) | const |
Get the namespace from a qualified name.
| nodeName | name of node |
| const XalanDOMString* Stylesheet::getNamespaceFromStack | ( | const XalanDOMChar * | nodeName, |
| XalanDOMString & | theBuffer | ||
| ) | const |
Get the namespace from a qualified name.
| nodeName | name of node |
| const NamespacesStackType& Stylesheet::getNamespaces | ( | ) | const |
Retrieve the stack of namespace lists.
| NamespacesStackType& Stylesheet::getNamespaces | ( | ) |
Retrieve the stack of namespace lists.
| const NamespacesHandler& Stylesheet::getNamespacesHandler | ( | ) | const |
| NamespacesHandler& Stylesheet::getNamespacesHandler | ( | ) |
| const StylesheetRoot& Stylesheet::getStylesheetRoot | ( | ) | const |
Retrieve the root stylesheet object.
| StylesheetRoot& Stylesheet::getStylesheetRoot | ( | ) |
Retrieve the root stylesheet object.
|
virtual |
| const XalanDOMString& Stylesheet::getXSLTNamespaceURI | ( | ) | const |
| double Stylesheet::getXSLTVerDeclared | ( | ) | const |
Retrieve XSLT version number.
| bool Stylesheet::getYesOrNo | ( | const XalanDOMChar * | aname, |
| const XalanDOMChar * | val, | ||
| StylesheetConstructionContext & | constructionContext | ||
| ) | const |
Process an attribute that has the value of 'yes' or 'no'.
| aname | name of attribute |
| val | value |
| constructionContext | context for construction |
| ElemTemplateElement* Stylesheet::initWrapperless | ( | StylesheetConstructionContext & | constructionContext, |
| const LocatorType * | locator | ||
| ) |
| bool Stylesheet::isAttrOK | ( | const XalanDOMChar * | attrName, |
| const AttributeListType & | atts, | ||
| int | which, | ||
| StylesheetConstructionContext & | constructionContext | ||
| ) | const |
See if this is a xmlns attribute, and, if so, process it.
| attrName | qualified name of attribute |
| atts | attribute list where the element comes from (not used at this time) |
| which | index into the attribute list (not used at this time) |
| bool Stylesheet::isWrapperless | ( | ) | const |
whether there is a wrapper template
| const PatternTableVectorType* Stylesheet::locateAttributeMatchPatternDataList | ( | const XalanDOMString & | theName | ) | const |
Given a name, locate the start of a list of possible templates that match that name.
If none match, then use the default list.
| theName | The name to match |
| const PatternTableVectorType* Stylesheet::locateElementMatchPatternDataList | ( | const XalanDOMString & | theName | ) | const |
Given a name, locate the start of a list of possible templates that match that name.
If none match, then use the default list.
| theName | The name to match |
| const PatternTableVectorType* Stylesheet::locateMatchPatternDataList | ( | const XalanNode & | theNode, |
| XalanNode::NodeType | targetNodeType | ||
| ) | const |
| ExtensionNSHandler* Stylesheet::lookupExtensionNSHandler | ( | const XalanDOMString & | uri | ) | const |
Return the handler for a given extension namespace.
| uri | the URI of the extension namespace. |
| void Stylesheet::popNamespaces | ( | ) |
Pop a namespace declaration from the namespace stack.
|
virtual |
Called after construction is completed.
Reimplemented in StylesheetRoot.
| void Stylesheet::processDecimalFormatElement | ( | StylesheetConstructionContext & | constructionContext, |
| const AttributeListType & | atts, | ||
| const LocatorType * | locator = 0 |
||
| ) |
Process an xsl:decimal-format element.
| elemDecimalFormat | the element |
| void Stylesheet::processExcludeResultPrefixes | ( | StylesheetConstructionContext & | theConstructionContext, |
| const XalanDOMChar * | theValue | ||
| ) |
See if a namespace should be excluded.
| theConstructionContext | the current construction context. |
| theValue | the prefix of the namespace. |
| void Stylesheet::processExtensionNamespace | ( | StylesheetConstructionContext & | theConstructionContext, |
| const XalanDOMString & | uri | ||
| ) |
Add an extension namespace handler.
This provides methods for calling an element extension as well as for function calls (which is passed on to XPath).
| constructionContext | The current construction context. |
| uri | The namespace URI of the extension. |
| void Stylesheet::processKeyElement | ( | const PrefixResolver & | nsContext, |
| const AttributeListType & | atts, | ||
| const LocatorType * | locator, | ||
| StylesheetConstructionContext & | constructionContext | ||
| ) |
Process the xsl:key element.
| nsContext | The PrefixResolver instance for namespace prefixes. |
| atts | The attribute list for element. #param locator The Locator instance for error reporting, if any. May be 0. |
| constructionContext | The current construction context. |
| void Stylesheet::processNSAliasElement | ( | const XalanDOMChar * | name, |
| const AttributeListType & | atts, | ||
| StylesheetConstructionContext & | constructionContext | ||
| ) |
Process an xsl:namespace-alias element.
| name | the element name. |
| attrs | the current attribute list |
| constructionContext | the active construction context |
| void Stylesheet::pushNamespaces | ( | const AttributeListType & | atts | ) |
Push the namespace declarations from the current attribute list onto the namespace stack.
| atts | attribute list constaining namespaces |
| void Stylesheet::pushTopLevelVariables | ( | StylesheetExecutionContext & | executionContext, |
| const ParamVectorType & | topLevelParams | ||
| ) | const |
Set a list of top level variables in the specified execution context stylesheet.
| executionContext | current execution context |
| topLevelParams | list of top level parameters |
| void Stylesheet::setNamespaceDecls | ( | const NamespaceVectorType & | ns | ) |
Set the list of namespace declarations currently in effect.
| ns | vector of namespace vectors |
| void Stylesheet::setTopLevelVariable | ( | ElemVariable * | var | ) |
Set a top level variable.
| var | top-level variable declared with "xsl:variable" or xsl:param-variable. |
| void Stylesheet::setXSLTNamespaceURI | ( | const XalanDOMString & | theURI | ) |
| void Stylesheet::setXSLTVerDeclared | ( | double | ver | ) |
Set XSLT version number.
| ver | number representing XSLT version |
|
protected |
The base URL of the XSL document.
|
protected |
Table of KeyDeclaration objects, which are set by the xsl:key element.
|
protected |
The root of the stylesheet tree.
|
protected |
|
staticprotected |
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
|
Xalan-C++ XSLT Processor Version 1.10 |
|
|