Ant に現在認識されているすべてのタスクに関する情報を含む、Apache Ant のビルドファイル用の DTD を生成します。
実際、DTD はビルドファイル用の実際の DTD ではありません。Ant の XML の使い方は DTD では捉えることができないからです。Ant の複数の要素は、それらを含む要素によって異なる属性リストを持つことができます。たとえば、<fail>
は <sound>
タスクのタスクまたはネストされた子要素になることができます。生成された DTD は依存するものではないと考えてください。
また、このタスクによって生成された DTD は不完全であることに注意してください。XML エンティティは <taskdef>
または <typedef>
を使用していつでも追加できます。この問題を回避する方法については ここ を参照してください。
このタスクは必須属性について認識しません。すべてが #IMPLIED
としてリストされます。
Ant 1.7 以降、 カスタム構造プリンタを、DTD を送信するプリンタの代わりに使用できます。独自の構造をプラグインするには、インターフェイス org.apache.tools.ant.taskdefs.AntStructure.StructurePrinter
を実装して、クラスを <typedef>
で宣言し、新しいタイプをこのタスクのネストされた要素として使用します。次の例を参照してください。
属性 | 説明 | 必須 |
---|---|---|
output | DTD を書き込むためのファイル。 | はい |
基本的な使用
<antstructure output="project.dtd"/>
DTD ではなく独自の構造を出力する: まずインターフェイスを実装する必要があります
package org.example; import org.apache.tools.ant.taskdefs.AntStructure; public class MyPrinter implements AntStructure.StructurePrinter { ... }
次に、typedef を介してそれを使用します
<typedef name="myprinter" classname="org.example.MyPrinter"/> <antstructure output="project.my"> <myprinter/> </antstructure>
独自の StructurePrinter
は、他の Ant タイプやタスクと同様に、属性とネストされた要素を受け入れることができます。