schemaLocation 属性は、対象の名前空間を持つ XML スキーマ ドキュメントを参照します。
<xsi:schemaLocation="list of anyURI" >
属性
- anyURI (リスト)
修飾された (名前空間を持つスキーマ) スキーマ構造を含むスキーマの場所。各ペアの最初の URI 参照は名前空間の名前であり、2 番目は名前空間を定義するスキーマの場所です。
解説
この属性は、対象の名前空間を持つ XML スキーマ ドキュメントをインスタンス ドキュメントに関連付けます。
XML スキーマは、必ずしも名前空間を持つ必要はありません。対象の名前空間を持たない XML スキーマの場所を指定するためには、noNamespaceSchemaLocation 属性を使用します。この属性で参照される XML スキーマには、対象の名前空間を含めることができません。この属性は URL のリストを受け取ることができないため、スキーマの場所を 1 つだけ指定します。
対象の名前空間を持つスキーマ ドキュメントを、インスタンス ドキュメントに関連付けます。名前空間の異なる複数の URI 参照のペアをリストとして指定できます。
W3C 勧告『XML Schema』によると、XML インスタンス ドキュメントでは、xsi:schemaLocation 属性と xsi:noNamespaceSchemaLocation 属性の両方を指定できます。また、同じ名前空間をリストに複数回含めることができます。
MSXML 6.0 では、xsi:schemaLocation を指定して、その名前空間の要素を処理した場合、新しい xsi:schemaLocation を指定することはできません。このように指定すると、エラーが報告されます。以前のバージョンでは、エラーは報告されませんでした。
例
複数の XML スキーマ ドキュメントの場所の情報を提供する xsi:schemaLocation 属性の使い方の例を次に示します。
<p:Person
xmlns:p="https://contoso.com/People"
xmlns:v="https://contoso.com /Vehicles"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"https://contoso.com/People
https://contoso.com/schemas/people.xsd
https://contoso.com/schemas/Vehicles
https://contoso.com/schemas/vehicles.xsd
https://contoso.com/schemas/People
https://contoso.com/schemas/people.xsd">
<name>John</name>
<age>28</age>
<height>59</height>
<v:Vehicle>
<color>Red</color>
<wheels>4</wheels>
<seats>2</seats>
</v:Vehicle>
</p:Person>
参照
リファレンス
XML スキーマ (XSD) リファレンス
XML スキーマの要素
XML スキーマ インスタンスの属性
noNamespaceSchemaLocation