Transactional XFA Data DOM Structure
JavaScript-events kunnen native Data DOM-elementen creëren, klonen, hernoemen, koppelen, herordenen en detachen, met directe script-reads en transactie-brede native persistentie
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));
Ondersteunde operaties
xfa.datasets.createNode(className, name = "", namespace = "") creëert een niet-gekoppelde dataGroup of dataValue; gekwalificeerde namen vragen een niet-lege namespace-URI
node.clone(recursive = true) creëert een niet-gekoppelde Data DOM-kopie met verse identiteiten; false sluit kindnodes uit terwijl de eigen metadata en waarde van het element behouden blijven
node.name is schrijfbaar voor Data DOM-elementen en behoudt namespace, sibling-volgorde, afstammelingen en vastgehouden aliassen; een naamloze constructie moet een geldige lokale naam ontvangen vóór koppeling
node.nodes.length, item(index) en namedItem(name) lezen de live geordende elementkinderen; item en namedItem geven null terug wanneer geen kind matcht
nodes.append(node) en nodes.insert(node, before) dragen hetzelfde object over naar de kinderen van de eigenaar; insert(node, null) plakt aan
nodes.remove(node) detacht een direct kind terwijl diens object en subtree beschikbaar blijven voor vastgehouden aliassen en latere herkoppeling
xfa.record geeft de huidige eerste record onder de Data DOM-data-wortel terug en werkt bij na structurele bewerkingen
Identiteit, XML en bindings
Een script-object kan een node, afstammeling of bezittende kind-collectie over events heen vasthouden; live aliassen resolven dezelfde native objecten na koppeling, detach, hernoem en rollback
loadXML en saveXML werken op nieuw aangemaakte en verplaatste elementen, inclusief afstammelingen die tijdens hetzelfde event werden geïmporteerd en daarna verplaatst
Stabiele native identiteiten verhinderen dat geïmporteerde afstammings-aliassen stilletjes een ander kind resolen na positionele wijzigingen
Geërfde attribute-namespaces, expliciete lege default namespace-resets, comments, processing instructions, CDATA en Unicode-waarden overleven kloon, verhuizing, save en reload
Formulierbindingen worden ververst na structurele wijzigingen, en waarden die via nieuw gekoppelde data-nodes worden weggeschreven bereiken de bijbehorende herhaalde formulier-instance zonder een andere instance te wijzigen
Transacties en limieten
Ongeldige klassen, XML-namen, sibling-referenties, cycli en foreign nodes falen voordat die individuele operatie de live script-graaf wijzigt
Een niet-gevangen scriptfout, native toepassingsfout, annulering, operation-plafond of elapsed-time-limiet herstelt het complete event, inclusief gekoppelde en gedetachte nodes, binding-waarden, vastgehouden aliassen, lexicale script-object-status en journal-status; dezelfde runtime kan daarna opnieuw proberen
Structurele nodes en gedetachte bomen delen native node-, diepte- en UTF-8-byte-caps; de originele script-transactie-deadline geldt voor JavaScript en native wijzigingen samen
PDF-consumptie
Sla de runtime op naar XDP en geef die bytes door aan HPDFXFAWriteHeadlessPDF om echte native PDF-velden en -appearances te maken vanuit de gewijzigde data-bindingen
TXFAHeadlessPDFOptions.Editable = False creëert read-only native velden met appearances; die instelling flattent ze niet
Huidige dekking
Deze pagina beschrijft Data DOM-bewerkingen; transactionele form-boom-scripting levert ondersteunde live formulier-creatie, -klonen, -insertie, -verwijdering en native PDF-consumptie
Algemene template-bewerking, complete choice subform-set-verwerking en het volledige XFA-node-klassa-schema blijven aparte capabilities
Independent query node collections · Native structural graph API · XFA widget runtime