Hi, I think the text from sec 4 refers to the usage within an application. The XML instance document is the on-the-wire representation and the I-D example looks correct.
https://www.w3.org/TR/xml-names/#ns-qualnames Andy On Thu, Feb 3, 2022 at 3:53 AM tom petch <[email protected]> wrote: > From: netmod <[email protected]> on behalf of [email protected] < > [email protected]> > Sent: 03 February 2022 09:37 > > Hi, > > A draft I have been working on ( > https://datatracker.ietf.org/doc/draft-ietf-dhc-dhcpv6-yang/) contains a > number of XML configuration examples. During the XML expert review, a > question has been raised about the use of XML namespaces in these examples. > I’m raising it here as I don’t have the XML knowledge to answer. > > <tp> > > Ian > > This looks like the issue I raised on this list 14jan2022 with a subject > line of > XML and prefix > although I have not checked that the usage is exactly the same; the 'XML > Expert' comment would appear to be. > > Tom Petch > > In my example: > > <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces" > > xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type"> > <interface> > <name>eth0</name> > <type>ianaift:ethernetCsmacd</type> > <description>DHCPv6 Relay Interface</description> > <enabled>true</enabled> > </interface> > </interfaces> > > The question is related to the use of the ‘ianaift:’ prefix. This is quite > commonly use in XML examples in YANG documents (e.g. RFC8344) so I think > the question is generally applicable. > > The specific comments from the expert review are: > > - > For the correct processing of these documents requires that whatever XML > software is being used makes available to application code the namespace > prefixes. > > Whilst the recommended tools (e.g. yanglint) provides this function, it is > not an XML best practice. Quoting from the Namespaces in XML, section 4: > "Note that the prefix functions only as a placeholder for a namespace name. > Applications SHOULD use the namespace name, not the prefix, in constructing > names whose scope extends beyond the containing document.” > > I think that violating a SHOULD assertion in a W3C standard is a problem. > > There is no requirement for XML processors to provide this prefix > information, and software that (quite legally) doesn't, will not work > correctly with YANG documents constructed as specified in this I-D. > > 1, YANG specifications should note this fact and specify that software > which is used to process YANG documents MUST provide an interface such that > applications can retrieve the prefix-namespace mappings. > 2, For constructs such as <type>ianaift:ethernetCsmacd</type> the > Internet-Draft should specify that the prefix ("ianaift" in this case) MUST > be identical to the xmlns namespace prefix representing the namespace name > urn:ietf:params:xml:ns:yang:iana-if-type > 3, Alternately, the draft could specify that for the namespace > urn:ietf:params:xml:ns:yang:iana-if-type, the XML namespace prefix ianaift > MUST be used. Another XML bad practice because software that generates XML > programmatically should feel free to generate synthetic prefixes without > breaking the content, but at least this would solve the problem. > - > > BCP216 (RFC8407 - Guidelines for Authors and Reviewers of Documents > Containing YANG modules) doesn’t make any mention of how XML namespaces > should be used, only that example XML/ JSON should be included and that > these examples need to be validated (pyang and yanglint are mentioned for > this). > > Does this guidance need to be updated to reflect expert review comments > above? > > Thanks, > Ian > > > > _______________________________________________ > netmod mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/netmod >
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
