1. ホーム
  2. Web制作
  3. XML/XSLT

XMLプログラミングにおけるスキーマ定義XSDの説明

2022-01-25 19:40:58

XMLスキーマは、しばしばXML Schema Definition(XSD)と呼ばれる。xml スキーマは、要素、属性、データ型を定義する。スキーマ要素は名前空間もサポートしています。これは、データベース内のデータを記述するデータベーススキーマに似ています。

構文
XML文書の中で、次のようにスキーマを宣言する必要があります。

XML/HTMLコード 内容をクリップボードにコピーする
  1. <スパン < xs:schema <スパン xmlns:xs = <スパン "http://www.w3.org/2001/XMLSchema"。 <スパン >

次の例は、このパターンの使用方法を示しています。

XML/HTMLコード 内容をクリップボードにコピーする
  1. <? xml バージョン = "1.0"。 エンコーディング = "UTF-8"。 ?
  2. <スパン <スパン <

    xs:schema <スパン xmlns:xs = <スパン "http://www.w3.org/2001/XMLSchema"。 <スパン >
  3. <スパン <スパン <

    xs:要素 名前 = <スパン contact" > <スパン
  4. <スパン <スパン <

    xs:complexType >
  5. <スパン <スパン <

    xs:シーケンス >
  6. <スパン <スパン <

    xs:要素 名前 = <スパン "name"。 <スパン タイプ = "xs:string"。 />
  7. <スパン <スパン <

    xs:要素 名前 = "company"。 タイプ = "xs:string"。 />
  8. <スパン <スパン <

    xs:要素 名前 = <スパン "phone"。 <スパン タイプ = xs:int"。 />
  9. <スパン <スパン </ xs:シーケンス >
  10. <スパン <スパン </ xs:complexType >
  11. <スパン <スパン </ xs:要素 >
  12. <スパン <スパン </ xs:schema >

XMLスキーマの基本的な考え方は、XML文書に許容される法的形式を記述することである。

要素
XML要素の章で見たように、要素はXML文書の構成要素です。XSDの中では、要素は次のように定義されます。

XML/HTMLコード 内容をクリップボードにコピーする
  1. <スパン < xs:要素 名前 = <スパン "x"。 タイプ = <スパン "y"。 <スパン />

タイプを定義する
XMLスキーマの要素を次のように定義することができる。

単純型:単純型の要素は、テキストの文脈でのみ使用することができます。定義済みの単純型には、以下のようなものがあります。xs:integer, xs:boolean, xs:string, xs:dataなどである. undefined undefined

  • <スパン <スパン </ xs:要素 >
  • そして、この型は次の例で使われます。

    XML/HTMLコード 内容をクリップボードにコピーする
    1. <スパン < xs:要素 名前 = <スパン "アドレス1"。 > <スパン
    2. <スパン <スパン <

      xs:complexType >
    3. <スパン <スパン <

      xs:シーケンス >
    4. <スパン <スパン <

      xs:要素 名前 = <スパン "アドレス" <スパン タイプ = "AddressType"。 />
    5. <スパン <スパン <

      xs:要素 名前 = <スパン "phone1"。 タイプ = xs:int"。 />
    6. <スパン <スパン </ xs:シーケンス >
    7. <スパン <スパン </ xs:complexType >
    8. <スパン <スパン </ xs:要素 >
    9. <スパン <スパン <

      xs:要素 名前 = <スパン アドレス2" >
    10. <スパン <スパン <

      xs:complexType >
    11. <スパン <スパン <

      xs:シーケンス >
    12. <スパン <スパン <

      xs:要素 名前 = <スパン "アドレス" <スパン タイプ = "AddressType"。 />
    13. <スパン <スパン <

      xs:要素 名前 = <スパン "phone2"。 タイプ = xs:int"。 />
    14. <スパン <スパン </ xs:シーケンス >
    15. <スパン <スパン </ xs:complexType >
    16. <スパン <スパン </ xs:要素 >

    名前とコンパチを2回(Address1とAddress2)定義する必要がなくなり、別々の定義ができるようになりました。これにより、例えば、住所に "Postcode"要素を追加する場合、一箇所で追加すればよく、メンテナンスが非常に容易になりました。

    属性
    XSDの属性は、要素に関する追加情報を提供します。名前とタイプ属性(プロパティ)を持つ属性(アトリビュート)を以下に示す。

    XML/HTMLコード 内容をクリップボードにコピーする
    1. <スパン < xs:属性 名前 = <スパン "x"。 タイプ = <スパン "y"。 <スパン />