<greeting localize>

greeting 要素 localize 属性 (BEEP)

[1] RFC 3080: The Blocks Extensible Exchange Protocol Core, , https://www.rfc-editor.org/rfc/rfc3080#section-2.3.1.1

[2] RFC 3066 言語タグを1つ以上指定する >>1 とされます。

[3] 構文は XML DTD で定義されていて、 属性値NMTOKEN, 既定値i-default とされています。

[4] NMTOKEN なのに複数指定できるというのは矛盾します。

[5] DTD注釈には、 NMTOKENS で0個以上指定できる、とあります。 ただし localize 属性に対する説明ではなく、そのデータ型に対する説明です。

[6] 本来 NMTOKENS とするべきところが、誤って NMTOKEN とされてしまったと思われます。

[7] ただし0個のみの指定は、属性に対する明文規定が優先されるべきですから、 認めないと解釈するべきです。

[8] なお、 XML では NMTOKENS は1個以上でなければなりません。 DTD の注釈が不適切です。

[9] DTD の注釈には en-US と指定する例があります。

[10] RFC 4324: Calendar Access Protocol (CAP), , https://www.rfc-editor.org/rfc/rfc4324.html#section-7.6

[11] CAP では LOCALIZE 引数BEEP greeting localize で指定する値を書くことになっています。 >>10

[12] ところが CAPRFC の例文では値が fr_CAPOSIXロケール風になっています。

[13] これについて何の説明もありません。

[14] RFC 4324: Calendar Access Protocol (CAP), , https://www.rfc-editor.org/rfc/rfc4324.html#section-10.13

[15] CAP では SET-LOCALE 命令ロケールの指定ができ、 その値について

         newlocale     =  ; Any locale supplied in the initial [BEEP]
                          ; "greeting" "localize" parameter and
                          ; and any charset supported by the CS
                          ; and listed in the DEFAULT-CHARSET property
                          ; of the VCALSTORE

と説明があって、

         CMD:OPTIONS=en_US.UTF-8:SET-LOCALE
         CMD:OPTIONS=th_TH.ISO8859-11:SET-LOCALE
         CMD:OPTIONS=es_MX.ISO8859-1:SET-LOCALE

と具体例が挙げられています。

[16] localizecharset と説明があるので、 . の前は localize、後は charset でしょうか。 でも2つ合わせて POSIXロケール風にも見えますが。

[17] しかし DEFAULT-CHARSET の値は IANA charset なのですが、 ISO8859-1ISO8859-11IANA charset 名ではありません。 (ISO-8859-1ISO-8859-11 なら IANA charset なのですが。)

[18] そもそも BEEP では localize言語だとしか書かれていないのですが、 それがここでは charset と組み合わされることでなぜかロケールにすり替わっています。 ロケールというのは言語文字コードの組み合わせのことなのでしょうか。

[19] ロケールというのも説明・定義が難しい概念ですが、 カレンダーを扱うプロトコルなのに日時のことに何も言及がないのもおかしいし。