Transactional XFA Data DOM Structure

JavaScript-händelser kan skapa, klona, byta namn på, fästa, ordna om och frigöra nativa Data DOM-element, med omedelbara skriptläsningar och transaktionsvid nativ persistens

const record = xfa.record;
const value = xfa.datasets.createNode("dataValue");
value.name = "amount";
value.value = "42";
record.nodes.append(value);
const retained = value.clone(false);
record.nodes.remove(value);
record.nodes.insert(value, record.nodes.item(0));

Stödda operationer

xfa.datasets.createNode(className, name = "", namespace = "") skapar en ofäst dataGroup eller dataValue; kvalificerade namn kräver en icke-tom namnområdes-URI

node.clone(recursive = true) skapar en ofäst Data DOM-kopia med färska identiteter; false exkluderar barnnoder samtidigt som elementets egen metadata och värde behålls

node.name är skrivbar för Data DOM-element och bevarar namnområde, syskonordning, efterkommande och behållna alias; en namnlös konstruktion måste få ett giltigt lokalt namn innan fästning

node.nodes.length, item(index)och namedItem(name) läser de levande ordnade elementbarnen; item och namedItem returnerar null när inget barn matchar

nodes.append(node) och nodes.insert(node, before) överför samma objekt in i ägarens barn; insert(node, null) lägger till

nodes.remove(node) frigör ett direkt barn samtidigt som dess objekt och underträd förblir tillgängliga för behållna alias och senare refästning

xfa.record returnerar aktuell första post under Data DOM-dataroten och uppdateras efter strukturella redigeringar

Identitet, XML och bindningar

Ett skriptobjekt kan behålla en nod, efterkommande eller ägande barnkollektion över händelser; levande alias löser samma nativa objekt efter fästning, friståendegörande, namnbyte och rullering

loadXML och saveXML verkar på nyskapade och flyttade element, inklusive efterkommande importerade och därefter flyttade under samma händelse

Stabila nativa identiteter hindrar importerade efterkommande-alias från att tyst lösa ett annat barn efter positionella ändringar

Ärvda attributnamnområden, explicita tomma standardåterställningar av namnområde, kommentarer, bearbetningsinstruktioner, CDATA och Unicode-värden överlever kloning, flytt, sparande och omläsning

Formulärbindningar uppdateras efter strukturella ändringar, och värden skrivna genom nysfasta datanoder når motsvarande upprepad formulärinstans utan att ändra en annan instans

Transaktioner och gränser

Ogiltiga klasser, XML-namn, syskonreferenser, cykler och främmande noder misslyckas innan den enskilda operationen ändrar det levande skriptgrafen

Ett ofångat skriptfel, nativt tillämpningsfel, avbrott, operationstak eller förloppstidsgräns återställer hela händelsen, inklusive fästa och fristående noder, bindningsvärden, behållna alias, lexikaliskt skriptobjekttillstånd och journatillstånd; samma körtid kan sedan försöka igen

Strukturella noder och fristående träd delar nativa nod-, djup- och UTF-8-bytetak; den ursprungliga skripttransaktionens tidsgräns gäller JavaScript- och nativa ändringar tillsammans

PDF-konsumtion

Spara körtiden till XDP och skicka de bytena till HPDFXFAWriteHeadlessPDF för att skapa faktiska nativa PDF-fält och utseenden ur de ändrade databindningarna

TXFAHeadlessPDFOptions.Editable = False skapar skrivskyddade nativa fält med utseenden; den inställningen plattar inte ut dem

Aktuell täckning

Detta strukturella gränssnitt täcker Data DOM; generellt mall-/formulärnodsskapande och kloning samt completa nodklassskript förblir separat implementationsarbete

Oberoende frågenodekollektioner · Nativt strukturellt graf-API · XFA-widgetkörtid

Oberoende frågonodsamlingar · Nativ strukturellt graf-API · XFA-widget-runtime