Struct xml::namespace::NamespaceStack
[−]
[src]
pub struct NamespaceStack(pub Vec<Namespace>);
Namespace stack is a sequence of namespaces.
Namespace stack is used to represent cumulative namespace consisting of combined namespaces from nested elements.
Methods
impl NamespaceStack
[src]
fn empty() -> NamespaceStack
[src]
Returns an empty namespace stack.
fn default() -> NamespaceStack
[src]
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/
.
fn push_empty(&mut self) -> &mut NamespaceStack
[src]
Adds an empty namespace to the top of this stack.
fn pop(&mut self) -> Namespace
[src]
Removes the topmost namespace in this stack.
Panics if the stack is empty.
fn try_pop(&mut self) -> Option<Namespace>
[src]
Removes the topmost namespace in this stack.
Returns Some(namespace)
if this stack is not empty and None
otherwise.
fn peek_mut(&mut self) -> &mut Namespace
[src]
Borrows the topmost namespace mutably, leaving the stack intact.
Panics if the stack is empty.
fn peek(&self) -> &Namespace
[src]
Borrows the topmost namespace immutably, leaving the stack intact.
Panics if the stack is empty.
fn put_checked<P, U>(&mut self, prefix: P, uri: U) -> bool where
P: Into<String> + AsRef<str>,
U: Into<String> + AsRef<str>,
[src]
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.
fn put<P, U>(&mut self, prefix: P, uri: U) -> bool where
P: Into<String>,
U: Into<String>,
[src]
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.
fn get<'a, P: ?Sized + AsRef<str>>(&'a self, prefix: &P) -> Option<&'a str>
[src]
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.
fn squash(&self) -> Namespace
[src]
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.
fn checked_target(&mut self) -> CheckedTarget
[src]
Returns an object which implements Extend
using put_checked()
instead of put()
.
See CheckedTarget
for more information.
fn iter(&self) -> NamespaceStackMappings
[src]
Returns an iterator over all mappings in this namespace stack.
Trait Implementations
impl Clone for NamespaceStack
[src]
fn clone(&self) -> NamespaceStack
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Eq for NamespaceStack
[src]
impl PartialEq for NamespaceStack
[src]
fn eq(&self, __arg_0: &NamespaceStack) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &NamespaceStack) -> bool
[src]
This method tests for !=
.
impl Debug for NamespaceStack
[src]
impl<'a> IntoIterator for &'a NamespaceStack
[src]
type Item = UriMapping<'a>
The type of the elements being iterated over.
type IntoIter = NamespaceStackMappings<'a>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
Creates an iterator from a value. Read more
impl<'a> Extend<UriMapping<'a>> for NamespaceStack
[src]
fn extend<T>(&mut self, iterable: T) where
T: IntoIterator<Item = UriMapping<'a>>,
[src]
T: IntoIterator<Item = UriMapping<'a>>,
Extends a collection with the contents of an iterator. Read more