Struct xml::reader::ParserConfig
source · 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,
}Expand description
Parser configuration structure.
This structure contains various configuration options which affect behavior of the parser.
Fields§
§trim_whitespace: boolWhether 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: boolWhether 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: boolWhether 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: boolWhether or not should comments be omitted. Default is true.
If true, Comment events will not be emitted at all.
coalesce_characters: boolWhether 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.
Implementations§
source§impl ParserConfig
impl ParserConfig
sourcepub fn new() -> ParserConfig
pub fn new() -> ParserConfig
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);sourcepub fn create_reader<R: Read>(self, source: R) -> EventReader<R>
pub fn create_reader<R: Read>(self, source: R) -> EventReader<R>
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.
source§impl ParserConfig
impl ParserConfig
sourcepub fn trim_whitespace(self, value: bool) -> ParserConfig
pub fn trim_whitespace(self, value: bool) -> ParserConfig
Sets the field to the provided value and returns updated config object.
source§impl ParserConfig
impl ParserConfig
sourcepub fn whitespace_to_characters(self, value: bool) -> ParserConfig
pub fn whitespace_to_characters(self, value: bool) -> ParserConfig
Sets the field to the provided value and returns updated config object.
source§impl ParserConfig
impl ParserConfig
sourcepub fn cdata_to_characters(self, value: bool) -> ParserConfig
pub fn cdata_to_characters(self, value: bool) -> ParserConfig
Sets the field to the provided value and returns updated config object.
source§impl ParserConfig
impl ParserConfig
sourcepub fn ignore_comments(self, value: bool) -> ParserConfig
pub fn ignore_comments(self, value: bool) -> ParserConfig
Sets the field to the provided value and returns updated config object.
source§impl ParserConfig
impl ParserConfig
sourcepub fn coalesce_characters(self, value: bool) -> ParserConfig
pub fn coalesce_characters(self, value: bool) -> ParserConfig
Sets the field to the provided value and returns updated config object.
Trait Implementations§
source§impl Clone for ParserConfig
impl Clone for ParserConfig
source§fn clone(&self) -> ParserConfig
fn clone(&self) -> ParserConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ParserConfig
impl Debug for ParserConfig
source§impl Default for ParserConfig
impl Default for ParserConfig
source§fn default() -> ParserConfig
fn default() -> ParserConfig
source§impl PartialEq for ParserConfig
impl PartialEq for ParserConfig
source§fn eq(&self, other: &ParserConfig) -> bool
fn eq(&self, other: &ParserConfig) -> bool
self and other values to be equal, and is used
by ==.impl Eq for ParserConfig
impl StructuralPartialEq for ParserConfig
Auto Trait Implementations§
impl Freeze for ParserConfig
impl RefUnwindSafe for ParserConfig
impl Send for ParserConfig
impl Sync for ParserConfig
impl Unpin for ParserConfig
impl UnwindSafe for ParserConfig
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)