Native XFA Data DOM

Algemene executie met EnableJavaScript legt de native datasets-boom van het document bloot via xfa.datasets-, $data- en $record-resolver-paden en FormCalc-accessors

Data-nodes gebruiken stabiele native identiteiten en dezelfde live SOM-resolver als formulier-nodes; ze ondersteunen namen, klasse-selectors, occurrence-selectie, ouder-traversal, predicates en node-niveau-resolutie

Wortels en klassen

Object of padBetekenis
xfa.datasetsDe datasets-packet-node, of null wanneer afwezig
xfa.datasets.data en $dataDe data-wortel onder de datasets-packet
$recordDe eerste record-wortel onder data in het huidige non-record-processing-model
dataGroupEen data-element met kind-elementen, inclusief een expliciet gedeclareerde lege groep
dataValueEen data-element dat een waarde draagt
formNode.dataNodeDe node gebonden aan het formulierveld of de subform, of null wanneer geen databinding aanwezig is

Het dataNode-attribute in de XFA-data-namespace kan de klasse van een groep of waarde expliciet kiezen; namespace-prefixes worden opgelost in plaats van een bepaalde prefix-spelling te vereisen

Reads en writes

Een dataValue legt value bloot als een schrijfbare alias van rawValue; beide accessors werken dezelfde gebonden datacel en native data-node bij

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

Gebonden veld-writes werken de bijbehorende datawaarde direct bij, en datawaarde-writes werken gebonden veld-reads direct bij binnen hetzelfde script; native publicatie schrijft de echte data-node

Gematerialiseerde scalar-waarde-properties synchroniseren diens native formulier-content na veld- of data-writes, inclusief gedeelde-data-aliassen en nieuwe herhaalde-instance-data-publicatie

Data-elementen zonder gebonden formulierveld blijven toegankelijk en schrijfbaar; geslaagde transacties behouden diens wijzigingen in opgeslagen XDP

Formuliervelden met bind match=none behouden template-defaults en bewaren edits in de Form DOM-waarde van diens eigen occurrence; ze leggen geen synthetische data-node bloot en wijzigen geen sibling-occurrences

Datawaarden delen Unicode-, waardegrootte- en executiebudgetten met de formulier-event-host; groeps-nodes leveren structurele toegang in plaats van een schrijfbare raw waarde

Herhaalde instances en vastgehouden referenties

Formulier-instance-insertie, -verplaatsing en -verwijdering werken de bijbehorende live Data DOM bij tijdens hetzelfde script; nieuwe implicit-bound-rijen leggen template-defaults bloot via diens data-nodes vóór publicatie

Een zero-occurrence-prototype kan diens eerste datagroep en -waarden creëren; native publicatie levert echte identiteiten voor de nieuwe nodes, zodat script-objecten data-handles kunnen vasthouden over daaropvolgende events heen

Vastgehouden datareferenties volgen verplaatsing op identiteit; een referentie gebruiken nadat diens groep is verwijderd laat het event falen, en runtime-rollback herstelt native occurrence-volgorde, waarden en script-object-counters

Instance managers vastgehouden door script-objecten resolven de huidige scope, inclusief managers waarvan het initiële occurrence-aantal nul was

Native XML-content

datasets-, dataGroup- en dataValue-nodes leggen loadXML en saveXML bloot met native parsing, same-script graaf-updates en transactionele publicatie

XML-imports behouden comments, processing instructions, CDATA, uitgeklapte namespaces en Unicode-namen terwijl nontext-nodes buiten gewone Data DOM-kindselectie en zichtbare veldwaarden blijven

Geïmporteerde waarden synchroniseren direct gebonden veld-reads, inclusief velden waarvan de bestaande dataRef een ander suffix kiest of waarvan de eerder onopgeloste target nu beschikbaar is

Transacties en lower-level aanroepers

TXFAWidgetRuntime bouwt data-domein-bindingen, koppelt formuliervelden aan native datawaarden, past data-writes en nieuwe identity-bindingen toe en herstelt exacte XDP-status na engine- of native publicatiefalen

Lower-level event-aanroepers gebruiken TXFAEventBindingDomain en de DataIdentity- en DataBindingEnabled-velden van TXFAEventBinding om equivalente objectrelaties te leveren

De xeakBindDataIdentity-action koppelt een nieuw virtueel data-handle aan diens gepubliceerde native data-identiteit; lower-level applicaties moeten teruggegeven datamutaties en identity-bindingen transactioneel toepassen

Resterende objectmodel-dekking

Record-venster-navigatie, standalone data-node-creatie en her-oudering, willekeurige data-attributes en volledige template property-node-bewerking blijven aparte integratiedoelen

Instance-spiegeling volgt het bestaande implicit-data-binding-instance-manager-gedrag; extra expliciete-binding-instance-mutaties vragen verdere binding-integratie

Related APIs

Live SOM Paths, FormCalc References, HPDFXFAExecuteJavaScriptEvent en Interactive XFA Runtime