このschemavalidateタスクは、XMLスキーマで記述されたXMLファイルを検証します。このタスクは、XSD固有の機能を備えたXmlValidateタスクを拡張したものです。
入れ子になったカタログは、スキーマ文書のソースとして指定されたURLの検索に引き続き使用されるため、カタログへの検索を委任できますが、すべてのスキーマURIとそのURL相当物をリストする必要があります。
このタスクは、入れ子になった
<xmlcatalog>要素<schema>要素(名前空間URIをURLまたはローカルファイル名にバインドする)<dtd>要素(DTDとエンティティの解決に使用されます)<attribute>要素(パーサーの設定に使用されます。 http://xml.org/sax/features/など、パーサーがサポートする可能性のある任意の数の機能を使用できます)<property>要素(文字列プロパティを含む)このタスクは、SAX2以降のパーサーのみをサポートします。SAX1パーサーを指定することはエラーです。
| 属性 | 説明 | 必須 |
|---|---|---|
| classname | 使用するパーサー。 | いいえ |
| classpathref | パーサークラスの場所。必要に応じて、埋め込み<classpath>要素を使用できます。 |
いいえ |
| disableDTD | DTDサポートを無効にするフラグ。DTDサポートは、とりわけXSDファイル自体の検証に必要です。 | いいえ; デフォルトはfalse |
| failonerror | trueに設定されている場合、エラー時に失敗します。 |
いいえ; デフォルトはtrue |
| file | チェックするファイル(必要に応じて、埋め込みファイルセットを使用)。 | いいえ |
| fullchecking | 完全なスキーマチェックを有効にします。遅いが厳格です。 | いいえ; デフォルトはtrue |
| lenient | trueの場合、XMLドキュメントが整形式であるかどうかのみチェックします。 |
いいえ |
| noNamespaceFile | 名前空間のないXMLコンテンツのスキーマを提供する名前空間のないXSDファイルのファイル名。 | いいえ |
| noNamespaceURL | 名前空間のないXMLコンテンツのスキーマを提供する名前空間のないXSDファイルのURL。 | いいえ |
| warn | パーサーの警告イベントをログに記録します。 | いいえ |
ドキュメントの検証に使用できるスキーマの名前と場所を特定します。
| 属性 | 説明 | 必須 |
|---|---|---|
| namespace | スキーマ名前空間のURI | はい |
| url | スキーマのURL | 2つのうち正確に1つ |
| file | スキーマのファイル |
<dtd>は、DTD解決の異なる場所を指定するために使用されます。
| 属性 | 説明 | 必須 |
|---|---|---|
| publicId | 解決するDTDのパブリックID | はい |
| location | 使用するDTDの場所。ファイル、リソース、またはURLにすることができます。 | はい |
<xmlcatalog>要素は、エンティティ解決を実行するために使用されます。
<attribute>要素は、パーサー機能の設定に使用されます。
Xercesパーサーで使用できる機能はここに定義されています。機能の設定
SAX機能はここに定義されています。http://xml.org/sax/features/
| 属性 | 説明 | 必須 |
|---|---|---|
| name | 機能の名前 | はい |
| value | 機能のブール値 | はい |
<property>要素は、プロパティの設定に使用されます。これらのプロパティは、Xerces XMLパーサー実装に対してここに定義されています。XMLパーサーのプロパティ。プロパティを使用して、XMLファイルの検証に使用されるスキーマを設定できます。
| 属性 | 説明 | 必須 |
|---|---|---|
| name | 機能の名前 | はい |
| value | プロパティの文字列値 | はい |
XMLスキーマに対してドキュメントを検証します。ドキュメント自体はスキーマを宣言していないため、noNamespaceFileが必要です。
<schemavalidate noNamespaceFile="document.xsd"
file="xml/endpiece.xml"/>
XSDおよびWSDLドキュメントを関連する仕様に対して検証する新しいプリセットタスク<validate-soap>を宣言します。XSDドキュメントを検証するには、XMLSchema.xsdと同じディレクトリにある、またはカタログを介してポイントされたXMLSchema.dtdとdatatypes.dtdも必要です。これらのファイルはすべて、W3Cから取得できます。
<presetdef name="validate-soap">
<schemavalidate>
<schema namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing"
file="${soap.dir}/ws-addressing.xsd"/>
<schema namespace="http://www.w3.org/2003/05/soap-envelope"
file="${soap.dir}/soap12.xsd"/>
<schema namespace="http://schemas.xmlsoap.org/wsdl/"
file="${soap.dir}/wsdl.xsd"/>
<schema namespace="http://www.w3.org/2001/XMLSchema"
file="${soap.dir}/XMLSchema.xsd"/>
</schemavalidate>
</presetdef>
上記のプリセットタスクを使用して、XMLスキーマドキュメントを検証します。
<validate-soap file="xml/test.xsd"/>