uselogic 属性

<description> エレメントの uselogic 属性を使用すると、上記のセクションで説明したデフォルト結合メソッドで使用可能な複数の記述子間で、より複雑な論理関係を定義できます。

uselogic 属性を使用する場合、マクロ・ランタイムは、個々の記述子の「逆記述子」設定と「オプショナル」設定を無視します。

コード・エディターを使用して、手作業で uselogic 属性を <description> エレメントに追加する必要があります。マクロ・エディターは、これを制御できません。

uselogic 属性の値は、単純化された論理式であり、その条件は、後続の記述子の 1 ベースのインデックスです。図 1 は、uselogic 属性を含む <description> エレメントの例を示しています (分かりやすくするために、<string> エレメントの属性の一部が省略されています)。
図 1. <description> エレメントの uselogic 属性の例
<description uselogic="(1 and 2) or (!1 and 3)" />
   <oia status="NOTINHIBITED" optional="false" invertmatch="false"/>
   <string value="&apos;Foreground&apos; row="5" col="8"/>
   <cursor row="18" col="19" optional="false" invertmatch="false"/>
</description>
上記の図では、uselogic 属性の値は、次のとおりです。
(1 and 2) or (!1 and 3)
この論理式は、正規の論理式ではなく (条件演算子と論理演算子および式を参照)、uselogic 属性のみで使用される、単純化されたスタイルの論理式です。このスタイルの論理式の規則は、次のとおりです。
  • 数表示 1、2、3 などは、それぞれ <description> エレメント内の第 1、第 2、および第 3 の記述子のブール結果を表します (上記の図では、<oia>、<string>、および <cursor>)。対応する記述子が存在する数字だけ使用できます。例えば、<description> エレメントに 7 つの記述子がある場合、7 番目の記述子のブール結果を参照するには 7 を使用し、6 番目の記述子のブール結果を参照するには 6 を使用し、以下同様に使用できます。
  • 次の論理演算子だけが使用できます。
    表 1. uselogic 属性の論理演算子
    演算子: 意味:
    論理 AND
    または 論理 OR (包含)
    ! 論理 NOT (否定)
  • 条件をグループ化するには、小括弧 () を使用できます。
  • 以下のエンティティーは使用できません。
    • 算術演算子および式
    • 条件演算子および式
    • 変数
    • Java メソッドの呼び出し
図 1 の例では、マクロ・ランタイムは、次の場合、記述全体が true であると判断します。
  • 最初のディスクリプターの結果が true であり、2 番目のディスクリプターの結果が true である (1 および 2)。
  • 最初のディスクリプターの結果が false であり、3 番目のディスクリプターの結果が true である (!1 および 3)。

uselogic 属性を使用する場合、マクロ・ランタイムは、個々の記述子の「逆記述子」設定と「オプショナル」設定を無視することに注意してください。