- From: Arjohn Kampman <arjohn.kampman@aduna.biz>
- Date: Tue, 29 Mar 2005 14:27:01 +0200
- To: andy.seaborne@hp.com
- Cc: public-rdf-dawg-comments@w3.org
Seaborne, Andy wrote:
> Arjohn Kampman wrote:
>> - <LANGTAG> only allows language tags that consists of max two
>> components. However, the following document also seems to use tags
>> with three or more tags like "zh-min-nan" and "en-GB-oed":
>> http://www.iana.org/assignments/language-tags
>
>
> I believe the grammar is already aligned with RFC 3066. The token A2Z
> is not a
> 2 characters; it's "A to Z".
>
> <LANGTAG> ::= '@' <A2Z>+ ('-' (<A2ZN>)+)?
>
> and RDF 3006 has:
>
> Language-Tag = Primary-subtag *( "-" Subtag )
> Primary-subtag = 1*8ALPHA
> Subtag = 1*8(ALPHA / DIGIT)
>
> (I also note that the language-tags document has tags that are not
> covered by the production in 3066).
Please note that these two production rules are not equivalent: the
former allows 0 or 1 subtags but the latter allows 0 or more. The '*'
character before the subtag part denotes this (don't you just love these
alternative bnf notations...;-)). This should be fixed by replacing the
'?' character with a '*' in the former rule, i.e.:
replace:
<LANGTAG> ::= '@' <A2Z>+ ('-' (<A2ZN>)+)?
with
<LANGTAG> ::= '@' <A2Z>+ ('-' (<A2ZN>)+)*
--
Arjohn
Received on Tuesday, 29 March 2005 12:27:01 UTC