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