Modularisation XHTML
XHTML Modularisation
Afin d'éviter de multiples futurs versions, le W3c propose de faire évoluer le XHTML avec une décomposition de ce langage en modules. Il existe 28 modules différents dont 4 sont sont nécessaires pour que le document soit conforme : les modules de base Structure, Text, HyperText et List. Tous groupés, ces 28 modules nous donnent XHTML 1.1.
Application: Dans la pratique, on crée sa propre DTD qui fait référence aux différents modules que l'on veut utiliser. XHTML devient ainsi une sorte de Lego, où l'on peut construire sa DTD selon ses besoins. XHTML Modularisation est donc une architecture permettant de grouper des balises de même logique en modules, et de grouper ces modules afin de créer un langage spécifique.
Déclaration de sa propre DTD via la balise DOCTYPE
<!DOCTYPE html PUBLIC "-//Easy-Micro//DTD XHTML-Easy-micro 1.0//EN"
"http://www.easy-micro.com/dtd/xhtml-easy-micro10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
...
<!DOCTYPE html PUBLIC "-//Easy-Micro//DTD XHTML-Easy-micro 1.0//EN"
"http://www.easy-micro.com/dtd/xhtml-easy-micro10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
...
Contenu de la DTD xhtml-easy-micro10.dtd
<?xml version="1.0" encoding="iso-8859-1"?>
<!ENTITY % XHTML.ns "http://www.w3.org/1999/xhtml" >
<ENTITY % xhtml-framework.mod
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN" "xhtml11-framework-1.mod" >
%xhtml-framework.mod;
<!ENTITY % xhtml-struct.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Structure 1.0//EN" "xhtml11-struct-1.mod" >
%xhtml-struct.mod;
<!ENTITY % xhtml-text.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Text 1.0//EN" "xhtml11-text-1.mod" >
%xhtml-text.mod;
<!ENTITY % xhtml-hypertext.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN"
"xhtml11-hypertext-1.mod" >
%xhtml-hypertext.mod
<!ENTITY % xhtml-list.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN" "xhtml11-list-1.mod" >
%xhtml-list.mod;
<!ENTITY % xhtml-image.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN" "xhtml11-image-1.mod" >
%xhtml-image.mod;
<?xml version="1.0" encoding="iso-8859-1"?>
<!ENTITY % XHTML.ns "http://www.w3.org/1999/xhtml" >
<ENTITY % xhtml-framework.mod
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN" "xhtml11-framework-1.mod" >
%xhtml-framework.mod;
<!ENTITY % xhtml-struct.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Structure 1.0//EN" "xhtml11-struct-1.mod" >
%xhtml-struct.mod;
<!ENTITY % xhtml-text.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Text 1.0//EN" "xhtml11-text-1.mod" >
%xhtml-text.mod;
<!ENTITY % xhtml-hypertext.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN"
"xhtml11-hypertext-1.mod" >
%xhtml-hypertext.mod
<!ENTITY % xhtml-list.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN" "xhtml11-list-1.mod" >
%xhtml-list.mod;
<!ENTITY % xhtml-image.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN" "xhtml11-image-1.mod" >
%xhtml-image.mod;
Cette DTD contien la déclaration du cadre de travail (framework), les 4 modules de base pour que le document soit conforme (Structure, Text, HyperText et List) et un module suplémentaire (ici le module image). Plus d'infos... en Anglais.