メインコンテンツまでスキップ

2.1.2. Dictionary Structured Field Members (Dictionary Structured Field のメンバ)

2.1.2. Dictionary Structured Field Members (Dictionary Structured Field のメンバ)​

所与のフィールドがアプリケーションにより Dictionary Structured Field であると既知である場合, その Dictionary の値内の個々のメンバは, パラメータ key および Dictionary メンバキーを String 値として用いることで識別される.

メッセージ内に複数のフィールド値が現れる場合, これらの値はシリアル化の前に単一の Dictionary 構造に結合されなければならない.

Dictionary Structured Field の個々のメンバ値は, Dictionary キー自身は含めず, member_value およびそのパラメータに対して [STRUCTURED-FIELDS] のセクション 4.1.2 で記述されるシリアル化アルゴリズムを適用して正規化される. 具体的には, 値は Item または Inner List (Dictionary メンバのとりうる 2 つの値) としてシリアル化され, すべてのパラメータおよび可能なサブフィールドは [STRUCTURED-FIELDS] のセクション 4 (またはその拡張・更新の該当節) で定義される厳密シリアル化規則を用いてシリアル化される.

所与のフィールドについてパラメータ付きキーは署名ベースに 1 回を超えて現れてはならない. パラメータ付きキーはソース Dictionary 内の出現順に関係なく, 署名ベース内では任意の順序で現れてよい.

Dictionary キーが被覆コンポーネントとして名付けられているが Dictionary に存在しない場合, 署名ベース生成においてエラーを起こさなければならない.

次は, アプリケーションにより Dictionary であると既知である値を持つ次の例ヘッダフィールドが与えられたときの, Dictionary Structured Field メンバの正規化済み値の参考例である.

Example-Dict: a=1, b=2;x=1;y=2, c=(a b c), d

次の例は, セクション 2.5 で論じる署名ベース形式で示した, このフィールドの異なるコンポーネント識別子に対する正規化済み値である.

"example-dict";key="a": 1 "example-dict";key="d": ?1 "example-dict";key="b": 2;x=1;y=2 "example-dict";key="c": (a b c)

key="c" の値は厳密な member_value アルゴリズムに従って再シリアル化され, key="d" の値は Boolean 値としてシリアル化されていることに注意する.