すべての属性は単純型として宣言されています。
属性とは何ですか?
単純な要素は、属性を持つことはできません。 要素が属性を持っている場合、複合型であると考えられています。 しかし、属性自体は常に単純型として宣言されています。
属性を定義する方法?
属性を定義するための構文は次のとおりです。
<xs:attribute name="xxx" type="yyy"/>
xxxは属性の名前で、yyyが属性のデータ型を指定します。
XMLスキーマは、組み込みデータ型をたくさん持っています。 最も一般的なタイプは次のとおりです。
- XS:文字列
- XS:小数点
- XS:整数
- XS:ブール
- XS:日付
- XS:時間
例
ここでは属性を持つXML要素は次のとおりです。
<lastname lang="EN">Smith</lastname>
そして、ここでcorresponding属性の定義は:
<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要素または属性が定義されたデータ型を持っている場合、それは要素のまたは属性の内容に制限を置きます。
XML要素のタイプがある場合は"xs:date"などの文字列が含まれ"Hello World" 、要素が検証されません。
XMLスキーマでは、また、あなたのXML要素と属性に独自の制限を追加することができます。 これらの制限は、ファセットと呼ばれています。 あなたは、次の章でファセットについての詳細を読むことができます。