# $Id: Param.pm,v 1.7 2001/06/04 10:08:43 matt Exp $

package AxKit::XSP::Param;
use strict;
use Apache::AxKit::Language::XSP;

use vars qw/@ISA $NS $VERSION/;

@ISA = ('Apache::AxKit::Language::XSP');
$NS = 'http://axkit.org/NS/xsp/param/v1';

$VERSION = "1.4";

## Taglib subs

# NONE! ;-)

## Parser subs

sub parse_start {
    my ($e, $tag, %attribs) = @_; 
    #warn "Checking: $tag\n";

    $e->append_to_script('$cgi->param(q|' . $tag . '|)');
    return '';    

sub parse_char {
     # compat only

sub parse_end {
     # compat only

sub parse_comment {
    # compat only

sub parse_final {
   # compat only


=head1 NAME

AxKit::XSP::Param - A namespace wrapper for accessing HTTP request paramaters.


Add the param: namespace to your XSP C<<xsp:page>> tag:


And add the taglib to AxKit (via httpd.conf or .htaccess):

    AxAddXSPTaglib AxKit::XSP::Param


The XSP param: tag library implements a simple way to access HTTP request parameters (query string and posted form data) by
field name. 

Thus, the B<value> submitted from this text box

    <input type="text" name="username"/>

is available after POSTing as


The same is true for information passed through the query string.

The best way to describe this taglib's use is with a few examples:

B<Simple inline text insertion> -

      Greetings, <param:username />, welcome to our site! 

B<As the contents of another element> -

    <custom-element><param:param_name /></custom-element>

B<As the attribute value for another elememnt> -

    <input type="hidden" name="foo">
      <xsp:attribute name="value"><param:foo/></xsp:attribute>

Note that if the specified parameter field does not exist no error is thrown. So, this:

    <input type="hidden" name="secret_data">
      <xsp:attribute name="value"><param:bogus_name/></xsp:attribute>

Will result in following after proccessing:

    <input type="hidden" name="secret_data" value="">

=head2 Tag Reference

There are no named functions for this tag library. 

=head1 AUTHOR

Kip Hampton, khampton@totalcinema.com


Copyright (c) 2001 Kip Hampton. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.

=head1 SEE ALSO