Just as we concluded our look at XSLT with a few recipes that offer solutions to common tasks, we will do the same here with XPathScript. Since most XSLT tips are easy to re-create using XPathScript, I will not repeat the same recipes but will focus instead on things unique to XPathScript (or simply not possible with vanilla XSLT 1.0).
You need to access information about the current request (POSTed form data, cookies, etc.) or other parts of the Apache HTTP server API from within your stylesheet.
Use the Apache object that is passed as the first argument to the top level of every XPathScript stylesheet transformation.
<% # at the top lexical level of your XPathScript stylesheet: my $r = shift; # $r now contains the same Apache object passed to mod_perl handler scripts. %>
One benefit of running XPathScript inside of AxKit is that each stylesheet can directly access the Apache server environment via the same Apache object that gives mod_perl its power and flexibility. This object can be used to examine (and in many cases, control) virtually every aspect of the Apache HTTP Server, from user-submitted form and query data to outgoing headers and host configurations.
<% use Apache::Request; my $r = shift; my $cgi = Apache::Request->instance($r); %> <html> <body> <p> You said that your favorite fish is <%= $cgi->param('fave_fish') %> </p> </body> </html>
<% use ...