Struct xml::namespace::NamespaceStack
source · [−]Expand description
Namespace stack is a sequence of namespaces.
Namespace stack is used to represent cumulative namespace consisting of combined namespaces from nested elements.
Tuple Fields
0: Vec<Namespace>
Implementations
sourceimpl NamespaceStack
impl NamespaceStack
sourcepub fn empty() -> NamespaceStack
pub fn empty() -> NamespaceStack
Returns an empty namespace stack.
sourcepub fn default() -> NamespaceStack
pub fn default() -> NamespaceStack
Returns a namespace stack with default items in it.
Default items are the following:
xml
→http://www.w3.org/XML/1998/namespace
;xmlns
→http://www.w3.org/2000/xmlns/
.
sourcepub fn push_empty(&mut self) -> &mut NamespaceStack
pub fn push_empty(&mut self) -> &mut NamespaceStack
Adds an empty namespace to the top of this stack.
sourcepub fn pop(&mut self) -> Namespace
pub fn pop(&mut self) -> Namespace
Removes the topmost namespace in this stack.
Panics if the stack is empty.
sourcepub fn try_pop(&mut self) -> Option<Namespace>
pub fn try_pop(&mut self) -> Option<Namespace>
Removes the topmost namespace in this stack.
Returns Some(namespace)
if this stack is not empty and None
otherwise.
sourcepub fn peek_mut(&mut self) -> &mut Namespace
pub fn peek_mut(&mut self) -> &mut Namespace
Borrows the topmost namespace mutably, leaving the stack intact.
Panics if the stack is empty.
sourcepub fn peek(&self) -> &Namespace
pub fn peek(&self) -> &Namespace
Borrows the topmost namespace immutably, leaving the stack intact.
Panics if the stack is empty.
sourcepub fn put_checked<P, U>(&mut self, prefix: P, uri: U) -> bool where
P: Into<String> + AsRef<str>,
U: Into<String> + AsRef<str>,
pub fn put_checked<P, U>(&mut self, prefix: P, uri: U) -> bool where
P: Into<String> + AsRef<str>,
U: Into<String> + AsRef<str>,
Puts a mapping into the topmost namespace if this stack does not already contain one.
Returns a boolean flag indicating whether the insertion has completed successfully. Note that both key and value are matched and the mapping is inserted if either namespace prefix is not already mapped, or if it is mapped, but to a different URI.
Parameters
prefix
— namespace prefix;uri
— namespace URI.
Return value
true
if prefix
has been inserted successfully; false
if the prefix
was already present in the namespace stack.
sourcepub fn put<P, U>(&mut self, prefix: P, uri: U) -> bool where
P: Into<String>,
U: Into<String>,
pub fn put<P, U>(&mut self, prefix: P, uri: U) -> bool where
P: Into<String>,
U: Into<String>,
Puts a mapping into the topmost namespace in this stack.
This method does not override a mapping in the topmost namespace if it is already present, however, it does not depend on other namespaces in the stack, so it is possible to put a mapping which is present in lower namespaces.
Returns a boolean flag indicating whether the insertion has completed successfully.
Parameters
prefix
— namespace prefix;uri
— namespace URI.
Return value
true
if prefix
has been inserted successfully; false
if the prefix
was already present in the namespace.
sourcepub fn get<'a, P: ?Sized + AsRef<str>>(&'a self, prefix: &P) -> Option<&'a str>
pub fn get<'a, P: ?Sized + AsRef<str>>(&'a self, prefix: &P) -> Option<&'a str>
Performs a search for the given prefix in the whole stack.
This method walks the stack from top to bottom, querying each namespace
in order for the given prefix. If none of the namespaces contains the prefix,
None
is returned.
Parameters
prefix
— namespace prefix.
sourcepub fn squash(&self) -> Namespace
pub fn squash(&self) -> Namespace
Combines this stack of namespaces into a single namespace.
Namespaces are combined in left-to-right order, that is, rightmost namespace elements take priority over leftmost ones.
sourcepub fn checked_target(&mut self) -> CheckedTarget<'_>
pub fn checked_target(&mut self) -> CheckedTarget<'_>
Returns an object which implements Extend
using put_checked()
instead of put()
.
See CheckedTarget
for more information.
sourcepub fn iter(&self) -> NamespaceStackMappings<'_>ⓘNotable traits for NamespaceStackMappings<'a>impl<'a> Iterator for NamespaceStackMappings<'a> type Item = UriMapping<'a>;
pub fn iter(&self) -> NamespaceStackMappings<'_>ⓘNotable traits for NamespaceStackMappings<'a>impl<'a> Iterator for NamespaceStackMappings<'a> type Item = UriMapping<'a>;
Returns an iterator over all mappings in this namespace stack.
Trait Implementations
sourceimpl Clone for NamespaceStack
impl Clone for NamespaceStack
sourcefn clone(&self) -> NamespaceStack
fn clone(&self) -> NamespaceStack
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for NamespaceStack
impl Debug for NamespaceStack
sourceimpl<'a> Extend<(&'a str, &'a str)> for NamespaceStack
impl<'a> Extend<(&'a str, &'a str)> for NamespaceStack
sourcefn extend<T>(&mut self, iterable: T) where
T: IntoIterator<Item = UriMapping<'a>>,
fn extend<T>(&mut self, iterable: T) where
T: IntoIterator<Item = UriMapping<'a>>,
Extends a collection with the contents of an iterator. Read more
sourcefn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Extends a collection with exactly one element.
sourcefn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl<'a> IntoIterator for &'a NamespaceStack
impl<'a> IntoIterator for &'a NamespaceStack
type Item = UriMapping<'a>
type Item = UriMapping<'a>
The type of the elements being iterated over.
type IntoIter = NamespaceStackMappings<'a>
type IntoIter = NamespaceStackMappings<'a>
Which kind of iterator are we turning this into?
sourceimpl PartialEq<NamespaceStack> for NamespaceStack
impl PartialEq<NamespaceStack> for NamespaceStack
sourcefn eq(&self, other: &NamespaceStack) -> bool
fn eq(&self, other: &NamespaceStack) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &NamespaceStack) -> bool
fn ne(&self, other: &NamespaceStack) -> bool
This method tests for !=
.
impl Eq for NamespaceStack
impl StructuralEq for NamespaceStack
impl StructuralPartialEq for NamespaceStack
Auto Trait Implementations
impl RefUnwindSafe for NamespaceStack
impl Send for NamespaceStack
impl Sync for NamespaceStack
impl Unpin for NamespaceStack
impl UnwindSafe for NamespaceStack
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more