71 votes

Générer un schéma Json à partir d'un schéma XML (XSD)

Quelqu'un sait-il comment générer un Schéma Json à partir d'un schéma XML existant (fichier XSD) ? Existe-t-il des outils disponibles pour cela ?

10voto

J Edward Ellis Points 652

Un an après que cette question ait été posée à l'origine, JSON Schema reste un document provisoire de l'IETF. À l'heure où nous écrivons ces lignes (18 octobre 2011), le groupe de travail tente d'obtenir un accord sur le projet 4 de la spécification. Bien qu'il y ait quelques implémentations de validation spéculatives (cf. http://json-schema.org/ ), la plupart des fournisseurs d'outils n'ont pas consacré beaucoup d'efforts à des outils permettant le développement, l'édition ou la conversion de schémas JSON.

7voto

Eric Hartford Points 1248

JSON Schema n'est pas destiné à être équivalent à XML Schema en termes de fonctionnalités. Il existe des fonctionnalités dans l'un mais pas dans l'autre.

En général, vous pouvez créer un mappage de XML à JSON et inversement, mais ce n'est pas le cas pour le schéma XML et le schéma JSON.

Cela dit, si vous avez mappé un fichier XML en JSON, il est tout à fait possible de créer un schéma JSON qui valide ce JSON presque de la même manière que le XSD valide le XML. Mais il ne s'agit pas d'un mappage direct. Et il n'est pas possible de garantir qu'il validera le JSON exactement de la même manière que le XSD valide le XML.

Pour cette raison, et à moins que les deux spécifications ne soient rendues compatibles à 100%, la migration d'un système de validation de XML/XSD vers JSON/JSON Schema nécessitera une intervention humaine.

-4voto

Spokk Points 1

C'est vrai, mais après avoir transformé json en xml avec xmlspy, vous pouvez utiliser l'application trang (http://www.thaiopensource.com/relaxng/trang.html) pour créer un xsd à partir du ou des fichiers xml.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X