Des outils pour générer un schéma XSD à partir d'un document d'instance XML? [fermé]

StackOverflow https://stackoverflow.com/questions/74879

  •  09-06-2019
  •  | 
  •  

Question

Je recherche un outil qui prend un document d'instance XML et génère 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étitifs, ni les contraintes de données), mais il pourrait au moins servir de point de départ rapide. .

Était-ce utile?

La solution

l'outil 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.

modifier: je viens de découvrir le .net XmlSchemaInference class, donc si vous utilisez .net, vous devriez considérer que

Autres conseils

Vous pouvez utiliser une option open source et multiplate-forme: inst2xsd de XMLBeans d'Apache . Je le trouve très utile et facile.

Téléchargez, décompressez et lisez (il nécessite Java).

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

Sur le site Web de Trang:

  

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

     
      
  • RELAX NG (syntaxe XML)
  •   
  • Syntaxe compacte RELAX NG
  •   
  • 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 en n’importe quel autre langage de schéma pris en charge, sauf que le schéma XML W3C est pris en charge pour la sortie uniquement, pas pour l’entrée.

     

Trang peut également déduire un schéma à partir 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 , qui est disponible sur Github .

Cela 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 varier en fonction de 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 <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

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

Je prends généralement le document XML recherché, le pousse dans l'outil XSD avec l'indicateur /o:<your path> pour générer un schéma (xsd), puis repousse le fichier xsd dans l'outil à l'aide des indicateurs /classes /L:VB (or CS) /o:<your path>. pour obtenir des classes que je peux importer et utiliser dans mes projets .Net quotidiens

Si tout ce que vous voulez, c'est du XSD, LiquidXML a une version gratuite qui le fait, et son interface graphique lui permet de modifier le XSD si vous le souhaitez. En tout cas, 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 - intelliJ idea dispose également d'un support XML étendu, notamment de la génération xsd et de samle xml à partir de la génération xsd. Vous pouvez également obtenir des débogueurs xslt avec les plugins. - particulièrement agréable si vous envisagez d’utiliser des outils tels que jaxb par la suite.

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

Ceci est un ancien fil de discussion, mais j’ai pensé qu’il pourrait être utile de poster ce lien. xsd-gen Générer un schéma XML à partir de XML

et il a juste fait ce dont j'avais besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top