Propiedades de valores escalares XFA nativas
El host de eventos crea contenedores de valores de formulario nativos reales y hojas escalares mediante acceso a propiedades o getElement; las propiedades de valor de campos, los valores de datos enlazados y las lecturas de widgets comparten el mismo valor actual
Creación escalar
Los hijos escalares soportados son boolean, date, dateTime, decimal, float, integer, text y time, con una ocurrencia de una clase de valor seleccionada
const field = xfa.form.resolveNode("main.row[1].input");
const leaf = field.value.getElement("text", 0);
leaf.value = "updated";
field.dataNode.value = "from-data";
if (leaf.value !== "from-data") throw new Error("Value synchronization failed");
Leer una propiedad escalar ausente materializa su nodo nativo de formulario e inicializa su contenido desde el valor efectivo actual del campo; el acceso repetido devuelve el mismo objeto de propiedad en vivo
Value tiene los atributos de prototipo comunes, override=0 y un atributo relevant vacío por defecto; las clases escalares soportadas exponen los atributos de prototipo comunes y un name vacío
La comprobación one-of incluye todas las elecciones de valor estándar, de modo que un escalar no puede crearse junto a una elección de valor image, exData o gráfica existente
Sincronización inmediata y nativa
Los accesores value y rawValue de la hoja escalar actúan como proxy del campo propietario; el dataValue.value enlazado es un alias escribible de su accesor rawValue
Las escrituras de campos, escalares y datos actualizan mutuamente sus lecturas durante el mismo script, incluidos otros campos que comparten el mismo valor de datos enlazado
La publicación nativa actualiza el valor del dataset y las hojas escalares materializadas existentes del formulario; los commits de widgets interactivos y los resultados de cálculo también sincronizan las propiedades de valor materializadas para los campos enlazados, incluidos los aliases hidden e invisible
El contenido escalar tipado se retiene como el texto suministrado, incluidas las cadenas canónicas de fecha, hora y números; esta etapa no introduce coerción numérica automática ni formatting de pictures nuevo
La sincronización de aliases concealed sigue los ámbitos de datos repetidos reales y preserva las propiedades sin materializar
Instancias, identidad y transacciones
Crear y editar una propiedad de valor en una ocurrencia repetida preserva las demás ocurrencias; los script objects pueden retener una referencia de propiedad escalar para un evento posterior
Las instancias repetidas nuevas reciben nodos de valor nativos independientes; las escrituras de datos a una instancia recién creada actualizan su hoja escalar materializada real antes de guardar la transacción
Los errores del engine, los fallos nativos de presupuesto de valores y las elecciones de valor en conflicto restauran los bytes exactos del XDP nativo, incluidos los datos de campos, las hojas de valor materializadas y los aliases compartidos
Los escaneos nativos de sincronización participan en los presupuestos de operación y de tiempo transcurrido del evento; un trabajo excesivo rechaza la transacción y restaura su snapshot
Salida PDF guardada
La conversión XFA AcroForm consume los valores escalares persistidos para los valores nativos de campos y las apariencias generadas; los valores de primera instancia repetidos permanecen sin cambios
El producer guardado enfocado reabre el XDP nativo antes de la conversión, y comprobaciones independientes con pypdf y MuPDF inspeccionan las hojas de formulario tipadas, los valores del dataset, los campos nativos y el texto real de apariencia visible
Objetivos de integración restantes
El XML exData nativo soporta la creación de valores ausentes, la importación real de XML externo, la serialización inmediata de scripts y el consumo persistido de draws rich
Los consumidores escalares de draws y captions soportan valores por instancia creados y overrides vacíos explícitos
La creación de valores de imagen y gráficos soporta hijos nativos image, arc, line y rectangle con consumidores de draw reales
La validación completa de formato escalar, las apariencias rich de widgets y el embebido de apariencias Unicode siguen siendo objetivos de implementación separados
APIs relacionadas
Native Data DOM, Native Field Defaults, Absent Property Creation y Interactive XFA Runtime