3 つの別々の独立したディスクリプターを 1 つのディスクリプターとして提示する
ユーザーが使いやすくするため、およびここでは論じられていない所定の設計上の理由のため、マクロ・エディターは、「Field Counts and OIA」ディスクリプターを 1 つのディスクリプターとして提示します (図 1 を参照)。しかし、実際には、マクロ・エディターの記述タブ上の「Field Counts and OIA」ディスクリプターの 3 つの部分はそれぞれ、基礎 XML マクロ言語の別々の独立したディスクリプターに対応します。具体的には、次のとおりです。
- 「フィールド数」の設定は、<numfields> 記述子として保管される。
- 「入力フィールド数」の設定は、<numinputfields> 記述子として保管される。
- 「OIA が禁止解除になるのを待つ」の設定は、<oia> 記述子として保管される。
表 1 は、これらの 3 つのタイプの記述子をリストし、<description> エレメント内に存在できる各記述子の数を示します。
上記の表が示すように、これらの記述子のタイプごとに 1 つだけが、<description> エレメントに存在できます。<oia> 記述子は必須ですが、<numfields> 記述子と <numinputfields> 記述子はオプションです。マクロ・エディターがこれらの規則を実行します。
ディスクリプターのタイプ: | マクロ画面ごと (つまり、<description> エレメントごと) に使用できるこのタイプの記述子数: |
---|---|
<oia> | 1 (必須) |
<numfields> | 1 (オプション) |
<numinputfields> | 1 (オプション) |
マクロ・エディターの「説明」タブで「フィールド数および OIA」記述子を表示した後、ソース表示でこの記述子について調べると、ここで説明した内容についての理解が深まります。図 1 は、マクロ・エディターの「説明」タブ上の「フィールド数および OIA」記述子を示しています。「Field Counts and OIA」ディスクリプターの 3 つの部分の設定値は、次のように設定されます。
Number of Fields: 80
Number of Input fields: 3
Wait for OIA to Become Uninhibited: true
しかし、コード・エディターを使用して対応する <description> エレメントを調べると、次のように表示されます。 図 1. 3 つの記述子を持つ <description> エレメント
上記の XML コード・フラグメントは、<description> エレメントに、3 つの別々の独立した記述子が含まれていることを示します。各記述子は、「フィールド数および OIA」記述子の 3 つの部分のいずれかに対応しています。<description>
<oia status="NOTINHIBITED" optional="false" invertmatch="false" />
<numfields number="80" optional="false" invertmatch="false" />
<numinputfields number="3" optional="false" invertmatch="false" />
</description>
「Field Counts and OIA」ディスクリプターの設定を次のように変更すると仮定します。
Number of Fields: (blank)
Number of Input fields: (blank)
Wait for OIA to Become Uninhibited: true
最初の 2 つのフィールドをブランクに設定すると、これらの項目がスクリプトに組み込まれないように、マクロ・エディターに指示します。コード・エディターを使用して対応する <description> エレメントを再度調べると、次のように表示されます。 <description>
<oia status="NOTINHIBITED" optional="false" invertmatch="false" />
</description>
上記の XML コード・フラグメントは、<description> エレメントに、1 つの記述子、つまり「フィールド数および OIA」記述子の「OIA が禁止解除になるのを待つ」設定に対応する <oia> 記述子だけが含まれていることを示しています。