docx-rs/docx-core/src/xml_builder/macros.rs

125 lines
5.0 KiB
Rust
Raw Normal View History

2019-11-05 11:03:23 +02:00
macro_rules! opened_el {
2019-11-06 07:55:14 +02:00
($name: ident, $el_name: expr) => {
pub(crate) fn $name(mut self) -> Self {
self.writer
.write(XmlEvent::start_element($el_name))
.expect("should write to buf");
self
}
};
2019-11-05 11:03:23 +02:00
($name: ident, $el_name: expr, $attr0: expr) => {
pub(crate) fn $name(mut self, arg0: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0))
2019-11-05 11:03:23 +02:00
.expect("should write to buf");
self
}
};
2019-11-05 12:20:40 +02:00
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1))
2019-11-05 12:20:40 +02:00
.expect("should write to buf");
self
}
};
2019-11-06 05:29:17 +02:00
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr, $attr2: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str, arg2: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1).attr($attr2, arg2))
2019-11-06 05:29:17 +02:00
.expect("should write to buf");
self
}
};
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr, $attr2: expr, $attr3: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str, arg2: &str, arg3: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1).attr($attr2, arg2).attr($attr3, arg3))
2019-11-06 05:29:17 +02:00
.expect("should write to buf");
self
}
};
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr, $attr2: expr, $attr3: expr, $attr4: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str, arg2: &str, arg3: &str, arg4: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1).attr($attr2, arg2).attr($attr3, arg3).attr($attr4, arg4))
2019-11-06 05:29:17 +02:00
.expect("should write to buf");
self
}
};
2019-11-05 12:20:40 +02:00
}
macro_rules! closed_el_with_child {
($name: ident, $el_name: expr) => {
pub(crate) fn $name(mut self, child: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name))
2019-11-05 12:20:40 +02:00
.expect("should write to buf");
self.writer
.write(child)
.expect("should write to buf");
self.close()
}
};
($name: ident, $el_name: expr, $attr0: expr) => {
pub(crate) fn $name(mut self, arg0: &str, child: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0))
2019-11-05 12:20:40 +02:00
.expect("should write to buf");
self.writer
.write(child)
.expect("should write to buf");
self.close()
}
};
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str, child: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1))
2019-11-05 12:20:40 +02:00
.expect("should write to buf");
self.writer
.write(child)
.expect("should write to buf");
self.close()
}
};
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr, $attr2: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str, arg2: &str, child: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1).attr($attr2, arg2))
2019-11-05 12:20:40 +02:00
.expect("should write to buf");
self.writer
.write(child)
.expect("should write to buf");
self.close()
}
};
2019-11-05 11:03:23 +02:00
}
macro_rules! closed_el {
($name: ident, $el_name: expr, $attr0: expr) => {
pub(crate) fn $name(mut self, arg0: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0))
2019-11-05 11:03:23 +02:00
.expect("should write to buf");
self.close()
}
};
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1))
2019-11-05 11:03:23 +02:00
.expect("should write to buf");
self.close()
}
};
($name: ident, $el_name: expr, $attr0: expr, $attr1: expr, $attr2: expr) => {
pub(crate) fn $name(mut self, arg0: &str, arg1: &str, arg2: &str) -> Self {
self.writer
2019-11-06 07:55:14 +02:00
.write(XmlEvent::start_element($el_name).attr($attr0, arg0).attr($attr1, arg1).attr($attr2, arg2))
2019-11-05 11:03:23 +02:00
.expect("should write to buf");
self.close()
}
};
}