Native XFA Data DOM
Ogólne wykonanie z EnableJavaScript odsłania natywne drzewo datasets dokumentu przez ścieżki resolvera xfa.datasets, $data i $record oraz aksesory FormCalc
Węzły danych używają stabilnych natywnych tożsamości i tego samego żywego resolvera SOM co węzły formularza; wspierają nazwy, selektory klas, wybór wystąpień, traversalu rodziców, predykaty i rozpoznawanie na poziomie węzłów
Roots and classes
| Obiekt albo ścieżka | Znaczenie |
|---|---|
xfa.datasets | Węzeł pakietu datasets albo null, gdy nieobecny |
xfa.datasets.data i $data | Korzeń danych pod pakietem datasets |
$record | Pierwszy korzeń rekordu pod danymi w bieżącym modelu przetwarzania bez rekordów |
dataGroup | Element danych zawierający elementy potomne, łącznie z jawnie zadeklarowaną pustą grupą |
dataValue | Element danych niosący wartość |
formNode.dataNode | Węzeł związany z polem formularza albo subformą, albo null, gdy nie ma powiązania danych |
Atrybut dataNode w przestrzeni nazw danych XFA może jawnie wybrać klasę grupy albo wartości; prefixy przestrzeni nazw są rozpoznawane, zamiast wymagać konkretnej pisowni prefiksu
Reads and writes
dataValue odsłania value jako zapisywalny alias rawValue; oba aksesory aktualizują tę samą związaną komórkę danych i natywny węzeł danych
const value = xfa.resolveNode("$record.row[1].cell");
value.rawValue = "25";
target.rawValue = xfa.resolveNode("main.row[1].cell").rawValue;
$record.row[1].cell = 25
target = row[1].cell
var p = Ref($record.row[1].cell)
p = 30
Zapisy związanych pól natychmiast aktualizują odpowiadającą wartość danych, a zapisy wartości danych natychmiast aktualizują odczyty związanych pól w tym samym skrypcie; natywna publikacja zapisuje rzeczywisty węzeł danych
Zmaterializowane skalarne właściwości wartości synchronizują natywną zawartość formularza po zapisach pól albo danych, łącznie z aliasami współdzielonych danych i publikacją danych nowych powtarzalnych instancji
Elementy danych bez związanego pola formularza pozostają dostępne i zapisywalne; udane transakcje zachowują ich zmiany w zapisanym XDP
Pola formularza z bind match=none zachowują defaulty szablonu i przechowują edycje w wartości Form DOM własnego wystąpienia; nie odsłaniają syntetycznego węzła danych i nie modyfikują wystąpień rodzeństwa
Wartości danych dzielą budżety Unicode, rozmiaru wartości i wykonania z hostem zdarzeń formularza; węzły grup dostarczają dostępu strukturalnego, a nie zapisywalnej surowej wartości
Repeated instances and retained references
Wstawianie, przenoszenie i usuwanie instancji formularza aktualizuje odpowiadający żywy Data DOM w tym samym skrypcie; nowe rzędy powiązane niejawnie odsłaniają defaulty szablonu przez swoje węzły danych przed publikacją
Prototyp zerowych wystąpień może utworzyć swoją pierwszą grupę danych i wartości; natywna publikacja dostarcza rzeczywistych tożsamości nowych węzłów, pozwalając obiektom skryptowym zachować handle danych między kolejnymi zdarzeniami
Zachowane referencje danych podążają za przenoszeniem przez tożsamość; użycie referencji po usunięciu jej grupy zawodzi zdarzenie, a rollback runtime przywraca natywną kolejność wystąpień, wartości i liczniki obiektów skryptowych
Menedżery instancji zachowane przez obiekty skryptowe rozpoznają bieżący scope, łącznie z menedżerami, których początkowa liczba wystąpień była zerowa
Native XML content
Węzły datasets, dataGroup i dataValue odsłaniają loadXML i saveXML z natywnym parsowaniem, aktualizacjami grafu w tym samym skrypcie i transakcyjną publikacją
Importy XML zachowują komentarze, instrukcje przetwarzania, CDATA, rozszerzone przestrzenie nazw i nazwy Unicode, utrzymując węzły nietekstowe poza zwykłym wyborem potomków Data DOM i widocznymi wartościami pól
Importowane wartości natychmiast synchronizują odczyty związanych pól, łącznie z polami, których istniejący dataRef wybiera inny sufiks albo których wcześniej nierozpoznany cel jest teraz dostępny
Transactions and lower-level callers
TXFAWidgetRuntime buduje powiązania domeny danych, łączy pola formularza z natywnymi wartościami danych, stosuje zapisy danych i nowe powiązania tożsamości i przywraca dokładny stan XDP po awarii silnika albo natywnej publikacji
Niższopoziomowi wywołujący zdarzeń używają TXFAEventBindingDomain i pól DataIdentity oraz DataBindingEnabled TXFAEventBinding, aby dostarczyć równoważnych relacji obiektów
Akcja xeakBindDataIdentity wiąże nowy wirtualny handle danych z jego opublikowaną natywną tożsamością danych; niższopoziomowe aplikacje muszą stosować zwrócone mutacje danych i powiązania tożsamości transakcyjnie
Remaining object-model coverage
Nawigacja okien rekordów, samodzielne tworzenie i przepinanie węzłów danych, dowolne atrybuty danych i pełna edycja węzłów właściwości szablonu pozostają odrębnymi celami integracji
Odzwierciedlanie instancji podąża za istniejącym zachowaniem menedżera instancji niejawnego powiązania danych; dodatkowe mutacje instancji powiązań jawnych wymagają dalszej integracji powiązań
Related APIs
Live SOM Paths, FormCalc References, HPDFXFAExecuteJavaScriptEvent i Interactive XFA Runtime