Convertisseur XML en XSD
Générez un schéma XSD fonctionnel à partir de n'importe quel document XML. Déduit automatiquement éléments, attributs, types de données et règles d'occurrence dans votre navigateur.
XSD généré
Types complexes réutilisables, un par nom d'élément distinct.
Prêt quand vous l'êtes
Collez du XML à gauche ou chargez l'exemple, puis cliquez sur Générer le schéma XSD.
Noter Convertisseur XML en XSD
Dans quelle mesure cet outil vous a-t-il été utile ? Votre note aide d'autres personnes à le trouver.
Transformez n'importe quel document XML en schéma XSD fonctionnel
La plupart des générateurs XSD exigent d'installer un logiciel de bureau ou ne gèrent que des documents triviaux. Celui-ci parcourt l'intégralité de votre arbre XML, fusionne les balises répétées en un seul type réutilisable et déduit les types de données ainsi que les règles d'occurrence à partir des valeurs réellement trouvées. Le schéma reflète donc vos données réelles plutôt qu'un modèle générique.
Sortie XML Schema Definition (XSD 1.0)
Ce qui distingue ce générateur XSD
Conçu pour la structure réelle des documents XML, et non pour un exemple de jouet.
Règles d'occurrence précises
Les balises sœurs répétées deviennent automatiquement maxOccurs="unbounded". Un champ absent d'un seul enregistrement reçoit minOccurs="0", pour que le schéma accepte les documents à champs facultatifs.
Cinq types de données déduits
Le texte des feuilles et les valeurs d'attributs sont comparés à xs:integer, xs:decimal, xs:boolean, xs:date et xs:dateTime, avec retour à xs:string dès qu'une valeur ne correspond pas clairement.
Types complexes réutilisables
Chaque nom d'élément distinct reçoit un type complexe nommé, référencé à chaque réapparition. Les balises récursives, comme une structure de dossiers imbriqués, réutilisent le même type au lieu de faire échouer le générateur.
Espace de nommage cible facultatif
Ajoutez un URI d'espace de nommage et choisissez des éléments qualifiés ou non qualifiés, ou laissez le champ vide pour un schéma simple sans espace de nommage.
Attributs bien traités
Les attributs présents sur chaque instance d'un élément deviennent use="required" ; ceux vus seulement sur certaines instances deviennent use="optional", chacun avec son type déduit.
Rien ne quitte votre navigateur
L'analyse, la déduction et la génération du schéma s'exécutent côté client, en JavaScript. Votre XML n'est jamais envoyé ailleurs, ce qui compte pour les configurations internes et les données contenant de vraies valeurs client.
Fonctionnement de la déduction des types
Une référence rapide pour ce que vous verrez dans le schéma généré, et pourquoi.
| Motif XML | Ce que vérifie l'outil | Résultat XSD |
|---|---|---|
| Une même balise apparaît deux fois sous un même parent | Compte le plus grand nombre de frères observés | maxOccurs="unbounded" |
| Une balise enfant manque dans un enregistrement | Vérifie si la balise apparaît sous chaque instance du parent | minOccurs="0" |
| Le texte est toujours composé de nombres entiers | Teste chaque valeur échantillonnée contre un motif d'entier | xs:integer |
| Le texte mélange entiers et décimaux | Tout entier est aussi une valeur décimale valide | xs:decimal |
| Le texte mélange nombres et mots | Aucun motif unique ne correspond à toutes les valeurs échantillonnées | xs:string (repli sûr) |
| Un élément contient d'autres éléments | Construit un type complexe nommé et réutilisable | xs:complexType avec xs:sequence |
| Un élément porte un préfixe d'espace de nommage | Le préfixe est retiré avant l'analyse | Nom local de l'élément uniquement |
L'outil échantillonne jusqu'à 200 valeurs par champ, ce qui suffit largement à repérer le motif dans des documents courants.
Ce que cet outil ne fait pas
Soyons clairs sur les limites : un schéma déduit d'un seul exemple est un point de départ, pas une spécification certifiée.
- Il ne résout pas les URI d'espaces de nommage en schémas distincts ; chaque préfixe est retiré, et la sortie ne décrit que les noms locaux des éléments.
- Le contenu mixte (texte placé à côté d'éléments enfants) est marqué mixed="true", mais il n'est pas modélisé champ par champ.
- Il déduit les règles à partir de l'échantillon fourni. Un champ qui est un nombre dans votre échantillon, mais qui pourrait contenir du texte ailleurs, sera typé comme nombre ici.
- Il génère du XSD 1.0, la syntaxe qu'attendent encore presque tous les outils et validateurs XML.
Comment fonctionne Convertisseur XML en XSD
Cet outil lit votre XML dans le navigateur et détermine le schéma XSD correspondant. Il parcourt chaque élément, regroupe ceux qui partagent un même nom de balise où qu'ils apparaissent, puis vérifie combien de fois chaque balise apparaît comme frère. Si un parent contient plusieurs fois une même balise, le schéma la marque maxOccurs="unbounded". Si la balise figure sous chaque instance de son parent, minOccurs reste à 1 ; sinon il passe à 0, pour que le schéma accepte les documents où ce champ est absent.
Les valeurs d'attributs et de texte suivent le même traitement. L'outil échantillonne les valeurs trouvées pour chaque attribut et pour chaque texte de feuille, puis les teste contre des motifs d'entiers, de décimaux, de booléens, de dates et de date-heures. Quand tous les échantillons correspondent à un même motif, celui-ci devient le type XSD. Quand les valeurs divergent, l'outil revient à xs:string, afin que le schéma ne rejette jamais de vraies données à cause d'une ligne inhabituelle.
Les éléments qui contiennent d'autres éléments reçoivent leur propre type complexe nommé, réutilisé partout où la balise réapparaît. Cette réutilisation empêche aussi qu'une structure récursive, comme une arborescence de dossiers construite avec des balises node imbriquées, produise un schéma sans fin.
Les préfixes d'espace de nommage sont retirés avant l'analyse, car deviner la bonne structure avec espaces de nommage à partir d'un seul document d'exemple est peu fiable. Rien de ce que vous collez ou importez ne quitte votre navigateur : le XML est analysé puis abandonné dès que le schéma s'affiche à l'écran.
Comment utiliser Convertisseur XML en XSD
Collez ou importez votre XML
Déposez un fichier .xml ou collez directement le balisage. Un catalogue d'exemple est chargé par défaut pour que vous puissiez d'abord voir l'outil en action.
Réglez les options du schéma (facultatif)
Ajoutez un espace de nommage cible si votre schéma en a besoin, puis choisissez si les nouveaux éléments sont qualifiés ou non qualifiés. Laissez les deux champs vides pour un schéma simple sans espace de nommage.
Générez le schéma
L'outil parcourt tout le document, fusionne les balises répétées et déduit minOccurs, maxOccurs et les types de données de chaque élément et attribut.
Copiez ou téléchargez le XSD
Copiez le schéma dans le presse-papiers ou téléchargez-le sous forme de fichier .xsd, puis validez votre XML d'origine avec celui-ci dans votre éditeur ou votre chaîne de traitement.
Exemple d'utilisation
L'élément <price> devient xs:decimal, et <inStock> reçoit minOccurs="0" car un seul des deux livres le contient :
Questions fréquentes
Qu'est-ce qu'un schéma XSD et pourquoi en générer un à partir d'un fichier XML ?
Comment l'outil détermine-t-il si un élément est obligatoire ou facultatif ?
Pourquoi certains éléments reçoivent-ils maxOccurs="unbounded" ?
L'outil détecte-t-il automatiquement les nombres, les booléens et les dates ?
Que deviennent les espaces de nommage et les préfixes XML ?
Peut-il gérer un XML très imbriqué ou récursif, comme une arborescence de dossiers ?
Le schéma généré validera-t-il mon fichier XML d'origine ?
Que se passe-t-il si mon XML mélange texte et éléments enfants dans la même balise ?
Mon XML est-il envoyé à un serveur ?
Puis-je définir un espace de nommage cible pour le schéma généré ?
Outils associés
Formateur XML
Formatez et embellissez votre code XML.
Convertisseur XML en JSON
Convertissez des données XML au format JSON instantanément. Convertisseur en ligne simple, rapide et gratuit.
Validateur XML
Validez la syntaxe et la structure de votre XML selon les règles standard.
Convertisseur XML en CSV
Convertissez instantanément des données XML au format CSV. Extrayez des données structurées depuis du XML.
Convertisseur JSON en XML
Transformez des données JSON au format XML.
Testeur XPath
Testez et validez des expressions XPath sur des documents XML ou HTML. Déboguez instantanément vos requêtes.
Commentaires
Les commentaires sont fournis par Disqus. Les charger vous connecte à Disqus, qui dépose des cookies et traite des données selon sa propre politique de confidentialité.
Convertisseur XML en XSD est maintenu par CodeItBro. Notre objectif est de proposer les meilleurs outils gratuits pour développeurs sur le web. Si vous avez des remarques ou des suggestions, rendez-vous sur notre page de contact.

