web-dev-qa-db-fra.com

Quelles sont les principales différences entre XHTML et HTML?

Quelles sont les principales différences entre XHTML et HTML? Laquelle est la meilleure à votre avis et pourquoi? La plupart des navigateurs prennent-ils en charge les deux?

44
alsadk

XHTML est basé sur XML , et nécessite donc que la source soit bien formée . Étant donné que XHTML est plus strict que HTML, le moteur de rendu nécessite moins de prétraitement.

XHTML doit être servi en tant qu'application/xhtml + xml pour que vous puissiez profiter des avantages, sinon XHTML sera traité comme du HTML ordinaire. Le servir comme "application/xhtml + xml" n'est pas courant sur le Web en raison d'Internet Explorer, qui ne peut pas gérer XHTML.

18
Andy

C'est probablement le meilleur article que j'ai lu sur les différences et les mérites relatifs de chacun:

HTML contre XHTML

Lequel devrions-nous utiliser, HTML ou XHTML, et pourquoi?

Il y a aussi une comparaison assez technique sur le WHATWG wiki .

18
Charles Roper

Le langage de balisage hypertexte extensible, ou XHTML, est un langage de balisage qui a la même profondeur d'expression que HTML, mais est également conforme à la syntaxe XML.

XHTML est "la version moderne de HTML 4".

Plus d'informations: wikipedia et W3C

9
Guido

La différence est que XHTML est basé sur XML tandis que HTML est basé sur SGML.

Les navigateurs utilisent l'analyseur SGML pour le contenu envoyé avec le type de contenu text/html et l'analyseur XML pour application/xhtml+xml.

Lors de l'utilisation de l'analyseur SGML, les navigateurs continueront l'analyse même s'ils rencontrent une erreur de syntaxe dans le fichier. C'est pourquoi tant de gens pensent qu'ils font du XHTML lorsqu'ils envoient des fichiers XML au navigateur. Il s'agit en fait d'une erreur car cela déclenchera de nombreuses erreurs d'analyse dans le navigateur et ralentira le processus de rendu.

Lors de l'utilisation de l'analyseur XML, le navigateur arrête l'analyse lorsqu'une erreur de syntaxe est rencontrée et affiche une erreur XML. Cela n'est bien sûr vrai que pour les navigateurs qui ont un analyseur XML pour le contenu HTML, ce qui n'est pas vrai pour Internet Explorer qui ne téléchargera que le fichier et ne l'affichera pas.

Que devez-vous faire alors?

Vous devez utiliser XHTML si vous avez besoin de la vérification de la syntaxe et de la structure stricte imposée par XML. Vous devez garder à l'esprit que vous devez envoyer votre contenu XHTML à Internet Explorer avec le mauvais type de contenu avec tous les problèmes impliqués. Vous devez également garder à l'esprit que votre document se cassera chaque fois qu'un contenu non valide se trouve dans le fichier, vous devez donc prendre grand soin de nettoyer toute entrée utilisateur.

Vous devez utiliser HTML pour toute autre chose. Le HTML fonctionne et est une norme largement prise en charge aujourd'hui. Même le prochain HTML standard 5 définit une syntaxe basée sur SGML, cela durera donc.

Gardez à l'esprit que quel que soit le format que vous choisissez, valider votre sortie est toujours une bonne idée pour détecter une erreur de syntaxe.

9
Vincent Robert

Il ne s'agit pas de savoir lequel est le meilleur; le HTML continue de se développer et HTML5 est en route (depuis des années, cependant :)) et propose de nouveaux éléments pour une gestion plus facile des nouvelles technologies comme le multimédia dans les pages Web.

D'autre part, XHTML concerne la rigueur de XML, si nous disons garder les choses propres. Si vous conservez votre document HTML bien formé (fermez chaque élément ouvert, conservez les éléments imbriqués dans l'arborescence), vous tirez le meilleur parti du monde XHTML/XML et pouvez toujours utiliser le format HTML, déclarant vos documents à être HTML, mais toujours les garder "propres" (bien formés). Je ne pense pas que nous devrions déclarer chacun d'eux "meilleur"; ils peuvent coexister. Il s'agit simplement de faire nos choses comme il faut.

3
zappan

Comme indiqué précédemment, XHTML doit être (en théorie) du XML valide. En théorie (mais pas en pratique), le XHTML non conforme ne doit pas être rendu par le navigateur.

Il y a très rarement un avantage à utiliser l'un sur l'autre, alors écrivez ce que vous préférez personnellement - tant que vous le faites régulièrement. HTML5, qui sera la future norme Web, prendra en charge les balises de style XHTML et HTML 4.01 (la précédente via la "sérialisation XML" facultative), et XHTML2 semble être pratiquement mort dans l'eau sans aucun fournisseur activement le soutenir.

3
Halo

Résumé: utilisez HTML.

Il y a beaucoup de différences , et beaucoup de gens intelligents (qui savent de quoi ils parlent: D) ​​ ontdéjàrésumé la plupart des avantages et des inconvénients.

1
cic

Un exemple de différence est la balise break.

<br>

est du HTML correct, mais en XHTML où les éléments doivent être validés en XML, vous devez fermer automatiquement la balise:

<br />
0
Dave Rutledge