Je recherche 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 d'un schéma à la main (il ne gèrera probablement pas les éléments facultatifs ou répétitifs, ou les contraintes de données), mais cela pourrait au moins servir de point de départ rapide.
xsd.exe
avoir changé sur Windows 7. Je l' ai dans de nombreuxMicrosoft SDKs
répertoires, parmi lesquels celui - ci (il ne semble pas dépendre nécessairement Visual Studio plus?):C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
. J'ai dû l'exécuter dans le répertoire contenant le xml, pour éviter une erreur concernant les "caractères illégaux dans le chemin", mais cela peut être dû au long nom de fichier que j'ai.Vous pouvez utiliser une option open source et multiplateforme: inst2xsd de XMLBeans d' Apache . Je trouve cela très utile et facile.
Téléchargez, décompressez et jouez (cela nécessite Java).
la source
Trang est la meilleure option ici. Open source et multiplateforme (bien que Java soit requis)
Sur le site Web de Trang:
Lien de téléchargement
la source
$ trang file.xml schema.xsd
.Dans VS2010, si vous chargez un fichier XML dans l'éditeur, cliquez sur le menu XML >> Créer un schéma.
la source
Il y en a aussi
XML schema learner
qui est disponible sur Github .Il peut prendre plusieurs fichiers xml et extraire un XSD commun de tous ces fichiers .
la source
sudo apt-get install php5-cli
et en cours d'exécution./learn --help
--- Je ne vois pas vraiment la différence entre cela et un outil écrit en java, python ou ruby :)locality
champ: si un nom de champ est utilisé à plusieurs endroits dans le XML faisant référence à différents éléments, unelocality
valeur supérieure à 1 est requise, par exempleroot/item
et seroot/something/item
réfère à différents types, alors--locality 2
est requise au minimumSi .Net est installé, un outil pour 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 en fonction de votre répertoire d'installation.
Normalement, les classes et les schémas générés par cet outil fonctionnent plutôt bien, surtout si vous allez les consommer dans un langage .Net
Je prends généralement le document XML que je cherche, le pousse à travers l'outil XSD avec le
/o:<your path>
drapeau pour générer un schéma (xsd), puis/classes /L:VB (or CS) /o:<your path>
je repousse le fichier xsd à travers l'outil en utilisant les indicateurs pour obtenir des classes que je peux importer et utiliser dans mes projets .Net au jour le jourla source
Si tout ce que vous voulez, c'est XSD, LiquidXML a une version gratuite qui fait XSD, et elle a une interface graphique pour que vous puissiez modifier le XSD si vous le souhaitez. Quoi qu'il en soit de nos jours, j'écris mes propres XSD à la main, mais c'est grâce à cette application.
http://www.liquid-technologies.com/
la source
si vous travaillez dans le monde java - intelliJ idea a également un support xml étendu, y compris la génération xsd et samle xml de la génération xsd, et avec des plugins, vous pouvez obtenir des débogueurs xslt. - particulièrement agréable si vous prévoyez d'utiliser des outils tels que jaxb par la suite.
la source
Altova XmlSpy fait bien cela - vous pouvez trouver un aperçu ici
la source
Ceci est un vieux fil mais j'ai pensé qu'il pourrait être utile de poster ce lien: vient de trouver cet outil: xsd-gen Générer un schéma XML à partir de XML
et il a juste fait ce dont j'avais besoin.
la source