Tables
@@ -224,7 +233,9 @@
         $i++;
         print STDOUT qq[
] .
             get_node_link ($table_el) . q[
];
-        
+
+        ## TODO: Make |ContentChecker| return |form_table| result
+        ## so that this script don't have to run the algorithm twice.
         my $table = Whatpm::HTMLTable->form_table ($table_el);
         
         for (@{$table->{column_group}}, @{$table->{column}}, $table->{caption}) {
@@ -246,6 +257,7 @@
             for (@$_) {
               $_->{id} = refaddr $_->{element} if defined $_->{element};
               delete $_->{element};
+              $_->{is_header} = $_->{is_header} ? 1 : 0;
             }
           }
         }
@@ -258,7 +270,25 @@
       print STDOUT qq[];
     }
 
+    if (keys %{$elements->{id}}) {
+      push @nav, ['#identifiers' => 'IDs'];
+      print STDOUT qq[
+
+
Identifiers
+
+
+];
+      for my $id (sort {$a cmp $b} keys %{$elements->{id}}) {
+        print STDOUT qq[- @{[htescape $id]}];
+        for (@{$elements->{id}->{$id}}) {
+          print STDOUT qq[
- ].get_node_link ($_).qq[];
+        }
+      }
+      print STDOUT qq[
];
+    }
+
     if (keys %{$elements->{term}}) {
+      push @nav, ['#terms' => 'Terms'];
       print STDOUT qq[
 
 
Terms
@@ -273,6 +303,23 @@
       }
       print STDOUT qq[];
     }
+
+    if (keys %{$elements->{class}}) {
+      push @nav, ['#classes' => 'Classes'];
+      print STDOUT qq[
+
+
Classes
+
+
+];
+      for my $class (sort {$a cmp $b} keys %{$elements->{class}}) {
+        print STDOUT qq[- @{[htescape $class]}];
+        for (@{$elements->{class}->{$class}}) {
+          print STDOUT qq[
- ].get_node_link ($_).qq[];
+        }
+      }
+      print STDOUT qq[
];
+    }
   }
 
   ## TODO: Show result
@@ -496,13 +543,13 @@
       $msg =~ s{
\$([0-9]+)}{
         defined $arg[$1] ? htescape ($arg[$1]) : '(undef)';
       }ge;
-      return ($Msg->{$type}->[0], $msg);
+      return ($type, $Msg->{$type}->[0], $msg);
     } elsif ($type =~ s/:([^:]*)$//) {
       unshift @arg, $1;
       redo;
     }
   }
-  return ('', htescape ($_[0]));
+  return ($type, '', htescape ($_[0]));
 } # get_text
 
 }
@@ -669,4 +716,4 @@
 
 =cut
 
-## $Date: 2007/07/16 08:38:48 $
+## $Date: 2007/07/17 14:28:20 $