Des outils pour générer un schéma XSD à partir d’un document d’instance XML?

Je cherche un outil qui prendra un document d’instance XML et produira un schéma XSD correspondant.

Je reconnais certainement que le schéma XSD généré sera limité par rapport à la création manuelle d’un schéma (il ne gérera probablement pas les éléments facultatifs ou répétés, ni les contraintes de données), mais pourrait au moins servir de sharepoint départ rapide.

L’ outil d’inférence Microsoft XSD est une bonne solution gratuite. De nombreux outils d’édition XML, tels que XmlSpy (mentionné par @Garth Gilmour) ou OxygenXML Editor ont également cette fonctionnalité. Ils sont plutôt chers, cependant. BizTalk Server dispose également d’un outil de déduction XSD.

edit: Je viens de découvrir la classe .net XmlSchemaInference , donc si vous utilisez .net vous devriez considérer cela

Vous pouvez utiliser une option open source et multi-plateforme: inst2xsd à partir des XMLBeans d’ Apache . Je trouve cela très utile et facile.

Il suffit de télécharger, décompresser et lire (cela nécessite Java).

Trang est la meilleure option ici. Open source et multiplateforme (bien que Java soit requirejs)

Du site web Trang:

Trang convertit entre différents langages de schéma pour XML. Il supporte les langues suivantes

  • RELAX NG (syntaxe XML)
  • RELAX NG syntaxe compacte
  • DTD XML 1.0
  • Schéma XML du W3C

Un schéma écrit dans l’un des langages de schéma pris en charge peut être converti dans l’un des autres langages de schéma pris en charge, sauf que le schéma XML du W3C est pris en charge pour la sortie uniquement et non pour l’entrée.

Trang peut également déduire un schéma d’un ou plusieurs exemples de documents XML.

Lien de téléchargement

Dans VS2010, si vous chargez un fichier XML dans l’éditeur, cliquez sur le menu XML >> Créer un schéma.

Il existe également XML schema learner disponible sur Github .

Il peut prendre plusieurs fichiers XML et extraire un fichier XSD commun de tous ces fichiers .

Si vous avez installé .Net, un outil permettant de générer des schémas et des classes XSD est déjà inclus par défaut.
Pour moi, l’outil XSD est installé sous la structure suivante. Cela peut différer selon votre répertoire d’installation.

 C:\Program Files\Microsoft Visual Studio 8\VC>xsd Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 2.0.50727.42] Copyright (C) Microsoft Corporation. All rights reserved. xsd.exe - Utility to generate schema or class files from given source. xsd.exe .xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:] xsd.exe .dll|.exe [/outputdir:] [/type: [...]] xsd.exe .xml [/outputdir:] xsd.exe .xdr [/outputdir:] 

Normalement, les classes et schémas générés par cet outil fonctionnent plutôt bien, surtout si vous les consumz dans un langage .Net

Je prends généralement le document XML que je recherche, le pousse dans l’outil XSD avec l’indicateur /o: pour générer un schéma (xsd), puis repousse le fichier xsd dans l’outil en utilisant /classes /L:VB (or CS) /o: drapeaux pour obtenir les classes que je peux importer et utiliser dans mes projets .Net au quotidien

Si tout ce que vous voulez, c’est XSD, LiquidXML a une version gratuite qui fait des XSD, et elle a une interface graphique pour que vous puissiez modifier le XSD si vous le souhaitez. Quoi qu’il en soit, j’écris mes propres fichiers XSD à la main, mais c’est grâce à cette application.

http://www.liquid-technologies.com/

Si vous travaillez dans le monde java – l’ idée d’intelliJ a également un support xml étendu, y compris la génération xsd et samle xml à partir de la génération xsd, et avec les plugins, vous pouvez obtenir des débogueurs xslt. – surtout si vous prévoyez d’utiliser des outils tels que jaxb par la suite.

Altova XmlSpy le fait bien – vous pouvez trouver un aperçu ici

Ceci est un ancien thread mais j’ai pensé qu’il pourrait être utile de poster ce lien: vous venez de trouver cet outil: xsd-gen Générer un schéma XML à partir de XML

et ça a juste fait ce dont j’avais besoin.