Recherche…


Remarques

XML est un langage de balisage utilisé pour stocker des données hiérarchiques dans des fichiers texte. Il est également connu sous le nom de données semi-structurées, comme JSON. XML est lisible par machine, mais peut également être lu et produit par des personnes.

XML est constitué d'éléments, parfois dénommés « soupe d'étiquette» , pouvant eux-mêmes contenir d'autres éléments et / ou du texte. Les éléments peuvent également contenir des attributs.

XML est souvent utilisé pour l'échange de données entre plates-formes, en particulier sur Internet. Il est également de plus en plus utilisé pour stocker des données semi-structurées dans des magasins de données NoSQL (bases de données XML / magasins de documents). De plus, il a la flexibilité de gérer les données orientées document (texte avec balisage), ce qui le rend très populaire dans le secteur de l'édition. XML est également largement utilisé pour les fichiers de configuration.

L'une des principales raisons pour lesquelles XML est si largement utilisé est qu'il est standardisé, avec de nombreux analyseurs disponibles, y compris open source. Cela rend le coût d'utilisation de XML inférieur à celui de l'invention de la nouvelle syntaxe.

Vous trouverez plus d'informations sur l'origine et les objectifs de XML dans la recommandation officielle du W3C .

Il existe deux versions de XML, présentées dans le tableau ci-dessous. Les éditions de chaque version ne sont que des révisions des documents originaux et non des modifications des normes.

La première version de XML est la 1.0 . XML 1.1 a été modifié en raison du changement de version Unicode de 2.0 à 3.1 et spécifie un ensemble de nouvelles règles pour l'utilisation et l'interprétation des nouveaux caractères Unicode.

Versions

Version Date de sortie
1.0 1998-02-10
1.1 2001-12-13

Installation ou configuration

XML est une syntaxe, ce qui signifie qu'un simple éditeur de texte suffit pour démarrer.

Cependant, avoir un éditeur spécifique à XML qui vous indique quand et où votre document n'est pas bien formé est presque indispensable pour la productivité. De tels éditeurs peuvent également vous permettre de valider des documents XML par rapport à un schéma XML ou même de générer des schémas XML à partir de documents XML (et inversement).

Quelques exemples d'éditeurs sont oXygen, Atom, Eclipse et Altova XMLSpy. Une autre solution consiste à utiliser un analyseur XML de ligne de commande tel qu'Apache Xerces.

Les éléments de base

XML est constitué de composants de base, à savoir:

  • élément
  • texte
  • les attributs
  • commentaires
  • instructions de traitement

Un élément a des crochets:

<element/>

<element>some content</element>

Un attribut apparaît dans une balise d'élément d'ouverture:

<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>

Le texte peut apparaître n'importe où dans ou entre les éléments:

<element>some more <b>bold</b> text</element>

Les commentaires utilisent la syntaxe suivante. Il est important de savoir que les commentaires XML, contrairement aux langages de programmation, font partie du modèle et seront visibles par l'application au-dessus de l'analyseur.

<!-- this is a comment -->

Les instructions de traitement permettent de transmettre des messages à l'application consommatrice (par exemple, comment afficher ou une feuille de style, etc.). XML ne limite pas le format des instructions de traitement.

<?target-application these are some instructions?>

Vous trouverez plus de détails sur les blocs de construction dans cette rubrique.

Bien formé

Un document XML est un fichier texte conforme aux règles de bonne forme de la spécification XML. Un tel document conforme est dit bien formé (à ne pas confondre avec valide ). XML est très strict et bien conçu par rapport à d'autres langages tels que le HTML. Un fichier texte mal formé n'est pas considéré comme XML et ne peut pas être utilisé par les applications consommatrices.

Voici quelques règles qui s'appliquent aux documents XML:

  1. XML utilise une syntaxe très auto-descriptive. Un prologue définit la version XML et l'encodage des caractères:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. Il doit y avoir exactement un élément de niveau supérieur.

    Cependant, les commentaires, les instructions de traitement ainsi que la déclaration XML initiale sont également autorisés au niveau supérieur. Le texte et les attributs ne le sont pas.

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
    
  3. Les éléments peuvent être imbriqués, mais doivent être "correctement imbriqués":

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
    

    Les balises de début et de fin d'un élément incorporé doivent être dans les balises de début et de fin de son élément conteneur. Un chevauchement d'éléments est illégal. En particulier, ce n'est pas du XML bien formé: <foo><bar></foo></bar>

  4. Les attributs ne peuvent apparaître que dans les balises d'élément d'ouverture ou les balises d'élément vides, pas dans les balises d'élément de fermeture. Si la syntaxe d'attribut apparaît entre les éléments, elle n'a aucune signification et est analysée en tant que texte.

    <person first-name="John" last-name="Doe"/>
    

    Ce n'est pas bien formé: <person></person first-name="John"/>

  5. Les commentaires, les instructions de traitement, le texte et d'autres éléments peuvent apparaître n'importe où dans un élément (par exemple, entre sa balise d'ouverture et de fermeture) mais pas à l'intérieur des balises.

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
    

    Cet exemple n'est pas bien formé: <element <-- comment --> />

  6. Le caractère < peut ne pas apparaître dans le texte ou dans les valeurs d'attribut.

  7. Le " caractère peut ne pas apparaître dans les valeurs d'attribut avec " . Le caractère ' ne peut pas apparaître dans les valeurs d'attribut avec ' .

  8. La séquence de caractères -- peut ne pas apparaître dans un commentaire.

  9. Les caractères littéraux < et & doivent être échappés par leurs entités respectives &lt; et &amp; .

Bonjour le monde

<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>

Espaces de noms

Les noms d'élément et d'attribut vivent dans les espaces de noms qui sont des URI. Les espaces de noms sont liés aux préfixes utilisés dans les noms d'éléments et d'attributs réels, appelés QNames.

Ce document lie un espace de noms au préfixe de prefix et définit un espace de noms par défaut, lié à l'absence de préfixe.

<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>

Vous trouverez plus de détails sur les espaces de noms dans cette rubrique.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow