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'ı