XSD Combinatie Elementen
- Vorige Pagina XSD Begrenzing
- Volgende Pagina XSD Lege Elementen
Complex elementen bevatten andere elementen en/of eigenschappen.
Wat is een complex element?
Complex elementen zijn XML-elementen die andere elementen en/of eigenschappen bevatten.
Er zijn vier soorten complexe elementen:
- Lege elementen
- Elementen die andere elementen bevatten
- Elementen die alleen tekst bevatten
- Elementen die elementen en tekst bevatten
Opmerking:Deze elementen kunnen allemaal eigenschappen bevatten!
Voorbeelden van complexe elementen
Een complex element, "product", is leeg:
<product pid="1345"/>
Een complex element, "employee", bevat alleen andere elementen:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
Een complex element, "food", bevat alleen tekst:
<food type="dessert">Ice cream</food>
Een complex element, "description", bevat elementen en tekst:
<description> Het gebeurde op <date lang="norwegian">03.03.99</date> .... </description>
Hoe definieert men een complex element?
Bekijk dit complexe XML-element, "employee", dat alleen andere elementen bevat:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
In XML Schema hebben we twee manieren om complexe elementen te definiëren:
1. Door dit element te noemen, kunt u het "employee"-element direct declareren, zoals hieronder:
<xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Als u de hierboven beschreven methode gebruikt, kan alleen "employee" het voorgeschreven complexe type gebruiken. Let op dat de subelementen, "firstname" en "lastname", omgeven zijn door de indicator <sequence>. Dit betekent dat de subelementen moeten worden weergegeven in de volgorde waarin ze zijn gedeclareerd. U zult vinden in XSD-indicatoren Dit gedeelte leert u meer over indicatoren.
2. Het "employee"-element kan het type-attribuut gebruiken, dat de naam van het te gebruiken complexe type verwijst:
<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Als u de hierboven beschreven methode gebruikt, kunnen meerdere elementen dezelfde complexe type gebruiken, zoals hieronder:
<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
U kunt ook op een bestaande complexe elementen bouwen, op basis van een bepaald complex element, en vervolgens enkele elementen toevoegen, zoals hieronder:
<xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
- Vorige Pagina XSD Begrenzing
- Volgende Pagina XSD Lege Elementen