XML voor beginners

U hebt mogelijk gehoord van Extensible Markup Language (XML) en dat er vele redenen zijn waarom uw organisatie dit zou moeten gebruiken. Maar wat is XML precies? In dit artikel worden de basisbeginselen van XML uitgelegd: wat het is en hoe het werkt.

In dit artikel

Een korte beschrijving van opmaak, codeopmaak en codes

Wanneer is iets XML?

Info over juist opgemaakte gegevens

Een korte beschrijving van schema's

Een korte beschrijving van transformaties

Een beknopt overzicht van XML in het Microsoft Office-systeem

Een korte beschrijving van opmaak en codes

Voor XML is het belangrijk dat u weet hoe u gegevens moet opmaken. Mensen maken al eeuwen documenten en gebruiken hierbij opmaak. Docenten brengen bijvoorbeeld opmerkingen aan in scripties van studenten. Studenten moeten alinea's verplaatsen, duidelijke zinnen maken, spelfouten corrigeren, enzovoort. Door een document op te maken, definiëren we de structuur, betekenis en weergave van de informatie in het document. Als u ooit de functie Wijzigingen bijhouden in Microsoft Office Word hebt gebruikt, hebt u gebruikgemaakt van computeropmaak.

Op de computer is opmaak uitgegroeid tot codeopmaak. Bij codeopmaak worden codes (soms tokens genoemd) gebruikt om de structuur, de weergave en, in het geval van XML, de betekenis van gegevens te definiëren.

De HTML-code in dit artikel is een goed voorbeeld van computeropmaak. Als u hierin bladert (klik in Microsoft Internet Explorer met de rechtermuisknop op de pagina en klik op Bron weergeven), ziet u een combinatie van leesbare tekst en HTML-codes (Hypertext Markup Language), zoals <p> en <h2>. Codes in HTML- en XML-documenten zijn eenvoudig te herkennen omdat deze tussen punthaken staan. In de broncode van dit artikel worden de HTML-codes voor verschillende taken gebruikt, zoals het aanduiden van het begin en einde van elke alinea (<p> ... </p>) en de locatie van de afbeeldingen.


Wanneer is iets XML?

HTML- en XML-documenten bevatten gegevens die tussen codes staan, maar dit is de enige overeenkomst tussen de twee talen. In HTML wordt met de codes het uiterlijk van de gegevens gedefinieerd: hier moeten de koppen, daar begint de alinea enzovoort. In XML worden met de codes de structuur en betekenis van uw gegevens gedefinieerd.

Wanneer u de structuur en betekenis van uw gegevens beschrijft, kunt u deze gegevens op verschillende manieren opnieuw gebruiken. Als u bijvoorbeeld een blok verkoopgegevens hebt waarin elk item in het blok duidelijk is geïdentificeerd, kunt u alleen de benodigde items laden in een verkooprapport en kunt u andere items laden in een boekhouddatabase. Anders gezegd: u kunt een systeem gebruiken voor het genereren van de gegevens en deze opmaken met XML-codes en deze gegevens vervolgens in andere systemen verwerken, ongeacht het hardwareplatform of besturingssysteem. Vanwege deze portabiliteit is XML een van de populairste technologieën voor het uitwisselen van gegevens geworden.

Let hierbij op het volgende:

  • U kunt geen HTML gebruiken in plaats van XML. U kunt uw XML-gegevens echter wel tussen HTML-codes plaatsen en deze weergeven op een webpagina.

  • HTML is beperkt tot een vooraf gedefinieerde set codes die wordt gedeeld door alle gebruikers.

  • Met XML kunt u elke code maken die u nodig hebt om uw gegevens en de structuur hiervan te beschrijven. U wilt bijvoorbeeld informatie over huisdieren opslaan en delen. U kunt de volgende XML-code maken:

    <?xml version="1.0"?>
    <CAT>
    <NAME>Izzy</NAME>
    <BREED>Siamese</BREED>
    <AGE>6</AGE>
    <ALTERED>yes</ALTERED>
    <DECLAWED>no</DECLAWED>
    <LICENSE>Izz138bod</LICENSE>
    <OWNER>Colin Wilcox</OWNER>
    </CAT>

