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