Native XFA Property DOM
Generel afvikling med EnableJavaScript inkluderer property-børn af formularcontainers i det live event-træ, inklusive value-, typet value-, font-, fill-, color-, ui-, border- og edge-noder
Navngivne containers bruger deres navn i SOM-stier; property-noder bruger deres klassenavn og bevarer deres faktiske name-attribut, som normalt er tom
Typede værdier og attributter
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"
Et typet barn under et felts value-node deler feltets live rawValue; læsninger og skrivninger gennem value.text.value, field.rawValue og den bundne dataNode iagttager hinanden straks
For property-noder med en value-attribut som color læser og skriver value-propertyen den attribut; for scalar-indholdsnoder læser og skriver den tekstindhold
Attributter i den effektive property-binding udstilles som direkte properties, undtagen reserverede node- og motor-members; getAttribute(name) læser en vilkårlig attribut, og setAttribute(value, name) skriver én og udstiller straks et sikkert nyt navn
FormCalc opløser property-stier og tildeler scalar-attributter gennem samme event-træ; property-søskende understøtter occurrence-indeks og klasse-selektorer
Native persistens og rendering
Succesfulde skrivninger opretter eller opdaterer property-noder under den matchende container-occurrence i den native formularpakke; skabelonen og andre gentagne occurrences beholder deres standarder
Property-opslag følger klasse og lokal occurrence under den navngivne container i stedet for at springe unavngivne noder over; ændring af en property name-attribut bevarer dens identitet, og gemt XDP-genindlæsning beholder effektive overrides
Tilbageholdte property-handles følger deres publicerede ejer-identiteter gennem instance-indsættelse og -flytning; at skrive et handle, efter dets instance er fjernet, afbryder og gendanner transaktionen
Font typeface og størrelse deltager i per-instance growable tekstmåling og reflow; flatten læser effektiv font, farve, kant, afsnit og understøttede UI-attributter for hver felt-occurrence
Rich text-draws forbruger effektiv font, afsnit, inline CSS og scalar-indhold-overrides for hver occurrence, inklusive deres måling og run-placering
Instance-oprettelse beholder alle property sibling-standarder, inklusive flere edge-noder, og bruger skabelon attributværdier snarere end en anden occurrences overrides
UI-overrides opretter understøttede widget-valg og ændrer den faktiske per-instance runtime-kind og native feltflag efter et succesfuldt event
Budgetter og lavniveau-bindinger
Property-traversal deler eventets node-, dybde-, operations- og bytebudgetter; native tekst- og attributskrivninger adlyder MaxValueChars, og mislykkede skrivninger gendanner native feltværdier, property-overrides, script-tilstand og instance-rækkefølge
Direkte kaldere bruger xebdProperty og leverer Attributes og DefaultAttributes; sidstnævnte initialiserer nyligt klonede noder
En property-attributhandling indeholder attributnavnet, en NUL-separator og værdien i TXFAEventAction.Value; TXFAWidgetRuntime validerer og anvender den på det native property-mål
Dækning
Event-træet inkluderer deklarerede property-noder og deres effektive attributter med skemastandarder for understøttede formaterings- og widget-klasser; fraværende property-oprettelse materialiserer nu understøttede formateringsstier i den native formularpakke
Event-, calculate- og validate-erklæringer forbliver afviklingsmetadata; variables-scripts forbliver script-objekter, og generel property-redigering aktiverer ikke metadatascripts
Yderligere skema-property-klasser, generel fjernelse og reparentering, namespace-kvalificeret attributmutation, yderligere layout property-consumers og flere rich text- eller widget-redigeringsfeatures fortsætter som separate mål
Relaterede API'er
Live SOM-opløsning, Native Data DOM, HPDFXFAResolveFormInstanceProperty og Interactive XFA Runtime