xml_data/parser/
extensions.rs1use crate::{
2 parser::{
3 ElementParser,
4 ElementState,
5 },
6 Result,
7 errors,
8};
9
10pub trait ElementParserExt: ElementParser {
12 fn parse_element<E: ElementState>(self, tag: &str) -> Result<E::Output> {
17 let mut state = match E::parse_element_start(tag) {
18 Some(s) => s,
19 None => return Err(errors::unexpected_element(tag)),
20 };
21 self.parse_element_state(&mut state)?;
22 state.parse_element_finish()
23 }
24}
25
26impl<P: ElementParser> ElementParserExt for P {
27}