Bonjour à tous,
je désire faire un split d'un élément.
XML en entrée :
XSL en entrée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <META> <MOTS_CLES>x-y-e-z</MOTS_CLES> </META>
Et xml généré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager