pub struct ParsedQname<'a> { /* private fields */ }
Expand description
Parsed QName
reference.
Implementations§
Source§impl<'a> ParsedQname<'a>
impl<'a> ParsedQname<'a>
Sourcepub fn from_str(s: &'a str) -> Result<Self, NameError>
pub fn from_str(s: &'a str) -> Result<Self, NameError>
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");
Sourcepub fn as_qname(&self) -> &'a Qname
pub fn as_qname(&self) -> &'a Qname
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");
Sourcepub fn as_str(&self) -> &'a str
pub fn as_str(&self) -> &'a str
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");
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the length of the string in bytes.
§Examples
let name = ParsedQname::from_str("foo:bar")?;
assert_eq!(name.len(), 7);
Sourcepub fn has_prefix(&self) -> bool
pub fn has_prefix(&self) -> bool
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());
Sourcepub fn prefix(&self) -> Option<&'a Ncname>
pub fn prefix(&self) -> Option<&'a Ncname>
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);
Sourcepub fn local_part(&self) -> &'a Ncname
pub fn local_part(&self) -> &'a Ncname
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");
Sourcepub fn prefix_and_local(&self) -> (Option<&'a Ncname>, &'a Ncname)
pub fn prefix_and_local(&self) -> (Option<&'a Ncname>, &'a Ncname)
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§
Source§impl AsRef<Eqname> for ParsedQname<'_>
impl AsRef<Eqname> for ParsedQname<'_>
Source§impl AsRef<Qname> for ParsedQname<'_>
impl AsRef<Qname> for ParsedQname<'_>
Source§impl AsRef<str> for ParsedQname<'_>
impl AsRef<str> for ParsedQname<'_>
Source§impl<'a> Clone for ParsedQname<'a>
impl<'a> Clone for ParsedQname<'a>
Source§fn clone(&self) -> ParsedQname<'a>
fn clone(&self) -> ParsedQname<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ParsedQname<'_>
impl Debug for ParsedQname<'_>
Source§impl Display for ParsedQname<'_>
impl Display for ParsedQname<'_>
Source§impl<'a> From<&'a Qname> for ParsedQname<'a>
impl<'a> From<&'a Qname> for ParsedQname<'a>
Source§impl<'a> From<ParsedQname<'a>> for &'a Qname
impl<'a> From<ParsedQname<'a>> for &'a Qname
Source§fn from(s: ParsedQname<'a>) -> Self
fn from(s: ParsedQname<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> Hash for ParsedQname<'a>
impl<'a> Hash for ParsedQname<'a>
Source§impl<'a> Ord for ParsedQname<'a>
impl<'a> Ord for ParsedQname<'a>
Source§fn cmp(&self, other: &ParsedQname<'a>) -> Ordering
fn cmp(&self, other: &ParsedQname<'a>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq<&ParsedQname<'_>> for str
impl PartialEq<&ParsedQname<'_>> for str
Source§impl PartialEq<&String> for ParsedQname<'_>
impl PartialEq<&String> for ParsedQname<'_>
Source§impl PartialEq<&str> for ParsedQname<'_>
impl PartialEq<&str> for ParsedQname<'_>
Source§impl PartialEq<ParsedQname<'_>> for &String
impl PartialEq<ParsedQname<'_>> for &String
Source§impl PartialEq<ParsedQname<'_>> for &str
impl PartialEq<ParsedQname<'_>> for &str
Source§impl PartialEq<ParsedQname<'_>> for String
impl PartialEq<ParsedQname<'_>> for String
Source§impl PartialEq<ParsedQname<'_>> for str
impl PartialEq<ParsedQname<'_>> for str
Source§impl PartialEq<String> for ParsedQname<'_>
impl PartialEq<String> for ParsedQname<'_>
Source§impl PartialEq<str> for &ParsedQname<'_>
impl PartialEq<str> for &ParsedQname<'_>
Source§impl PartialEq<str> for ParsedQname<'_>
impl PartialEq<str> for ParsedQname<'_>
Source§impl<'a> PartialEq for ParsedQname<'a>
impl<'a> PartialEq for ParsedQname<'a>
Source§impl PartialOrd<&ParsedQname<'_>> for str
impl PartialOrd<&ParsedQname<'_>> for str
Source§impl PartialOrd<ParsedQname<'_>> for &String
impl PartialOrd<ParsedQname<'_>> for &String
Source§impl PartialOrd<ParsedQname<'_>> for &str
impl PartialOrd<ParsedQname<'_>> for &str
Source§impl PartialOrd<ParsedQname<'_>> for Box<str>
impl PartialOrd<ParsedQname<'_>> for Box<str>
Source§impl PartialOrd<ParsedQname<'_>> for Cow<'_, str>
impl PartialOrd<ParsedQname<'_>> for Cow<'_, str>
Source§impl PartialOrd<ParsedQname<'_>> for String
impl PartialOrd<ParsedQname<'_>> for String
Source§impl PartialOrd<ParsedQname<'_>> for str
impl PartialOrd<ParsedQname<'_>> for str
Source§impl<'a> PartialOrd for ParsedQname<'a>
impl<'a> PartialOrd for ParsedQname<'a>
Source§impl<'a> TryFrom<&'a str> for ParsedQname<'a>
impl<'a> TryFrom<&'a str> for ParsedQname<'a>
impl<'a> Copy for ParsedQname<'a>
impl<'a> Eq for ParsedQname<'a>
impl<'a> StructuralPartialEq for ParsedQname<'a>
Auto Trait Implementations§
impl<'a> Freeze for ParsedQname<'a>
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§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more