HTML VS. Xhtml

HTML VS. Xhtml

Html et Xhtml sont les deux langues dans lesquelles les pages Web sont écrites. HTML est basé sur SGML tandis que XHTML est basé sur XML. Ils sont comme les deux côtés de la même pièce. XHTML était dérivé de HTML pour se conformer aux normes XML. Par conséquent, XHTML est strict par rapport à HTML et ne permet pas à l'utilisateur de s'en tirer avec des tours de codage et de structure.

La raison du développement de XHTML était des balises spécifiques du navigateur alambiquées. Les pages codées dans HTML sont apparues différentes dans différents navigateurs.

Tableau de comparaison

Graphique de comparaison HTML contre XHTML
HtmlXhtml
Introduction (de Wikipedia) Le langage HTML ou Hypertext Bualip est le principal langage de balisage pour la création de pages Web et d'autres informations qui peuvent être affichées dans un navigateur Web. XHTML (Langue de balisage hypertexte extensible) est une famille de langages de balisage XML qui reflètent ou étendent les versions du langage de balisage hypertexte largement utilisé (HTML), la langue dans laquelle les pages Web sont écrites.
Extension de nom de fichier .html, .htm .xhtml, .xht, .xml, .html, .htm
Type de médias Internet texte / html application / xhtml + xml
Développé par W3C et whatwg World Wide Web Consortium
Type de format Format de fichier de document Langage de balisage
Étendu de SGML XML, HTML
Représente Langage Signalétique Hyper Text Langue de balisage hypertexte extensible
Application Application du langage de balisage généralisé standard (SGML). Application de XML
Fonction Les pages Web sont écrites en HTML. Version étendue de HTML qui est plus stricte et basée sur XML.
Nature Cadre flexible nécessitant un analyseur indulgent spécifique au HTML. Sous-ensemble restrictif de XML et doit être analysé avec des analyseurs XML standard.
Origine Proposé par Tim Berners-Lee en 1987. Recommandation du World Wide Web Consortium en 2000.
Versions Html 2, html 3.2, html 4.0, html 5. Xhtml 1, xhtml 1.1, xhtml 2, xhtml 5.

Aperçu de HTML et XHTML

Html est le langage de marque prédominant pour les pages Web. HTML crée des documents structurés en désignant la sémantique structurelle pour des titres de texte, des listes, des liens, des citations, etc. Il permet à des images et des objets d'être intégrés pour créer des formes interactives. Il est écrit en étiquettes entourées de supports d'angle - par exemple, . Des scripts dans des langages comme JavaScript peuvent également être chargés.

Xhtml est une famille de langues XML qui étendent ou reflètent les versions de HTML. Il ne permet pas d'omission de balises ou d'utilisation de la minimisation des attributs. XHTML exige qu'il y ait une balise de fin à chaque balise de départ et toutes les balises imbriquées doivent être fermées dans le bon ordre. Par exemple, alors que
est valide en html, il serait nécessaire d'écrire
en xhtml.

Caractéristiques des documents HTML vs XHTML

