Les feuilles de style distribuées par le Consortium de la TEI (https://github.com/TEIC/Stylesheets) sont un ensemble de transformations XSLT qui constituent une suite logicielle configurable destinée à manipuler et convertir des documents TEI dans différents formats (MSWord, Open Office, ePub, Docbook, etc.).
Développées par Sebastian Rahtz, les feuilles de style TEI sont également distribuées comme transformations par défaut pour la TEI dans l’éditeur XML Oxygen. Il est par ailleurs mis en œuvre dans le service web OxGarage.
Ces feuilles de styles couvrent la plupart des cas courants et un grand nombre de formats. Il est également possible d’y contribuer. Toutefois, leur utilisation peut s’avérer, au départ, relativement ardue.
La personnalisation des transformations proposées par les feuilles de style TEI reposent sur une large utilisation des instructions xsl import
et include
.
xsl:import
inclue un fichier de règles XSLT en les surchargeant comme de besoin ;xsl:include
inclue un fichir de règles XSLT mais sans les surcharger.
Ainsi, si vous voulez importez ou incluez des règles identiques à celles du fichier courant :
- en utilisant
import
, les règles dans le fichier courant auront une priorité plus élevée - en utilisant
include
, vous obtiendrez une erreur à moins d’assigner une priorité plus élevée à l’une ou l’autre des règles.
Les variables peuvent être déclarées comme fils de l’élément stylesheet
avec des éléments variable
.
<xsl:variable name="TEI">Text Encoding Initiative</xsl:variable>
Il est également possible d’employer des paramètres directement comme fils de stylesheet
, mais ceux-ci peuvent être écrasés lors de l’appel de la feuille de style.
<xsl:param name="logo">../Graphics/logo</xsl:param>
En ligne de commande :
saxon data.xml test.xsl logo=myLogo
Dans l’exemple ci-dessous, on importe une transformation et l’on renseigne certains paramètres. Ensuite, on fournit une règle nommée.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:import href="/Users/emmanuelchateau/Documents/informatique/TEIC/Stylesheets/release/xsl/xml/tei/stylesheet/slides/teihtml-slides.xsl"/>
<xsl:param name="logoFile">../Graphics/logo.png</xsl:param>
<xsl:param name="cssFile">teislides.css</xsl:param>
<xsl:param name="showNamespaceDecls">false</xsl:param>
<xsl:param name="forceWrap">true</xsl:param>
<xsl:param name="spaceCharacter"> </xsl:param>
<xsl:template name="lineBreak">
<xsl:param name="id"/>
<br/>
</xsl:template>
</xsl:stylesheet>
Tandis qu’un template match
s’applique à un élément, un template name
ne s’applique à aucun élément en particulier mais définit seulement une règle qui pourra être appelée ailleurs.
Ici, on propose un remplacement pour la règle nommée lineBreak
Les feuilles de styles TEI se présentent sous la forme d’une hiérarchie de fichiers. Pour les employer, on inclue ou importe ces fichiers.
L’arborescence de fichers rassemble les feuilles de style par formats de sortie (docx, epub, html, html5, latex, slides, etc.).
docx/
conversion depuis ou vers MSWordepub/
conversion vers ePubhtml/
constructeur XSL FOlatex/
constructeur LaTeXhtml/
conversion vers htmlhtml5/
conversion vers html5odd/
transformation de spécifications ODDpdf/
conversions vers pdf- …
Outre ces répertoires, il y a trois répertoires spécifiques :
profiles/
personnalisationscommons/
transformations utilisées pour tout format de sortietools/
utilitaires.
À l’intérieur des répertoires de formats, le contenu des transformation est organisé en fonction des modules de la TEI :
core.xsl
Éléments de base de la TEIdictionnaries.xsl
Module Dictionariesdrama.xsl
Module Drama- …
Le fichier tei-params.xsl
fixe les paramètres et tei.xsl
importe les règles communes.
Le répertoire de profil profile/
contient des sous-répertoires de personnalisation avec les normes de nommage suivantes : nom/format/from.xsl
ou nom/format/to.xsl
selon qu’il s’agit d’une conversion depuis ou vers un format donné.
Dans ces fichiers, on peut faire référence à la transformation maître, de la manière suivante :
<xsl:import jref="../../../epub/tei-to-epub.xsl"/>
Les feuilles de style TEI sont distribuées avec l’éditeur XML oXygen. On peut donc y faire référence depuis le chemin de l’application, à l’intérieur du répertoire framework
. La configuration du scénario de transformation permet de renseigner les valeurs de paramètres en donnant accès à leur documentation.
- Sebastian Rahtz, Developing with the TEI Stylesheet family, Mutec, Lyon, may 2011.