Trait Serializer

Source
pub trait Serializer: Sized {
    type Ok;
    type Error: Error;
    type SerializeElement: SerializeElement<Ok = Self::Ok, Error = Self::Error>;
    type SerializeSeq: SerializeSeq<Ok = Self::Ok, Error = Self::Error>;

    // Required methods
    fn serialize_text<S: AsRef<str>>(
        self,
        text: S,
    ) -> Result<Self::Ok, Self::Error>;
    fn serialize_cdata<S: AsRef<str>>(
        self,
        text: S,
    ) -> Result<Self::Ok, Self::Error>;
    fn serialize_element(
        self,
        name: &ExpandedName<'_>,
    ) -> Result<Self::SerializeElement, Self::Error>;
    fn serialize_seq(self) -> Result<Self::SerializeSeq, Self::Error>;
    fn serialize_decl<S: AsRef<str>>(
        self,
        version: S,
        encoding: Option<S>,
        standalone: Option<S>,
    ) -> Result<Self::Ok, Self::Error>;
    fn serialize_pi<S: AsRef<[u8]>>(
        self,
        target: S,
        content: S,
    ) -> Result<Self::Ok, Self::Error>;
    fn serialize_comment<S: AsRef<[u8]>>(
        self,
        text: S,
    ) -> Result<Self::Ok, Self::Error>;
    fn serialize_doctype<S: AsRef<[u8]>>(
        self,
        text: S,
    ) -> Result<Self::Ok, Self::Error>;
    fn serialize_none(self) -> Result<Self::Ok, Self::Error>;
}
Expand description

A serializer receives serialization instructions from a Serialize implementation and produces serialized output.

Required Associated Types§

Source

type Ok

The type of the value that is returned when serialization is successful.

Source

type Error: Error

The type of the error that is returned when serialization fails.

Source

type SerializeElement: SerializeElement<Ok = Self::Ok, Error = Self::Error>

The type of the serializer that is used to serialize an element with children.

Source

type SerializeSeq: SerializeSeq<Ok = Self::Ok, Error = Self::Error>

The type of the serializer that is used to serialize a sequence of elements.

Required Methods§

Source

fn serialize_text<S: AsRef<str>>(self, text: S) -> Result<Self::Ok, Self::Error>

Serialize a text node.

Source

fn serialize_cdata<S: AsRef<str>>( self, text: S, ) -> Result<Self::Ok, Self::Error>

Serialize a CDATA section.

Source

fn serialize_element( self, name: &ExpandedName<'_>, ) -> Result<Self::SerializeElement, Self::Error>

Serialize an element with children.

Source

fn serialize_seq(self) -> Result<Self::SerializeSeq, Self::Error>

Serialize a sequence of elements.

Source

fn serialize_decl<S: AsRef<str>>( self, version: S, encoding: Option<S>, standalone: Option<S>, ) -> Result<Self::Ok, Self::Error>

Serialize an XML declaration.

Source

fn serialize_pi<S: AsRef<[u8]>>( self, target: S, content: S, ) -> Result<Self::Ok, Self::Error>

Serialize a processing instruction.

Source

fn serialize_comment<S: AsRef<[u8]>>( self, text: S, ) -> Result<Self::Ok, Self::Error>

Serialize a comment.

Source

fn serialize_doctype<S: AsRef<[u8]>>( self, text: S, ) -> Result<Self::Ok, Self::Error>

Serialize a doctype declaration.

Source

fn serialize_none(self) -> Result<Self::Ok, Self::Error>

Serialize nothing.

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.

Implementors§