HTML en XHTML zijn beide talen waarin webpagina's zijn geschreven. HTML is op SGML gebaseerd, terwijl XHTML op XML gebaseerd is. Ze zijn als twee zijden van dezelfde medaille. XHTML is afgeleid van HTML om te voldoen aan XML-standaarden. Vandaar dat XHTML strikt is in vergelijking met HTML en niet toestaat dat gebruikers wegkomen met fouten in codering en structuur.
De reden voor de ontwikkeling van XHTML was ingewikkelde browserspecifieke tags. Pagina's gecodeerd in HTML leken verschillend in verschillende browsers.
HTML | XHTML | |
---|---|---|
Introductie (van Wikipedia) | HTML of HyperText Markup Language is de belangrijkste opmaaktaal voor het maken van webpagina's en andere informatie die kan worden weergegeven in een webbrowser. | XHTML (Extensible HyperText Markup Language) is een familie van XML-markup-talen die de veel gebruikte Hypertext Markup Language (HTML), de taal waarin webpagina's worden geschreven, spiegelen of uitbreiden.. |
Bestandsnaamextensie | .html, .htm | .xhtml, .xht, .xml, .html, .htm |
Internetmediatype | text / html | application / xhtml + xml |
Ontwikkeld door | W3C & WHATWG | Wereldwijde web consortium |
Type formaat | Document bestandsformaat | Opmaaktaal |
Verlengd vanaf | SGML | XML, HTML |
Betekent | HyperText Markup Language | Extensible HyperText Markup Language |
Toepassing | Toepassing van Standard Generalized Markup Language (SGML). | Toepassing van XML |
Functie | Webpagina's zijn geschreven in HTML. | Uitgebreide versie van HTML die strenger is en op XML gebaseerd. |
Natuur | Flexibel framework dat soepele HTML-specifieke parser vereist. | Restrictieve subset van XML en moet worden geparseerd met standaard XML-parsers. |
Oorsprong | Voorgesteld door Tim Berners-Lee in 1987. | World Wide Web Consortium-aanbeveling in 2000. |
versies | HTML 2, HTML 3.2, HTML 4.0, HTML 5. | XHTML 1, XHTML 1.1, XHTML 2, XHTML 5. |
HTML is de overheersende opmaaktaal voor webpagina's. HTML maakt gestructureerde documenten door structurele semantiek aan te duiden voor tekst zoals koppen, lijsten, koppelingen, offertes enz. Hiermee kunnen afbeeldingen en objecten worden ingesloten om interactieve formulieren te maken. Het is geschreven als tags omgeven door punthaken - bijvoorbeeld, . Scripts in talen zoals JavaScript kunnen ook worden geladen.
XHTML is een familie van XML-talen die HTML-versies uitbreiden of spiegelen. Het staat het weglaten van tags of het gebruik van attribuutminimalisatie niet toe. XHTML vereist dat er een eindtag is voor elke starttag en dat alle geneste tags in de juiste volgorde moeten worden gesloten. Bijvoorbeeld terwijl
is geldig in HTML, het zou moeten schrijven
in XHTML.
HTML-documenten zijn samengesteld uit elementen met drie componenten - een paar elementtags - startlabel, eindtag; elementattributen gegeven binnen tags en actuele, tekstuele en grafische inhoud. HTML-element is alles dat tussen en inclusief tags ligt. (Tag is een sleutelwoord dat tussen punthaken is ingesloten).
XHTML-documenten hebben slechts één rootelement. Alle elementen inclusief variabelen moeten in kleine letters zijn en waarden moeten worden omringd door aanhalingstekens, gesloten en genest om te worden herkend. Dit is een verplichte vereiste in XHTML in tegenstelling tot HTML, waar het optioneel is. De verklaring van DOCTYPE zou de regels bepalen voor de te volgen documenten.
Afgezien van de verschillende openingsverklaringen voor een document, zijn de verschillen tussen een HTML 4.01- en XHTML 1.0-document - in elk van de overeenkomstige DTD's - grotendeels syntactisch. De onderliggende syntaxis van HTML staat veel snelkoppelingen toe die XHTML niet biedt, zoals elementen met optionele openings- of sluitingstags, en zelfs LEGE elementen die geen eindtag mogen hebben. XHTML vereist daarentegen dat alle elementen een openingstag of een afsluitende tag hebben. XHTML introduceert echter ook een nieuwe snelkoppeling: een XHTML-tag kan binnen dezelfde tag worden geopend en gesloten door een schuine streep vóór het einde van de tag op te nemen, zoals hieronder:
. De introductie van deze steno, die niet wordt gebruikt in de SGML-verklaring voor HTML 4.01, kan eerdere software verwarren die onbekend is met deze nieuwe conventie. Een oplossing hiervoor is om een spatie in te voegen voordat de tag wordt gesloten, als zodanig:
.
HTML en XHTML zijn nauw met elkaar verbonden en kunnen daarom samen worden gedocumenteerd. Zowel HTML 4.01 als XHTML 1.0 hebben drie subspecificaties: strikt, los en frameset. De verschilopeningsverklaringen voor een document maken onderscheid tussen HTML en XHTML. Andere verschillen zijn syntactisch. HTML biedt snelkoppelingen zoals elementen met optionele tags, lege elementen zonder eindlabels. XHTML is zeer strikt over het openen en sluiten van tags. XHTML gebruikt ingebouwd taaldefinitiefunctionaliteitsattribuut. Alle syntaxisvereisten van XML zijn opgenomen in een goed gevormd XHTML-document.
Merk echter op dat deze verschillen alleen van toepassing zijn wanneer een XHTML-document wordt aangeboden als een toepassing van XML; dat wil zeggen, met een MIME-type applicatie / xhtml + xml, application / xml of text / xml. Een XHTML-document met een MIME-type tekst / html moet worden geparseerd en geïnterpreteerd als HTML, dus de HTML-regels zijn in dit geval van toepassing. Een stylesheet die is geschreven voor een XHTML-document dat wordt geserveerd met een MIME-type tekst / html werkt mogelijk niet zoals bedoeld als het document wordt aangeboden met een MIME-toepassingstype / xhtml + xml. Lees MIME-typen voor meer informatie over MIME-typen.
Dit kan vooral belangrijk zijn wanneer u XHTML-documenten als tekst / html gebruikt. Tenzij u op de hoogte bent van de verschillen, kunt u stijlbladen maken die niet werken zoals bedoeld als het document als echt XHTML wordt gebruikt.
Waar de termen "XHTML" en "XHTML-document" in de rest van deze sectie voorkomen, verwijzen ze naar XHTML-markup die wordt aangeboden met een XML MIME-type. XHTML-markup die wordt gebruikt als tekst / html is een HTML-document voor zover het browsers betreft.
Zoals aanbevolen door W3C kunnen de volgende stappen worden gevolgd voor migratie van HTML naar XHTML (XHTML 1.0-documenten):
Met zorgvuldige inachtneming van de W3C-richtlijnen voor compatibiliteit, zou een user agent (webbrowser) in staat moeten zijn om documenten even gemakkelijk te interpreteren als HTML of XHTML.
Om het subtiele te begrijpen verschillen tussen HTML en XHTML, overweeg de transformatie van een geldig en goed gevormd XHTML 1.0-document in een geldig HTML 4.01-document. Voor het maken van deze vertaling zijn de volgende stappen vereist:
LANG
attribuut in plaats van de XHTML xml: lang
attribuut. XHTML maakt gebruik van het ingebouwde XML-kenmerk voor de definitie van functionaliteit. xmlns = URI
). HTML heeft geen faciliteiten voor naamruimten.
). text / html
. Voor zowel HTML als XHTML komt dit van de HTTP Content-Type
header verzonden door de server.
naar
).