Bonjour,
dans ma recherche à triturer du odt xml,

puis-je raisonner ainsi :
- pour l'élément text:p, au choix :
-> si l'élément descendant est draw:frame, j'implémente ceci
-> si @text:style-name='Quotations', j'implémente cela
-> autrement, ce code-ci

?

soit la structure du code odt :

<text:p>
<draw:frame>
<draw:image/>
</draw:frame>
</text:p>


la structure du code xsl est bien celle-là :


<xsl:template match="text:p">
		<xsl:choose>
			<xsl:when test="//='draw:frame'">
				<xsl:apply-templates/>
				<xsl:if test="count(node())=0"><br/></xsl:if>
			</xsl:when>
			
			<xsl:when test="@text:style-name='Quotations' and node()">
				<blockquote>
					<p class="{translate(@text:style-name,'.','_')}">
						<xsl:apply-templates/>
					</p>
				</blockquote>
			</xsl:when>
			
			<xsl:otherwise>
				<p class="{translate(@text:style-name,'.','_')}">
					<xsl:apply-templates/>
					<xsl:if test="count(node())=0"><br/></xsl:if>
				</p>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>


Est-ce bien correct ?
Modifié par ste (04 Jul 2007 - 12:24)
En fait, je viens de comprendre Smiley langue

Est juste :


     <xsl:template match="text:p">
		<xsl:choose>
			<xsl:when test="descendant::draw:*'">


afin de sélectionner le choix :
-> si le choix descendant est draw:* ... blablabla

merci qd, même Smiley langue
Modifié par ste (04 Jul 2007 - 12:24)