Pragt.info
Partner site van: www.heinpragt.com
(c) Hein Pragt
logo pragt.info
Zoeken op deze site!
 
 

Themapagina XML algemeen

XML is een door het World Wide Web Consortium (W3C) aanbevolen standaard voor het beschrijven van gestructureerde data. Als zodanig stelt XML communicerende partijen in staat gegevens uit te wisselen via een flexibel formaat, dat onafhankelijk is van applicaties en platformen en programmeertalen. XML is een generieke markup taal, dit wil zeggen, met behulp van XML kan een document worden voorzien van codes (tags) voor het structureren van de data in dit document.

Een XML document is een document dat is gestructureerd in een bepaalde indeling. De gebruikte indeling kan willekeurig zijn maar ook strikt afhankelijk zijn van een document type definitie. Aangezien deze DTD niet verplicht is mag de indeling ook willekeurig zijn zolang maar aan de basis regels van XML voldaan is. Dit is de grote kracht maar ook een zwakte van XML. Een standaard kommagescheiden bestand met een enkele geldige tag eromheen is ook geldige XML. Het is duidelijk dat met de data waarschijnlijk verder niets te beginnen valt.

De waarde van XML is gebaseerd op drie belangrijke eigenschappen:

  • Structureerbaar, met XML is het mogelijk willekeurige complexe, hiërarchische data te representeren in een flexibel formaat. De structuur volgens welke de data wordt opgeslagen kan bovendien worden vastgelegd naast het document of in het document zelf. De structuur is per definitie niet ambigu (niet voor meerdere uitleg vatbaar) en dus niet op verschillende manieren te interpreteren.


  • Valideerbaar, XML documenten kunnen eenvoudig worden gecontroleerd op juistheid. Door middel van een parser kan gecontroleerd worden of de structuur van de data overeenkomt met de definitie van die structuur.


  • Uitbreidbaar, XML staat toe dat iedereen een eigen structuur definieert, daarnaast is het vrij eenvoudig bestaande structuren uit te breiden.

Deze eigenschappen maken XML tot een krachtige standaard die voor zeer uiteenlopende doeleinden gebruikt kan worden.

De structuur van een XML document

Een belangrijk voordeel van XML documenten is dat ze zowel leesbaar zijn voor machines als voor mensen. Een XML document bestaat namelijk uit normale tekst. Hieronder staat een globale beschrijving van de structuur van een XML document.

Elementen

Een XML document bestaat uit gestructureerde data, deze is ondergebracht in zogeheten elementen. Elk element heeft een type, inhoud en eventueel attributen. De inhoud mag leeg zijn, kan uit tekst bestaan of weer uit andere elementen bestaan. Dit is een eenvoudig voorbeeld van een XML document met slechts één element.

<voornaam>Hein</voornaam>

Dit element heeft als type 'voornaam', en als inhoud de tekst 'Hein'. De inhoud van een element moet altijd worden omsloten door zogenaamde tags. Een element begint met een begin tag en eindigt met een eind tag. Een begin tag is een woord omgeven door '<' en '>' tekens, terwijl een eind tag hetzelfde woord is met een '/' teken ervoor.

Elementen kunnen ook weer uit andere elementen bestaan.

<naam> 
<voornaam>Hein</voornaam> 

<achternaam>Pragt</achternaam>
</naam>

Dit document bestaat uit drie elementen, waarbij het element 'naam' is samengesteld uit 'voornaam' en 'achternaam'. Op deze manier kunnen willekeurige gegevens worden gestructureerd. Voorwaarde is wel dat alle elementen goed genest (in de correcte volgorder staan en in de goede volgorde afgesloten worden) zijn.

Attributen

Elementen kunnen ook attributen hebben, hiermee kan extra informatie worden opgeslagen bij een element.

<inkoopprijs valuta="euro">10.45</inkoopprijs>

Attributen worden meestal gebruikt om extra informatie te geven over de data. In een DTD kan ook een attribuut lijst opgenomen worden zodat er maar een beperkt aantal controleerbare attributen mogelijk zijn.

Document type beschrijving

Door middel van een schema of DTD kunnen we de structuur van een XML document vastleggen. Een DTD vormt een soort grammatica van een XML document. De DTD kan in het XML document zelf worden opgenomen. In dit geval is een XML document dan zelfbeschrijvend omdat het document zijn eigen definitie bevat.

Een DTD voor het vorige naam voorbeeld zou er zo uit kunnen zien:

<!ELEMENT naam (voornaam, achternaam)>
<!ELEMENT voornaam (#PCDATA)>
<!ELEMENT achternaam (#PCDATA)>

#PCDATA staat voor de inhoud van het element en is tevens de laagste stap in de DTD. Het element voornaam kan dus geen subelementen bevatten. Het element naam is samengesteld uit andere elementen, namelijk een element voornaam gevolgd door een element achternaam. Binnen naam mag ook geen tekst staan, alleen maar de twee elementen voornaam en achternaam. Op deze wijze dwingen we een structuur af via een DTD. Een XML parser kan de structuur van het XML document controleren met behulp van deze DTD.

Xml  -  Algemeen

Last update: 20-06-2010
 

Disclaimer.

Hoewel de heer Hein Pragt de informatie beschikbaar op deze pagina met grote zorg samenstelt, sluit de heer Pragt alle aansprakelijkheid uit met betrekking tot de informatie die, in welke vorm dan ook, via deze site wordt aangeboden. Het opnemen van een afbeelding of verwijzing is uitsluitend bedoeld als een mogelijke bron van informatie voor de bezoeker en mag op generlei wijze als instemming, goedkeuring of afkeuring worden uitgelegd, noch kunnen daaraan rechten worden ontleend.
Op de artikelen van de heer Pragt op deze Internet Site rust auteursrecht. Overname van informatie (tekst en afbeeldingen) is uitsluitend toegestaan na voorafgaande schriftelijke toestemming van de rechthebbende. Voor vragen over copyright en het gebruik van de informatie op deze site kunt u contact opnemen met: (email: copyright@heinpragt.com)

Webdedesign: © Hein Pragt
Fotografie: © Hein Pragt
Auteur: © Hein Pragt

Privacy beleid
Wij maken gebruik van externe advertentiebedrijven om advertenties weer te geven wanneer u onze website bezoekt. Deze bedrijven gebruiken mogelijk informatie (niet uw naam, adres, e-mailadres of telefoonnummer) over uw bezoek aan deze of aan andere websites om advertenties weer te geven over goederen en services waarin u wellicht geïnteresseerd bent. Als u hierover meer informatie wenst of als u wilt voorkomen dat deze bedrijven deze informatie gebruiken, klikt u op deze link.