Skip to main content

XmlNodeIterator

Trait XmlNodeIterator 

Source
pub trait XmlNodeIterator: Clone {
    type Navigator: DomNavigator;

    // Required methods
    fn current(&self) -> Option<XmlItemRef<'_, Self::Navigator>>;
    fn current_position(&self) -> Option<usize>;
    fn move_next(&mut self) -> Result<bool, XPathError>;

    // Provided methods
    fn sequential_position(&self) -> Option<usize> { ... }
    fn reset_sequential_position(&mut self) { ... }
}
Expand description

Iterator over XPath items (nodes + atomic values).

This mirrors the .NET XPathNodeIterator shape: a cloneable cursor with current and move_next semantics.

Required Associated Types§

Required Methods§

Source

fn current(&self) -> Option<XmlItemRef<'_, Self::Navigator>>

Current item (None before first move_next or after end).

Source

fn current_position(&self) -> Option<usize>

0-based position of the current item, or None if not started/finished.

Source

fn move_next(&mut self) -> Result<bool, XPathError>

Advance to next item; returns false at end of sequence.

Provided Methods§

Source

fn sequential_position(&self) -> Option<usize>

1-based sequential position for axis iteration.

Source

fn reset_sequential_position(&mut self)

Reset sequential position tracking (used by position filters).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a, I, A> XmlNodeIterator for SequentialAxisNodeIterator<'a, I, A>

Source§

impl<'a, I: XmlNodeIterator> XmlNodeIterator for ChildOverDescendantsNodeIterator<'a, I>

Source§

impl<'a, I: XmlNodeIterator> XmlNodeIterator for DescendantNodeIterator<'a, I>

Source§

impl<'a, I: XmlNodeIterator> XmlNodeIterator for FollowingNodeIterator<'a, I>

Source§

impl<'a, I: XmlNodeIterator> XmlNodeIterator for PrecedingNodeIterator<'a, I>

Source§

impl<'a, I: XmlNodeIterator> XmlNodeIterator for SpecialChildNodeIterator<'a, I>

Source§

impl<'a, I: XmlNodeIterator> XmlNodeIterator for SpecialDescendantNodeIterator<'a, I>

Source§

impl<I: XmlNodeIterator> XmlNodeIterator for BufferedNodeIterator<I>

Source§

impl<I: XmlNodeIterator> XmlNodeIterator for ItemIterator<I>

Source§

impl<I: XmlNodeIterator> XmlNodeIterator for PositionFilterNodeIterator<I>

Source§

impl<N: DomNavigator> XmlNodeIterator for DocumentOrderNodeIterator<N>

Source§

impl<N: DomNavigator> XmlNodeIterator for EmptyIterator<N>

Source§

impl<N: DomNavigator> XmlNodeIterator for RangeIterator<N>

Source§

impl<N: DomNavigator> XmlNodeIterator for VecNodeIterator<N>