[][src]Struct xml_string::names::ParsedUriQualifiedName

pub struct ParsedUriQualifiedName<'a> { /* fields omitted */ }

Parsed URIQualifiedName reference.

Implementations

impl<'a> ParsedUriQualifiedName<'a>[src]

pub fn from_str(s: &'a str) -> Result<Self, NameError>[src]

Creates a new ParsedUriQualifiedName<'_> from the given string slice.

Failures

Fails if the given string is not a valid URIQualifiedName.

Examples

let name = ParsedUriQualifiedName::from_str("Q{http://example.com/}name")?;
assert_eq!(name, "Q{http://example.com/}name");

assert_eq!(
    ParsedUriQualifiedName::from_str("Q{}name")?,
    "Q{}name",
    "Empty URI is OK"
);
assert_eq!(
    ParsedUriQualifiedName::from_str("Q{foo}bar")?,
    "Q{foo}bar",
    "URI is not validated"
);

assert!(
    ParsedUriQualifiedName::from_str("foo").is_err(),
    "URIQualifiedName has `Q{{uri}}ncname` format"
);
assert!(
    ParsedUriQualifiedName::from_str("Q{http://example.com}foo:bar").is_err(),
    "Colon is not allowed"
);
assert!(
    ParsedUriQualifiedName::from_str("Q{foo{bar}qux").is_err(),
    "URI part cannot have `{{` and `}}`"
);

#[must_use]pub fn as_uri_qualified_name(&self) -> &'a UriQualifiedName[src]

Returns the string as &UriQualifiedName.

Exmaples

use xml_string::names::UriQualifiedName;

let name = ParsedUriQualifiedName::from_str("Q{foo}bar")?;
assert_eq!(name, "Q{foo}bar");

let s: &UriQualifiedName = name.as_uri_qualified_name();
assert_eq!(s, "Q{foo}bar");

#[must_use]pub fn as_str(&self) -> &'a str[src]

Returns the string as &str.

Exmaples

let name = ParsedUriQualifiedName::from_str("Q{foo}bar")?;
assert_eq!(name, "Q{foo}bar");

let s: &str = name.as_str();
assert_eq!(s, "Q{foo}bar");

#[must_use]pub fn uri(&self) -> &'a str[src]

Returns the URI.

Examples

let name = ParsedUriQualifiedName::from_str("Q{foo}bar")?;
assert_eq!(name.uri(), "foo");

let empty_uri = ParsedUriQualifiedName::from_str("Q{}foo")?;
assert_eq!(empty_uri.uri(), "");

#[must_use]pub fn local_name(&self) -> &'a Ncname[src]

Returns the local name.

Examples

let name = ParsedUriQualifiedName::from_str("Q{foo}bar")?;
assert_eq!(name.local_name(), "bar");

#[must_use]pub fn uri_and_local(&self) -> (&'a str, &'a Ncname)[src]

Returns a pair of the URI and the local name.

This is efficient version of (self.uri(), self.local_name()).

Examples

use std::convert::TryFrom;

let name = ParsedUriQualifiedName::from_str("Q{foo}bar")?;
assert_eq!(name.uri_and_local(), (name.uri(), name.local_name()));

Trait Implementations

impl<'_> AsRef<UriQualifiedName> for ParsedUriQualifiedName<'_>[src]

impl<'_> AsRef<str> for ParsedUriQualifiedName<'_>[src]

impl<'a> Clone for ParsedUriQualifiedName<'a>[src]

impl<'a> Copy for ParsedUriQualifiedName<'a>[src]

impl<'_> Debug for ParsedUriQualifiedName<'_>[src]

impl<'_> Display for ParsedUriQualifiedName<'_>[src]

impl<'a> Eq for ParsedUriQualifiedName<'a>[src]

impl<'a> From<&'a UriQualifiedName> for ParsedUriQualifiedName<'a>[src]

impl<'a> From<ParsedUriQualifiedName<'a>> for &'a UriQualifiedName[src]

impl<'a> Hash for ParsedUriQualifiedName<'a>[src]

impl<'a> Ord for ParsedUriQualifiedName<'a>[src]

impl<'_, '_> PartialEq<&'_ ParsedUriQualifiedName<'_>> for str[src]

impl<'_, '_> PartialEq<&'_ String> for ParsedUriQualifiedName<'_>[src]

impl<'_, '_> PartialEq<&'_ str> for ParsedUriQualifiedName<'_>[src]

impl<'_> PartialEq<Box<str, Global>> for ParsedUriQualifiedName<'_>[src]

impl<'_, '_> PartialEq<Cow<'_, str>> for ParsedUriQualifiedName<'_>[src]

impl<'_> PartialEq<ParsedUriQualifiedName<'_>> for str[src]

impl<'_, '_> PartialEq<ParsedUriQualifiedName<'_>> for &'_ str[src]

impl<'_> PartialEq<ParsedUriQualifiedName<'_>> for String[src]

impl<'_, '_> PartialEq<ParsedUriQualifiedName<'_>> for &'_ String[src]

impl<'_> PartialEq<ParsedUriQualifiedName<'_>> for Box<str>[src]

impl<'_, '_> PartialEq<ParsedUriQualifiedName<'_>> for Cow<'_, str>[src]

impl<'a> PartialEq<ParsedUriQualifiedName<'a>> for ParsedUriQualifiedName<'a>[src]

impl<'_> PartialEq<String> for ParsedUriQualifiedName<'_>[src]

impl<'_> PartialEq<str> for ParsedUriQualifiedName<'_>[src]

impl<'_, '_> PartialEq<str> for &'_ ParsedUriQualifiedName<'_>[src]

impl<'_, '_> PartialOrd<&'_ ParsedUriQualifiedName<'_>> for str[src]

impl<'_> PartialOrd<ParsedUriQualifiedName<'_>> for str[src]

impl<'_, '_> PartialOrd<ParsedUriQualifiedName<'_>> for &'_ str[src]

impl<'_> PartialOrd<ParsedUriQualifiedName<'_>> for String[src]

impl<'_, '_> PartialOrd<ParsedUriQualifiedName<'_>> for &'_ String[src]

impl<'_> PartialOrd<ParsedUriQualifiedName<'_>> for Box<str>[src]

impl<'_, '_> PartialOrd<ParsedUriQualifiedName<'_>> for Cow<'_, str>[src]

impl<'a> PartialOrd<ParsedUriQualifiedName<'a>> for ParsedUriQualifiedName<'a>[src]

impl<'a> StructuralEq for ParsedUriQualifiedName<'a>[src]

impl<'a> StructuralPartialEq for ParsedUriQualifiedName<'a>[src]

impl<'a> TryFrom<&'a str> for ParsedUriQualifiedName<'a>[src]

type Error = NameError

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.