Transformations XSL

Familiarisez-vous avec les transformations XSLT dans Adobe FrameMaker.

FrameMaker fournit des options de traitement des fichiers XML. FrameMaker permet également l’importation et l’exportation XML pour prendre en charge les transformations XSL et le langage Schema pour la grammaire et la définition des règles. Vous pouvez importer un document XML utilisant le langage Schema en créant automatiquement une DTD (Document Type Definition) à partir du schéma référencé ou vous pouvez créer une EDD (Element Definition Document) directement à partir d’une définition de schéma. Vous pouvez également valider les fichiers en les comparant à un schéma associé, à l’importation comme à l’exportation.

XSL (EXtensible Stylesheet Language) est un langage de feuille de style pour les documents XML. XSLT (Extensible Stylesheet Language Transformation) est le moyen par lequel les transformations définies en XSL sont appliquées à des documents XML.

XSL est un ensemble réunissant les trois spécifications suivantes :

XSLT

Langage pour la conversion de documents XML.

XPath

Langage de navigation dans des documents XML.

XSL-FO

Langage pour la mise en forme de documents XML.

FrameMaker inclut un programme de traitement XSLT vous permettant d’associer un fichier XSLT à une application structurée XML ou à un document XML et d’appliquer les transformations définies dans ce document lors de l’importation ou de l’exportation au format XML. FrameMaker prend en charge les spécifications de la norme W3C XSLT 3.0. Vous pouvez changer le processeur XSLT en modifiant le fichier maker.ini ou à partir de votre application structurée.

Lors de l’importation, les transformations XSL sont appliquées avant les règles de lecture par défaut ou toute autre règle de lecture que vous avez définie. Par conséquent, l’application d’une transformation XSL à l’importation crée un nouveau fichier qui est transmis aux règles de lecture/écriture s’il est au format XML.

Lors de l’exportation, les transformations XSL sont appliquées après les règles d’écriture par défaut ou explicites. L’application des règles de lecture/écriture à l’exportation se solde par la création d’un nouveau fichier XML qui est transmis au processeur XSLT s’il est valide.

Vous pouvez créer une sortie hypertexte (XML ou HTML) à partir d’un fichier XML en utilisant la fonction XSL. En outre, vous pouvez créer et enregistrer des transformations réutilisables dans un fichier XML. Les transformations réutilisables contiennent des informations telles que le nom et le chemin d’accès du XSLT et le chemin d’accès des fichiers d’entrée et de sortie.

La sortie est créé à l’aide d’un analyseur installé sur la machine et enregistré avec FrameMaker via les paramètres maker.ini. Les analyseurs XALAN et SAXON sont installés par défaut sur votre ordinateur avec FrameMaker. XALAN prend en charge le langage XSLT 1.0 et SAXON le langage XSLT 3.0. Tous deux sont conformes à JAXP.

Note: FrameMaker inclut Saxon Enterprise Edition 9.8.3.

SAXON est l’analyseur par défaut utilisé lorsque XSL est exécuté directement ou si aucun analyseur spécifique à la transformation n’est spécifié. Toutefois, vous pouvez spécifier un nouveau processeur par défaut dans le fichier maker.ini à l’aide des indicateurs suivants :

[XSLTProcessors] 
; processorName=jar path(all dependent jars should be in same dir), TransformerFactory class,
; default if default processor
; (if not specified – 1st processor would become default.)
XALAN=fminit\XSLT\XSLTProcessors\xalan\xalan-j_2_7_2-bin\xalan.jar, 
  org.apache.xalan.processor.TransformerFactoryImpl
SAXON=fminit\XSLT\XSLTProcessors\saxon\SaxonEE9-8-0-7J\saxon9ee.jar, 
  net.sf.saxon.TransformerFactoryImpl, Default

Une transformation XSL comprend des informations telles que XSL, Analyseur et Dossier de sortie, pour créer une sortie à partir de fichiers XML. Les transformations que vous créez sont stockées dans un fichier XML. Il existe deux types de transformations : par défaut et spécifique à l’application. Les transformations par défaut sont stockées dans le fichier comme spécifié dans le fichier maker.ini en utilisant l’indicateur TransformationFilePath. Les transformations spécifiques à l’application sont enregistrées dans un fichier XML que vous spécifiez pour l’application structurée dans le fichier structapps.fm.

La barre d’outils XSLT conserve un historique des transformations que vous utilisez et vous permet de créer une sortie issue de plusieurs fichiers XML à l’aide de la fonctionnalité Exécution avancée. Dans la barre d’outils, vous pouvez également choisir et exécuter une transformation\XSL à l’ouverture du fichier.


Barre d’outils XSLT dans FrameMaker

A. Cliquer pour sélectionner un fichier XSL B. Cliquer pour sélectionner une transformation C. Exécuter la transformation ou le XSL sélectionné D. Cliquer pour afficher la boîte de dialogue Exécution avancée

Passage au processeur XALAN

  1. Dans le fichier maker.ini, recherchez la section XSLTProcessors.

  2. L’entrée correspondant au processeur SAXON porte le suffixe : Défaut.

    XALAN=fminit\XSLT\XSLTProcessors\xalan\xalan-j_2_7_2-bin\xalan.jar, 
       org.apache.xalan.processor.TransformerFactoryImpl
    SAXON=fminit\XSLT\XSLTProcessors\saxon\SaxonEE9-8-0-7J\saxon9ee.jar,
       net.sf.saxon.TransformerFactoryImpl, Default
  3. Coupez et collez pour déplacer le suffixe vers l’entrée du processeur XALAN comme suit :

    XALAN=fminit\XSLT\XSLTProcessors\xalan\xalan-j_2_7_2-bin\xalan.jar, 
       org.apache.xalan.processor.TransformerFactoryImpl, Default
    SAXON=fminit\XSLT\XSLTProcessors\saxon\SaxonEE9-8-0-7J\saxon9ee.jar,
       net.sf.saxon.TransformerFactoryImpl