最新のWeb開発のチュートリアル
 

XMLスキーマ属性要素


<完全なXMLスキーマリファレンス

定義と使用法

属性要素は、属性を定義します。

要素情報

  • Parent elements: attributeGroupの、スキーマ、complexTypeに、制限(both simpleContent and complexContent) 、拡張子(simpleContentにとcomplexContentを両方)

構文

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
any attributes
>

(annotation?,(simpleType?))

</attribute>

(?記号は要素が属性要素内に0回または1回発生する可能性があることを宣言します)

属性 説明
default 任意。 属性のデフォルト値を指定します。 デフォルトおよび固定属性が両方存在することはできません
fixed 任意。 属性の固定値を指定します。 デフォルトおよび固定属性が両方存在することはできません
form 任意。 属性の形式を指定します。 デフォルト値はの値であるattributeFormDefault属性を含む要素の属性。 次のいずれかに設定できます。
  • 「修飾」 -この属性は名前空間接頭辞と無コロン名で修飾する必要があることを示し(NCName)属性の
  • 修飾されていない-この属性は名前空間接頭辞で修飾する必要がないことを示していると照合されます(NCName) 属性
id 任意。 要素の一意のIDを指定します。
name 任意。 属性の名前を指定します。 名前とref属性が両方存在することはできません
ref 任意。 名前の属性への参照を指定します。 名前とref属性が両方存在することはできません。 参考文献が存在する場合、simpleType要素、形状、及び種類は存在することができません
type 任意。 組み込みデータ型または単純型を指定します。 typeコンテンツはsimpleType要素が含まれていない場合に属性が唯一の存在することができます
use 任意。 属性が使用される方法を指定します。 次の値のいずれかになります。
  • オプション-属性はオプションである(this is default)
  • 禁止 - 属性は使用できません。
  • 必要 - 属性は必須です
any attributes 任意。 非スキーマの名前空間を持つ任意の他の属性を指定します。

例1

<xs:attribute name="code">

<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>

</xs:attribute>

上記の例では、ことを示し"code"属性が制限されています。 唯一の許容値は、AからZまでの大文字の2です。

例2

複合型の中で、既存の属性の定義を使用して属性を宣言するには、使用ref属性を:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>

<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

例3

属性はデフォルト値または指定された固定値のいずれかを有することができます。 デフォルト値は、自動的に他の値が指定されていない属性に割り当てられます。 次の例では、デフォルト値は"EN"

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

固定値は、自動的に他の値が指定されていない属性に割り当てられます。 しかし、デフォルト値とは異なり、 あなたは固定よりも別の値を指定した場合、文書は無効とみなされます。 次の例では固定値である"EN"

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

例4

すべての属性はデフォルトではオプションです。 明示的に指定すること 属性はオプションであり、使用する"use"属性を:

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

必要な属性を作成するには:

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

<完全なXMLスキーマリファレンス