XHTML, de overgang

0
15

Hoewel XML als webopmaaktaal de toekomst schijnt te hebben, moet u niet denken dat alles nu in één keer naar dit nieuwe formaat wordt overgezet. Men gaat veel geleidelijker tewerk. De voornaamste tussenstap is XHTML, Extensible Hypertext Markup Language.
internet
In XHTML worden verschillende XML-opdrachten geïntegreerd in het traditionele HTML. Dit moet het statische karakter van HTML overschrijden. Dynamische HTML en CSS (Cascaded Style sheets) hebben de eerste stappen hiertoe al gezet, maar XHTML gaat verder. Een belangrijke eigenschap van XHTML is de uitbreidbaarheid ervan. Net als in XML kunt u XHTML uitbreiden met de definities van nieuwe tags zolang de documenten ‘well formed’ zijn. In XHTML zijn echter weinig nieuwe officiële tags toegevoegd. Dit heeft tot gevolg dat elke browser zonder problemen ook XHTML-pagina’s kunnen interpreteren. Belangrijke verschillen met HTML zijn in de eerste plaats de documenten die zich exact aan de specificatie moeten houden, waarbij afwijkingen niet zijn toegestaan, dit in tegenstelling tot standaard HTML. Verder maakt XHTML onderscheid tussen kleine letters en hoofdletters bij het definiëren van tags, net als XML. Tenslotte moeten alle attribuutwaarden tussen aanhalingstekens staan.

Bidirectionele communicatie
HTML is beperkt tot eenwegcommunicatie tussen de webserver die de informatie aanbiedt en de client die de informatie vraagt. XML biedt de mogelijkheid tot tweewegcommunicatie. Hiervoor gebruikt men remote procedure calls (RPC). Deze remote procedure calls moeten natuurlijk in een bepaald formaat (protocol) worden gegoten zodat ze aan de andere kant van de connectie goed worden begrepen. XML blijkt ook op dit vlak heel goed bruikbaar te zijn. Nu zijn er verschillende varianten van hoe XML gebruikt wordt om de communicatie tussen verschillende systemen te verzorgen. Het begon met XML-RPC, ontwikkeld door het Amerikaanse bedrijf Userland. Het meest gebruikte op XML gebaseerde RPC-protocol op dit ogenblik is echter SOAP (Simple Object Access Protocol), een gezamenlijke ontwikkeling van Userland en Microsoft en ondertussen voorgelegd aan het W3C als een voorstel van standaard. SOAP is een mechanisme voor het uitwisselen van gestructureerde informatie tussen systemen in een gedecentraliseerde, gedistribueerde omgeving waarbij gebruik gemaakt wordt van XML. De nieuwste versie 1.2 bestaat uit vier delen. Vooreerst is er de SOAP-enveloppe. Een SOAP-bericht is een XML document dat bestaat uit een verplichte SOAP Enveloppe, een optionele SOAP Header en een verplicht SOAP Body. Dit geheel noemen we het SOAP bericht. Het tweede deel is de SOAP Encoding. De SOAP encoding-stijl is gebaseerd op een datatypesysteem dat eigenlijk een veralgemening is van gemeenschappelijke functies zoals we die kennen van datatypesystemen in programmeeromgevingen, databases en semi-gestructureerde data. Het derde deel is SOAP RPC. Een van de doelen bij het ontwikkelen van SOAP, is het incorporeren van RPC (remote procedure calls) en het uitwisselen ervan door gebruik te maken van XML. De SOAP binding ten slotte definieert een conventie voor het uitwisselen van SOAP enveloppes tussen verschillende systemen door gebruik te maken van een onderliggend transportprotocol.

Transportprotocol
Net dat transportprotocol kan voor problemen zorgen, al is het niet noodzakelijk het geval. Wanneer u als onderliggend transportprotocol kiest voor HTTP, dan kiest u voor het minst efficiënte protocol (unidirectioneel), maar wel het meest voor de hand liggende. Niet alleen is de connectie veel trager, maar de beveiliging laat veel te wensen over. Van encryptie is immers geen sprake. Bovendien kan XML data kleine uitvoerbare scripts bevatten die niet alleen goedaardig zijn, maar ook kwaadaardig: lees virussen. Om hier het hoofd aan te bieden, werkt het W3C aan XML Protocol of XMLP, een protocol op applicatielaagniveau, dat twee of meer gelijkwaardige computers (peers) moet toestaan met elkaar te communiceren in een gedistribueerde omgeving, waarbij XML wordt gebruikt als de taal van de “enveloppe” waarin data wordt uitgewisseld. Eind dit jaar zou de XMLP werkgroep van het W3C met een officieel voorstel komen voor XMLP. XMLP zou vier onverenigbaarheden moeten verenigen: robuustheid, eenvoud, herbruikbaarheid en interoperabiliteit. Benieuwd hoe dit uitdraait, want er bestaan talloze voorbeelden voor het XML-communicatieprotocol van de toekomst. De W3C zette ze allemaal op een rijtje in deze visuele matrix.

Beperkingen
Ondanks de voordelen van XML, zijn er ook beperkingen. Die hoopt men bij volgende versies weg te werken. Je kunt in versie 1.0 van een nieuwe standaard nu eenmaal niet alles proppen. Zoals gezegd liggen de XML-codes en de syntaxis ervan vast in een DTD of Document Type Definition. Het is op basis van de DTD dat de XML-parser controleert of de tags in een XML-document juist gebruikt zijn. DTD’s hebben wel beperkingen. Zo is het niet mogelijk in de DTD te definiëren welke gegevens of datatypen bij bepaalde tags horen. U kunt bijvoorbeeld wel een tag definiëren waarbij logischerwijze een getal hoort. De XML-parser accepteert in dit geval echter ook tekst. Daarom stelt Microsoft een uitbreiding voor, XML-Data. Misschien wordt die uitbreiding in toekomstige XML-versies opgenomen.

Conclusie
XML is niet voor een gat te vangen. Het is een complex geheel van mark-up- en schematalen om op één universele manier documenten te beschrijven. Verschillende op XML gebaseerde standaarden mogen dan nog volop in ontwikkeling zijn, u kunt niet meer om XML heen.
Vorig artikelNieuwe versie
Volgend artikelHogere precisie