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.6. XSD List simpleType Definities

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.

Soms valt het voor dat de waarde van een element of een attribuut kan bestaan uit een lijst van waardes.  Bijvoorbeeld een lijst van xsd:string, xsd:integer of bijvoorbeeld departement waardes.

Via een "list type" (<xsd:list> node) kan men opgeven wat het soort van waardes zijn (via het itemType attribuut).

Zo zal volgens volgend schema het departements element bestaan uit een opsomming van nul of meerdere departement waardes :
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="name" type="xsd:string" />
        <xsd:element name="departements">
          <xsd:simpleType>
            <xsd:list itemType="departement" />
          </xsd:simpleType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:simpleType name="departement">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="marketing" />
      <xsd:enumeration value="sales" />
      <xsd:enumeration value="accountancy" />
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>
Volgende XML documenten zijn conform dit schema :
XML Instantie
<?xml version="1.0" encoding="utf-8" ?>
<employee>
  <name>John</name>
  <departements>marketing accountancy</departements>
</employee>
XML Instantie
<?xml version="1.0" encoding="utf-8" ?>
<employee>
  <name>Jane</name>
  <departements>accountancy marketing sales</departements>
</employee>
XML Instantie
<?xml version="1.0" encoding="utf-8" ?>
<employee>
  <name>Rita</name>
  <departements>sales</departements>
</employee>
XML Instantie
<?xml version="1.0" encoding="utf-8" ?>
<employee>
  <name>Tony</name>
  <departements></departements>
</employee>
Zoals je ziet is het aantal en de volgorde van de waardes niet van belang en worden waardes in een "lijst" steeds gescheiden door een spatie.
Bemerk dat dit problematisch kan zijn indien je xsd:string waardes, die een spatie kunnen bevatten, in een lijst worden geplaatst.  Het validatie schema zou hier een foutief aantal elementen waarnemen.  Het valt dan ook af te raden in dergelijke gevallen te werken met list types.

Niet conform dit schema is volgend XML document :
XML Instantie
<?xml version="1.0" encoding="utf-8" ?>
<employee>
  <name>Paul</name>
  <departements>sales reception</departements>
</employee>
"reception" is immers geen geldige departement waarde.

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