XSD - Komplexe Typen

Komplexes Element ist ein XML-Element, das andere Elemente und / oder Attribute enthalten kann. Wir können ein komplexes Element auf zwei Arten erstellen -

  • Definieren Sie einen komplexen Typ und erstellen Sie dann ein Element mit type Attribut

  • Definieren Sie einen komplexen Typ direkt durch Benennen

Definieren Sie einen komplexen Typ und erstellen Sie dann ein Element mit dem Typattribut.

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

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

Definieren Sie einen komplexen Typ direkt durch Benennen.

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

Im Folgenden finden Sie eine Liste der von XSD unterstützten komplexen Typen.

S.No. Einfacher Typ & Beschreibung
1

Leer

Komplex Leeres komplexes Element kann nur Attribute, aber keinen Inhalt haben.

2

Nur Elemente

Komplexe Elemente vom Typ "Nur Elemente" können nur Elemente enthalten

3

Nur Text

Komplexes Nur-Text-Element kann nur Attribute und Text enthalten.

4

Gemischt

Gemischte komplexe Elemente können Elemente, Attribute und Text enthalten.

5

Indikatoren

Indikatoren steuern, wie Elemente in einem XML-Dokument organisiert werden sollen.

6

Das <any> -Element wird für Elemente verwendet, die nicht durch ein Schema definiert sind

7

Das Attribut <anyAttribute> wird für Attribute verwendet, die nicht durch ein Schema definiert sind.