U kunt aan XML-codes precies zien met welke typen gegevens u te maken hebt. U weet bijvoorbeeld dat dit gegevens zijn over een kat en u kunt hierdoor eenvoudig de naam, leeftijd enzovoort van de kat vinden. XML is 'uitbreidbaar' omdat u hiermee codes kunt maken waarmee vrijwel elke gegevensstructuur wordt gedefinieerd.

Maar de codes in dit codevoorbeeld zijn niet hetzelfde als de codes in een HTML-bestand. Als u deze XML-structuur bijvoorbeeld in een HTML-bestand plakt en het bestand in uw browser bekijkt, ziet dit er ongeveer als volgt uit:

Izzy Siamese 6 yes no Izz138bod Colin Wilcox

In de browser worden de XML-codes genegeerd en worden alleen de gegevens weergegeven.


Info over juist opgemaakte gegevens

Op de IT-afdeling hebben ze het wel eens over juist opgemaakte XML. Een juist opgemaakt XML-bestand voldoet aan een set zeer strenge regels voor XML. Als een bestand niet aan deze regels voldoet, werkt XML niet meer. In het vorige codevoorbeeld heeft elke begincode bijvoorbeeld een eindcode. Het voorbeeld voldoet daarom aan de regels voor juiste opmaak. Als u een code verwijdert en dit bestand wilt openen in een van de Office-programma's, ziet u een foutbericht en kunt u het bestand niet meer gebruiken in het programma.

Het is niet nodig om de regels voor het maken van juist opgemaakte XML precies te kennen (hoewel deze eenvoudig te begrijpen zijn), maar u moet wel weten dat u XML-gegevens alleen kunt delen tussen programma's en systemen als deze gegevens juist zijn opgemaakt. Als u een XML-bestand niet kunt openen, is het bestand niet juist opgemaakt.

XML is bovendien platformonafhankelijk. Dit betekent dat uw XML-gegevens kunnen worden gelezen en verwerkt door elk programma dat is ontworpen voor het gebruik van XML, ongeacht de hardware of het besturingssysteem. Met de juiste XML-codes kunt u bijvoorbeeld een bureaubladprogramma gebruiken om gegevens van een mainframecomputer te openen en hiermee te werken. En het maakt niet uit wie XML-gegevens maakt: u kunt met dezelfde gegevens werken in verschillende Office-programma's. Vanwege de portabiliteit van XML is dit een van de populairste technologieën geworden voor het uitwisselen van gegevens tussen databases en gebruikersdesktops.

xml gebruikt door andere programma's

Naast de gecodeerde, juist opgemaakte gegevens worden in XML-systemen meestal twee extra onderdelen gebruikt: schema's en transformaties. In de volgende secties wordt uitgelegd hoe deze extra onderdelen werken.


Een korte beschrijving van schema's

Laat u niet afschrikken door de term 'schema'. Een schema is een XML-bestand met de regels voor wat wel en niet mag voorkomen in een XML-gegevensbestand. Schemabestanden hebben meestal de bestandsextensie .xsd, terwijl voor XML-gegevensbestanden de extensie .xml wordt gebruikt.

Via schema's kunnen programma's gegevens valideren. Hiermee kunnen gegevens zo worden gestructureerd dat deze zinvol zijn voor de maker en andere gebruikers. Als een gebruiker bijvoorbeeld ongeldige gegevens invoert, zoals tekst in een datumveld, kan de gebruiker worden gevraagd om de juiste gegevens in te voeren. Zolang de gegevens in een XML-bestand voldoen aan de regels van een bepaald schema, kan dit schema door elk programma dat XML ondersteunt, worden gebruikt om de gegevens te lezen, te interpreteren en te verwerken. In de volgende afbeelding ziet u bijvoorbeeld hoe in Excel de <CAT>-gegevens kunnen worden gevalideerd aan de hand van het CAT-schema.

Toepassingen kunnen XML-gegevens delen met behulp van schema’s.

