Lossless Empty Choice Values in XFDF

Choice pole nemusí mít žádné vybrané volby, nebo může vybrat volbu, jejíž exportní hodnota je prázdný řetězec; tyto stavy vytvářejí různé PDF hodnoty pole a musí zůstat odlišené během export/import round tripu

Prázdný výběr a prázdná exportní hodnota

HotPDF exportuje prázdné pole hodnot s explicitním atributem rozšíření v namespace 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>

Atribut reprezentuje prázdné pole, takže import tohoto pole vymaže jeho vybrané volby

Neoznačené prázdné value si ponechává svůj běžný význam: reprezentuje prázdný řetězec a vybere odpovídající prázdnou exportní volbu, když existuje

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

Pole obsahující jen svůj název si ponechává stávající chování name-only a nestává se explicitním vymazáním

Namespace a validace vstupu

Importér rozpozná rozšíření podle jeho expandovaného namespace názvu, takže prefix se může lišit od hpdf; nekvalifikovaný atribut či atribut v jiném namespace nevyžaduje vymazání

Hodnota rozšíření musí být přesně true, buď bez elementu value, nebo s jedním prázdným elementem value; rozporné neprázdné hodnoty, opakované hodnoty i rich-text hodnoty se odmítají

Deklarace namespace i atribut rozšíření se počítají do stávajících rozpočtů objektů i bajtů; kontroly zrušení i transakcí zůstávají v platnosti

Interoperabilita

Tenhle atribut je rozšíření HotPDF, nikoli deklarace rozšíření Adobe XFDF či ISO; jiní konzumenti ho mohou ignorovat a interpretovat prázdnou hodnotu podle svého chování

Když musí rozdíl mezi žádným výběrem a výběrem prázdného řetězce přežít round trip, použijte konzumenta znalého HotPDF

Nativní, job i callback API

Tentýž reprezentace platí pro nativní form-data výměnu i stávající Windows a Linux JSON/callback vstupní body; do verzovaných V1 callback záznamů nepřidává žádná pole

Windows form-data JSON limity používají formData, zatímco Linux form-data JSON limity formDataLimits; pro cílové API použijte zdokumentovaný klíč

Nezměněný import zachová původní bajty souboru, když nejsou žádné čekající editace dokumentu; stávající čekající editace zůstávají součástí připraveného dokumentu a publikace si ponechává stávající atomický výstup i autentizované kontroly oprávnění

Související témata