XML voor beginners

Opmerking:  We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

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 versies van Office bieden uitgebreide XML-ondersteuning. Beginnen met het 2007 Microsoft Office-systeem, Microsoft Office de op XML gebaseerde bestandsindelingen, zoals .docx, .xlsx en .pptx gebruikt. Omdat XML worden gegevens in een tekstindeling in plaats van een eigen binaire indeling opgeslagen, kunnen uw klanten hun eigen schema's definiëren en gebruiken van uw gegevens op meerdere manieren, zonder te hoeven te betalen royalty's. Zie voor meer informatie over de nieuwe indelingen, Open XML-indelingen en bestandsnaamextensies. 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.

  • Gemakkelijk gegevens herstellen en betere beveiliging. XML is menselijke leesbaar, dus als een bestand beschadigd raakt, u kunt het bestand openen in Microsoft Notepad of een andere tekst lezen en herstellen ten minste een deel van uw gegevens. De nieuwe bestanden zijn ook veiliger omdat ze Visual Basic for Applications (VBA)-code kunnen bevatten. Als u de nieuwe indeling gebruikt om te maken van sjablonen, een ActiveX-besturingselementen en VBA-macro's bevinden zich in een aparte, beter beveiligde sectie van het bestand. Bovendien kunt u hulpprogramma's, zoals Documentcontrole, persoonlijke gegevens verwijderen. Zie het artikel verborgen en persoonlijke gegevens door inspecteren documenten verwijderenvoor 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 Office-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.

×