--- test/html-webhacc/cc.cgi 2008/02/10 02:30:14 1.32 +++ test/html-webhacc/cc.cgi 2008/02/10 03:11:06 1.34 @@ -155,6 +155,7 @@ my $doc; my $el; my $manifest; + my @subdoc; if ($input->{media_type} eq 'text/html') { ($doc, $el) = print_syntax_error_html_section ($input, $result); @@ -180,24 +181,59 @@ } if (defined $doc or defined $el) { + $doc->document_uri ($input->{uri}); + $doc->manakai_entity_base_uri ($input->{base_uri}); print_structure_dump_dom_section ($input, $doc, $el); my $elements = print_structure_error_dom_section - ($input, $doc, $el, $result); + ($input, $doc, $el, $result, sub { + push @subdoc, shift; + }); print_table_section ($input, $elements->{table}) if @{$elements->{table}}; - print_id_section ($input, $elements->{id}) if keys %{$elements->{id}}; - print_term_section ($input, $elements->{term}) if keys %{$elements->{term}}; - print_class_section ($input, $elements->{class}) if keys %{$elements->{class}}; + print_listing_section ({ + id => 'identifiers', label => 'IDs', heading => 'Identifiers', + }, $input, $elements->{id}) if keys %{$elements->{id}}; + print_listing_section ({ + id => 'terms', label => 'Terms', heading => 'Terms', + }, $input, $elements->{term}) if keys %{$elements->{term}}; + print_listing_section ({ + id => 'classes', label => 'Classes', heading => 'Classes', + }, $input, $elements->{class}) if keys %{$elements->{class}}; } elsif (defined $manifest) { print_structure_dump_manifest_section ($input, $manifest); print_structure_error_manifest_section ($input, $manifest, $result); } + + my $id_prefix = 0; + for my $subinput (@subdoc) { + $subinput->{id_prefix} = 'subdoc-' . ++$id_prefix; + $subinput->{nested} = 1; + $subinput->{base_uri} = $subinput->{container_node}->base_uri + unless defined $subinput->{base_uri}; + my $ebaseuri = htescape ($subinput->{base_uri}); + push @nav, ['#' . $subinput->{id_prefix} => 'Sub #' . $id_prefix]; + print STDOUT qq[
@{[htescape $subinput->{media_type}]}
+ <$ebaseuri>
@{[htescape $class]}