Native XFA Property DOM
Ogólne wykonanie z EnableJavaScript zawiera potomków właściwości kontenerów formularzy w żywym drzewie zdarzeń, łącznie z węzłami value, typowanych wartości, font, fill, color, ui, border i edge
Kontenery nazwane używają swojej nazwy w ścieżkach SOM; węzły właściwości używają swojej nazwy klasy i zachowują rzeczywisty atrybut name, zwykle pusty
Typed values and attributes
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"
Typowany potomek pod węzłem value pola dzieli żywe rawValue pola; odczyty i zapisy przez value.text.value, field.rawValue i związany dataNode natychmiast się obserwują
Dla węzłów właściwości z atrybutem value, takich jak color, właściwość value czyta i zapisuje ten atrybut; dla węzłów zawartości skalarnej czyta i zapisuje zawartość tekstową
Atrybuty obecne w efektywnym powiązaniu właściwości są odsłaniane jako bezpośrednie właściwości, poza zarezerwowanymi członkami node i silnika; getAttribute(name) czyta dowolny atrybut, a setAttribute(value, name) zapisuje jeden i natychmiast odsłania bezpieczną nową nazwę
FormCalc rozpoznaje ścieżki właściwości i przypisuje atrybuty skalarne przez to samo drzewo zdarzeń; rodzeństwo właściwości wspiera indeksy wystąpień i selektory klas
Native persistence and rendering
Udane zapisy tworzą albo aktualizują węzły właściwości pod pasującym wystąpieniem kontenera w natywnym pakiecie formularza; szablon i inne powtarzalne wystąpienia zachowują swoje defaulty
Odpytanie właściwości podąża za klasą i lokalnym wystąpieniem pod nazwanym kontenerem, zamiast pomijać węzły bez nazwy; zmiana atrybutu name właściwości zachowuje jej tożsamość, a zapisany przeładowany XDP konsumuje efektywne nadpisania
Zachowane handle właściwości podążają za tożsamościami opublikowanego właściciela przez wstawianie i przenoszenie instancji; zapis handle po usunięciu jego instancji przerywa i przywraca transakcję
Typeface i size fontu uczestniczą w per-instance pomiarze tekstu rozszerzalnego i reflow; flatten czyta efektywne atrybuty fontu, koloru, obramowania, akapitu i obsługiwanych UI dla każdego wystąpienia pola
Drawy rich text konsumują efektywne nadpisania fontu, akapitu, inline CSS i zawartości skalarnej dla każdego wystąpienia, łącznie z ich pomiarem i umiejscowieniem runów
Tworzenie instancji zachowuje wszystkie defaulty rodzeństwa właściwości, łącznie z wieloma węzłami edge, i używa wartości atrybutów szablonu zamiast nadpisań innego wystąpienia
Nadpisania UI tworzą obsługiwane wybory widgetów i zmieniają rzeczywisty per-instance rodzaj runtime i natywne flagi pól po udanym zdarzeniu
Budgets and lower-level bindings
Traversalu właściwości dzieli budżety node, głębokości, operacji i bajtów zdarzenia; natywne zapisy tekstu i atrybutów honorują MaxValueChars, a nieudane zapisy przywracają natywne wartości pól, nadpisania właściwości, stan skryptów i kolejność instancji
Bezpośredni wywołujący używają xebdProperty i dostarczają Attributes i DefaultAttributes; te drugie inicjalizują nowo sklonowane węzły
Akcja atrybutu właściwości zawiera nazwę atrybutu, separator NUL i wartość w TXFAEventAction.Value; TXFAWidgetRuntime waliduje i stosuje ją do natywnego celu właściwości
Coverage
Drzewo zdarzeń zawiera zadeklarowane węzły właściwości i ich efektywne atrybuty, z defaultami schematu dla obsługiwanych klas formatowania i widgetów; tworzenie nieobecnych właściwości teraz materializuje obsługiwane ścieżki formatowania w natywnym pakiecie formularza
Deklaracje event, calculate i validate pozostają metadanymi wykonania; skrypty variables pozostają obiektami skryptowymi, a ogólna edycja właściwości nie aktywuje skryptów metadanych
Dodatkowe klasy właściwości schematu, ogólne usuwanie i przypinanie, mutacja atrybutów kwalifikowanych przestrzenią nazw, dodatkowi konsumenci właściwości layoutu i dalsze funkcje edycji rich text albo widgetów kontynuują jako odrębne cele
Related APIs
Live SOM Resolution, Native Data DOM, HPDFXFAResolveFormInstanceProperty i Interactive XFA Runtime