Xerces-C++ 3.3.0
|
#include <xercesc/util/XMLUri.hpp>
Public Member Functions | |
XMLUri (const XMLCh *const uriSpec, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager) | |
Construct a new URI from a URI specification string. | |
XMLUri (const XMLUri *const baseURI, const XMLCh *const uriSpec, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager) | |
Construct a new URI from a base URI and a URI specification string. | |
XMLUri (const XMLUri &toCopy) | |
Copy constructor. | |
XMLUri & | operator= (const XMLUri &toAssign) |
virtual | ~XMLUri () |
const XMLCh * | getUriText () const |
Get the URI as a string specification. | |
const XMLCh * | getScheme () const |
Get the scheme for this URI. | |
const XMLCh * | getUserInfo () const |
Get the userinfo for this URI. | |
const XMLCh * | getHost () const |
Get the host for this URI. | |
int | getPort () const |
Get the port for this URI. | |
const XMLCh * | getRegBasedAuthority () const |
Get the registry based authority for this URI. | |
const XMLCh * | getPath () const |
Get the path for this URI. | |
const XMLCh * | getQueryString () const |
Get the query string for this URI. | |
const XMLCh * | getFragment () const |
Get the fragment for this URI. | |
void | setScheme (const XMLCh *const newScheme) |
Set the scheme for this URI. | |
void | setUserInfo (const XMLCh *const newUserInfo) |
Set the userinfo for this URI. | |
void | setHost (const XMLCh *const newHost) |
Set the host for this URI. | |
void | setPort (int newPort) |
Set the port for this URI. | |
void | setRegBasedAuthority (const XMLCh *const newRegAuth) |
Sets the registry based authority for this URI. | |
void | setPath (const XMLCh *const newPath) |
Set the path for this URI. | |
void | setQueryString (const XMLCh *const newQueryString) |
Set the query string for this URI. | |
void | setFragment (const XMLCh *const newFragment) |
Set the fragment for this URI. | |
XMLUri (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager) | |
Public Member Functions inherited from XMemory | |
void * | operator new (size_t size) |
This method overrides operator new. | |
void * | operator new (size_t size, MemoryManager *memMgr) |
This method defines a custom operator new, that will use the provided memory manager to perform the allocation. | |
void * | operator new (size_t size, void *ptr) |
This method overrides placement operator new. | |
void | operator delete (void *p) |
This method overrides operator delete. | |
void | operator delete (void *p, MemoryManager *memMgr) |
This method provides a matching delete for the custom operator new. | |
void | operator delete (void *p, void *ptr) |
This method provides a matching delete for the placement new. | |
Static Public Member Functions | |
static bool | isURIString (const XMLCh *const uric) |
Determine whether a given string contains only URI characters (also called "uric" in RFC 2396). | |
static bool | isValidURI (const XMLUri *const baseURI, const XMLCh *const uriStr, bool bAllowSpaces=false) |
Determine whether a given string is a valid URI. | |
static bool | isValidURI (bool haveBaseURI, const XMLCh *const uriStr, bool bAllowSpaces=false) |
Determine whether a given string is a valid URI. | |
static void | normalizeURI (const XMLCh *const systemURI, XMLBuffer &normalizedURI) |
Additional Inherited Members | |
Protected Member Functions inherited from XMemory | |
XMemory () | |
Protected default constructor. | |
XMLUri::XMLUri | ( | const XMLCh *const | uriSpec, |
MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager ) |
Construct a new URI from a URI specification string.
If the specification follows the "generic URI" syntax, (two slashes following the first colon), the specification will be parsed accordingly - setting the scheme, userinfo, host, port, path, querystring and fragment fields as necessary.
If the specification does not follow the "generic URI" syntax, the specification is parsed into a scheme and scheme-specific part (stored as the path) only.
uriSpec | the URI specification string (cannot be null or empty) |
manager | Pointer to the memory manager to be used to allocate objects. |
ctor# 2
XMLUri::XMLUri | ( | const XMLUri *const | baseURI, |
const XMLCh *const | uriSpec, | ||
MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager ) |
Construct a new URI from a base URI and a URI specification string.
The URI specification string may be a relative URI.
baseURI | the base URI (cannot be null if uriSpec is null or empty) |
uriSpec | the URI specification string (cannot be null or empty if base is null) |
manager | Pointer to the memory manager to be used to allocate objects. |
ctor# 7 relative ctor
XMLUri::XMLUri | ( | const XMLUri & | toCopy | ) |
Copy constructor.
|
virtual |
XMLUri::XMLUri | ( | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager | ) |
const XMLCh * XMLUri::getFragment | ( | ) | const |
Get the fragment for this URI.
const XMLCh * XMLUri::getHost | ( | ) | const |
Get the host for this URI.
const XMLCh * XMLUri::getPath | ( | ) | const |
Get the path for this URI.
Note that the value returned is the path only and does not include the query string or fragment.
int XMLUri::getPort | ( | ) | const |
Get the port for this URI.
const XMLCh * XMLUri::getQueryString | ( | ) | const |
Get the query string for this URI.
const XMLCh * XMLUri::getRegBasedAuthority | ( | ) | const |
Get the registry based authority for this URI.
const XMLCh * XMLUri::getScheme | ( | ) | const |
Get the scheme for this URI.
const XMLCh * XMLUri::getUriText | ( | ) | const |
Get the URI as a string specification.
See RFC 2396 Section 5.2.
const XMLCh * XMLUri::getUserInfo | ( | ) | const |
Get the userinfo for this URI.
|
static |
Determine whether a given string contains only URI characters (also called "uric" in RFC 2396).
uric consist of all reserved characters, unreserved characters and escaped characters.
|
static |
Determine whether a given string is a valid URI.
|
static |
Determine whether a given string is a valid URI.
|
static |
void XMLUri::setFragment | ( | const XMLCh *const | newFragment | ) |
Set the fragment for this URI.
A non-null value is valid only if this is a URI conforming to the generic URI syntax and the path value is not null.
newFragment | the fragment for this URI |
void XMLUri::setHost | ( | const XMLCh *const | newHost | ) |
Set the host for this URI.
If null is passed in, the userinfo field is also set to null and the port is set to -1.
Note: This method overwrites registry based authority if it previously existed in this URI.
newHost | the host for this URI |
void XMLUri::setPath | ( | const XMLCh *const | newPath | ) |
Set the path for this URI.
If the supplied path is null, then the query string and fragment are set to null as well.
If the supplied path includes a query string and/or fragment, these fields will be parsed and set as well.
Note:
For URIs following the "generic URI" syntax, the path specified should start with a slash.
For URIs that do not follow the generic URI syntax, this method sets the scheme-specific part.
newPath | the path for this URI (may be null) |
void XMLUri::setPort | ( | int | newPort | ) |
Set the port for this URI.
-1 is used to indicate that the port is not specified, otherwise valid port numbers are between 0 and 65535. If a valid port number is passed in and the host field is null, an exception is thrown.
newPort | the port number for this URI |
void XMLUri::setQueryString | ( | const XMLCh *const | newQueryString | ) |
Set the query string for this URI.
A non-null value is valid only if this is an URI conforming to the generic URI syntax and the path value is not null.
newQueryString | the query string for this URI |
void XMLUri::setRegBasedAuthority | ( | const XMLCh *const | newRegAuth | ) |
Sets the registry based authority for this URI.
Note: This method overwrites server based authority if it previously existed in this URI.
newRegAuth | the registry based authority for this URI |
void XMLUri::setScheme | ( | const XMLCh *const | newScheme | ) |
Set the scheme for this URI.
The scheme is converted to lowercase before it is set.
newScheme | the scheme for this URI (cannot be null) |
void XMLUri::setUserInfo | ( | const XMLCh *const | newUserInfo | ) |
Set the userinfo for this URI.
If a non-null value is passed in and the host value is null, then an exception is thrown.
newUserInfo | the userinfo for this URI |