--- test/html-webhacc/WebHACC/Input.pm 2008/07/21 05:24:32 1.3 +++ test/html-webhacc/WebHACC/Input.pm 2008/07/21 12:56:34 1.5 @@ -11,6 +11,8 @@ sub subdocument_index ($) { 0 } +sub full_subdocument_index ($) { 0 } + sub generate_info_section ($$) { my $self = shift; @@ -42,17 +44,16 @@ $out->start_tag ('dd'); $out->code ($self->{media_type}, class => 'MIME', lang => 'en'); if ($self->{media_type_overridden}) { - $out->html (' (overridden)'); + $out->nl_text ('... overridden'); } elsif (defined $self->{official_type}) { if ($self->{media_type} eq $self->{official_type}) { # } else { - $out->html (' (sniffed; official type is: '); - $out->code ($self->{official_type}, class => 'MIME', lang => 'en'); - $out->html (')'); + $out->nl_text ('... sniffed, official type is #', + text => $self->{official_type}); } } else { - $out->html ( '(sniffed)'); + $out->nl_text ( '... sniffed'); } $out->dt ('Character Encoding'); @@ -60,16 +61,17 @@ if (defined $self->{charset}) { $out->code ($self->{charset}, class => 'charset', lang => 'en'); } else { - $out->text ('(none)'); + $out->nl_text ('(unknown)'); } - $out->html (' overridden') if $self->{charset_overridden}; + $out->nl_text ('... overridden') if $self->{charset_overridden}; $out->dt ($self->{is_char_string} ? 'Character Length' : 'Byte Length'); ## TODO: formatting $out->start_tag ('dd'); my $length = length $self->{s}; - $out->text ($length . ($self->{is_char_string} ? ' character' : ' byte') . - ($length == 1 ? '' : 's')); + $out->text ($length . ' '); + $out->nl_text (($self->{is_char_string} ? 'character' : 'byte') . + ($length == 1 ? '' : 's')); } $out->end_tag ('dl'); @@ -134,7 +136,7 @@ } # new sub id_prefix ($) { - return 'subdoc-' . shift->{subdocument_index} . '-'; + return 'subdoc-' . shift->full_subdocument_index . '-'; } # id_prefix sub nested ($) { 1 } @@ -143,15 +145,27 @@ return shift->{subdocument_index}; } # subdocument_index +sub full_subdocument_index ($) { + my $self = shift; + my $parent = $self->{parent_input}->full_subdocument_index; + if ($parent) { + return $parent . '.' . $self->{subdocument_index}; + } else { + return $self->{subdocument_index}; + } +} # full_subdocument_index + sub start_section ($$) { my $self = shift; my $result = shift; my $out = $result->output; + my $index = $self->full_subdocument_index; $out->start_section (id => $self->id_prefix, - title => qq[Subdocument #] . $self->subdocument_index, - short_title => 'Sub #' . $self->subdocument_index); + title => qq[Subdocument #], + short_title => 'Sub #', + text => $index); } # start_section sub end_section ($$) {