Subject: [Ltru] MD48: conflicts in requirements

From: Addison Phillips <[email-masked]>
Date: Mon, 31 Mar 2008 13:02:23 -0700

Mark previously wrote to the list about this issue, in an email dated 17 
March at 17:27 Pacific time and titled "[Ltru] Editorial comments on 
draft-4646bis-12", appearing in the archive here:

http://www.ietf.org/mail-archive/web/ltru/current/msg09656.html

This comment turns on the fact that we added the requirement for valid 
tags to obey the Prefix field in one of the 4646bis drafts. It was not 
present in 4646. I support making the change Mark proposes. Failing 
that, we should modify 2.2.5 and 3.1.2 appropriately. Following the 
'====' is the complete text of Mark's comment.

Addison

====
MD 48 Conflict

We have two notions of "goodness" defined in Section 2.9. 
Well-formedness, and validity.

Well-formed. It is well-formed when it follows the ABNF in Section 2.1. 
That is clear.

Valid. We then say in 2.2.9 that it is valid when 3 conditions hold:

A tag is considered "valid" if it well-formed and it also satisfies 
these conditions:

     * The tag is either a grandfathered tag, or all of its language, 
script, region, and variant subtags appear in the IANA language subtag 
registry as of the particular registry date.
     * There are no duplicate singleton (extension) subtags and no 
duplicate variant subtags.
     * For each subtag that has a 'Prefix' field in the registry, the 
Prefix matches the language tag using Extended Filtering (Phillips, A. 
and M. Davis, "Matching of Language Tags," September 2006.) [RFC4647]. 
That is, each subtag in the Prefix is present in the tag and in the same 
order. Furthermore, all of the Prefix's subtags MUST appear before the 
subtag. For example, the Prefix "zh-TW" matches the tag "zh-Hant-TW".

We also define "valid" for a given extension.

We explicitly do not list that a valid tag also satisfy all of the MUSTs 
in sections 2.2.1 through 2.2.9. That is because:

    1. some of those MUSTs are actually requirements on the registration 
policy -- given that MUSTs have been obeyed, the contents of the 
registry can be assumed to be cool.
    2. some of those MUSTs are just reflecting the ABNF (eg that the 
script subtag MUST follow the language subtag
    3. all the other MUSTs are for extension tag stuff (and we define 
"valid for an extension" separately)

After scanning through all these MUSTs, there are conflicts between 2.9 
plus 3.1.2, which are in terms of MUST, and 2.2.5 and 3.1.2 which are 
SHOULD and "appropriate".
2.2.5.  Variant Subtags
...The 'Prefix' indicates the language tag or tags that would make a 
suitable prefix (with other subtags, as appropriate) in forming a 
language tag with the variant. That is, each of the subtags in the 
prefix SHOULD appear, in order, before the variant...

3.1.7.  Prefix Field

The 'Prefix' field contains an extended language range whose subtags are 
appropriate to use with this subtag: each of the subtags in one of the 
subtag's Prefix fields MUST appear before the variant in a valid tag. 
For example, the variant subtag '1996' has a 'Prefix' field of "de". 
This means that tags starting with the sequence "de-" are appropriate 
with this subtag, so "de-Latg-1996" and "de-CH-1996" are both 
acceptable, while the tag "fr-1996" is an inappropriate choice.

3.1.2.  Record Definitions
...For example, the 'Prefix' for the variant 'nedis' is 'sl', meaning 
that the tags "sl-nedis" and "sl-IT-nedis" are appropriate while the tag 
"is-nedis" is not.

We can't say both that something is a SHOULD or simply "appropriate", 
and also that it is a MUST. We need to change this uniformly to be 
either MUST and use the term "valid", or change this uniformly to be 
SHOULD and use the term "appropriate". That is, the document as it 
stands is contradictory, and someone could take either position on how 
Prefixes need to be treated by conformant implementations. So we have to 
resolve this one way or another.

My recommendation would be uniformly SHOULD/appropriate, mostly because 
prefixes are edge cases that simply aren't worth testing for. I'm 
perfectly happy saying that an implementation isn't conformant if it 
doesn't check the registry for subtag validity; but prefixes are just 
not so important that I'd be happy saying that an implementation isn't 
conformant if it doesn't check for them.

The result would be changing 3.1.7 MUST to SHOULD and in 2.9 would be 
the following (with minor wordsmithing):
A tag is considered "valid" when it satisfies these conditions:

     * The tag is well-formed.
     * The tag is either a grandfathered tag, or all of its language, 
script, region, and variant subtags appear in the IANA language subtag 
registry as of the particular registry date.
     * The tag has no duplicate singleton (extension) subtags and no 
duplicate variant subtags.

==== END OF MARK'S COMMENT ====

-- 
Addison Phillips
Globalization Architect -- Yahoo! Inc.
Chair -- W3C Internationalization Core WG

Internationalization is an architecture.
It is not a feature.
_______________________________________________
Ltru mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/ltru