--- 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 ($$) {