Re: Remplacement ce caractères
François <[email protected]> Mon, 07 Jul 2008 21:58:44 +0200
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <[email protected]> |
Bonjour Stephane et merci pour ton attention. :-) Une /astuce/ , un /subterfuge/, une /bidouille/, ... ? ;-) Le caract=E8re d'=E9chappement "\" n'est pas reconnu apparemment. J'ai finalement "r=E9ussi" avec une /pirouette /: <xsl:template match=3D"text()"> <xsl:value-of select=3D"replace(translate(.,'?','=A3'),' =A3',' &= #63;')"/> </xsl:template> Je remplace au pr=E9alable le caract=E8re "?" par le caract=E8re "=A3" e= n=20 utilisant la fonction /translate() /et l=E0 tout rentre dans l'ordre...= =20 si je puis dire. Mais ce n'est pas satisfaisant pour l'esprit, surtout pour un esprit=20 anglo-Saxon9B... En r=E9sumant, /translate()/ g=E8re "?" mais pas /replace()/ ! (heureusem= ent=20 mes textes ne devraient pas comport=E9s le caract=E8re "=A3") Merci encore ! Fran=E7ois.L Stephane Bortzmeyer a =E9crit : > On Sat, Jul 05, 2008 at 07:55:24PM +0200, > Fran=E7ois <[email protected]> wrote=20 > a message of 38 lines which said: > > =20 >> <xsl:template match=3D"text()"> >> <xsl:value-of select=3D"replace(.,' ?', ?)"/> >> </xsl:template> >> >> J'obtiens le message d'erreur : /The regular expression in replace()=20 >> must not be one that matches a zero-length string >> =20 > > Pourquoi une astuce ? XSLT n'est pas un jeu vid=E9o :-) > > Blague =E0 part, je pense qu'il faut =E9crire \? et pas ?, le caract=E8= re ? > =E9tant un quantificateur dans les expressions rationnelles. > > Je n'ai pas test=E9, j'ai juste lu > <http://www.w3.org/TR/xmlschema-2/#regexs> puisque XSLT 2 r=E9f=E9rence > Xpath qui r=E9f=E9rence les W3C Schemas. Regardez le tableau =AB Single > Character Escape =BB. > > -- > Devenez redacteur <XML>fr et contribuez au developpement du > xml francophone (http://xmlfr.org/infos/redacteurs/) ! > > Liste de diffusion "[email protected]" (http://xmlfr.org). > > Cette liste est a votre disposition pour discuter en francais de=20 > tout sujet technique lie a XML. > > Pour resilier votre abonnement, envoyez un message contenant=20 > la commande "unsubscribe" a [email protected] > (mailto:[email protected]?Subject=3Dunsubscribe) > > > =20