Open
Description
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?
Activity
dginev commentedon Nov 29, 2022
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.anwaralameddin commentedon Feb 23, 2024
I needed the same and have implemented it with the signature
For my use case, I have implemented
PartialEq
andHash
forNamespace
using the methodsget_prefix
andget_href
rather thanns_ptr
.Shall I create a pull request? Or do you have a different signature or implementation in mind?
dginev commentedon Feb 23, 2024
@anwaralameddin your suggestion sounds reasonable to me. I'm happy to accept such a PR!