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