XML exData XFA nativo
L'host degli eventi generale crea proprietà valore exData assenti e importa figli XML stranieri reali nelle loro occorrenze form native; il contenuto draw XHTML arriva al consumatore rich text PDF dopo persistenza e ricaricamento XDP nativi
Importare e leggere 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) accetta una stringa di documento XML well-formed e restituisce undefined; ignoreRoot accoda i figli della radice aggregante, mentre false accoda la radice stessa
Overwrite sostituisce il contenuto esistente prima dell'import; il suo default false accoda il contenuto in ordine di documento, preservando i figli importati in precedenza
saveXML() restituisce l'elemento exData corrente e il suo contenuto come dichiarazione XML UTF-8 e stringa di frammento; il literal opzionale pretty indenta il contenuto di soli elementi preservando testo misto e spazi CDATA
Nomi degli elementi importati, dichiarazioni di namespace, attributi qualificati per namespace, Unicode letterale, riferimenti a caratteri, testo misto e CDATA restano XML nativo; il markup non viene memorizzato come stringa rawValue semplice
Creazione e default
Le proprietà valore ammettono un figlio exData, mutuamente esclusivo con le altre scelte di valore; un valore draw mancante e un figlio exData possono essere creati e importati durante lo stesso evento
exData ha default maxLength=-1 e transferEncoding=none, con attributi contentType, href, id, name, rid, use e usehref vuoti
L'host degli eventi non espone un accessor di valore scalare su exData; usa loadXML e saveXML per il contenuto XML straniero
Letture immediate, identità e transazioni
Un'operazione XML puramente nativa valida e serializza ogni richiesta prima che l'esecuzione degli script continui; XML malformato lancia un'eccezione dentro lo script e può essere gestito con try/catch senza cambiare il contenuto corrente
Il replay deterministico delle risposte condivide la transazione script esistente e non esegue effetti collaterali di UI, file, rete o transport
Le chiamate saveXML successive vedono gli import riusciti precedenti e gli attributi exData correnti durante lo stesso evento; i riferimenti conservati risolvono l'identità corrente del nodo negli eventi successivi
Solo l'occorrenza ripetuta mirata riceve contenuto nativo, e una nuova occorrenza si inizializza dall'XML del template invece di copiare l'override importato di una occorrenza esistente
Una radice importata vuota con overwrite=true azzera il contenuto reale e resta vuota dopo persistenza e ricaricamento; non torna al contenuto del template
Errori di script non gestiti e fallimenti di pubblicazione nativi ripristinano gli esatti byte XDP nativi, incluse scritture di campo ordinarie precedenti e mutazioni XML
Budget e consumo salvato
I limiti degli script delimitano byte di input e output XML, nodi nativi di elementi e testo, profondità, operazioni, tempo trascorso e risposte di replay; anche MaxValueChars del widget delimita il valore XML pubblicato
Il bridge FPC preserva i byte UTF-8 attraverso risposte XML e valori di azione ordinari, inclusi caratteri accentati e Unicode supplementari
Il contenuto draw XHTML salvato usa il comportamento font, dimensione, colore e CSS inline del consumatore rich text esistente; reader PDF indipendenti verificano testo della prima istanza, stile di sostituzione, contenuto della nuova istanza e azzeramento esplicito
Obiettivi di integrazione XML residui
Questa consegna implementa le operazioni di contenuto exData; gli altri metodi loadXML/saveXML di nodeclass, l'import strutturale del Data DOM e la mutazione generale di nodi stranieri restano obiettivi separati
Dichiarazioni DTD e cataloghi di entità personalizzati restano non implementati; entità predefinite e riferimenti a caratteri decimali o esadecimali sono supportati
Commenti e processing instructions nell'elemento restano nativi attraverso import, letture immediate, save, ricaricamento e rollback; markup a livello documento fuori dalla radice e round trip lessicali XML completi restano obiettivi separati
Risoluzione di href esterni, trasferimenti exData codificati, applicazione di maxLength, consumatori di media stranieri e aspetti widget rich Unicode restano obiettivi di implementazione separati
Riferimenti e API correlate
La semantica di import della radice e di sostituzione segue l'API Element di Adobe XFA; nomi, riferimenti e spazi XML seguono XML 1.0
Vedi TXFAEventBinding, TXFAEventActionKind, Proprietà rich text e Runtime XFA interattivo