Subject: RE: [Ltru] Re: draft-ietf-ltru-matching-02

From: "Addison Phillips" <[email-masked]>
Date: Tue, 14 Jun 2005 11:22:31 -0700

Note: there was a final flaw in my proposed ABNF. Here is the fully corrected one:

extended-language-range = grandfathered / privateuse / range
range   = ( lang [ "-" script ] [ "-" region ] *( "-" variant ) 
             [ "-" privateuse ] )
lang    = 2*8ALPHA / extlang / "*"
extlang = 2*3ALPHA *2("-" 3ALPHA) ("-" ( 3ALPHA / "*" ))
script  = 4ALPHA / "*"
region  = 2ALPHA / 3DIGIT / "*"
variant = 5*8alphanum / ( DIGIT 3alphanum ) / "*"
privateuse    = ( "x" / "X" ) 1*( "-" ( 1*8alphanum ) )
grandfathered = 1*3ALPHA 1*2( "-" ( 2*8alphanum ) )
alphanum      = ( ALPHA / DIGIT )

The flaw was that extlang has to have a primary language subtag and it must be either an alpha2 or alpha3. (The rule 'lang' handles "*" in the first position.) It may then be followed by up to three extlang subtags. It MUST end with either a concrete subtag or a "*". 

Addison

Addison P. Phillips
Globalization Architect, Quest Software
Chair, W3C Internationalization Core Working Group

Internationalization is not a feature.
It is an architecture. 

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of Addison Phillips
> Sent: 2005?6?13? 21:07
> To: Frank Ellermann; [email-masked]
> Subject: RE: [Ltru] Re: draft-ietf-ltru-matching-02
> 
> Yep, the hyphen goes as you say. I'll correct the ABNF.
> 
> Addison
> 
> Addison P. Phillips
> Globalization Architect, Quest Software
> Chair, W3C Internationalization Core Working Group
> 
> Internationalization is not a feature.
> It is an architecture.
> 
> > -----Original Message-----
> > From: [email-masked] [mailto:[email-masked]]
> On
> > Behalf Of Frank Ellermann
> > Sent: 2005?6?13? 20:35
> > To: [email-masked]
> > Subject: [Ltru] Re: draft-ietf-ltru-matching-02
> >
> > Addison Phillips wrote:
> >
> > > Lang = 2*8(ALPHA) / extlang / "*"
> > > Extlang = 0*2("-" 3ALPHA) ["-" 3ALPHA / "*"]
> >
> > > Slightly icky, but essentially correct
> >
> > Okay, that will be clearer and better than my idea, but it's
> > apparently not yet correct, how about this:
> >
> > extlang = *2("-" 3ALPHA) ["-" ( 3ALPHA / "*" )]
> >
> > You want "-*" at the end, not only "*" as in lng-exa-exb*
> >
> >                           Bye, Frank
> >
> >
> >
> > _______________________________________________
> > Ltru mailing list
> > [email-masked]
> > https://www1.ietf.org/mailman/listinfo/ltru
> 
> 
> _______________________________________________
> Ltru mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/ltru

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

---

From: Frank Ellermann <[email-masked]>
Date: Wed, 15 Jun 2005 14:12:24 +0200

Addison Phillips wrote:
 
> proposed ABNF. Here is the fully corrected one:
[...]
> extlang = 2*3ALPHA *2("-" 3ALPHA) ("-" ( 3ALPHA / "*" ))
[...]
> privateuse    = ( "x" / "X" ) 1*( "-" ( 1*8alphanum ) )
[...]
> The flaw was that extlang has to have a primary language
> subtag and it must be either an alpha2 or alpha3.

ACK.  Please get the okay of an ABNF expert like Bill, Ned,
Bruce, Dave, Scott, or Harald for the ( "x" / "X" )

An "x" alone covers also "X" (and v.v.).  Mentioning them
both explicitly might be good for readability and allowed,
but I'm not 99% sure about it.
                              Bye, Frank