我想創建一個宏這樣:Ant的macrodef默認元素?
<macrodef name="testing">
<element name="test" implicit="yes"/>
<sequential>
<test/>
</sequential>
</macrodef>
,然後使用它:
<testing>
<echo message="hello world"/>
</testing>
不過,我想指定一個默認的隱式元素...是這樣的:
<macrodef name="testing">
<element name="test" implicit="yes">
<echo message="hello world"/>
</element>
<sequential>
<test/>
</sequential>
</macrodef>
所以我可以使用它作爲這樣的:
<testing/>
除了我想更改默認元素。
這可能沒有通過Java類定義任務嗎?到目前爲止,我沒有看到任何說明如何做的文檔。
更新
我結束了使用REFID的文件集(這是我實際上是想拉成一個元素)解決我的具體問題。使用refid,只需使用一個具有默認值的macrodef屬性很簡單。
另一種選擇是創建一個使用該元素的新的基本宏,然後我可以保留現有的宏作爲使用該元素......但仍然沒有真正的元素默認機制對人好點)。
所以,西蒙得到了答案,因爲他是正確的!謝謝!
賞識一直開着,但我想找一個實際違約,不是可有可無的行爲......我想默認的內容完全取代實際傳入的內容,但當然只有在定義了內容的情況下。 – 2009-04-08 20:15:36