Feuilles de style XSL


Cette section s'adresse aux développeurs de feuilles de style XSL. Vous trouverez ici des informations importantes expliquant comment créer une feuille de style adaptée à Calenco.

Polices

fc-query permet d'obtenir des informations sur un fichier de police :

fc-query font.ttf

Les informations nécessaires à son utilisation sont affichiés :

  • la famille de la police  font-family
  • les styles utilisables (Regular, bold, italic...)
  • les langues supportées (à vérifier quand même)
	family: "Univers-Black"(s)
[...]
	style: "Regular"(s)
[...]
	lang: aa|ay|bi|br|bs|ca|ch|co|cs|da|de|en|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|hr|hu|ia|id|ie|io|is|it|lb|mg|nb|nds|nl|nn|no|nr|nso|oc|om|pl|pt|rm|sk|sl|sma|smj|so|sq|ss|st|sv|sw|tk|tl|tn|tr|ts|uz|vo|vot|wa|wen|xh|yap|zu|an|crh|csb|fil|hsb|ht|jv|kj|ku-tr|kwm|li|ms|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|za(s)

Note

Si la police n'est a priori pas libre de droits, il est préférable de rappeler au client que c'est lui qui diffuse les documents utilisant cette police et donc, c'est de sa responsabilité.

Créer une feuille de style personnalisée

Pour s'intégrer correctement dans l'écosystème de Calenco, le XSL personnalisé doit suivre certaines règles. Nous allons détailler ces dernières dans les sections suivantes pour les formats XML spécifiquement supportés par Calenco.

DocBook

Calenco utilise la version 1.75.2 des feuilles de style DocBook. Les instructions fournies dans cette section sont valables pour tous les formats DocBook supportés par Calenco.

Example 1. XSL minimal personnalisé pour DocBook
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:fo="http://www.w3.org/1999/XSL/Format"
                xmlns:xlink='http://www.w3.org/1999/xlink'
                xmlns:exsl="http://exslt.org/common"
                xmlns:date="http://exslt.org/dates-and-times"
                xmlns:db="http://docbook.org/ns/docbook"
                exclude-result-prefixes="xlink"
                version='1.0'>

<!-- Import standard -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl"/>

<?cco_xsltype addon="DocBook5.0" toolchain="DocBook_to_PDF_FOP"?>
<?cco_xsltype addon="DocBook5.0" toolchain="DocBook_to_RTF_FOP"?>
<?cco_xsltype addon="DocBook5.0" toolchain="DocBook_to_PS_FOP"?>

<!-- DocBook XSL Parameters -->
<xsl:param name="fop1.extensions" select="1"></xsl:param>

<xsl:param name="paper.type">A4</xsl:param>
</xsl:stylesheet>

Dans cet exemple, nous importons la feuille de style standard de profilage pour une sortie FO, puis nous déclarons que ce XSL personnalisé peut être utilisé pour les sorties PDF, RTF et PostScript. Ensuite nous indiquons dans la feuille de style qu'il faut utiliser les extensions FOP (le processeur FO par défaut dans Calenco) et le format A4 pour le papier.

