--- test/html-webhacc/cc.cgi 2008/02/10 07:35:23 1.36 +++ test/html-webhacc/cc.cgi 2008/07/18 14:44:16 1.52 @@ -86,6 +86,8 @@
<$euri>
<$euri>
<$euri>
<$euri2>
<$euri>
<$euri2>
<$euri>
<$euri>
"; + print STDOUT htescape ($idl->idl_text); + print STDOUT ""; + + print STDOUT qq[
<$euri>
];
+ my $eccuri = htescape (get_cc_uri ($uri));
+ print STDOUT qq[<' . $euri .
+ '>
';
+ } elsif (defined $resource->{bnodeid}) {
+ return htescape ('_:' . $resource->{bnodeid});
+ } elsif ($resource->{nodes}) {
+ return '(rdf:XMLLiteral)';
+ } elsif (defined $resource->{value}) {
+ my $elang = htescape (defined $resource->{language}
+ ? $resource->{language} : '');
+ my $r = qq[] . htescape ($resource->{value}) . '
';
+ if (defined $resource->{datatype}) {
+ my $euri = htescape ($resource->{datatype});
+ $r .= '^^<' . $euri .
+ '>
';
+ } elsif (length $resource->{language}) {
+ $r .= '@' . htescape ($resource->{language});
+ }
+ return $r;
+ } else {
+ return '??';
+ }
+} # get_rdf_resource_html
+
sub print_result_section ($) {
my $result = shift;
@@ -1036,24 +1275,25 @@
print STDOUT qq[Important: This conformance checking service @@ -1100,23 +1340,58 @@ my $r = ''; - if (defined $err->{line}) { - if ($err->{column} > 0) { - $r = qq[Line $err->{line} column $err->{column}]; + my $line; + my $column; + + if (defined $err->{node}) { + $line = $err->{node}->get_user_data ('manakai_source_line'); + if (defined $line) { + $column = $err->{node}->get_user_data ('manakai_source_column'); + } else { + if ($err->{node}->node_type == $err->{node}->ATTRIBUTE_NODE) { + my $owner = $err->{node}->owner_element; + $line = $owner->get_user_data ('manakai_source_line'); + $column = $owner->get_user_data ('manakai_source_column'); + } else { + my $parent = $err->{node}->parent_node; + if ($parent) { + $line = $parent->get_user_data ('manakai_source_line'); + $column = $parent->get_user_data ('manakai_source_column'); + } + } + } + } + unless (defined $line) { + if (defined $err->{token} and defined $err->{token}->{line}) { + $line = $err->{token}->{line}; + $column = $err->{token}->{column}; + } elsif (defined $err->{line}) { + $line = $err->{line}; + $column = $err->{column}; + } + } + + if (defined $line) { + if (defined $column and $column > 0) { + $r = qq[Line $line column $column]; } else { - $err->{line} = $err->{line} - 1 || 1; - $r = qq[Line $err->{line}]; + $line = $line - 1 || 1; + $r = qq[Line $line]; } } if (defined $err->{node}) { $r .= ' ' if length $r; - $r = get_node_link ($input, $err->{node}); + $r .= get_node_link ($input, $err->{node}); } if (defined $err->{index}) { - $r .= ' ' if length $r; - $r .= 'Index ' . (0+$err->{index}); + if (length $r) { + $r .= ', Index ' . (0+$err->{index}); + } else { + $r .= "Index " + . (0+$err->{index}) . ''; + } } if (defined $err->{value}) { @@ -1144,6 +1419,8 @@ } elsif ($err->{level} eq 'u' or $err->{level} eq 'unsupported') { $r = qq[Not supported: ]; + } elsif ($err->{level} eq 'i') { + $r = qq[Information: ]; } else { my $elevel = htescape ($err->{level}); $r = qq[$elevel: @@ -1159,10 +1436,10 @@ while (defined $node) { my $rs; if ($node->node_type == 1) { - $rs = $node->manakai_local_name; + $rs = $node->node_name; $node = $node->parent_node; } elsif ($node->node_type == 2) { - $rs = '@' . $node->manakai_local_name; + $rs = '@' . $node->node_name; $node = $node->owner_element; } elsif ($node->node_type == 3) { $rs = '"' . $node->data . '"'; @@ -1240,6 +1517,17 @@ } +sub encode_uri_component ($) { + require Encode; + my $s = Encode::encode ('utf8', shift); + $s =~ s/([^0-9A-Za-z_.~-])/sprintf '%%%02X', ord $1/ge; + return $s; +} # encode_uri_component + +sub get_cc_uri ($) { + return './?uri=' . encode_uri_component ($_[0]); +} # get_cc_uri + sub get_input_document ($$) { my ($http, $dom) = @_; @@ -1429,4 +1717,4 @@ =cut -## $Date: 2008/02/10 07:35:23 $ +## $Date: 2008/07/18 14:44:16 $