pub struct Queries<'a> { /* private fields */ }Expand description
A collection of XPath queries
You can register xpath expressions with conversion functions to turn the results into Rust values.
Implementations§
Source§impl<'a> Queries<'a>
impl<'a> Queries<'a>
Sourcepub fn new(default_static_context_builder: StaticContextBuilder<'a>) -> Self
pub fn new(default_static_context_builder: StaticContextBuilder<'a>) -> Self
Construct a new collection of queries
Supply a default static context builder, which is used by default to construct a static context if none is supplied explicitly.
Sourcepub fn one<V, F>(&self, s: &str, convert: F) -> Result<OneQuery<V, F>>where
F: Convert<V>,
pub fn one<V, F>(&self, s: &str, convert: F) -> Result<OneQuery<V, F>>where
F: Convert<V>,
Construct a query that expects a single item result.
This item is converted into a Rust value using supplied convert function.
This uses a default static context.
Sourcepub fn one_with_context<V, F>(
&self,
s: &str,
convert: F,
static_context: StaticContext,
) -> Result<OneQuery<V, F>>where
F: Convert<V>,
pub fn one_with_context<V, F>(
&self,
s: &str,
convert: F,
static_context: StaticContext,
) -> Result<OneQuery<V, F>>where
F: Convert<V>,
Construct a query that expects a single item result.
This item is converted into a Rust value using supplied convert function.
You can supply a static context explicitly.
Sourcepub fn one_recurse(&self, s: &str) -> Result<OneRecurseQuery>
pub fn one_recurse(&self, s: &str) -> Result<OneRecurseQuery>
Construct a query that expects a single item result.
This item is converted into a Rust value not using a convert function but through a recursive call that’s passed in during execution.
NOTE: recursion generally needs a stopping condition, but one_recurse
expects one value always - unlike option_recurse and many_recurse
which have the None or empty value. I think this means that
one_recurse is not in fact useful.
Sourcepub fn one_recurse_with_context(
&self,
s: &str,
static_context: StaticContext,
) -> Result<OneRecurseQuery>
pub fn one_recurse_with_context( &self, s: &str, static_context: StaticContext, ) -> Result<OneRecurseQuery>
Construct a query that expects a single item result, with explicit static context.
Sourcepub fn option<V, F>(&self, s: &str, convert: F) -> Result<OptionQuery<V, F>>where
F: Convert<V>,
pub fn option<V, F>(&self, s: &str, convert: F) -> Result<OptionQuery<V, F>>where
F: Convert<V>,
Construct a query that expects an optional single item result.
This item is converted into a Rust value using supplied convert function.
Sourcepub fn option_with_context<V, F>(
&self,
s: &str,
convert: F,
static_context: StaticContext,
) -> Result<OptionQuery<V, F>>where
F: Convert<V>,
pub fn option_with_context<V, F>(
&self,
s: &str,
convert: F,
static_context: StaticContext,
) -> Result<OptionQuery<V, F>>where
F: Convert<V>,
Construct a query that expects an optional single item result with explicit static context.
Sourcepub fn option_recurse(&self, s: &str) -> Result<OptionRecurseQuery>
pub fn option_recurse(&self, s: &str) -> Result<OptionRecurseQuery>
Construct a recursive query that expects an optional single item result.
This item is converted into a Rust value not using a convert function but through a recursive call that’s passed in during execution.
Sourcepub fn option_recurse_with_context(
&self,
s: &str,
static_context: StaticContext,
) -> Result<OptionRecurseQuery>
pub fn option_recurse_with_context( &self, s: &str, static_context: StaticContext, ) -> Result<OptionRecurseQuery>
Construct a recursive query that expects an optional single item result, with explicit static context.
Sourcepub fn many<V, F>(&self, s: &str, convert: F) -> Result<ManyQuery<V, F>>where
F: Convert<V>,
pub fn many<V, F>(&self, s: &str, convert: F) -> Result<ManyQuery<V, F>>where
F: Convert<V>,
Construct a query that expects many items as a result.
These items are converted into Rust values using supplied convert function.
Sourcepub fn many_with_context<V, F>(
&self,
s: &str,
convert: F,
static_context: StaticContext,
) -> Result<ManyQuery<V, F>>where
F: Convert<V>,
pub fn many_with_context<V, F>(
&self,
s: &str,
convert: F,
static_context: StaticContext,
) -> Result<ManyQuery<V, F>>where
F: Convert<V>,
Construct a query that expects many items as a result, with explicit static context.
Sourcepub fn many_recurse(&self, s: &str) -> Result<ManyRecurseQuery>
pub fn many_recurse(&self, s: &str) -> Result<ManyRecurseQuery>
Construct a query that expects many items as a result.
These items are converted into Rust values not using a convert function but through a recursive call that’s passed in during execution.
Sourcepub fn many_recurse_with_context(
&self,
s: &str,
static_context: StaticContext,
) -> Result<ManyRecurseQuery>
pub fn many_recurse_with_context( &self, s: &str, static_context: StaticContext, ) -> Result<ManyRecurseQuery>
Construct a recursive query that expects many items as a result, with explicit static context.
Sourcepub fn sequence(&self, s: &str) -> Result<SequenceQuery>
pub fn sequence(&self, s: &str) -> Result<SequenceQuery>
Construct a query that gets a [Sequence] as a result.
This is a low-level API that allows you to get the raw sequence without converting it into Rust values.
Sourcepub fn sequence_with_context(
&self,
s: &str,
static_context: StaticContext,
) -> Result<SequenceQuery>
pub fn sequence_with_context( &self, s: &str, static_context: StaticContext, ) -> Result<SequenceQuery>
Construct a query that gets a [Sequence] as a result, with explicit
static context.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Queries<'a>
impl<'a> RefUnwindSafe for Queries<'a>
impl<'a> Send for Queries<'a>
impl<'a> Sync for Queries<'a>
impl<'a> Unpin for Queries<'a>
impl<'a> UnwindSafe for Queries<'a>
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
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>
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>
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