13

具体的には、CN (共通名) パラメータ。

オーガナイザー;CN=John Doe,Eng:mailto:jd@some.com

RFCはこれについて曖昧です、IMHO。タイプTEXTのプロパティ値については非常に明確ですが、このパラメーターの場合、「パラメーター値はテキストです」とだけ書かれています。いずれにせよ、TEXT 型に指定されたエスケープは、パラメーター値に対して完全ではないようです (たとえば、':' はエスケープされません)。

どうもありがとう!

4

1 に答える 1

20

ダフカ、

はい、パラメーター値は、値を二重引用符で囲むことでエスケープできます。パラメータ値に次の文字が含まれている場合は、エスケープする必要があります。

; - semicolon
: - colon
, - comma

パラメーター値内に二重引用符を使用することは違法"であるため、削除する (またはパラメーター値から削除する) 必要があります。

したがって、上記の例では、正しいエスケープは次のとおりです。

ORGANIZER;CN="John Doe,Eng":mailto:jd@some.com

最初の (引用符で囲まれていない) コロン:が検出されると、解析エンジンは残りをプロパティ値として扱うことに注意してください。:プロパティ値内でコロン文字を使用することは合法であるため、コロンをmailto:jd@some.comエスケープする必要はありません。

行をその部分に分割できます。

  • ORGANIZER- プロパティ名
  • ;- パラメータ区切り文字
  • CN- パラメータ名
  • =- パラメータ値区切り文字
  • "John Doe,Eng"- パラメータ値
  • :- プロパティ値区切り文字
  • mailto:jd@some.com- プロパティ値

以下は、RFC 5545 セクション 3.2 からの引用です。これは、パラメーター値が二重引用符で囲まれている場合を説明し、パラメーター値で二重引用符が無効であることを示しています。

COLON、SEMICOLON、または COMMA の区切り文字を含むプロパティ パラメーター値は、引用符付き文字列のテキスト値として指定する必要があります。プロパティ パラメータ値には、DQUOTE 文字を含めてはなりません。DQUOTE 文字は、制限された文字または URI テキストを含むパラメーター値の区切り文字として使用されます。例えば:

DESCRIPTION;ALTREP="cid:part1.0001@example.org":The Fall'98 Wild Wizards Conference - - ラスベガス\, NV\, USA

パラメータには技術的に複数の値を含めることができることに注意することが重要です。これらの複数の値を区切るためにコンマが使用されます。

(RFC 5545 のセクション 3.2.11 から:)

ATTENDEE;MEMBER="mailto:projectA@example.com","mailto:pr
 ojectB@example.com":mailto:janedoe@example.com

すべての iCalendar エンジンがすべてのパラメーターで複数の値を受け入れるわけではありませんが、次のパラメーターは複数の値を許可する必要があります (RFC によると)。

  • メンバー
  • 委任元
  • 委任先

よろしく、

-ダグ

于 2010-08-10T22:38:01.480 に答える