Les documents HTML sont composés d'éléments qui ont trois composants - une paire de balises d'élément - balise de démarrage, balise de fin; Attributs d'élément donnés dans les balises et le contenu réel, textuel et graphique. L'élément HTML est tout ce qui se trouve entre et y compris les balises. (La balise est un mot-clé qui est enfermé dans les supports d'angle).

Les documents XHTML n'ont qu'un seul élément racine. Tous les éléments, y compris les variables, doivent être en bas cas et les valeurs attribuées doivent être entourées de guillemets, fermés et imbriqués pour être reconnus. Il s'agit d'une exigence obligatoire dans XHTML contrairement à HTML où il est facultatif. La déclaration de doctype déterminerait les règles de documents à suivre.

Mis à part les différentes déclarations d'ouverture d'un document, les différences entre un HTML 4.01 et xhtml 1.0 Document dans chacun des DTDS correspondants - est largement syntaxique. La syntaxe sous-jacente de HTML permet de nombreux raccourcis que XHTML ne fait pas, comme des éléments avec des étiquettes d'ouverture ou de fermeture facultatives, et même des éléments vides qui ne doivent pas avoir une balise de fin. En revanche, XHTML exige que tous les éléments aient une balise d'ouverture ou une balise de clôture. XHTML, cependant, introduit également un nouveau raccourci: une balise XHTML peut être ouverte et fermée dans la même balise, en incluant une barre oblique avant la fin de la balise comme ceci:
. L'introduction de cette sténographie, qui n'est pas utilisée dans la déclaration SGML pour HTML 4.01, peut confondre les logiciels antérieurs peu familiers avec cette nouvelle convention. Une solution pour cela consiste à inclure un espace avant de fermer la balise, en tant que telle:
.

Spécification XHTML vs HTML

HTML et XHTML sont étroitement liés et peuvent donc être documentés ensemble. Les deux html 4.01 et xhtml 1.0 ont trois sous-spécifications - strict, lâche et cadres. La différence des déclarations d'ouverture d'un document distingue HTML et XHTML. D'autres différences sont syntaxiques. HTML permet des raccourcis comme des éléments avec des balises en option, des éléments vides sans étiquettes de fin. XHTML est très strict quant aux étiquettes d'ouverture et de fermeture. XHTML utilise l'attribut de fonctionnalité de définition du langage intégré. Toutes les exigences de syntaxe de XML sont incluses dans un document XHTML bien formé.

Notez cependant que ces différences ne s'appliquent que lorsqu'un document XHTML est servi en tant qu'application de XML; c'est-à-dire avec un type de mime d'application / xhtml + xml, application / xml ou texte / xml. Un document XHTML servi avec un type MIME de texte / HTML doit être analysé et interprété comme HTML, de sorte que les règles HTML s'appliquent dans ce cas. Une feuille de style écrite pour un document XHTML servi avec un type MIME de texte / HTML peut ne pas fonctionner comme prévu si le document est ensuite servi avec un type de mime d'application / xhtml + xml. Pour plus d'informations sur les types de mime, assurez-vous de lire les types de mime.

Cela peut être particulièrement important lorsque vous servez des documents XHTML en tant que texte / HTML. À moins que vous ne soyez conscient des différences, vous pouvez créer des feuilles de style qui ne fonctionneront pas comme prévu si le document a servi de véritable xhtml.

Lorsque les termes «xhtml» et «document xhtml» apparaissent dans le reste de cette section, ils se réfèrent au balisage XHTML servi avec un type de mime XML. Le balisage XHTML a servi de texte / HTML est un document HTML en ce qui concerne les navigateurs.

Comment migrer de HTML vers XHTML

Comme recommandé par W3C, les étapes suivantes peuvent être suivies pour la migration de HTML vers XHTML (XHTML 1.0 documents):

  • Inclure XML: les attributs Lang et Lang sur les éléments qui attribuent le langage.
  • Utilisez une syntaxe d'éléments vides sur les éléments spécifiés comme vides en html.
  • Inclure un espace supplémentaire dans les étiquettes d'éléments vides:
  • Incluez des balises clôturées pour les éléments qui peuvent avoir du contenu mais qui sont vides:
  • N'incluez pas la déclaration XML.

Suivant soigneusement les directives de W3C sur la compatibilité, un agent utilisateur (navigateur Web) devrait être en mesure d'interpréter des documents avec une facilité égale comme HTML ou XHTML.

Comment migrer de XHTML à HTML

Pour comprendre le subtil Différences entre HTML et XHTML, Considérez la transformation d'un xhtml valide et bien formé 1.0 Document dans un HTML 4 valide.01 Document. Pour faire cette traduction, il faut les étapes suivantes:

  • La langue pour un élément doit être spécifiée avec un égouter attribut plutôt que le xhtml XML: Lang attribut. XHTML utilise l'attribut de fonctionnalité de définition du langage intégré de XML.
  • Supprimer l'espace de noms XML (xmlns = uri). HTML n'a pas d'installations pour les espaces de noms.
  • Modifiez la déclaration de type de document à partir de xhtml 1.0 à Html 4.01.
  • S'il est présent, supprimez la déclaration XML. (Généralement c'est: ).
  • Assurez-vous que le type MIME du document est défini sur texte / html. Pour HTML et XHTML, cela vient du HTTP Type de contenu En-tête envoyé par le serveur.
  • Modifiez la syntaxe XML E-Element en un élément vide de style HTML (
    pour
    ).