- From: Mercurial notifier <nobody@w3.org>
- Date: Sat, 02 Apr 2011 17:53:19 +0000
- To: link-checker updates <www-validator-cvs@w3.org>
changeset: 399:a95ba6e2f870 user: Ville Skyttä <ville.skytta@iki.fi> date: Sat Apr 02 20:26:54 2011 +0300 files: NEWS bin/checklink description: Check applet and object archive links. diff -r 73c47eae2569 -r a95ba6e2f870 NEWS --- a/NEWS Sat Apr 02 19:23:01 2011 +0300 +++ b/NEWS Sat Apr 02 20:26:54 2011 +0300 @@ -7,6 +7,7 @@ - Clarify output wrt. links that have already been checked. - Make connection cache size configurable, and increase the default to 2. - Move JavaScript to an external file. +- Check applet and object archive links. Version 4.7 - Support for IRI. diff -r 73c47eae2569 -r a95ba6e2f870 bin/checklink --- a/bin/checklink Sat Apr 02 19:23:01 2011 +0300 +++ b/bin/checklink Sat Apr 02 20:26:54 2011 +0300 @@ -268,18 +268,19 @@ video => ['src', 'poster'], }; -# Tag=>attribute mapping of things we treat as space separated lists of links. +# Tag=>[separator, attributes] mapping of things we treat as lists of links. use constant LINK_LIST_ATTRS => { - a => ['ping'], - area => ['ping'], - head => ['profile'], + a => [qr/\s+/, ['ping']], + applet => [qr/[\s,]+/, ['archive']], + area => [qr/\s+/, ['ping']], + head => [qr/\s+/, ['profile']], + object => [qr/\s+/, ['archive']], }; # TBD/TODO: -# - applet/@archive, @code? +# - applet/@code? # - bgsound/@src? # - object/@classid? -# - object/@archive? # - isindex/@action? # - layer/@background,@src? # - ilayer/@background? @@ -2047,6 +2048,10 @@ elsif ($tag eq 'applet' || $tag eq 'object') { if (my $codebase = $attr->{codebase}) { + # Applet codebases are directories, append trailing slash + # if it's not there so that new_abs does the right thing. + $codebase .= "/" if ($tag eq 'applet' && $codebase !~ m|/$|); + # TODO: HTML 4 spec says applet/@codebase may only point to # subdirs of the directory containing the current document. # Should we do something about that? @@ -2063,9 +2068,10 @@ # List of links attributes: if (my $link_attrs = LINK_LIST_ATTRS()->{$tag}) { - for my $la (@$link_attrs) { + my ($sep, $attrs) = @$link_attrs; + for my $la (@$attrs) { if (defined(my $value = $attr->{$la})) { - for my $link (split(/\s+/, $value)) { + for my $link (split($sep, $value)) { $self->add_link($link, $tag_local_base, $line); } }
Received on Saturday, 2 April 2011 17:53:20 UTC