TXFAEventBinding
ユニット: HPDFXFAEventScript
宣言
TXFAEventBinding= record
Name, ClassName: AnsiString;
ParentIndex: Integer;
Value, Presence, Access: AnsiString;
InstanceCount, InstanceGroup: Integer;
MinInstances, MaxInstances: Integer;
DefaultValue, DefaultPresence, DefaultAccess: AnsiString;
Repeated: Boolean;
Identity, ScriptSource, Locale, EventActivity: AnsiString;
Domain: TXFAEventBindingDomain;
DataIdentity: AnsiString;
DataBindingEnabled: Boolean;
Attributes, DefaultAttributes: TXFAEventAttributes;
PropertyPath: AnsiString;
PropertyOwnerIndex: Integer;
XML, DefaultXML: AnsiString;
DataBindingRef, DataContextIdentity: AnsiString;
DataBindingExplicit: Boolean;
end;
動作
仮想イベントホストノード 1 つを記述します。実際の繰り返しサブフォーム出現ごとに、個別のバインディングと子を受け取ります
ParentIndex は親のバインディングを選択します。ルートは -1 です。Value、Presence、Access は現在の出現状態を表します
InstanceGroup は同じインスタンスマネージャが管理するバインディングを識別し、InstanceCount と出現上限はマネージャの範囲を表します
テンプレート既定値が新しいインスタンスを初期化します。Repeated は occur 宣言を持つノードを示します
TXFAWidgetRuntime はエンジン実行の前に、テンプレートと現在の datasets コンテキストからこれらのレコードを組み立てます
Identity はこの出現の安定したホスト識別子です。ScriptSource には variables 内で宣言されたスクリプトオブジェクトの JavaScript が入ります
空の Identity は一意なバインディングインデックス識別子を使います。バインド順が変わり得る場合は安定した明示的識別子を指定してください。保持された参照が同じ出現を指し続けられます
Locale はノードの省略可能な locale 属性を UTF-8 テキストとして運びます。実行ノードは最も近い空でない祖先の値を継承し、チェーン全体が空ならユーザーロケールが選ばれます
EventActivity は実行中のバインディングに対する xfa.event.name を供給します。TXFAWidgetRuntime はイベントアクティビティと calculate、validate のコンテキスト名を設定し、空の下位レベルバインディングは event を使います
Domain はフォームノードを、ネイティブの datasets、dataGroup、dataValue ノードと区別します。既定の xebdForm は既存の呼び出し側をそのまま動かせます
DataIdentity は別のバインディングの安定した識別子を参照して、フォームフィールドやサブフォームをデータノードに接続します。以降、フィールドとデータ値の読み取りは 1 つのライブ値を共有します
DataBindingEnabled は、繰り返しフォームプロトタイプに既存のデータバインディングがない場合の暗黙データノード作成を許可します。bind match=none のランタイムフィールドは False のままにし、合成データノードを公開しません
データドメインの InstanceGroup は、ネイティブ仮想ターゲット公開のために同名の兄弟出現を記録します。データバインディングはフォームのインスタンスマネージャを公開しません
Attributes には実効中の現在のプロパティ属性が入り、DefaultAttributes には新しくクローンされたプロパティノードに使うテンプレート属性が入ります
プロパティドメインの Name は実際の name 属性(通常は空)を保持します。ClassName が SOM コンポーネントを供給し、親インデックスはプロパティ階層とローカルの兄弟出現を保持します
PropertyPath と PropertyOwnerIndex は、テンプレートに存在しないフォーム専用プロパティを特定します。パスはクラス出現要素で構成され、オーナーインデックスは同じバインディング配列内のネイティブフォーム出現を選びます
ランタイムのフォーム専用バインディングは現在のネイティブ属性を公開し、DefaultAttributes にはスキーマ既定値を使います。そのため繰り返しプロトタイプのクローンは、別インスタンスの上書きを継承するのではなく既定のプロパティ値を持ちます
既存の宣言済みプロパティバインディングでは PropertyPath を空のままにしてください。この場合、対応するオーナーインデックスは使われません
exData では、XML が現在のシリアライズ済み UTF-8 要素であり、DefaultXML は新しい繰り返しインスタンス向けのテンプレートコンテンツを供給します
XML が空の exData バインディングは空のネイティブ exData 要素から始まります。フォーム専用の DefaultXML は空のままなので、新しい出現が別インスタンスのインポート済み外部コンテンツを継承することはありません
XML 入力文字列はイベントコンテキストのバイト予算に参加します。saveXML と loadXML は検証済みネイティブ応答のリプレイを使い、xeakLoadXML 経由で公開します
データドメインの XML はランタイムの上限付き浅いネイティブ XML メタデータを運びます。要素名、名前空間、値、属性、名前空間宣言、順序付き非テキストコンテンツ、子の位置です。データノードでは DefaultXML は未使用です
メタデータには 1 つのノードと、その直接のテキスト、コメント、処理命令の子が含まれ、データバインディングごとに子孫サブツリーを複製することを避けます
DataBindingRef は前後の空白を除いた dataRef セレクタです。DataBindingExplicit は、明示的な空 dataRef を暗黙のフィールド名バインディングと区別します
DataContextIdentity はフィールドの実際のネイティブデータスコープを特定します。これは、選択されたリーフを特定する DataIdentity とは独立です
これらのフィールドにより、XML インポートは新しい Data DOM に対して直ちにバインディングを再評価できます。新しく利用可能になったターゲットや、子孫、ワイルドカード、クラス、インデックス付きの各選択も含みます
通常のアプリケーションは TXFAWidgetRuntime を使ってネイティブバインディングを構築します。下位レベルの呼び出し側は、スカラーのみのデータノードなら XML メタデータを省略でき、新しいバインディングフィールドを既定値のままにできます