XFDF の可逆な空の選択値
選択フィールドには、選択されたオプションがない状態と、エクスポート値が空文字列のオプションが選択されている状態があります。これらの状態は異なる PDF フィールド値を生むため、エクスポート・インポートの往復で区別され続けなければなりません
空の選択と空のエクスポート値
HotPDF は、https://www.loslab.com/hotpdf/xfdf/ 名前空間の明示的な拡張属性とともに、空の値配列をエクスポートします
<xfdf xmlns="http://ns.adobe.com/xfdf/" xmlns:hpdf="https://www.loslab.com/hotpdf/xfdf/">
<fields>
<field name="Choice" hpdf:empty-values="true"><value/></field>
</fields>
</xfdf>
この属性は空配列を表すため、このフィールドをインポートすると選択済みオプションがクリアされます
印のない空の value は通常の意味を保持します。空文字列を表し、そのオプションが存在すれば一致する空のエクスポートオプションを選択します
<field name="Choice"><value/></field>
名前だけを含むフィールドは、既存の名前のみの動作を保持し、明示的なクリアにはなりません
名前空間と入力検証
インポータは拡張を展開済み名前空間名で識別するため、接頭辞は hpdf と異なって構いません。修飾されていない属性や別の名前空間の属性はクリアを要求しません
拡張値は正確に true でなければならず、value 要素がないか、空の value 要素が 1 つだけあります。競合する非空値、繰り返し値、リッチテキスト値は拒否されます
名前空間宣言と拡張属性は、既存のオブジェクト・バイト予算に計上されます。キャンセルとトランザクション検査は引き続き有効です
相互運用性
この属性は HotPDF の拡張であり、Adobe XFDF や ISO の拡張宣言ではありません。他のコンシューマはそれを無視し、それぞれの動作に従って空値を解釈し得ます
無選択と空文字列選択の区別を往復で保持する必要がある場合は、HotPDF を認識するコンシューマを使ってください
ネイティブ、ジョブ、コールバック API
同じ表現が、ネイティブフォームデータ交換と既存の Windows・Linux の JSON・コールバックエントリポイントに適用されます。バージョン付き V1 コールバックレコードにフィールドを追加しません
Windows フォームデータ JSON の上限は formData を、Linux フォームデータ JSON の上限は formDataLimits を使います。対象 API のドキュメント化されたキーを使ってください
変更なしのインポートは、保留中のドキュメント編集がなければ元のファイルバイトを保持します。既存の保留編集は準備済みドキュメントの一部であり続け、公開は既存のアトミック出力と認証済み権限検査を保持します