Qu'est-ce que XML ?
XML est un langage de balisage polyvalent pour structurer et transférer des données. Il propose des balises personnalisables, une structure hiérarchique, et des définitions de schéma. Contrairement à HTML, XML se concentre sur la représentation des données plutôt que sur l'affichage.
Extensible Markup Language (XML) utilise des balises pour indiquer comment le texte dans les fichiers de données doit être structuré, stocké, et transmis. XML est conçu pour être lisible par les humains et les machines, ce qui en fait un outil de balisage puissant et hautement personnalisable.
XML a été créé par le World Wide Web Consortium (W3C) en 1996. L'objectif du W3C était de créer un langage qui pourrait aider à définir des types de documents et fournir la possibilité de créer des balises personnalisées. Le type de langage de balisage résultant permet de définir comment les données sur une page sont balisées avant de les partager sous forme de fichier XML avec un autre système. Tant que deux systèmes utilisent le même langage XML (avec des balises qu'ils peuvent tous deux interpréter), les deux systèmes peuvent "comprendre" le format de fichier XML. Lorsqu'il est correctement déployé, XML garantit que tout fichier de données peut être stocké, transmis, puis utilisé, reproduisant exactement les mêmes données et structure à chaque fois qu'il est accédé.
Exemple de contenu XML
Les données XML consistent en du texte dans un fichier numérique. À l'instar de HTML, vous créez le "code" nécessaire pour les fichiers XML en insérant des balises pour indiquer comment le texte doit être interprété. Par exemple :
Cet exemple montre trois utilisateurs. Le contenu XML inclut le nom, le nom d'utilisateur, l'email, et le niveau utilisateur.
Cela crée un document XML qui peut être partagé et lu entre fournisseurs d'identité et fournisseurs de ressources.
Il est important de noter que l’exemple ci-dessus démontre la nature hiérarchique des documents XML. Par exemple :
- Le contenu de la première ligne
<?xml version="1.0" encoding="UTF-8"?>
est la déclaration XML, qui spécifie la version et l'encodage - Dans un document XML, il doit y avoir un élément racine, qui dans cet exemple est
<users>
- Tous les autres éléments contenus dans l'élément racine sont appelés "éléments enfants"
- Dans l'exemple ci-dessus, il y a 3 éléments enfants, marqués avec la balise
<user>
- À l'intérieur des éléments enfants
<user>
, il y a plusieurs autres éléments enfants, tels que<name>
,<username>
,<email>
, et<level>
- Sur la balise
<user>
, il y a aussi unid
, qui est appelé un attribut XML. Un élément ne peut pas contenir plusieurs attributs avec le même nom
Les balises utilisées montrent quel est chaque type de données, le texte brut servant de données elles-mêmes. Notez également comment le contenu est indenté. Cela n'est pas destiné à aider les systèmes à traiter le fichier XML, mais à aider les humains à parcourir plus facilement le fichier XML et son ordre hiérarchique pour découvrir et résoudre d'éventuelles erreurs ou omissions.
Qu'est-ce que le schéma XML ?
Un schéma agit comme la "définition" d'un document XML. Cela signifie qu'il décrit les règles et contraintes clés de la structure de fichier XML, ainsi que les contrôles sur le contenu et les types de données — contrôlant comment ils interagissent entre eux dans le document. Cela garantit que l'intégrité des données de l'XML est protégée à tout moment, même lorsqu'elle est manipulée entre différentes applications ou même systèmes.
Les deux principaux langages de schéma sont Document Type Definition (DTD) et XML Schema Definition (XSD). XSD est le langage le plus couramment utilisé dans les documents XML en raison de sa riche gamme de fonctionnalités, de ses capacités puissantes de type de données, et plus encore.
Qu'est-ce que la syntaxe XML ?
Si les schémas XML comme XSD concernent des spécifications détaillées pour les documents XML pour garantir leur validité, alors la syntaxe XML fournit un ensemble de règles qui régissent et contrôlent la structure globale des fichiers XML. Par exemple, la syntaxe XML peut couvrir le contenu textuel, comme les éléments auto-fermants (pièces d'informations uniques nécessitant aucun contenu supplémentaire) ou les déclarations XML (utilisées au début des documents pour décrire les informations clés, telles que l'encodage des caractères), ainsi que la version XML utilisée par le document.
XML vs HTML
Si tu es familier avec HTML, la façon dont les fichiers XML déploient le balisage semblera très familière — mais il y a une différence clé entre ces deux langages de balisage — leurs cas d'utilisation et objectifs diffèrent :
- HTML est un langage de balisage utilisé pour aider les navigateurs à comprendre comment afficher le contenu à l'écran
- XML est un langage de balisage utilisé pour stocker, afficher, et transférer des données
À part cela, ils ont quelques autres différences :
- Parce que HTML est pour rendre le contenu des pages pour les navigateurs, ses types de balises sont prédéfinis, tandis que les balises XML peuvent être personnalisées selon les situations réelles
- HTML est souvent statique car il est utilisé pour afficher du contenu ; XML est dynamique car il est utilisé pour transférer des données
- HTML ne supporte pas les espaces de noms, tandis que XML peut utiliser des espaces de noms pour distinguer les balises qui pourraient avoir le même nom mais des contextes différents pour éviter les confusions
Dans cet exemple :
tech:title
utilise<http://www.example.com/tech>
comme espace de noms, indiquant que cet élément<title>
appartient à l'espace de nomstech
bio:author
utilise<http://www.example.com/bio>
comme espace de noms, indiquant que cet élément<author>
appartient à l'espace de nomsbio
Comment XML est-il utilisé dans Logto ?
Logto prend en charge le protocole SAML pour le SSO. Lors de la configuration du SSO, le fournisseur d'identité fournit un fichier de configuration au format XML qui inclut des configurations importantes telles que les certificats et les URL de connexion unique.
Lors de la configuration de SAML SSO, Logto permet de télécharger directement le fichier de configuration XML obtenu auprès du fournisseur d'identité, éliminant ainsi la nécessité de remplir manuellement chaque élément de configuration.