XSD複雜型別-純元素

2019-10-16 23:17:54

複雜型別純元素只包含其他元素。 請參閱以下範例 -

<student>     
   <firstname>Machine</firstname>
   <lastname>Su</lastname>
   <nickname>Machine</nickname>
   <marks>99</marks>
</student>

我們可以使用以下方法宣告XSD複雜型別-純元素 -

1. 使用type屬性

定義複雜型別元素StudentType,然後建立一個StudentType型別的student元素。

<xs:complexType name = "StudentType">
   <xs:sequence>
      <xs:element name = "firstname" type = "xs:string"/>
      <xs:element name = "lastname" type = "xs:string"/>
      <xs:element name = "nickname" type = "xs:string"/>
      <xs:element name = "marks" type = "xs:string"/>
   </xs:sequence>
</xs:complexType>

<xs:element name = 'student' type = 'StudentType' />

在上面的例子中,我們使用了序列。 它用於維護元素在XML中的存在順序。 如果未維護順序,則不會驗證XML。

2. 僅使用ComplexType

僅使用required屬性定義complexType元素。

<xs:element name = 'student'>
   <xs:complexType>
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:string"/>
      </xs:sequence>
      <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>              
</xs:element>