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