Re: guillemets dans un href généré par xslt
Stephane Bortzmeyer <[email protected]> Wed, 24 Jan 2007 21:12:07 +0100
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Jan 24, 2007 at 11:25:26AM +0100, [email protected] <[email protected]> wrote a message of 39 lines which said: > Y a t il moyen d'encoder une URL en UTF-8 en xslt ? Pourquoi donc en UTF-8 ? Ce ne serait pas légal dans un URI. La bonne solution est le "percent encoding" mais je ne crois pas qu'il existe une fonction standard en XSLT 1. Heureusement, beaucoup de processeurs implémentent EXSLT qui a str:encode-uri : Pour tester : <xsl:if test="not(function-available('str:encode-uri'))"> <xsl:message terminate="no"> <xsl:text>No EXSLT encode-uri function available for this processor (</xsl:text><xsl:value-of select="system-property('xsl:vendor')"/><xsl:text>), URIs may not be properly escaped.</xsl:text> </xsl:message> </xsl:if> Pour encoder la variable $word : <xsl:choose> <xsl:when test="function-available('str:encode-uri')"> <xsl:value-of select="str:encode-uri($word, true())"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$word"/> </xsl:otherwise> </xsl:choose>