Quelle est la différence entre html et xhtml. Syntaxe XHTML. Règles XHTML de base

Attention, pour ne pas oublier différences entre HTML et XHTML.

Donc, HTML Et XHTML- ce sont des formats de balisage de pages Web spéciaux que le navigateur « comprend ».

Vous trouverez ci-dessous une petite théorie sur HTML et XHTML et une liste de quelques différences entre eux...

HTML(de l'anglais HyperText Markup Language - « langage de balisage hypertexte ») est un langage de balisage de documents standard sur le World Wide Web. La plupart des pages Web sont créées en HTML (ou XHTML). Le langage HTML est interprété par le navigateur et affiché sous forme de document sous une forme lisible par l'homme.
HTML est une application (« cas particulier ») du SGML (Standard Generalized Markup Language) et est conforme aux normes internationales Norme ISO 8879. XHTML est une application de XML.

HTML est un langage de balisage de documents balisé. Tout document sur Langage HTML est un ensemble d'éléments, et le début et la fin de chaque élément sont indiqués par des marques spéciales - des balises. Les éléments peuvent être vides, c'est-à-dire ne contenir aucun texte ou autre donnée (par exemple, une balise de saut de ligne
). Dans ce cas, la balise fermante n'est généralement pas spécifiée. De plus, les éléments peuvent avoir des attributs qui définissent certaines de leurs propriétés.

Chaque document HTML qui répond Spécifications HTML toute version doit commencer par une ligne de déclaration de version HTML.
Si cette ligne n'est pas spécifiée, alors réalisez affichage correct document dans le navigateur devient plus difficile.

XHTML(English Extensible Hypertext Markup Language) est un langage de balisage de pages Web, comparable en capacités à HTML, créé sur la base de XML. Comme HTML, XHTML est conforme à la spécification SGML car XML en est un sous-ensemble. XHTML 1.1 a été approuvé en tant que recommandation du consortium World Wide Web(W3C) 31 mai 2001.

Un document XHTML valide (c'est-à-dire répondant à toutes les règles) est un document qui satisfait spécification technique. Idéalement, tous les navigateurs devraient suivre les normes du Web et, par conséquent, les documents valides devraient être affichés dans tous les navigateurs sur toutes les plateformes. La validation des documents XHTML est recommandée même si elle ne garantit pas la compatibilité entre navigateurs. Un document peut être vérifié par rapport à la spécification à l'aide du service de validation de balisage en ligne du W3C. La validation détectera et clarifiera les erreurs dans le balisage XHTML.

Différences entre XHTML et HTML
- Tous les éléments doivent être fermés. Balises qui n'ont pas de balise de fermeture
(Par exemple, ou
) doit avoir un / à la fin (par exemple,
).

Les attributs booléens sont écrits sous forme développée. Par exemple, vous devriez écrire selected="sélectionné"> ou .

Les noms de balises et d’attributs doivent être écrits lettres minuscules(Par exemple, alt="" /> à la place ).

XHTML est beaucoup plus strict concernant les erreurs de code ;< и & везде, даже в URL,
doit être remplacé< и & соответственно. По рекомендации W3C браузеры,
S'ils rencontrent une erreur dans XHTML, ils doivent la signaler et ne pas traiter le document. Pour
Les navigateurs HTML ont dû essayer de comprendre ce que l'auteur voulait dire.
- L'encodage par défaut est UTF-8 (contrairement au HTML, où l'encodage est
la valeur par défaut est ISO 8859-1).

Pour les pages XHTML, il est recommandé de définir le type MIME - application/xhtml+xml, mais
ce n'est d'ailleurs pas obligatoire - navigateur Internet Explorer 8 ans et moins
les versions ne pourront pas traiter la page, donc avec XHTML 1.0 traditionnellement
Le type MIME pour HTML est text/html.

La norme recommande également d'indiqueravant
DTD, mais ce n'est d'ailleurs pas nécessaire - Navigateur Internet L'explorateur perçoit
une telle indication (comme tout autre texte avant), comme signe que
Quoi cette page doit être affiché en mode compatibilité ascendante, pas
selon la norme. Il existe trois types de documents XHTML : stricts, transitionnels et
ensemble de cadres. La version la plus courante et universelle de XHTML est
transitionnel car il vous permet d'utiliser une iframe
(incorporant le contenu d'une page Web dans une autre) et attribut cible aux liens
(pour indiquer, par exemple, que le lien doit s'ouvrir dans une nouvelle fenêtre).
La version cadre (frameset anglais) est une version étendue
transitionnel, en y ajoutant, comme son nom l'indique, la possibilité d'installer
cadre au lieu du corps. La DTD XHTML stricte ne contient pas beaucoup
balises et attributs décrits dans la DTD transitoire et obsolète.

Merci http://ru.wikipedia.org/

XHTML signifie ExtensibleHypertext Markup Language et en russe - Extensible Hypertext Markup Language. Veuillez noter qu'il n'est pas étendu, mais extensible. Cela signifie que cette langue

Il est toujours en cours de réapprovisionnement (élargi). Alors, qu’est-ce que XHTML ? La principale différence entre XHTML et HTML réside dans la manière dont le document (page Web) est traité. Il vaut la peine d'introduire une définition supplémentaire. Analyseur - un programme ou une partie de programme qui exécute analyse. On l'appelle aussi analyseur. Pour dire encore plus simple, alors ce programme effectue une analyse de toute la structure de la page, de l'intégralité du code de la page. En HTML, lorsqu'une erreur était trouvée, elle était corrigée lors de l'analyse, ce qui nécessitait du temps supplémentaire - le navigateur devait comprendre ce que l'auteur (développeur) voulait écrire. Par exemple, s’il y avait une erreur dans une balise, elle était simplement affichée avec le reste du texte.

Une autre différence est que tous les éléments doivent être fermés et que les balises individuelles doivent être suivies d'un /, par exemple :
. J'écrirai un article séparé sur les balises. gros article, j'écrirai également sur chaque balise séparément. Le codage en XHTML est UTF-8 (le plus courant actuellement), tandis qu'en HTML, ISO 8859-1 a été utilisé.

Qu'est-ce que la modularisation XHTML ?

La modularisation XHTML est la division de XHTML 1.0, par rapport à HTML 4, en une collection de modules abstraits qui fournissent des types spécifiques de fonctionnalités. Ces modules abstraits sont implémentés dans cette spécification en utilisant le langage XML Document Type Definition, mais une implémentation utilisant le schéma XML est attendue.
Les règles de définition des modules abstraits et de leur mise en œuvre à l'aide de DTD sont également définies dans ce document.


xhtml

Ces modules peuvent être combinés entre eux et avec d'autres modules pour créer un sous-ensemble et une extension de types de documents XHTML qui sont considérés comme membres de la famille de types de documents XHTML.

Pourquoi la modularisation XHTML est-elle nécessaire ?

Modèle de formatage

Les versions précédentes de HTML tentaient de définir les parties d'un tel modèle qui devaient être utilisées par l'agent utilisateur (UA) lors du formatage d'un document. Avec l'avènement de , le W3C a commencé le processus de séparation de la présentation de la structure. XHTML 1.0 prend en charge cette séparation, et ce document poursuit l'évolution du HTML et de ses descendants dans cette direction. En conséquence, ce document n'impose aucune exigence concernant le modèle de formatage associé à la présentation des documents balisés à l'aide des types de documents de la famille XHTML.


xhtml

Au lieu de cela, ce document recommande aux auteurs de contenu de s'appuyer sur des moteurs de style tels que CSS pour déterminer le modèle de formatage de leur contenu.
Si les agents utilisateurs prennent en charge les moteurs de style, alors les documents seront formatés comme prévu.
Si les agents utilisateurs ne prennent pas en charge les moteurs de style, alors les documents seront formatés comme déterminé par l'agent utilisateur lui-même. Cela permet aux agents utilisateurs de la famille XHTML de prendre en charge des modèles de formatage complexes sur les appareils lorsque cela est possible, et de modifier les modèles de formatage sur les appareils lorsque cela est autorisé.

Lorsque vous écrivez du code XHTML, vous suivez la même syntaxe que celle typique du HTML. Cependant, la différence entre HTML et XHTML réside dans un ensemble de certaines règles obligatoires.

Les règles XHTML sont les suivantes.

  1. Toutes les balises et leurs attributs doivent être saisis en minuscules (caractères minuscules).
  2. Toutes les valeurs d'attribut doivent être placées entre guillemets.
  3. Vous devez fermer toutes les balises, même celles auxquelles aucune balise de fermeture n’est associée.
  4. L'imbrication correcte des balises doit être respectée.
  5. Vous ne pouvez pas utiliser des attributs de balise raccourcis.
  6. Au lieu de l'attribut name, vous devez spécifier id .
  7. Vous devez définir une DTD (définition du type de document) à l'aide de l'élément .

Les balises doivent être en minuscules

Cette règle est née du fait que XHTML est sensible à la casse, donc ses balises


Et
varier. Pour éviter toute confusion, la syntaxe force toutes les balises, ainsi que leurs attributs, à être en minuscules. L'exemple 3.1 montre une utilisation incorrecte des balises.

Exemple 3.1. Mauvaise orthographe des balises

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor assis amet...

Dans cet exemple, les balises Et

Tapé en caractères majuscules, ce qui est une erreur. L'exemple 3.2 montre le code correct.

Exemple 3.2. Orthographe correcte des balises

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor assis amet...



Toutes les valeurs d'attribut doivent être placées entre guillemets

Bien que HTML vous oblige également à mettre les valeurs entre guillemets, leur absence n'affecte en rien l'exactitude du code. On peut donc dire qu'en HTML l'utilisation de guillemets n'est qu'une recommandation. En XHTML, l'utilisation de guillemets a été élevée au rang de règle et toutes les valeurs d'attribut doivent y être spécifiées uniquement (exemple 3.3).

Exemple 3.3. Utiliser des guillemets

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Cheburachka Shapokliak
1 5
4 13


Dans cet exemple, tous les attributs de balise

, et aussi
sont donnés entre guillemets.

Toutes les balises doivent être fermées

En HTML, les balises sont divisées en deux catégories : les balises appariées, également appelées conteneurs, et les balises simples. Les balises appariées sont constituées d'une balise d'ouverture et d'une balise de fermeture et, dans certains cas, la balise de fermeture peut être omise. En XHTML, la balise de fermeture est obligatoire toujours et partout.

.

L'exemple 3.4 montre le code avec une erreur due à la balise manquante

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Exemple 3.4. Pas de balise de fermeture

et se faufile dans l'avion,

et lui met une bombe dans le ventre, ,

, Certains développeurs ignorent les balises de fermeture

, mais en XHTML leur absence est considérée comme une erreur. L'exemple 3.5 montre l'utilisation correcte des listes.

XHTML 1.0 IE Cr Op Sa Fx

XHTML

  • Exemple 3.5. Ajouter une liste
  • Est
  • Ouest
  • Sud


Nord

Dans cet exemple, chaque balise d'ouverture a une balise de fermeture correspondante.Élément

ne fait pas partie du document XHTML, il ne nécessite donc pas de balise de fermeture.

Quant aux balises simples, elles doivent se terminer par une barre oblique avant le crochet fermant, comme le montre l'exemple 3.6.

XHTML 1.0 IE Cr Op Sa Fx

XHTML



Exemple 3.6. Ajouter une image

Dans cet exemple, notez l'espace requis qui précède la construction />.

L'imbrication correcte des balises doit être respectée

XHTML critique les types d'erreurs suivants : imbrication incorrecte d'une balise dans une autre et placement d'une balise dans un conteneur inapproprié.

Imbrication correcte des balises

Chaque balise doit être située à l'intérieur d'une autre balise, et leur « intersection » n'est pas autorisée, comme le montre l'exemple 3.7.

Exemple 3.7. Erreur avec la position de la balise

XHTML 1.0 IE Cr Op Sa Fx

XHTML

Lorem ipsum dolor s'asseoir amet...



Dans cet exemple, la balise fermante précède la balise, alors que ce devrait être l'inverse, ce qui conduit à une erreur. Une fois que vous échangez les balises, le code devient correct.

Bien que le validateur de code génère une erreur si les balises sont mal positionnées, les navigateurs affichent toujours correctement la page Web.

Hiérarchie des balises

Toutes les balises ont un système hiérarchique strict dans le sens où chaque balise doit être à l'intérieur d'une autre balise et rien d'autre. Au sommet conditionnel se trouve un élément racine , et toutes les autres balises peuvent contenir d'autres balises, appelées balises enfants. Par conséquent, les balises enfants se trouvent dans l’élément parent.

Il est nécessaire de connaître le système de subordination des balises et de le suivre lors de l'écriture du code XHTML. L'exemple 3.8 montre la structure de base d'un document.

Exemple 3.8. Structure du document

XHTML 1.0 IE Cr Op Sa Fx

Nouveau document

Dans cet exemple, la balise est donnée en premier , à l'intérieur duquel se trouvent les balises Et . Section intérieure le titre du document est stocké ( ) et l'encodage des pages ( <meta> ).</p> <h2>Vous ne pouvez pas utiliser des attributs de balise raccourcis</h2> <p>Un attribut sans valeur attribuée est appelé attribut abrégé. L'exemple 3.9 montre un formulaire utilisant de tels attributs.</p> <p>Exemple 3.9. Erreur lors de l'utilisation des attributs</p> <p>XHTML 1.0 IE Cr Op Sa Fx</p><p> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>XHTML



La « valeur vide », comme cette erreur est également appelée, peut être facilement corrigée en attribuant à l'attribut une valeur qui correspond au nom.

Dans le tableau 3.2 montre certains attributs et comment ils sont écrits en HTML et XHTML.
HTML XHTML
Tableau 3.2. Mappage d'attributs en HTML et XHTML à carreaux
vérifié="vérifié" compact
compact="compact" désactivé
désactivé="désactivé" ismap
ismap="ismap" multiple
multiple="multiple" nohref
nohref="nohref" noredimensionner
noresize="noresize" noshade
noshade="noshade" maintenant
nowrap="nowrap" lecture seule
readonly="lecture seule" choisi

sélectionné="sélectionné"

L'exemple 3.10 montre l'utilisation correcte du formulaire ci-dessus.

XHTML 1.0 IE Cr Op Sa Fx

XHTML



Exemple 3.10. Utilisation correcte des attributs

Au lieu de l'attribut name, vous devez spécifier id , ,