19#if !defined(XALAN_NAMESPACESHANDLER_HEADER_GUARD)
20#define XALAN_NAMESPACESHANDLER_HEADER_GUARD
47class StylesheetConstructionContext;
48class StylesheetExecutionContext;
96 assert(m_prefix != 0);
173 assert(m_resultAttributeName != 0);
175 return *m_resultAttributeName;
186 m_resultAttributeName = &name;
238 const XalanDOMChar* theValue,
251 const XalanDOMChar* theValue,
266 bool fProcessNamespaceAliases =
true,
345 bool supressDefault =
false)
const;
364 return m_namespaceDeclarations.size();
385 processExcludeResultPrefixes(
388 const PrefixChecker* prefixChecker);
394 processNamespaceAliases();
402 copyNamespaceAliases(
const NamespaceAliasesMapType& theNamespaceAliases);
410 copyExtensionNamespaceURIs(
const XalanDOMStringPointerVectorType& theExtensionNamespaceURIs);
418 copyExcludeResultPrefixes(
const NamespacesVectorType& theExcludeResultPrefixes);
428 isExcludedNamespaceURI(
const XalanDOMString& theNamespaceURI)
const;
437 isExtensionNamespaceURI(
const XalanDOMString& theNamespaceURI)
const
439 return findString(theNamespaceURI, m_extensionNamespaceURIs);
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_CPP_NAMESPACE
#define XALAN_XSLT_EXPORT
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 a hashtable.
static MemoryManager & getDummyMemMgr()
XalanDeque< NameSpace, ConstructWithMemoryManagerTraits< NameSpace > > NamespaceVectorType
XalanDeque< NamespaceVectorType, ConstructWithMemoryManagerTraits< NamespaceVectorType > > NamespacesStackType