Native XFA Scalar Value Properties

Hostitel událostí vytváří skutečné nativní kontejnery form hodnot i skalární listy přes přístup k vlastnostem či getElement; value vlastnosti polí, navázané datové hodnoty i čtení widgetů sdílejí tutéž aktuální hodnotu

Skalární tvorba

Podporovaní skalární potomci jsou boolean, date, dateTime, decimal, float, integer, text a time, s jedním výskytem jedné vybrané hodnotové třídy

const field = xfa.form.resolveNode("main.row[1].input");
const leaf = field.value.getElement("text", 0);
leaf.value = "updated";
field.dataNode.value = "from-data";
if (leaf.value !== "from-data") throw new Error("Value synchronization failed");

Čtení chybějící skalární vlastnosti materializuje její nativní form uzel a inicializuje jeho obsah z aktuální efektivní hodnoty pole; opakovaný přístup vrátí tentýž živý objekt vlastnosti

Value má běžné prototypové atributy, override=0 a defaultně prázdný atribut relevant; podporované skalární třídy vystavují běžné prototypové atributy a prázdný název

Kontrola one-of zahrnuje všechny standardní volby hodnot, takže skalár nemůže vzniknout vedle existující volby hodnoty image, exData či graphic

Okamžitá a nativní synchronizace

Acessory skalárního listu value i rawValue proxyují vlastnící pole; navázané dataValue.value je zapisovatelný alias svého accessoru rawValue

Zápisy do polí, skalárů i dat si během téhož skriptu aktualizují navzájem svá čtení, tedy i jiných polí sdílejících tutéž navázanou datovou hodnotu

Nativní publikace aktualizuje hodnotu datasetu i stávající materializované skalární form listy; interaktivní commity widgetů i výsledky výpočtů taky synchronizují materializované value vlastnosti navázaných polí, tedy i skryté a neviditelné aliasy

Typovaný skalární obsah se uchovává jako dodaný text, tedy i kanonické řetězce dat, časů a čísel; tato fáze nezavádí automatické číselné přetypování ani nové picture formátování

Synchronizace utajených aliasů řídí skutečné opakované datové scopy a zachovává nematerializované vlastnosti

Instance, identita a transakce

Vytvoření i editace value vlastnosti v jednom opakovaném výskytu zachová ostatní výskyty; skriptové objekty si můžou na pozdější událost držet referenci skalární vlastnosti

Nové opakované instance dostanou nezávislé nativní value uzly; datový zápis do nově vytvořené instance aktualizuje její skutečný materializovaný skalární list, dřív než se transakce uloží

Chyby engine, nativní selhání value rozpočtů i rozporné volby hodnot obnoví přesné nativní XDP bajty, tedy i data polí, materializované value listy i sdílené aliasy

Nativní synchronizační skeny se účastní rozpočtů operací i uplynulého času události; nadměrná práce odmítne transakci a obnoví její snapshot

Ukládaný PDF výstup

Konverze XFA AcroForm konzumuje perzistované skalární hodnoty pro nativní hodnoty polí i generovaná appearance; hodnoty opakovaných prvních instancí zůstávají nezměněné

Zaměřený ukládací producent znovu otevře nativní XDP dřív než konverze a nezávislé kontroly pypdf a MuPDF prohlížejí typované form listy, hodnoty datasetů, nativní pole i skutečný viditelný text appearance

Zbývající integrační cíle

Nativní exData XML podporuje tvorbu chybějících hodnot, skutečný import cizího XML, okamžitou skriptovou serializaci i perzistovanou konzumaci rich draw

Skalární konzumenti draw a caption podporují vytvořené per-instance hodnoty i explicitně prázdné override

Tvorba image a graphic hodnot podporuje nativní potomky obrázků, oblouků, čar a obdélníků se skutečnými draw konzumenty

Kompletní validace skalárních formátů, rich widget appearance i vkládání Unicode appearance zůstávají samostatnými implementačními cíli

Související API

Native Data DOM, Nativní defaulty polí, Tvorba chybějících vlastností a Interactive XFA Runtime