#[non_exhaustive]pub enum XmlEvent<'a> {
StartDocument {
version: XmlVersion,
encoding: Option<&'a str>,
standalone: Option<bool>,
},
ProcessingInstruction {
name: &'a str,
data: Option<&'a str>,
},
StartElement {
name: Name<'a>,
attributes: Cow<'a, [Attribute<'a>]>,
namespace: Cow<'a, Namespace>,
},
EndElement {
name: Option<Name<'a>>,
},
CData(&'a str),
Comment(&'a str),
Characters(&'a str),
RawCharacters(&'a str),
Doctype(&'a str),
}
Expand description
A part of an XML output stream.
Objects of this enum are consumed by EventWriter
. They correspond to different parts of
an XML document.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
StartDocument
Corresponds to XML document declaration.
This event should always be written before any other event. If it is not written at all, a default XML declaration will be outputted if the corresponding option is set in the configuration. Otherwise an error will be returned.
Fields
version: XmlVersion
XML version.
Defaults to XmlVersion::Version10
.
ProcessingInstruction
Denotes an XML processing instruction.
Fields
StartElement
Denotes a beginning of an XML element.
Fields
EndElement
Denotes an end of an XML element.
Fields
CData(&'a str)
Denotes CDATA content.
This event contains unparsed data, and no escaping will be performed when writing it to the output stream.
Comment(&'a str)
Denotes a comment.
The string will be checked for invalid sequences and error will be returned by the write operation
Characters(&'a str)
Denotes character data outside of tags.
Contents of this event will be escaped if perform_escaping
option is enabled,
that is, every character invalid for PCDATA will appear as a character entity.
RawCharacters(&'a str)
Emits raw characters which will never be escaped.
This event is only used for writing to an output stream, there is no equivalent reader event. Care must be taken when using this event, as it can easily result non-well-formed documents.
Doctype(&'a str)
Syntax of the DOCTYPE
, everyhing including <
and >
Implementations§
Source§impl<'a> XmlEvent<'a>
impl<'a> XmlEvent<'a>
Sourcepub const fn processing_instruction(
name: &'a str,
data: Option<&'a str>,
) -> XmlEvent<'a>
pub const fn processing_instruction( name: &'a str, data: Option<&'a str>, ) -> XmlEvent<'a>
Returns an writer event for a processing instruction.
Sourcepub fn start_element<S>(name: S) -> StartElementBuilder<'a>
pub fn start_element<S>(name: S) -> StartElementBuilder<'a>
Returns a builder for a starting element.
This builder can then be used to tweak attributes and namespace starting at this element.
Sourcepub const fn end_element() -> EndElementBuilder<'a>
pub const fn end_element() -> EndElementBuilder<'a>
Returns a builder for an closing element.
This method, unline start_element()
, does not accept a name because by default
the writer is able to determine it automatically. However, when this functionality
is disabled, it is possible to specify the name with name()
method on the builder.
Sourcepub const fn cdata(data: &'a str) -> XmlEvent<'a>
pub const fn cdata(data: &'a str) -> XmlEvent<'a>
Returns a CDATA event.
Naturally, the provided string won’t be escaped, except for closing CDATA token ]]>
(depending on the configuration).
Sourcepub const fn characters(data: &'a str) -> XmlEvent<'a>
pub const fn characters(data: &'a str) -> XmlEvent<'a>
Returns a regular characters (PCDATA) event.
All offending symbols, in particular, &
and <
, will be escaped by the writer.
Sourcepub const fn raw_characters(data: &'a str) -> XmlEvent<'a>
pub const fn raw_characters(data: &'a str) -> XmlEvent<'a>
Returns a raw characters event.
No escaping takes place. This event is only used for writing to an output stream, there is no equivalent reader event. Care must be taken when using this event, as it can easily result non-well-formed documents.