Native XFA Bind SOM

The interactive runtime resolves bind dataRef paths against actual native dataset nodes; direct editing, script rawValue assignments and materialized concealed form values consume the same selected data value

Selectors

ExpressionSelection
$data..Detail.Price[1]The second Price under a matching descendant Detail
$data.main.*.Detail[1].Price[1]Refines wildcard branches through the requested suffix
$data.main.*[1].Detail.Price[1]Restricts the wildcard to its explicit second sibling match
$data.main.#dataGroup[1].Detail.Price[1]Uses native Data DOM group classification before sibling indexing
$data..Detail[*].Price[1]Allows every matching Detail occurrence to participate in suffix lookup
$data.main.Price\.TaxSelects an XML element whose literal name is Price.Tax

The namespace-qualified xfa:dataNode attribute controls dataGroup and dataValue classification when present; otherwise actual element children distinguish groups from values

Comments, processing instructions and ordinary text nodes do not participate as data elements

Implicit field-name binding treats dots as part of the XML name; explicit selector paths use backslash escaping for literal selector characters

Transactions and native persistence

A successful edit updates the selected dataset leaf and existing aliases, including hidden fields whose value properties have materialized; unselected siblings and repeated occurrences preserve their original values

Validation failure, operation exhaustion or deadline expiry restores the native dataset and form packets byte exactly; the runtime's configured monotonic clock also governs binding traversal

SaveToBytes persists actual native XML rather than an event-only view; reopening the saved XDP consumes the selected data value again

Creation and remaining coverage

Deterministic named paths can create missing index-zero elements; failed suffix resolution or interrupted traversal removes allocations made by that lookup

Wildcard, descendant, class and [*] paths select existing nodes without allocating ambiguous missing branches

The XFA dataRef specification uses fully qualified Data DOM paths; existing relative binding paths remain a compatibility feature resolved within the supplied occurrence context

A relative path that misses in a supplied occurrence does not search other records; an unresolved indirect binding can use that occurrence's separate native form value without allocating an ambiguous dataset path

Relative [+n] and [-n] indices belong to unqualified script references and are not accepted as fully qualified binding indices

Attribute selectors, general predicates, all node-class structural XML operations, global binding assignment policy and picture-based canonical value validation remain separate coverage targets

Related APIs