次のように、プロパティ変数の値を文字列と比較しようとしています
<if>
<equals "${mat.projectName}"="seal">
<then>
そうすると、次のメッセージが表示されます。
要素タイプ「equals」の後には、属性指定「">」または「/>」が続く必要があります
これを行うためにEclipseフレームワークを使用しています。
次のように、プロパティ変数の値を文字列と比較しようとしています
<if>
<equals "${mat.projectName}"="seal">
<then>
そうすると、次のメッセージが表示されます。
要素タイプ「equals」の後には、属性指定「">」または「/>」が続く必要があります
これを行うためにEclipseフレームワークを使用しています。
最初にマニュアルを読んでください:
http://ant.apache.org/manual/Tasks/conditions.html
明らかに、私たちが知っているマニュアルからequals
:
arg1 テストする最初の値 arg2 テストする 2 番目の値
だからそうあるべきだ
<if>
<equals arg1="${mat.projectName}" arg2="seal" />
<then>
...
最初に XML に関するガイドを読んでから、Ant のマニュアルを読むことをお勧めします。
アップデート:
<if>
task は Ant によって提供されません。Ant-Contrib によって提供されます。だからあなたが必要<taskdef>
です。
たとえば、プロジェクトの lib ディレクトリ (${basedir}/lib) に ant-contrib.jar を置いているので、次のように記述できます。
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="lib/ant-contrib.jar"/>
</classpath>
</taskdef>
詳細については、taskdef
のマニュアル ページと Ant-contrib の Web ページを確認してください。
まさにあなたが言っていることはエラーメッセージです...
要素タイプ「equals」の後には、属性指定、">"または"/>"のいずれかを続ける必要があります
あなたはこれを求めている:
<if>
<equals arg1="${mat.projectName}" arg2="seal"/>
<then>
<yadda, yadda, yadda/>
</then>
</if>
これはXMLであるため、値を持つパラメーターが必要です。このページのequals条件を見てください。2つのパラメータを取ります。
の形式に注意してください<if>
。条件は。で終了します/>
。は<then>
、のサブエンティティで<if>
あり、if句は句のサブエンティティです<then>
。基本的に2回インデントすることに注意してください。
等しくない条件を実行している場合は、次のようになります。
<if>
<not>
<equals arg1="${mat.projectName}" arg2="seal"/>
</not>
<then>
<yadda, yadda, yadda/>
</then>
</if>