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
