XSD复杂类型-混合元素

复杂混合元素可以包含文本,属性和元素。 请参阅以下示例 -

<student rollno = "10010">
   Dear <firstname>Susen</firstname>    
   <lastname>Su</lastname>
   <nickname>Susen</nickname>
   <marks>95</marks>     
</student>

我们可以使用以下方式声明这样的复杂文本 -

1. 使用mixed = true
将属性mixed设置为true来定义complexTypemixed属性允许在元素之间包含字符数据。如下所示 -

<xs:complexType name = "StudentType" mixed = "true">
   <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:positiveInteger"/>
   </xs:sequence>
   <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
</xs:complexType>

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

2. 仅使用ComplexType
仅使用required属性来定义complexType元素。如下所示 -

<xs:element name = 'student'>
   <xs:complexType mixed = "true">
      <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>

上一篇: XSD复杂类型 下一篇: XSD字符串