Native XFA exData XML
Obecný hostitel událostí vytvoří chybějící value vlastnosti exData a importuje skutečné cizí XML potomky do jejich nativních form výskytů; obsah XHTML draw se ke konzumentovi rich text PDF dostane po nativní perzistenci a reloadu XDP
Import a čtení 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) přijme dobře utvořený XML dokumentový řetězec a vrátí undefined; ignoreRoot připojí potomky agregujícího kořene, zatímco false připojí kořen samotný
Overwrite nahradí stávající obsah, dřív než import; její default false připojuje obsah v dokumentovém pořadí, se zachováním dřív importovaných potomků
saveXML() vrátí aktuální element exData a jeho obsah jako UTF-8 XML deklaraci a fragmentový řetězec; volitelný literál pretty odsadí čistě elementový obsah, při zachování smíšeného textu i bílých znaků CDATA
Importované názvy elementů, deklarace namespace, namespace kvalifikované atributy, literální Unicode, znakové reference, smíšený text i CDATA zůstávají nativním XML; markup se neukládá jako prostý rawValue řetězec
Tvorba a defaulty
Value vlastnosti dovolí jednoho potomka exData, vzájemně se vylučujícího s ostatními volbami hodnot; chybějící draw hodnotu i potomka exData lze vytvořit a importovat během téže události
exData defaultuje na maxLength=-1 a transferEncoding=none, s prázdnými atributy contentType, href, id, name, rid, use a usehref
Hostitel událostí na exData nevystavuje accessor skalární hodnoty; pro cizí XML obsah použijte loadXML a saveXML
Okamžitá čtení, identita a transakce
Čistě nativní XML operace validuje a serializuje každou žádost, dřív než se skriptové provedení dál pustí; poškozené XML hodí výjimku uvnitř skriptu a dá se zachytit try/catch, aniž by se změnil aktuální obsah
Deterministický replay odpovědí sdílí stávající skriptovou transakci a nevykonává žádné UI, souborové, síťové ani transportní vedlejší efekty
Následná volání saveXML vidí dřívější úspěšné importy i aktuální atributy exData během téže události; držené reference rozřeší aktuální identitu uzlu v pozdějších událostech
Nativní obsah dostane jen cílený opakovaný výskyt a nový výskyt se inicializuje ze šablonového XML, místo aby kopíroval importovaný override existujícího výskytu
Prázdný importovaný kořen s overwrite=true vymaže skutečný obsah a po perzistenci i reloadu zůstane prázdný; nevrací se zpět k obsahu šablony
Nezpracované skriptové chyby i nativní publikační selhání obnoví přesné nativní XDP bajty, tedy i dřívější běžné zápisy polí i XML mutace
Rozpočty a uložená konzumace
Skriptové limity ohraničují vstupní i výstupní XML bajty, nativní elementové a textové uzly, hloubku, operace, uplynulý čas i replay odpovědi; MaxValueChars widgetu ohraničuje navíc publikovanou XML hodnotu
Bridge FPC zachová UTF-8 bajty přes XML odpovědi i běžné akční hodnoty, tedy i diakritizované znaky a supplementární Unicode
Uložený obsah XHTML draw použije stávající chování fontu, velikosti, barvy i inline CSS konzumenta rich textu; nezávislé PDF čtečky verifikují text první instance, náhradní styling, obsah nové instance i explicitní vymazání
Zbývající XML integrační cíle
Tato dodávka implementuje obsahové operace exData; ostatní loadXML/saveXML metody uzlových tříd, strukturální import Data DOM i obecná mutace cizích uzlů zůstávají samostatnými cíli
Deklarace DTD i vlastní katalogy entit zůstávají neimplementované; předdefinované entity a desetinné či hexadecimální znakové reference jsou podporované
Komentáře i processing instructions uvnitř elementů zůstávají nativní přes import, okamžitá čtení, uložení, reload i rollback; markup na úrovni dokumentu mimo kořen i kompletní lexikální XML round trip zůstávají samostatnými cíli
Externí rozřešení href, kódované přenosy exData, vynucení maxLength, konzumenti cizích médií i Unicode rich widget appearance zůstávají samostatnými implementačními cíli
Reference a související API
Sémantiku importního kořene i náhrady řídí Adobe XFA Element API; XML názvy, reference i bílé znaky řídí XML 1.0
Viz TXFAEventBinding, TXFAEventActionKind, Rich Text vlastnosti a Interactive XFA Runtime