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<'de> { ... }
fn visit_cdata<E, V>(self, value: V) -> Result<Self::Value, E>
where E: Error,
V: XmlCData<'de> { ... }
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>(self, pi: V) -> Result<Self::Value, E>
where E: Error,
V: XmlProcessingInstruction { ... }
fn visit_decl<E, V>(self, declaration: V) -> Result<Self::Value, E>
where E: Error,
V: XmlDeclaration { ... }
fn visit_comment<E, V>(self, comment: V) -> Result<Self::Value, E>
where E: Error,
V: XmlComment<'de> { ... }
fn visit_doctype<E, V>(self, doctype: V) -> Result<Self::Value, E>
where E: Error,
V: XmlDoctype<'de> { ... }
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>(self, pi: V) -> Result<Self::Value, E>where
E: Error,
V: XmlProcessingInstruction,
fn visit_pi<E, V>(self, pi: V) -> Result<Self::Value, E>where
E: Error,
V: XmlProcessingInstruction,
Visits an XML PI node.
Sourcefn visit_decl<E, V>(self, declaration: V) -> Result<Self::Value, E>where
E: Error,
V: XmlDeclaration,
fn visit_decl<E, V>(self, declaration: V) -> Result<Self::Value, E>where
E: Error,
V: XmlDeclaration,
Visits a declaration.
Sourcefn visit_comment<E, V>(self, comment: V) -> Result<Self::Value, E>where
E: Error,
V: XmlComment<'de>,
fn visit_comment<E, V>(self, comment: V) -> Result<Self::Value, E>where
E: Error,
V: XmlComment<'de>,
Visits a comment.
Sourcefn visit_doctype<E, V>(self, doctype: V) -> Result<Self::Value, E>where
E: Error,
V: XmlDoctype<'de>,
fn visit_doctype<E, V>(self, doctype: V) -> Result<Self::Value, E>where
E: Error,
V: XmlDoctype<'de>,
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.