SOM-селекторы XFA
Выражения ref у bind теперь разрешают полный набор SOM-селекторов: относительные и абсолютные точечные пути, индексацию name[N], выбор первого экземпляра через name[*], поиск среди потомков ..name (с индексом), промежуточные wildcard-сегменты из одиночного * и классовые токены #class
Wildcards
Промежуточный сегмент * спускается в каждого ребёнка и разрешает оставшиеся сегменты по первой подходящей ветке, так что $record.*.Qty добирается до Qty и через группы без имён, и через группы с другими именами
Агрегатные функции FormCalc сохраняют каждое совпадение от [*] и селекторов потомков в порядке документа, а прямая привязка поля по-прежнему выбирает один стабильный узел
Классовые токены
#subform и #dataGroup выбирают узлы контейнерных классов, #field — узлы, похожие на поля (те, что содержат <value> или <ui>), а любой другой #name находит кастомные узлы данных по имени; классовые токены комбинируются с индексацией (#subform[2]), которая считает каждый узел данного класса в порядке документа
Стабильность
Неразрешимые селекторы ведут себя как раньше: поле уплощается с пустым значением, а в предупреждении называется точное выражение
Обход набора узлов по-прежнему ограничен настроенными лимитами на массив, операции, время выполнения, глубину и байты значений