|
XML in tien punten
De volgende tien punten verzorgt door W3C helpen je al heel snel XML
goed te begrijpen, lees ze eens rustig door! Het zal je zeker helpen XML
eerder onder de knie te krijgen.
XML, XLink, Namespace, DTD, Schema, CSS, XHTML ... Ben je onbekend
met XML, dan is het misschien lastig te weten waar je een begin moet maken.
Met deze samenvatting in 10 punten proberen we voldoende basisconcepten
te leveren om een beginner in staat te stellen door de bomen het bos te
kunnen zien. En moet je een presentatie verzorgen over XML, waarom zou
je niet met deze 10 punten aanvangen?
1. XML is om data te structureren
Gestructureerde data omvatten spreadsheets, adresboeken, configuratieparameters,
financiële transacties, technische tekeningen, etc. XML is een stel
regels (je kunt ze ook als richtlijnen of conventies beschouwen) om tekstformaten
te ontwerpen, waarmee je data kunt structureren. XML is geen programmeertaal
en je hoeft geen programmeur te zijn om het te gebruiken of te leren.
XML maakt het de computer makkelijk data te genereren en te lezen en zorgt
voor eenduidige datastructuur. XML voorkomt veel voorkomende valkuilen
bij taalontwerp; is uitbreidbaar, platform-onafhankelijk en ondersteunt
internationalisatie en lokalisatie. XML werkt geheel volgens de Unicode
standaard.
2. XML lijkt enigszins op HTML
Net als HTML maakt XML gebruik van tags (woorden tussen haakjes
geplaatst met < en >) en attributen (bijvoorbeeld name="value").
Terwijl HTML de betekenis van elke tag en attribute specificeert en vaak
ook aangeeft hoe de tekst tussen deze twee in eruit komt te zien in een
browser, gebruikt XML de tags slechts ter afbakening van stukjes data
en laat de interpretatie ervan volledig over aan de leesapplicatie. Met
andere woorden, zie je <p> in een XML-bestand staan, neem dan niet
aan dat dit een paragraaf betreft. Afhankelijk van de context, zou dit
kunnen zijn een prijs, een parameter, een persoon, een p (wie beweert
dat dit een woord met een p moet zijn?).
3. XML is tekst, maar is niet bedoeld om gelezen te worden
Programma's die spreadsheets, adresboeken en andere gestructureerde data
produceren, bewaren deze data vaak op schijf, gebruikmakend van hetzij
een binaire of een tekstformaat. Eén voordeel van een tekstformaat
is dat het iemand, indien nodig, toestaat data te bekijken zonder het
programma waarmee het geproduceerd is; je kan, zonodig, een tekstformaat
lezen met je favoriete teksteditor. Teksteditors stellen ontwikkelaars
bovendien in staat om applicatiefouten gemakkelijker te herstellen. Net
als HTML zijn XML-bestanden tekstbestanden die men niet per se zou hoeven
te lezen, maar dat wel zou kunnen doen indien de noodzaak toe bestaat.
Minder dan het geval is bij HTML gelden wel strenge regels bij XML-bestanden.
Een tag die men vergeet te gebruiken of een attribute zonder aanhalingstekens,
maakt een XML-bestand onbruikbaar, terwijl in HTML zoiets wel mogelijk
is en vaak ook expliciet wordt toegestaan. De officiële XML- specificatie
verbiedt applicaties te proberen achteraf te zeggen wie de maker van een
afgebroken XML-bestand is; een afgebroken bestand dient precies daar te
stoppen en een foutmelding aan te geven.
4. XML is verbose van ontwerp
Aangezien XML een tekstformaat is en gebruikmaakt van tags om data af
te bakenen, zijn XML-bestanden vrijwel altijd groter dan vergelijkbare
binaire formaten. De ontwerpers hebben daar bewust voor gekozen. De voordelen
van een tekstformaat zijn duidelijk (zie punt 3) en de nadelen kunnen
doorgaans op een ander niveau worden gecompenseerd. Schijfruimte is minder
kostbaar dan vroeger het geval was en compressieprogrammas zoals zip en
gzip
kunnen bestanden heel goed en heel snel comprimeren. Communicatieprotocollen
zoals protocollen van modems en HTTP/1.1,
het kernprotocol van het Web, kunnen data comprimeren tijdens het draaien
van het programma, waarbij bandbreedte net zo effectief wordt bewaard
als een binair formaat.
5.XML is een familie van technologieën
XML 1.0 is de specificatie die tags en attributen definieert.
Buiten XML 1.0, is de XML-familie een steeds groeiend pakket modulen die
nuttige diensten bieden om belangrijke en veelgevraagde werkzaamheden
uit te voeren.Xlink beschrijft
een standaardmanier om hyperlinks aan een XML-bestand toe te voegen. XPointer en XFragments
betreffen in ontwikkeling zijnde syntaxes, wijzend op delen van een XML-document.
Een XPointer is enigszins als een URL, maar in plaats van te wijzen op
documenten op het Web, wijst deze op delen van gegevens binnen een XML-bestand.
CSS, de taal van het stijlblad, is toepasselijk op XML
evenals op HTML. XSL is de geavanceerde taal
om stijlbladen te beschrijven. Deze is gebaseerd op XSLT,
een transformatietaal die gebruikt wordt voor het reorganiseren, toevoegen
en verwijderen van tags en attributen. De DOM
is een standaardgroep functieaanroepen om XML- (en HTML)-bestanden van
een programmeertaal te manipuleren. XML
Schemas 1 en 2
ondersteunen ontwikkelaars om de structuren van hun eigen op XML gebaseerde
formaten nauwkeurig te definiëren. Er zijn veel meer modulen en tools
voorhanden of in ontwikkeling. Houdt de pagina
omtrent de technische rapporten van het W3C in de gaten.
6. XML is nieuw, maar ook weer niet zo nieuw.
De ontwikkeling van XML is in 1996 begonnen en geldt vanaf februari 1998
als een aanbeveling van W3C, wat je misschien doet vermoeden dat het om
nogal onontwikkeld technologie gaat. De technologie is in feite niet nieuw.
Vóór XML bestond SGML, die beginjaren tachtig ontwikkeld
is, een ISO standaard sinds 1986 en op grote schaal gebruikt voor grote
documentatieprojecten. De ontwikkeling van HTML is in 1990 begonnen. De
ontwikkelaars hebben zich doodgewoon laten leiden door de ervaring met
HTML, de beste onderdelen van SGML genomen, iets geproduceerd dat zeker
niet in kracht onderdoet voor SGML en daarbij veel en veel regelmatiger
en eenvoudiger te gebruiken is. Sommige evoluties zijn evenwel moeilijk
te onderscheiden van revoluties En terwijl SGML grotendeels voor technische
documentatie wordt gebruikt en veel minder voor andere datatypen, is dit
precies het omgekeerde met XML.
7. XML leidt HTML naar XHTML
Er bestaat een belangrijke XML-applicatie dat een documentformaat is,
namelijk XHTML van het W3C, de opvolger van HTML. XHTML beschikt over
vaak dezelfde elementen als HTML. De syntaxis is iets gewijzigd om te
kunnen voldoen aan de regels van XML. Een op XML gebaseerd document erft
de syntaxis van XML en beperkt deze op bepaalde manieren (bijvoorbeeld
bij XHTML mag <p>, maar <r> niet); aan de syntaxis wordt ook
betekenis toegevoegd (XHTML zegt dat <p> betekent paragraaf en niet
prijs, persoon of iets anders).
8. XML is modulair
Met XML is men in staat een nieuw documentformaat te definiëren door
andere formaten te combineren en opnieuw te gebruiken. Aangezien twee
onafhankelijk ontwikkelde formaten elementen of attributen kunnen hebben
met dezelfde naam, moet men oppassen bij het combineren van die formaten
(betekent <p> paragraaf bij dit formaat of persoon bij dat ander
formaat?). Om naamsverwarring uit te sluiten bij het combineren van formaten,
zorgt XML voor een namespace
mechanisme. XSL en RDF prachtige voorbeelden van
op XML gebaseerde formaten, die namespaces gebruiken. XML
Schema is ontworpen om deze modulariteitsondersteuning af te
spiegelen op het niveau van het definiëren van XML-documentstructuren,
door het gemakkelijk te maken om twee schemas te combineren teneinde een
derde te produceren dat een samengevoegd documentstructuur omvat.
9. XML is de basis voor RDF en het Semantisch Web
XML zorgt voor een eenduidige syntaxis voor RDF van het W3C, de taal om
metadata te beschrijven (eigenlijk voor kennis in het algemeen). RDF is
net als hypertext naar het volgende niveau verheven. Terwijl hypertext
stukjes tekst linkt en hun relatie vaag laat, kan RDF alles en ook alles
linken en aan de relaties namen toekennen: A is de prijs van B kan een
relatie zijn tussen een object en een geldsom; A is zwaarder dan B kan
de relatie zijn tussen twee sumoworstelaars; A is de oorzaak van B zou
de relatie kunnen zijn tussen een bui en het feit dat men nat is. Voor
het mededelen van kennis of het nou in XML/RDF of in gewoon Engels is,
dient zowel de mens als de machine overeenstemming te bereiken omtrent
het woordgebruik. Een nauwkeurig gedefinieerde serie woorden ter beschrijving
van een bepaald levensgebied (van winkelen tot mathematische logica) noemt
men een ontologie. RDF, ontologieën en de representatie van betekenis
om de computers de mens bij het werken hulp te kunnen bieden, zijn alle
themas van Semantic Web Activity.
10. XML is licentievrij, platform-onafhankelijk en heeft een goede
ondersteuning
Door XML als basis voor een project te kiezen krijg je toegang tot een
toenemend aantal tools voor gemeenschappelijk gebruik (wellicht gebruik
je al één ervan voor wat je nodig hebt!) en tot technici
met ervaring in de technologie. De keus voor XML is enigszins vergelijkbaar
met het kiezen van SQL voor databases: je eigen database, eigen programmas
en procedures die deze manipuleren moet je toch bouwen; er zijn heel wat
tools voorhanden en vele mensen beschikbaar om hulp te bieden. En aangezien
XML licentievrij is, kan je je eigen software eromheen bouwen zonder iemand
een cent te hoeven betalen. De aanzienlijke en toenemende ondersteuning
houdt in dat je evenmin aan één leverancier gebonden bent.
XML is niet altijd de beste oplossing, maar is toch altijd het overwegen
waard.
|