Numérotation des paragraphes

Discussions à propos du traitement de textes Writer mais également sur l'éditeur HTML.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

samalairbien
Membre lOOyal
Membre lOOyal
Messages : 42
Inscription : 27 juin 2008 09:05

Numérotation des paragraphes

Message par samalairbien »

Bonjour,

Je m’adresse encore une fois à vous car je m’arrache les cheveux :fou: depuis ce matin pour régler un problème de numérotation de chapitres. Je vais essayer d'être aussi clair que possible. Voici mon problème.

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>
Le motif traitant les titres de sections est le suivant (level est un paramètre indiquant le niveau d’imbrication de la section dans laquelle est situé le titre) :

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>
Le problème est que, dans l’éditeur de texte, la numérotation des titres n’apparaît pas lorsque j’importe le fichier DocBook. Quand on compare le content.xml de ce fichier avec celui du fichier que je souhaite obtenir, seuls les attributs de la balise <text :h > diffèrent (exemple pour le titre 2) :

mauvaise numérotation:

Code : Tout sélectionner

<text:h text:is-list-header="true" text:outline-level="2"
				text:style-name="Heading_20_2">
bonne numérotation:

Code : Tout sélectionner

	<text:h text:outline-level="2"
				text:style-name="Heading_20_2">
C’est pourquoi j’ai spécifié clairement dans ma feuille de style

Code : Tout sélectionner

<text:h text:is-list-header="false"
Mais apparemment, lors de l’import, l'attribut

Code : Tout sélectionner

text:is-list-header="true"
apparaît toujours dans la balise <text :h>.


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"
dans l'interface d'OpenOffice.org writer?
Presentation modele.pdf
Le modérateur a écrit :Balise [Writer] inutile dans cette section consacré à Writer
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice.org 2.4 sous Windows XP
OpenOffice.org 2.4 sous Ubuntu 7.1
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Re: Numérotation des paragraphes

Message par Pierre-Yves Samyn »

Bonjour
samalairbien a écrit :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"
dans l'interface d'OpenOffice.org writer?
OASIS a écrit :Suppress Header Numbering
It is sometimes desired to have a specific heading which should not be numbered. This corresponds to unnumbered list headers in lists (see sections 4.3). To facilitate this, an optional attribute text:is-list-header can be used. If true, the given header will not be numbered, even if an explicit list-style is given.
<define name="heading-attrs" combine="interleave">
<optional>
<attribute name="text:is-list-header" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>