Native XFA Property DOM
Algemene executie met EnableJavaScript omvat property-kinderen van formulier-containers in de live event-boom, inclusief value-, getypeerde value-, font-, fill-, color-, ui-, border- en edge-nodes
Benoemde containers gebruiken diens naam in SOM-paden; property-nodes gebruiken diens klassa-naam en behouden diens echte name-attribute, dat meestal leeg is
Getypeerde waarden en attributes
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"
Een getypeerd kind onder de value-node van een veld deelt de live rawValue van het veld; reads en writes via value.text.value, field.rawValue en de gebonden dataNode observeren elkaar direct
Voor property-nodes met een value-attribute, zoals color, leest en schrijft de value-property dat attribute; voor scalar-content-nodes leest en schrijft hij tekstcontent
Attributes aanwezig in de effectieve property-binding worden als directe properties blootgelegd, behalve gereserveerde node- en engine-leden; getAttribute(name) leest een willekeurig attribute en setAttribute(value, name) schrijft er een en legt direct een veilige nieuwe naam bloot
FormCalc lost property-paden op en wijst scalar-attributes toe door dezelfde event-boom heen; property-siblings ondersteunen occurrence-indices en klasse-selectors
Native persistentie en rendering
Geslaagde writes creëren of werken property-nodes bij onder de matchende container-occurrence in het native formulier-packet; de template en andere herhaalde occurrences behouden diens defaults
Property-opzoek volgt klasse en lokale occurrence onder de benoemde container in plaats van naamloze nodes over te slaan; een property-naam-attribute wijzigen behoudt diens identiteit, en opgeslagen XDP herlaadt effectieve overrides
Vastgehouden property-handles volgen diens gepubliceerde owner-identiteiten door instance-insertie en -verplaatsing heen; een handle wegschrijven nadat diens instance is verwijderd breekt af en herstelt de transactie
Font-typeface en -grootte doen mee aan per-instance growable tekstmeting en reflow; flatten leest effectieve font-, kleur-, border-, paragraaf- en ondersteunde UI-attributes voor elke veld-occurrence
Rich text-draws consumeren effectieve font-, paragraaf-, inline CSS- en scalar-content-overrides voor elke occurrence, inclusief diens meting en run-plaatsing
Instance-creatie behoudt alle property-sibling-defaults, inclusief meerdere edge-nodes, en gebruikt template-attribute-waarden in plaats van de overrides van een andere occurrence
UI-overrides creëren ondersteunde widget-keuzes en wijzigen de echte per-instance runtime-kind en native veldvlaggen na een geslaagd event
Budgetten en lower-level bindings
Property-traversal deelt de event node-, diepte-, operation- en bytebudgetten; native tekst- en attribute-writes gehoorzamen MaxValueChars, en gefaalde writes herstellen native veldwaarden, property-overrides, scriptstatus en instance-volgorde
Directe aanroepers gebruiken xebdProperty en leveren Attributes en DefaultAttributes aan; de laatste initialiseren nieuw gekloonde nodes
Een property-attribute-action bevat de attribute-naam, een NUL-separator en de waarde in TXFAEventAction.Value; TXFAWidgetRuntime valideert en past die toe op de native property-target
Dekking
De event-boom omvat gedeclareerde property-nodes en diens effectieve attributes, met schema-defaults voor ondersteunde formatting- en widget-klassen; absent-property-creatie materialiseert nu ondersteunde formatting-paden in het native formulier-packet
Event-, calculate- en validate-declaraties blijven executiemetadata; variables-scripts blijven script-objecten, en algemene property-bewerking activeert geen metadatascripts
Extra schema-property-klassen, generieke verwijdering en her-oudering, namespace-gekwalificeerde attribute-mutatie, extra layout-property-consumers en verdere rich-text- of widget-bewerkingsfeatures gaan verder als aparte doelen
Related APIs
Live SOM Resolution, Native Data DOM, HPDFXFAResolveFormInstanceProperty en Interactive XFA Runtime