Générer du Json schéma de schéma XML (XSD)
Quelqu'un sait comment faire pour générer un JSON schema à partir d'un schéma XML existant (fichier XSD)?
Existe-il des outils pour ça?
- Je pense que la vraie question, "Est-il possible de faire une correspondance entre le Schéma JSON et XML Schema?" n'est pas hors-sujet. Peut-être que la question pourrait être reformulée.
- Falco Nogatz fait un BSc thèse en 2013 entraînant xsd2json.
- Une façon est d'aller de XSD pour des classes de Java et de classes Java à JSON schema. Détails sur dzone.com/articles/generating-json-schema-xsd.
Vous devez vous connecter pour publier un commentaire.
Avertissement: je suis l'auteur de Jsonix, un puissant open source XML<->JSON JavaScript cartographie de la bibliothèque.
Aujourd'hui, j'ai publié une nouvelle version de la Jsonix Compilateur De Schéma, avec la nouvelle JSON génération de Schéma fonctionnalité.
Prenons l' Bon De Commande schéma par exemple. Voici un fragment:
Vous pouvez compiler ce schéma a l'aide de l'outil de ligne de commande:
Le compilateur génère Jsonix mappages ainsi la correspondance JSON Schema.
Voici le résultat (édité par souci de concision):
Maintenant ce Schéma JSON est dérivée à partir de l'original de Schéma XML. Il n'est pas exactement de 1:1 à la transformation, mais très très près.
Le JSON généré Schéma correspond à la generatd Jsonix mappages. Donc, si vous utilisez Jsonix pour XML<->JSON conversion, vous devriez être en mesure de valider JSON avec le JSON généré Schéma. Elle contient aussi toutes les métadonnées nécessaires à partir de l'origine de Schéma XML (comme d'éléments, d'attributs et de types de noms).
Avertissement: pour le moment ce n'est une nouvelle fonctionnalité expérimentale. Il y a certaines connues les limitations et les fonctionnalités manquantes. Mais je m'attends à ce que cela se manifeste matures et très rapide.
Liens:
npm install
schema
pièces de suivre le JSON Schéma spec?Un an après que cette question a été initialement demandé, JSON Schéma reste un projet de document de l'IETF. De cette écriture (18 octobre 2011) le groupe de travail est d'essayer de parvenir à un accord sur le projet d'4 de la spécification. Bien qu'il existe quelques spéculative de validation des implémentations (voir http://json-schema.org/), la plupart des fournisseurs d'outil n'ai pas investi beaucoup d'efforts dans des outils qui mettent en œuvre JSON Schéma de développement, d'édition ou de conversion.
JSON Schema n'est pas destiné à être fonction de l'équivalent de Schéma XML. Il y a des fonctions dans l'un mais pas dans l'autre.
En général, vous pouvez créer un mappage XML en JSON et de retour à nouveau, mais ce n'est pas le cas pour le schéma XML et JSON schema.
Cela dit, si vous avez mappé un fichier XML en JSON, il est tout à fait possible de fabriquer un JSON Schema qui valide JSON dans près de la même manière que le XSD valide le XML. Mais ce n'est pas une correspondance directe. Et il n'est pas possible de garantir qu'il en sera de valider le JSON exactement le même que le XSD valide le XML.
Pour cette raison, et à moins que les deux spécifications sont faits à 100% de la fonctionnalité compatible, la migration d'un système de validation à partir de données XML/XSD JSON/JSON Schema va nécessiter une intervention humaine.
Disclaimer: je suis l'auteur de jgeXml.
jgexml a Node.js utilitaire
xsd2json
qui ne une transformation entre un schéma XML (XSD) et un JSON fichier de schéma.Comme avec les autres options, ce n'est pas une conversion de 1:1, et vous pouvez avoir besoin de main-modifier la sortie d'améliorer le JSON de la validation du schéma, mais il a été utilisé pour représenter un complexe de schéma XML à l'intérieur d'un OpenAPI (swagger) définition.
Un échantillon de purchaseorder.xsd donné dans une autre réponse est traduit comme:
npm install -g jgexml
. Puisxsd2jsjon
n'était pas dans le chemin. J'ai essayénode C:\Users\Oliver\AppData\Roaming\npm\node_modules\jgexml\xsd2json.js
. Ceci, cependant, tout juste de retour. Est-il un utilitaire en ligne de commande?testxsd2j.js
Copie de votre schéma XML ici & obtenir le JSON schema code de la des outils en ligne qui sont disponibles pour générer du JSON schéma de schéma XML.
Vrai, mais après la mise json en xml avec xmlspy, vous pouvez utiliser trang application (http://www.thaiopensource.com/relaxng/trang.html) pour créer un xsd à partir du fichier xml(s).