use std::collections::HashMap;
use std::io::Read;
use crate::xml::reader::EventReader;
#[derive(Clone, PartialEq, Eq, Debug)]
pub struct ParserConfig {
pub extra_entities: HashMap<String, String>,
}
impl ParserConfig {
pub fn new() -> ParserConfig {
ParserConfig {
extra_entities: HashMap::new(),
}
}
#[inline]
pub fn create_reader<R: Read>(self, source: R) -> EventReader<R> {
EventReader::new_with_config(source, self)
}
#[cfg(test)]
pub fn add_entity<S: Into<String>, T: Into<String>>(
mut self,
entity: S,
value: T,
) -> ParserConfig {
self.extra_entities.insert(entity.into(), value.into());
self
}
}
impl Default for ParserConfig {
#[inline]
fn default() -> ParserConfig {
ParserConfig::new()
}
}