Nativ XFA Property DOM

Generell körning med EnableJavaScript inkluderar egenskapsbarn till formulärcontainers i det levande händelseträdet, bland annat noder för value, typat värde, font, fill, color, ui, border och edge

Namngivna containers använder sitt namn i SOM-sökvägar; egenskapsnoder använder sitt klassnamn och bevarar sitt faktiska namnattribut, som vanligtvis är tomt

Typade värden och attribut

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"

Ett typat barn under ett fälts value-nod delar fältets levande rawValue; läsningar och skrivningar via value.text.value, field.rawValue och den bundna dataNoden ser varandra omedelbart

För egenskapsnoder med ett värdeattribut, som color, läser och skriver egenskapen value det attributet; för noder med skalärt innehåll läser och skriver den textinnehållet

Attribut som finns i den effektiva egenskapsbindningen exponeras som direkta egenskaper, förutom reserverade nod- och motormedlemmar; getAttribute(name) läser ett godtyckligt attribut och setAttribute(value, name) skriver ett och exponerar direkt ett nytt säkert namn

FormCalc löser egenskapssökvägar och tilldelar skalära attribut via samma händelseträd; egenskapssyskon stöder förekomstindex och klassväljare

Nativ persistens och rendering

Lyckade skrivningar skapar eller uppdaterar egenskapsnoder under matchande containerförekomst i det nativa formulärpaketet; mallen och övriga upprepade förekomster behåller sina standardvärden

Egenskapsuppslagning följer klass och lokal förekomst under den namngivna containern i stället för att hoppa över namnlösa noder; att ändra en egenskaps namnattribut bevarar dess identitet, och sparad XDP läser om effektiva överskrivningar

Kvarhållna egenskapshandtag följer sina publicerade ägaridentiteter genom instansinsättning och flytt; att skriva via ett handtag efter att dess instans tagits bort avbryter och återställer transaktionen

Typsnitt och storlek i font deltar i växande textmätning och reflow per instans; flatten läser effektiva attribut för font, color, border, stycke och stödd UI för varje fältförekomst

Rich text-draws konsumerar effektiva överskrivningar för font, stycke, inline CSS och skalärt innehåll per förekomst, inklusive deras mätning och körplacering

Instansskapande behåller alla standardvärden för egenskapssyskon, bland annat flera edge-noder, och använder mallens attributvärden i stället för en annan förekomsts överskrivningar

UI-överskrivningar skapar stödda widgetval och ändrar den faktiska runtime-typen per instans samt nativa fältflaggor efter en lyckad händelse

Budgetar och bindningar på lägre nivå

Egenskapstraversering delar händelsens budgetar för noder, djup, operationer och bytes; nativa text- och attributskrivningar följer MaxValueChars, och misslyckade skrivningar återställer nativa fältvärden, egenskapsöverskrivningar, skripttillstånd och instansordning

Direkta anropare använder xebdProperty och levererar Attributes och DefaultAttributes; de senare initierar nyligen klonade noder

En egenskapsattributåtgärd innehåller attributnamnet, en NUL-avgränsare och värdet i TXFAEventAction.Value; TXFAWidgetRuntime validerar och tillämpar den på det nativa egenskapsmålet

Täckning

Händelseträdet omfattar deklarerade egenskapsnoder och deras effektiva attribut, med schemastandardvärden för stödda formaterings- och widgetklasser; skapande av frånvarande egenskaper materialiserar nu stödda formateringsvägar i det nativa formulärpaketet

Deklarationer för event, calculate och validate förblir körningsmetadata; variables-skript förblir skriptobjekt, och allmän egenskapsredigering aktiverar inte metadataskript

Ytterligare schemaegenskapsklasser, allmän borttagning och omflyttning, mutation av namnrymdskvalificerade attribut, fler layoutegenskapskonsumenter och ytterligare rich text- eller widgetredigeringsfunktioner fortsätter som separata mål

Relaterade API:er

Levande SOM-upplösning, Nativ Data DOM, HPDFXFAResolveFormInstanceProperty och Interaktiv XFA-runtime