17 #if !defined(XALAN_STYLESHEET_HEADER_GUARD)
18 #define XALAN_STYLESHEET_HEADER_GUARD
55 XALAN_CPP_NAMESPACE_BEGIN
135 return m_elementPatternTable.getMemoryManager();
146 return m_XSLTVerDeclared;
157 m_XSLTVerDeclared = ver;
168 return m_stylesheetRoot;
179 return m_stylesheetRoot;
187 const NamespacesStackType&
207 return m_namespacesHandler;
213 return m_namespacesHandler;
221 const NamespaceVectorType&
224 return m_namespaceDecls;
235 return m_namespaceDecls;
246 m_namespaceDecls = ns;
264 assert(m_namespaces.empty() ==
false);
266 m_namespaces.pop_back();
289 const XalanDOMChar* attrName,
304 return getNamespaceFromStack(
c_wstr(nodeName), theBuffer);
314 getNamespaceFromStack(
const XalanDOMChar* nodeName,
366 const XalanDOMChar* prefix,
379 const XalanDOMChar* theValue)
381 m_namespacesHandler.processExcludeResultPrefixes(
382 theConstructionContext,
408 const XalanDOMChar* aname,
409 const XalanDOMChar* val,
434 return m_includeStack.
empty() ==
true ? getBaseIdentifier() : m_includeStack.back();
445 processNSAliasElement(
446 const XalanDOMChar* name,
456 processDecimalFormatElement(
469 getDecimalFormatSymbols(
const XalanQName& theQName)
const;
479 m_imports.insert(m_imports.begin(), theStylesheet);
490 return m_isWrapperless;
506 return m_includeStack;
519 const PrefixResolver& nsContext,
531 findNamedTemplate(
const XalanQName& qname)
const;
546 assert(targetNode != 0);
573 bool onlyUseImports)
const;
584 PatternTableVectorType& theVector);
599 unsigned int& theArraySize);
608 const PatternTableVectorType*
609 locateElementMatchPatternDataList(
const XalanDOMString& theName)
const;
618 const PatternTableVectorType*
619 locateAttributeMatchPatternDataList(
const XalanDOMString& theName)
const;
627 const PatternTableVectorType*
628 locateMatchPatternDataList(
641 processExtensionNamespace(
655 m_extensionNamespaces.find(uri);
657 return it == m_extensionNamespaces.end() ? 0 : (*it).second;
669 m_topLevelVariables.push_back(var);
682 const ParamVectorType& topLevelParams)
const;
696 return m_XSLTNamespaceURI;
702 m_XSLTNamespaceURI = theURI;
708 return m_firstTemplate;
756 findTemplateInImports(
771 StylesheetVectorType m_imports;
778 NamespacesStackType m_namespaces;
784 NamespaceVectorType m_namespaceDecls;
790 bool m_isWrapperless;
795 ExtensionNamespacesMapType m_extensionNamespaces;
806 URLStackType m_includeStack;
813 ElemTemplateMapType m_namedTemplates;
818 ElemVariableVectorType m_topLevelVariables;
823 double m_XSLTVerDeclared;
830 PatternTableMapType m_elementPatternTable;
834 PatternTableVectorType m_elementAnyPatternList;
841 PatternTableMapType m_attributePatternTable;
845 PatternTableVectorType m_attributeAnyPatternList;
850 PatternTableVectorType m_textPatternList;
852 PatternTableVectorType m_commentPatternList;
854 PatternTableVectorType m_rootPatternList;
856 PatternTableVectorType m_piPatternList;
861 PatternTableVectorType m_nodePatternList;
863 size_type m_patternCount;
865 ElemDecimalFormatVectorType m_elemDecimalFormats;
874 XALAN_CPP_NAMESPACE_END
878 #endif // XALAN_STYLESHEET_HEADER_GUARD
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1111
NamespacesStackType & getNamespaces()
Retrieve the stack of namespace lists.
Definition: Stylesheet.hpp:199
XalanDOMString m_baseIdent
The base URL of the XSL document.
Definition: Stylesheet.hpp:721
Definition: ElemVariable.hpp:52
static const XalanQNameByReference s_emptyQName
Definition: Stylesheet.hpp:731
const XalanDOMChar * c_wstr(const XalanDOMString &theString)
Get the underlying representation of the target XalanDOMString as a null-terminated string...
Definition: DOMStringHelper.hpp:153
Definition: XalanNode.hpp:44
Definition: ElemTemplate.hpp:41
NamespacesHandler & getNamespacesHandler()
Definition: Stylesheet.hpp:211
XERCES_CPP_NAMESPACE_QUALIFIER AttributeList AttributeListType
Definition: AttributeListImpl.hpp:39
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
This class contains information concerning a match pattern in a stylesheet.
Definition: XalanMatchPatternData.hpp:50
XalanQName::NamespaceVectorType NamespaceVectorType
Definition: Stylesheet.hpp:91
XalanMap< XalanQNameByReference, const ElemTemplate * > ElemTemplateMapType
Definition: Stylesheet.hpp:105
Definition: ElemTemplateElement.hpp:74
Definition: NamespacesHandler.hpp:50
KeyDeclarationVectorType m_keyDeclarations
Table of KeyDeclaration objects, which are set by the xsl:key element.
Definition: Stylesheet.hpp:727
XalanVector< XalanDOMString > URLStackType
Definition: Stylesheet.hpp:97
Definition: XalanSpaceNodeTester.hpp:44
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
Definition: StylesheetRoot.hpp:61
void popNamespaces()
Pop a namespace declaration from the namespace stack.
Definition: Stylesheet.hpp:262
XalanVector< ElemVariable * > ElemVariableVectorType
Definition: Stylesheet.hpp:94
NodeType
Definition: XalanNode.hpp:53
Definition: StylesheetExecutionContext.hpp:104
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.
Definition: Stylesheet.hpp:542
const StylesheetRoot & getStylesheetRoot() const
Retrieve the root stylesheet object.
Definition: Stylesheet.hpp:166
URLStackType & getIncludeStack()
Retrieve the stack of who's including who.
Definition: Stylesheet.hpp:504
StylesheetConstructionContext::size_type size_type
Definition: Stylesheet.hpp:89
NamespaceVectorType & getNamespaceDecls()
Retrieve the list of namespace declarations currently in effect.
Definition: Stylesheet.hpp:233
void setTopLevelVariable(ElemVariable *var)
Set a top level variable.
Definition: Stylesheet.hpp:667
Definition: XalanQNameByReference.hpp:35
Definition: XalanMap.hpp:113
XalanMap< XalanDOMString, ExtensionNSHandler * > ExtensionNamespacesMapType
Definition: Stylesheet.hpp:102
Definition: KeyTable.hpp:77
const NamespaceVectorType & getNamespaceDecls() const
Retrieve the list of namespace declarations currently in effect.
Definition: Stylesheet.hpp:222
double getXSLTVerDeclared() const
Retrieve XSLT version number.
Definition: Stylesheet.hpp:144
Local implementation of NodeRefList.
Definition: NodeRefListBase.hpp:42
size_t size_type
Definition: StylesheetConstructionContext.hpp:82
StylesheetRoot & m_stylesheetRoot
The root of the stylesheet tree.
Definition: Stylesheet.hpp:716
const XalanDOMString * getNamespaceForPrefixFromStack(const XalanDOMString &prefix) const
Get the namespace from a prefix by searching the stack of namespace lists.
Definition: Stylesheet.hpp:325
virtual NodeType getNodeType() const =0
An enum value representing the type of the underlying object.
const XalanDOMString & getXSLTNamespaceURI() const
Definition: Stylesheet.hpp:694
const XalanDOMString * getNamespaceForPrefixFromStack(const XalanDOMChar *prefix) const
Get the namespace from a prefix by searching the stack of namespace lists.
Definition: Stylesheet.hpp:338
void setNamespaceDecls(const NamespaceVectorType &ns)
Set the list of namespace declarations currently in effect.
Definition: Stylesheet.hpp:244
void processExcludeResultPrefixes(StylesheetConstructionContext &theConstructionContext, const XalanDOMChar *theValue)
See if a namespace should be excluded.
Definition: Stylesheet.hpp:377
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const =0
Retrieve the URI corresponding to a namespace prefix.
XalanVector< const XalanMatchPatternData * > PatternTableVectorTypeDecl
Definition: Stylesheet.hpp:73
StylesheetExecutionContext::ParamVectorType ParamVectorType
Definition: Stylesheet.hpp:90
const NamespacesHandler & getNamespacesHandler() const
Definition: Stylesheet.hpp:205
const XalanDOMString * getNamespaceFromStack(const XalanDOMString &nodeName, XalanDOMString &theBuffer) const
Get the namespace from a qualified name.
Definition: Stylesheet.hpp:301
void addImport(Stylesheet *theStylesheet)
Add an imported stylesheet.
Definition: Stylesheet.hpp:477
XalanVector< XalanSpaceNodeTester > WhitespaceElementsVectorType
Definition: Stylesheet.hpp:99
This class defines an interface for classes that resolve namespace prefixes to their URIs...
Definition: PrefixResolver.hpp:37
Definition: ExtensionNSHandler.hpp:54
static const XalanDOMString * getNamespaceForPrefix(const NamespaceVectorType &namespaces, const XalanDOMString &prefix)
Get the namespace for a prefix by searching a vector of namespaces.
Class to hold XPath return types.
Definition: XObject.hpp:61
void setXSLTNamespaceURI(const XalanDOMString &theURI)
Definition: Stylesheet.hpp:700
size_t size_type
Definition: XalanVector.hpp:71
XalanQName::NamespacesStackType NamespacesStackType
Definition: Stylesheet.hpp:92
ExtensionNSHandler * lookupExtensionNSHandler(const XalanDOMString &uri) const
Return the handler for a given extension namespace.
Definition: Stylesheet.hpp:652
virtual void pushTopLevelVariables(const ParamVectorType &topLevelParams)=0
Set a list of top level variables in the specified execution context stylesheet.
#define XALAN_USES_MEMORY_MANAGER(Type)
Definition: XalanMemoryManagement.hpp:468
XalanVector< KeyDeclaration > KeyDeclarationVectorType
Definition: Stylesheet.hpp:95
#define XALAN_XSLT_EXPORT
Definition: XSLTDefinitions.hpp:25
Definition: XPathConstructionContext.hpp:116
WhitespaceElementsVectorType m_whitespaceElements
Definition: Stylesheet.hpp:729
bool isWrapperless() const
whether there is a wrapper template
Definition: Stylesheet.hpp:488
XalanMap< const XalanNode *, KeyTable * > KeyTablesTableType
Definition: Stylesheet.hpp:107
const XalanDOMString & getBaseIdentifier() const
Retrieve the base identifier with which this stylesheet is associated.
Definition: Stylesheet.hpp:418
Definition: XalanDOMString.hpp:42
StylesheetConstructionContext::GetAndReleaseCachedString GetAndReleaseCachedString
Definition: Stylesheet.hpp:111
Definition: StylesheetConstructionContext.hpp:73
XalanVector< Stylesheet * > StylesheetVectorType
Definition: Stylesheet.hpp:96
const NamespacesStackType & getNamespaces() const
Retrieve the stack of namespace lists.
Definition: Stylesheet.hpp:188
XalanVector< ElemDecimalFormat * > ElemDecimalFormatVectorType
Definition: Stylesheet.hpp:98
This class represents the base stylesheet or an "import" stylesheet.
Definition: Stylesheet.hpp:84
MemoryManagerType & getMemoryManager()
Definition: Stylesheet.hpp:133
PatternTableVectorTypeDecl PatternTableVectorType
Definition: Stylesheet.hpp:100
bool empty() const
Definition: XalanDOMString.hpp:274
Class to represent a qualified name: "The name of an internal XSLT object, specifically a named templ...
Definition: XalanQName.hpp:68
Definition: XalanVector.hpp:61
XalanMap< XalanDOMString, PatternTableVectorType > PatternTableMapType
Definition: Stylesheet.hpp:109
const ElemTemplate * getFirstTemplate() const
Definition: Stylesheet.hpp:706
StylesheetRoot & getStylesheetRoot()
Retrieve the root stylesheet object.
Definition: Stylesheet.hpp:177
Xalan implementation of deque.
Definition: XalanDeque.hpp:160
void setXSLTVerDeclared(double ver)
Set XSLT version number.
Definition: Stylesheet.hpp:155
const XalanDOMString & getCurrentIncludeBaseIdentifier() const
Retrieve the base identifier for the most recently included stylesheet.
Definition: Stylesheet.hpp:432