Subject: RE: [xsl] pass variables to next form on submit from XSL file From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 20 Feb 2009 16:14:02 -0000 |
I don't know Perl (last used it more than 10 years ago) or its API to XSLT, so I can't comment on your syntax. But you seem to have the idea almost right. If you want $argu1 to be a stylesheet parameter passed from your Perl code to your XSLT code, then (a) you must declare it in the stylesheet using <xsl:param> (b) the reference to the value should be <input value="{$argu1}"/>, not <input value="$argu1"/>. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: himanshu padmanabhi [mailto:himanshu.padmanabhi@xxxxxxxxx] > Sent: 18 February 2009 09:28 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] pass variables to next form on submit from XSL file > > Do you mean to say I should do this in xsl file .. > > <form> > <td> > <input type=hidden name="argu1" value="$argu1"> > </td> > </form> > > and I should call xsl file using this perl sentense. > > my $results = $stylesheet->transform($source, string => > "'$str'",val => "'1'",argu1 => "'$argument'"); > > so that in the next form(which is called by xsl file),I can > use $in{'argu1'} ? > > On Tue, Feb 17, 2009 at 6:57 PM, Michael Kay > <mike@xxxxxxxxxxxx> wrote: > > 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 > 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 > > > > > > > > -- > Regards, > Himanshu Padmanabhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] pass variables to next fo, Michael Kay | Thread | Re: [xsl] pass variables to next fo, himanshu padmanabhi |
RE: [xsl] variable ending with ^@, Michael Kay | Date | Re: [xsl] variable ending with ^@, Andy Chambers |
Month |