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.
Parameters:
uriSpec
the URI specification string (cannot be null or empty)
manager
Pointer to the memory manager to be used to allocate objects.
the fragment for this URI. Null is returned if there was no "#" in the URI spec, empty string if there was a "#" but no fragment following it.
const XMLCh * XMLUri::getHost
(
)
const
Get the host for this URI.
Returns:
the host for this URI (null if not specified).
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.
Returns:
the path for this URI.
int XMLUri::getPort
(
)
const
Get the port for this URI.
Returns:
the port for this URI (-1 if not specified).
const XMLCh * XMLUri::getQueryString
(
)
const
Get the query string for this URI.
Returns:
the query string for this URI. Null is returned if there was no "?" in the URI spec, empty string if there was a "?" but no query string following it.
const XMLCh * XMLUri::getRegBasedAuthority
(
)
const
Get the registry based authority for this URI.
Returns:
the registry based authority (null if not specified).
const XMLCh * XMLUri::getScheme
(
)
const
Get the scheme for this URI.
Returns:
the scheme for this URI
const XMLCh * XMLUri::getUriText
(
)
const
Get the URI as a string specification.
See RFC 2396 Section 5.2.
Returns:
the URI string specification
const XMLCh * XMLUri::getUserInfo
(
)
const
Get the userinfo for this URI.
Returns:
the userinfo for this URI (null if not specified).
bool XMLUri::isURIString
(
const XMLCh *const
uric
)
[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.
Returns:
true if the string is comprised of uric, false otherwise
bool XMLUri::isValidURI
(
bool
haveBaseURI,
const XMLCh *const
uriStr
)
[static]
Determine whether a given string is a valid URI.
bool XMLUri::isValidURI
(
const XMLUri *const
baseURI,
const XMLCh *const
uriStr
)
[static]
Determine whether a given string is a valid URI.
void XMLUri::normalizeURI
(
const XMLCh *const
systemURI,
XMLBuffer &
normalizedURI
)
[static]
XMLUri& XMLUri::operator=
(
const XMLUri &
toAssign
)
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.
Parameters:
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.
Parameters:
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.
Parameters:
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.
Parameters:
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.
Parameters:
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.
Parameters:
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.
Parameters:
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.
Parameters:
newUserInfo
the userinfo for this URI
The documentation for this class was generated from the following file: