[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] pass variables to next form on submit from XSL file


Subject: RE: [xsl] pass variables to next form on submit from XSL file
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 17 Feb 2009 13:27:59 -0000

Remember that your stylesheet is just generating an HTML page. First work
out what HTML you want to generate, then remember that it's just data.
There's nothing magic about the fact that part of the page is Javascript
code, as far as the XSLT is concerned it's data like everything else.

So, your calling application (myfile.cgi) extracts the variables from the
HTTP request, it passes them to the stylesheet as stylesheet parameters, and
the stylesheet copies them into the generated client-side Javascript code.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: himanshu padmanabhi [mailto:himanshu.padmanabhi@xxxxxxxxx] 
> Sent: 17 February 2009 13:11
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] pass variables to next form on submit from XSL file
> 
> How to pass variables from XSL file to next form on form submit?
> 
> CODE
> 
> myfile.cgi
> 
>     $str=$in{'some_value'};
>     my $parser = XML::LibXML->new();
>     my $xslt = XML::LibXSLT->new();
> 
>     my $source = $parser->parse_file($xmlfile);
>     my $style_doc = $parser->parse_file($xslfile);
> 
>     my $stylesheet = $xslt->parse_stylesheet($style_doc);
> 
>     my $results = $stylesheet->transform($source, string  => 
> "'$str'",val => "'1'");
>     print $stylesheet->output_string($results);
> 
> 
> myfile.xsl
> 
> <form name="form1" method="POST" action="file1.cgi">
>      <tr>
>             <td>
>                          <xsl:value-of select="label"/>
>             </td>
>             <td>
>                         <xsl:value-of select="desc"/>
>             </td>
>             <td>
>                    <select>
>                            <xsl:call-template name="str:tokenize">
>                            </xsl:call-template>
>                   </select>
>            </td>
>     </tr>
> </form>
> 
> <xsl:choose>
> <xsl:when test="$val &gt; 1">
> <script>
>         document.mon.submit();
> </script>
>  </xsl:when>
>  </xsl:choose>
> 
> </xsl:template>
> 
> 
> file1.cgi
> 
> Here I want to access $string and $val.XSL should give them 
> on form submit.How to access those here?
> ----------------------------
> Regards,
> Himanshu Padmanabhi


Current Thread
Keywords