| 580 |
$self->{id} = {}; |
$self->{id} = {}; |
| 581 |
$self->{id_type} = {}; # 'form' / 'labelable' / 'menu' |
$self->{id_type} = {}; # 'form' / 'labelable' / 'menu' |
| 582 |
$self->{form} = {}; # form/@name |
$self->{form} = {}; # form/@name |
| 583 |
|
#$self->{has_autofocus}; |
| 584 |
$self->{idref} = []; # @form, @for, @contextmenu |
$self->{idref} = []; # @form, @for, @contextmenu |
| 585 |
$self->{term} = {}; |
$self->{term} = {}; |
| 586 |
$self->{usemap} = []; |
$self->{usemap} = []; |
| 800 |
} |
} |
| 801 |
|
|
| 802 |
for (@{$self->{idref}}) { |
for (@{$self->{idref}}) { |
| 803 |
if ($self->{id}->{$_->[1]} and |
if ($self->{id}->{$_->[1]} and $self->{id_type}->{$_->[1]} eq $_->[0]) { |
| 804 |
$self->{id_type}->{$_->[1]} eq $_->[0]) { |
# |
| 805 |
|
} elsif ($_->[0] eq 'any' and $self->{id}->{$_->[1]}) { |
| 806 |
# |
# |
| 807 |
} else { |
} else { |
| 808 |
$self->{onerror}->(node => $_->[2], |
$self->{onerror}->(node => $_->[2], |
| 809 |
type => { |
type => { |
| 810 |
|
any => 'no referenced element', ## TODOC: type |
| 811 |
form => 'no referenced form', |
form => 'no referenced form', |
| 812 |
labelable => 'no referenced control', |
labelable => 'no referenced control', |
| 813 |
menu => 'no referenced menu', |
menu => 'no referenced menu', |
| 814 |
datalist => 'no referenced datalist', ## TODOC: type |
datalist => 'no referenced datalist', ## TODOC: type |
| 815 |
}->{$_->[0]}, |
}->{$_->[0]}, |
| 816 |
|
value => $_->[1], |
| 817 |
level => $self->{level}->{must}); |
level => $self->{level}->{must}); |
| 818 |
} |
} |
| 819 |
} |
} |
| 824 |
delete $self->{id}; |
delete $self->{id}; |
| 825 |
delete $self->{id_type}; |
delete $self->{id_type}; |
| 826 |
delete $self->{form}; |
delete $self->{form}; |
| 827 |
|
delete $self->{has_autofocus}; |
| 828 |
delete $self->{idref}; |
delete $self->{idref}; |
| 829 |
delete $self->{usemap}; |
delete $self->{usemap}; |
| 830 |
delete $self->{ref}; |
delete $self->{ref}; |