CapraniXML.SourceValidator est une application de l’architecture de validation jaxp 1.3.
Le code est dérivé de l’échantillon d’application du même nom (jaxp.SourceValidator) dans le projet Apache Xerces.
Catalogues – CapraniXML.SourceValidator
comprend les catalogues XML. L’option ‑c [uris des catalogues] active
cette faculté. Les catalogues xml permettent notamment
d’installer les fichiers schémas indépendamment des fichiers sources. Cette
faculté passe par la bibliothèque xml-commons Resolver. Voir
« Exemple de catalogue » ci-dessous.
Choix de l’analyseur – Une version de l’analyseur Xerces est incluse dans la livraison (répertoire /lib), mais une autre réalisation de jaxp
peut être utilisée si elle est inscrite dans le classpath.
L’option –sf affiche la
réalisation qui est utilisée.
Fonctionnement en jar – Le paquet .jar fonctionne de manière
autonome (commande ci-dessous) à condition que les bibliothèques
appropriées figurent dans le répertoire /lib
adjacent.
java –jar CapraniXML.jar
Retour diagnostic – Le logiciel retourne un code non nul si une erreur s’est produite.
Activer le logiciel sans arguments ou avec l’option –h.
Les fichiers à valider sont les
derniers arguments de la commande. Il faut généralement les précéder de
l’option -- pour les
distinguer des arguments d’options.
Les scripts de commandes Windows (SourceValidator.cmd
et Setenv.cmd) démontrent
une utilisation pratique du logiciel. Ces script sélectionnent
la version de Xerces présente avec Oxygen si celui-ci est présent.
<!DOCTYPE catalog
PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
prefer="public"> <uri name="http://apache.org/xml/xcatalog/example" uri="Example.xsd"/> <system systemId="CatalogueDiffusion.xsd" uri="Catalogue_BDG.xsd"/></catalog>
Le logiciel est accessible depuis http://laurent.caprani.free.fr/xml/dist/
Michael Glavassevich, IBM, code d’origine (jaxp.SourceValidator).
Laurent CAPRANI