J'ai déja écrit une procédure de type "tokenize" en XSLT. L'idée est de parser la chaïne caractère par caractère (on peut extraire une sous-chaîne avec une fonction XPath) et de faire un traitement récursif en utilisant un tampon. A vue de nez ça ressemble bcp à ce qu'on ferait avec un langage classique.
En réalité, pour être beaucoup moins général, on peut utiliser des fonctions telles que substring-before(string1, string2) pour obtenir le début de string1 juste avant l'occurence de string2 (http://www.w3schools.com/xpath/xpath_functions.asp#string)
exemple: dans le le cas où tu es dans un contexte du type :
[^] # Re: Et les logiciels libres ?
Posté par beesse . En réponse à la dépêche La guerre des formats continue !. Évalué à 1.
En réalité, pour être beaucoup moins général, on peut utiliser des fonctions telles que substring-before(string1, string2) pour obtenir le début de string1 juste avant l'occurence de string2 (http://www.w3schools.com/xpath/xpath_functions.asp#string)
exemple: dans le le cas où tu es dans un contexte du type :
<personne>Jean Dupont</personne>
<personne>Caroline Morino</personne>
tu passes à la représentation B comme ceci :
<xsl:for-each select="personne">
<personne>
<nom><xsl:value-of select="substring-after(., " ")/></nom>
<prenom><xsl:value-of select="substring-before(., " ")/></prenom>
</personne>
</xsl:for-each>
je n'ai pas testé ce code, il y a éventuellement des erreurs de syntaxe.