XML exData XFA nativo

El host de eventos general crea propiedades de valor exData ausentes e importa hijos XML externos reales en sus ocurrencias nativas de formulario; el contenido de draws XHTML llega al consumidor de rich text del PDF tras la persistencia y recarga nativas del XDP

Importar y leer XML

const content = row.label.value.exData;
content.contentType = "text/html";
content.loadXML(
  '<body xmlns="http://www.w3.org/1999/xhtml">' +
  '<p><span style="font-size:18pt;color:#0000FF">Changed</span></p>' +
  '</body>',
  false,
  true
);
const currentXML = content.saveXML();
const readableXML = content.saveXML("pretty");

loadXML(source, ignoreRoot=true, overwrite=false) acepta una cadena de documento XML bien formado y devuelve undefined; ignoreRoot añade los hijos de la raíz agregadora, mientras que false añade la raíz misma

Overwrite reemplaza el contenido existente antes de importar; su valor por defecto false añade contenido en orden de documento, preservando los hijos importados previamente

saveXML() devuelve el elemento exData actual y su contenido como una declaración XML UTF-8 y una cadena de fragmento; el literal opcional pretty indenta el contenido de solo elementos preservando los espacios de texto mixto y CDATA

Los nombres de elementos importados, las declaraciones de namespace, los atributos cualificados por namespace, el Unicode literal, las referencias de caracteres, el texto mixto y CDATA permanecen como XML nativo; el markup no se almacena como una cadena plain rawValue

Creación y valores por defecto

Las propiedades de valor admiten un hijo exData, mutuamente excluyente con las demás opciones de valor; un valor de draw ausente y su hijo exData pueden crearse e importarse durante el mismo evento

exData toma por defecto maxLength=-1 y transferEncoding=none, con atributos vacíos contentType, href, id, name, rid, use y usehref

El host de eventos no expone un accesor de valor escalar sobre exData; usa loadXML y saveXML para el contenido XML externo

Lecturas inmediatas, identidad y transacciones

Una operación XML puramente nativa valida y serializa cada petición antes de que la ejecución del script continúe; un XML mal formado lanza dentro del script y puede manejarse con try/catch sin alterar el contenido actual

La repetición determinista de respuestas comparte la transacción de script existente y no ejecuta efectos secundarios de UI, ficheros, red ni transporte

Las llamadas saveXML posteriores ven las importaciones correctas anteriores y los atributos exData actuales durante el mismo evento; las referencias retenidas resuelven la identidad del nodo actual en eventos posteriores

Solo la ocurrencia repetida objetivo recibe el contenido nativo, y una ocurrencia nueva se inicializa desde el XML de la plantilla en lugar de copiar el override importado de una ocurrencia existente

Una raíz importada vacía con overwrite=true limpia el contenido real y permanece vacía tras la persistencia y la recarga; no revierte al contenido de la plantilla

Los errores de script no manejados y los fallos de publicación nativa restauran los bytes exactos del XDP nativo, incluidas las escrituras ordinarias de campos anteriores y las mutaciones XML

Presupuestos y consumo guardado

Los límites del script acotan los bytes de entrada y salida XML, los nodos nativos de elemento y texto, la profundidad, las operaciones, el tiempo transcurrido y las respuestas de repetición; el MaxValueChars del widget también acota el valor XML publicado

El bridge de FPC preserva los bytes UTF-8 a través de las respuestas XML y los valores de acciones ordinarias, incluidos los caracteres acentuados y el Unicode suplementario

El contenido de draws XHTML guardado usa el comportamiento de fuente, tamaño, color y CSS en línea del consumidor de rich text existente; lectores PDF independientes verifican el texto de la primera instancia, el estilo de reemplazo, el contenido de la instancia nueva y el borrado explícito

Objetivos de integración XML restantes

Esta entrega implementa las operaciones de contenido exData; los demás métodos loadXML/saveXML por nodeclass, la importación estructural del Data DOM y la mutación general de nodos externos siguen siendo objetivos separados

Las declaraciones DTD y los catálogos de entidades personalizados siguen sin implementarse; las entidades predefinidas y las referencias de caracteres decimales o hexadecimales están soportadas

Los comentarios e instrucciones de procesamiento dentro del elemento permanecen nativos a través de importación, lecturas inmediatas, guardado, recarga y rollback; el markup a nivel de documento fuera de la raíz y los round trips léxicos XML completos siguen siendo objetivos separados

La resolución de href externos, las transferencias exData codificadas, la aplicación de maxLength, los consumidores de medios externos y las apariencias Unicode rich de widgets siguen siendo objetivos de implementación separados

Referencias y APIs relacionadas

La semántica de raíz de importación y de reemplazo sigue la API Element de Adobe XFA; los nombres, referencias y espacios XML siguen XML 1.0

Consulta TXFAEventBinding, TXFAEventActionKind, Rich Text Properties y Interactive XFA Runtime