ネイティブ XFA Bind SOM

インタラクティブランタイムは、bind の dataRef パスを実際のネイティブデータセットノードに対して解決します。直接編集、スクリプトによる rawValue 代入、実体化された隠しフォーム値は、すべて同じ選択済みデータ値を消費します

セレクター

式選択内容
$data..Detail.Price[1]一致する子孫 Detail の下にある 2 番目の Price
$data.main.*.Detail[1].Price[1]ワイルドカードの分岐を、要求されたサフィックスで絞り込みます
$data.main.*[1].Detail.Price[1]ワイルドカードを、明示的な 2 番目の兄弟一致に制限します
$data.main.#dataGroup[1].Detail.Price[1]兄弟インデックスの前に、ネイティブ Data DOM のグループ分類を使います
$data..Detail[*].Price[1]一致するすべての Detail 出現がサフィックス検索に参加できます
$data.main.Price\.Taxリテラル名が Price.Tax の XML 要素を選択します

名前空間修飾された xfa:dataNode 属性は、存在する場合に dataGroup と dataValue の分類を制御します。存在しない場合は、実際の要素の子によってグループと値を区別します

コメント、処理命令、通常のテキストノードは、データ要素としては参加しません

暗黙的なフィールド名バインディングでは、ドットは XML 名の一部として扱われます。明示的なセレクターパスでは、リテラルのセレクター文字にバックスラッシュエスケープを使います

トランザクションとネイティブ永続化

編集が成功すると、選択されたデータセットリーフと既存のエイリアスが更新されます。値プロパティが実体化済みの隠しフィールドも含まれます。選択されなかった兄弟や繰り返し出現は、元の値を保持します

バリデーション失敗、操作上限の枯渇、デッドライン超過が起きると、ネイティブデータセットとフォームパケットがバイト単位で正確に復元されます。ランタイムに設定されたモノトニッククロックは、バインディングの走査も支配します

SaveToBytes はイベントのみのビューではなく、実際のネイティブ XML を永続化します。保存された XDP を開き直すと、選択済みデータ値を再度消費します

生成と残りの対応範囲

決定論的な名前付きパスは、欠けているインデックス 0 の要素を生成できます。サフィックス解決の失敗や走査の中断が起きると、その検索で確保されたものは削除されます

ワイルドカード、子孫、クラス、[*] の各パスは、曖昧な欠落分岐を確保せずに既存ノードを選択します

XFA の dataRef 仕様は完全修飾された Data DOM パスを使います。既存の相対バインディングパスは互換機能として残っており、供給された出現コンテキストの中で解決されます

供給された出現で見つからなかった相対パスが、他のレコードを検索することはありません。未解決の間接バインディングは、曖昧なデータセットパスを確保せずに、その出現の独立したネイティブフォーム値を使えます

相対的な [+n] と [-n] のインデックスは非修飾スクリプト参照に属するもので、完全修飾バインディングインデックスとしては受け付けられません

属性セレクター、一般述語、ノードクラスに関するすべての構造的 XML 操作、グローバルバインディング割り当てポリシー、ピクチャによる正規値バリデーションは、引き続き別の対応対象です

関連 API