Trait Deserializer

Source
pub trait Deserializer<'de, T>: Debug + Sized
where T: WithDeserializer<Deserializer = Self>,
{ // Required methods fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, T> where R: XmlReader; fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, T> where R: XmlReader; fn finish<R>(self, reader: &R) -> Result<T, Error> where R: XmlReader; }
Expand description

Trait that defines a deserializer that can be used to construct a type from a XML Events.

Required Methods§

Source

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, T>
where R: XmlReader,

Initializes a new deserializer from the passed reader and the initial event.

§Errors

Returns an Error if the initialization of the deserializer failed.

Source

fn next<R>(self, reader: &R, event: Event<'de>) -> DeserializerResult<'de, T>
where R: XmlReader,

Processes the next XML Event.

§Errors

Returns an Error if processing the event failed.

Source

fn finish<R>(self, reader: &R) -> Result<T, Error>
where R: XmlReader,

Force the deserializer to finish.

§Errors

Returns an Error if the deserializer could not finish.

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.

Implementations on Foreign Types§

Source§

impl<'de> Deserializer<'de, AltTypeContent> for Box<AltTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AltTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AltTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<AltTypeContent, Error>

Source§

impl<'de> Deserializer<'de, AnnotationContent> for Box<AnnotationContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AnnotationContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AnnotationContent>

Source§

fn finish<R>(self, reader: &R) -> Result<AnnotationContent, Error>

Source§

impl<'de> Deserializer<'de, AttributeGroupTypeContent> for Box<AttributeGroupTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AttributeGroupTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AttributeGroupTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<AttributeGroupTypeContent, Error>

Source§

impl<'de> Deserializer<'de, ComplexBaseTypeContent> for Box<ComplexBaseTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexBaseTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexBaseTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<ComplexBaseTypeContent, Error>

Source§

impl<'de> Deserializer<'de, ComplexContentContent> for Box<ComplexContentContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexContentContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexContentContent>

Source§

fn finish<R>(self, reader: &R) -> Result<ComplexContentContent, Error>

Source§

impl<'de> Deserializer<'de, ElementTypeContent> for Box<ElementTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ElementTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ElementTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<ElementTypeContent, Error>

Source§

impl<'de> Deserializer<'de, ExtensionTypeContent> for Box<ExtensionTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ExtensionTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ExtensionTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<ExtensionTypeContent, Error>

Source§

impl<'de> Deserializer<'de, Facet> for Box<FacetDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Facet>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Facet>

Source§

fn finish<R>(self, reader: &R) -> Result<Facet, Error>

Source§

impl<'de> Deserializer<'de, GroupTypeContent> for Box<GroupTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, GroupTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, GroupTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<GroupTypeContent, Error>

Source§

impl<'de> Deserializer<'de, OverrideContent> for Box<OverrideContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, OverrideContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, OverrideContent>

Source§

fn finish<R>(self, reader: &R) -> Result<OverrideContent, Error>

Source§

impl<'de> Deserializer<'de, RedefineContent> for Box<RedefineContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RedefineContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RedefineContent>

Source§

fn finish<R>(self, reader: &R) -> Result<RedefineContent, Error>

Source§

impl<'de> Deserializer<'de, RestrictionContent> for Box<RestrictionContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RestrictionContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RestrictionContent>

Source§

fn finish<R>(self, reader: &R) -> Result<RestrictionContent, Error>

Source§

impl<'de> Deserializer<'de, RestrictionTypeContent> for Box<RestrictionTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RestrictionTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RestrictionTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<RestrictionTypeContent, Error>

Source§

impl<'de> Deserializer<'de, SchemaContent> for Box<SchemaContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SchemaContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SchemaContent>

Source§

fn finish<R>(self, reader: &R) -> Result<SchemaContent, Error>

Source§

impl<'de> Deserializer<'de, SimpleBaseTypeContent> for Box<SimpleBaseTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleBaseTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleBaseTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<SimpleBaseTypeContent, Error>

Source§

impl<'de> Deserializer<'de, SimpleContentContent> for Box<SimpleContentContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleContentContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleContentContent>

Source§

fn finish<R>(self, reader: &R) -> Result<SimpleContentContent, Error>

Source§

impl<'de> Deserializer<'de, AltType> for Box<AltTypeDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, AltType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AltType>

Source§

fn finish<R>(self, reader: &R) -> Result<AltType, Error>

Source§

impl<'de> Deserializer<'de, Annotation> for Box<AnnotationDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Annotation>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Annotation>

Source§

fn finish<R>(self, reader: &R) -> Result<Annotation, Error>

Source§

impl<'de> Deserializer<'de, Any> for Box<AnyDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Any>

Source§

fn next<R>(self, reader: &R, event: Event<'de>) -> DeserializerResult<'de, Any>

Source§

fn finish<R>(self, reader: &R) -> Result<Any, Error>

Source§

impl<'de> Deserializer<'de, AnyAttribute> for Box<AnyAttributeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AnyAttribute>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AnyAttribute>

Source§

fn finish<R>(self, reader: &R) -> Result<AnyAttribute, Error>

Source§

impl<'de> Deserializer<'de, AssertionType> for Box<AssertionTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AssertionType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AssertionType>

Source§

fn finish<R>(self, reader: &R) -> Result<AssertionType, Error>

Source§

impl<'de> Deserializer<'de, AttributeGroupType> for Box<AttributeGroupTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AttributeGroupType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AttributeGroupType>

Source§

fn finish<R>(self, reader: &R) -> Result<AttributeGroupType, Error>

Source§

impl<'de> Deserializer<'de, AttributeType> for Box<AttributeTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AttributeType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, AttributeType>

Source§

fn finish<R>(self, reader: &R) -> Result<AttributeType, Error>

Source§

impl<'de> Deserializer<'de, ComplexBaseType> for Box<ComplexBaseTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexBaseType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexBaseType>

Source§

fn finish<R>(self, reader: &R) -> Result<ComplexBaseType, Error>

Source§

impl<'de> Deserializer<'de, ComplexContent> for Box<ComplexContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ComplexContent>

Source§

fn finish<R>(self, reader: &R) -> Result<ComplexContent, Error>

Source§

impl<'de> Deserializer<'de, DefaultOpenContent> for Box<DefaultOpenContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, DefaultOpenContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, DefaultOpenContent>

Source§

fn finish<R>(self, reader: &R) -> Result<DefaultOpenContent, Error>

Source§

impl<'de> Deserializer<'de, ElementType> for Box<ElementTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ElementType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ElementType>

Source§

fn finish<R>(self, reader: &R) -> Result<ElementType, Error>

Source§

impl<'de> Deserializer<'de, ExtensionType> for Box<ExtensionTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ExtensionType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, ExtensionType>

Source§

fn finish<R>(self, reader: &R) -> Result<ExtensionType, Error>

Source§

impl<'de> Deserializer<'de, FacetType> for Box<FacetTypeDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, FacetType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, FacetType>

Source§

fn finish<R>(self, reader: &R) -> Result<FacetType, Error>

Source§

impl<'de> Deserializer<'de, Field> for Box<FieldDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Field>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Field>

Source§

fn finish<R>(self, reader: &R) -> Result<Field, Error>

Source§

impl<'de> Deserializer<'de, GroupType> for Box<GroupTypeDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, GroupType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, GroupType>

Source§

fn finish<R>(self, reader: &R) -> Result<GroupType, Error>

Source§

impl<'de> Deserializer<'de, Import> for Box<ImportDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Import>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Import>

Source§

fn finish<R>(self, reader: &R) -> Result<Import, Error>

Source§

impl<'de> Deserializer<'de, Include> for Box<IncludeDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Include>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Include>

Source§

fn finish<R>(self, reader: &R) -> Result<Include, Error>

Source§

impl<'de> Deserializer<'de, KeybaseType> for Box<KeybaseTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, KeybaseType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, KeybaseType>

Source§

fn finish<R>(self, reader: &R) -> Result<KeybaseType, Error>

Source§

impl<'de> Deserializer<'de, KeybaseTypeContent> for Box<KeybaseTypeContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, KeybaseTypeContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, KeybaseTypeContent>

Source§

fn finish<R>(self, reader: &R) -> Result<KeybaseTypeContent, Error>

Source§

impl<'de> Deserializer<'de, Keyref> for Box<KeyrefDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Keyref>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Keyref>

Source§

fn finish<R>(self, reader: &R) -> Result<Keyref, Error>

Source§

impl<'de> Deserializer<'de, KeyrefContent> for Box<KeyrefContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, KeyrefContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, KeyrefContent>

Source§

fn finish<R>(self, reader: &R) -> Result<KeyrefContent, Error>

Source§

impl<'de> Deserializer<'de, List> for Box<ListDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, List>

Source§

fn next<R>(self, reader: &R, event: Event<'de>) -> DeserializerResult<'de, List>

Source§

fn finish<R>(self, reader: &R) -> Result<List, Error>

Source§

impl<'de> Deserializer<'de, Notation> for Box<NotationDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Notation>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Notation>

Source§

fn finish<R>(self, reader: &R) -> Result<Notation, Error>

Source§

impl<'de> Deserializer<'de, OpenContent> for Box<OpenContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, OpenContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, OpenContent>

Source§

fn finish<R>(self, reader: &R) -> Result<OpenContent, Error>

Source§

impl<'de> Deserializer<'de, Override> for Box<OverrideDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Override>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Override>

Source§

fn finish<R>(self, reader: &R) -> Result<Override, Error>

Source§

impl<'de> Deserializer<'de, Redefine> for Box<RedefineDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Redefine>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Redefine>

Source§

fn finish<R>(self, reader: &R) -> Result<Redefine, Error>

Source§

impl<'de> Deserializer<'de, Restriction> for Box<RestrictionDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Restriction>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Restriction>

Source§

fn finish<R>(self, reader: &R) -> Result<Restriction, Error>

Source§

impl<'de> Deserializer<'de, RestrictionType> for Box<RestrictionTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RestrictionType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, RestrictionType>

Source§

fn finish<R>(self, reader: &R) -> Result<RestrictionType, Error>

Source§

impl<'de> Deserializer<'de, Schema> for Box<SchemaDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Schema>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Schema>

Source§

fn finish<R>(self, reader: &R) -> Result<Schema, Error>

Source§

impl<'de> Deserializer<'de, SimpleBaseType> for Box<SimpleBaseTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleBaseType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleBaseType>

Source§

fn finish<R>(self, reader: &R) -> Result<SimpleBaseType, Error>

Source§

impl<'de> Deserializer<'de, SimpleContent> for Box<SimpleContentDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleContent>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, SimpleContent>

Source§

fn finish<R>(self, reader: &R) -> Result<SimpleContent, Error>

Source§

impl<'de> Deserializer<'de, Union> for Box<UnionDeserializer>

Source§

fn init<R>(reader: &R, event: Event<'de>) -> DeserializerResult<'de, Union>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, Union>

Source§

fn finish<R>(self, reader: &R) -> Result<Union, Error>

Source§

impl<'de> Deserializer<'de, WildcardType> for Box<WildcardTypeDeserializer>

Source§

fn init<R>( reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, WildcardType>

Source§

fn next<R>( self, reader: &R, event: Event<'de>, ) -> DeserializerResult<'de, WildcardType>

Source§

fn finish<R>(self, reader: &R) -> Result<WildcardType, Error>

Implementors§

Source§

impl<'de, T> Deserializer<'de, T> for ContentDeserializer<T>