Struct roxmltree::Attribute

source ·
pub struct Attribute<'a, 'input: 'a> { /* private fields */ }
Expand description

An attribute.

Implementations§

source§

impl<'a, 'input> Attribute<'a, 'input>

source

pub fn namespace(&self) -> Option<&'a str>

Returns attribute’s namespace URI.

§Examples
let doc = roxmltree::Document::parse(
    "<e xmlns:n='http://www.w3.org' a='b' n:a='c'/>"
).unwrap();

assert_eq!(doc.root_element().attributes().nth(0).unwrap().namespace(), None);
assert_eq!(doc.root_element().attributes().nth(1).unwrap().namespace(), Some("http://www.w3.org"));
source

pub fn name(&self) -> &'input str

Returns attribute’s name.

§Examples
let doc = roxmltree::Document::parse(
    "<e xmlns:n='http://www.w3.org' a='b' n:a='c'/>"
).unwrap();

assert_eq!(doc.root_element().attributes().nth(0).unwrap().name(), "a");
assert_eq!(doc.root_element().attributes().nth(1).unwrap().name(), "a");
source

pub fn value(&self) -> &'a str

Returns attribute’s value.

§Examples
let doc = roxmltree::Document::parse(
    "<e xmlns:n='http://www.w3.org' a='b' n:a='c'/>"
).unwrap();

assert_eq!(doc.root_element().attributes().nth(0).unwrap().value(), "b");
assert_eq!(doc.root_element().attributes().nth(1).unwrap().value(), "c");
source

pub fn value_storage(&self) -> &StringStorage<'input>

Returns attribute’s value storage.

Useful when you need a more low-level access to an allocated string.

source

pub fn position(&self) -> usize

👎Deprecated: replaced by range

Returns attribute’s position in bytes in the original document.

You can calculate a human-readable text position via Document::text_pos_at.

<e attr='value'/>
   ^
source

pub fn range(&self) -> Range<usize>

Returns attribute’s range in bytes in the original document.

<e n:attr='value'/>
   ^^^^^^^^^^^^^^
source

pub fn range_qname(&self) -> Range<usize>

Returns attribute’s qname’s range in bytes in the original document.

<e n:attr='value'/>
   ^^^^^^

To reduce memory usage the qname length is limited by u16::MAX. If the attribute exceeds that limit then the end of the returned range will be incorrect.

source

pub fn range_value(&self) -> Range<usize>

Returns attribute’s value’s range in bytes in the original document, excluding the surrounding quotes.

If the attribute’s value is an empty string then the start and end of this Range are equal, and indicate the closing quote.

<e n:attr='value'/>
           ^^^^^

To reduce memory usage the qname length is limited by u16::MAX, and the number of spaces around the equal sign is limited by u8::MAX. If the attribute exceeds those limits then the start of the returned range will be incorrect.

Trait Implementations§

source§

impl<'a, 'input: 'a> Clone for Attribute<'a, 'input>

source§

fn clone(&self) -> Attribute<'a, 'input>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Attribute<'_, '_>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl PartialEq for Attribute<'_, '_>

source§

fn eq(&self, other: &Attribute<'_, '_>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a, 'input: 'a> Copy for Attribute<'a, 'input>

Auto Trait Implementations§

§

impl<'a, 'input> Freeze for Attribute<'a, 'input>

§

impl<'a, 'input> RefUnwindSafe for Attribute<'a, 'input>

§

impl<'a, 'input> Send for Attribute<'a, 'input>

§

impl<'a, 'input> Sync for Attribute<'a, 'input>

§

impl<'a, 'input> Unpin for Attribute<'a, 'input>

§

impl<'a, 'input> UnwindSafe for Attribute<'a, 'input>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.