Wikisage, de vrije encyclopedie van de tweede generatie, is digitaal erfgoed

Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.

  • Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
  • Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.
rel=nofollow

Extensible Markup Language

Uit Wikisage
Naar navigatie springen Naar zoeken springen

Extensible Markup Language (XML) is een standaard voor het definiëren van formele markuptalen voor de representatie van gestructureerde gegevens in de vorm van platte tekst. Deze representatie is zowel machineleesbaar als leesbaar voor de mens.

Met andere woorden: XML is een bepaalde manier om gegevens gestructureerd vast te leggen. Deze manier is gedefinieerd en mag door iedereen gebruikt worden. Het is ontworpen om zowel door een programma als door een mens leesbaar te zijn. XML is niet alleen geschikt om gegevens in op te slaan maar wordt veel gebruikt om gegevens via het internet te versturen. De AJAX-methodiek maakt van XML gebruik.

XML is een vereenvoudigde vorm van SGML, Standard Generalized Markup Language, een heel complexe standaard om de structuur van documenten vast te leggen.

Een eerdere code die is afgeleid van SGML is HTML HyperText Markup Language. HTML heeft voor een doorbraak in SGML-achtig vormgegeven tekst gezorgd, maar gegevens die op een HTML-pagina staan zijn voor computers niet als zodanig te herkennen.

XML zorgt nu juist voor die herkenbaarheid van gegevens. Voorbeeld: een XML-bestand dat een muziekplaylist beschrijft, zou er als volgt uit kunnen zien:

<?xml version="1.0" encoding="ISO-8859-1"?>
<playlist name="mylist">
 <song>
  <title>Little Fluffy Clouds</title>
  <artist>the Orb</artist>
 </song>
 <song>
  <title>Goodbye mother Earth</title>
  <artist>Underworld</artist>
 </song>
</playlist>

Het gaat in dit bestandsformaat dus meer om de structuur van informatie, dit in tegenstelling tot HTML, of liever de manier waarop HTML veel gebruikt wordt, waarbij het meer gaat om de presentatie van de informatie. In deze HTML-bestanden beschrijven de tags wel hoe informatie moet worden gepresenteerd maar niet wat deze informatie betekent. Dit wordt afgeraden, en is grotendeels verwijderd uit HTML 4.01 Strict.

Verwante standaarden

De afspraken over de te gebruiken tags in de "standaard"-dialecten worden formeel vastgelegd in zogenaamde DTD's (Document Type Definitie) of in de nieuwere XML Schema Definities (XSD). Naast de te gebruiken tags wordt hierin ook beschreven welke gegevens acceptabel zijn en hoe ze precies moeten worden opgegeven (bijvoorbeeld postcode bestaat uit 4 cijfers, 1 spatie, 2 letters). Het verschil tussen DTD en XSD is dat XSD-schema's hierin meer uitdrukkingskracht hebben; daarnaast is XSD zelf ook een XML-dialect dat met alle XML-tools kan worden bewerkt.

Hoe de gegevens opgemaakt zullen worden geef je op met een XSL-document Extensible Stylesheet Language. Het is ook enigszins mogelijk om een XML-document op te maken met een CSS-document. CSS (Cascading Style Sheet) is echter beter geschikt voor XHTML. Op zo'n manier geef je in XML door middel van XSD en XSL een keurige scheiding tussen opmaak en inhoud. Ook XSL is zelf een (standaard) XML-dialect.

Data in XML-formaat kunnen door middel van XSLT-transformaties worden omgezet naar andere formaten zoals HTML, WML of PDF maar ook naar een XML-document met een andere structuur. In het geval van de transformatie naar HTML kan deze bewerking zowel in de browser (op het moment van tonen) als op de webserver plaatsvinden.

Voor het doorzoeken van XML-documenten zijn er standaard-querytalen ontwikkeld: XPath en XQuery.

Hoewel de XML-tags in principe vrij te kiezen zijn, is het bij uitwisseling van gegevens wel zo handig als er een gemeenschappelijke standaard wordt afgesproken. Op deze manier ontstaan er allerlei XML-dialecten, elk met een eigen specifieke toepassing. Een voorbeeld van een "standaard"-XML-dialect is de zogenaamde RSS-standaard (Rich Site Summary of Really Simple Syndication) waarmee nieuwssites hun headlines kunnen uitwisselen. Van nieuwssites zoals NU.nl en Slashdot zijn bijvoorbeeld zogenaamde RSS-feeds beschikbaar.

XML-icoontje

Ondertussen komen we ook het XML-icoontje regelmatig tegen op websites. Veelal wordt dit icoontje verkeerd gebruikt om aan te duiden dat deze website een RSS-feed heeft waarop bezoekers zich kunnen inschrijven. RSS-feeds gebruiken wel XML als achterliggende technologie maar RSS en XML zijn geen synoniemen. Een RSS-feed is een XML-document maar een XML-document is meestal geen RSS-feed.

XML in werking

XML is niet alleen ontworpen voor RSS-Feeds, maar wordt hoofdzakelijk gebruikt als middel voor gegevensoverdracht.

XML-RPC

Om XML-RPC te gebruiken kan een module gebouwd worden, die simpel gezegd bestaat uit één of een aantal PHP-pagina's. Er wordt een request door middel van XML-RPC, RPC staat voor Remote Procedure Call, van de client (kantoor) naar de server (website) gestuurd. Deze haalt nieuwe gegevens uit de database van de website en zet deze in een XML-bestand. Het bestand wordt dan door middel van SOAP (Simple Object Access Protocol) via het HTTP protocol verstuurd. Een connectie met een database als Access of een ERP-pakket als SAP of Navision wordt tot stand gebracht met ODBC-drivers. Wanneer dit bestand aankomt op de server van de aanvrager, moet het xml-bestand omgezet worden naar de waarden van het informatiesysteem van de aanvrager. Dat gebeurt door middel van een DTD- of een XSLT-bestand. Na omzetting ontstaat een nieuw XML-bestand die vervolgens ingeladen kan worden in het informatiesysteem. Dit hele gebeuren werkt voor een kantoormedewerker automatisch.

Zie ook

Externe links