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