 |
Xalan-C++ API Reference
1.12.0
|
Go to the documentation of this file.
19 #if !defined(XALAN_STYLESHEET_HEADER_GUARD)
20 #define XALAN_STYLESHEET_HEADER_GUARD
61 class ExtensionNSHandler;
62 class XalanDecimalFormatSymbols;
63 class ElemDecimalFormat;
65 class ElemTemplateElement;
68 class NodeRefListBase;
70 class StylesheetConstructionContext;
72 class XalanMatchPatternData;
75 class StylesheetExecutionContext;
136 return m_elementPatternTable.getMemoryManager();
147 return m_XSLTVerDeclared;
158 m_XSLTVerDeclared = ver;
169 return m_stylesheetRoot;
180 return m_stylesheetRoot;
188 const NamespacesStackType&
208 return m_namespacesHandler;
214 return m_namespacesHandler;
222 const NamespaceVectorType&
225 return m_namespaceDecls;
236 return m_namespaceDecls;
247 m_namespaceDecls = ns;
265 assert(m_namespaces.empty() ==
false);
267 m_namespaces.pop_back();
290 const XalanDOMChar* attrName,
306 return getNamespaceFromStack(nodeName.
c_str(), theBuffer);
317 const XalanDOMChar* nodeName,
330 return XalanQName::getNamespaceForPrefix(m_namespaces, prefix);
345 return XalanQName::getNamespaceForPrefix(m_namespaces, (
const XalanDOMChar*)prefix);
369 const XalanDOMChar* prefix,
382 const XalanDOMChar* theValue)
384 m_namespacesHandler.processExcludeResultPrefixes(
385 theConstructionContext,
411 const XalanDOMChar* aname,
412 const XalanDOMChar* val,
437 return m_includeStack.
empty() ==
true ? getBaseIdentifier() : m_includeStack.back();
449 const XalanDOMChar* name,
462 const Locator* locator = 0);
482 m_imports.insert(m_imports.begin(), theStylesheet);
493 return m_isWrapperless;
499 const Locator* locator);
509 return m_includeStack;
524 const Locator* locator,
549 assert(targetNode != 0);
576 bool onlyUseImports)
const;
602 XalanSize_t& theArraySize);
658 m_extensionNamespaces.find(uri);
660 return it == m_extensionNamespaces.end() ? 0 : (*it).second;
672 m_topLevelVariables.push_back(var);
699 return m_XSLTNamespaceURI;
705 m_XSLTNamespaceURI = theURI;
711 return m_firstTemplate;
750 XalanMessages::Codes theErrorCode,
751 const Locator* theLocator,
752 const XalanDOMChar* theParam1 = 0,
753 const XalanDOMChar* theParam2 = 0,
754 const XalanDOMChar* theParam3 = 0)
const;
767 findTemplateInImports(
801 bool m_isWrapperless;
834 double m_XSLTVerDeclared;
891 #endif // XALAN_STYLESHEET_HEADER_GUARD
WhitespaceElementsVectorType m_whitespaceElements
static const XalanQNameByReference s_emptyQName
const ElemTemplate * findTemplate(StylesheetExecutionContext &executionContext, XalanNode *targetNode) const
Given a target element, find the template that best matches in the given XSL document,...
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,...
XalanVector< ElemDecimalFormat * > ElemDecimalFormatVectorType
const XalanDOMString & getBaseIdentifier() const
Retrieve the base identifier with which this stylesheet is associated.
void processExtensionNamespace(StylesheetConstructionContext &theConstructionContext, const XalanDOMString &uri)
Add an extension namespace handler.
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
bool isWrapperless() const
whether there is a wrapper template
xercesc::AttributeList AttributeListType
XalanQName::NamespacesStackType NamespacesStackType
void addTemplate(ElemTemplate *theTemplate, StylesheetConstructionContext &constructionContext)
Add a template to the list of names templates.
XalanVector< Stylesheet * > StylesheetVectorType
void processKeyElement(const PrefixResolver &nsContext, const AttributeListType &atts, const Locator *locator, StylesheetConstructionContext &constructionContext)
Process the xsl:key element.
bool isAttrOK(const XalanDOMChar *attrName, const AttributeListType &atts, XalanSize_t which, StylesheetConstructionContext &constructionContext) const
See if this is a xmlns attribute, and, if so, process it.
double getXSLTVerDeclared() const
Retrieve XSLT version number.
bool getYesOrNo(const XalanDOMChar *aname, const XalanDOMChar *val, StylesheetConstructionContext &constructionContext) const
Process an attribute that has the value of 'yes' or 'no'.
XalanMap< XalanDOMString, PatternTableVectorType > PatternTableMapType
void processDecimalFormatElement(StylesheetConstructionContext &constructionContext, const AttributeListType &atts, const Locator *locator=0)
Process an xsl:decimal-format element.
XalanVector< XalanSpaceNodeTester > WhitespaceElementsVectorType
#define XALAN_USES_MEMORY_MANAGER(Type)
StylesheetConstructionContext::GetCachedString GetCachedString
PatternTableVectorTypeDecl PatternTableVectorType
void pushTopLevelVariables(StylesheetExecutionContext &executionContext, const ParamVectorType &topLevelParams) const
Set a list of top level variables in the specified execution context stylesheet.
XalanMap< XalanDOMString, ExtensionNSHandler * > ExtensionNamespacesMapType
#define XALAN_XSLT_EXPORT
const XalanDOMString & getCurrentIncludeBaseIdentifier() const
Retrieve the base identifier for the most recently included stylesheet.
StylesheetRoot & getStylesheetRoot()
Retrieve the root stylesheet object.
virtual void postConstruction(StylesheetConstructionContext &constructionContext)
Called after construction is completed.
void popNamespaces()
Pop a namespace declaration from the namespace stack.
const ElemTemplate * findNamedTemplate(const XalanQName &qname) const
Locate a template via the "name" attribute.
const StylesheetRoot & getStylesheetRoot() const
Retrieve the root stylesheet object.
This class contains information concerning a match pattern in a stylesheet.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
void setNamespaceDecls(const NamespaceVectorType &ns)
Set the list of namespace declarations currently in effect.
XalanVector< XalanDOMString > URLStackType
void pushNamespaces(const AttributeListType &atts)
Push the namespace declarations from the current attribute list onto the namespace stack.
const NamespacesStackType & getNamespaces() const
Retrieve the stack of namespace lists.
NamespaceVectorType & getNamespaceDecls()
Retrieve the list of namespace declarations currently in effect.
Xalan implementation of deque.
XalanQName::NamespaceVectorType NamespaceVectorType
const ElemTemplate * getFirstTemplate() const
virtual NodeType getNodeType() const =0
An enum value representing the type of the underlying object.
const XalanDOMString * getNamespaceForPrefix(const XalanDOMChar *prefix, StylesheetConstructionContext &constructionContext) const
Get the namespace for a prefix, and report an error if it wasn't found.
URLStackType & getIncludeStack()
Retrieve the stack of who's including who.
XalanDOMString m_baseIdent
The base URL of the XSL document.
void setTopLevelVariable(ElemVariable *var)
Set a top level variable.
NamespacesHandler & getNamespacesHandler()
virtual const XalanDOMString & getURI() const
Retrieve the base URI for the resolver.
const XalanDOMString * getNamespaceFromStack(const XalanDOMChar *nodeName, XalanDOMString &theBuffer) const
Get the namespace from a qualified name.
const XalanDOMString * getNamespaceFromStack(const XalanDOMString &nodeName, XalanDOMString &theBuffer) const
Get the namespace from a qualified name.
const NamespaceVectorType & getNamespaceDecls() const
Retrieve the list of namespace declarations currently in effect.
void addImport(Stylesheet *theStylesheet)
Add an imported stylesheet.
const XalanDecimalFormatSymbols * getDecimalFormatSymbols(const XalanQName &theQName) const
Retrieve the XalanDecimalFormatSymbols instance associated with the QName.
void processExcludeResultPrefixes(StylesheetConstructionContext &theConstructionContext, const XalanDOMChar *theValue)
See if a namespace should be excluded.
void addWhitespaceElement(const XalanSpaceNodeTester &theTester)
KeyDeclarationVectorType m_keyDeclarations
Table of KeyDeclaration objects, which are set by the xsl:key element.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve a namespace corresponding to a prefix.
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.
const XalanDOMString * getNamespaceForPrefixFromStack(const XalanDOMString &prefix) const
Get the namespace from a prefix by searching the stack of namespace lists.
XalanMap< const XalanNode *, KeyTable * > KeyTablesTableType
void setXSLTNamespaceURI(const XalanDOMString &theURI)
static void addObjectIfNotFound(const XalanMatchPatternData *thePattern, PatternTableVectorType &theVector)
Add object to vector of match patterns if not already there.
const PatternTableVectorType * locateAttributeMatchPatternDataList(const XalanDOMString &theName) const
Given a name, locate the start of a list of possible templates that match that name.
XalanVector< KeyDeclaration > KeyDeclarationVectorType
const XalanDOMString * getNamespaceForPrefixFromStack(const XalanDOMChar *prefix) const
Get the namespace from a prefix by searching the stack of namespace lists.
XalanVector< ElemVariable * > ElemVariableVectorType
const XalanDOMChar * c_str() const
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
ElemTemplateElement * initWrapperless(StylesheetConstructionContext &constructionContext, const Locator *locator)
const PatternTableVectorType * locateElementMatchPatternDataList(const XalanDOMString &theName) const
Given a name, locate the start of a list of possible templates that match that name.
StylesheetRoot & m_stylesheetRoot
The root of the stylesheet tree.
XalanMap< XalanQNameByReference, const ElemTemplate * > ElemTemplateMapType
Stylesheet(StylesheetRoot &root, const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext)
Constructor for a Stylesheet needs a Document.
This class represents the base stylesheet or an "import" stylesheet.
const NamespacesHandler & getNamespacesHandler() const
StylesheetExecutionContext::ParamVectorType ParamVectorType
static void addObjectIfNotFound(const XalanMatchPatternData *thePattern, const XalanMatchPatternData *theArray[], XalanSize_t &theArraySize)
Add object to array of match patterns if not already there.
Class to represent a qualified name.
void processNSAliasElement(const XalanDOMChar *name, const AttributeListType &atts, StylesheetConstructionContext &constructionContext)
Process an xsl:namespace-alias element.
const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix, StylesheetConstructionContext &constructionContext) const
Get the namespace for a prefix, and report an error if it wasn't found.
void setXSLTVerDeclared(double ver)
Set XSLT version number.
static Stylesheet * create(MemoryManager &theManager, StylesheetRoot &root, const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext)
MemoryManager & getMemoryManager()
NamespacesStackType & getNamespaces()
Retrieve the stack of namespace lists.
const XalanDOMString & getXSLTNamespaceURI() const
XalanVector< const XalanMatchPatternData * > PatternTableVectorTypeDecl
ExtensionNSHandler * lookupExtensionNSHandler(const XalanDOMString &uri) const
Return the handler for a given extension namespace.