Native XFA Scalar Value Properties
Händelsevärden skapar faktiska nativa formulärvärdebehållare och skalära löv genom egenskapsåtkomst eller getElement; fältvärdeegenskaper, bundna datavärden och widgetläsningar delar samma aktuella värde
Skalärt skapande
De stödda skalära barnen är boolean, date, dateTime, decimal, float, integer, text och time, med en förekomst av en vald värdeklass
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");
Att läsa en saknad skalär egenskap materialiserar dess nativ formulärnod och initierar dess innehåll från fältets aktuella effektiva värde; upprepad åtkomst returnerar samma levande egenskapsobjekt
Value har gemensamma prototypattribut, override=0 och ett tomt relevant attribut som standard; stödda skalära klasser exponerar gemensamma prototypattribut och ett tomt namn
One-of-kontrollen inkluderar alla standardvärdeval, så en skalär kan inte skapas intill ett befintligt image-, exData- eller grafikvärdeval
Omedelbar och nativ synkronisering
Skalära lövvärdes- och rawValue-åtkomster proxyar det ägande fältet; bundet dataValue.value är ett skrivbart alias till dess rawValue-åtkomst
Fält-, skalär- och dataskrivningar uppdaterar varandras läsningar under samma skript, inklusive andra fält som delar samma bundna datavärde
Nativ publicering uppdaterar datasetvärdet och befintliga materialiserade skalära formulärlöv; interaktiva widget-sparanden och beräkningsresultat synkroniserar också materialiserade värdetegenskaper för bundna fält, inklusive dolda och osynliga alias
Typat skalärt innehåll behålls som tillhandahållen text, inklusive kanoniska datum-, tids- och numeriska strängar; detta stadium inför ingen automatisk numerisk tvångskonvertering eller ny picture-formatering
Förtäckt aliassynkronisering följer faktiska upprepade datascopes och bevarar icke-materialiserade egenskaper
Instanser, identitet och transaktioner
Att skapa och redigera en värdeegenskap i en upprepad förekomst bevarar de andra förekomsterna; skriptobjekt kan behålla en skalär egenskapsreferens för en senare händelse
Nya upprepade instanser får oberoende nativa värdenoder; dataskrivningar till en nyskapad instans uppdaterar dess faktiska materialiserade skalära löv innan transaktionen sparas
Motorfel, nativa värdebudgetfel och motsägelsefulla värdeval återställer exakta nativa XDP-byte, inklusive fältdata, materialiserade värdelöv och delade alias
Nativa synkroniseringsskanningar deltar i händelsens operations- och förloppstidsbudgetar; överdrivet arbete avvisar transaktionen och återställer dess ögonblicksbild
Sparad PDF-utdata
XFA AcroForm-konvertering konsumerar de bestående skalära värdena för nativa fältvärden och genererade utseenden; upprepade första-instans-värden förblir oförändrade
Den fokuserade sparade producenten öppnar den nativa XDP:n på nytt före konverteringen, och oberoende pypdf- och MuPDF-kontroller inspekterar typade formulärlöv, datasetvärden, nativa fält och faktisk synlig utseendetext
Kvarvarande integrationsmål
Nativ exData-XML stödjer frånvarande värdeskapande, verklig främmand XML-import, omedelbar skriptserialisering och bestående rich-ritningskonsumtion
Rit- och rubrikskalära konsumenter stödjer skapade per-instans värden och explicita tomma överskridningar
Bild- och grafikvärdeskapande stödjer nativa bild-, båg-, linje- och rektangelbarn med faktiska ritkonsumenter
Completa skalär formatvalidering, rich-widget-utseenden och Unicode-utseendeinbäddning förblir separata implementationsmål
Relaterade API:er
Nativt Data-DOM, Nativa fältstandarder, Saknad egenskap-skapande och Interaktiv XFA-körtid