Transactional XFA Data DOM Yapısı

JavaScript olayları, native Data DOM öğelerini oluşturabilir, klonlayabilir, yeniden adlandırabilir, ekleyebilir, yeniden sıralayabilir ve ayırabilir; anlık script okumaları ve transaction-geneli native kalıcılıkla

const record = xfa.record;
const value = xfa.datasets.createNode("dataValue");
value.name = "amount";
value.value = "42";
record.nodes.append(value);
const retained = value.clone(false);
record.nodes.remove(value);
record.nodes.insert(value, record.nodes.item(0));

Desteklenen işlemler

xfa.datasets.createNode(className, name = "", namespace = ""), bağlı olmayan bir dataGroup veya dataValue oluşturur; nitelikli adlar boş olmayan bir ad-uzayı URI gerektirir

node.clone(recursive = true), taze kimliklerle bağlı olmayan bir Data DOM kopyası oluşturur; false, öğenin kendi metadata'sını ve değerini korurken çocuk node'ları dışlar

node.name, Data DOM öğeleri için yazılabilirdir ve ad-uzayını, kardeş sırasını, torunları ve saklanan alias'ları korur; adsız bir yapı, eklenmeden önce geçerli bir yerel ad almalıdır

node.nodes.length, item(index) ve namedItem(name), canlı sıralı öğe çocuklarını okur; item ve namedItem, eşleşen çocuk yokken null döndürür

nodes.append(node) ve nodes.insert(node, before), aynı nesneyi sahibin çocuklarına devreder; insert(node, null) ekler

nodes.remove(node), doğrudan bir çocuğu ayırır; nesnesini ve alt ağacını saklanan alias'lara ve sonraki yeniden eklemeye erişilebilir tutarak

xfa.record, Data DOM veri kökü altındaki güncel ilk kaydı döndürür ve yapısal düzenlemelerden sonra güncellenir

Kimlik, XML ve bağlamalar

Bir script nesnesi, bir node'u, torunu veya sahiplikteki çocuk koleksiyonunu olaylar boyunca saklayabilir; canlı alias'lar, ekleme, ayırma, yeniden adlandırma ve rollback'ten sonra aynı native nesneleri çözer

loadXML ve saveXML, yeni oluşturulan ve taşınan öğelerde çalışır; aynı olay sırasında içe aktarılan ve sonra taşınan torunlar dâhil

Kararlı native kimlikler, içe aktarılmış torun alias'larının, konumsal değişikliklerden sonra sessizce farklı bir çocuğu çözmesini önler

Kalıtsal öznitelik ad-uzayları, açık boş varsayılan ad-uzayı sıfırlamaları, yorumlar, processing instruction'lar, CDATA ve Unicode değerleri, klon, taşıma, kaydetme ve reload'u yaşar

Form bağlamaları, yapısal değişikliklerden sonra tazelenir ve yeni eklenen data node'ları üzerinden yazılan değerler, başka bir instance'ı değiştirmeden karşılık gelen tekrarlanan form instance'ına ulaşır

Transaction'lar ve sınırlar

Geçersiz sınıflar, XML adları, kardeş referansları, döngüler ve yabancı node'lar, o tekil işlem canlı script grafiğini değiştirmeden önce başarısız olur

Yakalanmamış bir script hatası, native uygulama hatası, cancellation, işlem sınırı veya geçen-süre sınırı, eksiksiz olayı geri yükler; eklenen ve ayrılan node'ları, bağlama değerlerini, saklanan alias'ları, lexical script-nesnesi durumunu ve journal durumunu dâhil; aynı runtime daha sonra yeniden deneyebilir

Yapısal node'lar ve ayrık ağaçlar, native node, derinlik ve UTF-8 bayt sınırlarını paylaşır; orijinal script transaction son teslim süresi, JavaScript'i ve native değişiklikleri birlikte kapsar

PDF tüketimi

Runtime'ı XDP'ye kaydedin ve değişmiş data bağlamalarından gerçek native PDF alanları ve appearance'lar oluşturmak için o baytları HPDFXFAWriteHeadlessPDF'a geçirin

TXFAHeadlessPDFOptions.Editable = False, appearance'lı salt-okunur native alanlar oluşturur; o ayar, onları düzleştirmez

Güncel kapsam

Bu yapısal interface, Data DOM'u kapsar; genel template/form node oluşturma ve klonlama ve eksiksiz node-sınıfı script'i ayrı uygulama işi olarak kalır

Bağımsız sorgu node koleksiyonları · Native yapısal grafik API'si · XFA widget runtime

Bağımsız sorgu node koleksiyonları · Native yapısal graph API'si · XFA widget runtime'ı