Bonjour,
je débute en xsl.
J'ai un fichier xsl déjà tout fait que je dois modifier.
le fichier est le suivant
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="DATA">
<br/>
<xsl:apply-templates select="PROCESSUS"/>
</xsl:template>
<xsl:template match="PROCESSUS">
<span style="padding-left:{@rang*20-15};cursor:hand;width:100%;text-align:left" class="ListRefCause">
<xsl:attribute name="id">spanDomaine<xsl:value-of select="@num_rcma"/></xsl:attribute>
<xsl:attribute name="onClick">SelectDomaine("<xsl:value-of select="@num_rcma"/>")</xsl:attribute>
<xsl:if test="count(./PROCESSUS)>0">
<img src="../images/icon_adddelete.gif" onmouseover="me.src='../images/icon_adddelete_over.gif'" onmouseout="me.src='../images/icon_adddelete.gif'" onclick="OpenClose({@num_rcma})"/>
</xsl:if>
<xsl:if test="count(./PROCESSUS)=0">
<span class="ListRefCause" style="line-height:2px;width:18px;visibility:hidden"></span>
</xsl:if>
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
<xsl:value-of select="@num_rcma"/><xsl:text disable-output-escaping="yes">&nbsp;-&nbsp;</xsl:text><xsl:value-of select="@lib_rcma"/>
<br/>
</span>
<div style="display:'none'">
<xsl:attribute name="id">divDomaine<xsl:value-of select="@num_rcma"/></xsl:attribute>
<xsl:apply-templates select="./PROCESSUS"/>
</div>
</xsl:template>
</xsl:stylesheet> |
le fichier XML a traité est du genre :
1 2 3 4 5 6 7 8 9
|
<DATA>
<PROCESSUS idrcma="1" num_rcma="1" lib_rcma="libelle1" rang="1">
<PROCESSUS idrcma="11" num_rcma="11" lib_rcma="libelle2" rang="2">
<PROCESSUS idrcma="111" num_rcma="11/1" lib_rcma="libelle3" rang="3"/>
</PROCESSUS>
</PROCESSUS>
</PROCESSUS>
</DATA> |
Ce que j'aimerais c'est que la classe diffère suivant le rang de mon processus
j'ai donc voulu mettre après mon
<xsl:template match="PROCESSUS">
quelque chose du style
1 2 3 4 5 6 7 8 9
| <xsl:if test="@rang = '1'">
<span style="padding-left:{@rang*20-15};cursor:hand;width:100%;text-align:left" class="ListRefCause">
</xsl:if>
<xsl:if test="@rang = '2'">
<span style="padding-left:{@rang*20-15};cursor:hand;width:100%;text-align:left" class="ListRefCause2">
</xsl:if>
<xsl:if test="@rang = '3'">
<span style="padding-left:{@rang*20-15};cursor:hand;width:100%;text-align:left" class="ListRefCause3">
</xsl:if> |
Si je ne mets rien dans mes if et que je metsma ligne
<span style="padding-left:{@rang*20-15};cursor:hand;width:100%;text-align:left" class="ListRefCause">
en dehors des if mon XSL est correct.
J'ai du mal à capter en cet fin de journée.
Quelqu'un aurait une idée?
mais j'ai un message qui me dit que ma feuille de style est peut être vide ou n'est pas un document xml correctement constitué
Partager