Subject: [Ltru] Re: Consensus

From: "Doug Ewell" <[email-masked]>
Date: Thu, 5 Oct 2006 22:18:38 -0700

Draft-4645bis-01 will have the "replaced by ISO code xxx" comments 
removed.

--
Doug Ewell  *  Fullerton, California, USA  *  RFC 4645  *  UTN #14
http://users.adelphia.net/~dewell/
http://www1.ietf.org/html.charters/ltru-charter.html
http://www.alvestrand.no/mailman/listinfo/ietf-languages

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

---

From: "Doug Ewell" <[email-masked]>
Date: Thu, 5 Oct 2006 22:47:50 -0700

Frank Ellermann <nobody at xyzzy dot claranet dot de> wrote:

> Last but not least it would eliminate the "hakka" reference in a 
> Preferred-Value, where "hakka" is the only "non-subtag" in any 
> reference.

You are presuming a rule where none exists.  A grandfathered tag may 
have another grandfathered tag as its Preferred-Value.  There is no 
restriction against this , no reason it should not be possible, and the 
fact there is only one such situation -- because two people 
independently happened to register tags for Hakka under RFC 1766 -- does 
not change any of that.

>> there is no "collision" between 5- to 8-letter language subtags (if 
>> any existed) and 5- to 8-letter variant subtags, any more than there 
>> is a collision between "ar" for Arabic and "AR" for Argentina.
>
> Of course there is for naive implementations, the theory of the 4646 
> structure is that you can decompose a tag into subtags, and still tell 
> what's what based alone on its length.

The theory is "length plus position" where position is relative to other 
subtags.

> 3 digits => UN number
> 3 alpha  => language (for 4646)
> 4 alpha at begin => language (reserved)
> 4 alpha later => script
> 4 alnum starting with a digit => variant
> 2 alpha at begin => language
> 2 alpha later => region
> 5..8 alpha at begin => language
> 5..8 alnum later => variant

You have created a slightly simplified, almost 100% accurate version of 
the real rules, described in RFC 4646 Section 2.2 ff.  It is not 100% 
accurate, though.

> In my old 4646 validator I've implemented this by adding a dummy 
> hyphen for anything that's not "at begin", and after that it was as 
> you said obvious that "AR" (case insensitive) is not "-AR".
>
> For 4646bis that isn't good enough anymore, because language and 
> extlang share the same namespace, as soon as there is a language "ang" 
> there can't be an extlang "-ang".

You don't need to do this.  If you are truly "validating," as opposed to 
checking well-formedness, you have to be using the Registry -- so you 
can simply look there to see whether a language "ang" exists and whether 
an extlang "ang" exists.

In my validator I used the real rules, and everything works just as well 
for 4646bis as for 4646.

---

From: "Doug Ewell" <[email-masked]>
Date: Thu, 5 Oct 2006 23:03:14 -0700

I don't plan to keep fighting this battle over Suppress-Script.  My 
views on that are well known -- I don't like the S-S mechanism, don't 
feel we needed to solve the problem it solves and don't feel this was 
the best way to solve it -- but we have it now, and we have gone the 
route of "invent something, then deprecate it" too many times already.

Just a couple of comments:

> 1. zero or one script subtag have the same behavior. Acquiring a 
> second script, however, requires extra scrutiny by ietf-languages 
> because it changes the potential default behavior for tag formation 
> for that language.

First, if "zero" and "one" mean the same thing, there is a fundamental 
flaw in the scheme.  The "one" case is what we have now with 
Suppress-Script, but it would be purely informative, to the point of 
superficiality.  It would have no impact on tagging -- exactly what Mark 
said he didn't want in the Registry.  Best to disallow this and have 
either no values, or else two or more.

Second, the whole purpose of this proposed new mechanism is to indicate 
the two-or-more situation.  If meaningless transitions between "zero" 
and "one" are easily handled, but adding a second script is a difficult 
or contentious process for ietf-languages, the mechanism has failed.

---

From: Frank Ellermann <[email-masked]>
Date: Sat, 07 Oct 2006 05:31:38 +0200

Doug Ewell wrote:
 
> You are presuming a rule where none exists.

The "dangling pointers are evil" rule is universal.

The one exception ("hakka" misinterpreted as variant)
in 4645bis could be eliminated by registry without
multiple indirections.  It's not allowed to create
another exception under 4646 or similar rules.

> If you are truly "validating," as opposed to checking
> well-formedness, you have to be using the Registry

A registry converter isn't the same as a tag validator,
it just reads stuff top down producing output in a form
needed by other tools, in that case an SGML validator
abused as XML validator.

> you can simply look there to see whether a language 
> "ang" exists and whether an extlang "ang" exists.

Sure, it's possible to check anything directly in the
converter, it could reject extlang "ang" if it already
has language "ang".  And so on, note "Latn" as needed
if seen in a Suppress-Script, and later as "okay" if a
Script "Latn" is registered.

That's possible, and I did that for 4646 registries.
For 4645bis registries I use xml:id for this purpose,
i.e. ID, IDREF, and IDREFS attribute types.

Frank