Quelle est la différence entre HTML et XML ?

HTML et XML sont deux langages de balisage populaires dans le développement d'applications et le développement Web. Même s'ils portent des noms similaires, leurs cas d'utilisation sont différents. Le HTML est principalement utilisé pour développer l'interface utilisateur d'une application. Il affiche le texte, les images, les boutons, les cases à cocher et les listes déroulantes d'un site Web ou d'une application. En revanche, l'objectif principal du XML est l'échange et le transfert de données. Il code les données dans un format lisible à la fois par les machines et par les humains. Le XML décrit la nature des données, tandis que le HTML détermine la manière de les afficher pour l'utilisateur final.

À propos du XML »

Quelles sont les similitudes entre le HTML et le XML ?

XML et HTML - ainsi que d'autres langages comme LaTeX, SVG, Markdown et SGML - appartiennent à une famille de langages de programmation appeléslangages de balisage.

Un langage de balisage est un système permettant de décrire des données à la fois aux humains et à d'autres logiciels. Il utilise une syntaxe facile à lire qui définit la structure, le type, les attributs, les relations entre les parties, l'affichage et la signification des données. 

En tant que langages de balisage, le HTML et le XML présentent plusieurs similitudes.

Syntax

Les langages de balisage ont généralement une syntaxe similaire, notamment des balises et des attributs.

Balises

Les balises sont désignées par des symboles tels que des crochets, des virgules et des points. Elles fournissent une structure et un type aux éléments de données. Elles définissent le début et la fin de chaque élément de contenu. En XML et HTML, les balises sont placées entre crochets, chaque élément étant compris entre deux balises d'ouverture et de fermeture.

Attributs

Les attributs fournissent plus d'informations sur un élément, comme l'URL d'une image. En HTML et XML, les attributs d'un élément sont définis à l'intérieur de la balise d'ouverture.

Structure bien définie

