XFA SOM Selectors

Bind ref expressions now resolve the complete SOM selector set: relative and absolute dot paths, name[N] indexing, name[*] first-instance picks, descendant ..name searches (with index), intermediate bare-* wildcard segments and #class class tokens

Wildcards

An intermediate * segment descends into every child and resolves the remaining segments through the first matching branch, so $record.*.Qty reaches Qty through unnamed or differently named groups

FormCalc aggregate functions retain every match from [*] and descendant selectors in document order, whilst direct field binding continues to pick one stable node

Class tokens

#subform and #dataGroup pick container-class nodes, #field picks field-like nodes (those carrying <value> or <ui>) and any other #name matches custom data nodes by name; class tokens compose with indexing (#subform[2]) counting every node of that class in document order

Stability

Unresolvable selectors keep the existing behaviour: the field flattens with a blank value and a warning names the exact expression

Node-set traversal remains bounded by the configured array, operation, elapsed-time, depth and value-byte limits