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

XMLスキーマのcomplexType要素


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

定義と使用法

complexType要素が複合型を定義します。 複合型の要素が他の要素および/または属性を含むXML要素です。

要素情報

  • Parent elements:要素は、再定義、スキーマ

構文

<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))

</complexType>

(?記号は要素が0回または1回発生する可能性があることを宣言し、*記号は、要素がcomplexType要素の内部に0回以上発生する可能性があることを宣言します)

属性 説明
id 任意。 要素の一意のIDを指定します。
name 任意。 要素の名前を指定します。
abstract 任意。 複合型は、インスタンス文書で使用できるかどうかを指定します。 Trueの場合、要素が直接この複合型を使用することはできませんが、この複合型から派生複合型を使用しなければならないことを示しています。 デフォルトはfalse
mixed 任意。 文字データは、このcomplexType要素の子要素の間に表示することが許可されているかどうかを指定します。 デフォルトはfalseです。 simpleContentを要素が子要素である場合、 mixed属性が許可されていません!
block 任意。 この複合型の代わりに使用されているから派生の指定された型を持つ複合型がないようにします。 この値は、#ALLまたは拡張または制限のサブセットであるリストを含めることができます。
  • 拡張 - 拡張によって派生複合型を防ぎます
  • 制限は - 制限によって派生複合型を防ぎます
  • #ALL - すべての派生複合型を防ぎます
final 任意。 この複合型要素の導出の指定されたタイプのを防ぎます。 #ALLまたは拡張または制限のサブセットであるリストを含めることができます。
  • 拡張 - 拡張によって派生を防ぎます
  • 制限 - 制限によって派生を防ぎます
  • #ALL - すべての派生を防止
any attributes 任意。 非スキーマの名前空間を持つ任意の他の属性を指定します。

例1

次の例では、名前の要素があり"note"複合型は次のとおりです。

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
  <xs:element name="to" type="xs:string"/>
  <xs:element name="from" type="xs:string"/>
  <xs:element name="heading" type="xs:string"/>
  <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

例2

次の例では、複合型、持っている"fullpersoninfo"別の複合型から派生し、 "personinfo" 3つの追加要素に継承された型を拡張することによって、 (address, city and country)

<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

上記の例では"employee"含まれている必要があります要素、シーケンスでは、以下の要素: "firstname""lastname""address""city" 、および"country"


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