Verliesvrije lege choice-waarden in XFDF
Een choice-veld kan geen geselecteerde opties hebben, of het kan een optie selecteren waarvan de exportwaarde de lege string is; deze statussen leveren verschillende PDF-veldwaarden op en moeten distinct blijven tijdens een export/import-round-trip
Lege selectie en lege exportwaarde
HotPDF exporteert een lege waarde-array met een expliciet extension-attribute in de https://www.loslab.com/hotpdf/xfdf/-namespace
<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>
Het attribute representeert een lege array, dus het importeren van dit veld wist diens geselecteerde opties
Een ongemarkeerde lege value behoudt diens gewone betekenis: hij representeert de lege string en selecteert de matchende lege exportoptie wanneer die optie bestaat
<field name="Choice"><value/></field>
Een veld dat alleen diens naam bevat behoudt het bestaande name-only-gedrag en wordt geen expliciete clear
Namespace- en invoervalidatie
De importer identificeert de extensie via diens uitgeklapte namespace-naam, dus het prefix mag afwijken van hpdf; een niet-gekwalificeerd attribute of een attribute in een andere namespace vraagt geen clear
De extension-waarde moet exact true zijn, met ofwel geen value-element ofwel één leeg value-element; conflicterende niet-lege waarden, herhaalde waarden en rich-text-waarden worden geweigerd
De namespace-declaratie en het extension-attribute tellen mee voor de bestaande object- en bytebudgetten; annulerings- en transactiechecks blijven van kracht
Interoperabiliteit
Dit attribute is een HotPDF-extensie en geen Adobe XFDF- of ISO-extensie-declaratie; andere consumers mogen het negeren en de lege waarde interpreteren volgens diens eigen gedrag
Gebruik een HotPDF-bewuste consumer wanneer het onderscheid tussen geen selectie en een lege-string-selectie een round trip moet overleven
Native, job- en callback-API's
Dezelfde representatie geldt voor native form-data-exchange en de bestaande Windows- en Linux JSON/callback-entrypoints; hij voegt geen velden toe aan de versioned V1-callback-records
Windows form-data JSON-limieten gebruiken formData, terwijl Linux form-data JSON-limieten formDataLimits gebruiken; gebruik de gedocumenteerde key voor de target-API
Een ongewijzigde import behoudt de originele bestandsbytes wanneer er geen pending document-edits zijn; bestaande pending edits blijven deel van het voorbereide document, en publicatie behoudt de bestaande atomaire uitvoer en geauthenticeerde permission-checks