Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

30.9. XSD complexType Definities - sequence en all

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

30.9.1. Sequence

Een sequence geeft aan in welke volgorde childelementen moeten voorkomen.

Zo zal volgend schema afdwingen dat de childelementen ID en name van employee ook in deze volgorde voorkomen :
XML Schema Definition
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="employee">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="ID" type="xsd:string" />
        <xsd:element name="name" type="xsd:string" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
Volgend XML document is conform dit schema :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<employee>
  <ID>01</ID>
  <name>John</name>
</employee>
Niet conform dit schema is volgend XML document :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<employee>
  <name>John</name>
  <ID>01</ID>
</employee>
De volgorde van de childelementen name en ID is immers niet correct.

Vergeet ook niet dat deze childelementen vereist zijn (door de default minOccurs="1" maxOccurs="1" attributen van een element).  Hierdoor zou ook volgend XML document niet valideren volgens het hiervoor vermelde schema :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<employee>
  <ID>01</ID>
</employee>
Het childelement name is immers verplicht.

30.9.2. All

Indien de volgorde van de childelementen ID en name willekeurig mag zijn binnen de XML data, kunnen we gebruik maken van een <xsd:all> node.
XML Schema Definition
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="employee">
    <xsd:complexType>
      <xsd:all>
        <xsd:element name="ID" type="xsd:string" />
        <xsd:element name="name" type="xsd:string" />
      </xsd:all>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
De volgorde van de childelementen ID en name maakt nu niet meer uit.  Beide van volgende XML documenten zijn dan ook conform dit schema :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<employee>
  <ID>01</ID>
  <name>John</name>
</employee>
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<employee>
  <name>Jane</name>
  <ID>02</ID>
</employee>
Let echter op : alle childelementen moeten hier nog wel zijn opgenomen, enkel de volgorde is van geen belang.

Volgend XML document is dan ook niet conform dit schema :
XML Instantie
<?xml version="1.0" encoding="utf-8"?>
<employee>
  <ID>03</ID>
</employee>
Een aantal beperkingen voor het gebruik van all zijn van kracht.  De elementen bijvoorbeeld mogen enkel nul of één keer voorkomen.  minOccurs en maxOccurs zijn dus "0" of "1".

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.