Re: Re: [xsl] Get Variables in XSL from URL

Subject: Re: Re: [xsl] Get Variables in XSL from URL
From: "miouge@xxxxxxxxxxx" <miouge@xxxxxxxxxxx>
Date: Sun, 30 Apr 2006 13:29:50 +0200
Bonjour Andrew Franz,

I would like use onlye a client side script :)

` bienttt, 
Cordialement Guyot Maxime.  
======= le 29/04/2006, 03:01:06 vous icriviez: =======

>This is not strictly on-topic - however, my experience is that 
>parameters are best handled outside of XSL (and server-side if possible)
>
>The following function removes certain request parameters (in this 
>example, those suffixed with .x or .y) & reassembles & reloads the URL 
>without them.
>Maybe you can adapt it for your needs.
>
>function delparam() {
>        var oldurl = parent.document.location.href;
>        var qparts = oldurl.split("?");
>        var newurl = qparts[0];
>        if (qparts.length > 1) {
>            // remove any "rqop" parameter, or operations will be repeated
>            var vars = qparts[1].split("&");
>            var sep = "?";
>            for (var i=0; i < vars.length; i++) {
>                var parts = vars[i].split("=");
>                if ((parts[0].substr(parts[0].length-2) == ".x") || 
>(parts[0].substr(parts[0].length-2) == ".y")) {
>                      // do nothing
>                } else {
>                    newurl += sep+ parts[0]+ "="+ parts[1];
>                    sep = "&";
>                }
>            }
>        }
>        parent.document.location.href = newurl;
>}
>
>Server-side, I use the following approach:
>This snippet is JSP but I imagine that you can adapt it as well.
>It excises the parameters named in "list" and returns the others in a 
><request> tag for further processing by XSL.
>
>    <c:set var="list" 
>value="${fn:split('spr,sprname,listinterval,listsrc', ',')}" />
>    <c:set var="listplus" value="${fn:join(list,',')}," />
>    <request>
>        <c:forEach var="par" items="${paramValues}">
>        <c:forEach var="value" items="${par.value}">
>            <c:set var="keyplus" value="${par.key}," />
>            <c:if test="${not fn:contains(listplus, keyplus)}">
>                <jsp:element name="${par.key}">${value}</jsp:element>
>            </c:if>
>        </c:forEach>
>        </c:forEach>
>    </request>
>
>
>
>
>miouge@xxxxxxxxxxx wrote:
>
>>Hello,
>>I would like to get some variables from the URL (file.xml?var1=value1&var2=value2) in the test.xml's xsl file (all of this in the client-side) and so have try this code:
>><msxsl:script language="javascript" implements-prefix="prefix">
>>function getURLvar(name){
>>  var params = location.search.substring(1).split("&");
>>  var variables = new Array();
>>    for (i in params) {
>>      var segments_var = params[i].split("=");
>>      variables[segments_var[0]] = unescape(segments_var[1]);
>>    }
>>  function setFile(file) {
>>    iSend = send;
>>  }
>>return variables[name];
>>}
>></msxsl:script>
>>
>>and use this one to print on screen the value of the GET variables....
>>
>>  <xsl:value-of select="prefix:getURLvar(test)" />
>>
>>But it seems not to be a good Method... and i ask if their is a better solution to achieve my goal.
>>
>>Thanks, and sorry for my bad english.
>>
>>Maxime G.
>>
>>
>>--~------------------------------------------------------------------
>>XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>>To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
>>or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
>>--~--
>>
>>
>>  
>>
>
>
>--~------------------------------------------------------------------
>XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
>or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx>
>--~--
>

= = = = = = = = = ========= = = = = = = = = = =
			
miouge
miouge@xxxxxxxxxxx
30/04/2006

Current Thread