Subject: [Ltru] Re: 13th-hour WG Last Call comments‏ (through 2.2.1; I have additional comments on section 2, and on section 4.6; that's it so far)

From: CE Whitehead <[email-masked]>
Date: Sat, 29 Nov 2008 15:19:10 -0500

Hi!

Following are my comments to date on:
Draft 
http://tools.ietf.org/html/draft-ietf-ltru-4646bis-18 notes‏  Section 2
Comments (will break ithis up into three emails as well, one containing
strictly editorial comments, one containing strictly comments on the
content (which I have little of), one containing strictly requests for
clarifications.)

Is it too late now to get in these very very
late mostly editorial comments?  (I did want to comment earlier but
have not had all that much computer time; I could rent at the copy
center but am sort of broke; sorry).

Best,

C. E. Whitehead
[email-masked] 

2.1, Page 4, par 2.
* * *
   There are different types of subtag, each of which is distinguished
   by length, position in the tag, and content: each subtag's type can
   be recognized solely by these features.  This makes it possible to
   extract and assign some semantic information to the subtags, even if
   the specific subtag values are not recognized.  Thus, a language tag
   processor need not have a list of valid tags or subtags (that is, a
   copy of some version of the IANA Language Subtag Registry) in order
   to perform common searching and matching operations.  The only
   exceptions to this ability to infer meaning from subtag structure are
   the grandfathered tags listed in the productions 'regular' and
   'irregular' below.  These tags were registered under [RFC3066] and
   are a fixed list that can never change. {COMMENTS:
1.  The above paragraph is a bit awkward, hard to read}
>  There are several/different types of subtags.  A subtag's length and position in the language tag, as well as its content, serves to distinguish its subtag type.  Thus it is possible to extract from and assign to the subtag some semantic information, even when the subtag's specific value is not recognized. Because of this, a language tag processor need not have a list of all valid tags or subtags (that is, a copy of the IANA Language Subtag Registry), in order to perform common searching and matching operations on the tag.  Exceptions are the 'regular' and 'irregular' grandfathered tags, listed below.  Semantic information cannot be extracted from the individual subtags that compose the grandfathered language tags because these tags are only interpretable only as wholes.  The order of and length of subtags that make up the 'irregular' grandfathered tags may in fact vary from the rules governing order and length of subtags specified in this document (see below).  It is ther
 efore possible, in an irregular grandfathered language tag, to have a variant subtag composed of fewer than four characters or a subtag denoting a region preceding one denoting a language, as in, for example, "sgn-BE-fr" (which denotes Belgian French sign language, the French language as used in Belgium).  The grandfathered tags were registered under [RFC3066] and are a fixed list that can never change. 
      * * *
* * *2.1, page 4, par. 3
The syntax of the language tag in ABNF [RFC5234] is:
{COMMENTS:
1.  It is confusing to have the whole list that follows with no real introduction; what about a short definition of the syntax first?} >  The language tag (referred to below as langtag) in ABNF [FRC5234] is composed of one (1) language (or macrolanguage?) subtag, followed by--in order--zero or one extended language subtag, zero or one script subtag, zero or one region subtag, sero or more variant subtags, and zero or more singletons (single character prefixes) for extension language subtags, with each singleton followed by one or more extension language subtags.The language tag may be interrupted anywhere in the tag (including initial position) by private use subtags.  These are introduced by the singleton x.  The singleton x indicates that all content that follows is governed by private agreement only, and that its meaning and arrangement is not covered in this document (see section 2.2.7 and 4.6 below for more information on private use subtags).

Rules governing the length of the various types of subtags are specified below and in Section 2.2.
 
As noted above, grandfathered language tags are not governed by all of the above rules of syntax (for more on grandfathered tags, see 2.2.8, below).

* * ** * *
2.1, pages 4-6
{COMMENTS:

1.  My main comment on the section below is that I find it very distracting and bizarre to use the asterisk [*] to indicate a variable number of letters and numbers, for example 5*8 indicates 5 to 8 letters in a variant subtag beginning with a letter;I would prefer some other symbol-- 5 - 8; or 5-8 or 5to8??  Thanks.} Language-Tag  = langtag             ; normal language tags
               / privateuse          ; private use tag
               / grandfathered       ; grandfathered tags

 langtag       = language
                 ["-" script]
                 ["-" region]
                 *("-" variant)
                 *("-" extension)
                 ["-" privateuse]

 language      = 2*3ALPHA            ; shortest ISO 639 code
                 ["-" extlang]       ; sometimes followed by
                                     ;   extended language subtags
               / 4ALPHA              ; or reserved for future use
               / 5*8ALPHA            ; or registered language subtag

Phillips & Davis           Expires May 4, 2009                  [Page 5]
 
Internet-Draft                language-tags                 October 2008

 extlang       = 3ALPHA              ; selected ISO 639 codes
                 *2("-" 3ALPHA)      ; permanently reserved

 script        = 4ALPHA              ; ISO 15924 code

 region        = 2ALPHA              ; ISO 3166-1 code
               / 3DIGIT              ; UN M.49 code

 variant       = 5*8alphanum         ; registered variants
               / (DIGIT 3alphanum)

 extension     = singleton 1*("-" (2*8alphanum))

                                     ; Single alphanumerics
                                     ; "x" reserved for private use
 singleton     = %x41-57             ; a - w
               / %x59-5A             ; y - z
               / %x61-77             ; A - W
               / %x79-7A             ; Y - Z
               / DIGIT               ; 0 - 9

 privateuse    = "x" 1*("-" (1*8alphanum))

 grandfathered = irregular           ; non-redundant tags registered
               / regular             ;   during the RFC 3066 era

 irregular     = "en-GB-oed"         ; irregular tags do not match
               / "i-ami"             ; the 'langtag' production and
               / "i-bnn"             ; would not otherwise be
               / "i-default"         ; considered 'well-formed'
               / "i-enochian"        ; These tags are all valid,
               / "i-hak"             ; but most are deprecated
               / "i-klingon"         ; in favor of more modern
               / "i-lux"             ; subtags or subtag
               / "i-mingo"           ; combination
               / "i-navajo"
               / "i-pwn"
               / "i-tao"
               / "i-tay"
               / "i-tsu"
               / "sgn-BE-FR"
               / "sgn-BE-NL"
               / "sgn-CH-DE"

Phillips & Davis           Expires May 4, 2009                  [Page 6]
 
Internet-Draft                language-tags                 October 2008

 regular       = "art-lojban"        ; these tags match the 'langtag'
               / "cel-gaulish"       ; production, but their subtags
               / "no-bok"            ; are not extended language
               / "no-nyn"            ; or variant subtags: their meaning
               / "zh-guoyu"          ; is defined by their registration
               / "zh-hakka"          ; and all of these are deprecated
               / "zh-min"            ; in favor of a more modern
               / "zh-min-nan"        ; subtag or sequence of subtags
               / "zh-xiang"

 alphanum      = (ALPHA / DIGIT)     ; letters and numbers

                        Figure 1: Language Tag ABNF

* * *
2.1, p. 6, par 5
There is a subtlety in the ABNF
   production 'variant': 

{COMMENTS:
1.  ???  Do you need this comment about 'subtlety'?; the information that follows this--see below--is sufficient!}> {NULL, nothing here needed.}
* * *
* * *
a variant starting with a digit has a minimum
   length of four characters, while those starting with a letter have a
   minimum length of five characters.

{COMMENT:
1.  If you delete the sentence above, beginning, "There is a subtlety . . . ," then make the 'a' upper case.}

> A variant starting with a digit . . . 

* * *

* * *

2.2.  Language Subtag Sources and Interpretation

p. 8, par 3

   Language tags are designed so that each subtag type has unique length
   and content restrictions.  These make identification of the subtag's
   type possible, even if the content of the subtag itself is
   unrecognized.  This allows tags to be parsed and processed without
   reference to the latest version of the underlying standards or the
   IANA registry and makes the associated exception handling when
   parsing tags simpler.

{COMMENTS:

1.  last sentence is awkward and wordy; change.}

> This allows tags to be parsed and processed without reference to either the latest version of the underlying standards or the IANA registry, and simplifies exception handling associated with the parsing of language tags.

* * *

* * *
2.2 p. 8, par 5

{CLARIFICATION??
NEED CLARIFICATION of the first sentence in the paragraph below:

What about the reserved sequences for private language subtags ranging from 'qaa' to 'qtz,' and the reserved sequences for private region subtags including 'AA,' 'QM'-'QZ,' 'XA-XZ,' and 'ZZ?' 
These do not follow the singleton x and so occur in their normal position in the language tag, right?
}
 
  Sequences of private use and extension subtags MUST occur at the end
   of the sequence of subtags and MUST NOT be interspersed with subtags
   defined elsewhere in this document.  These sequences are introduced
   by single-character subtags, which are reserved as follows:

> Sequences of private use (not including those reserved sequences for language subtags ranging from 'qaa' to 'qtz' and reserved sequences for region subtags including 'AA', 'QM'-'QZ', 'XA'-XZ', and 'ZZ') and extension subtags
MUST occur at the end of the sequence of subtags and MUST NOT be interspersed with subtags defined elsewhere in this document.

* * *

* * *

2.2.1.  Primary Language Subtag, p. 10, par 1, item 5

   5.  Any language subtags of 5 to 8 characters in length in the IANA
       registry were defined via the registration process in Section 3.5
       and MAY be used to form the primary language subtag.  An example
       of what such a registration might include: one of the
       grandfathered IANA registrations is "i-enochian".  The subtag
       'enochian' could be registered in the IANA registry as a primary
       language subtag (assuming that ISO 639 does not register this
       language first), making tags such as "enochian-AQ" and "enochian-
       Latn" valid.

       At the time this document was created, there were no examples of
       this kind of subtag and future registrations of this type are
       discouraged: primary languages are strongly RECOMMENDED for
       registration with ISO 639, and proposals rejected by ISO 639/
       RA-JAC will be closely scrutinized before they are registered
       with IANA.

{ COMMENT:
1.  A transition--such as "However," "The above notwithstanding," etc, is needed to go the second paragraph in item 5 above.}

> However, at 
he time this document was created, there were no examples of
       this kind of subtag and future registrations of this type are
       discouraged: primary languages are strongly RECOMMENDED for
       registration with ISO 639, and proposals rejected by ISO 639/
       RA-JAC will be closely scrutinized before they are registered
       with IANA.

* * *

* * *
2.2.1, p. 11, par. 6

{COMMENT/CLARIFICATION?:

What is the reference for "these" in the first sentence of the paragraph below?
I do not think "these" is needed; that is I do not think you need to refer back to a prior mention of these problems.
}
   To avoid these problems with versioning and subtag choice (as
   experienced during the transition between RFC 1766 and RFC 3066), as
   well as to ensure the canonical nature of subtags defined by this
   document, the ISO 639 Registration Authority Joint Advisory Committee
   (ISO 639/RA-JAC) has included the following statement in
   [iso639.prin]:

> To avoid problems with versioning and subtag choice (
(as
   experienced during the transition between RFC 1766 and RFC 3066), as
   well as to ensure the canonical nature of subtags defined by this
   document, the ISO 639 Registration Authority Joint Advisory Committee
   (ISO 639/RA-JAC) has included the following statement in
   [iso639.prin]:

* * *
      "A language code already in ISO 639-2 at the point of freezing ISO
      639-1 shall not later be added to ISO 639-1.  This is to ensure
      consistency in usage over time, since users are directed in
      Internet applications to employ the alpha-3 code when an alpha-2
      code for that language is not available."

* * * End of comments through section 2.2.1 * * *

--CEW
_______________________________________________
Ltru mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ltru