Native XFA exData XML
Genel event host, eksik exData value özellikleri oluşturur ve gerçek yabancı XML child'larını native form occurrence'larına import eder; XHTML draw içeriği, native XDP persistence ve reload sonrasında rich text PDF tüketicisine ulaşır
XML import etme ve okuma
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), well-formed bir XML document string kabul eder ve undefined döndürür; ignoreRoot, toplama-root'unun child'larını ekler, false ise root'un kendisini ekler
Overwrite, import'tan önce mevcut içeriği değiştirir; default'u false, içerikleri document sırasına göre ekler ve önceden import edilmiş child'ları korur
saveXML(), mevcut exData element'ini ve içeriğini UTF-8 XML declaration ve fragment string olarak döndürür; opsiyonel pretty literal, element-only içeriği girintilerken karışık metin ve CDATA whitespace'ini korur
Import edilen element adları, namespace bildirimleri, namespace-qualified attribute'lar, literal Unicode, character referansları, karışık metin ve CDATA native XML olarak kalır; markup, düz bir rawValue string olarak saklanmaz
Oluşturma ve default'lar
Value özellikleri tek bir exData child'a izin verir ve diğer value choice'larıyla karşılıklı-münhasırdır; eksik bir draw value ve exData child'ı aynı event sırasında oluşturulabilir ve import edilebilir
exData, maxLength=-1 ve transferEncoding=none default'ludur; contentType, href, id, name, rid, use ve usehref attribute'ları boş gelir
Event host, exData üzerinde scalar value accessor açığa çıkarmaz; yabancı XML içeriği için loadXML ve saveXML kullanın
Anlık okumalar, identity ve transaction'lar
Saf bir native XML operation'ı, script yürütmesi devam etmeden önce her isteği doğrular ve serialize eder; bozuk XML, script içinde throw eder ve mevcut içeriği değiştirmeden try/catch ile ele alınabilir
Deterministik response replay, mevcut script transaction'ını paylaşır ve hiçbir UI, dosya, ağ veya transport side effect'i yürütmez
Sonraki saveXML çağrıları, aynı event sırasında önceki başarılı import'ları ve mevcut exData attribute'larını görür; tutulan referanslar sonraki event'lerde mevcut node identity'sini çözümler
Yalnızca hedeflenen tekrar-occurrence native içerik alır ve yeni bir occurrence, mevcut bir occurrence'ın imported override'ını kopyalamak yerine template XML'den başlatılır
overwrite=true ile import edilen boş bir root, gerçek içeriği temizler ve persistence ve reload sonrasında boş kalır; template içeriğine geri dönmez
Yakalanmayan script hataları ve native yayımlama başarısızlıkları, önceki sıradan field yazmaları ve XML mutation'ları dâhil kesin native XDP baytlarını geri alır
Bütçeler ve kayıtlı tüketim
Script limitleri, XML input ve output byte'larını, native element ve text node'ları, depth'i, operation'ları, geçen süreyi ve replay response'larını sınırlar; widget MaxValueChars ayrıca yayımlanan XML value'sunu sınırlar
FPC bridge, UTF-8 baytlarını aksanlı character'lar ve supplementary Unicode dâhil XML response'ları ve sıradan action value'ları üzerinden korur
Kayıtlı XHTML draw içeriği, mevcut rich text tüketicisinin font, boyut, renk ve inline CSS davranışını kullanır; bağımsız PDF reader'lar, ilk-instance metnini, replacement styling'i, yeni-instance içeriğini ve açık temizlemeyi doğrular
Kalan XML entegrasyon hedefleri
Bu teslim, exData içerik operation'larını uygular; diğer nodeclass loadXML/saveXML method'ları, Data DOM structural import'ı ve genel yabancı-node mutation'ı ayrı hedefler olarak kalır
DTD bildirimleri ve özel entity catalog'ları uygulanmamış olarak kalır; predefined entity'ler ve onaltılık veya ondalık character referansları desteklenir
Element-ici comment ve processing instruction'lar, import, anlık okumalar, save, reload ve rollback boyunca native kalır; root dışındaki document-düzeyi markup ve eksiksiz XML lexical round trip ayrı hedefler olarak kalır
Harici href resolution, kodlanmış exData transport'ları, maxLength enforcement, yabancı media tüketicileri ve Unicode rich widget görünümleri ayrı implementation hedefleri olarak kalır
Referanslar ve ilgili API'ler
Import root ve replacement semantiği, Adobe XFA Element API'yi izler; XML adları, referanslar ve whitespace XML 1.0'ı izler
Bkz. TXFAEventBinding, TXFAEventActionKind, Rich Text Properties ve Interactive XFA Runtime