homelinksBlijf op de hoogte van de recente aanpassingen op vbvoorbeelden!
Visual Basic 2010 Voorbeelden

visual basic 2010 broncode voorbeelden

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

29.6. XSD List simpleType Definities

Print Email Deel op Facebook Deel op Twitter

Dit artikel is gepubliceerd op zondag 31 juli 2011 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 zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.