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żkaZnaczenie
xfa.datasetsWęzeł pakietu datasets albo null, gdy nieobecny
xfa.datasets.data i $dataKorzeń danych pod pakietem datasets
$recordPierwszy korzeń rekordu pod danymi w bieżącym modelu przetwarzania bez rekordów
dataGroupElement danych zawierający elementy potomne, łącznie z jawnie zadeklarowaną pustą grupą
dataValueElement danych niosący wartość
formNode.dataNodeWę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