Générer un schéma xsd depuis un fichier xml
written on Monday, April 20, 2009
Pour cela nous allons utiliser l’outil trang, outil développé en Java, qui est donc multi-plateforme
A propos
Installation et utilisation de trang
Je vais expliquer ici son utilisation et l’installation sur la distribution Archlinux. Nous installons trang avec l’outil Yaourt
yaourt -S trang
Pour le fichier d’exemple, j’ai utilisé le fichier XML fourni dans le tutoriel suivant http://www.allhtml.com/articles/detail/354
Copiez le fichier de l’ exemple suivant dans le fichier xml.xml
<?xml version="1.0"?>
<!-- Exemple issu du site http://www.allhtml.com/articles/detail/354 -->
<traducteur>
<mot>
<francais>Bleu</francais>
<english>Blue</english>
<italiano>Azzurro</italiano>
</mot>
<mot>
<francais>Rouge</francais>
<english>Red</english>
<italiano>Rosso</italiano>
</mot>
<mot>
<francais>Vert</francais>
<english>Green</english>
<italiano>Verde</italiano>
</mot>
</traducteur>
Ensuite lancez la commande suivante:
trang xml.xml xml.xsd
Et voici le résultat
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="traducteur">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="mot"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="mot">
<xs:complexType>
<xs:sequence>
<xs:element ref="francais"/>
<xs:element ref="english"/>
<xs:element ref="italiano"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="francais" type="xs:NCName"/>
<xs:element name="english" type="xs:NCName"/>
<xs:element name="italiano" type="xs:NCName"/>
</xs:schema>







