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