Native XFA Data DOM

Generel afvikling med EnableJavaScript udstiller dokumentets native datasets-træ gennem xfa.datasets, $data og $record resolver-stier og FormCalc-accessors

Data-noder bruger stabile native identiteter og samme live SOM-resolver som formularnoder; de understøtter navne, klasse-selektorer, occurrence-valg, parent-traversal, prædikater og node-niveau-opløsning

Rødder og klasser

Objekt eller stiBetydning
xfa.datasetsDatasets-pakkenoden eller null, når fraværende
xfa.datasets.data og $dataData-roden under datasets-pakken
$recordDen første record-rod under data i den aktuelle ikke-record-behandlingsmodel
dataGroupEt data-element med bornelementer, inklusive en eksplicit deklareret tom gruppe
dataValueEt data-element, der bærer en værdi
formNode.dataNodeNoden bundet til formularfeltet eller subformen eller null, når ingen databinding findes

dataNode-attributten i XFA data-namespace kan eksplicit vælge en gruppes eller værdis klasse; namespace-præfikser opløses snarere end at kræve en bestemt præfiskstavning

Læsninger og skrivninger

En dataValue udstiller value som en skrivbar alias af rawValue; begge accessors opdaterer samme bundne datacelle og native datanode

const value = xfa.resolveNode("$record.row[1].cell");
value.rawValue = "25";
target.rawValue = xfa.resolveNode("main.row[1].cell").rawValue;

$record.row[1].cell = 25
target = row[1].cell
var p = Ref($record.row[1].cell)
p = 30

Bundne feltskrivninger opdaterer den tilsvarende dataværdi straks, og dataværdi-skrivninger opdaterer bundne feltlæsninger straks inden for samme script; native publicering skriver den faktiske datanode

Materialiserede scalar værdiproperties synkroniserer deres native formularindhold efter felt- eller dataskrivninger, inklusive delte data-aliasser og ny gentaget-instance data-publicering

Dataelementer uden bundet formularfelt forbliver tilgængelige og skrivbare; succesfulde transaktioner bevarer deres ændringer i gemt XDP

Formularfelter med bind match=none beholder skabelonstandarder og gemmer redigeringer i deres egen occurrences Form DOM-værdi; de udstiller ingen syntetisk datanode og ændrer ikke sibling-occurrences

Dataværdier deler Unicode-, værdistørrelses- og afviklingsbudgetter med formular-event-hosten; gruppenoder leverer strukturel adgang snarere end en skrivbar rå værdi

Gentagne instances og tilbageholdte referencer

Formular instance-indsættelse, -flytning og -fjernelse opdaterer det tilsvarende live Data DOM under samme script; nye implicit-bundne rækker udstiller skabelonstandarder gennem deres data-noder inden publicering

En nul-occurrence prototype kan oprette sin første datagruppe og -værdier; native publicering leverer rigtige identiteter til de nye noder, så script-objekter kan beholde data-handles på tværs af efterfølgende events

Tilbageholdte datareferencer følger flytning efter identitet; brug af en reference efter dens gruppe er fjernet fikser eventet, og runtime-rollback gendanner native occurrence-rækkefølge, værdier og script-object-tællere

Instance managers tilbageholdt af script-objekter opløser det aktuelle scope, inklusive managers hvis indledende occurrence-antal var nul

Native XML-indhold

datasets-, dataGroup- og dataValue-noder udstiller loadXML og saveXML med native parsing, same-script grafopdateringer og transaktionel publicering

XML-importer bevarer kommentarer, processing instructions, CDATA, udvidede namespaces og Unicode-navne, mens ikke-tekst-noder holdes ude af almindeligt Data DOM børnudvalg og synlige feltværdier

Importerede værdier synkroniserer straks bundne feltlæsninger, inklusive felter, hvis eksisterende dataRef vælger et andet suffiks, eller hvis tidligere uopløste mål nu er tilgængelige

Transaktioner og lavniveau-kaldere

TXFAWidgetRuntime bygger data-domæne-bindinger, linker formularfelter til native dataværdier, anvender dataskrivninger og nye identitetsbindinger og gendanner eksakt XDP-tilstand efter motor- eller native publiceringsfejl

Lavnivea-event-kaldere bruger TXFAEventBindingDomain og DataIdentity- og DataBindingEnabled-felterne i TXFAEventBinding til at levere ækvivalente objektrelationer

xeakBindDataIdentity-handlingen binder et nyt virtuelt data-handle til dets publicerede native dataidentitet; lavniveau-applikationer skal anvende returnerede datamutationer og identitetsbindinger transaktionelt

Tilbageværende objektmodel-dækning

Record-vindues-navigation, selvstændig data-node-oprettelse og reparenting, vilkårlige dataattributter og fuld skabelon property-node-redigering forbliver separate integrationsmål

Instance-spejling følger den eksisterende implicitte data-binding instance manager-adfærd; yderligere eksplicit-binding instance-mutationer kræver yderligere bindingsintegration

Relaterede API'er

Live SOM-stier, FormCalc-referencer, HPDFXFAExecuteJavaScriptEvent og Interactive XFA Runtime