Transformation XSL

Découvrez ce qu’est la transformation XSLT dns 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 (voir XML avec schéma). 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 de structure 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 depuis 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.

Remarque : FrameMaker (version 2019) 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. Pour plus d’informations, voir Transformation de plusieurs fichiers à l’aide de la fonctionnalité Exécution avancée.


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

Création de transformations

Apprenez à créer des transformations XSLT dans FrameMaker.

Remarque : Assurez-vous de passer à la vue XML avant d’effectuer cette procédure.
  1. Sélectionnez XSLT > Gérer la transformation.


    Boîte de dialogue Gérer les transformations dans la vue XML de FrameMaker

  2. Dans la boîte de dialogue Gérer les transformations :

    Pour utiliser le fichier de transformation par défaut, sélectionnez Fichier de transformation par défaut, puis cliquez sur Nouveau.

    Pour créer un fichier de transformation, sélectionnez Fichier de transformation, puis cliquez sur Nouveau.

    Remarque : Si vous disposez déjà d’un fichier de transformation, cliquez sur le bouton Parcourir, puis sélectionnez-le.
  3. Cliquez sur Nouveau.

  4. Dans la boîte de dialogue Nouvelle transformation, spécifiez les informations suivantes, puis cliquez sur Enregistrer sous pour créer un fichier de transformation :

    Remarque : Si vous avez sélectionné un fichier de transformation existant à l’étape 1 à l’aide du bouton Parcourir, enregistrez la nouvelle transformation dans le fichier de transformation sélectionné.
    1. Nom de la transformation : nom pour le paramètre de transformation.

    2. Utilisation : vous pouvez sélectionner un fichier XSL ou choisir d’utiliser les instructions de traitement (PI) dans le fichier XML.

    3. Processeur : SAXON, XALAN, ou tout autre analyseur enregistré avec FrameMaker.

    4. Sortie : paramètres relatifs au fichier de sortie, tels que l’emplacement de l’enregistrement, le suffixe, ainsi que la manière d’ouvrir le fichier de sortie.

Modification des transformations

Apprenez à associer les fichiers de transformation à votre application XML dans FrameMaker.

Une fois que vous avez créé une transformation, vous pouvez associer le fichier de transformation à une ou plusieurs applications XML dans le fichier structapps.fm.

  1. Dans la vue WYSIWYG, sélectionnez Structure > Définition d’application > Modifier les définitions d’application globales.

  2. Dans une application structurée, recherchez l’élément <TransformationFile> et indiquez le nom et le chemin du fichier de transformations.


    Recherche de l’élément fichier de transformation et spécification du chemin et du nom du fichier de transformations dans la Vue de la structure

  3. Enregistrez le fichier StructApps.fm et sélectionnez Structure > Définition d’application > Lire les définitions d’application.

Maintenant, vous pouvez choisir de générer le fichier de sortie à l’aide de la transformation de l’application concernée.

Transformation spécifique à l’application

Apprenez à travailler avec des transformations spécifiques à une application dans FrameMaker.

  1. Avec un fichier XML actif dans la vue XML, dans la barre d’outils XSLT, sélectionnez Transformation dans la liste déroulante Choisir.

  2. Dans la boîte de dialogue Choisir la transformation, sélectionnez Applications structurées.


    Transformation spécifique à l’application dans la boîte de dialogue Gérer les transformations

  3. L’application concernée, telle que spécifiée dans structapps.fm, est sélectionnée dans la liste déroulante et les transformations pertinentes apparaissent dans le champ Transformations.

  4. Dans Transformations, sélectionnez la transformation que vous souhaitez utiliser pour générer la sortie, puis cliquez sur OK.

  5. Dans la barre d’outils XSLT, cliquez sur Exécuter.

    FrameMaker génère la sortie hypertexte et affiche le fichier.

Transformation de plusieurs fichiers à l’aide de la fonctionnalité Exécution avancée

Découvrez comment vous pouvez utiliser l’exécution avancée pour transformer plusieurs fichiers XML dans FrameMaker.

Depuis la barre d’outils XSLT, vous pouvez exécuter une transformation sur plusieurs fichiers.

  1. Dans la barre d’outils XSLT, sélectionnez l’option Exécution avancée.

    Exécution avancée dans la barre d’outils XSLT

  2. Dans la boîte de dialogue Exécution avancée, sélectionnez une portée d’exécution de la transformation :

    1. Fichier en cours : génération d’une sortie depuis le fichier XML ouvert dans FrameMaker.

    2. Sélectionnez l’option Inclure les éléments enfant si le document actif est un livre ou une carte. Lorsque cette option est sélectionnée, la fonction XSLT est appliquée aux éléments enfant, conjointement à l’élément parent.

    3. Tous les fichiers ouverts : génération d’une sortie de tous les fichiers XML ouverts dans FrameMaker à l’aide d’une transformation ou d’un XSL.

    4. Dossier : génération d’une sortie de tous les fichiers XML présents dans un dossier, à l’aide d’une transformation ou d’un XSL. Sélectionnez l’option Inclure les sous-dossiers, le cas échéant.

  3. Sélectionnez une transformation ou un XSL, puis cliquez sur Exécuter.

Les fichiers de sortie sont lancés dans l’application associée.


January 20, 2022

Legal Notices | Online Privacy Policy