[][src]Struct xml_string::names::ParsedQname

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

Parsed QName reference.

Implementations

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

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

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

Failures

Fails if the given string is not a valid QName.

Examples

let noprefix = ParsedQname::from_str("hello")?;
assert_eq!(noprefix, "hello");

let prefixed = ParsedQname::from_str("foo:bar")?;
assert_eq!(prefixed, "foo:bar");

assert!(ParsedQname::from_str("").is_err(), "Empty string is not a QName");
assert!(ParsedQname::from_str("foo bar").is_err(), "Whitespace is not allowed");
assert!(ParsedQname::from_str("foo:bar:baz").is_err(), "Two or more colons are not allowed");
assert!(ParsedQname::from_str("0foo").is_err(), "ASCII digit at the beginning is not allowed");

#[must_use]pub fn as_qname(&self) -> &'a Qname[src]

Returns the string as &Qname.

Exmaples

use xml_string::names::Qname;

let name = ParsedQname::from_str("hello")?;
assert_eq!(name, "hello");

let s: &Qname = name.as_qname();
assert_eq!(s, "hello");

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

Returns the string as &str.

Exmaples

let name = ParsedQname::from_str("hello")?;
assert_eq!(name, "hello");

let s: &str = name.as_str();
assert_eq!(s, "hello");

#[must_use]pub fn has_prefix(&self) -> bool[src]

Returns whether the QName has a prefix.

Examples

let local_only = ParsedQname::from_str("hello")?;
assert!(!local_only.has_prefix());

let prefixed = ParsedQname::from_str("foo:bar")?;
assert!(prefixed.has_prefix());

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

Returns the prefix, if available.

Examples

let prefixed = ParsedQname::from_str("foo:bar")?;
assert_eq!(prefixed.prefix().map(|s| s.as_str()), Some("foo"));

let noprefix = ParsedQname::from_str("foo")?;
assert_eq!(noprefix.prefix().map(|s| s.as_str()), None);

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

Returns the local part.

Examples

let prefixed = ParsedQname::from_str("foo:bar")?;
assert_eq!(prefixed.local_part(), "bar");

let noprefix = ParsedQname::from_str("foo")?;
assert_eq!(noprefix.local_part(), "foo");

#[must_use]pub fn prefix_and_local(&self) -> (Option<&'a Ncname>, &'a Ncname)[src]

Returns a pair of the prefix (if available) and the local part.

This is efficient version of (self.prefix(), self.local_part()).

Examples

use std::convert::TryFrom;

let noprefix = ParsedQname::from_str("hello")?;
assert_eq!(noprefix.prefix_and_local(), (noprefix.prefix(), noprefix.local_part()));

let prefixed = ParsedQname::from_str("foo:bar")?;
assert_eq!(prefixed.prefix_and_local(), (prefixed.prefix(), prefixed.local_part()));

Trait Implementations

impl<'_> AsRef<Qname> for ParsedQname<'_>[src]

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

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

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

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

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

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

impl<'a> From<&'a Qname> for ParsedQname<'a>[src]

impl<'a> From<ParsedQname<'a>> for &'a Qname[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

type Error = NameError

The type returned in the event of a conversion error.

Auto Trait Implementations

impl<'a> RefUnwindSafe for ParsedQname<'a>

impl<'a> Send for ParsedQname<'a>

impl<'a> Sync for ParsedQname<'a>

impl<'a> Unpin for ParsedQname<'a>

impl<'a> UnwindSafe for ParsedQname<'a>

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.