次の方法で共有


element

要素を宣言します。

<element
  abstract = Boolean : false
  block = (#all | List of (extension | restriction | substitution))
  default = string
  final = (#all | List of (extension | restriction))
  fixed = string
  form = (qualified | unqualified)
  id = ID
  maxOccurs = (nonNegativeInteger | unbounded) : 1
  minOccurs = nonNegativeInteger : 1
  name = NCName
  nillable = Boolean : false
  ref = QName
  substitutionGroup = QName
  type = QName
  {any attributes with non-schema Namespace}...>
Content: (annotation?, ((simpleType | complexType)?, (unique | key | 
keyref)*))
</element>

属性

  • abstract
    要素をインスタンス ドキュメント内で使用できるかどうかを示すインジケータ。値が true の場合は、要素をインスタンス ドキュメントに含めることはできません。代わりに、この要素の位置に、この要素の限定名 (QName) を含む substitutionGroup 属性を持つ他の要素を指定する必要があります。複数の要素から、それぞれの要素の substitutionGroup 属性内でこの要素を参照できます。

    既定値は false です。

    省略可能です。

  • block
    派生の種類。block 属性は、指定した種類の派生を持つ要素がこの要素の代わりに使用されないようにします。値として、#all か、または extensionrestrictionsubstitution のいずれかのサブセットであるリストを設定できます。

    extension 拡張によって派生した要素が、この要素の代わりに使用されないようにします。
    restriction 制限によって派生した要素が、この要素の代わりに使用されないようにします。
    substitution 置換によって派生した要素が、この要素の代わりに使用されないようにします。
    #all すべての派生要素が、この要素の代わりに使用されないようにします。

    省略可能です。

  • default
    要素のコンテンツが単純型かまたは textOnly の場合の要素の既定値。

    fixed 属性と default 属性は、同時には指定できません。

    要素が単純型を含む場合は、この値はその型の有効な値であることが必要です。

    省略可能です。

  • substitutionGroup
    この要素の代替として使用できる要素の名前。この要素は、同じ型を持つか、または指定された要素の型から派生した型を持つ必要があります。

    substitutionGroup 属性は、参照元の要素がグローバル レベルで宣言されている場合 (親が schema 要素の場合) は任意の要素で使用できます。

    値は、QName である必要があります。

    省略可能です。

  • final
    派生の種類。final 属性は、element 要素の final 属性の既定値を設定します。値として、#all か、あるいは extension または restriction のサブセットであるリストを設定できます。

    extension 拡張によって派生した要素が、この要素の代わりに使用されないようにします。
    restriction 制限によって派生した要素が、この要素の代わりに使用されないようにします。
    #all すべての派生要素が、この要素の代わりに使用されないようにします。

    コンテナ要素が schema 要素でない場合は禁止されます。

    省略可能です。

  • fixed
    要素の事前設定の固定値。ただし、この要素のコンテンツが単純型かまたは textOnly の場合です。

    fixed 属性と default 属性は、同時には指定できません。

    省略可能です。

  • form
    要素の形式。既定値は、form 属性を含んでいる schema 要素の elementFormDefault 属性の値です。form の値は、文字列 "qualified" または "unqualified" のいずれかです。

    値が unqualified の場合は、この要素を名前空間プリフィックスで限定する必要はありません。

    値が qualified の場合は、この要素を名前空間プリフィックスで限定する必要があります。

    省略可能です。

  • id
    この要素の ID。id の値は ID 型である必要があり、この要素を含んでいるドキュメント内で一意である必要があります。

    省略可能です。

  • maxOccurs
    コンテナ要素内で指定できるこの要素の最大出現回数。値は 0 以上の整数です。最大数で上限を設定しない場合は、文字列 "unbounded" を使用します。

    コンテナ要素が schema 要素である場合は禁止されます。

    省略可能です。

  • minOccurs
    コンテナ要素内で指定できるこの要素の最小出現回数。値は 0 以上の整数です。この要素が省略可能であることを指定するには、この属性を 0 に設定します。

    コンテナ要素が schema 要素である場合は禁止されます。

    省略可能です。

  • name
    要素の名前。この名前は、『XML Namespaces』の仕様に定義されているとおり、コロンを含まない名前 (NCName) である必要があります。name 属性と ref 属性は、同時には使用できません。

    コンテナ要素が schema 要素である場合に必要になります。

    省略可能です。

  • nillable
    要素に明示的に null 値を割り当てることができるかどうかを示すインジケータ。は、要素の属性ではなく要素のコンテンツに適用されます。既定値は false です。

    nillabletrue の場合は、要素のインスタンスで nil 属性を true に設定できます。nil 属性は、インスタンスの XML スキーマ名前空間の一部として定義されます。

    たとえば、次のコード片は nillabletrue に設定された単一要素を定義しています。

    <xs:element name="myDate" type="xs:date" nillable="true"/>
    

    その要素を使用し、明示的に null 値を指定する (nil 属性を true に設定する) コード片を次に示します。

    <myDate xsi:nil="true"></myDate>
    

    省略可能です。

  • ref
    このスキーマ (または指定した名前空間によって示される他のスキーマ) に宣言されている要素の名前。ref 値は QName である必要があります。ref には、名前空間プリフィックスを含めることができます。

    コンテナ要素が schema 要素である場合は禁止されます。

    ref 属性を指定した場合は、complexTypesimpleTypekeykeyrefunique の各要素と、nillabledefaultfixedformblocktype の各属性は指定できません。

    <xs:element ref="comment"/>
    

    省略可能です。

  • type
    組み込みデータ型の名前か、またはこのスキーマ (または指定した名前空間によって示される他のスキーマ) に定義されている simpleType 要素または complexType 要素の名前。指定する値は、参照先の simpleType 要素または complexType 要素の name 属性と対応している必要があります。

    type 属性 ref 属性は、同時には指定できません。

    既存の単純型定義または複合型定義を使用して要素を宣言するには、type 属性を使用して既存の型を指定します。

    <xs:element name="name" type="xs:string"/>
    

    省略可能です。

要素情報

出現回数 スキーマ内に定義される要素の数。
親要素 schemachoiceallsequence
コンテンツ simpleTypecomplexTypekeykeyrefunique

解説

要素宣言では、型定義 (組み込みデータ型、単純型、または複合型) に名前を関連付けます。

要素宣言は、schema 要素 (グローバル スコープを持つ) の子要素として記述するか、または複合型定義内に記述できます。複合型内では、要素宣言は、ローカル宣言として記述するか、またはグローバル スコープを持つ要素への参照として記述できます。

グローバル要素宣言では、複合型を直接定義する必要があります。

simpleType 要素または complexType 要素は、ref 属性と type 属性の両方が存在しない場合にだけ子要素として宣言できます。

さらに、choiceallsequencecomplexType の各要素内では、要素を参照によって宣言できます。

他の要素の代替属性として使用できる 2 つの要素を宣言する例を次に示します。

<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" type="xs:string"
    substitutionGroup="dog" />
<xs:element name="brownDog" type="xs:string"
    substitutionGroup ="dog" />

<xs:element name="pets">
  <xs:complexType>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="cat"/>
      <xs:element ref="dog"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

参照

XML スキーマ リファレンス (XSD) | XML スキーマの要素

詳細については、http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-element で、W3C『XML Schema Part 1: Structures Recommendation』を参照してください。