use XmlElement;
use xml::reader::{XmlEvent};
#[derive(Debug)]
pub struct XmlElementBuilder {
_parent : XmlEvent,
_children: Vec<XmlElement>,
_data : Option<XmlEvent>
}
impl XmlElementBuilder
{
pub fn new(event: XmlEvent) -> XmlElementBuilder
{
XmlElementBuilder{_parent: event, _children: Vec::new(), _data: None}
}
pub fn add_child(&mut self, builder: XmlElementBuilder) -> ()
{
self._children.push(builder.build());
}
pub fn add_data(&mut self, data : XmlEvent) -> ()
{
self._data = Some(data)
}
pub fn build(self) -> XmlElement
{
XmlElement::custom(self._parent, self._children, self._data)
}
}