XSLT version 1 URL encoding

前端 未结 4 869
后悔当初
后悔当初 2020-12-17 16:03

Is there a URL encoding function in XSLT version 1? I need something similar to encodeURIComponent function in javascript?

Seeing as this is not possible as I\'m usi

4条回答
  •  既然无缘
    2020-12-17 16:28

    you can use JScript embedded in XSLT ...

    
    function uriencode(string) {
     return encodeURIComponent(string);
    }
    
    

    and call it like custom:uriencode( url_to_encode )

    You will first need to define the namespace though by adding to the tag the xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:custom="http://youdomain.ext/custom"

    [update]

    the Url i put for the custom namespace could be anything .. it is just a unique identifier..
    (the link concludes that it is less confusing if you do not use a url as the identifier..)

    [udpdate 2]

    Some added info.
    If you use MSXML6 then you need to manually allow scripting in the XSLT, by using the AllowXsltScript property.. ( reference )
    Depending on the way you load the xslt and its settings have a look at the examples at Script Blocks Using msxsl:script on how to alow scripts

提交回复
热议问题