Most Valuable Professional


View Jan Karel Pieterse's profile on LinkedIn subscribe to rss feed
Subscribe in a reader

Subscribe to our mailing list

* indicates required

Bestand crasht Excel!!

Red mijn werkmap!
De beste tool voor Excel bestanden met problemen.

Cursussen

Excel VBA Masterclass (Engels)
Excel VBA voor Financials

Third party tools

Speed up your file

FastExcel
The best tool to optimise your Excel model!

Repair your file

Stellar Phoenix Excel Repair
Best tool to repair corrupt Excel sheets and objects
Home > Nederlandse site > Artikelen > XML en Excel 2003 > XML Schema's
This page in English

XML en Excel

XML Schema's

Bij een XML bestand kan een schema definitie bestand (XSD) horen. Hier in wordt de structuur van een XML bestand vastgelegd. Tevens kan onder meer in zo’n schema worden aangegeven:

Om aan een XML bestand een schema te koppelen, moet in het XML bestand een verwijzing naar dat schema opgenomen worden. Dit kan worden gedaan als een attribuut van het root element:

<Bedrijven xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Schema.xsd">

De vet gedrukte tekst is de verwijzing naar het schema Schema.xsd, welke in dit geval op dezelfde locatie (map) moet staan als het XML bestand zelf. Zonder diep in te gaan op de precieze syntax van een XSD schema wordt hier een mogelijk schema getoond voor het bestand Test1.XML:

Listing 1: Schema.xsd

<?xml version="1.0" encoding="UTF-16" ?>
- <!--  XmlMap.DataBinding.SourceUrl: C:\Data\OfficeMagazine\XML\test2.xml  -->
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:element name="Bedrijven">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
- <xsd:element minOccurs="0" name="Bedrijf">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
  <xsd:element minOccurs="0" type="xsd:string" name="BedrijfsNaam" />
- <xsd:element minOccurs="0" maxOccurs="unbounded" name="Medewerker">
- <xsd:complexType>
- <xsd:sequence minOccurs="0">
  <xsd:element minOccurs="1" type="xsd:string" name="Code" />
  <xsd:element minOccurs="1" type="xsd:string" name="Naam" />
  <xsd:element minOccurs="0" type="xsd:string" name="Straat" />
  <xsd:element minOccurs="0" type="xsd:string" name="Huisnr" />
  <xsd:element minOccurs="0" type="xsd:string" name="PostCode" />
  <xsd:element minOccurs="0" type="xsd:string" name="Woonplaats" />
  <xsd:element minOccurs="0" type="xsd:string" name="Telefoon" />
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:schema>

Een dergelijk schema is duidelijk minder gemakkelijk te lezen dan het bijbehorende XML bestand. Meer informatie over schema’s is hier te vinden: http://www.w3.org/TR/xmlschema-0/.

Extensible Stylesheets

Middels Extensible Stylesheets (xsl bestanden) kan een xml bestand bijvoorbeeld van formattering worden voorzien, zodat een beter leesbaar geheel wordt verkregen. Het voert te ver om de werking van stylesheets hier te bespreken. Een uitvoerige verhandeling hierover is hier te vinden: http://www.w3.org/Style/XSL/



Vragen, suggesties en opmerkingen

Al het commentaar over deze pagina:


Comment by: Chistiaan Goddaer (6/13/2016 4:09:27 PM)

Beste, Ik heb een XML toepassing waarvan de brongegevens moet worden uitgebreid, er moet een veld bijkomen dat vroeger niet aanwezig was. Om de achterliggende excels die de basisgegevens van de XML gebruiken niet opnieuw te moeten invoeren zoek ik een middel om de brongegevens aan te passen. Hoe doe ik dat?
Met dank bij voorbaat
Christiaan

 


Comment by: Jan Karel Pieterse (6/13/2016 5:41:47 PM)

Hoi Christiaan,

Wat wil je exact aanpassen, het xml bronbestand of de koppeling tussen Excel en je nieuwe bronbestand (het toevoegen van een nieuw veld aan de bestaande xml koppeling in Excel)?

 


Heeft u vragen, suggesties of opmerkingen? Gebruik dan dit formulier.

Mocht uw vraag niet direct relevant zijn voor deze pagina, maar een algemene Excel vraag betreffen, dan adviseer ik om deze hier te stellen: www.eileenslounge.com.

Uw naam (verplicht veld):

Uw e-mail adres (Niet verplicht, dit adres wordt niet getoond)

Uw verzoek of commentaar:

Als u VBA code in uw commentaar plaatst, gebruik dan [VB] tags: [VB]Uw code[/VB].