1use XmlElement;
2
3use xml::reader::{XmlEvent};
4
5#[derive(Debug)]
6pub struct XmlElementBuilder {
7 _parent : XmlEvent,
8 _children: Vec<XmlElement>,
9 _data : Option<XmlEvent>
10}
11
12impl XmlElementBuilder
13{
14 pub fn new(event: XmlEvent) -> XmlElementBuilder
15 {
16 XmlElementBuilder{_parent: event, _children: Vec::new(), _data: None}
17 }
18
19 pub fn add_child(&mut self, builder: XmlElementBuilder) -> ()
20 {
21 self._children.push(builder.build());
22 }
23
24 pub fn add_data(&mut self, data : XmlEvent) -> ()
25 {
26 self._data = Some(data)
27 }
28
29 pub fn build(self) -> XmlElement
30 {
31 XmlElement::custom(self._parent, self._children, self._data)
32 }
33}