134 |
sub _init_by_format ($$\%) { |
sub _init_by_format ($$\%) { |
135 |
my $self = shift; |
my $self = shift; |
136 |
my ($format, $option) = @_; |
my ($format, $option) = @_; |
|
return if $format eq $option->{format}; |
|
137 |
if ($format =~ /http/) { |
if ($format =~ /http/) { |
138 |
$option->{ns_default_phuri} = $self->{ns}->{phname2uri}->{'x-http'}; |
$option->{ns_default_phuri} = $self->{ns}->{phname2uri}->{'x-http'}; |
139 |
if ($format =~ /cgi/) { |
if ($format =~ /cgi/) { |
377 |
my %vopt = %{$vtype->[1]} if ref $vtype->[1]; |
my %vopt = %{$vtype->[1]} if ref $vtype->[1]; |
378 |
if ($vpackage eq ':none:') { |
if ($vpackage eq ':none:') { |
379 |
return $value; |
return $value; |
380 |
} elsif (defined $value) { |
} elsif (length $value) { |
381 |
eval "require $vpackage" or Carp::croak qq{<parse>: $vpackage: Can't load package: $@}; |
eval "require $vpackage" or Carp::croak qq{<parse>: $vpackage: Can't load package: $@}; |
382 |
return $vpackage->parse ($value, |
return $vpackage->parse ($value, |
383 |
-format => $self->{option}->{format}, |
-format => $self->{option}->{format}, |
671 |
my %params = @_; |
my %params = @_; |
672 |
my %option = %{$self->{option}}; |
my %option = %{$self->{option}}; |
673 |
$option{format} = $params{-format} if $params{-format}; |
$option{format} = $params{-format} if $params{-format}; |
674 |
$self->_init_by_format ($option{format}, \%option); |
$self->_init_by_format ($option{format}, \%option) |
675 |
|
if $self->{option}->{format} ne $option{format}; |
676 |
for (grep {/^-/} keys %params) {$option{substr ($_, 1)} = $params{$_}} |
for (grep {/^-/} keys %params) {$option{substr ($_, 1)} = $params{$_}} |
677 |
## Fill required fields |
## Fill required fields |
678 |
my %exist; |
my %exist; |