Les documents HTML et XML doivent respecter les règles de syntaxe du langage donné pour un traitement correct. Un document qui respecte les règles est considéré comme un document bien formé. Un document bien formé nécessite les éléments suivants :

  1. Un seul élément racine
  2. Balises de fermeture (ou d'auto-fermeture) pour tous les éléments
  3. Imbrication correcte avec les balises incluses dans d'autres balises
  4. Description correcte des caractères spéciaux, tels que & pour le symbole &

Les développeurs utilisent un éditeur de texte ou un environnement de développement intégré (IDE) pour écrire et vérifier la syntaxe.

En savoir plus sur les IDE »

Utilisation

Les développeurs n'utilisent généralement pas eux-mêmes les langages de balisage HTML ou XML. Ces langages sont combinés à des langages de script pour créer des pages Web et des applications dynamiques. Les applications dynamiques changent en raison des nouvelles données entrantes.

Dans le cas du HTML, les pages d'application sont dynamiques grâce à des langages de script qui génèrent du nouveau code HTML. Pour le XML, les langages de script utilisent de nouvelles informations pour mettre à jour les paramètres.

Indépendance de la plateforme

L'indépendance de la plateforme est la capacité d'un langage à fonctionner sur différents systèmes d'exploitation et plates-formes sans nécessiter de modifications. Le XML et le HTML sont tous deux basés sur du texte et utilisent une syntaxe simple. Cela les rend faciles à interpréter par différentes applications logicielles et systèmes d'exploitation. Les codes XML et HTML fonctionnent tels quels sur les navigateurs et les différentes plateformes mobiles.

Principales différences de syntaxe : HTML vs. XML

La principale différence entre le HTML et le XML réside dans leurs balises. Le HTML possède des balises prédéfinies que tout le monde a l’obligation d’utiliser. Vous ne pouvez pas créer vos propres balises lorsque vous écrivez du HTML. Le XML, quant à lui, utilise des balises personnalisées que vous pouvez définir en tant que créateur de document.

Par la suite, nous parlerons plus en détail des différences entre le HTML et le XML en termes de balises.

Balises prédéfinies

Dans le langage HTML, il existe des balises prédéfinies. En d'autres termes, la balise elle-même provient d'une liste définie par la norme HTML. La norme HTML actuelle est HTML5. 

Voici des exemples de balises HTML5 prédéfinies :

  • <header> est la balise indiquant l'en-tête du document
  • <p> est la balise indiquant un paragraphe
  • <h1> à <h6> sont des balises permettant de définir six niveaux de titres
  • <a> est la balise indiquant un lien hypertexte
  • <img> est la balise indiquant une image
  • <div>est la balise d'un élément conteneur permettant de regrouper d'autres éléments
  • <body>est une balise qui définit le contenu principal

À l'inverse, les balises XML sont extensibles, et donc adaptées à l'objectif du document. En tant que créateur de documents, vous devez définir les balises ainsi que les attributs. Il peut s'agir de n'importe quelle combinaison de lettres et de chiffres.

En règle générale, les créateurs de documents utilisent des mots simples pour décrire les données. Pour garantir la validation des documents et une compréhension commune, vous devez rédiger un schéma XML qui définit les balises et les attributs.

Le tableau suivant donne quelques exemples de syntaxe HTML et XML.

HTML

XML

<p class="body_paragraph">Il s'agit d'un paragraphe</p>

class= signifie que l'élément possède un attribut de classe, body_paragraph, qui peut être utilisé pour appliquer des styles.

<country language="English">Canada</country>

pays indique un élément de pays. langue indique que l'élément possède un attribut de langue qui est l'anglais.

<body>

<h1>Ceci est un titre</h1>

<p class="body_paragraph">Il s'agit d'un paragraphe</p>

<div>

<h2>Ceci est un sous-titre </h2>

<p>Ceci est un autre paragraphe</p>

</div>

</body>

<continent name="Europe">

<country language="English">

Royaume-Uni

<currency>GBP</currency>

</country>

<country language="German">

Allemagne

<currency>euro</currency>

</country>

</continent>

Balises auto-fermantes

Dans le langage HTML, certains éléments peuvent utiliser des balises auto-fermantes (signifiées par une barre oblique de fermeture) en raison d'un manque de contenu. Un nombre limité de balises HTML peuvent utiliser des balises à fermeture automatique.

En revanche, les balises auto-fermantes en XML peuvent exister à n'importe quel endroit où il n'y a pas de contenu.

HTML

XML

<img src="my_image.jpg" alt="My image" />

<country name="United Kingdom" currency="GBP" />

Autres différences majeures : HTML vs. XML

Malgré leurs similitudes, XML et HTML présentent plusieurs différences.

Objectif

HTML est communément appelé le langage du Web. L'objectif principal du HTML est d'afficher le contenu d’un document-texte sous une forme graphique dans le navigateur.

En revanche, XML permet à différentes applications d'échanger et de stocker des données et leur structure d'une manière qui soit universellement comprise. L'objectif premier du XML est de permettre à différents types d'applications, comme les bases de données, de comprendre et d'utiliser les mêmes données et leur structure. 

Typage

HTML utilise un typage dynamique, dans lequel les types d'attributs sont comparés lors de l'exécution au type de données attendu. Par exemple, si un attribut est censé être un nombre mais qu'il est saisi sous la forme d'une chaîne de caractères, il peut provoquer une erreur ou un comportement inattendu des pages web au moment de l'exécution. Le typage dynamique permet de modifier les pages web en fonction des nouvelles données entrantes.

XML, en revanche, utilise un typage statique, dans lequel les types d'attributs sont prédéfinis dans un schéma XML et vérifiés avant la compilation ou le traitement. Le typage statique entraîne moins d'erreurs, mais réduit également le contenu dynamique.

Schéma

Les définitions de type de document (DTD) ou les schémas fournissent une structure qui peut être validée et répétée avec des documents similaires. Elles renferment généralement des informations telles que les suivantes :

  • Version HTML ou XML utilisée
  • Éléments et attributs autorisés
  • Règles relatives à la structure du document et aux relations entre les éléments

Dans le langage HTML, la DTD est une déclaration incluse au début d'un document HTML.

Dans le langage XML, la DTD est un fichier distinct. La DTD est plus importante dans le langage XML car les balises XML sont définies par le créateur du document. La DTD contribue à une compréhension commune des balises par l'expéditeur et le destinataire des données.

Quand utiliser HTML ou XML ?

Le HTML est un type de balisage connu comme étant un langage de présentation. La désignation «  langage de présentation  » tient au fait qu'il s'agit d'un langage utilisé à des fins d'affichage. Vous pouvez utiliser le langage HTML pour créer des pages Web et des applications Web côté client. Il est généralement associé à des feuilles de style en cascade (CSS) pour la mise en page et au langage de programmation JavaScript pour les comportements dynamiques.

En revanche, vous pouvez utiliser le langage XML pour échanger les données entre deux applications ou systèmes. Pour comprendre le même format, les applications ont partagé des schémas XML qui définissent le contenu d'un fichier XML.

Même si le langage XML demeure largement utilisé, JSON, un autre langage de balisage léger utilisé pour échanger des données, est aujourd'hui plus populaire en raison de sa rapidité en matière d'analyse. Vous pouvez consulter les comparaisons entre JSON et XML pour choisir le format d'échange de données qui vous convient le mieux.

Comment utiliser le HTML et le XML ensemble

XML peut être intégré dans HTML et analysé en utilisant le langage de programmation JavaScript pour créer des pages Web dynamiques. De même, HTML peut également être intégré dans XML le cas échéant, en utilisant des données de caractères (CDATA) pour le texte en clair. Reportez-vous aux exemples suivants.

XML intégré dans HTML

HTML intégré dans XML

<html>

  <head>

    <title>Page XML intégrée</title>

    <script type="text/xml">

      <data>

        <item>

          <name>Pomme</name>

          <price>1.00</price>

        </item>

        <item>

          <name>Fruit de la passion</name>

          <price>2.00</price>

        </item>

      </data>

    </script>

  </head>

  <body>

    <h1>Prix dynamique des fruits</h1>

    <div id="output"></div>

    <script>

      var xml = document.querySelector('script[type="text/xml"]').textContent;

      analyseur var = nouveau DOMParser();

      doc var = analyseur.parseFromString(xml, "text/xml");

      sortie var = document.querySelector('#output');

      éléments var = doc.getElementsByTagName('item');

      pour (var i = 0; i < items.length; i++) {

        élément var = éléments[i];

        Nom de la variable = élément.getElementsByTagName('name')[0].textContent;

        prix de la variable = item.getElementsByTagName('price')[0].textContent;

        output.innerHTML += '<div><strong>' + name + '</strong>: ' + price + '</div>';

      }

    </script>

  </body>

</html>

<embeddedHTML>

    <title>Code HTML intégré au format XML</title>

    <description><![CDATA[

        <div>

            <h1>En-tête HTML intégré</h1>

            <p>Paragraphe HTML intégré.</p>

        </div>

    ]]></description>

</embeddedHTML>

Le langage XHTML (Extensible HyperText Markup Language) est un autre langage de balisage qui utilise les syntaxes définies par HTML et XML.

Résumé des principales différences : HTML vs. XML

 

HTML

XML

De quoi s'agit-il ?

Langage de balisage principalement utilisé pour afficher du contenu structuré dans un navigateur.

Langage de balisage principalement utilisé pour échanger des données structurées entre différents systèmes informatiques.

Année de sortie

1998.

1993.

Objectif

Langage de présentation.

Langage d'échange de données.

À utiliser lors de

La création de pages Web ou d'applications Web côté client.

L’échange de données entre deux systèmes (mais vérifiez si le format JSON est celui qui vous convient le mieux).

Balises

Balises prédéfinies.

Balises extensibles.

Typage

Dynamique.

Corrigé lors de l'utilisation d'un schéma XML.

Comment AWS peut-il répondre à vos exigences en matière de HTML et XML ?

Tous les services d'intégration de données Amazon Web Services (AWS) peuvent traiter des fichiers XML. En voici deux exemples :

  • AWS Glue est un service d'intégration de données sans serveur que vous pouvez utiliser afin de préparer facilement celles-ci grâce à une interface visuelle interactive de type pointer-cliquer sans écrire de code. AWS Glue DataBrew peut entrer tous types de formats de fichiers, y compris XML.
  • Amazon Simple Queue Service (Amazon SQS) est un service de mise en file d'attente de messages entièrement géré que vous pouvez utiliser pour envoyer, stocker et recevoir des messages entre les composants logiciels, quel que soit le volume. Les messages Amazon SQS peuvent contenir jusqu'à 256 Ko de données sous forme de texte, y compris des données XML, JSON et des données non formatées.

De même, AWS propose un large éventail d'outils et de services pour vous permettre de développer, déployer et exploiter vos applications à grande échelle. Voici par exemple deux services que vous pouvez utiliser :

  • Avec AWS Amplify Studio, vous pouvez créer visuellement une interface utilisateur parfaite au pixel près. Connectez votre interface utilisateur frontend à un backend cloud en quelques clics.
  • Avec Amazon Lightsail, vous pouvez utiliser des piles de développement préconfigurées pour créer des applications et des sites Web personnalisés en quelques clics.

Commencez à développer votre application sur AWS en créant un compte dès aujourd'hui.