Processeur xslt

Description

Xist est un processeur XSL/Transform : il permet d'appliquer une feuille de style de transformation (XSL/T stylesheet) à un document XML. Il est basé sur l'espace de noms System.Xml de la bibliothèque de classes du framework .NET 2.0.

FONCTIONNALITES

- Validation du fichier XML d'entrée contre une DTD ou des schémas XML ;
- Support partiel de XInclude (fourni par la bibliothèque Mvp.Xml.dll) ;
- Possibilité d'utiliser des fonctions d'extension XPath écrites dans tout language .NET.

CONFIGURATION REQUISE POUR LA COMPILATION/L'EXECUTION

Xist nécessite le framework .NET v2.0 (final ou Beta 2), la bibliothèque CommandLine.dll v1.1 (CodeS-SourceS #34804), et la bibliothèque Mvp.Xml.dll v2.0 (http://mvp-xml.sourceforge.net/).

UTILISATION

La syntaxe de base est:
Xist [options] FICHIER.XSLT FICHIER.XML
Utilisez `Xist --help' pour une liste des options disponibles.

CONFIGURATION

Le fichier de configuration Xist.exe.config définit trois variables affectant le comportement du programme. Chacune de ces variables est une liste de valeurs séparées par des points-virgules.
- `ExtensionLibraries' est une liste d'assemblys contenant des extensions XPath (les assemblys listés sont automatiquement chargés par Xist sans qu'il soit nécessaire de les spécifier sur la ligne de commande) ;
- `XsltPath' est une liste de répertoires où Xist recherche la feuille de style spécifiée sur la ligne de commande s'il ne la trouve pas ailleurs;
- `XsdPath' est une liste de répertoires où Xist recherche les schémas XML spécifiés avec l'option `--schema' s'il ne les trouve pas ailleurs.

EXTENSIONS XPATH

Xist permet d'utiliser dans les feuilles de style des fonctions d'extension XPath écrites avec n'importe quel language .NET.

Les fonctions d'extensions doivent être des membres d'instance (PAS des membres statiques), et les classes les contenant doivent impérativement posséder un constructeur sans argument (ce constructeur est utilisé par Xist pour instancier un objet de la classe avant d'effectuer la transformation ; tout constructeur supplémentaire avec argument sera simplement ignoré).

Les assemblys contenant les classes d'extensions que l'on désire utiliser doivent simplement être passés en paramètre de l'option `--extension', ou bien être ajoutés à la liste `ExtensionLibraries' dans le fichier de configuration de Xist (cf. ci-dessus).

Pour utiliser dans une feuille de style les fonctions d'extension définies dans une classe donnée, il faut associer à un préfixe d'espace de nom le nom complet de la classe en question. Les fonctions définies dans cette classe pourront alors être appelées partout où une expression, XPath est attendue, simplement en les faisant précéder du préfixe associée à la classe.

Conclusion :


A titre d'exemple, j'utilise ce processeur pour transformer des documents XML en fichiers LaTeX. Une fonction d'extension XPath appliquée à tous les noeuds de texte permet d'échapper les caractères spéciaux comme #, %, \, ~, _, etc.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.