XSD - 仅限复杂元素



仅限复杂元素只能包含其他元素。请参见以下示例 -

<student>	 
   <firstname>Vaneet</firstname>
   <lastname>Gupta</lastname>
   <nickname>Vinni</nickname>
   <marks>95</marks>
</student>

我们可以使用以下方法声明仅限复杂元素的元素 -

使用 type 属性

定义复杂类型元素“StudentType”,然后创建一个名为student 的类型为StudentType 的元素。

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

在上述示例中,我们使用了sequence。它用于维护元素在 XML 中出现的顺序。如果不维护顺序,则 XML 将无法验证。

单独使用 ComplexType

定义仅包含所需的属性元素的 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>
xsd_complex_types.htm
广告