Lossless Empty Choice Values in XFDF

Ett choice-fält kan sakna valda alternativ, eller det kan välja ett alternativ vars exportvärde är den tomma strängen; dessa tillstånd ger olika PDF-fältvärden och måste förblir skilda under en export/import-rundresa

Tomt val och tomt exportvärde

HotPDF exporterar en tom värdearray med ett explicit utvidgningsattribut i https://www.loslab.com/hotpdf/xfdf/ namnområdet

<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>

Attributet representerar en tom array, så att importera detta fält nollställer dess valda alternativ

En omarkerad tom value behåller sin ordinära betydelse: den representerar den tomma strängen och väljer det matchande tomma exportalternativet när det finns

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

Ett fält som endast innehåller sitt namn behåller det befintliga enbart-namn-beteendet och blir inte en explicit nollställning

Namnområde och indatavalidering

Importeraren identifierar utvidgningen per sitt utvidgade namnområdesnamn, så prefixet kan skilja sig från hpdf; ett okvalificerat attribut eller ett attribut i ett annat namnområde begär ingen nollställning

Utvidgningsvärdet måste vara exakt true, med antingen inget value-element eller ett tomt value-element; motsägelsefulla icke-tomma värden, upprepade värden och rich-text-värden avvisas

Namnområdesdeklarationen och utvidgningsattributet räknas mot de befintliga objekt- och bytebudgetarna; avbrotts- och transaktionskontroller förblir i kraft

Interoperabilitet

Detta attribut är en HotPDF-utvidgning och inte en Adobe-XFDF- eller ISO-utvidgningsdeklaration; andra konsumenter kan ignorera det och tolka det tomma värdet enligt sitt eget beteende

Använd en HotPDF-medveten konsument när skillnaden mellan inget val och en tom-sträng-val måste överleva en rundresa

Nativa, jobb- och återanrops-API:er

Samma representation gäller nativ formdatautbyte och de befintliga Windows- och Linux JSON-/återanrops-ingångspunkterna; den lägger inte till några fält i de versionshanterade V1-återanropsposterna

Windows formdata-JSON-gränser använder formData, medan Linux formdata-JSON-gränser använder formDataLimits; använd den dokumenterade nyckeln för mål-API:et

En oförändrad import bevarar de ursprungliga filbyttena när inga väntande dokumentredigeringar finns; befintliga väntande redigeringar förblir del av det förberedda dokumentet, och publiceringen behåller den befintliga atomära utdata- och autentiserade behörighetskontrollerna

Relaterade ämnen