On 06/04/2022 00:40, Einhard Leichtfuß wrote:
I noticed that xmllint complains about the Euro sign ("€") in an xml:id.
  - "validity error : xml:id : attribute value € is not an NCName"

The W3C's XML specification, however, seems to allow this:
  - https://www.w3.org/TR/xml-id/#processing
  - https://www.w3.org/TR/xmlschema-2/#ID
  - https://www.w3.org/TR/xml-names/#NT-NCName
  - https://www.w3.org/TR/xml/#NT-NameStartChar
  * '€' is #x20ac which is in the range [#x2070-#x218F], a subset of
    NameStartChar, and may, therefore, occur anywhere in an NCName.

Am I mistaken above, should I look at another specification, or is this
a bug?

This is a bug. The xmlValidate*Name functions in tree.c weren't updated to XML 1.0, Fifth Edition which includes the following change:

    https://www.w3.org/XML/xml-V10-4e-errata#E09

This issue is now tracked here:

    https://gitlab.gnome.org/GNOME/libxml2/-/issues/364

Nick

_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
https://mail.gnome.org/mailman/listinfo/xml

Reply via email to