Quick Links: |
#include <balxml_prefixstack.h>
Public Member Functions | |
PrefixStack (NamespaceRegistry *namespaceRegistry, bslma::Allocator *basicAllocator=0) | |
PrefixStack (const PrefixStack &original, bslma::Allocator *basicAllocator=0) | |
~PrefixStack () | |
int | pushPrefix (const bsl::string_view &prefix, const bsl::string_view &namespaceUri) |
int | popPrefixes (int count) |
void | reset () |
void | restoreToSize (int size) |
int | numPrefixes () const |
NamespaceRegistry * | namespaceRegistry () const |
const char * | lookupNamespacePrefix (const bsl::string_view &prefix) const |
int | lookupNamespaceId (const bsl::string_view &prefix) const |
const char * | lookupNamespaceUri (const bsl::string_view &prefix) const |
const char * | lookupNamespaceUri (int nsId) const |
const char * | namespacePrefixByIndex (int index) const |
int | namespaceIdByIndex (int index) const |
const char * | namespaceUriByIndex (int index) const |
void | print (bsl::ostream &stream, bool fullNames=false) const |
PrefixStack
allows associating a unique integer (namespace ID) with prefix.
See Component balxml_prefixstack
balxml::PrefixStack::PrefixStack | ( | NamespaceRegistry * | namespaceRegistry, | |
bslma::Allocator * | basicAllocator = 0 | |||
) |
Create an empty registry. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
balxml::PrefixStack::PrefixStack | ( | const PrefixStack & | original, | |
bslma::Allocator * | basicAllocator = 0 | |||
) |
Create a registry object having the same value as the specified original
object. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
balxml::PrefixStack::~PrefixStack | ( | ) |
Destroy this object.
int balxml::PrefixStack::pushPrefix | ( | const bsl::string_view & | prefix, | |
const bsl::string_view & | namespaceUri | |||
) |
Map the specified namespaceUri
to the specified prefix
and return the namespace Id. New mapping eclipses previous mapping.
int balxml::PrefixStack::popPrefixes | ( | int | count | ) |
Remove the specified last count
number prefixes. Return the number of actually removed prefixes.
void balxml::PrefixStack::reset | ( | ) |
Removes all prefixes from the internal collection.
void balxml::PrefixStack::restoreToSize | ( | int | size | ) |
Restore stack to the specified size
. The behavior is undefined if PrefixStack contains fewer prefixes than requested size.
int balxml::PrefixStack::numPrefixes | ( | ) | const |
Return the current number of prefixes in the stack.
NamespaceRegistry* balxml::PrefixStack::namespaceRegistry | ( | ) | const |
Return the pointer of NamespaceRegistry
associated with this PrefixStack.
const char* balxml::PrefixStack::lookupNamespacePrefix | ( | const bsl::string_view & | prefix | ) | const |
Return a copy of the specified prefix
if prefix
is registered or an empty string if prefix
is not registered.
int balxml::PrefixStack::lookupNamespaceId | ( | const bsl::string_view & | prefix | ) | const |
Return ID of the namespace registered for the specified prefix
or -1 if not registered.
const char* balxml::PrefixStack::lookupNamespaceUri | ( | const bsl::string_view & | prefix | ) | const |
Return the URI of the namespace registered for the specified prefix
or empty string if not registered.
const char* balxml::PrefixStack::lookupNamespaceUri | ( | int | nsId | ) | const |
Return the URI of the namespace of the specified nsId
or empty string if not registered.
const char* balxml::PrefixStack::namespacePrefixByIndex | ( | int | index | ) | const |
Return the namespace prefix at the specified index
in the prefix stack, where an index
of 0 is the oldest prefix on the stack. If index
is negative, return the prefix at position 'numPrefixes() - index'. Thus, an index
of -1 will return the most recent prefix on the stack (i.e., the top of the stack). The behavior is undefined if index > numPrefixes()
or index < -numPrefixes()
.
int balxml::PrefixStack::namespaceIdByIndex | ( | int | index | ) | const |
Return the namespace ID at the specified index
in the prefix stack, where an index
of 0 is the oldest ID on the stack. If index
is negative, return the ID at position 'numPrefixes() - index'. Thus, an index
of -1 will return the most recent ID on the stack (i.e., the top of the stack). The behavior is undefined if index > numPrefixes()
or index < -numPrefixes()
.
const char* balxml::PrefixStack::namespaceUriByIndex | ( | int | index | ) | const |
Return the namespace URI at the specified index
in the prefix stack, where an index
of 0 is the oldest URI on the stack. If index
is negative, return the URI at position 'numPrefixes() - index'. Thus, an index
of -1 will return the most recent URI on the stack (i.e., the top of the stack). The behavior is undefined if index > numPrefixes()
or index < -numPrefixes()
.
void balxml::PrefixStack::print | ( | bsl::ostream & | stream, | |
bool | fullNames = false | |||
) | const |
Print the content of this object to the specified stream
. The optionally specified fullNames
specifies how namespaces should be printed: true
for the full names and false
only for IDs.