[][src]Struct serde_xml_rs::ParserConfig

pub struct ParserConfig {
    pub trim_whitespace: bool,
    pub whitespace_to_characters: bool,
    pub cdata_to_characters: bool,
    pub ignore_comments: bool,
    pub coalesce_characters: bool,
}
[]

Parser configuration structure.

This structure contains various configuration options which affect behavior of the parser.

Fields

trim_whitespace: bool
[]

Whether or not should whitespace in textual events be removed. Default is false.

When true, all standalone whitespace will be removed (this means no Whitespace events will ve emitted), and leading and trailing whitespace from Character events will be deleted. If after trimming Characters event will be empty, it will also be omitted from output stream. This is possible, however, only if whitespace_to_characters or cdata_to_characters options are set.

This option does not affect CDATA events, unless cdata_to_characters option is also set. In that case CDATA content will also be trimmed.

whitespace_to_characters: bool
[]

Whether or not should whitespace be converted to characters. Default is false.

If true, instead of Whitespace events Characters events with the same content will be emitted. If trim_whitespace is also true, these events will be trimmed to nothing and, consequently, not emitted.

cdata_to_characters: bool
[]

Whether or not should CDATA be converted to characters. Default is false.

If true, instead of CData events Characters events with the same content will be emitted. If trim_whitespace is also true, these events will be trimmed. If corresponding CDATA contained nothing but whitespace, this event will be omitted from the stream.

ignore_comments: bool
[]

Whether or not should comments be omitted. Default is true.

If true, Comment events will not be emitted at all.

coalesce_characters: bool
[]

Whether or not should sequential Characters events be merged. Default is true.

If true, multiple sequential Characters events will be merged into a single event, that is, their data will be concatenated.

Multiple sequential Characters events are only possible if either cdata_to_characters or ignore_comments are set. Otherwise character events will always be separated by other events.

Methods

impl ParserConfig[src][]

pub fn new() -> ParserConfig[src][]

Returns a new config with default values.

You can tweak default values using builder-like pattern:

use xml::reader::ParserConfig;

let config = ParserConfig::new()
    .trim_whitespace(true)
    .ignore_comments(true)
    .coalesce_characters(false);

pub fn create_reader<R>(self, source: R) -> EventReader<R> where
    R: Read
[src][]

Creates an XML reader with this configuration.

This is a convenience method for configuring and creating a reader at the same time:

use xml::reader::ParserConfig;

let mut source: &[u8] = b"...";

let reader = ParserConfig::new()
    .trim_whitespace(true)
    .ignore_comments(true)
    .coalesce_characters(false)
    .create_reader(&mut source);

This method is exactly equivalent to calling EventReader::new_with_config() with this configuration object.

impl ParserConfig[src][]

pub fn trim_whitespace(self, value: bool) -> ParserConfig[src][]

Sets the field to the provided value and returns updated config object.

impl ParserConfig[src][]

pub fn whitespace_to_characters(self, value: bool) -> ParserConfig[src][]

Sets the field to the provided value and returns updated config object.

impl ParserConfig[src][]

pub fn cdata_to_characters(self, value: bool) -> ParserConfig[src][]

Sets the field to the provided value and returns updated config object.

impl ParserConfig[src][]

pub fn ignore_comments(self, value: bool) -> ParserConfig[src][]

Sets the field to the provided value and returns updated config object.

impl ParserConfig[src][]

pub fn coalesce_characters(self, value: bool) -> ParserConfig[src][]

Sets the field to the provided value and returns updated config object.

Trait Implementations

impl Clone for ParserConfig[src][+]

impl Debug for ParserConfig[src][+]

impl Default for ParserConfig[src][+]

impl Eq for ParserConfig[src]

impl PartialEq<ParserConfig> for ParserConfig[src][+]

impl StructuralEq for ParserConfig[src]

impl StructuralPartialEq for ParserConfig[src]

Auto Trait Implementations

impl RefUnwindSafe for ParserConfig

impl Send for ParserConfig

impl Sync for ParserConfig

impl Unpin for ParserConfig

impl UnwindSafe for ParserConfig

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src][+]

impl<T> Borrow<T> for T where
    T: ?Sized
[src][+]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src][+]

impl<T> From<T> for T[src][+]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src][+]

impl<T> ToOwned for T where
    T: Clone
[src][+]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src][+]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src][+]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.