xsdXS:複雜類型


介紹

xs:complexType提供實例文檔中XML元素內容的描述。 xs:complexType的定義可以全局進行,在這種情況下,它具有名稱並且可以在模式中重用,或者它可以在原位並且僅在聲明的上下文中使用。

參數

屬性描述
抽象設置為true時,複雜類型不能通過xsi:type直接在實例XML文檔中使用。但是,它可以用作元素定義的基本類型。 (默認為false) - 僅對根級別xs:complexType有效
限制可以在XML實例文檔中使用的類型(如果設置,則默認為xs:schemas blockDefault屬性的值,否則默認為空,值'#all'|列表('extension','list', '聯盟')由空格分隔)。
最後限制派生類型在模式中以某種方式使用此類型(默認為xs:schemas finalDefault屬性的值,如果設置,否則默認為空,值'#all'|或列表('extension','list) ','union')由空格分隔) - 僅對根級別xs:complexType有效
ID 架構項的id(可選)
表示實例XML元素可能包含混合內容(默認為false)
名稱 xs:complexType的名稱 - 僅對根級別xs:complexType有效
任何不允許在“ http://www.w3.org/2001/XMLSchema ”命名空間中包含任何其他屬性。
----------------- ------
分子 描述
----------------- ------
XS:註釋提供添加文檔和機器可讀數據的功能。
XS:簡單文本當xs:complexType派生自xs:simpleType時使用。
XS:複雜內容當xs:complexType派生自另一個xs:complexType時使用。
XS:組將xs:group中的元素添加到xs:complexType定義中
XS:所有將xs:all中的元素添加到xs:complexType定義中
XS:選擇將xs:choice中的元素添加到xs:complexType定義中
XS:序列將xs:sequence中的元素添加到xs:complexType定義中
XS:屬性將xs:屬性添加到xs:complexType定義
XS:attributeGroup 將xs:attributeGroup添加到xs:complexType定義
XS:anyAttribute 將xs:anyAttribute添加到xs:complexType定義

備註

從xs:complexType派生

當xs:complexType派生自另一個xs時:complexType可以通過擴展限制來實現

  • extension - 派生類型獲取基類型中定義的所有內容並添加到它。
  • 限制 - 派生類型僅從基本類型中選擇部分,僅允許其所需的部分,不能添加其他項目。

從xs:simpleType派生

當xs:complexType派生自xs時:simpleType可以通過擴展來實現 ,在這種情況下,它可以向結果類型添加屬性,但不能添加元素。

內容類型

從概念上講,xs:complexType包含簡單複雜的內容。如果xs:complexType派生自基於xs:typeSimpleType(xs:int,xs:string等)的類型,那麼它很簡單 。如果它派生自包含複雜內容的xs:complexType,那麼它本身就很複雜 (如果xs:complexType不是從類型派生的,那麼它也很複雜)。

XS:複雜類型 相關例子