Andy Bierman <[email protected]> writes:
> The YANG 1.1 ABNF says:
>
>    ;; An identifier MUST NOT start with (('X'|'x') ('M'|'m') ('L'|'l'))
>    identifier          = (ALPHA / "_")
>                          *(ALPHA / DIGIT / "_" / "-" / ".")
>
>
> There is no explanation given why.
> The same restriction was copied to RESTCONF, also without explanation.
> Supposedly, XML does not allow identifiers to start with XML.
>
> Looks like this restriction only applies to the PITarget [17], not Name [5]
> https://www.w3.org/TR/REC-xml/#sec-pi
>
> We have been applying this restriction to element names
> but it only applies to processing instructions.
>
> IMO it should be removed.
> It confuses people when they get an error for naming a data node
> with a string that matches.

Eh?  Looking at "Extensible Markup Lanuage (XML) 1.0 (Fifth Edition)",
section 3.1 (http://www.w3.org/TR/xml/#sec-starttags) says that the
element name of a start in end tag is a "Name".  Looking at section 2.3
(http://www.w3.org/TR/xml/#sec-common-syn), I see

    Names beginning with the string "xml", or with any string which
    would match (('X'|'x') ('M'|'m') ('L'|'l')), are reserved for
    standardization in this or future versions of this specification.

And since Yang data node names can appear as XML element names, Yang has
to forbid node names that start with "XML".

Dale

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to