2011-11-13 34 views
0

私はANTとXMLの両方の初心者です。 XML構文は本当に混乱しているようです。 私のANTでは、以下の3つの "エコー"構造が正しいです。ANT build.xmlに入れ子になったXML形式

<echo message="Hello "/> 
    <echo message="Hello "></echo> 
    <echo> Hello </echo> 

が、私は、 "ファイルセット" を使用する場合、

<fileset dir="." includes = "**/*.java" id="myid" /> 
<fileset dir="." includes = "**/*.java" id="myid2" ></fileset> 

が正しいですが、

<fileset> dir="." includes = "**/*.java" id="myid2" </fileset> 

はANTによって間違ったとみなされます。

The <fileset> type doesn't support nested text data ("dir="." ...="myid2""). 

がいくつかあります構文dを区別するための一般的な規則このよう「ファイルセット」「エコー」、私は意味し、どのようにすることができます「エコー」許可ネストされたテキストデータが、「ファイルセット」などの見出しの間ifferenceはありませんか?おかげさまで

+1

Antの開発者は、Antの性質上、ユーザーにスキーマ/ DTDを提供しません。新しいタスクや独自の機能を持つタイプを簡単に定義できます。したがって、build.xmlを定義する際に構文チェックはありません。 XMLのAntタスクはタスクJavaコードによって解析されるので、ドキュメント/ソースの閲覧だけでサポートされているものを知ることができます。 – madhead

答えて

2

echo taskの著者は、そのような二重使用方法でそれを開発しました。それは "メッセージ"属性または子テキストで動作することができます。しかし、他のタスク(filesetは実際にはタイプ)はこのような機能をサポートしていません。すべてのユースケースを知るための公式のドキュメントを読んでください。

関連する問題