diff options
Diffstat (limited to 'src/lowlevel/macros.rs')
-rw-r--r-- | src/lowlevel/macros.rs | 15 |
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 { |