Тип TXFADataStructureSnapshot
TXFADataStructureSnapshot = TArray<TXFADataStructureNodeState> в HPDFXFADataStructure — снапшот значений отсоединённого леса, используемый CaptureDetached и RestoreDetached
| Поле состояния узла | Смысл |
|---|---|
ParentIndex: Integer | -1 для отсоединённого корня, иначе индекс более ранней записи родителя |
Identity: UInt64 | Исходный нативный идентификатор для перемаппинга вызывающим кодом, сохраняемый как метаданные снапшота |
Name, Prefix, NamespaceURI, Value, InstructionTarget: AnsiString | Точное состояние элемента/содержимого в UTF-8 |
IsCDATA: Boolean | Трактовка обычного текста как CDATA |
ContentKind: TXFAXMLContentKind | Вид содержимого: обычный текст, комментарий или инструкция обработки |
Attributes, NamespaceDeclarations: TArray<AnsiString> | Упорядоченные записи name=value в UTF-8, включая явный сброс пустого пространства имён по умолчанию |
Записи следуют порядку «родитель перед ребёнком»; невалидные ссылки на родителя, агрегированный размер, число узлов или глубина отвергаются до замещения существующего отсоединённого леса
Восстановление возвращает свежие объекты и нативные идентификаторы в том же порядке, что и снапшот; вызывающий код, хранящий внешние алиасы, обязан перемаппить их по этому возвращённому массиву и сохранённым идентификаторам
Runtime виджетов XFA выполняет этот перемаппинг своих постоянных скриптовых алиасов как часть полного отката события