18#if !defined(XALAN_XALANNAMESPACESSTACK_HEADER_GUARD)
19#define XALAN_XALANNAMESPACESSTACK_HEADER_GUARD
99 MemoryManager& theManager);
105 MemoryManager& theManager);
110 const XalanDOMChar* theNamespaceURI,
122 return findEntry(thePrefix, &XalanNamespace::getPrefix, &XalanNamespace::getURI);
134 return findEntry(theURI, &XalanNamespace::getURI, &XalanNamespace::getPrefix);
140 return getNamespaceForPrefix(thePrefix) == 0 ? false :
true;
146 return m_namespaces.begin();
152 return m_namespaces.begin();
197 m_position = m_namespaces.begin();
211 MemberFunctionType theKeyFunction,
212 MemberFunctionType theValueFunction)
const;
254 const XalanDOMChar* theURI)
265 const XalanDOMChar* theURI,
280 return findEntry(theURI, &value_type::getPrefixForNamespace);
296 return m_stackBegin + 1;
308 return m_stackPosition + 1;
323 const_reverse_iterator
335 const_reverse_iterator
344 return m_resultNamespaces.size() - 1;
358 XalanNamespacesStackEntry&
359 operator=(
const XalanNamespacesStackEntry& theRHS);
367 enum { eDefaultCreateNewContextStackSize = 25 };
369 const XalanDOMString*
371 const XalanDOMString& theKey,
372 MemberFunctionType theFunction)
const;
377 NamespacesStackType m_resultNamespaces;
379 NamespacesStackType::iterator m_stackBegin;
381 NamespacesStackType::iterator m_stackPosition;
383 BoolVectorType m_createNewContextStack;
#define XALAN_DOMSUPPORT_EXPORT
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
const XalanDOMChar * c_str() const
Xalan implementation of deque.
const_reverse_iterator_ const_reverse_iterator
reverse_iterator_ reverse_iterator
virtual const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &prefix) const
Retrieve a namespace corresponding to a prefix.
virtual const XalanDOMString & getURI() const
Retrieve the base URI for the resolver.
virtual ~PrefixResolverProxy()
PrefixResolverProxy(const XalanNamespacesStack &theStack, const XalanDOMString &theURI)
Construct a PrefixResolver from a XalanNamespaceStack instance.
XalanDeque< value_type > NamespaceCollectionType
const XalanDOMString &(value_type::* MemberFunctionType)() const
XalanNamespacesStackEntry(const XalanNamespacesStackEntry &theSource, MemoryManager &theManager)
const XalanDOMString * getPrefixForNamespace(const XalanDOMString &theURI) const
Get the prefix for a namespace.
bool isPrefixPresent(const XalanDOMString &thePrefix) const
NamespaceCollectionType::const_reverse_iterator const_reverse_iterator
void addDeclaration(const XalanDOMString &thePrefix, const XalanDOMChar *theNamespaceURI, XalanDOMString::size_type theLength)
XalanNamespacesStackEntry(MemoryManager &theManager)
reverse_iterator rbegin()
~XalanNamespacesStackEntry()
const_reverse_iterator rend() const
NamespaceCollectionType::const_iterator const_iterator
NamespaceCollectionType::iterator iterator
const_iterator begin() const
void swap(XalanNamespacesStackEntry &theOther)
const_iterator end() const
XalanNamespacesStackEntry & set(const XalanNamespacesStackEntry &theRHS, MemoryManager &theManager)
XalanNamespace value_type
NamespaceCollectionType::reverse_iterator reverse_iterator
const_reverse_iterator rbegin() const
const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &thePrefix) const
Get the namespace for a prefix.
const_reverse_iterator rbegin() const
const XalanDOMString * getNamespaceForPrefix(const XalanDOMString &thePrefix) const
NamespacesStackType::const_iterator const_iterator
NamespacesStackType::iterator iterator
const_reverse_iterator rend() const
const XalanDOMString *(value_type::* MemberFunctionType)(const XalanDOMString &) const
void addDeclaration(const XalanDOMString &thePrefix, const XalanDOMString &theURI)
XalanVector< bool > BoolVectorType
const_iterator end() const
reverse_iterator rbegin()
const_iterator begin() const
XalanNamespacesStack(MemoryManager &theManager)
void addDeclaration(const XalanDOMString &thePrefix, const XalanDOMChar *theURI, XalanDOMString::size_type theLength)
NamespacesStackType::reverse_iterator reverse_iterator
XalanDeque< value_type, ConstructWithMemoryManagerTraits< value_type > > NamespacesStackType
void addDeclaration(const XalanDOMString &thePrefix, const XalanDOMChar *theURI)
NamespacesStackType::size_type size_type
XalanNamespacesStackEntry value_type
bool prefixIsPresentLocal(const XalanDOMString &thePrefix)
See if the prefix has been mapped to a namespace in the current context, without looking down the sta...
const XalanDOMString * getPrefixForNamespace(const XalanDOMString &theURI) const
NamespacesStackType::const_reverse_iterator const_reverse_iterator
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)