Dutch Design Week 2017
Dutch Design Week 2017

Notaties in XHTML5

Van oorsprong op LinkedIn gepubliceerd op 6 december 2017

Inleiding

In tegenstelling tot het 'tolerante' HTML5 is z'n XML-variant, XHTML5 uiterst strikt in het gebruik van notaties van en binnen de elementen. Zie Tolerantie in notaties en weglatingen in HTML5.

Nadeel. Het gebruik van XHTML5 heeft één groot nadeel. Iedere fout of nalatigheid gemaakt in de broncode levert een 'parsing error' op. Een parsing error is een melding op het beeldscherm dat er door de engine van de browser een fout in de broncode is geconstateerd. De content wordt niet getoond voordat de fout of fouten zijn opgelost. Zie het 'parsing error'-voorbeeld via de link 'Voorbeeld met XHTML5-broncode' verderop.

Voordeel. Een parsing error laat zien dat je een fout hebt gemaakt, belangrijk voor mensen die graag correcte code willen gebruiken. Daarmee is XHTML5 is een goed alternatief voor HTML5. Met het gebruik van correcte code ben je er zeker van dat de webpagina snel wordt geladen, zonder oponthoud.

'Zero tolerance'

Bij XHTML5 mag in de doctype declaration "!DOCTYPE' alleen (<!DOCTYPE html>) in hoofdletters genoteerd staan. Bij het gebruik van kleine letters krijg je ogenblikkelijk een parsing error. Zie het 'parsing error'-voorbeeld via de link 'Voorbeeld met XHTML5-broncode' verderop.

Het weglaten van de begin- en eindtags van de elementen html, head en body ( <html> </html> | <head> </head> | <body> </body> ) levert direct een renderingsprobleem dus een parsing error op. In het 'tolerante' HTML5 is het weglaten van deze elementen wel geoorloofd.

De tag <img /> is de enige correcte notatie; <img> levert gelijk een parsing error op. Deze regel geldt ook voor <br /> en <hr />. De tags <br> en <hr> zijn uit den boze in XHTML5.

XHTML5 tegenover HTML5

XHTML5 voert de modulaire regels strikt uit. Binnen het html-element bevinden zich het head- en body-element. XHTML5 gedraagt zich als XML: één omissie en de content wordt geblokkeerd door een parsing error. De verplichte aanwezigheid van het html-, head- en body-element gold ook voor alle versies van (X)HTML voor de introductie van HTML5. De oudere HTML- en XHTML-versies verschillen net als de 5-versies in hun tolerantie cq. striktheid bij het uitvoeren van de notatieregels.

HTML5 lijkt een nieuwe weg te volgen door de eerder essentiele html-, head- en body-elementen te kunnen weglaten. Dat was eerder überhaupt niet mogelijk. De eind-tag </p> mag overigens ook weggelaten worden.

Dat lijkt een opmaat te zijn naar een nieuw soort HTML (? HTML6 ?). Ikzelf vind de aanwezigheid van het head-element weinig zinvol, want de meta-elementen in die sectie zijn duidelijk te onderscheiden van de elementen voor de content (tekst en afbeeldingen) gebruikt in de body-sectie. Daarmee kun je ook het body-element weglaten. Het html-element kun je weglaten want de doctype declaration (<!DOCTYPE html>) biedt alle garanties dat de browser-engine weet dat het om een HTML5-bestand gaat.

Het verwijderen van overbodige code zal in elk geval meehelpen het laden van de webpagina te versnellen. Hopelijk zal in de opvolger van XHTML5 de bondigheid van gebruik van code ook gaan gelden. Wie weet resulteert dat ooit in een XHTML6 waar striktheid zich onder andere focust op het voorkomen/verbieden van overbodige code.

Tot slot

Voorbeelden: Voorbeeld met XHTML5-broncode.

Bronnen: XHTML5 in a nutshell, XHTML is HTML written as XML.


Origineel op LinkedIn: Notaties in XHTML5

Joost van Meeteren


Validatie: Nu Html Checker | De W3C CSS Validatie Service