missing ability to get all attributes including namespace
Consider this:
<foo xmlns:ns="http://example.com" bar="BAR" ns:bar="NS BAR" />
How can I find out that attributes bar and ns:bar both exist?
The Node API offers get_attributes which returns a HashMap with all attributes, but this loses namespace information and I only get bar once.
I can access individual attributes by namespace using get_attribute_ns, but I have no way to find out which attributes exist in the first place. I would expect something like get_attributes_ns which returns a vec of Node (of type AttributeNode, like what is returned by get_attribute_node) in order to find this out. Or alternatively a get_attribute_names_ns which gives a vec of attribute name, attribute namespace tuples.
Am I missing something or this is something the API doesn't implement yet?
Am I missing something or this is something the API doesn't implement yet?
I think the namespace support is lacking in the current wrapper, so this would need a new method, likely get_attributes_ns, as you suggest.
I needed the same and have implemented it with the signature
pub fn get_properties_ns(&self) -> HashMap<(Option<Namespace>, String), String>
For my use case, I have implemented PartialEq and Hash for Namespace using the methods get_prefix and get_href rather than ns_ptr.
Shall I create a pull request? Or do you have a different signature or implementation in mind?
@anwaralameddin your suggestion sounds reasonable to me. I'm happy to accept such a PR!