Ce fichier (vous pouvez l'appeler My_Custom_Style_for_PDF.xsl) doit être stocké dans la langue International de votre espace de travail. Il apparaîtra ensuite dans la liste des feuilles de style lorsque vous créerez une nouvelle publication PDF, PostScript ou RTF.


Vous trouverez également des informations sur les sites dédiés à la personnalisation des feuilles de style DocBook suivants :

Différents formats de sortie personnalisables

Pour être utilisée dans une publication, une feuille de style doit être déclarée pour être associée à une toolchain spécifique (par exemple, la sortie PDF d'un document DocBook 5).

Pour associer une feuille de style à une toolchain, vous devez ajouter les instructions de transformation suivantes dans le fichier XSL :

Example 2. Instructions de transformation cco_xsltype
<?cco_xsltype addon="DocBook5.0" toolchain="DocBook_to_PDF_FOP"?>

Table 1. DocBook : valeurs possibles pour le paramètre toolchain

addon="DocBook5.0"

Import XSL correspondant

toolchain="DocBook_to_PDF_FOP"

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_to_PDF_XEP"

toolchain="DocBook_Screen_Diff"

HTML
http://docbook.sourceforge.net/release/xsl/current/html/changebars.xsl
XHTML
http://docbook.sourceforge.net/release/xsl/current/xhtml/changebars.xsl
XHTML 1.1
http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/changebars.xsl

toolchain="DocBook_Screen_Single"

HTML
http://docbook.sourceforge.net/release/xsl/current/html/profile-docbook.xsl
XHTML
http://docbook.sourceforge.net/release/xsl/current/xhtml/profile-docbook.xsl
XHTML 1.1
http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/profile-docbook.xsl

toolchain="DocBook_Screen_Chunk"

HTML
http://docbook.sourceforge.net/release/xsl/current/html/profile-chunk.xsl
XHTML
http://docbook.sourceforge.net/release/xsl/current/xhtml/profile-chunk.xsl
XHTML 1.1
http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/profile-chunk.xsl
XHTML5
http://docbook.sourceforge.net/release/xsl-ns/1.78.1/xhtml5/profile-chunk.xsl
Eclipse Help
http://docbook.sourceforge.net/release/xsl/current/eclipse/profile-eclipse.xsl
Java Help
http://docbook.sourceforge.net/release/xsl/current/javahelp/profile-javahelp.xsl

toolchain="DocBook_HTML5_Chunk"

Important : utilise la version bêta des feuilles de style DocBook 2.0. Si possible, utiliser plutôt le XHTML5 de "DocBook_Screen_Chunk" (DocBook XSL 1.78.1).

http://docbook.github.com/release/2.0.3/xslt/base/html/chunk.xsl

toolchain="DocBook_Screen_WebHelp"

Important : privilégier plutôt "DocBook_Screen_WebHelp_1.78.1".

http://docbook.sourceforge.net/release/xsl/current/webhelp/xsl/webhelp.xsl

toolchain="DocBook_Screen_WebHelp_1.78.1"

http://docbook.sourceforge.net/release/xsl-ns/1.78.1/webhelp/xsl/webhelp.xsl

toolchain="DocBook_to_RTF_FOP"

Important : privilégier plutôt "DocBook_to_RTF_XFC".

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_to_PS_FOP"

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_ODP"

Important : a été développé pour une commande spécifique. Ne peut être utilisée pour un usage général.

http://www.calenco.com/xsl/docbook/odp/odp.xsl

toolchain="DocBook_to_CHM"

http://docbook.sourceforge.net/release/xsl-ns/current/htmlhelp/profile-htmlhelp.xsl

toolchain="DocBook_Screen_S5"

http://www.calenco.com/ext/xsl/docbook/ns/s5/s5.xsl

toolchain="DocBook_to_DOCX_XFC"

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_to_ODT_XFC"

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_to_RTF_XFC"

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_to_WML_XFC"

http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl

toolchain="DocBook_EPUB3_Chunk"

Important : le nom "EPUB3" est une erreur. La version produite est en fait "2". Renommer la chaîne de transformation rendrait les feuilles de style existantes inutilisables.

http://docbook.sourceforge.net/release/xsl-ns/current/epub3-xxe/epub.xsl

toolchain="DocBook_XML"

http://docbook.sourceforge.net/release/xsl-ns/current/profiling/profile.xsl

toolchain="DocBook_CSV"

-

toolchain="DocBook_Text"

-

toolchain="DocBook_Transform"

- voir the section called “Le format spécifique Transform (DocBook_Transform)”


Chaînes de transformation évoluées

Les chaînes de transformation suivantes impliquent un traitement complexe, et des techniques XSLT évoluées. Merci de nous contacter pour plus d'informations.

  • "DocBook_IFDiff_PDF_FOP" permet de n'obtenir que les pages PDF qui ont été modifiées depuis la dernière publication,
  • "DocBook_IFDiff_XML_FOP" permet d'obtenir un fichier XML contenant un rapport détaillé des changements effectués sur les pages d'un document PDF depuis le dernier lancement de la publication.

Modification de la publication PDF post-pagination

La chaîne "DocBook_to_PDF_FOP" permet de spécifier une feuille de style à exécuter sur le format intermédiaire IF juste avant la génération du fichier PDF proprement dit. Cela peut être utile par exemple pour gérer des numérotation de pages exotiques.

Contactez-nous pour plus d'informations.

Le format spécifique Transform (DocBook_Transform)

La chaîne transform est un cas très particulier destiné à remplacer le fichier source. La feuille de style XSL utilisée pour cette transformation doit toujours retourner un fichier DocBook XML valide afin de ne pas casser le fichier source.

Ceci est utilisé pour appliquer une transformation au fichier source, par exemple pour rajouter des identifiants automatiques, remplacer une chaîne de caractères par une autre, etc. Notez que cela créera une nouvelle révision du fichier, de façon à pouvoir récupérer l'ancienne version.

Important

Les inclusions ne sont pas résolues lors de cette transformation.

Références externes

Les références externes relatives sont résolues par le processeur de publications en fonction de l'emplacement de votre fichier XSL.

Pour utiliser les icônes standards des feuilles de style DocBook telles que celles utilisées dans les notes, les avertissements, les marqueurs et les icônes de navigation, vous devez utiliser l'URI XSL DocBook standard suivante : http://docbook.sourceforge.net/release/xsl/current/....

Example 3. Utiliser les icônes graphiques DocBook standard
<xsl:param name="admon.graphics" select="1"></xsl:param>
<xsl:param name="admon.graphics.path">http://docbook.sourceforge.net/release/xsl/current/images/</xsl:param>
<xsl:param name="admon.graphics.extension">.svg</xsl:param>

Pour utiliser des icônes personnalisés pour les notes, avertissements, marqueurs, etc., le chemin déclaré vers vos images doit être relatif à votre feuille de style XSL.

Example 4. Utiliser des icônes graphiques personnalisés avec DocBook
<?calenco-dep note.svg?>
                              
                                 1
                              
<?calenco-dep caution.svg?>
<?calenco-dep important.svg?>
<?calenco-dep warning.svg?>
<?calenco-dep tip.svg?>
<xsl:param name="admon.graphics" select="1"></xsl:param>
<xsl:param name="admon.graphics.path"></xsl:param>
<xsl:param name="admon.graphics.extension">.svg</xsl:param>

Dans cet exemple, les images personnalisées sont stockées dans la même langue que le fichier XSL les référençant.


Déclarer les dépendances dans la feuille de style

Validité des informations

Les informations qui suivent sont valables pour tous les formats XML (DocBook, DITA, etc.).

Les dépendances de la feuille de style sont déclarées suivant les instructions de transformation calenco-dep. Tous les fichiers utilisés par la feuille de style doivent être déclarés selon ces instructions de transformation. Si un fichier n'est pas déclaré, il ne sera pas pris en compte au moment de la compilation et le document résultant ne comportera pas son contenu.

Example 5. Instructions de transformation calenco-dep
<xsl:param name="admon.graphics" select="1"></xsl:param>

<?calenco-dep note.svg?>
<?calenco-dep caution.svg?>
<?calenco-dep important.svg?>
<xsl:param name="admon.graphics.path"></xsl:param>
<xsl:param name="admon.graphics.extension">.svg</xsl:param>

Déclaration des icônes pour les admonitions

Vous remarquerez dans cet exemple les déclarations pour les icônes des notes et avertissements. Ces images (note.svg, caution.svg, etc.) doivent toutes être présentes dans la langue international de l'espace de travail.

Dépendances arbitraires

Il est possible de déclarer dans la feuille de style un jeu de fichiers à ajouter obligatoirement, notamment si le résultat de la publication est une archive compressée.

Example 6. Dépendances arbitraires
<cd:pubdeps xmlns:cd="http://www.calenco.com/ns/pubdeps"
            folder="content/test/other">
  <cd:dep>css-background-img.png</cd:dep>
  <cd:dep folder="../../test2">css-import.css</cd:dep>
</cd:pubdeps>

Cet élément doit être un enfant de l'élément racine de la feuille de style.

Dans cet exemple, l'attribut folder de l'élément pubdeps spécifie le répertoire dans lequel les fichiers seront copiés à l'intérieur de l'archive. S'il est présent sur un élément dep, le chemin vers cet autre répertoire est relatif à celui de l'élément pubdeps.

Le texte contenu dans les éléments deps doit contenir un chemin de fichier relatif à la feuille de style.

Important

Les directives <?calenco-dep?> sont nécessaires si la publication doit être mise à jour ou marquée comme obsolète en cas d'évolution de ces fichiers.

<?calenco-dep css-background-img.png?>
<?calenco-dep css-import.css?>

Visibilité dans Calenco

Par défaut, le nom de la feuille de style apparaît dans la boite de dialogue d'édition.

pdf-monClient.xsl

Pour dissocier la partie informatique de la partie utilisation, un paramètre permet d'afficher un nom plus parlant pour l'utilisateur - sans avoir à renommer la feuille de style.

<?cco_title Notice Client PDF ?>

Déclarer des paramètres du format de sortie dans la feuille de style

Les paramètres du format de sortie peuvent être déclarés dans la feuille de style sous la forme d'instructions de traitement : cco_tparam.

Important

Ces paramètres doivent être déclarés dans la feuille de style utilisée directement pour publier les documents (la feuille de style contenant l'instruction <?cco_xsltype).

Ces options peuvent êtres utilisées aussi pour une publication en particulier en utilisant le champ "Options" des paramètres avancés d'une publication.

Exemple :

xincludes=false

Paramètres de publication

Ces paramètres et variables sont valués par Calenco lors de la publication :

  • Ce paramètre est valué avec le répertoire temporaire de la publication : /tmp/calenco-tmp-1634573663588/cco_pub-l18n_a1ee8f3e-5034-4cce-a24e-cafd679e188f_1634665934870/

    <xsl:param name="base.dir"></xsl:param>
  • La variable root est valuée avec le document publié

    <xsl:variable name="root" select="/"/>
  • La variable systemid est l'adresse du document dans Calenco : http://core/workspaces/{wksp}/content/{lang]/{filename}.xml

    <xsl:param name="systemid"></xsl:param>
  • Pour ajouter un filigrane dans une publication :

    draft.mode=yes
    draft.watermark.image=protect.svg

    Ajouter la dépendance de la feuille de style avec l'image du filigrane :

    <?calenco-dep protect.svg?>

    Pour la publication Webhelp, il faut également intégrer l'image dans la page html :

      <xsl:template name="user.footer.content">
     
       [...]
      
        <img style="display:none" alt="ghost" src="protect.svg"/>
    
      </xsl:template>

Résolution des inclusions

Par défaut, les inclusions d'un document sont toutes résolues avant une publication. Ce comportement peut être désactivé.

Supporté par :
  • Toutes les chaînes de transformation sauf "DocBook_Transform".

Exemple :

<?cco_tparam xincludes="false"?>

Téléchargement des références externes

Par défaut, les références vers des fichiers externes sont téléchargées avant d'être intégrées dans le résultat de la publication. Ce comportement peut être désactivé.

Supporté par :
  • "DocBook_Screen_Diff"
  • "DocBook_Screen_Single"
  • "DocBook_Screen_Chunk"
  • "DocBook_EPUB3_Chunk"
  • "DocBook_HTML5_Chunk"
  • "DocBook_Screen_WebHelp"
  • "DocBook_Screen_WebHelp_1.78.1"

Exemple :

<?cco_tparam download="false"?>

Conversion de code MathML en images

Le code MathML contenu dans un fichier peut être convertit en images qui peuvent être utilisées par le résultat de la publication.

Supporté par :
  • "DocBook_to_PDF_XEP"
  • "DocBook_Screen_Diff"
  • "DocBook_Screen_Single"
  • "DocBook_Screen_Chunk"
  • "DocBook_EPUB3_Chunk"
  • "DocBook_HTML5_Chunk"
  • "DocBook_Screen_WebHelp"
  • "DocBook_Screen_WebHelp_1.78.1"

Exemple :

<?cco_tparam convert.mathml="png"?>
<?cco_tparam convert.mathml.size="18"?>
convert.mathml
Le format cible. "png" ou "svg".
convert.mathml.size
La taille de police à utiliser lors de la conversion.

La feuille de style doit se charger de la création des fichiers contenant le code MathML pour chaque équation. Exemple :

<xsl:param name="extract.mathml.ext" />
<xsl:param name="convert.mathml.ext" />

<xsl:template name="extract.mathml">
  <xsl:if test="$convert.mathml.ext != ''">
    <xsl:for-each select="$profiled-nodes//mml:math">
      <xsl:variable name="fname" select="concat(generate-id(), $extract.mathml.ext)" />
      <xsl:variable name="href" select="$fname" />
      
      <saxon:output href="{$base.dir}{$href}" method="xml" indent="no"
                    doctype-public="-//W3C//DTD MathML 2.0//EN"
                    doctype-system="http://www.w3.org/TR/MathML2/dtd/mathml2.dtd">
        <xsl:copy-of select="." />
      </saxon:output>
    </xsl:for-each>
  </xsl:if>
</xsl:template>

<xsl:template match="mml:math">
  <xsl:choose>
    <xsl:when test="$convert.mathml.ext != ''">
      <img src="{concat(generate-id(), $convert.mathml.ext)}" 
           alt="(MathML)"
           class="mathml"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML">
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
      </xsl:element>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template match="mml:*">
  <xsl:element name="{local-name()}" namespace="http://www.w3.org/1998/Math/MathML">
    <xsl:copy-of select="@*"/>
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

Contrôle de la qualité des images

La taille en pixels des images ainsi que leur qualité peuvent être contrôlées par ces paramètres.

Supporté par :
  • "DocBook_Screen_Diff"
  • "DocBook_Screen_Single"
  • "DocBook_Screen_Chunk"
  • "DocBook_EPUB3_Chunk"
  • "DocBook_HTML5_Chunk"
  • "DocBook_Screen_WebHelp"
  • "DocBook_Screen_WebHelp_1.78.1"
  • "DocBook_to_PDF_FOP"
  • "DocBook_to_PS_FOP"
  • "DocBook_to_RTF_FOP"

Exemple :

<?cco_tparam images.maxsize="1024"?>
<?cco_tparam images.quality="0.6"?>
images.maxsize
Un nombre entier définissant la hauteur et la largeur maximale des images en pixels.
images.quality
Une valeur entre 0 et 1. 0 étant la qualité la plus basse, 1 la plus haute.

Générer des graphiques

La feuille de style peut générer des fichiers JSON contenant des données destinées à être transformés en graphiques.

Supporté par :
  • Toutes les chaînes de transformation dont le résultat peut contenir des images.

Exemple :

<?cco_tparam generate.plots="1"?>

La feuille de style doit se charger de la création des fichiers JSON contenants les données. Exemple (PDF) :

<xsl:param name="base.dir"/><!-- Temporary folder for the publication. -->

<xsl:template match="*[@tabstyle = 'histogram']">
  <xsl:variable name="id">
    <xsl:text>diagram_</xsl:text>
    <xsl:number level="any" count="*[d:tgroup]"/>
  </xsl:variable>
    
  <saxon:output href="{$base.dir}plot/{$id}.json" method="text">
    <!-- JSON Data -->
  </saxon:output>

  <fo:block text-align="center" xsl:use-attribute-sets="normal.para.spacing">
    <fo:external-graphic src="file:{$base.dir}plot/{$id}.png"
                         width="75%"
                         content-width="scale-down-to-fit"/>
  </fo:block>
</xsl:template>

Exemple (HTML) :

<xsl:template match="*[@tabstyle = 'histogram']">
  <xsl:variable name="id">
    <xsl:text>diagram_</xsl:text>
    <xsl:number level="any" count="*[d:tgroup]"/>
  </xsl:variable>
    
  <saxon:output href="{$base.dir}../plot/{$id}.json" method="text" encoding="UTF-8">
    <!-- JSON Data -->
  </saxon:output>

  <div class="diagram">
    <img src="file:{$base.dir}../plot/{$id}.png"/>
  </div>
</xsl:template>

Le dossier contenant les fichiers JSON doit obligatoirement être nommé "plot" et doit être dans le répertoire temporaire de la publication (le dossier parent pour du HTML).

Dans la sortie HTML, la valeur de l'attribut src sera remplacé par une référence relative.

Format des données JSON

Exemple :

{
    "title": "Titre",
    "background": "#ffffff",
    "width": 1024,
    "height": 768,
    "barset": [
        {
            "color": "#00a5cd",
            "title": "Volume distribué",
            "data": [
                {
                    "x": 2017,
                    "y": 309695
                },
                {
                    "x": 2018,
                    "y": 288623
                }
            ]
        },
        {
            "color": "#7cd2e6",
            "title": "Volume consommé",
            "data": [
                {
                    "x": 2017,
                    "y": 260211
                },
                {
                    "x": 2018,
                    "y": 238583
                }
            ]
        }
    ],
    "curveset": [
        {
            "color": "#ff0000",
            "title": "Rendement",
            "data": [
                {
                    "x": 2017,
                    "y": 84.02
                },
                {
                    "x": 2018,
                    "y": 82.66
                }
            ]
        }
    ]
}

L'objet doit contenir au minimum un "curveset" ou un "barset".

Propriétés du graphique
title
Titre du graphique.
background
La couleur de fond pour le graphique, au format css.
width
Largeur de l'image, en pixels.
height
Hauteur de l'image, en pixels.

La résolution de l'image PNG contenant le graphique sera de 150ppp. Les dimensions de l'image permettent de contrôler son rapport hauteur/largeur.

Propriétés d'un tracé ("curveset" ou "barset")
title
Le titre du tracé.
color
La couleur du tracé.
data
Le tableau contenant les données. Coordonnées X, Y de chaque point du tracé. Dans le cas d'un "barset", "x" représente la colonne et "y", la hauteur du bâton.
style ("curveset" uniquement)
Le style de ligne : "solid" (défaut), "dash_dash", "dash_dot" ou "dot_dot".

Résolution de la conversion des fichiers SVG

Les chaînes de transformation pour les formats "traitement de texte" convertissent les images vectorielles SVG en bitmap.

Supporté par :
  • "DocBook_to_DOCX_XFC"
  • "DocBook_to_ODT_XFC"
  • "DocBook_to_RTF_XFC"
  • "DocBook_to_WML_XFC"

Exemple :

<?cco_tparam svg.convert.dpi="96"?>

La valeur par défaut est "127".

Sélection des révisions à comparer

Supporté par :
  • "DocBook_Screen_Diff"

Exemple :

<?cco_tparam rev="1.2"?>
<?cco_tparam against.rev="1.8"?>

Transformation du format intermédiaire (PDF)

Supporté par :
  • "DocBook_to_PDF_FOP"
  • "DocBook_IFDiff_PDF_FOP"
  • "DocBook_IFDiff_XML_FOP"

Exemple :

<?cco_tparam intermediate="if-massage.xsl"?>

Feuille de style de détection des différences

Supporté par :
  • "DocBook_IFDiff_PDF_FOP"
  • "DocBook_IFDiff_XML_FOP"

Exemple :

<?cco_tparam diff="if-diff.xsl"?>

Feuille de style d'injection de la liste des différences

Supporté par :
  • "DocBook_IFDiff_XML_FOP"

Exemple :

<!--
    Where to find the list of the modified files?
    
    This will be used by the toolchain to call the "injectDiff" stylesheet
    (see below) on each modified file.
-->
<?cco_tparam injectFilesPath="//*[@xml:id = 'modifications']/db:tgroup/db:tbody/db:row/db:entry[4]"?>

<!--
    Inject the revision date for each modified page.
-->
<?cco_tparam injectDiff="inject-diff.xsl"?>

Feuilles de style DocBook avancées

L'édition professionnelle de Calenco contient de belles feuilles de style par défaut pour DocBook. Ces feuilles de style peuvent aussi être personnalisées.

Formats imprimables (FO)

Pour personnaliser le format de sortie, importez la feuille de style par défaut dans votre propre feuille de style :

<xsl:import href="http://www.calenco.com/xsl/docbook/ns/fo/calenco-fo.xsl" />

Cette feuille de style par défaut importe la feuille de style XSL DocBook standard : http://docbook.sourceforge.net/release/xsl-ns/current/fo/profile-docbook.xsl. Toutes les options et paramètres de la feuille de style XSL DocBook standard sont disponibles dans votre propre feuille de style personnalisée. Pour les paramètres additionnels.

Publication en utilisant le processeur XEP

La feuille de style doit au moins comporter les éléments suivants :

  • La déclaration de l'espace de nom de RenderX

    <xsl:stylesheet 
    
                                                        xmlns:rx="http://www.renderx.com/XSL/Extensions"
                                     
    
                    version="1.0">
  • La déclaration de la tool chain :

    <?cco_xsltype addon="DocBook5.0" toolchain="DocBook_to_PDF_XEP"?>
  • Les paramètres de publications :

    <xsl:param name="xep.extensions" select="1"></xsl:param>
    <xsl:param name="fop1.extensions" select="0"></xsl:param>

Formats pour écrans

Les feuilles de style professionnelles par défaut sont disponibles pour les formats suivants :

  • HTML

  • XHTML

  • WebHelp

HTML et XHTML

Import a utilisé dans votre feuille de style personnalisée :

  • HTML :

    <xsl:import href="http://www.calenco.com/xsl/docbook/ns/html/calenco-html.xsl" />
  • XHTML :

    <xsl:import href="http://www.calenco.com/xsl/docbook/ns/html/calenco-xhtml.xsl" />

Les feuilles de style XSL DocBook standard importées par ces feuilles de style par défaut sont :http://docbook.sourceforge.net/release/xsl-ns/current/html/profile-chunk.xsl pour le HTML et http://docbook.sourceforge.net/release/xsl-ns/current/xhtml/profile-chunk.xsl pour le XHTML.

Toutes les options et paramètres de la feuille de style XSL DocBook standard sont disponibles dans votre propre feuille de style personnalisée.

WebHelp

Personnalisation de la feuille de style Webhelp

La personnalisation de la feuille de style par défaut webhelp peut être complexe en raison des multiples écrasements de propriétés CSS sur les pages HTML. La meilleure méthode est de prendre comme point de départ le fichier CSS par défaut (webhelp-custom.css).

Import à utiliser dans votre feuille de style personnalisée :

<xsl:import href="http://www.calenco.com/xsl/docbook/ns/webhelp/calenco-webhelp.xsl" />
Table 2. Paramètres Calenco pour la sortie WebHelp
Paramètre Effet sur la sortie
logo=logo.png

L'URL d'une image qui apparaîtra en haut à droite de chaque page. Quand ce paramètre est utilisé dans la fenêtre de dialogue de publication, l'URL doit être absolue(vous pouvez utiliser le menu "Fichier" -> "Lien DAV" pour obtenir l'URL absolue d'un fichier de votre espace de travail).

favicon=favicon.ico L'URL de l'icône de favori pour le navigateur web. Quand ce paramètre est utilisé dans la fenêtre de dialogue de publication, l'URL doit être absolue(vous pouvez utiliser le menu "Fichier" -> "Lien DAV" pour obtenir l'URL absolue d'un fichier de votre espace de travail).
custom.css=my-custom.css L'URL de la feuille de style CSS a utilisée pour personnaliser les pages HTML. Quand ce paramètre est utilisé dans la fenêtre de dialogue de publication, l'URL doit être absolue(vous pouvez utiliser le menu "Fichier" -> "Lien DAV" pour obtenir l'URL absolue d'un fichier de votre espace de travail).

Coloration syntaxique (DocBook)

Cette fonctionnalité permet de rajouter une coloration syntaxique automatiquement à la publication, pour un grand nombre de langages informatiques :

  • c

  • cpp

  • csharp

  • delphi

  • ini

  • java

  • javascript

  • lua

  • m2

  • myxml

  • perl

  • php

  • python

  • ruby

  • tcl

  1. Rajouter l'attribut language sur l'élément programlisting concerné, en positionnant sa valeur selon le langage.

        <programlisting language="java">    private Calenco() {
            try {
                initCalenco();
            } catch (Exception ex) {
                throw new ExceptionInInitializerError(ex);
            }
        }
    </programlisting>
  2. Rajouter dans votre feuille de style personnalisée les directives suivantes :

    <xsl:import href="http://docbook.sourceforge.net/release/xsl-ns/current/fo/highlight.xsl"/>
    <xsl:param name="highlight.source" select="1"/>

    Adaptation du chemin vers la feuille style

    Adapter le chemin vers la feuille de style highlight.xsl en fonction de l'import de la feuille de style générale que vous avez réalisé (voir Table 1, “DocBook : valeurs possibles pour le paramètre toolchain).

Récupération de la révision du document

Il est possible de récupérer les informations relatives à la version courante du document :

<xsl:variable name="revdata" select="document(concat($systemid, '/revdata'))"/>

La réponse retournée est du type :

<revision date="${revDate}" number="${revNumber}" author="${revAuthor}" />
Example 7. Example :
<revision date="2021-10-01" number="1.23" author="writer@calenco.com" />