XML en Excel

Pagina's in dit artikel

  1. Wat is XML
  2. Kenmerken van XML
  3. Opbouw van een XML bestand
  4. XML Schema's
  5. XML in Excel
  6. XML Validatie
  7. Conclusie

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:

  • Het soort informatie behorende bij een element (string, getal, etcetera);
  • Of een element verplicht is (voor moet komen);
  • Hoeveel keer een element herhaald kan worden.

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:


Commentaar van: Chistiaan Goddaer (13-6-2016 16:09:27) deeplink naar dit commentaar

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


Commentaar van: Jan Karel Pieterse (13-6-2016 17:41:47) deeplink naar dit commentaar

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: excelexperts.nl/forum/index.php.




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