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§
Sourcetype SerializeElement: SerializeElement<Ok = Self::Ok, Error = Self::Error>
type SerializeElement: SerializeElement<Ok = Self::Ok, Error = Self::Error>
The type of the serializer that is used to serialize an element with children.
Sourcetype SerializeSeq: SerializeSeq<Ok = Self::Ok, Error = Self::Error>
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§
Sourcefn serialize_text<S: AsRef<str>>(self, text: S) -> Result<Self::Ok, Self::Error>
fn serialize_text<S: AsRef<str>>(self, text: S) -> Result<Self::Ok, Self::Error>
Serialize a text node.
Sourcefn serialize_cdata<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>
Serialize a CDATA section.
Sourcefn serialize_element(
self,
name: &ExpandedName<'_>,
) -> Result<Self::SerializeElement, Self::Error>
fn serialize_element( self, name: &ExpandedName<'_>, ) -> Result<Self::SerializeElement, Self::Error>
Serialize an element with children.
Sourcefn serialize_seq(self) -> Result<Self::SerializeSeq, Self::Error>
fn serialize_seq(self) -> Result<Self::SerializeSeq, Self::Error>
Serialize a sequence of elements.
Sourcefn serialize_decl<S: AsRef<str>>(
self,
version: S,
encoding: Option<S>,
standalone: Option<S>,
) -> Result<Self::Ok, Self::Error>
fn serialize_decl<S: AsRef<str>>( self, version: S, encoding: Option<S>, standalone: Option<S>, ) -> Result<Self::Ok, Self::Error>
Serialize an XML declaration.
Sourcefn serialize_pi<S: AsRef<[u8]>>(
self,
target: S,
content: S,
) -> Result<Self::Ok, Self::Error>
fn serialize_pi<S: AsRef<[u8]>>( self, target: S, content: S, ) -> Result<Self::Ok, Self::Error>
Serialize a processing instruction.
Sourcefn serialize_comment<S: AsRef<[u8]>>(
self,
text: S,
) -> Result<Self::Ok, Self::Error>
fn serialize_comment<S: AsRef<[u8]>>( self, text: S, ) -> Result<Self::Ok, Self::Error>
Serialize a comment.
Sourcefn serialize_doctype<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>
Serialize a doctype declaration.
Sourcefn serialize_none(self) -> Result<Self::Ok, Self::Error>
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.