Propriedades nativas de valores escalares no XFA
O event host cria containers nativos reais de valores de formulários e folhas escalares através de acesso a propriedades ou getElement; propriedades de valores de campos, valores de dados vinculados e leituras de widgets compartilham o mesmo valor atual
Criação escalar
Os filhos escalares suportados são boolean, date, dateTime, decimal, float, integer, text e time, com uma ocorrência de uma classe de valor selecionada
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");
Ler uma propriedade escalar ausente materializa seu nó nativo de formulário e inicializa seu conteúdo a partir do valor efetivo atual do campo; acesso repetido retorna o mesmo objeto vivo de propriedade
Value tem atributos comuns de prototype, override=0 e um atributo relevant vazio por default; as classes escalares suportadas expõem atributos comuns de prototype e um nome vazio
A checagem one-of inclui todas as escolhas padrão de valores, então um escalar não pode ser criado ao lado de uma escolha de valor existente de image, exData ou gráfico
Sincronização imediata e nativa
Os accessors de value e rawValue de folhas escalares fazem proxy do campo dono; dataValue.value vinculado é um alias gravável do accessor rawValue dele
Escritas de campos, escalares e dados atualizam as leituras umas das outras durante o mesmo script, incluindo outros campos que compartilham o mesmo valor de dados vinculado
A publicação nativa atualiza o valor do dataset e as folhas escalares materializadas existentes de formulários; commits interativos de widgets e resultados de cálculo também sincronizam as propriedades de valores materializadas para campos vinculados, incluindo aliases hidden e invisible
O conteúdo escalar tipado é retido como texto fornecido, incluindo strings canônicas de datas, horas e números; esta etapa não introduz coerção automática numérica nem formatação nova de pictures
A sincronização de aliases ocultos segue os escopos reais repetidos de dados e preserva propriedades não materializadas
Instâncias, identidade e transações
Criar e editar uma propriedade de valor numa ocorrência repetida preserva as outras ocorrências; objetos de script podem reter uma referência de propriedade escalar para um evento posterior
Instâncias repetidas novas recebem nós nativos independentes de valores; escritas de dados numa instância recém-criada atualizam sua folha escalar realmente materializada antes de a transação ser salva
Erros do engine, falhas do orçamento nativo de valores e escolhas de valores conflitantes restauram os bytes exatos do XDP nativo, incluindo dados de campos, folhas de valores materializadas e aliases compartilhados
Scans nativos de sincronização participam dos orçamentos de operações e tempo decorrido do evento; trabalho excessivo rejeita a transação e restaura seu snapshot
Saída PDF salva
A conversão XFA AcroForm consome os valores escalares persistidos para valores nativos de campos e aparências geradas; valores de primeiras instâncias repetidas permanecem inalterados
O produtor salvo focado reabre o XDP nativo antes da conversão, e checagens independentes de pypdf e MuPDF inspecionam folhas tipadas de formulários, valores de datasets, campos nativos e texto real visível de aparências
Alvos de integração restantes
O XML nativo de exData suporta criação de valores ausentes, import real de XML estrangeiro, serialização imediata de scripts e consumo persistido de rich draws
Os consumers escalares de draws e captions suportam valores criados por instância e overrides explicitamente vazios
A criação de valores de imagens e gráficos suporta filhos nativos de image, arc, line e rectangle com consumers reais de draws
Validação completa de formatos escalares, aparências rich de widgets e embutimento Unicode de aparências permanecem alvos de implementação separados
APIs relacionadas
Data DOM nativo, Defaults nativos de campos, Criação de propriedades ausentes e Runtime XFA interativo