Schema's zijn soms complex. Daarom wordt het maken van schema's niet verder uitgelegd in dit artikel. (Bovendien hebt u waarschijnlijk een IT-afdeling die dit wel weet.) Het is echter wel handig om te weten hoe schema's eruitzien. In het volgende schema worden de regels voor de codeset <CAT> ... </CAT> gedefinieerd.

<xsd:element name="CAT">  
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NAME" type="xsd:string"/>
<xsd:element name="BREED" type="xsd:string"/>
<xsd:element name="AGE" type="xsd:positiveInteger"/>
<xsd:element name="ALTERED" type="xsd:boolean"/>
<xsd:element name="DECLAWED" type="xsd:boolean"/>
<xsd:element name="LICENSE" type="xsd:string"/>
<xsd:element name="OWNER" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

U hoeft niet alles te begrijpen in het voorbeeld. Maar onthoud deze feiten:

  • De regelitems in het voorbeeldschema worden declaraties genoemd. Als u extra informatie over een dier nodig hebt, zoals de kleur of tekening, is de kans groot dat uw IT-afdeling een declaratie toevoegt aan het schema. U kunt het XML-systeem aanpassen aan de veranderende bedrijfsbehoeften.

  • Met declaraties hebt u heel veel controle over de gegevensstructuur. De declaratie <xsd:sequence> betekent bijvoorbeeld dat de codes, zoals <NAME> en <BREED>, moeten voorkomen in de volgorde waarin ze hierboven zijn aangegeven. Met declaraties kunnen ook de typen gegevens worden bepaald die gebruikers kunnen invoeren. In het bovenstaande schema is bijvoorbeeld een positief getal vereist voor de leeftijd van de kat en zijn Booleaanse waarden (Waar of Onwaar) vereist voor de codes GECASTREERD en ONTKLAUWD.

  • Wanneer de gegevens in een XML-bestand voldoen aan de regels van een schema, zijn deze gegevens geldig. Het controleren van een XML-gegevensbestand aan de hand van een schema wordt (logischerwijs) validatie genoemd. Het grote voordeel van het gebruik van schema's is dat hiermee beschadigde gegevens worden voorkomen. Daarnaast kunt u hiermee eenvoudig beschadigde gegevens vinden, omdat XML stopt zodra een probleem wordt aangetroffen.


Een korte beschrijving van transformaties

Zoals eerder is gezegd, beschikt u met XML ook over krachtige manieren voor het gebruik of hergebruik van gegevens. Het mechanisme voor het hergebruik van gegevens wordt een Extensible Stylesheet Language Transformation (XSLT) genoemd of kortweg een transformatie.

U (of uw IT-afdeling) kunt transformaties ook gebruiken om gegevens uit te wisselen tussen back-endsystemen, zoals databases. In Database A worden bijvoorbeeld de verkoopgegevens opgeslagen in een tabelstructuur die goed werkt voor de verkoopafdeling. In Database B worden de inkomsten- en uitgavengegevens opgeslagen in een tabelstructuur die is afgestemd op de boekhoudafdeling. Voor Database B kan een transformatie worden gebruikt om gegevens uit A te accepteren en deze gegevens naar de juiste tabellen te schrijven.

De combinatie van gegevensbestand, schema en transformatie vormt samen een XML-basissysteem. In de volgende afbeelding ziet u hoe dergelijke systemen meestal werken. Het bestand wordt gevalideerd op basis van het schema en wordt vervolgens op verschillende bruikbare manieren weergegeven via een transformatie. In dit geval worden de gegevens via de transformatie weergegeven in een tabel op een webpagina.

Een basis-XML-bestandsstructuur met een schema en een transformatie

