Valeurs de choix vides sans perte dans XFDF

Un champ de choix peut n'avoir aucune option sélectionnée, ou sélectionner une option dont la valeur d'export est la chaîne vide ; ces états produisent des valeurs de champ PDF différentes et doivent rester distincts lors d'un aller-retour export/import

Sélection vide et valeur d'export vide

HotPDF exporte un tableau de valeurs vide avec un attribut d'extension explicite dans l'espace de noms 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>

L'attribut représente un tableau vide, donc importer ce champ efface ses options sélectionnées

Un value vide non marqué conserve son sens ordinaire : il représente la chaîne vide et sélectionne l'option d'export vide correspondante quand cette option existe

<field name="Choice"><value/></field>

Un champ ne contenant que son nom conserve le comportement nom-seul existant et ne devient pas un effacement explicite

Espace de noms et validation d'entrée

L'importeur identifie l'extension par son nom d'espace de noms étendu, donc le préfixe peut différer de hpdf ; un attribut non qualifié ou un attribut dans un autre espace de noms ne demande pas d'effacement

La valeur de l'extension doit être exactement true, sans élément value ou avec un seul élément value vide ; valeurs non vides conflictuelles, valeurs répétées et valeurs de texte riche sont rejetées

La déclaration d'espace de noms et l'attribut d'extension comptent dans les budgets d'objets et d'octets existants ; annulation et contrôles de transaction restent en vigueur

Interopérabilité

Cet attribut est une extension HotPDF et non une déclaration d'extension Adobe XFDF ou ISO ; d'autres consommateurs peuvent l'ignorer et interpréter la valeur vide selon leur propre comportement

Utilisez un consommateur conscient de HotPDF quand la distinction entre absence de sélection et sélection de chaîne vide doit survivre à un aller-retour

API natives, de jobs et de callbacks

La même représentation s'applique à l'échange natif de données de formulaire et aux points d'entrée JSON/callbacks Windows et Linux existants ; elle n'ajoute aucun champ aux records de callbacks V1 versionnés

Les limites JSON de données de formulaire Windows utilisent formData, tandis que les limites Linux utilisent formDataLimits ; utilisez la clé documentée pour l'API visée

Un import inchangé préserve les octets du fichier d'origine quand il n'y a pas d'éditions de document en attente ; les éditions en attente existantes restent partie du document préparé, et la publication conserve les contrôles de sortie atomiques et de permissions authentifiés existants

Sujets liés