HTML versus XHTML
XHTML is een striktere, meer op XML gebaseerde versie van HTML.
Wat is XHTML?
- XHTML staat voor E X tensible H yper T ext M arkup L anguage
- XHTML is een striktere, meer op XML gebaseerde versie van HTML
- XHTML is HTML gedefinieerd als een XML-toepassing
- XHTML wordt ondersteund door alle belangrijke browsers
Waarom XHTML?
XML is een opmaaktaal waarbij alle documenten correct moeten worden gemarkeerd ('goed gevormd' zijn).
XHTML is ontwikkeld om HTML uitbreidbaarder en flexibeler te maken om te werken met andere gegevensformaten (zoals XML). Bovendien negeren browsers fouten in HTML-pagina's en proberen ze de website weer te geven, zelfs als deze fouten bevat in de opmaak. Dus XHTML wordt geleverd met een veel striktere foutafhandeling.
Als je XML wilt bestuderen, lees dan onze XML Tutorial .
De belangrijkste verschillen met HTML
- <!DOCTYPE> is verplicht
- Het xmlns-attribuut in <html> is verplicht
- <html>, <head>, <title> en <body> zijn verplicht
- Elementen moeten altijd correct worden genest
- Elementen moeten altijd gesloten zijn
- Elementen moeten altijd in kleine letters staan
- Attribuutnamen moeten altijd in kleine letters zijn
- Attribuutwaarden moeten altijd tussen aanhalingstekens staan
- Attribuutminimalisering is verboden
XHTML - <!DOCTYPE ....> Is verplicht
Een XHTML-document moet een XHTML <!DOCTYPE>-declaratie hebben.
De elementen <html>, <head>, <title> en <body> moeten ook aanwezig zijn, en het xmlns-attribuut in <html> moet de xml-naamruimte voor het document specificeren.
Voorbeeld
Hier is een XHTML-document met een minimum aan vereiste tags:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
some content here...
</body>
</html>
XHTML-elementen moeten correct worden genest
In XHTML moeten elementen altijd goed in elkaar genest zijn, zoals dit:
Correct:
<b><i>Some
text</i></b>
Mis:
<b><i>Some
text</b></i>
XHTML-elementen moeten altijd gesloten zijn
In XHTML moeten elementen altijd gesloten zijn, zoals dit:
Correct:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
Mis:
<p>This is a paragraph
<p>This is another paragraph
XHTML Lege elementen moeten altijd gesloten zijn
In XHTML moeten lege elementen altijd worden gesloten, zoals dit:
Correct:
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
Mis:
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">
XHTML-elementen moeten in kleine letters staan
In XHTML moeten elementnamen altijd in kleine letters staan, zoals dit:
Correct:
<body>
<p>This is a paragraph</p>
</body>
Mis:
<BODY>
<P>This is a paragraph</P>
</BODY>
XHTML-kenmerknamen moeten in kleine letters zijn
In XHTML moeten attribuutnamen altijd in kleine letters staan, zoals dit:
Correct:
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Mis:
<a HREF="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
XHTML-kenmerkwaarden moeten worden geciteerd
In XHTML moeten attribuutwaarden altijd tussen aanhalingstekens staan, zoals dit:
Correct:
<a href="https://www.w3schools.com/html/">Visit our HTML tutorial</a>
Mis:
<a href=https://www.w3schools.com/html/>Visit our HTML tutorial</a>
XHTML-kenmerkminimalisatie is verboden
In XHTML is het minimaliseren van attributen verboden:
Correct:
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />
Mis:
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />