Je m’adresse encore une fois à vous car je m’arrache les cheveux
J’utilise les filtres XML d’OpenOffice.org 2.4 pour interpréter du DocBook (langage XML) et le présenter avec OpenOffice writer. Pour cela, j’ai donc un modèle .ott qui définit les styles à appliquer, styles qui sont appelés dans la feuille de style à l’import du fichier DocBook. Dans ce modèle, les styles de titres n’ont pas de numérotation associée, mais la numérotation des chapitres est configurée. Voici ce que j’obtiens lorsque j’applique à la main des titres dans un document basé sur le modèle :
(cf "Presentation modele.pdf")
Le fichier docbook que je rentre est le suivant :
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" >
<section>
<title></title>
<section>
<title></title>
<section>
<title></title>
<section>
<title></title>
<section>
<title></title>
<section>
<title></title>
</section>
</section>
</section>
</section>
</section>
<section>
<title></title>
</section>
</section>
Code : Tout sélectionner
<xsl:template match="title">
<xsl:param name="level" select="1" />
<!-- La profondeur maximale autorisée est 5 (titre 5) -->
<xsl:choose>
<xsl:when test="$level < 5"><!-- Si la profondeur est inférieure à 5 -->
<!-- Sert à former la chaine style 'Titre 1' -->
<xsl:variable name="style_liste"
select="concat('Titre ', $level)" />
<text:h text:is-list-header="false"
text:style-name="{$style_liste}">
<!-- <xsl:value-of select="text()" />
-->
<xsl:value-of select="$style_liste" />
,
<xsl:value-of select="$level" />
</text:h>
</xsl:when>
<xsl:otherwise><!-- Sinon, on applique le style 'Titre 5' -->
<text:h text:is-list-header="false"
text:style-name="Titre 5">
<!-- <xsl:value-of select="text()" />
-->
Titre 5,
<xsl:value-of select="$level" />
</text:h>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
mauvaise numérotation:
Code : Tout sélectionner
<text:h text:is-list-header="true" text:outline-level="2"
text:style-name="Heading_20_2">Code : Tout sélectionner
<text:h text:outline-level="2"
text:style-name="Heading_20_2">Code : Tout sélectionner
<text:h text:is-list-header="false"Code : Tout sélectionner
text:is-list-header="true"Je compte donc sur vos talents pour me dire d’où vient le problème car j’avoue que je perds espoir… Peut-être savez-vous à quelle option est lié le code
Code : Tout sélectionner
text:is-list-header="true"Le modérateur a écrit :Balise [Writer] inutile dans cette section consacré à Writer

