pub trait Visitor<'de>: Sized {
type Value: Deserialize<'de>;
// Required method
fn expecting(&self, formatter: &mut Formatter<'_>) -> Result;
// Provided methods
fn visit_text<E, V>(self, value: V) -> Result<Self::Value, E>
where E: Error,
V: XmlText { ... }
fn visit_cdata<E, V>(self, value: V) -> Result<Self::Value, E>
where E: Error,
V: XmlCData { ... }
fn visit_element<A>(self, element: A) -> Result<Self::Value, A::Error>
where A: ElementAccess<'de> { ... }
fn visit_attribute<A>(self, attribute: A) -> Result<Self::Value, A::Error>
where A: AttributeAccess<'de> { ... }
fn visit_seq<S>(self, sequence: S) -> Result<Self::Value, S::Error>
where S: SeqAccess<'de> { ... }
fn visit_pi<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>
where E: Error { ... }
fn visit_decl<E, V: AsRef<[u8]>>(
self,
version: V,
encoding: Option<V>,
standalone: Option<V>,
) -> Result<Self::Value, E>
where E: Error { ... }
fn visit_comment<E, V: AsRef<[u8]>>(
self,
value: V,
) -> Result<Self::Value, E>
where E: Error { ... }
fn visit_doctype<E, V: AsRef<[u8]>>(
self,
value: V,
) -> Result<Self::Value, E>
where E: Error { ... }
fn visit_none<E>(self) -> Result<Self::Value, E>
where E: Error { ... }
}Expand description
Visitor trait that lets you define how to handle different types of XML nodes.
Required Associated Types§
Sourcetype Value: Deserialize<'de>
type Value: Deserialize<'de>
The type of value that this visitor will produce.
Required Methods§
Provided Methods§
Sourcefn visit_text<E, V>(self, value: V) -> Result<Self::Value, E>
fn visit_text<E, V>(self, value: V) -> Result<Self::Value, E>
Visits an XML text node.
Sourcefn visit_cdata<E, V>(self, value: V) -> Result<Self::Value, E>
fn visit_cdata<E, V>(self, value: V) -> Result<Self::Value, E>
Visits an XML CDATA node.
Sourcefn visit_element<A>(self, element: A) -> Result<Self::Value, A::Error>where
A: ElementAccess<'de>,
fn visit_element<A>(self, element: A) -> Result<Self::Value, A::Error>where
A: ElementAccess<'de>,
Visits an XML element.
Sourcefn visit_attribute<A>(self, attribute: A) -> Result<Self::Value, A::Error>where
A: AttributeAccess<'de>,
fn visit_attribute<A>(self, attribute: A) -> Result<Self::Value, A::Error>where
A: AttributeAccess<'de>,
Visits an XML attribute.
Sourcefn visit_seq<S>(self, sequence: S) -> Result<Self::Value, S::Error>where
S: SeqAccess<'de>,
fn visit_seq<S>(self, sequence: S) -> Result<Self::Value, S::Error>where
S: SeqAccess<'de>,
Visits a sequence of values.
Sourcefn visit_pi<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>where
E: Error,
fn visit_pi<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>where
E: Error,
Visits an XML PI node.
Sourcefn visit_decl<E, V: AsRef<[u8]>>(
self,
version: V,
encoding: Option<V>,
standalone: Option<V>,
) -> Result<Self::Value, E>where
E: Error,
fn visit_decl<E, V: AsRef<[u8]>>(
self,
version: V,
encoding: Option<V>,
standalone: Option<V>,
) -> Result<Self::Value, E>where
E: Error,
Visits a declaration.
Sourcefn visit_comment<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>where
E: Error,
fn visit_comment<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>where
E: Error,
Visits a comment.
Sourcefn visit_doctype<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>where
E: Error,
fn visit_doctype<E, V: AsRef<[u8]>>(self, value: V) -> Result<Self::Value, E>where
E: Error,
Visits a doctype declaration.
Sourcefn visit_none<E>(self) -> Result<Self::Value, E>where
E: Error,
fn visit_none<E>(self) -> Result<Self::Value, E>where
E: Error,
Visits nothing. This is used when a value is not present.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.