3 pièce(s) jointe(s)
Split d'un élément en XSL
Bonjour à tous,
je désire faire un split d'un élément.
XML en entrée :
Code:
1 2 3
| <META>
<MOTS_CLES>x-y-e-z</MOTS_CLES>
</META> |
XSL en entrée :
Code:
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
| <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:lom="http://ltsc.ieee.org/xsd/LOM" xmlns:lomfr="http://www.lom-fr.fr/xsd/LOMFR"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ltsc.ieee.org/xsd/LOM http://ltsc.ieee.org/xsd/lomv1.0/lom.xsd">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="MOTS_CLES" name="split">
<xsl:param name="pText" select="."/>
<xsl:if test="$pText">
<MOTS_CLES>
<xsl:value-of select="substring-before(concat($pText, '-'), '-')"/>
</MOTS_CLES>
<xsl:call-template name="split">
<xsl:with-param name="pText" select="substring-after($pText, '-')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet> |
Et xml généré
Code:
1 2 3 4 5 6
| <META>
<MOTS_CLES>x</MOTS_CLES>
<MOTS_CLES>y</MOTS_CLES>
<MOTS_CLES>e</MOTS_CLES>
<MOTS_CLES>z</MOTS_CLES>
</META> |
Je désire dédoubler le mot-clé comme ci-dessus et je n'arrive pas à l'appliquer dans la XSL. Tous les champs sont affiché en XML généré mais je n'arrive pas à générer le split des mots clés dans la xsl que je vais transmettre.
Quelqu'un peut me conseiller?
Merci, bonne aprèm
François
PS: Courstest c'est le xml en input