XML nativo de exData XFA

O host geral de eventos cria propriedades ausentes de valores de exData e importa filhos reais de XML estrangeiro para as ocorrências nativas de formulários delas; o conteúdo de draws XHTML chega ao consumidor de rich text PDF após persistência e recarregamento nativos de XDP

Importar e ler 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) aceita uma string de documento XML bem formado e devolve undefined; ignoreRoot acrescenta os filhos da raiz agregante, enquanto false acrescenta a própria raiz

Overwrite substitui o conteúdo existente antes da importação; o default false dele acrescenta conteúdo pela ordem do documento, preservando filhos previamente importados

saveXML() devolve o elemento exData atual e o conteúdo dele como uma declaração XML UTF-8 e uma string de fragmentos; o literal opcional pretty indenta conteúdo apenas de elementos preservando texto misto e whitespace de CDATA

Nomes importados de elementos, declarações de namespaces, atributos qualificados por namespaces, Unicode literal, referências de carateres, texto misto e CDATA permanecem XML nativo; a marcação não é guardada como uma string plain de rawValue

Criação e defaults

Propriedades de valores permitem um filho exData, mutuamente exclusivo com as outras escolhas de valores; um valor de draw em falta e um filho exData podem ser criados e importados durante o mesmo evento

exData tem por defeito maxLength=-1 e transferEncoding=none, com atributos vazios de contentType, href, id, name, rid, use e usehref

O host de eventos não expõe um acessor escalar de valores em exData; use loadXML e saveXML para conteúdo XML estrangeiro

Leituras imediatas, identidades e transações

Uma operação puramente nativa de XML valida e serializa cada pedido antes de a execução de scripts continuar; XML malformado lança uma exceção dentro do script e pode ser tratado por try/catch sem alterar o conteúdo atual

O replay determinístico de respostas partilha a transação existente de scripts e não executa efeitos colaterais de UI, ficheiros, rede nem transports

Chamadas subsequentes de saveXML veem importações anteriores bem-sucedidas e atributos atuais de exData durante o mesmo evento; referências retidas resolvem a identidade atual do nó em eventos posteriores

Apenas a ocorrência repetida alvo recebe conteúdo nativo, e uma ocorrência nova inicializa a partir de XML de templates em vez de copiar o override importado de uma ocorrência existente

Uma raiz importada vazia com overwrite=true limpa o conteúdo real e permanece vazia após persistência e recarregamento; ela não reverte para conteúdo de templates

Erros de scripts não tratados e falhas nativas de publicação restauram bytes nativos exatos de XDP, incluindo escritas anteriores ordinárias de campos e mutações XML

Orçamentos e consumo guardado

Limites de scripts delimitam bytes de entrada e de saída XML, nós nativos de elementos e de textos, profundidade, operações, tempo decorrido e respostas de replay; MaxValueChars de widgets também delimita o valor publicado de XML

A ponte FPC preserva bytes UTF-8 através de respostas XML e valores ordinários de ações, incluindo carateres acentuados e Unicode suplementar

Conteúdo guardado de draws XHTML usa o comportamento existente do consumidor de rich text de tipos de letra, tamanho, cor e CSS inline; leitores independentes de PDFs verificam texto de primeiras instâncias, estilos de substituição, conteúdo de instâncias novas e limpeza explícita

Alvos restantes de integração XML

Esta entrega implementa operações de conteúdo de exData; outros métodos loadXML/saveXML de nodeclass, importação estrutural do Data DOM e mutação geral de nós estrangeiros continuam a ser alvos separados

Declarações DTD e catálogos personalizados de entidades permanecem não implementados; entidades predefinidas e referências de carateres decimais ou hexadecimais são suportadas

Comentários dentro de elementos e processing instructions permanecem nativos através de importação, leituras imediatas, gravação, recarregamento e rollback; marcação ao nível de documentos fora da raiz e viagens lexicais completas de XML continuam a ser alvos separados

Resolução de hrefs externos, transfers de exData codificados, imposição de maxLength, consumidores de media estrangeira e aparências Unicode rich de widgets continuam a ser alvos separados de implementação

Referências e APIs relacionadas

A semântica de raízes e de substituições de importações segue a Adobe XFA Element API; XML names, referências e whitespace seguem o XML 1.0

Veja TXFAEventBinding, TXFAEventActionKind, Propriedades de Rich Text e Runtime XFA interativo