Proprietà di valore scalari XFA native

L'host degli eventi crea contenitori nativi reali di valori form e foglie scalari attraverso l'accesso alle proprietà o getElement; le proprietà valore dei campi, i valori dati in binding e le letture dei widget condividono lo stesso valore corrente

Creazione scalare

I figli scalari supportati sono boolean, date, dateTime, decimal, float, integer, text e time, con una occorrenza di una classe di valore selezionata

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");

Leggere una proprietà scalare mancante materializza il suo nodo form nativo e inizializza il contenuto dal valore effettivo corrente del campo; l'accesso ripetuto restituisce lo stesso oggetto proprietà live

Value ha i comuni attributi prototype, override=0 e un attributo relevant vuoto per default; le classi scalari supportate espongono i comuni attributi prototype e un name vuoto

Il controllo one-of include tutte le scelte di valore standard, quindi uno scalare non può essere creato accanto a una scelta di valore image, exData o graphic esistente

Sincronizzazione immediata e nativa

Gli accessor value e rawValue delle foglie scalari fanno da proxy al campo proprietario; dataValue.value in binding è un alias scrivibile del suo accessor rawValue

Le scritture su campi, scalari e dati aggiornano le letture reciproche durante lo stesso script, inclusi gli altri campi che condividono lo stesso valore dati in binding

La pubblicazione nativa aggiorna il valore del dataset e le foglie form scalari materializzate esistenti; anche i commit interattivi dei widget e i risultati dei calcoli sincronizzano le proprietà valore materializzate per i campi in binding, inclusi alias hidden e invisible

Il contenuto scalare tipizzato viene conservato come testo fornito, incluse stringhe canoniche di data, ora e numeriche; questa fase non introduce coercizione numerica automatica né nuova formattazione picture

La sincronizzazione degli alias nascosti segue gli scope dati ripetuti reali e preserva le proprietà non materializzate

Istanze, identità e transazioni

Creare e modificare una proprietà valore in una occorrenza ripetuta preserva le altre occorrenze; gli script object possono conservare un riferimento a proprietà scalare per un evento successivo

Le nuove istanze ripetute ricevono nodi valore nativi indipendenti; le scritture dati su una istanza appena creata aggiornano la sua foglia scalare materializzata reale prima che la transazione venga salvata

Errori del motore, fallimenti del budget valore nativo e scelte di valore in conflitto ripristinano gli esatti byte XDP nativi, inclusi dati dei campi, foglie valore materializzate e alias condivisi

Le scansioni di sincronizzazione nativa partecipano ai budget di operazione dell'evento e di tempo trascorso; lavoro eccessivo respinge la transazione e ripristina il suo snapshot

Output PDF salvato

La conversione XFA AcroForm consuma i valori scalari persistiti per valori nativi dei campi e aspetti generati; i valori della prima istanza ripetuta restano invariati

Il producer salvato mirato riapre l'XDP nativo prima della conversione, e controlli indipendenti pypdf e MuPDF ispezionano foglie form tipizzate, valori del dataset, campi nativi e testo di aspetto realmente visibile

Obiettivi di integrazione residui

L'XML exData nativo supporta creazione di valori assenti, import reale di XML straniero, serializzazione immediata via script e consumo persistito di draw rich

I consumatori scalari di draw e caption supportano valori creati per istanza e override vuoti espliciti

La creazione di valori image e graphic supporta figli nativi image, arc, line e rectangle con consumatori draw reali

La validazione completa dei formati scalari, gli aspetti widget rich e l'incorporazione Unicode degli aspetti restano obiettivi di implementazione separati

API correlate

Data DOM nativo, Default nativi dei campi, Creazione di proprietà assenti e Runtime XFA interattivo