--- test/html-webhacc/cc.cgi 2007/06/27 12:35:24 1.2 +++ test/html-webhacc/cc.cgi 2007/06/27 14:36:45 1.4 @@ -33,30 +33,26 @@ exit; } + my @nav; print STDOUT qq[Content-Type: text/html; charset=utf-8 Web Document Conformance Checker (BETA) - - +

Web Document Conformance Checker (beta)

+
Document URI
<@{[htescape $input_uri]}>
Internet Media Type
@{[htescape $input_format]}
]; # no
yet + push @nav, ['#document-info' => 'Information']; require Message::DOM::DOMImplementation; my $dom = Message::DOM::DOMImplementation->____new; @@ -73,9 +69,12 @@
Character Encoding
(none)
+
+

Document Source

]; + push @nav, ['#source-string' => 'Source']; print_source_string (\$s); print STDOUT qq[
@@ -83,18 +82,19 @@

Parse Errors

- +
]; } elsif ($input_format eq 'application/xhtml+xml') { @@ -120,9 +120,12 @@
Character Encoding
(none)
+
+

Document Source

]; + push @nav, ['#source-string' => 'Source']; print_source_string (\$t); print STDOUT qq[
@@ -130,15 +133,16 @@

Parse Errors

- +
]; } else { print STDOUT qq[ + +

Media type @{[htescape $input_format]} is not supported!

+
]; + push @nav, ['#result-summary' => 'Result']; } @@ -164,6 +172,7 @@

Document Tree

]; + push @nav, ['#document-tree' => 'Tree']; print_document_tree ($el || $doc); @@ -173,15 +182,16 @@

Document Errors

- +
]; } ## TODO: Show result + print STDOUT qq[ + ]; @@ -233,14 +251,15 @@ my $node_id = 'node-'.refaddr $child; my $nt = $child->node_type; if ($nt == $child->ELEMENT_NODE) { - $r .= qq'
  • ' . htescape ($child->tag_name) . + my $child_nsuri = $child->namespace_uri; + $r .= qq[
  • ] . htescape ($child->tag_name) . ''; ## ISSUE: case if ($child->has_attributes) { $r .= '
      '; - for my $attr (sort {$a->[0] cmp $b->[0]} map { [$_->name, $_->value, 'node-'.refaddr $_] } + for my $attr (sort {$a->[0] cmp $b->[0]} map { [$_->name, $_->value, $_->namespace_uri, 'node-'.refaddr $_] } @{$child->attributes}) { - $r .= qq'
    • ' . htescape ($attr->[0]) . ' = '; ## ISSUE: case? + $r .= qq[
    • ] . htescape ($attr->[0]) . ' = '; ## ISSUE: case? $r .= '' . htescape ($attr->[1]) . '
    • '; ## TODO: children } $r .= '
    '; @@ -251,28 +270,27 @@ unshift @node, @{$child->child_nodes}, ''; } } elsif ($nt == $child->TEXT_NODE) { - $r .= qq'
  • ' . htescape ($child->data) . '
  • '; + $r .= qq'
  • ' . htescape ($child->data) . '
  • '; } elsif ($nt == $child->CDATA_SECTION_NODE) { - $r .= qq'
  • <[CDATA[' . htescape ($child->data) . ']]>
  • '; + $r .= qq'
  • <[CDATA[' . htescape ($child->data) . ']]>
  • '; } elsif ($nt == $child->COMMENT_NODE) { - $r .= qq'
  • <!--' . htescape ($child->data) . '-->
  • '; + $r .= qq'
  • <!--' . htescape ($child->data) . '-->
  • '; } elsif ($nt == $child->DOCUMENT_NODE) { - $r .= qq'
  • Document
  • '; + $r .= qq'
  • Document
  • '; if ($child->has_child_nodes) { $r .= '
      '; unshift @node, @{$child->child_nodes}, '
    '; } } elsif ($nt == $child->DOCUMENT_TYPE_NODE) { - $r .= qq'
  • <!DOCTYPE>
      '; - $r .= '
    • Name = @{[htescape ($child->name)]}
    • '; - $r .= '
    • Public identifier = @{[htescape ($child->public_id)]}
    • '; - $r .= '
    • System identifier = @{[htescape ($child->system_id)]}
    • '; + $r .= qq'
    • <!DOCTYPE>
        '; + $r .= '
      • Name = @{[htescape ($child->name)]}
      • '; + $r .= '
      • Public identifier = @{[htescape ($child->public_id)]}
      • '; + $r .= '
      • System identifier = @{[htescape ($child->system_id)]}
      • '; $r .= '
    • '; } elsif ($nt == $child->PROCESSING_INSTRUCTION_NODE) { - $r .= qq'
    • <?@{[htescape ($child->target)]}?>'; - $r .= '
      • @{[htescape ($child->data)]}
    • '; + $r .= qq'
    • <?@{[htescape ($child->target)]} @{[htescape ($child->data)]}?>
    • '; } else { - $r .= qq'
    • @{[$child->node_type]} @{[htescape ($child->node_name)]}
    • '; # error + $r .= qq'
    • @{[$child->node_type]} @{[htescape ($child->node_name)]}
    • '; # error } } @@ -319,4 +337,4 @@ =cut -## $Date: 2007/06/27 12:35:24 $ +## $Date: 2007/06/27 14:36:45 $