macro_rules! qname {
(@ $uri:literal, $local:literal) => { ... };
($uri:literal, $local:literal) => { ... };
}Expand description
Writes a name in a namespace as {uri}local.
This is the notation for names in namespaces (see
DeserializerConfig::set_resolve_namespaces). With @ in front it’s
the name of an attribute with the default
attribute prefix. The name is
a literal, so it can be used for rename:
use deser_xml::qname;
#[derive(deser::Deserialize)]
struct Link {
#[deser(rename = qname!(@ "http://www.w3.org/1999/xlink", "href"))]
href: String,
}
assert_eq!(qname!("urn:x", "a"), "{urn:x}a");
assert_eq!(qname!(@ "urn:x", "a"), "@{urn:x}a");