Native XFA Property DOM
EnableJavaScript ile genel yürütme, canlı event ağacına form container'larının property child'larını dâhil eder; value, typed value, font, fill, color, ui, border ve edge node'ları dâhil
Adlandırılmış container'lar SOM path'lerinde kendi adlarını kullanır; property node'ları class adlarını kullanır ve gerçek name attribute'larını korur — bu genelde boştur
Yazılan value'lar ve attribute'lar
const field = xfa.resolveNode("main.row[1].cell");
field.value.text.value = "25";
field.font.size = "18pt";
field.font.fill.color.value = "0,128,255";
field.ui.textEdit.multiLine = "1";
field.resolveNode("border.edge[1]").thickness = "3pt";
field.font.setAttribute("saved", "custom");
const saved = field.font.getAttribute("custom");
row[1].cell.value.text.value = 25
row[1].cell.font.size = "18pt"
Field'ın value node'u altındaki yazılan bir child, field'ın canlı rawValue'sunu paylaşır; value.text.value, field.rawValue ve bağlı dataNode üzerinden okuma ve yazma birbirini anında gözlemler
Value attribute'lu property node'ları için — color gibi — value property o attribute'u okur ve yazar; scalar content node'ları için metin içeriğini okur ve yazar
Etkin property binding'de bulunan attribute'lar, reserved node ve engine üyeleri dışında doğrudan property olarak açığa çıkarılır; getAttribute(name) keyfi bir attribute okur, setAttribute(value, name) bir tane yazar ve güvenli yeni adı anında açığa çıkarır
FormCalc, property path'lerini çözümler ve scalar attribute'ları aynı event ağacı üzerinden atar; property kardeşleri occurrence indeksleri ve class selector'ları destekler
Native persistence ve rendering
Başarılı yazmalar, native form packet'te eşleşen container occurrence'ının altında property node'ları oluşturur veya günceller; template ve diğer tekrar-occurrence'lar default'larını korur
Property araması, adsız node'ları atlamak yerine adlandırılmış container altında class ve yerel occurrence'ı izler; bir property name attribute'unu değiştirmek identity'sini korur ve kayıtlı XDP reload'ları etkin override'ları getirir
Tutulan property handle'ları, instance ekleme ve hareket sırasında yayımlanmış owner identity'lerini izler; instance'ı kaldırıldıktan sonra bir handle yazmak abort eder ve transaction'ı geri alır
Font typeface ve size, instance başına büyüyebilir metin ölçümü ve reflow'a katılır; flatten, her field occurrence'ı için etkin font, color, border, paragraph ve desteklenen UI attribute'larını okur
Rich text draw'ları, her occurrence için etkin font, paragraph, inline CSS ve scalar content override'larını, bunların ölçümü ve run yerleşimi dâhil tüketir
Instance oluşturma, birden çok edge node dâhil tüm property kardeş default'larını korur ve başka bir occurrence'ın override'ları yerine template attribute value'larını kullanır
UI override'ları, desteklenen widget choice'ları oluşturur ve başarılı bir event sonrasında gerçek instance-başına runtime türünü ve native field flag'lerini değiştirir
Bütçeler ve alt-düzey binding'ler
Property traversal, event node, depth, operation ve byte bütçelerini paylaşır; native metin ve attribute yazmaları MaxValueChars'a uyar ve başarısız yazmalar native field value'larını, property override'larını, script state'i ve instance sırasını geri alır
Doğrudan çağıranlar xebdProperty kullanır ve Attributes ile DefaultAttributes sağlar; ikincisi, yeni klonlanan node'ları başlatır
Bir property attribute action'ı, TXFAEventAction.Value içinde attribute adını, bir NUL ayırıcıyı ve value'yu içerir; TXFAWidgetRuntime bunu doğrular ve native property hedefine uygular
Kapsam
Event ağacı, bildirilmiş property node'ları ve etkin attribute'larını içerir; desteklenen formatting ve widget class'ları için schema default'ları ile birlikte; eksik-özellik oluşturma, artık desteklenen formatting yollarını native form packet'te gerçekleştirir
Event, calculate ve validate bildirimleri execution metadata'sı olarak kalır; variables script'leri script object olarak kalır ve genel property editing, metadata script'lerini aktive etmez
Ek schema property class'ları, genel kaldırma ve yeniden-ebeveynleme, namespace-qualified attribute mutation, ek layout property tüketicileri ve ileri rich text veya widget editing özellikleri ayrı hedefler olarak devam eder
İlgili API'ler
Canlı SOM Resolution, Native Data DOM, HPDFXFAResolveFormInstanceProperty ve Interactive XFA Runtime