Subject: [netmod] YANG 1.1 bug fix last call (was YANG 1.1: XML naming restriction)

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 18 Aug 2016 12:02:01 +0200

Hi,

as discussed in the thread 'YANG 1.1: XML naming restriction', it
seems that the restriction that identifiers may not start with "xml"
is not necessary according to XML 1.0 (5th edition). In addition, it
seems the YANG 1.1 specification should have an explicit normative
reference to the XML specification it is based on. The suggested
document changes are detailed below (thanks to Martin for writing this
up). Please let the WG know by August 24th if you object against
implementing this change before YANG 1.1 is published.

/js (with my RFC6020bis document shepherd hat on)

Section 1:

OLD:

   This document describes the syntax and semantics of version 1.1 of
   the YANG language.  It also describes how a data model defined in a
   YANG module is encoded in the Extensible Markup Language (XML), and

NEW:

   This document describes the syntax and semantics of version 1.1 of
   the YANG language.  It also describes how a data model defined in a
   YANG module is encoded in the Extensible Markup Language (XML)
   [XML], and

Section 1.1:

OLD:

   o  Allow type empty in a key.

   The following changes have been done to the NETCONF mapping:

NEW:

   o  Allow type empty in a key.

   o  Removed the restriction that identifiers could not start with
      the characters "xml".

   The following changes have been done to the NETCONF mapping:

Section 14:

OLD:

   ;; An identifier MUST NOT start with (('X'|'x') ('M'|'m') ('L'|'l'))
   identifier          = (ALPHA / "_")
                         *(ALPHA / DIGIT / "_" / "-" / ".")

NEW:

   identifier          = (ALPHA / "_")
                         *(ALPHA / DIGIT / "_" / "-" / ".")

Section 21.1:

NEW:

   [XML]      Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and
              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
              Edition)", World Wide Web Consortium Recommendation REC-
              xml-20081126, November 2008,
              <http://www.w3.org/TR/2008/REC-xml-20081126>.

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

---

From: "Jernej Tuljak" <[email-masked]>
Date: Thu, 18 Aug 2016 13:59:01 +0200

While you are at it, there seems to be an orphaned production in the grammar (rfc6020bis-14):

   boolean-operator = and-keyword / or-keyword

It is probably a leftover from previous versions of if-feature-expr.
 
Jernej

> -----Original Message-----
> From: netmod [mailto:[email-masked]] On Behalf Of Juergen
> Schoenwaelder
> Sent: Thursday, August 18, 2016 12:02 PM
> To: [email-masked]
> Subject: [netmod] YANG 1.1 bug fix last call (was YANG 1.1: XML naming
> restriction)
> 
> Hi,
> 
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod

---

From: Martin Bjorklund <[email-masked]>
Date: Thu, 18 Aug 2016 14:30:43 +0200 (CEST)

Hi,

> /js (with my RFC6020bis document shepherd hat on)

I found one more change that I'd like to do, in section 9.4.7:

OLD:

With the following type:

  typedef yang-identifier {
    type string {
      length "1..max";
      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
      pattern '[xX][mM][lL].*' {
        modifier invert-match;
      }
    }
  }

NEW:

With the following type:

  type string {
    length "1..max";
    pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
    pattern '[xX][mM][lL].*' {
      modifier invert-match;
    }
  }

/martin

---

From: Martin Bjorklund <[email-masked]>
Date: Thu, 18 Aug 2016 16:14:47 +0200 (CEST)

> It is probably a leftover from previous versions of if-feature-expr.

Thanks!  I will remove it during AUTH48.

/martin

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 25 Aug 2016 09:19:23 +0200

Hi,

since nobody raised any concerns, we will make the change to align
YANG 1.1 with XML 1.0 5th edition (including the yang-identifier
example update mentioned in a subsequent post by Martin).

/js