Wat is XML?
XML staat voor eXtended Markup Language. XML is een taal die bestaat uit <tags> die je zelf definieert. Deze tags beschrijven de inhoud van een document, niet de vorm.
Wat is dan in deze context een document?
Een document is een stuk informatie voorzien van een structuur. Dus dit kan een tekstdocument zijn maar ook een vector graphic of een menu of een transactie in een e-commerce systeem. De hoeveelheid soorten is enorm.
Een soort HTML dus?
Nee,
niet echt. HTML werkt met een vaste set TAGS. Variaties van het
presenteren van de tags kun je aanbrengen met een stylesheet (CSS).
XML daarentegen gebruikt geen vaste TAG set. Het is een zgn. META taal.
Dit houdt in dat XML de mogelijkheid biedt om zelf tags te definieren
en om de structurele relatie tussen de tags aan te brengen. Met CSS en
XSL (eXtended Style Language) kun je stylen toepassen op XML data.
XSL:FO = Formatting Objects, taal om op te maken
XSL:T = Transformations, taal om te transformeren naar iets anders
Voorbeeld
<?xml version="1.0"?> <song> <titel>Shiny Happy People</titel> <artiest>R.E.M.</artiest> <album>Out Of Time</album> <refrein>Shiny happy people laughing</refrein> <strofe> Meet me in the crowd People people Throw your love around Love me love me Take it into town Happy, happy Put it in the ground Where the flowers grow Gold and silver shine </strofe> <refrein> Shiny happy people holding hands (Shiny happy people holding hands) Shiny happy people laughing </refrein> </song>
Attributen
Naast de gelijkenis met html dat je tags kan gebruiken, kan je binnen xml ook attributen defineren. Soms wil je meer data mee geven dan bijvoorbeeld alleen tekst, maar bijvoorbeeld ook gegevens over plaatjes, links naar andere informatie etc.
Waarom XML?
- XML is pure tekst (niet binair) en daarom platform- en applicatie-onafhankelijk. Een XMLdocument kan je in principe met eender welk programma op eender welk platform bekijken. Vergelijk dit met het alfabet: twee mensen die een verschillende taal spreken, maar wel hetzelfde alfabet gebruiken, zullen elkaars woorden altijd kunnen herkennen.
- Als twee mensen elkaars woorden herkennen, wil dit nog
niet zeggen dat ze elkaar begrijpen. Iemandspreekt misschien een taal
die de ander niet begrijpt. Dit gaat ook op voor XML. Je weet dat je in
XML
je eigen tags kan definiëren, maar als iedereen zijn eigen tags gaat aanmaken, begrijpt niemand elkaar nog. Enkel als men afspraken maakt over de gebruikte tags, worden XML-gegevens uitwisselbaar. Daarom wordt er gestreefd naar standaarden. Voorbeelden van XML-standaarden zijn XHTML (HTML volgens de XML syntax – zie verder), MathML (weergeven van wiskundige formules), SMIL
(Synchroniseren van Multimedia-informatie), SVG (Weergeven van grafische informatie) en XSLT(zie verder). - XML-teksten zijn leesbaar voor mensen en toch handelbaar voor computers. XML is een compromis tussen twee uitersten: voor de machine supersnel toegankelijke maar voor de mens bijna onleesbare codes versus pure tekstgegevens die voor de mens vlot leesbaar zijn maar heel moeilijk te verwerken door computers.
- Bij XML is inhoud gescheiden van opmaak. Dit maakt het heel flexibel: dezelfde inhoud kan makkelijk op verschillende manieren worden getoond. Een ander voordeel is het single-source principe: één bronbestand van waaruit verschillende presentaties kunnen worden afgeleid. Bij wijzigingen moet enkel de bron worden aangepast en de verschillende presentatievormen veranderen automatisch mee. Zo kan je bijvoorbeeld een andere vorm kiezen voor verschillende soorten gebruikers of toepassingsgebieden (bijvoorbeeld PDA of WAP).