Natives XFA Property DOM

Die allgemeine Ausführung mit EnableJavaScript nimmt Property-Kinder von Formularcontainern in den Live-Ereignisbaum auf, einschließlich value-, typisierter value-, font-, fill-, color-, ui-, border- und edge-Knoten

Benannte Container nutzen ihren Namen in SOM-Pfaden; Property-Knoten nutzen ihren Klassennamen und bewahren ihr tatsächliches name-Attribut, das meist leer ist

Typisierte Werte und Attribute

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"

Ein typisiertes Kind unter dem value-Knoten eines Felds teilt das Live-rawValue des Felds; Lese- und Schreibzugriffe über value.text.value, field.rawValue und den gebundenen dataNode beobachten sich gegenseitig sofort

Bei Property-Knoten mit einem value-Attribut, etwa color, liest und schreibt die value-Property dieses Attribut; bei skalaren Inhaltsknoten liest und schreibt sie Textinhalt

Attribute, die im effektiven Property-Binding vorhanden sind, werden als direkte Properties offengelegt, außer reservierten Knoten- und Engine-Membern; getAttribute(name) liest ein beliebiges Attribut, und setAttribute(value, name) schreibt eines und legt sofort einen sicheren neuen Namen offen

FormCalc löst Property-Pfade auf und weist skalare Attribute über denselben Ereignisbaum zu; Property-Geschwister unterstützen Vorkommenindizes und Klassenselektoren

Native Persistenz und Rendering

Erfolgreiche Schreibzugriffe erzeugen oder aktualisieren Property-Knoten unter dem passenden Container-Vorkommen im nativen Form-Packet; das Template und andere wiederholte Vorkommen behalten ihre Defaults

Die Property-Suche folgt Klasse und lokalem Vorkommen unter dem benannten Container, statt unbenannte Knoten zu überspringen; ein geändertes Property-name-Attribut bewahrt seine Identität, und gespeichertes XDP lädt effektive Override neu

Erhaltene Property-Handles folgen ihren veröffentlichten Owner-Identitäten durch Instanzeinfügung und -verschiebung; ein Schreibzugriff auf ein Handle nach dem Entfernen seiner Instanz bricht ab und stellt die Transaktion wieder her

Schrift-Typeface und -Größe fließen in die per-Instanz-Messung wachsender Texte und den Reflow ein; flatten liest effektive Schrift-, Farb-, Rahmen-, Absatz- und unterstützte UI-Attribute für jedes Feldvorkommen

Rich-Text-Draws konsumieren effektive Schrift-, Absatz-, Inline-CSS- und Scalar-Inhalts-Override pro Vorkommen, einschließlich ihrer Messung und Run-Platzierung

Die Instanzerzeugung bewahrt alle Property-Geschwister-Defaults, einschließlich mehrfacher edge-Knoten, und nutzt Template-Attributwerte statt der Override eines anderen Vorkommens

UI-Override erzeugen unterstützte Widget-Choices und ändern nach einem erfolgreichen Ereignis den tatsächlichen Instanz-Runtime-Typ und native Feld-Flags

Budgets und Bindings auf niedrigerer Ebene

Property-Traversierung teilt die Ereignis-Knoten-, Tiefe-, Operations- und Byte-Budgets; native Text- und Attribut-Schreibzugriffe beachten MaxValueChars, und fehlgeschlagene Schreibzugriffe stellen native Feldwerte, Property-Override, Skriptzustand und Instanzreihenfolge wieder her

Direkte Aufrufer verwenden xebdProperty und liefern Attributes und DefaultAttributes; letztere initialisieren neu geklonte Knoten

Eine Property-Attribut-Action enthält den Attributnamen, ein NUL-Trennzeichen und den Wert in TXFAEventAction.Value; TXFAWidgetRuntime validiert sie und wendet sie auf das native Property-Ziel an

Abdeckung

Der Ereignisbaum umfasst deklarierte Property-Knoten und ihre effektiven Attribute, mit Schema-Defaults für unterstützte Formatierungs- und Widget-Klassen; die Erzeugung fehlender Properties materialisiert unterstützte Formatierungspfade jetzt im nativen Form-Packet

Event-, calculate- und validate-Deklarationen bleiben Ausführungsmetadaten; variables-Skripte bleiben Skriptobjekte, und allgemeine Property-Bearbeitung aktiviert keine Metadatenskripte

Weitere Schema-Property-Klassen, generisches Entfernen und Reparenting, namespace-qualifizierte Attribut-Mutation, zusätzliche Layout-Property-Consumer und weitere Rich-Text- oder Widget-Bearbeitungsfeatures bleiben separate Ziele

Verwandte APIs

Live-SOM-Auflösung, Natives Data DOM, HPDFXFAResolveFormInstanceProperty und Interaktive XFA-Runtime