Subject: [netmod] XML and prefix

From: tom petch <[email-masked]>
Date: Fri, 14 Jan 2022 10:15:34 +0000

I see that IANA have taken to asking  XML Registry experts about the registration of YANG namespaces at Last Call, or perhaps they have always done this but have only recently put the e-mail on a public list.  Anyhow, the experts have taken it upon themselves to comment on the XML examples and I do not understand this comment.  This comes from  
[IANA #1217705] Expert Review for draft-ietf-i2nsf-nsf-monitoring-data-model-12 (xml-registry)
by Tim Bray 17 dec 2021 03:03

===============================
Sorry, but this has the same problem in figure 11.1 that we've just been
discussing with Ian.

For it to work, (a) the prefix in the alarm-category element MUST be the
same as the namespace prefix for
urn:ietf:params:xml:ns:yang:ietf-i2nsf-nsf-monitoring, which means that XML
software MUST be chosen that makes the namespace prefix information
available.  I don't think it's OK for the draft not to say those thigns.

<alarm-category
           xmlns:nsfmi="urn:ietf:params:xml:ns:yang:\
                      ietf-i2nsf-nsf-monitoring">
           nsfmi:memory-alarm
         </alarm-category>
=================================================
a) I am unclear what the problem is - I thought that XML allowed great freedom with prefix even if the IETF would rather not
b) this suggestion seems to be that all I-D with XML examples, which is pretty much every I-D with a YANG module in it,  needs to carry a warning about what XML software to choose, which seems  rather a burden.  Thoughts?

Tom Petch

---

From: Martin Björklund <[email-masked]>
Date: Fri, 14 Jan 2022 11:39:19 +0100 (CET)

Hi,

> Sorry, but this has the same problem in figure 11.1 that we've just been

Can you send a pointer to that discussion?  Perhaps there's more
context there.

/martin

tom petch <[email-masked]> wrote:
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod

---

From: Ladislav Lhotka <[email-masked]>
Date: Fri, 14 Jan 2022 11:49:26 +0100

> Can you send a pointer to that discussion?  Perhaps there's more

Right. I also suspect that the last sentence should have been

"I don't think it's OK for the draft to say those things."

Lada

-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

---

From: Martin Björklund <[email-masked]>
Date: Fri, 14 Jan 2022 12:23:36 +0100 (CET)

Hi,

Ok, I think I understand what he means.  With this XML:

  <alarm-category xmlns:nsfmi="urn:ietf:params:xml:ns:yang\
                              :ietf-i2nsf-nsf-monitoring">
      nsfmi:memory-alarm
  </alarm-category>

the prefix "nsfmi" is present in the element data, which means that
in order to implement this properly, the XML parser must pass the
namespace mappings to the user code.

So he proposes to add to the draft:
(from https://mailarchive.ietf.org/arch/msg/i2nsf/06kJ7vS6X-0hUmGHrCWN-jVzU7M)

11.  XML Examples for I2NSF NSF Monitoring

   This section shows the XML examples of I2NSF NSF Monitoring data
   delivered via Monitoring Interface from an NSF.  In order for the XML
   to work, the prefix in the element that uses "identityref" type
   (e.g., /i2nsf-event/i2nsf-system-detection-alarm/alarm-category/) in
   the YANG module described in this document MUST be the same as the
   namespace prefix for urn:ietf:params:xml:ns:yang:ietf-i2nsf-nsf-
   monitoring.  The XML software MUST be chosen that makes the namespace
   prefix information available.

I think this is a bit odd.  Who is supposed to act on the first MUST?
This text is about an example, which is what it is, and it happens to
be correct.

Also, the text about XML software seems unnecessary to me.  It follows
from the definition of an identityref in RFC 7950 that the namespace
mapping is needed to parse this correctly.

/martin

Ladislav Lhotka <[email-masked]> wrote:
> >> I see that IANA have taken to asking XML Registry experts about the
> >> registration of YANG namespaces at Last Call, or perhaps they have
> >> always done this but have only recently put the e-mail on a public
> >> list.  Anyhow, the experts have taken it upon themselves to comment on
> >> the XML examples and I do not understand this comment.  This comes
> >> from
> >> [IANA #1217705] Expert Review for
> >> draft-ietf-i2nsf-nsf-monitoring-data-model-12 (xml-registry)
> >> a) I am unclear what the problem is - I thought that XML allowed great
> >> freedom with prefix even if the IETF would rather not
> >> b) this suggestion seems to be that all I-D with XML examples, which
> >> is pretty much every I-D with a YANG module in it, needs to carry a
> >> warning about what XML software to choose, which seems rather a
> >> burden.  Thoughts?
> >>
> >> Tom Petch
> >>
> >>
> >>
> >>

---

From: tom petch <[email-masked]>
Date: Fri, 14 Jan 2022 11:23:28 +0000

From: Martin Björklund <[email-masked]>
Sent: 14 January 2022 10:39
To: tom petch
Cc: [email-masked]
Subject: Re: [netmod] XML and prefix

Hi,

<tp>

Martin , Lada

Thanks as ever for the quick reply.

No I have no more context.  The e-mail is from the I2NSF list 
https://mailarchive.ietf.org/arch/browse/i2nsf/
and the latest post thereon as of now is from Tim Bray as a follow  up to this.  The thread starts 17dec2021 with a prompt from Amanda for a response as a follow up to 30nov2021

I assume that Ian is a fellow Register expert but could be IANA.  I am on the I2NSF list and do not think that I have missed anything more helpful.

Tom Petch

/martin

---

From: tom petch <[email-masked]>
Date: Fri, 14 Jan 2022 11:32:25 +0000

From: Martin Björklund <[email-masked]>
Sent: 14 January 2022 11:23

Hi,

<tp2>
Martin,

Again, thank you.  My initial take was that defining the prefix in alarm-category makes that the default so that the prefix is not needed on 'memory-alarm' but my XML is getting a bit rusty!

Tom Petch
/martin

---

From: Martin Björklund <[email-masked]>
Date: Fri, 14 Jan 2022 12:41:13 +0100 (CET)

> Again, thank you.  My initial take was that defining the prefix in alarm-category makes that the default so that the prefix is not needed on 'memory-alarm' but my XML is getting a bit rusty!

Almost ;-)  RFC 7950 says:

   If the prefix is not
   present, the namespace of the identityref is the default namespace
   in effect on the element that contains the identityref value.

So in this particular case, the example could instead be written as:

  <alarm-category>memory-alarm</alarm-category>

b/c the default namespace in effect is

  urn:ietf:params:xml:ns:yang:ietf-i2nsf-nsf-monitoring

/martin

---

From: tom petch <[email-masked]>
Date: Fri, 14 Jan 2022 11:59:06 +0000

From: Martin Björklund <[email-masked]>
Sent: 14 January 2022 11:41

   If the prefix is not

<tp3>

Ah yes!  I shall go back to getting ready for the (freezing) weekend:-)

Tom Petch

/martin

---

From: Ladislav Lhotka <[email-masked]>
Date: Fri, 14 Jan 2022 13:35:19 +0100

> mapping is needed to parse this correctly.

This is not unique to YANG. For example, XSLT and RELAX NG use XML 
prefixes in the values of XML attributes.

Lada