home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / tsw / TSW_3.4.0.exe / Apache2 / perl / Variable.pm < prev    next >
Encoding:
Perl POD Document  |  2003-09-16  |  882 b   |  44 lines

  1. # $Id: Variable.pm,v 1.2 2003/09/16 18:18:18 joker Exp $
  2.  
  3. package XML::XPath::Variable;
  4. use strict;
  5.  
  6. # This class does NOT contain 1 instance of a variable
  7. # see the XML::XPath::Parser class for the instances
  8. # This class simply holds the name of the var
  9.  
  10. sub new {
  11.     my $class = shift;
  12.     my ($pp, $name) = @_;
  13.     bless { name => $name, path_parser => $pp }, $class;
  14. }
  15.  
  16. sub as_string {
  17.     my $self = shift;
  18.     '\$' . $self->{name};
  19. }
  20.  
  21. sub as_xml {
  22.     my $self = shift;
  23.     return "<Variable>" . $self->{name} . "</Variable>\n";
  24. }
  25.  
  26. sub get_value {
  27.     my $self = shift;
  28.     $self->{path_parser}->get_var($self->{name});
  29. }
  30.  
  31. sub set_value {
  32.     my $self = shift;
  33.     my ($val) = @_;
  34.     $self->{path_parser}->set_var($self->{name}, $val);
  35. }
  36.  
  37. sub evaluate {
  38.     my $self = shift;
  39.     my $val = $self->get_value;
  40.     return $val;
  41. }
  42.  
  43. 1;
  44.