pub enum NodeData {
Element(Box<Element>),
Text(Box<Chars>),
}
Expand description
Data for a single DOM node.
§Memory consumption
SVG files look like this, roughly:
<svg>
<rect x="10" y="20"/>
<path d="..."/>
<text x="10" y="20">Hello</text>
<!-- etc -->
</svg>
Each element has a bunch of data, including the styles, which is
the biggest consumer of memory within the Element
struct. But
between each element there is a text node; in the example above
there are a bunch of text nodes with just whitespace (newlines and
spaces), and a single text node with “Hello
” in it from the
<text>
element.
§Accessing the node’s contents
Code that traverses the DOM tree needs to find out at runtime what
each node stands for. First, use the is_chars
or is_element
methods from the NodeBorrow
trait to see if you can then call
borrow_chars
, borrow_element
, or borrow_element_mut
.
Variants§
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NodeData
impl !RefUnwindSafe for NodeData
impl !Send for NodeData
impl !Sync for NodeData
impl Unpin for NodeData
impl UnwindSafe for NodeData
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
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.