Valores de choice vacíos sin pérdida en XFDF

Un campo choice puede no tener opciones seleccionadas, o puede seleccionar una opción cuyo export value es la cadena vacía; estos estados producen valores de campo PDF distintos y deben permanecer diferenciados durante un round trip de exportación/importación

Selección vacía y export value vacío

HotPDF exporta un array de valores vacío con un atributo de extensión explícito en el 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>

El atributo representa un array vacío, así que importar este campo limpia sus opciones seleccionadas

Un value vacío sin marcar retiene su significado ordinario: representa la cadena vacía y selecciona la opción de exportación vacía correspondiente cuando esa opción existe

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

Un campo que contiene solo su nombre retiene el comportamiento existente de solo nombre y no se convierte en una limpieza explícita

Namespace y validación de entrada

El importador identifica la extensión por su nombre de namespace expandido, así que el prefijo puede diferir de hpdf; un atributo sin calificar o un atributo en otro namespace no solicita una limpieza

El valor de la extensión debe ser exactamente true, con ningún elemento value o un único elemento value vacío; los valores no vacíos en conflicto, los valores repetidos y los valores de rich text se rechazan

La declaración de namespace y el atributo de extensión cuentan en los presupuestos existentes de objetos y bytes; la cancelación y las comprobaciones de transacción siguen en vigor

Interoperabilidad

Este atributo es una extensión de HotPDF y no es una declaración de extensión de Adobe XFDF ni de ISO; otros consumidores pueden ignorarlo e interpretar el valor vacío según su propio comportamiento

Use un consumidor consciente de HotPDF cuando la distinción entre sin selección y selección de cadena vacía deba sobrevivir a un round trip

APIs nativas, de jobs y de callbacks

La misma representación aplica al intercambio nativo de form-data y a los puntos de entrada JSON/callback existentes de Windows y Linux; no agrega campos a los records de callback V1 versionados

Los límites JSON de form-data de Windows usan formData, mientras que los límites JSON de form-data de Linux usan formDataLimits; use la clave documentada para la API de destino

Una importación sin cambios preserva los bytes del archivo original cuando no hay ediciones pendientes del documento; las ediciones pendientes existentes siguen siendo parte del documento preparado, y la publicación retiene las comprobaciones existentes de salida atómica y permisos autenticados

Temas relacionados