[erlang-patches] [PATCH] Teach xmerl_xpath to resolve context namespaces in more cases

Daniel White <>
Thu Sep 12 18:52:22 CEST 2013

These patches teach attribute name tests and node prefix (wildcard)
name tests to behave like element name tests.

Assuming the following document has been scanned with
`{namespace_conformant, true}`:

<root xmlns:ns1="http://www.example.com/ns">
  <child ns1:attr="example" />

The current behaviour is as such:

> [#xmlElement{}] = xmerl_xpath:string("/root/ns1:child", Doc).
> [#xmlAttribute{}] = xmerl_xpath:string("/root/ns1:child/@ns1:attr", Doc).
> [#xmlElement{}] = xmerl_xpath:string("/root/t:child", Doc,  [{namespace, [{"t", "http://www.example.com/ns"}]}]).
> [] = xmerl_xpath:string("/root/t:child/@t:attr", Doc,  [{namespace, [{"t", "http://www.example.com/ns"}]}]).

The latter case here is surprising, and should return the attribute as
it can be resolved by the provided namespace.

git fetch git://github.com/danielwhite/otp.git



Daniel White

More information about the erlang-patches mailing list