Nativt XFA exData XML
Den allmänna händelsevärden skapar frånvarande exData-värdeegenskaper och importerar verkliga främmande XML-barn till deras nativa formulärförekomster; XHTML-draw-innehåll når rich text-PDF-konsumenten efter nativ XDP-persistens och omläsning
Import och läsning av 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) accepterar en sträng med ett välformat XML-dokument och returnerar undefined; ignoreRoot lägger till den aggregerande rotens barn, medan false lägger till roten själv
Overwrite ersätter befintligt innehåll före importen; dess standardvärde false lägger till innehåll i dokumentordning och bevarar tidigare importerade barn
saveXML() returnerar det aktuella exData-elementet och dess innehåll som en UTF-8 XML-deklaration och fragmentsträng; den valfria litteralen pretty indrar innehåll som enbart består av element och bevarar samtidigt blandad text och CDATA-whitespace
Importerade elementnamn, namespace-deklarationer, namnrymdskvalificerade attribut, litteral Unicode, teckenreferenser, blandad text och CDATA förblir nativ XML; markup lagras inte som en vanlig rawValue-sträng
Skapande och standardvärden
Värdeegenskaper tillåter ett exData-barn, ömsesidigt uteslutande med de övriga valmöjligheterna för värdet; ett saknat draw-värde och exData-barn kan skapas och importeras under samma händelse
exData har standardvärdena maxLength=-1 och transferEncoding=none, med tomma attribut contentType, href, id, name, rid, use och usehref
Händelsevärden exponerar ingen skalär värdeaccessor på exData; använd loadXML och saveXML för främmande XML-innehåll
Omedelbara läsningar, identitet och transaktioner
En ren nativ XML-operation validerar och serialiserar varje förfrågan innan skriptkörningen fortsätter; felaktig XML kastar inuti skriptet och kan hanteras med try/catch utan att ändra aktuellt innehåll
Den deterministiska svarsreplayen delar den befintliga skripttransaktionen och utför inga UI-, fil-, nätverks- eller transportsideffekter
Efterföljande saveXML-anrop ser tidigare lyckade importer och aktuella exData-attribut under samma händelse; kvarhållna referenser löser nodens aktuella identitet i senare händelser
Endast den riktade upprepade förekomsten tar emot nativt innehåll, och en ny förekomst initieras från mallens XML i stället för att kopiera en befintlig förekomsts importerade överskrivning
En tom importerad rot med overwrite=true rensar det faktiska innehållet och förblir tom efter persistens och omläsning; den återgår inte till mallinnehållet
Ohanterade skriptfel och nativa publiceringsfel återställer exakta nativa XDP-bytes, inklusive tidigare vanliga fältskrivningar och XML-mutationer
Budgetar och sparad konsumtion
Skriptgränserna binder XML-indata- och utdatabytes, nativa element- och textnoder, djup, operationer, förfluten tid och replaysvar; widgetens MaxValueChars binder också det publicerade XML-värdet
FPC-bryggan bevarar UTF-8-bytes genom XML-svar och vanliga åtgärdsvärden, inklusive accentuerade tecken och kompletterande Unicode
Sparat XHTML-draw-innehåll använder den befintliga rich text-konsumentens beteende för teckensnitt, storlek, färg och inline CSS; oberoende PDF-läsare verifierar text i första instans, ersättningsstilning, innehåll i nya instanser och explicit rensning
Återstående XML-integrationsmål
Denna leverans implementerar exData-innehållsoperationer; loadXML/saveXML för andra nodeklasser, strukturell import till Data DOM och allmän mutation av främmande noder är separata mål
DTD-deklarationer och anpassade entitetskataloger förblir oimplementerade; fördefinierade entiteter samt decimala eller hexadecimala teckenreferenser stöds
Kommentarer och processinstruktioner inne i element förblir nativa genom import, omedelbara läsningar, sparning, omläsning och rollback; markup på dokumentnivå utanför roten och fullständiga lexikala XML-omväxlingar är separata mål
Uppslagning av externa href, kodade exData-överföringar, maxLength-hänsyn, främmande mediekonsumenter och Unicode-appearances för rich widgets är separata implementeringsmål
Referenser och relaterade API:er
Importrotens och ersättningens semantik följer Adobe XFA Element API; XML-namn, referenser och whitespace följer XML 1.0
Se TXFAEventBinding, TXFAEventActionKind, Rich Text-egenskaper och Interaktiv XFA-runtime