Bonjour,
Rien de particulier sur le premier paragraphe, si ce n'est que son style pointe
vers le style de la page (@style:master-page-name) en plus de la déclaration
des éléments de style du paragraphe. Cet attribut ne peut être présent que dans
la rubrique "automatic-styles" du fichier content.xml (styles locaux) : jamais
dans le fichier styles.xml (styles globaux) .
Si un style de page est spécifié et que le premier paragraphe de cette page
possède un style particulier (défini dans la fenêtre des styles), alors OO
impose la création d'un style intermédiaire, de niveau local. Les règles de
nommage de ces styles sont effectivement P1, P2, ...
Pour aller plus loin, il faut bien avoir compris les différents niveaux de
styles d'OpenOffice :
- styles locaux : dans le fichier content.xml (pour simplifier);
> ces styles ne sont pas présents dans le fenêtre des styles
d'OO;
> ces styles sont instanciés par OO de façon automatique
lorsque que l'on style un élément hors fenêtre des styles (ex : sélection d'un
mot et click sur le bouton gras)
- styles globaux : dans le fichier styles.xml (pour simplifier);
> ces styles sont présents dans le fenêtre des styles d'OO;
A cela s'ajoute le principe d'héritage : pour une catégorie de style donnée
(frame, paragraph, inline, page, list), tout style de niveau local peut hériter
de tout style de niveau global ou local. Tout style de niveau global peut
hériter de tout style de niveau global.
Conclusion : dans votre cas, pour extraire le style principal des différents
paragraphes, vous devez faire un truc du genre (même si la norme OD autorise
d'avantage de choses, OO limite l'héritage des styles locaux aux seuls styles
globaux. Cela simplifie l'écriture de la XSL et permet de ne pas être récursif
:) ) :
<xsl:template match="text:p">
<xsl:variable name="vCurrentStyle" select="@text:style-name"/>
<xsl:variable name="vMainStyle">
<xsl:choose>
<xsl:when
test="/office:document-content/office:automatic-styles/style:[EMAIL
PROTECTED]:family='paragraph' and @style:name=$vCurrentStyle]">
<xsl:value-of
select="/office:document-content/office:automatic-styles/style:[EMAIL
PROTECTED]:family='paragraph' and
@style:name=$vCurrentStyle]/@style:parent-style-name"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$ vCurrentStyle
"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
</xsl:template>
Antoine POURCHEZ
http://www.kelis.fr
ps : à mon avis, on n'est pas sur la bonne liste pour ce genre de message un
peu technique...
-----Message d'origine-----
De : JeanJoT_gmail [mailto:[EMAIL PROTECTED]
Envoyé : lundi 11 février 2008 12:07
À : [email protected]
Objet : [discuss] problème avec l'export xml
Bonjour
J'espère poster mon problème au bonne endroit.
J'ai écrit une xslt de transformation (générique) pour exporter le contenu
d'un fichier odt stylé vers xml.
Le problème que je rencontre, c'est que pour le premier paragraphe de mes
fichiers le style n'est jamais reconnu et la transformation retourne
systématiquement un style générique du type P suivi d'un numéro ex: P2.
Je soupçonne un bug, j'ai fait des test sur la future 2.4, je rencontre le
meême problème ...
Si quelqu'un a une idée ???
Merci
--
Jean-Joseph THIBAULT
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]