Native XFA Property DOM

General execution with EnableJavaScript includes property children of form containers in the live event tree, including value, typed value, font, fill, color, ui, border and edge nodes

Named containers use their name in SOM paths; property nodes use their class name and preserve their actual name attribute, which is usually empty

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"

A typed child under a field's value node shares the field's live rawValue; reads and writes through value.text.value, field.rawValue and the bound dataNode observe each other immediately

For property nodes with a value attribute, such as color, the value property reads and writes that attribute; for scalar content nodes it reads and writes text content

Attributes present in the effective property binding are exposed as direct properties, except reserved node and engine members; getAttribute(name) reads an arbitrary attribute and setAttribute(value, name) writes one and exposes a safe new name immediately

FormCalc resolves property paths and assigns scalar attributes through the same event tree; property siblings support occurrence indices and class selectors

Native persistence and rendering

Successful writes create or update property nodes beneath the matching container occurrence in the native form packet; the template and other repeated occurrences retain their defaults

Property lookup follows class and local occurrence beneath the named container rather than skipping unnamed nodes; changing a property name attribute preserves its identity, and saved XDP reloads effective overrides

Retained property handles follow their published owner identities through instance insertion and movement; writing a handle after its instance is removed aborts and restores the transaction

Font typeface and size participate in per-instance growable text measurement and reflow; flatten reads effective font, color, border, paragraph and supported UI attributes for each field occurrence

Rich text draws consume effective font, paragraph, inline CSS and scalar content overrides for each occurrence, including their measurement and run placement

Instance creation retains all property sibling defaults, including multiple edge nodes, and uses template attribute values rather than another occurrence's overrides

UI overrides create supported widget choices and change the actual per-instance runtime kind and native field flags after a successful event

Budgets and lower-level bindings

Property traversal shares the event node, depth, operation and byte budgets; native text and attribute writes obey MaxValueChars, and failed writes restore native field values, property overrides, script state and instance order

Direct callers use xebdProperty and supply Attributes and DefaultAttributes; the latter initialize newly cloned nodes

A property attribute action contains the attribute name, a NUL separator and the value in TXFAEventAction.Value; TXFAWidgetRuntime validates and applies it to the native property target

Coverage

The event tree includes declared property nodes and their effective attributes, with schema defaults for supported formatting and widget classes; absent-property creation now materializes supported formatting paths in the native form packet

Event, calculate and validate declarations remain execution metadata; variables scripts remain script objects, and general property editing does not activate metadata scripts

Additional schema property classes, generic removal and reparenting, namespace-qualified attribute mutation, additional layout property consumers and further rich text or widget editing features continue as separate targets

Related APIs

Live SOM Resolution, Native Data DOM, HPDFXFAResolveFormInstanceProperty and Interactive XFA Runtime