Professional Documents
Culture Documents
Doelstellingen :
Inzicht in het gebruik en de positionering van XML
Gelijkenis- en verschilpunten onderkennen tussen XML en HTML
Weten hoe je XML-documenten kan visualiseren en hoe je afspraken kan
maken over de structuur van XML-documenten
De begrippen 'namespaces', XML Schema, XSLT en 'webservices' kunnen
plaatsen
De cruciale rol van XML inzien bij "business-to-business" communicatie
7.1.Waarom XML ?
7.1.1.HTML : Werking en beperkingen
Zoals gezegd in hoofdstuk 6 is HTML een markup taal die via <tags> de lay-out
van een document gaat bepalen. Deze tags zijn echter vast gedefinieerd binnen
HTML en bepalen maar 1 lay-out. Dankzij deze tags kunnen browsers een pagina
correct uitbeelden. Deze tags kunnen niet worden verandert. Het is alleen handig
voor mensen omdat het een overzichtelijke lay-out heeft, maar niet voor
machines want het is voor hen maar ongestructureerde tekst.
Dankzij deze XML-tags gaat men een bomstructuur kunnen maken, met als
basiselement de data, en als takken de metadata. In deze boomstructuur spelen
de tags de takken. In XML kunnen deze tags door de gebruiker zelf bepaald
worden, in tegenstelling tot HTML waar ze vast liggen. Deze tags moeten een
paar regels volgen :
○ Een naam die bestaat uit ten minste 1 letter a-z, 1-Z of” _”of “:”
○ Na de 1ste leter, mogen er 1 of meerdere andere Unicode karakters komen
(buiten spatie en tab)
○ Het woord “XML” is niet te gebruiken
○ Een leeg element word <naam/> genoteerd
○ Commentaar staat tussen <!-- … -->
Bij XML, wanneer men het gewoon bekijkt, krijgt men een mappenstructuur zoals
in Windows.
7.1.Tags en Namespaces
7.1.1.Tags en attributen
Er kunnen ook in XML attributen worden gestopt in tags. Deze staan zoals volgt in
de tekst : naam=”waarde”. Men kan zo alle informatie in attributen zetten (cf blz
154 cursus). Er bestaat geen regel over wat en wat niet als attribuut zetten,
alleen attributen moet altijd wel een waarde hebben.
7.1.2.Namespaces
Het nadeel wanneer iedereen zijn eigen tags kan maken is dat er soms
overlappingen zullen zijn van tags, maar die niet dezelfde mening zullen hebben.
(bijv. <goal> als doel in voetbal en doel in het bedrijf). Daarom worden er
namespaces geïntroduceerd zodat elke tag uniek blijft. Deze Namespaces zijn
vaak gekoppeld met de XML-schema’s. namespaces zijn eigenlijk een soort
woordenboek.
Om een element in een Namespace toe te kennen, gebruikt men een prefix voor
de naam. Bijv. <voet:goal> … </voet:goal>. Elke namespace gaan we dan aan
een URL vastkoppelen voor elke Namespace uniek te maken. Op die plaats gaat
er dan de informatie staan van de namespace. Het moet niet een URL zijn, maar
omdat die uniek is, vermijdt het sommige verwarring.
Sommige namespaces zijn wel belangrijk voor schema’s en XSLT transformaties
van XML document.
7.2.XML schema’s
Een XML schema is eigenlijk 2 documenten te samen : het “XML Schema” en het
“XML Instance Document”. Het eerste bevat de structuur van de 2de, die eigenlijk
alle de informatie bevat. Het schema duidt aan welke elementen en attributen
het XML bestand moet/mag hebben. Hier is wat een XML schema allemaal doet :
– Het legt de formele definitie van een documenttype vast (bijv. facturen)
– Het zegt welke namen voor elementen kunnen worden gebruikt, waar ze
mogen voorkomen en hoe ze samen passen
– Het is zelf een XML document
– Het is ook gelinkt aan een namespace zodat elke tag een speciale
betekenis heeft.
Deze schema’s zijn optioneel, ze dienen alleen de verschillende XML documenten
te classeren in :
Well-formed document, d.w.z. documenten die aan de structuur en notati
van de XML-standaard voldoen
Valid, als het well-formed is en ook aan een XML-schema voldoet.
Gecontroleerd door een validator.
We duiden aan in een document of het tot een schema behoord met :
<?xml version=”1.0”?>
<BookStore xmlns =”http://www.books.org “ (1)
Xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
(2)
Xsi:schemaLocation=”http://www.books.org/BookStore.xsd”
(3)
Met :
1 – de aanduiding dat de tags behoren tot de namespace http://www.books.org
2 – de aanduiding dat de structuur wordt gegeven door BookStore.xsd
3 – de aanduiding dat het schemaLocation-attribuut behoort tot de XML schema-
instance namespace
De XLS (Extensible Stylesheet Language) taal is een taal dat een tagged
document (bijv. XML) om zet in een ander tagged document (bijv. HTML). Het
XLS-document bestaat eigenlijk uit een aantal vertaalregels die samen
verschillende templates vormen. Alle templates vormen een style sheet. De
transformatie gebeurt via een XSLT processor, die werkt op basis van dergelijke
style sheets.
Er zijn 2 belangrijke gebruiken van de XSLT :
Naast SOAP bestaan er nog 2 andere standaarden waarop Web services zijn
gebaseerd : UDDI en WSDL. Zij vermelden waar alle service te vinden zijn en hoe
ze moeten worden aangesproken. UDDI (Universal Description, Discovery and
Integration) speelt hier de rol als “Gouden Gids”, d.w.z. een opzoeklijst met
advertenties voor een bepaalde service met beschrijving, en ook een zoekfunctie
naar bepaalde functionaliteiten die men nodig heeft.
We zien ook dat de UDDI repository een WSDL-beschrijving bevat van elke Web
service. WSDL (Web serivce Description Language) definieert een verzameling
XML-tags die aanduiden welke parameters men naar een service moet sturen, en
welk antwoord men zal krijgen. Dit is een toepassing van XML schema’s.
WSDL is dus een technische beschrijving.