1

vCard 2.1 Name プロパティを解析する必要があります。

vCard 3.0 および 4.0 では、Name プロパティの各コンポーネントは複数の値を持つことができます。たとえば、RFC 2426 は次のように明確に述べています。

個々のテキスト コンポーネントには、COMMA 文字 (ASCII 10 進数 44) で区切られた複数のテキスト値 (複数の追加名など) を含めることができます。

しかし、vCard 2.1 では、各コンポーネントが 1 つの値しか持てないように見えます。おそらく、少なくとも追加の名前 (3 番目のフィールド) にはコンマを含めることができます。

vCard 2.1 の Name プロパティでは、Family Name、Given Name、Additional Name、Name Prefix、および Name Suffix 文字列にコンマを含めることができますか? これは、vCard 3.0 および 4.0 のように「複数のテキスト値」として扱われるべきですか?

4

1 に答える 1

1

2.1 仕様の正式な BNF 定義によると、コンポーネント内のコンマ区切りの値のリストはサポートされていません。BNF は、カンマ文字をエスケープする必要があることについて何も述べていません。

nameparts   = 0*4(strnosemi ";") strnosemi
; Family, Given, Middle, Prefix, Suffix.
; Example:Public;John;Q.;Reverend Dr.;III, Esq.

strnosemi   = *(*nonsemi ("\;" / "\" CRLF)) *nonsemi
; To include a semicolon in this string, it must be escaped
; with a "\" character.

N プロパティのサイトにある例の 1 つは、コンマに特別な意味がないことを暗示しているようにも見えます。

N:Veni, Vidi, Vici;The Restaurant.

そのため、N プロパティは vCard 2.1 で複数の値をサポートしていないようです。

于 2014-01-15T22:07:05.540 に答える