ホーム HTML CSS XML JAVASCRIPT   PHP SQL MORE...   リファレンス 事例集    

XSD 属性

« 前章へ 次章へ »

すべての属性は、単純型で宣言します。


属性とは何でしょうか?

単純型要素は、属性を持つことができません。要素に属性があれば、複合型であると考えられます。 しかし、属性自身は常に単純型で宣言します。


属性の定義方法は ?

属性定義の構文は下記の通りです:

<xs:attribute name="xxx" type="yyy"/>

xxxは属性名で、yyyが属性のデータ型を指定します。

XMLスキーマには、組込みのデータ型が多数あります。 最も一般的な型は次の通りです:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

次は、属性を持つXML要素です:

<lastname lang="EN">Smith</lastname>

上記、XML要素に対する属性定義です:

<xs:attribute name="lang" type="xs:string"/>


属性のデフォルト値と固定値

属性には、デフォルト値または指定の固定値を持たせることができます。

値を指定しないと、自動的にデフォルト値が属性に割り当てられるようになります。

次の例では、デフォルト値は"EN"になります:

<xs:attribute name="lang" type="xs:string" default="EN"/>

また、固定値は属性へ自動的に割り当てられ、他の値を指定することができなくなります。

次の例では、固定値は"EN"になります:

<xs:attribute name="lang" type="xs:string" fixed="EN"/>


任意と必須属性

属性は、デフォルトでは任意です。属性指定を必須にするためには、"use" 属性を用います:

<xs:attribute name="lang" type="xs:string" use="required"/>


内容の制約

XML要素または属性が定義されているデータ型である場合は、 要素または属性の内容が制約されます。

"xs:date" 型であるXML要素に、"Hello World"のような文字列が含まれていれば、 妥当な要素とはいえません。

XML Schema によって、XML要素と属性へ独自の制約も追加できます。 この制約をファセットと呼びます。 次の章では、ファセットに関して更に説明します。


« 前章へ 次章へ »