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.16. XSD Schemas Includen

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.

Het is mogelijke, bijvoorbeeld voor leesbaarheid, onderhoudbaarheid of toegankelijkheid, om het vocabulair of de grammatica van een bepaalde targetnamespace over verschillende XSD schema documenten te verspreiden.

Veronderstellende dat we beschikken over een XSD schema document als XSDSchema01.xsd :
XML Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:ms="mySchema"
            targetNamespace="mySchema">
  <xsd:complexType name="student">
    <xsd:sequence>
      <xsd:element name="name" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>
Dan kunnen we in een <xsd:include> element aan de hand van het schemaLocation attribuut aangeven op welke locatie het in te voegen gedeeltelijk schema zich bevindt :
XML Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="mySchema"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:ms="mySchema">
  <xsd:include schemaLocation="XMLSchema01.xsd"/>
  <xsd:element name="class">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="student" type="ms:student" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
Hier wordt op eerder relatieve wijze verwezen naar de locatie van het in-te-voegen schema document, maar dit kan ook op eerder absolute wijze gebeuren, door bijvoorbeeld een volledig filepath of URL van dit schema document te vermelden.
Het is de verantwoordelijkheid van de XML parser om het volledige schema samen te stellen.

Bemerk hoe beide schema documenten elementen introduceren die tot dezelfde targetnamespace behoren, in beide documenten staat er immers targetNamespace="mySchema".
Dit is noodzakelijk bij het gebruik van het <xsd:include> element.

Meerdere include elementen mogen worden opgenomen, maar deze elementen moeten dan altijd voorafgaan aan de definitie van de globale elementen in het schema.

Een XML instantie conform aan het hiervoor vermelde schema zou zijn :
XML Instantie
<?xml version="1.0" encoding="utf-8" ?>
<ms:class xmlns:ms="mySchema">
  <student>
    <name>John</name>
  </student>
  <student>
    <name>Jane</name>
  </student>
</ms:class>

Dit artikel is gepubliceerd op zondag 31 juli 2011 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.