XML

2

Le XML, ou eXtensible Markup Language, permet de stocker des données structurées dans un fichier. Il s'agit d'un langage balisé, au même titre que le HTML. Cependant, contrairement à ce dernier, les balises XML ne sont pas prédéfinies.

Par exemple:

<actor>
  <firstname>Ryan</firstname>
  <lastname>Reynolds</lastname>
  <picture>https://bit.ly/2MYKFhO</picture>
  <movies>
    <movie>
      <name>Pokémon Detective Pikachu</name>
      <year>2019</year>
    </movie>
    <movie>
      <name>Deadpool 2</name>
      <year>2018</year>
    </movie>
    <movie>
      <name>Deadpool</name>
      <year>2016</year>
    </movie>
  </movies>
</actor>

Dans cet exemple, nous avons:

  • <actor> comme balise parente contenant toutes nos définitions.
  • <firstname>, <lastname> et <picture> contenant des informations sous forme de chaîne de caractères.
  • <movies> contenant une collection de de <movie>.
  • <movie> (au singulier) représentant chacun un film séparé.
  • <name> et <year> représentant des informations propres à un film sous forme de chaîne de caractères.

Structure

  • Il ne doit y avoir qu'une balise à la racine du document.
  • Chaque balise ouvrante possède sa balise fermante.
  • Les balises doivent-être correctement imbriqué.
  • Les balises sont sensibles à la casse, donc la balise <exemple> n'est pas équivalente à <EXEMPLE>.
  • Les noms de balises ne peuvent pas contenir d'espaces.

xmlvalidation.com permet de valider vos fichiers XML.

Utilisation

Le XML sert notamment aux fichiers de configurations ou pour dissocier le code du contenu.

Voir le CodePen de Simon Arnold (@smnarnold).

Il est donc possible d'utiliser le même code pour générer deux pages différentes simplement en remplaçant la source du XML.

Par exemple, dans la démo précédente, il suffit de remplacer
ryan-reynolds.xml
par
margot-robbie.xml
afin d'obtenir une page à l'apparence similaire, mais avec les informations de Margot plutôt que celles de Ryan.

Donnez votre opinion
sur les notes de cours sur cette page.
Merci d'avoir partagé ton opinion 😎
Pssst, c'est 💯 anonyme