原生 XFA 純量值屬性
事件宿主透過 property 存取或 getElement 建立實際的原生表單值容器與純量葉節點;欄位值屬性、繫結資料值與 widget 讀取共用同一個目前值
純量建立
受支援的純量子節點為 boolean、date、dateTime、decimal、float、integer、text 與 time,從一個所選值類別中取一個出現個體
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");
讀取缺少的純量屬性會實體化其原生表單節點,並以欄位目前的生效值初始化內容;重複存取回傳同一個即時 property 物件
value 預設具備常見原型屬性、override=0 與空的 relevant 屬性;受支援的純量類別公開常見原型屬性與空名稱
單選檢查涵蓋所有標準值選項,因此不能在既有 image、exData 或圖形值選項旁建立純量
立即與原生同步
純量葉節點的 value 與 rawValue 存取子代理擁有它的欄位;繫結 dataValue.value 是其 rawValue 存取子的可寫別名
欄位、純量與資料寫入會在同一腳本內互相反映讀取,包括共用同一繫結資料值的其他欄位
原生發布會更新資料集值與既有實體化的純量表單葉節點;互動 widget 的提交與計算結果也會為繫結欄位同步實體化的 value 屬性,包括隱藏與 invisible 別名
型別化純量內容按提供的文字保留,包括標準的日期、時間與數字字串;這個階段不引入自動數值轉型或新的 picture 格式化
隱藏別名同步遵循實際的重複資料範圍,並保留未實體化的屬性
執行個體、識別與交易
在一個重複出現個體中建立與編輯 value 屬性,不影響其他出現個體;script object 可以保留純量屬性參考,供之後的事件使用
新的重複執行個體取得獨立的原生 value 節點;對新建立執行個體的資料寫入,會在交易儲存前更新其實際實體化的純量葉節點
引擎錯誤、原生值預算失敗與衝突的值選項,會還原精確的原生 XDP 位元組,包括欄位資料、實體化 value 葉節點與共用別名
原生同步掃描計入事件操作與經過時間預算;過量的工作會拒絕交易並還原其快照
已儲存的 PDF 輸出
XFA AcroForm 轉換會消耗持久化的純量值,作為原生欄位值與產生的外觀;重複的第一執行個體值維持不變
聚焦的已儲存產生器會在轉換前重新開啟原生 XDP,獨立的 pypdf 與 MuPDF 檢查會檢視型別化表單葉節點、資料集值、原生欄位與實際可見的外觀文字
其餘整合目標
原生 exData XML支援不存在值建立、真實外部 XML 匯入、立即腳本序列化與持久化的 rich draw 消費
draw 與 caption 純量消費端支援建立的每執行個體值與明確的空覆寫
影像與圖形值建立支援原生 image、arc、line 與 rectangle 子節點,並帶實際的 draw 消費端
完整的純量格式檢核、rich widget 外觀與 Unicode 外觀內嵌,仍是另外的實作目標