In het volgende codevoorbeeld ziet u een manier waarop u een transformatie kunt maken. Hiermee worden de <CAT>-gegevens geladen in een tabel op een webpagina. De bedoeling van het voorbeeld is niet om te laten zien hoe u een transformatie maakt, maar om te laten zien hoe een transformatie eruit kan zien.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<TABLE>
<TR>
<TH>Name</TH>
<TH>Breed</TH>
<TH>Age</TH>
<TH>Altered</TH>
<TH>Declawed</TH>
<TH>License</TH>
<TH>Owner</TH>
</TR>
<xsl:for-each select="CAT">
<TR ALIGN="LEFT" VALIGN="TOP">
<TD>
<xsl:value-of select="NAME"/>
</TD>
<TD>
<xsl:value-of select="BREED"/>
</TD>
<TD>
<xsl:value-of select="AGE"/>
</TD>
<TD>
<xsl:value-of select="ALTERED"/>
</TD>
<TD>
<xsl:value-of select="DECLAWED"/>
</TD>
<TD>
<xsl:value-of select="LICENSE"/>
</TD>
<TD>
<xsl:value-of select="OWNER"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>

In dit voorbeeld ziet u hoe een type transformatie eruit kan zien wanneer het is gecodeerd, maar onthoud dat u kunt beschrijven welke gegevens u nodig hebt in normale taal. U kunt bijvoorbeeld bij uw IT-afdeling aangeven dat u de verkoopgegevens voor bepaalde regio's voor de afgelopen twee jaar nodig hebt en dat deze op een specifieke manier moeten worden weergegeven. Uw IT-afdeling kan dan een transformatie schrijven (of wijzigen) om deze taak uit te voeren.

En wat nog handiger is, is dat Microsoft en steeds meer andere leveranciers transformaties maken voor allerlei soorten taken. In de toekomst kunt u waarschijnlijk een transformatie downloaden die voldoet aan uw behoeften of die u kunt aanpassen aan uw doeleinden. Dit betekent dat het gebruik van XML steeds minder tijd zal kosten.


Een beknopt overzicht van XML in het Microsoft Office-systeem

De professionele edities van Office bieden uitgebreide XML-ondersteuning. Vanaf het 2007 Microsoft Office-systeem worden in Microsoft Office XML-bestandsindelingen gebruikt, zoals .docx, .xlsx en .pptx. Omdat met XML gegevens worden opgeslagen in een tekstindeling in plaats van in een eigen binaire indeling, kunnen klanten hun eigen schema's definiëren en uw gegevens op meer manieren gebruiken, zonder dat ze royalty's hoeven te betalen. Zie Open XML-indelingen en bestandsnaamextensies voor meer informatie over de nieuwe indelingen. Andere voordelen:

  • Kleinere bestanden. Met de nieuwe indeling worden ZIP-technologieën en andere compressietechnologieën gebruikt om de bestandsgrootte te beperken met 75 procent in vergelijking met de binaire indelingen van eerdere versies van Office.

  • Eenvoudiger gegevensherstel en betere beveiliging. XML kan door mensen worden gelezen, dus als een bestand beschadigd raakt, kunt u dit openen in Microsoft Kladblok of een andere tekstlezer, zodat u in ieder geval een deel van de gegevens kunt herstellen. De nieuwe bestanden zijn ook veiliger omdat deze geen VBA-code (Visual Basic for Applications) kunnen bevatten. Als u de nieuwe indeling gebruikt om sjablonen te maken, bevinden ActiveX-besturingselementen en VBA-macro's zich in een afzonderlijke, beter beveiligde sectie van het bestand. Daarnaast kunt u hulpprogramma's, zoals Documentcontrole, gebruiken om persoonlijke gegevens te verwijderen. Zie Verborgen en persoonlijke gegevens verwijderen uit Office-documenten voor meer informatie over het gebruik van Documentcontrole.

Dat is allemaal duidelijk, maar wat gebeurt er als u XML-gegevens zonder schema hebt? Office-programma's die XML ondersteunen, bevatten eigen methoden om u te helpen werken met de gegevens. In Excel wordt bijvoorbeeld een schema afgeleid als u een XML-bestand opent dat nog geen schema heeft. U krijgt vervolgens de optie om deze gegevens in een XML-tabel te laden. U kunt de XML-lijsten en -tabellen gebruiken om de gegevens te sorteren, te filteren of er berekeningen aan toe te voegen.

De XML-hulpprogramma's inschakelen in Office

Het tabblad Ontwikkelaar wordt niet standaard weergegeven, maar u moet dit toevoegen aan het lint wanneer u XML-opdrachten wilt gebruiken in Office:

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×