XSD - 复杂混搭元素



复杂混搭元素既可以包含文本和属性,也可以包含元素。请参见以下示例 −

<student rollno = "393">
   Dear <firstname>Dinkar</firstname>    
   <lastname>Kad</lastname>
   <nickname>Dinkar</nickname>
   <marks>85</marks>	 
</student>

我们可以使用以下方式声明此类复杂文本 −

使用 mixed=true

使用 complexType 定义“mixed”属性,并将其设置为 true。“mixed”属性允许在元素之间提供字符数据。

<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' />

仅使用 ComplexType

仅使用所需属性元素来定义 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_complex_types.htm
广告