Native XFA exData XML
Den generelle event-host opretter fraværende exData value-properties og importerer rigtige fremmede XML-børn i deres native formular-occurrences; XHTML draw-indhold når rich text PDF-consumeren efter native XDP-persistens og -genindlæsning
Import og læsning af XML
const content = row.label.value.exData;
content.contentType = "text/html";
content.loadXML(
'<body xmlns="http://www.w3.org/1999/xhtml">' +
'<p><span style="font-size:18pt;color:#0000FF">Changed</span></p>' +
'</body>',
false,
true
);
const currentXML = content.saveXML();
const readableXML = content.saveXML("pretty");
loadXML(source, ignoreRoot=true, overwrite=false) accepterer en velformet XML-dokumentstreng og returnerer undefined; ignoreRoot tilføjer den aggregerende rods børn, mens false tilføjer roden selv
Overwrite erstatter eksisterende indhold inden import; dens standard false tilføjer indhold i dokumentrækkefølge og bevarer tidligere importerede børn
saveXML() returnerer det aktuelle exData-element og dets indhold som en UTF-8 XML-deklaration og fragmentstreng; den valgfrie literal pretty indenterer element-kun-indhold, mens blandet tekst og CDATA-whitespace bevares
Importerede elementnavne, namespace-erklæringer, namespace-kvalificerede attributter, literal Unicode, tegnreferencer, blandet tekst og CDATA forbliver native XML; markup gemmes ikke som en plain rawValue-streng
Oprettelse og standarder
Value-properties tillader ét exData-barn, gensidigt udelukkende med de andre value-valg; en manglende draw-værdi og exData-barn kan oprettes og importeres under samme event
exData har som standard maxLength=-1 og transferEncoding=none med tomme contentType-, href-, id-, name-, rid-, use- og usehref-attributter
Event-hosten udstiller ikke en scalar value-accessor på exData; brug loadXML og saveXML til fremmet XML-indhold
Øjeblikkelige læsninger, identitet og transaktioner
En ren native XML-operation validerer og serialiserer hver anmodning, før script-afviklingen fortsætter; misdannet XML kaster inde i scriptet og kan håndteres med try/catch uden at ændre det aktuelle indhold
Den deterministiske respons-replay deler den eksisterende script-transaktion og afvikler ingen UI-, fil-, netværks- eller transport-sideeffekter
Efterfølgende saveXML-kald ser tidligere succesfulde importer og aktuelle exData-attributter under samme event; tilbageholdte referencer opløser den aktuelle nodeidentitet i senere events
Kun den målrettede gentagne occurrence modtager nativt indhold, og en ny occurrence initialiseres fra skabelon-XML i stedet for at kopiere en eksisterende occurrences importerede override
En importeret tom rod med overwrite=true rydder det faktiske indhold og forbliver tom efter persistens og genindlæsning; den vender ikke tilbage til skabelonindhold
Ubehandlede scriptfejl og native publiceringsfejl gendanner eksakte native XDP-bytes, inklusive tidligere almindelige feltskrivninger og XML-mutationer
Budgetter og gemt forbrug
Scriptgrænser afgrænser XML-input og -outputbytes, native element- og tekstnoder, dybde, operationer, forløbet tid og replay-responser; widget MaxValueChars begrænser også den publicerede XML-værdi
FPC-broen bevarer UTF-8-bytes gennem XML-responser og almindelige handlingsværdier, inklusive accenttegn og supplementary Unicode
Gemt XHTML draw-indhold bruger den eksisterende rich text-consumers font-, størrelses-, farve- og inline CSS-adfærd; uafhængige PDF-readers verificerer første-instance-tekst, erstatningsstyling, ny-instance-indhold og eksplicit rydning
Tilbageværende XML-integrationsmål
Denne levering implementerer exData indholdsoperationer; andre nodeklasse loadXML/saveXML-metoder, Data DOM strukturel import og generel fremmed node-mutation forbliver separate mål
DTD-deklarationer og custom entitetskataloger forbliver uimplementeret; foruddefinerede entiteter samt decimal- eller hexadecimale tegnreferencer understøttes
Kommentarer og processing instructions i elementer forbliver native gennem import, øjeblikkelige læsninger, gemning, genindlæsning og rollback; markup på dokumentniveau uden for roden og komplet XML leksikalsk rundtur forbliver separate mål
Ekstern href-opløsning, encodede exData-overførsler, maxLength-håndhævelse, fremmede medie-consumers og Unicode rich widget-appearances forbliver separate implementeringsmål
Referencer og relaterede API'er
Import rod- og erstatningssemantik følger Adobe XFA Element API; XML-navne, referencer og whitespace følger XML 1.0
Se TXFAEventBinding, TXFAEventActionKind, Rich Text Properties og Interactive XFA Runtime