appuyez sur ⌘K pour changer d’outil
FORMAT & CONVERT

Générateur XML → XSD

Génère des définitions de schéma XSD à partir de XML.

local
xml-xsd

A best-effort schema inferred from one sample. Types default to xs:string.

§01 À PROPOS DE CET OUTIL

Présentation

Collez un document XML et obtenez un XSD (XML Schema Definition) comme point de départ. Le générateur parcourt l’arbre des éléments, crée un xs:complexType par nom d’élément, liste les éléments enfants dans une xs:sequence, déclare les attributs en xs:string, et marque les enfants qui se répètent sous un même parent avec maxOccurs="unbounded". Utile lorsque vous héritez d’un flux XML sans schéma et qu’il faut bien commencer quelque part pour la validation ou la génération de code.

Utilisation

  1. Collez votre document dans la zone XML.
  2. Lisez le schéma généré dans la sortie XSD (inferred) — il est régénéré à chaque frappe.
  3. Si la saisie est mal formée, une erreur Invalid XML est affichée à la place.

Exemples

  • <books><book id="1"><title>A</title></book></books> produit un schéma comportant les types complexes booksType et bookType, un élément title typé xs:string, et un attribut id déclaré en xs:string.

Remarques

Les éléments partageant un nom de balise sont supposés partager un seul type, et les espaces de noms ne sont pas analysés. Traitez la sortie comme un échafaudage : resserrez les types de données, les contraintes d’occurrence et les énumérations d’après votre contrat réel.

FAQ
Mon XML est-il envoyé à un serveur ?
Non. Le document est analysé par le DOMParser intégré à votre navigateur et le schéma est généré localement. Rien n'est téléversé : vous pouvez donc coller des charges utiles propriétaires sans risque.
Quelle est la précision du schéma déduit ?
C'est une structure au mieux, déduite d'un seul échantillon : les noms d'éléments et d'attributs sont capturés, les éléments enfants répétés reçoivent maxOccurs=unbounded, mais tous les types de feuilles et d'attributs valent par défaut xs:string. Affinez les types et les contraintes à la main.
Le XSD généré peut-il détecter les éléments optionnels ?
Non. Avec un seul échantillon, il n'y a aucun moyen de distinguer l'obligatoire de l'optionnel : chaque élément observé apparaît donc dans la séquence. Ajoutez vous-même minOccurs=0 là où des éléments peuvent être absents.