Propriedades nativas de valores escalares XFA

O host de eventos cria contentores 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 partilham 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 selecionada de valores

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 em falta materializa o nó nativo de formulários dela e inicializa o conteúdo dela a partir do valor efetivo atual do campo; o acesso repetido devolve o mesmo objeto vivo de propriedades

Value tem atributos comuns de protótipos, override=0 e um atributo relevante vazio por defeito; classes suportadas de valores escalares expõem atributos comuns de protótipos e um nome vazio

A verificação de um-entre-todos inclui todas as escolhas standard de valores, pelo que um escalar não pode ser criado a par de uma escolha existente de valores de imagens, exData ou gráficos

Sincronização imediata e nativa

Os acessores de valor e rawValue de folhas escalares fazem proxy do campo proprietário; dataValue.value vinculado é um alias gravável do acessor rawValue dele

Escritas de campos, de escalares e de dados atualizam as leituras uns dos outros durante o mesmo script, incluindo outros campos que partilhem o mesmo valor vinculado de dados

A publicação nativa atualiza o valor de datasets e folhas materializadas existentes de formulários escalares; commits interativos de widgets e resultados de cálculos também sincronizam propriedades materializadas de valores para campos vinculados, incluindo aliases ocultos e invisíveis

Conteúdo escalar tipado é retido como texto fornecido, incluindo strings canónicas de datas, horas e números; este estádio não introduz coerção numérica automática nem formatação nova de pictures

A sincronização de aliases ocultos segue âmbitos reais repetidos de dados e preserva propriedades não materializadas

Instâncias, identidades e transações

Criar e editar uma propriedade de valores numa ocorrência repetida preserva as outras ocorrências; objetos de scripts podem reter uma referência de propriedades escalares para um evento posterior

Instâncias repetidas novas recebem nós nativos independentes de valores; escritas de dados para uma instância recém-criada atualizam a folha escalar realmente materializada dela antes de a transação ser guardada

Erros de motores, falhas nativas de orçamentos de valores e escolhas conflituosas de valores restauram bytes nativos exatos de XDP, incluindo dados de campos, folhas materializadas de valores e aliases partilhados

Varreduras nativas de sincronização participam nos orçamentos de operações e de tempo decorrido de eventos; trabalho excessivo rejeita a transação e restaura o snapshot dela

Saída de PDFs guardados

A conversão XFA AcroForm consome os valores escalares persistidos para valores nativos de campos e aparências geradas; valores repetidos de primeiras instâncias permanecem inalterados

O produtor guardado focado reabre o XDP nativo antes da conversão, e verificações 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 restantes de integração

O XML nativo de exData suporta criação de valores ausentes, importação real de XML estrangeiro, serialização imediata de scripts e consumo persistido de draws rich

Os consumidores escalares de draws e de 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 imagens, arcos, linhas e retângulos com consumidores reais de draws

Validação completa de formatos escalares, aparências rich de widgets e embedding Unicode de aparências continuam a ser alvos separados de implementação

APIs relacionadas

Data DOM nativo, Defaults nativos de campos, Criação de propriedades ausentes e Runtime XFA interativo