[XSLT] Extraction d'une sous-chaine dans une chaine?
Bonjour,
Pour ne pas changer, ma question concerne une transormation dans un glossaire en XML. 8-)
J'ai un glossaire en XML constitué des balises <terme> et <definition>.
<definition> contient bien sûr des définitons mais contient aussi de temps en temps des synonymes toujours précédés par la phrase "aussi connu sous" ou "Aussi connu sous".
Exemple:
Code:
1 2 3
|
<terme>octocoralliaires </terme>
<definition>classe de cnidaires anthozoaires à symétrie axiale d'ordre huit. Aussi connu sous anthozoaires.</definition> |
J'aimerais arriver au résultat suivant:
Code:
1 2 3 4
|
<terme>octocoralliaires </terme>
<definition>classe de cnidaires anthozoaires à symétrie axiale d'ordre huit.
<synonyme>anthozoaires</synonyme> |
Pour le moment j'arrive seulement à détecter dans mon XML les définitions contenant "Aussi connu sous" et à les afficher.
Code:
1 2 3 4 5 6 7 8 9
|
<xsl:template match="node">
<xsl:choose>
<xsl:when test="contains(definition,'Aussi connu sous') or contains(definition,'aussi connu sous')">
<synonyme><xsl:value-of select="definition"/></synonyme>
</xsl:when>
</xsl:choose>
<xsl:apply-templates/>
</xsl:template> |
Ma question est: Est-ce qu'il y a un moyen avec XSLT d'extraire ce qui est après "aussi connu sous"?:bug:
Merci pour votre aide :-)