XML exData XFA nativo

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

Importación y lectura de 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 un string de documento XML well-formed y devuelve undefined; ignoreRoot agrega los hijos de la raíz agregadora, mientras que false agrega la raíz misma

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

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

Los nombres de elementos importados, las declaraciones de namespaces, los atributos calificados por namespace, el Unicode literal, las referencias de caracteres, el texto mixto y el CDATA permanecen como XML nativo; el markup no se almacena como un string plano de rawValue

Creación y valores por defecto

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

exData tiene 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 accessor de valor escalar en exData; usa loadXML y saveXML para el contenido XML externo

Lecturas inmediatas, identidad y transacciones

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

El replay determinista de respuestas comparte la transacción existente del script y no ejecuta efectos secundarios de UI, archivos, red o transporte

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

Solo la ocurrencia repetida apuntada recibe contenido nativo, y una nueva ocurrencia se inicializa desde el XML de 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 queda vacía tras la persistencia y la recarga; no revierte al contenido de plantilla

Los errores no manejados de scripts y los fallos de publicación nativa restauran los bytes nativos exactos del XDP, incluidas las escrituras ordinarias anteriores de campos 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 elementos y texto, la profundidad, las operaciones, el tiempo transcurrido y las respuestas de replay; el MaxValueChars del widget también acota el valor XML publicado

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

El contenido de draw XHTML guardado usa el comportamiento existente de fuente, size, color y CSS inline del consumidor de rich text; lectores PDF independientes verifican el texto de la primera instancia, el estilo reemplazado, el contenido de la nueva instancia y el limpiado explícito

Objetivos de integración XML restantes

Esta entrega implementa operaciones de contenido exData; los demás métodos loadXML/saveXML de 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 y processing instructions dentro del elemento permanecen nativos a través de la importación, las lecturas inmediatas, el guardado, la recarga y el 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 enriquecidas de widgets siguen siendo objetivos de implementación separados

Referencias y APIs relacionadas

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

Consulta TXFAEventBinding, TXFAEventActionKind, Propiedades de Rich Text y Runtime XFA interactivo