xrust/parser/xpath/
support.rs

1//! Supporting functions.
2
3use crate::item::Node;
4use crate::parser::{ParseError, ParseInput};
5use crate::transform::{NameTest, NodeTest, Transform, WildcardOrName};
6
7pub(crate) fn get_nt_localname(nt: &NodeTest) -> String {
8    match nt {
9        NodeTest::Name(NameTest {
10            name: Some(WildcardOrName::Name(localpart)),
11            ns: None,
12            prefix: None,
13        }) => localpart.to_string(),
14        _ => String::from("invalid qname"),
15    }
16}
17
18pub(crate) fn noop<N: Node>(
19) -> impl Fn(ParseInput<N>) -> Result<(ParseInput<N>, Transform<N>), ParseError> {
20    move |_| Err(ParseError::Combinator)
21}