19#if !defined(XALAN_NAMESPACESHANDLER_HEADER_GUARD)
20#define XALAN_NAMESPACESHANDLER_HEADER_GUARD
47class StylesheetConstructionContext;
48class StylesheetExecutionContext;
75 m_prefix(&s_emptyString),
153 m_resultAttributeName(&s_emptyString)
161 m_resultAttributeName(&s_emptyString)
173 assert(m_resultAttributeName != 0);
175 return *m_resultAttributeName;
186 m_resultAttributeName = &
name;
364 return m_namespaceDeclarations.size();
385 processExcludeResultPrefixes(
394 processNamespaceAliases();
450 const XalanDOMString& theString,
451 const XalanDOMStringPointerVectorType& theVector);
456 operator==(
const NamespacesHandler&)
const;
460 NamespacesVectorType m_excludedResultPrefixes;
462 NamespaceExtendedVectorType m_namespaceDeclarations;
464 XalanDOMStringPointerVectorType m_extensionNamespaceURIs;
466 NamespaceAliasesMapType m_namespaceAliases;
#define XALAN_XSLT_EXPORT
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
NamespaceExtended(const XalanDOMString &prefix, const XalanDOMString &uri)
void setResultAttributeName(const XalanDOMString &name)
Set the name of the result attribute.
const XalanDOMString & getResultAttributeName() const
Retrieve the name of the result attribute.
const XalanDOMString & getURI() const
Retrieve the URI for namespace.
Namespace(const XalanDOMString &prefix, const XalanDOMString &uri)
const XalanDOMString & getPrefix() const
Retrieve the prefix for namespace.
void setPrefix(const XalanDOMString &prefix)
Set the prefix for namespace.
void setURI(const XalanDOMString &uri)
Set the URI for namespace.
static const XalanDOMString s_emptyString
virtual bool isActive(const XalanDOMString &thePrefix) const =0
NamespacesHandler(MemoryManager &theManager)
Create a default, empty instance.
NamespacesHandler & operator=(const NamespacesHandler &theRHS)
void outputResultNamespaces(StylesheetExecutionContext &theExecutionContext, bool supressDefault=false) const
Output the result tree namespace declarations.
void postConstruction(StylesheetConstructionContext &theConstructionContext, bool fProcessNamespaceAliases=true, const XalanDOMString &theElementName=XalanDOMString(XalanMemMgrs::getDummyMemMgr()), const NamespacesHandler *parentNamespacesHandler=0, const PrefixChecker *prefixChecker=0)
Notify the instance that the stylesheet is fully constructed.
void swap(NamespacesHandler &theOther)
Swap the contents of this instance with another.
XalanQName::NamespaceVectorType NamespaceVectorType
XalanMap< const XalanDOMString *, const XalanDOMString * > NamespaceAliasesMapType
XalanQName::NamespacesStackType NamespacesStackType
bool shouldExcludeResultNamespaceNode(const XalanDOMString &theXSLTNamespaceURI, const XalanDOMString &theURI) const
Determine of a given namespace should be excluded.
const XalanDOMString * getNamespace(const XalanDOMString &thePrefix) const
Get the namespace URI for the given prefix.
void copyNamespaceAliases(const NamespacesHandler &parentNamespacesHandler)
Copy the aliases from the given NamespacesHandler.
void setNamespaceAlias(StylesheetConstructionContext &theConstructionContext, const XalanDOMString &theStylesheetNamespace, const XalanDOMString &theResultNamespace)
Set the namespace alias URI for the given namespace.
NamespaceExtendedVectorType::size_type getNamespaceDeclarationsCount() const
XalanVector< const XalanDOMString * > XalanDOMStringPointerVectorType
void processExcludeResultPrefixes(StylesheetConstructionContext &theConstructionContext, const XalanDOMChar *theValue, const NamespacesStackType &theCurrentNamespaces)
Process an exclude-result-prefixes attribute.
void addExtensionNamespaceURI(StylesheetConstructionContext &theConstructionContext, const XalanDOMString &theURI)
Add a URI as an extension namespace prefixes.
NamespacesHandler(StylesheetConstructionContext &theConstructionContext, const NamespacesHandler &stylesheetNamespacesHandler, const NamespacesStackType &theCurrentNamespaces, const XalanDOMString &theXSLTNamespaceURI)
Create an instance namespace handler using the current namespaces in effect.
const XalanDOMString * getNamespaceAlias(const XalanDOMString &theStylesheetNamespace) const
Get the namespace alias URI for the given namespace.
void clear()
Clear out the handler.
XalanVector< NamespaceExtended > NamespaceExtendedVectorType
void processExtensionElementPrefixes(StylesheetConstructionContext &theConstructionContext, const XalanDOMChar *theValue, const NamespacesStackType &theCurrentNamespaces)
Process an extension-element-prefixes attribute.
XalanVector< Namespace > NamespacesVectorType
Xalan implementation of deque.
Xalan implementation of a hashtable.