#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;
use XML::LibXML;

my $url="http://omeka.org/add-ons/plugins/";

## read it
my $dom = XML::LibXML->load_html(location => $url);

## all the anchors
my @anchor_elements=$dom->getElementsByTagName('a')->get_nodelist;

## the links to plugins
my @plugin_links;

foreach my $anchor_element (@anchor_elements) {
  my $href=$anchor_element->getAttribute('href');
  if(not defined($href)) {
    next;
  }
  if(not $href=~m|/plugins/|) {
    #print "skipping $href\n";
    next;
  }
  push(@plugin_links,$anchor_element);
}

my $doc=XML::LibXML->createDocument('1.0','utf-8');
my $table_element=$doc->createElement('table');
## table header
my $tr_element=$doc->createElement('tr');
$tr_element->appendTextChild('th','plugin');
$tr_element->appendTextChild('th','presenter');
$tr_element->appendTextChild('th','date');
$table_element->appendChild($tr_element); 
foreach my $plugin_link (@plugin_links) {
  my $tr_element=$doc->createElement('tr');
  my $first_td_element=$doc->createElement('td');
  $first_td_element->appendChild($plugin_link);
  $tr_element->appendChild($first_td_element);
  ## a td with a blank for the student's name 
  $tr_element->appendTextChild('td',' ');
  ## a td with a blank for the date 
  $tr_element->appendTextChild('td',' ');
  $table_element->appendChild($tr_element); 
}
$doc->setDocumentElement($table_element);
print $doc->toString(1);
