summaryrefslogtreecommitdiff
path: root/src/lowlevel/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lowlevel/macros.rs')
-rw-r--r--src/lowlevel/macros.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lowlevel/macros.rs b/src/lowlevel/macros.rs
index 29c4511..b14ae13 100644
--- a/src/lowlevel/macros.rs
+++ b/src/lowlevel/macros.rs
@@ -18,6 +18,21 @@ macro_rules! get_attribute {
}
#[macro_export]
+macro_rules! get_recommended_attribute {
+ ($node:expr, $attribute_name:expr) => {{
+ let node: &roxmltree::Node = &$node;
+ let attribute_name: &str = $attribute_name;
+ match node.attribute(attribute_name) {
+ None => {
+ warn!("{} attribute missing", attribute_name);
+ None
+ }
+ Some(v) => Some(v.to_owned()),
+ }
+ }};
+}
+
+#[macro_export]
macro_rules! ensure_element {
($node:expr) => {
if $node.node_type() != roxmltree::NodeType::Element {