Pour valider un document XML selon un schéma Relax-NG, on peut utiliser l'outil jing.
Par défaut, un schéma Relax NG en format compact a pour extension .rnc et un fichier de validation Relax NG en format XML a pour extension .rng.
Suivez les instructions.
Récupérez le fichier jing-20090818.zip sur le site de téléchargement http://code.google.com/p/jing-trang/downloads/list.
Décompressez-le : vous trouverez un dossier un dossier jing-20090818, dans lequel on a un sous dossier bin où il y a 5 archives java .jar.
Ouvrez une console de ligne de commande et placez-vous dans le répertoire bin Placez-y un fichier .xml et un fichier .rng ou .rnc (le schéma).
Composez la commande :
java -jar jing.jar votre-shéma.rng votre-fichier.xml
Si vous utilisez un fichier de validation en syntaxe compacte, la commande sera
java -jar jing.jar -c votre-shéma.rnc votre-fichier.xml
S'il le fichier est valide jing affiche rien sur l'écran. Sinon, il vous donne une indication sur l'erreur. NOTA : Pour être sûr que cela marche, n'utilisez pas de caractères accentués dans les noms de balises et d'attributs, afin d'avoir un fichier de validation ASCII.
Pour extraire un schéma Relax-NG a partir des exemples .xml, ou pour faire la traduction d'un schéma à l'autre, vous aller besoin du Trang.
Pour le récupérer, suivez les instructions.
Sur le site qui précède, vous trouverez une archive trang-20090818.zip qui pour une raison inconnue est buggée. Prenez plutôt trang-20081028.zip.
Décompressez-le : vous trouverez un dossier trang-20081028.zip où il y a une archive java .jar.
Ouvrez une console de ligne de commande et placez-vous dans le répertoire trang-20081028. Placez-y vos fichiers:
.xml pour l'extraction d'un schéma a partir des exemples.
.dtd et .rng pour la traduction entre les schémas différents.
Composez la commande
java -jar trang.jar fichier1 fichier2
fichier1 est le fichier d'entré.
fichier2 est le fichier sortie.
Si le fichier1 est .xml, le fichier2 doit être .rng ou .rnc, et il va contenir le schéma extracté à partir du fichier1.
Si le fichier1 est .dtd, .rnc ou .rng, le fichier2 doit avoir une autre des extensions .dtd, .rnc ou .rng. Trang va traduire le format d'entrée en celui de sortie, si il y arrive.