xsl : test sur les chaine de caractère
Salut tout le monde,
j'aimerai pouvoir récupérer des codes noyés dans du texte
exemple de source
Code:
1 2 3 4 5 6 7 8 9 10 11
| <td>
<p>...text...</p>
<b>Références</b>
<p>
...Distribué sous le code : 798 5008
</br>
....texte....
</p>
<p>....texte....</p>
<p>....texte....</p>
</td> |
pour arriver au résultat
Code:
1 2 3
| <rubrique titre="Code">
<item titre="7985008"/>
</rubrique> |
j'essaye avec le code suivant sans succès (je récupère la balise <rubrique> mais pas <item>)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <xsl:template match="//td">
<rubriques>
<xsl:if test="descendant::node()[child::text()[contains(string(),'Références')]]">
<xsl:attribute name="titre">
<xsl:text>Code</xsl:text>
</xsl:attribute>
<xsl:choose>
<xsl:when test="following-sibling::node()[child::text()[contains(string(),'code :')]]">
<item>
<xsl:attribute name="titre">
<xsl:value-of select="subtring-after('code :', ':')"/>
</xsl:attribute>
</item>
</xsl:when>
</xsl:choose>
</xsl:if>
</rubriques>
</xsl:template> |
merci pour votre aide
merci
en plus
est-il possible de spécifier directement dans le template
<xsl:template match="text()[contains(., 'Références')]">
merci