DOM delle proprietà XFA nativo

L'esecuzione generale con EnableJavaScript include nel live event tree i figli proprietà dei contenitori form, inclusi nodi value, valori tipizzati, font, fill, color, ui, border ed edge

I contenitori nominati usano il loro nome nei percorsi SOM; i nodi proprietà usano il nome della loro classe e conservano il loro attributo name reale, che di solito è vuoto

Valori e attributi tipizzati

const field = xfa.resolveNode("main.row[1].cell");
field.value.text.value = "25";
field.font.size = "18pt";
field.font.fill.color.value = "0,128,255";
field.ui.textEdit.multiLine = "1";
field.resolveNode("border.edge[1]").thickness = "3pt";
field.font.setAttribute("saved", "custom");
const saved = field.font.getAttribute("custom");

row[1].cell.value.text.value = 25
row[1].cell.font.size = "18pt"

Un figlio tipizzato sotto il nodo value di un campo condivide il rawValue live del campo; letture e scritture attraverso value.text.value, field.rawValue e il dataNode in binding si osservano immediatamente a vicenda

Per i nodi proprietà con attributo value, come color, la proprietà value legge e scrive quell'attributo; per i nodi di contenuto scalare legge e scrive il contenuto testuale

Gli attributi presenti nel binding effettivo delle proprietà sono esposti come proprietà dirette, tranne i membri riservati del nodo e del motore; getAttribute(name) legge un attributo arbitrario e setAttribute(value, name) ne scrive uno ed espone immediatamente un nuovo nome sicuro

FormCalc risolve i percorsi delle proprietà e assegna attributi scalari attraverso lo stesso event tree; i sibling di proprietà supportano indici di occorrenza e selettori di classe

Persistenza e rendering nativi

Le scritture riuscite creano o aggiornano nodi proprietà sotto l'occorrenza del contenitore corrispondente nel packet form nativo; il template e le altre occorrenze ripetute conservano i loro default

La lookup delle proprietà segue classe e occorrenza locale sotto il contenitore nominato invece di saltare i nodi senza nome; cambiare l'attributo name di una proprietà ne preserva l'identità, e l'XDP salvato ricarica gli override effettivi

Gli handle di proprietà conservati seguono le identità pubblicate del loro owner attraverso inserimento e spostamento di istanze; scrivere un handle dopo che la sua istanza è stata rimossa abortisce e ripristina la transazione

Typeface e dimensione del font partecipano alla misurazione e al reflow del testo growable per istanza; il flatten legge attributi effettivi di font, colore, border, paragrafo e UI supportati per ogni occorrenza di campo

I draw rich text consumano override effettivi di font, paragrafo, CSS inline e contenuto scalare per ogni occorrenza, inclusa la loro misurazione e il posizionamento dei run

La creazione di istanze conserva tutti i default dei sibling di proprietà, inclusi nodi edge multipli, e usa i valori degli attributi del template invece degli override di un'altra occorrenza

Gli override UI creano scelte di widget supportate e cambiano il kind runtime reale per istanza e i flag nativi dei campi dopo un evento riuscito

Budget e binding di livello inferiore

L'attraversamento delle proprietà condivide i budget di nodo, profondità, operazione e byte dell'evento; le scritture native di testo e attributi rispettano MaxValueChars, e le scritture fallite ripristinano valori nativi dei campi, override di proprietà, stato degli script e ordine delle istanze

I chiamanti diretti usano xebdProperty e forniscono Attributes e DefaultAttributes; i secondi inizializzano i nodi appena clonati

Un'azione di attributo di proprietà contiene il nome dell'attributo, un separatore NUL e il valore in TXFAEventAction.Value; TXFAWidgetRuntime la valida e la applica al target proprietà nativo

Copertura

L'event tree include i nodi proprietà dichiarati e i loro attributi effettivi, con default dello schema per le classi di formattazione e widget supportate; la creazione di proprietà assenti ora materializza i percorsi di formattazione supportati nel packet form nativo

Le dichiarazioni event, calculate e validate restano metadati di esecuzione; gli script variables restano script object, e la modifica generale delle proprietà non attiva script di metadati

Ulteriori classi di proprietà dello schema, rimozione e reparenting generici, mutazione di attributi qualificati per namespace, ulteriori consumatori di proprietà di layout e altre funzionalità di editing rich text o widget continuano come obiettivi separati

API correlate

Risoluzione SOM live, Data DOM nativo, HPDFXFAResolveFormInstanceProperty e Runtime XFA interattivo