XSD- <schema>要素
<schema>要素は、すべてのXMLスキーマのルート要素です。
<schema>要素
<schema>要素は、すべてのXMLスキーマのルート要素です。
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
<schema>要素にはいくつかの属性が含まれる場合があります。スキーマ宣言は、多くの場合、次のようになります。
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
...
...
</xs:schema>
次のフラグメント:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
スキーマで使用される要素とデータ型が「http://www.w3.org/2001/XMLSchema」名前空間からのものであることを示します。また、「http://www.w3.org/2001/XMLSchema」名前空間に由来する要素とデータ型の前にxsを付ける必要があることも指定しています。
このフラグメント:
targetNamespace="https://www.w3schools.com"
このスキーマで定義された要素(注、to、from、heading、body。)が「https://www.w3schools.com」名前空間からのものであることを示します。
このフラグメント:
xmlns="https://www.w3schools.com"
デフォルトの名前空間が「https://www.w3schools.com」であることを示します。
このフラグメント:
elementFormDefault="qualified"
このスキーマで宣言されたXMLインスタンスドキュメントで使用される要素は、名前空間で修飾されている必要があることを示します。
XMLドキュメントでのスキーマの参照
このXMLドキュメントには、XMLスキーマへの参照があります。
<?xml version="1.0"?>
<note xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3schools.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
次のフラグメント:
xmlns="https://www.w3schools.com"
デフォルトの名前空間宣言を指定します。この宣言は、このXMLドキュメントで使用されるすべての要素が「https://www.w3schools.com」名前空間で宣言されていることをスキーマバリデーターに通知します。
XMLスキーマインスタンスの名前空間を利用できるようになったら、次のようにします。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
schemaLocation属性を使用できます。この属性には、スペースで区切られた2つの値があります。最初の値は、使用する名前空間です。2番目の値は、その名前空間に使用するXMLスキーマの場所です。
xsi:schemaLocation="https://www.w3schools.com note.xsd"