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