— |
'""' => \ &value ,
'<=>' => \ &cmp ;
sub True {
my $class = shift ;
my $val = 1;
bless \ $val , $class ;
}
sub False {
my $class = shift ;
my $val = 0;
bless \ $val , $class ;
}
sub value {
my $self = shift ;
$$self ;
}
sub cmp {
my $self = shift ;
my ( $other , $swap ) = @_ ;
if ( $swap ) {
return $other <=> $$self ;
}
return $$self <=> $other ;
}
sub to_number { XML::XPathEngine::Number->new( $_ [0]->value); }
sub to_boolean { $_ [0]; }
sub to_literal { XML::XPathEngine::Literal->new( $_ [0]->value ? "true" : "false" ); }
sub string_value { return $_ [0]->to_literal->value; }
sub getChildNodes { return wantarray ? () : []; }
sub getAttributes { return wantarray ? () : []; }
1;
|