Native Data DOM XML
Unit: HPDFXFARuntime
Metoder
dataNode.loadXML(xml, ignoreRoot = true, overwrite = false);
const compact = dataNode.saveXML();
const readable = dataNode.saveXML("pretty");
Disse scriptmetoder er tilgængelige på datasets-, dataGroup- og dataValue-noder i TXFAWidgetRuntime-events
saveXML returnerer UTF-8 XML med en deklaration og den valgte node som sit dokumentelement; det valgfrie pretty-argument tilføjer indrykning til element-kun-indhold
loadXML accepterer ét velformet XML-dokument; ignoreRoot importerer dets børn i den valgte node, mens False importerer kildedokumentets element som barn
overwrite fjerner eksisterende målindhold inden import; dens standard False tilføjer indhold og bevarer eksisterende barn-identiteter
Den valgte node beholder sin identitet og attributter; importerede barn-attributter og deres namespace-mappings bevares
Øjeblikkelig graf og bindinger
const record = xfa.datasets.data.main;
record.loadXML("<main><amount>42</amount></main>", true, true);
const amount = record.amount;
amount.value = "43";
if (this.parent.amount.rawValue !== "43") throw new Error("Missing binding update");
En succesfuld native parse installerer straks de importerede børn i den aktuelle script-graf; almindelige properties og SOM-selektorer opløser de friske noder inden event-publicering
Dataceller synkroniserer med bundne felt-aliasser i begge retninger, inklusive skjulte felter, nyligt leverede bindingsmål og eksisterende efterkommer-, wildcard-, klasse- og numerisk indeks-dataRef-selektorer
Scalar-til-gruppe-importer opdaterer målets dataklasse og udstiller dets importerede bornelementer; en tømt dataValue har en tom strengværdi
Import af et nyt data-element allokerer ikke urelaterede tvetydige datablade til uopløste bindinger
Identitet og gentagne scopes
Overwrite invaliderer gamle barn-handles og publicerer friske barn-identiteter; et script-objekt kan beholde et friskt importeret data-handle og bruge det i senere events
Appending bevarer eksisterende handles; import inde i en gentaget række ændrer den rækkes native data-scope og bundne felter
XML-importer virker også inde i en occurrence oprettet af addInstance under samme event
At erstatte datasets-indholdet opdaterer $data og $record til de nye native rødder og rebaser overlevende formular- og script-object-identiteter, så leksikalsk modultilstand forbliver knyttet til sit formular-scope
Indhold og persistens
Native importer og gemt XDP bevarer almindelig tekst, CDATA, kommentarer og processing instructions i rækkefølge
Kommentarer og processing instructions forbliver uden for almindeligt Data DOM element-udvalg og bliver ikke synlig felttekst
Importerede noder bevarer deres namespace-URI, også under en anden forfaders default namespace, inklusive den eksplicitte tomme default namespace til elementer uden namespace
Fremmede præfiksede attributter beholder udvidede navne, og Unicode lokale navne, accenttegnstekst og supplementary tegn overlever native gemning og genindlæsning
Skrivebeskyttet saveXML materialiserer ikke formular-properties og ændrer ikke gemte XDP-bytes
Validering og rollback
Den native XML-parser tjekker velformethed, namespace- og attributgyldighed, XML-tegn, deklarationsplacering og entitetssyntaks inden grafmutation
Misdannet input kan fanges i JavaScript; den tidligere native og script-graf forbliver tilgængelig, og en senere gyldig mutation kan stadig committere
En mislykket event gendanner dokumentbytes, widgetværdier, importeret graf, identiteter og script-object leksikalsk tilstand, inklusive fejl efter at den native XML-import allerede er anvendt
Hver native JavaScript-session beholder sit faktiske DLL-modul under genopbygning af motorer til respons-replay; motorer, kontekster og journaler forbliver uafhængige, og modulreferencen frigives efter den endelige native motor-nedrivning
XML-parsing og -serialisering håndhæver operations-, dybde-, node-, byte- og forløbet-tidsbudgetter sammen med runtime'ens originale event-frist og værditegn-grænser
Importere opløser ikke eksterne entiteter eller udfører fil-, netværks- eller UI-handlinger; DTD-deklarationer afvises af denne parser
Aktuelt omfang
Denne event-runtime-integration målretter i øjeblikket Windows Win32 og Win64; portabel Linux runtime-integration forbliver verserende
Denne integration leverer native XML-import og -serialisering plus aktuel binding-gen evaluering; selvstændig createNode, vilkårlig data attributmutation, reparenting, record-vindues-navigation, bindingsprædikater og global bindingspolitik forbliver separate objektmodel-mål
Relaterede API'er
Native Data DOM, Native Bind SOM, TXFAEventBinding, TXFAEventAction og Interactive XFA Runtime