Le langage XHTML est avant tout une version plus élaborée et purifiée du langage HTML.
Ce nouveau langage met un terme définitif à l'édition de nouvelles recommandations du HTML. La plus récente version de ce dernier demeurera la 4.01.
Donc le langage XHTML s'appuie pour essentiel sur les éléments et les attributs du HTML 4.
La première distinction du XHTML se trouve dans la manière de formuler ces documents.
En effet, toutes les pages Web se reposant sur l'architecture XHTML, doivent impérativement respecter des règles syntaxiques draconiennes, du fait que ce nouvel outil a été conçu à partir du XML (eXtended Markup Language).
Etant donné l'origine du XHTML, chaque composant d'un document doit au préalable faire l'objet d'une déclaration et d'une définition dans un autre document spécifique sans lequel la page ne pourra fonctionner correctement.
La différence principale réside dans la modularisation des définitions de type de document (DTD) permettant de déclarer les éléments et les attributs utiles, ainsi que leurs comportements dans un document XHTML.
Par exemple, un module de DTD, dénommé xhtml-forms-1.mod, énonce les caractéristiqes complètes des marqueurs HTML 4 relatifs au formulaire tels que <form>, <input>, <textarea>, etc.. De plus, les valeurs d'éléments et d'attributs sont également déterminées. L'attribut method de <form> ne pourra accepter que deux choix possibles, get (par défaut) ou post.
<!-- Extrait du module xhtml-form-1.mod --> <!-- Définition de l'élément form --> <!ENTITY % form.qname "form" > <!ENTITY % form.element "INCLUDE" > <![%form.element;[ <!ENTITY % form.content "( %BlkNoForm.mix; | %fieldset.qname; )+"> <!ELEMENT %form.qname; %form.content; > ]]> <!-- Fin de la définition de l'élément form --> <!-- Définition des attributs de l'élément form --> <!ENTITY % form.attlist "INCLUDE" > <![%form.attlist;[ <!ATTLIST %form.qname; %Common.attrib; action %URI.datatype; #REQUIRED method ( get | post ) 'get' enctype %ContentType.datatype; 'application/x-www-form-urlencoded' accept-charset %Charsets.datatype; #IMPLIED accept %ContentTypes.datatype; #IMPLIED> <!-- Fin de la définition des attributs de l'élément form --> ]]> <!-- Formulaire possible --> <form action="http://www.site.com/cgi-bin/form.pl" method="post" enctype="multipart/form-data" accept-charset="ISO_8859-1" accept="file"> Contenu du formulaire... </form> |
Le langage XHTML allie la puissance, la souplesse et la rigueur du XML à l'ensemble des éléments et attributs du HTML dont l'incontournabilité est aujourd'hui indéniable et d'ailleurs incontesté.