XHTML
| XHTML | |
|---|---|
| Verlenging | .xhtml, .xht, .xml, .html, .htm
|
| Ontwikkeld door | W3C |
| 1e publicatie | 26 januari 2000 |
| Laatste versie | 2.0 (2 juli 2009) |
| Formaat openen ? | JEP |
| Website | www.w3.org/MarkUp/ |
XHTML ( afkorting voor eXtensible HyperText Markup Language ) is een opmaaktaal die bepaalde eigenschappen van XML associeert met de kenmerken van HTML : een XHTML-bestand is een HTML-pagina die is geschreven in overeenstemming met de standaard XML.
XHTML werd officieel geboren op 26 januari 2000 als een World Wide Web Consortium (W3C)-standaard en kan technisch worden gedefinieerd als een herformulering van HTML 4.01 in XML 1.0; het is een soort "brug" tussen deze twee talen.
Algemene kenmerken
XHTML is de directe opvolger van HTML 4.01. De behoefte aan een taal met een beter gedefinieerde syntaxis dan die van traditionele HTML begon te voelen toen het gebruik van het verzenden van webpagina's naar nieuwe apparaten op de markt verscheen, andere dan traditionele computers , zoals kleine draagbare apparaten, met onvoldoende hardware en softwarebronnen om de HTML-taal te interpreteren. Houd er rekening mee dat hoe generieker de syntaxis van een opmaaktaal is , hoe moeilijker het is om apparaten te maken die deze correct kunnen interpreteren. Een specifieke Document Type Definition (DTD) definieert de set regels waarmee een bepaald document kan worden weergegeven (dwz correct weergegeven ) door XHTML.
- Logische structuur van de pagina
De taal voorziet in een meer restrictief gebruik van HTML-tags (zowel qua geldigheid als qua syntaxis) om alleen de logische structuur van de pagina te beschrijven, terwijl de lay -out en grafische weergave worden opgelegd door de trapsgewijze stylesheets ( Cascading Style Sheets , CSS).
- Grafische weergave
Alle momenteel populaire browsers kunnen XHTML-documenten correct weergeven, maar zelfs oudere browsers zijn meestal in staat om XHTML-documenten te interpreteren, aangezien deze taal grotendeels een subset van HTML is en de syntactische regels ook achterwaarts compatibel zijn. Hetzelfde geldt ook omgekeerd: bijna alle XHTML-compatibele browsers geven HTML-documenten ook correct weer.
Transitional XHTML ( transitional XHTML , zie hieronder) verschilt voornamelijk van HTML omdat het meer compatibel is met XML- specificaties en van strikte XHTML voor een grotere tolerantie voor verouderde definities.
Het belangrijkste verschil is dat alle tags goed gestructureerd moeten zijn, dwz voldoen aan een set regels die onderlinge consistentie garanderen, en moeten worden beëindigd , inclusief lege (bijvoorbeeld imgen br). Om de beëindiging impliciet uit te voeren, kunt u een afsluitende "/" toevoegen aan de openingstag (bijv.: <img … />e <br />). Andere soorten afkortingen zijn niet toegestaan (bijv.:) <option selected>.
De syntaxis bepaalt ook dat tags altijd in kleine letters moeten worden geschreven, een conventie in tegenstelling tot de gewoonte sinds versie 2.0 van HTML, toen de meeste programmeurs hoofdletters prefereerden.
In XHTML moeten alle attributen (inclusief numerieke) tussen aanhalingstekens worden geschreven, wat optioneel is in SGML en HTML, waar aanhalingstekens kunnen worden weggelaten als de inhoud een alfanumerieke tekenreeks is of andere speciaal gereserveerde tekens bevat. Raadpleeg de W3C XHTML-specificaties voor meer informatie . De Wikipedia- pagina's zijn geschreven met XHTML versie 1.0 Transitional.
Validatie van XHTML-documenten
Een XHTML-document dat aan de specificaties voldoet, wordt een valide document of well-formed genoemd . Theoretisch zouden alle browsers W3C-compatibel moeten zijn en dus in staat moeten zijn om documenten op elk platform weer te geven . De validatie (d.w.z. syntactische controle ) van XHTML-documenten garandeert echter niet 100% compatibiliteit met alle browsers, voornamelijk vanwege hun beperkingen, maar wordt toch sterk aanbevolen. Een tool voor het controleren van de geldigheid van documenten is verkrijgbaar bij de W3C Markup Validation Service (zie [1] ).
Zoals hierboven vermeld, moet een document, om te worden gevalideerd, een element bevatten met de naam DTD ( Document Type Definition of Document Type Declaration), dat bij voorkeur aan het begin van het document moet worden geplaatst. De meest voorkomende typen DTD's en hun declaratieve syntaxis zijn:
- XHTML 1.0 Strikt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">- XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">- XHTML 1.0-frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">- XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Het type codering dat wordt toegepast ( tekencodering ) moet altijd aan het begin van het document worden opgegeven. Hierdoor kan de validator , zoals hierboven genoemd, beschikbaar gesteld door het W3C, controleren of het document aan de norm voldoet. Het validatieproces identificeert en geeft een beschrijving van de gevonden fouten ( error log ).
Enkele van de meest voorkomende fouten die ontwikkelaars maken bij het schrijven van XHTML-code zijn:
- Elementen zonder terminator (zoals hierboven vermeld, XHTML is in dit opzicht veel restrictiever dan HTML).
- Weglating van de tekst die moet worden weergegeven als alternatief voor een afbeelding (te gebruiken via het attribuut
alt, om compatibiliteit mogelijk te maken met apparaten waarvan de weergave geen afbeeldingen ondersteunt). - Voeg teksten rechtstreeks in de hoofdtekst van het document in.
- Nest [1] codeblokken in inline-elementen.
- Vergeet de aanhalingstekens om attributen af te bakenen.
- Elementen op een ongeldige manier nesten.
- Diverse entiteiten onjuist gebruiken (bijvoorbeeld
&in plaats van&). - Gebruik hoofdletters voor tag- en/of attribuutnamen.
Dit is natuurlijk geen uitputtende lijst van fouten, maar slechts een indicatie van de fouten die programmeurs het vaakst maken. Wanneer een pagina wordt gevalideerd met behulp van de W3C -validatieservice , retourneert de validator een klein pictogram dat in het document kan worden ingevoegd om te bewijzen dat deze voldoet aan de norm. De W3C biedt dezelfde service ook voor CSS -stijlbladen en HTML-documenten.
Versies
Zoals hierboven vermeld, is XHTML een herformulering van HTML als een XML-taal. Dus, zoals verwacht, zijn er drie verschillende DTD's, overeenkomend met evenveel HTML 4.01 DTD's
XHTML 1.0
- XHTML 1.0 Transitional : gemaakt om de migratie van de oude HTML 3.2-versie te vergemakkelijken of voor gebruik in combinatie met in-line links en frames . Het accepteert ook HTML-tags die zijn gedefinieerd als verouderd in XHTML als geldig en tolerant voor sommige syntactische non-conformiteiten.
- XHTML 1.0 Strikt : in vergelijking met de overgangsversie accepteert het geen verouderde HTML-tags, is het niet tolerant voor syntactische non-conformiteiten en voorziet het in strengere controles, zelfs met betrekking tot de waarde van sommige tag-attributen (het id -attribuut moet bijvoorbeeld hebben allemaal unieke waarden binnen hetzelfde document).
- XHTML 1.0 Frameset : gemaakt om compatibiliteitsredenen om het venster dat door de browser wordt weergegeven in verschillende frames ( subvensters ) te verdelen , een praktijk die ooit wijdverbreid was, maar nu wordt afgekeurd door het World Wide Web Consortium.
XHTML 1.1
De nieuwste versie van XHTML is XHTML 1.1 , wat een herformulering is van XHTML Strict , dus het heeft maar één DTD. Het accepteert niet de meest bekritiseerde tags en attributen van de vorige versie (zoals de frameset- structuur ). Deze versie ondersteunt daarentegen de tags van de zogenaamde "ruby" markup, waarmee u de tekensets van oosterse talen kunt weergeven.
XHTML 2.0
XHTML 2 is een ontwerptaal voor het web; op 2 juli 2009 besloot het World Wide Web Consortium de ontwikkeling te staken [2] , terwijl het nog in de specificatiefase zat, ten gunste van HTML5 . Het was bedoeld om de evolutie van XHTML 1.0 te vertegenwoordigen.
Het wordt voornamelijk gekenmerkt door een modulaire structuur, waarin de regels voor het instellen van de verschillende elementen van een webpagina (onderverdeling van de tekst; elektronische formulieren; tabelgegevens enz.) worden beschreven in afzonderlijke modules, die onafhankelijk van elkaar kunnen evolueren. In vergelijking met de eerste versie van XHTML zijn de XML -kenmerken voor de syntactische regels
sterker gemaakt , verder zijn de controlemogelijkheden op elektronische formulieren ( formulieren ) verdiept en uitgebreid, waarbij complexere structuren en verwerkingselementen worden geïntroduceerd. De definitie verliep parallel aan die van HTML5 , dat door het World Wide Web Consortium werd beschouwd als een aanvullende markup-standaard in vergelijking met XHTML 2, maar de specificatiefase stopte vanwege twee problemen:
- slechte compatibiliteit;
- het zou in feite een bijna volledig nieuwe opmaak zijn geweest, in plaats van een evolutie van XHTML 1.1.
Daarom hebben we er de voorkeur aan gegeven XHTML 2 te laten vallen ten gunste van HTML5 , dat enkele van de definities en benaderingen bevat die voor XHTML 2 zijn bedacht, maar aangepast om een compatibele werking met de huidige browsers te garanderen.
XHTML 5
De HTML 5-standaard bevat richtlijnen voor het schrijven van HTML die wordt verwerkt als XML, gewoonlijk XHTML 5 genoemd.
De wijzigingen aan de HTML 5-standaard worden ook impliciet toegepast op XHTML 5, maar het zijn geen twee verschillende talen, maar twee verschillende syntaxis van dezelfde taal. [3] Het W3C heeft een handleiding beschikbaar gesteld voor het produceren van documenten die dezelfde output produceren, ongeacht of ze worden verwerkt als HTML of XML. [4]
Mobiele versies
Er zijn andere versies van XHTML, ontworpen voor draagbare apparaten:
- XHTML Basic : Een speciale vereenvoudigde versie van XHTML, voor apparaten waarvan de bronnen de volledige set XHTML-opdrachten en -tags niet kunnen ondersteunen, zoals mobiele telefoons . Het moet worden beschouwd als de tegenhanger van de bestaande WML- en C-HTML- talen .
- XHTML Mobile Profile : gebaseerd op de Basic -versie van XHTML, ontwikkeld door Nokia om specifieke functies van telefoonterminals toe te voegen aan XHTML Basic.
Opmerkingen
- ^ Met nesten bedoelen we het invoegen van een codeblok (of attributen) in een ander blok van een hoger niveau, enzovoort, volgens een hiërarchische volgorde van het Chinese boxtype . Elk niveau ziet en behandelt de blokken op de niveaus eronder als ondeelbare entiteiten .
- ^ Werkgroep XHTML 2 zal naar verwachting eind 2009 stoppen met werken, W3C gaat meer middelen voor HTML gebruiken 5
- ^ Een vocabulaire en bijbehorende API's voor HTML en XHTML
- ^ Polyglot Markup: een robuust profiel van de HTML5-vocabulaire
Gerelateerde items
Externe links
- XHTML 1.0-specificatie Gearchiveerd op 15 juni 2003 op het internetarchief . (niet-normatieve vertaling)
- Volledige lijst van XHTML-tags met beschrijving van functionaliteit, browserondersteuning en praktische toepassingsvoorbeelden ,op lau.csi.it.
- ( NL ) W3C's HTML-startpagina , op w3.org .
- ( EN ) XHTML 1.0 specificatie (originele normatieve tekst)
- ( EN ) XHTML 1.1-specificatie , op w3.org .
- ( EN ) Working Draft van de XHTML 2.0-specificatie , op w3.org .
- ( NL ) XHTML-zelfstudie op Wikibooks