Codifica dell’URL con XSLT 1.0

Ho un problema a scrivere il mio XSL. Ho un link con il codice riportato di seguito:

<a>
<xsl:attribute name="href">
  <xsl:value-of select="concat($myUrl,'&amp;projectNumber=',$projectNumber)"/>
</xsl:attribute>
<xsl:attribute name="title">
  <xsl:value-of select="title"/>
</xsl:attribute>
LINK
</a>

Quindi ho bisogno di passare una variabile projectNumber al fine di myUrl. Questo funziona bene e ho ...myUrl...&projectNumber=...projectNumber... in HTML.

Il problema è che la variabile projectNumber a volte ha alcuni caratteri che devono essere sfuggito l’href del mio link. Ho provato ad utilizzare il file XSL funzione str:escape-uri() in molti modi diversi, ma ancora senza successo…

Per esempio se myUrl è www.example.com/example.aspx?a=b e projectNumber è aaaūaaa
Ho href come www.example.com/example.aspx?a=b&projectNumber=aaaūaaa, ma ho bisogno di www.example.com/example.aspx?a=b&projectNumber=aaa%C5%ABaaa. (%C5%AB è il modo in cui ‘®’ è sfuggito) Qualche suggerimento? Grazie.

OriginaleL’autore Gintas K | 2013-07-10

One Reply
  1. 8

    Se si sta utilizzando XSLT 1.0,
    quindi fare riferimento questo.

    In caso di XSLT 2.0, è possibile utilizzare questo per risolvere il problema.

    <xsl:value-of select="concat($myUrl,'&amp;projectNumber=',encode-for-uri($projectNumber))"/>
    provato lo stesso codice con ‘encode-uri’ invece di ‘codifica-per-uri’, ma ancora non funziona in entrambi i modi :/
    provato con incorporato JScript?
    No, non ho provato, può farmi vedere un esempio come faccio a passare la projectNumber embedded, JScript e ritorno sfuggito il projectNumber?

    OriginaleL’autore Nidhin Joseph

Lascia un commento