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

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.

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 maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.