Index: trunk/gsdl/perllib/classify/AZCompactList.pm
===================================================================
--- trunk/gsdl/perllib/classify/AZCompactList.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/AZCompactList.pm	(revision 6408)
@@ -73,10 +73,10 @@
       { 'name' => "removeprefix",
 	'desc' => "{AZCompactList.removeprefix}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" },
       { 'name' => "removesuffix",
 	'desc' => "{AZCompactList.removesuffix}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" },
@@ -123,5 +123,6 @@
 { 	'name'     => "AZCompactList",
 	'desc'     => "{AZCompactList.desc}",
-	'inherits' => "Yes",
+	'abstract' => "no",
+	'inherits' => "yes",
 	'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/AZCompactSectionList.pm
===================================================================
--- trunk/gsdl/perllib/classify/AZCompactSectionList.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/AZCompactSectionList.pm	(revision 6408)
@@ -18,5 +18,6 @@
 { 	'name'     => "AZCompactSectionList",
 	'desc'     => "{AZCompactSectionList.desc}",
-	'inherits' => "Yes",
+	'abstract' => "no",
+	'inherits' => "yes",
 	'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/AZList.pm
===================================================================
--- trunk/gsdl/perllib/classify/AZList.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/AZList.pm	(revision 6408)
@@ -48,10 +48,10 @@
       { 'name' => "removeprefix",
 	'desc' => "{AZList.removeprefix}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" } ,
       { 'name' => "removesuffix",
 	'desc' => "{AZList.removesuffix}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" } 
@@ -60,5 +60,6 @@
 my $options = { 'name'     => "AZList",
 		'desc'     => "{AZList.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/AZSectionList.pm
===================================================================
--- trunk/gsdl/perllib/classify/AZSectionList.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/AZSectionList.pm	(revision 6408)
@@ -58,5 +58,6 @@
 my $options = { 'name'     => "AZSectionList",
 		'desc'     => "{AZSectionList.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/BasClas.pm
===================================================================
--- trunk/gsdl/perllib/classify/BasClas.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/BasClas.pm	(revision 6408)
@@ -72,11 +72,13 @@
 #	'deft' => "2",
 #	'reqd' => "no" } ];
-      { 'name' => "ignore_namespace",
-	'desc' => "{BasClas.ignore_namespace}",
-	'type' => "flag"} ];
+#      { 'name' => "ignore_namespace",
+#	'desc' => "{BasClas.ignore_namespace}",
+#	'type' => "flag"} 
+      ];
 
 my $options = { 'name'     => "BasClas",
 		'desc'     => "{BasClas.desc}",
-		'inherits' => "No",
+		'abstract' => "yes",
+		'inherits' => "no",
 		'args'     => $arguments };
 
@@ -111,4 +113,5 @@
     print STDERR "  <Name>$classifieroptions->{'name'}</Name>\n";
     print STDERR "  <Desc>$classifieroptions->{'desc'}</Desc>\n";
+    print STDERR "  <Abstract>$classifieroptions->{'abstract'}</Abstract>\n";
     print STDERR "  <Inherits>$classifieroptions->{'inherits'}</Inherits>\n";
     print STDERR "  <Arguments>\n";
Index: trunk/gsdl/perllib/classify/Browse.pm
===================================================================
--- trunk/gsdl/perllib/classify/Browse.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/Browse.pm	(revision 6408)
@@ -37,5 +37,6 @@
 my $options = { 'name'     => "Browse",
 		'desc'     => "{Browse.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "yes",
+		'inherits' => "yes" };
 
 #  sub print_usage {
Index: trunk/gsdl/perllib/classify/DateList.pm
===================================================================
--- trunk/gsdl/perllib/classify/DateList.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/DateList.pm	(revision 6408)
@@ -56,5 +56,4 @@
 	'type' => "flag",
 	'reqd' => "no" },
-
       { 'name' => "nogroup",
 	'desc' => "{DateList.nogroup}",
@@ -75,5 +74,6 @@
 my $options = { 'name'     => "DateList",
 		'desc'     => "{DateList.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/HTML.pm
===================================================================
--- trunk/gsdl/perllib/classify/HTML.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/HTML.pm	(revision 6408)
@@ -54,5 +54,6 @@
 my $options = { 'name'     => "HTML",
 		'desc'     => "{HTML.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/Hierarchy.pm
===================================================================
--- trunk/gsdl/perllib/classify/Hierarchy.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/Hierarchy.pm	(revision 6408)
@@ -83,5 +83,6 @@
 { 	'name'     => "Hierarchy",
 	'desc'     => "{Hierarchy.desc}",
-	'inherits' => "Yes" , 
+	'abstract' => "no",
+	'inherits' => "yes", 
 	'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/List.pm
===================================================================
--- trunk/gsdl/perllib/classify/List.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/List.pm	(revision 6408)
@@ -67,5 +67,6 @@
 my $options = { 'name'     => "List",
 		'desc'     => "{List.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/classify/Phind.pm
===================================================================
--- trunk/gsdl/perllib/classify/Phind.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/Phind.pm	(revision 6408)
@@ -130,5 +130,6 @@
 my $options = { 'name'     => "Phind",
 		'desc'     => "{Phind.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
@@ -393,4 +394,5 @@
 sub get_classify_info {
     my $self = shift (@_);
+    my ($gli) = @_;    
 
     close $self->{'dochandle'};
@@ -405,4 +407,6 @@
     }
 
+    print STDERR "</Stage>\n" if $gli;
+
     if ($verbosity) {
 	print $out "\n*** Phind.pm generating indexes for ", $self->{'indexes'}, "\n";
@@ -410,4 +414,6 @@
     }
 
+    print STDERR "<Stage name='Phind'>\n" if $gli;
+
     # Construct phind indexes
     my $suffixmode = $self->{'suffixmode'};
@@ -417,8 +423,10 @@
     # from the clauses file
     print $out "\nExtracting vocabulary and statistics\n" if $verbosity;
+    print STDERR "<Phase name='ExtractingVocab'/>\n" if $gli;
     &extract_vocabulary($self);
  
     # Use the suffix program to generate the phind/phrases file
     print $out "\nExtracting phrases from processed text (with suffix)\n" if $verbosity;
+    print STDERR "<Phase name='ExtractingPhrase'/>\n" if $gli;
     &execute("suffix \"$phinddir\" $suffixmode $verbosity", $verbosity, $out);
 
@@ -427,4 +435,5 @@
     my $phrasesfile=&util::filename_cat($self->{'phinddir'}, 'phrases');
     if (! -r $phrasesfile) {
+	print STDERR "<Warning name='NoPhrasesFound'/>\n" if $gli;
 	print $out "\nNo phrases found for Phind classifier!\n";
 	return;
@@ -433,7 +442,9 @@
     # Create the phrase file and put phrase numbers in phind/phrases
     print $out "\nSorting and renumbering phrases for input to mgpp\n" if $verbosity;
+    print STDERR "<Phase name='SortAndRenumber'/>\n" if $gli;
     &renumber_phrases($self);
 
     print $out "\nCreating phrase databases\n";
+    print STDERR "<Phase name='PhraseDatabases'/>\n" if $gli;
     my $mg_input = &util::filename_cat($phinddir, "pdata.txt");
     my $mg_stem = &util::filename_cat($phinddir, "pdata");
@@ -445,4 +456,5 @@
     # create the mg index of words
     print $out "\nCreating word-level search indexes\n";
+    print STDERR "<Phase name='WordLevelIndexes'/>\n" if $gli;
     $mg_input = &util::filename_cat($phinddir, "pword.txt");
     $mg_stem = &util::filename_cat($phinddir, "pword");
@@ -461,4 +473,5 @@
     # create the mg document information database
     print $out "\nCreating document information databases\n";
+    print STDERR "<Phase name='DocInfoDatabases'/>\n" if $gli;
     $mg_input = &util::filename_cat($phinddir, "docs.txt");
     $mg_stem = &util::filename_cat($phinddir, "docs");
Index: trunk/gsdl/perllib/classify/SectionList.pm
===================================================================
--- trunk/gsdl/perllib/classify/SectionList.pm	(revision 6407)
+++ trunk/gsdl/perllib/classify/SectionList.pm	(revision 6408)
@@ -41,5 +41,6 @@
 my $options = { 'name'     => "SectionList",
 		'desc'     => "{SectionList.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "no",
+		'inherits' => "yes" };
 
 #  sub print_usage {
Index: trunk/gsdl/perllib/plugins/ArcPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ArcPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ArcPlug.pm	(revision 6408)
@@ -44,5 +44,6 @@
 my $options = { 'name'     => "ArcPlug",
 		'desc'     => "{ArcPlug.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "no",
+		'inherits' => "yes" };
 
 sub gsprintf
Index: trunk/gsdl/perllib/plugins/BasPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/BasPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/BasPlug.pm	(revision 6408)
@@ -60,10 +60,10 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" },
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" },
@@ -130,5 +130,6 @@
 my $options = { 'name'     => "BasPlug",
 		'desc'     => "{BasPlug.desc}",
-		'inherits' => "No",
+		'abstract' => "yes",
+		'inherits' => "no",
 		'args'     => $arguments };
 
@@ -174,4 +175,5 @@
     print STDERR "  <Name>$pluginoptions->{'name'}</Name>\n";
     print STDERR "  <Desc>$pluginoptions->{'desc'}</Desc>\n";
+    print STDERR "  <Abstract>$pluginoptions->{'abstract'}</Abstract>\n";
     print STDERR "  <Inherits>$pluginoptions->{'inherits'}</Inherits>\n";
     print STDERR "  <Arguments>\n";
Index: trunk/gsdl/perllib/plugins/BibTexPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/BibTexPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/BibTexPlug.pm	(revision 6408)
@@ -54,11 +54,18 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'reqd' => "no",
-	'deft' => &get_default_process_exp() } ];
+	'deft' => &get_default_process_exp() },
+      { 'name' => "split_exp",
+	'desc' => "{SplitPlug.split_exp}",
+	'type' => "regexp",
+	'deft' => &get_default_split_exp(),
+	'reqd' => "no" }
+      ];
 
 my $options = { 'name'     => "BibTexPlug",
 		'desc'     => "{BibTexPlug.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/plugins/BookPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/BookPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/BookPlug.pm	(revision 6408)
@@ -63,10 +63,10 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'reqd' => "no",
 	'deft' => &get_default_process_exp() },
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'reqd' => "no",
 	'deft' => &get_default_block_exp() } ];
@@ -74,5 +74,6 @@
 my $options = { 'name'     => "BookPlug",
 		'desc'     => "{BookPlug.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/plugins/ConvertToPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ConvertToPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ConvertToPlug.pm	(revision 6408)
@@ -59,5 +59,5 @@
 	'desc' => "{ConvertToPlug.convert_to}",
 	'type' => "enum",
-	'reqd' => "no",
+	'reqd' => "yes",
 	'list' => $convert_to_list, 
 	'deft' => "html" },
@@ -69,5 +69,6 @@
 my $options = { 'name'     => "ConvertToPlug",
 		'desc'     => "{ConvertToPlug.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/plugins/ConvertToRogPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ConvertToRogPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ConvertToRogPlug.pm	(revision 6408)
@@ -38,5 +38,6 @@
 my $options = { 'name'     => "ConvertToRogPlug",
 		'desc'     => "{ConvertToRogPlug.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "no",
+		'inherits' => "yes" };
 
 sub print_usage {
Index: trunk/gsdl/perllib/plugins/DBPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/DBPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/DBPlug.pm	(revision 6408)
@@ -47,5 +47,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" }];
@@ -53,4 +53,5 @@
 my $options = { 'name'     => "DBPlug",
 		'desc'     => "{DBPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/EMAILPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/EMAILPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/EMAILPlug.pm	(revision 6408)
@@ -93,5 +93,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'reqd' => "no",
 	'deft' => &get_default_process_exp() },
@@ -102,10 +102,13 @@
       { 'name' => "split_exp",
 	'desc' => "{EMAILPlug.split_exp}",
-	'type' => "string",
-	'deft' => "" } ];
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_split_exp() } 
+      ];
 
 my $options = { 'name'     => "EMAILPlug",
 		'desc'     => "{EMAILPlug.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/plugins/ExcelPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ExcelPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ExcelPlug.pm	(revision 6408)
@@ -34,7 +34,17 @@
 }
 
+my $arguments = 
+    [ { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_process_exp() }
+      ];
+
 my $options = { 'name'     => "ExcelPlug",
 		'desc'     => "{ExcelPlug.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "no",
+		'inherits' => "yes",
+		'args'     => $arguments };
 
 sub new {
Index: trunk/gsdl/perllib/plugins/FOXPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/FOXPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/FOXPlug.pm	(revision 6408)
@@ -47,4 +47,5 @@
 my $options = { 'name'     => "FOXPlug",
 		'desc'     => "{FOXPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes" };
 
Index: trunk/gsdl/perllib/plugins/GAPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/GAPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/GAPlug.pm	(revision 6408)
@@ -41,4 +41,5 @@
 my $options = { 'name'     => "GAPlug",
 		'desc'     => "{GAPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes" };
 
Index: trunk/gsdl/perllib/plugins/GMLPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/GMLPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/GMLPlug.pm	(revision 6408)
@@ -39,7 +39,16 @@
 }
 
+my $arguments =
+    [ { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'deft' =>  &get_default_process_exp() } 
+    ];
+
 my $options = { 'name'     => "GMLPlug",
 		'desc'     => "{GMLPlug.desc}",
-		'inherits' => "yes" };
+		'abstract' => "no",
+		'inherits' => "yes",
+		'args' => $arguments };
 
 sub new {
Index: trunk/gsdl/perllib/plugins/HBPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/HBPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/HBPlug.pm	(revision 6408)
@@ -53,7 +53,17 @@
 }
 
+my $arguments = 
+    [ { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_process_exp() }
+      ];
+
 my $options = { 'name'     => "HBPlug",
 		'desc'     => "{HBPlug.desc}",
-		'inherits' => "yes" };
+		'abstract' => "no",
+		'inherits' => "yes",
+		'args'     => $arguments };
 
 sub new {
Index: trunk/gsdl/perllib/plugins/HTMLPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/HTMLPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/HTMLPlug.pm	(revision 6408)
@@ -51,9 +51,9 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' =>  &get_default_process_exp() },
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => 'string',
+	'type' => 'regexp',
 	'deft' =>  &get_default_block_exp() },
       { 'name' => "nolinks",
@@ -78,6 +78,6 @@
       { 'name' => "assoc_files",
 	'desc' => "{HTMLPlug.assoc_files}",
-	'type' => "string",
-	'deft' => q^(?i)\.(jpe?g|gif|png|css)$^ },
+	'type' => "regexp",
+	'deft' => &get_default_block_exp() },
       { 'name' => "rename_assoc_files",
 	'desc' => "{HTMLPlug.rename_assoc_files}",
@@ -93,4 +93,5 @@
 my $options = { 'name'     => "HTMLPlug",
 		'desc'     => "{HTMLPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/ISISPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ISISPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ISISPlug.pm	(revision 6408)
@@ -39,12 +39,17 @@
 
 my $arguments = 
-    [ { 'name' => "process_exp",
+    [ { 'name' => "entry_separator",
+	'desc' => "{ISISPlug.entry_separator}",
+	'type' => "string",
+	'reqd' => "no",
+	'deft' => "<br>" },
+      { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'reqd' => "no",
 	'deft' => &get_default_process_exp() },
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_block_exp() },
       { 'name' => "subfield_separator",
@@ -53,13 +58,15 @@
 	'reqd' => "no",
 	'deft' => ", " },
-      { 'name' => "entry_separator",
-	'desc' => "{ISISPlug.entry_separator}",
-	'type' => "string",
-	'reqd' => "no",
-	'deft' => "<br>" } ];
+      { 'name' => "split_exp",
+	'desc' => "{SplitPlug.split_exp}",
+	'type' => "regexp",
+	'deft' => &get_default_split_exp(),
+	'reqd' => "no" }
+      ];
 
 my $options = { 'name'     => "ISISPlug",
 		'desc'     => "{ISISPlug.desc}",
-		'inherits' => "Yes",
+		'abstract' => "no",
+		'inherits' => "yes",
 		'args'     => $arguments };
 
Index: trunk/gsdl/perllib/plugins/ImagePlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ImagePlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ImagePlug.pm	(revision 6408)
@@ -35,5 +35,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" },
@@ -75,4 +75,5 @@
 my $options = { 'name'     => "ImagePlug",
 		'desc'     => "{ImagePlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/IndexPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/IndexPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/IndexPlug.pm	(revision 6408)
@@ -66,4 +66,5 @@
 my $options = { 'name'     => "IndexPlug",
 		'desc'     => "{IndexPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes" };
 
Index: trunk/gsdl/perllib/plugins/MACROPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/MACROPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/MACROPlug.pm	(revision 6408)
@@ -37,5 +37,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" } ];
@@ -43,4 +43,5 @@
 my $options = { 'name'     => "MACROPlug",
 		'desc'     => "{MACROPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/MARCPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/MARCPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/MARCPlug.pm	(revision 6408)
@@ -43,8 +43,20 @@
 	'type' => "string",
 	'deft' => "marctodc.txt",
-	'reqd' => "no" } ];
+	'reqd' => "no" },
+      { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_process_exp() },
+      { 'name' => "split_exp",
+	'desc' => "{SplitPlug.split_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_split_exp() } 
+      ];
 
 my $options = { 'name'     => "MARCPlug",
 		'desc'     => "{MARCPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "Yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/OAIPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/OAIPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/OAIPlug.pm	(revision 6408)
@@ -36,7 +36,17 @@
 }
 
+my $arguments = 
+    [ { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_process_exp() },
+      ];
+
 my $options = { 'name'     => "OAIPlug",
 		'desc'     => "{OAIPlug.desc}",
-		'inherits' => "yes" };
+		'abstract' => "no",
+		'inherits' => "yes",
+		'args'     => $arguments };
 
 #  sub print_usage {
Index: trunk/gsdl/perllib/plugins/PDFPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/PDFPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/PDFPlug.pm	(revision 6408)
@@ -35,10 +35,10 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" },
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_block_exp() },
       { 'name' => "noimages",
@@ -61,4 +61,5 @@
 my $options = { 'name'     => "PDFPlug",
 		'desc'     => "{PDFPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/PPTPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/PPTPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/PPTPlug.pm	(revision 6408)
@@ -34,7 +34,17 @@
 }
 
+my $arguments = 
+    [ { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_process_exp() },
+      ];
+
 my $options = { 'name'     => "PPTPlug",
 		'desc'     => "{PPTPlug.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "no",
+		'inherits' => "Yes",
+	        'args'     => $arguments };
 
 sub new {
Index: trunk/gsdl/perllib/plugins/PSPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/PSPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/PSPlug.pm	(revision 6408)
@@ -38,10 +38,10 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" },
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => 'string',
+	'type' => 'regexp',
 	'deft' => &get_default_block_exp() },
       { 'name' => "extract_date",
@@ -57,4 +57,5 @@
 my $options = { 'name'     => "PSPlug",
 		'desc'     => "{PSPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/RTFPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/RTFPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/RTFPlug.pm	(revision 6408)
@@ -38,5 +38,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" } ];
@@ -44,4 +44,5 @@
 my $options = { 'name'     => "RTFPlug",
 		'desc'     => "{RTFPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/RecPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/RecPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/RecPlug.pm	(revision 6408)
@@ -109,5 +109,5 @@
     [ { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_block_exp(),
 	'reqd' => "no" },
@@ -119,4 +119,5 @@
 my $options = { 'name'     => "RecPlug",
 		'desc'     => "{RecPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/ReferPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ReferPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ReferPlug.pm	(revision 6408)
@@ -75,10 +75,17 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
-	'reqd' => "no" } ];
+	'reqd' => "no" },
+      { 'name' => "split_exp",
+	'desc' => "{SplitPlug.split_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_split_exp() } 
+      ];
 
 my $options = { 'name'     => "ReferPlug",
 		'desc'     => "{ReferPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/RogPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/RogPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/RogPlug.pm	(revision 6408)
@@ -36,7 +36,17 @@
 }
 
+my $arguments = 
+    [ { 'name' => "process_exp",
+	'desc' => "{BasPlug.process_exp}",
+	'type' => "regexp",
+	'reqd' => "no",
+	'deft' => &get_default_process_exp() },
+      ];
+
 my $options = { 'name'     => "RogPlug",
 		'desc'     => "{RogPlug.desc}",
-		'inherits' => "Yes" };
+		'abstract' => "no",
+		'inherits' => "Yes",
+		'args' => $arguments };
 
 sub new {
Index: trunk/gsdl/perllib/plugins/SRCPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/SRCPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/SRCPlug.pm	(revision 6408)
@@ -49,15 +49,15 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" } ,
       { 'name' => "block_exp",
 	'desc' => "{BasPlug.block_exp}",
-	'type' => 'string',
+	'type' => "regexp",
 	'deft' => &get_default_block_exp(),
 	'reqd' => "no" },
       { 'name' => "remove_prefix",
 	'desc' => "{SRCPlug.remove_prefix}",
-	'type' => 'string',
+	'type' => "regexp",
 	'deft' => "^.*[/\\]",
 	'reqd' => "no" } ];
@@ -65,4 +65,5 @@
 my $options = { 'name'     => "SRCPlug",
 		'desc'     => "{SRCPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/SplitPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/SplitPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/SplitPlug.pm	(revision 6408)
@@ -52,5 +52,5 @@
     [ { 'name' => "split_exp",
 	'desc' => "{SplitPlug.split_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_split_exp(),
 	'reqd' => "no" } ];
@@ -58,4 +58,5 @@
 my $options = { 'name'     => "SplitPlug",
 		'desc'     => "{SplitPlug.desc}",
+		'abstract' => "yes",
 		'inherits' => "yes",
 	        'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/TEXTPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/TEXTPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/TEXTPlug.pm	(revision 6408)
@@ -42,10 +42,10 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" } ,
       { 'name' => "title_sub",
 	'desc' => "{TEXTPlug.title_sub}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => "",
 	'reqd' => "no" } ];
@@ -53,4 +53,5 @@
 my $options = { 'name'     => "TEXTPlug",
 		'desc'     => "{TEXTPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/UnknownPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/UnknownPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/UnknownPlug.pm	(revision 6408)
@@ -78,4 +78,5 @@
 my $options = { 'name'     => "UnknownPlug",
 		'desc'     => "{UnknownPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/W3ImgPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/W3ImgPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/W3ImgPlug.pm	(revision 6408)
@@ -220,4 +220,5 @@
 my $options = { 'name'     => "W3ImgPlug",
 		'desc'     => "{W3ImgPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/WordPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/WordPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/WordPlug.pm	(revision 6408)
@@ -37,5 +37,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" } ];
@@ -43,4 +43,5 @@
 my $options = { 'name'     => "WordPlug",
 		'desc'     => "{WordPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/XMLPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/XMLPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/XMLPlug.pm	(revision 6408)
@@ -39,5 +39,5 @@
     [ { 'name' => "process_exp",
 	'desc' => "{BasPlug.process_exp}",
-	'type' => "string",
+	'type' => "regexp",
 	'deft' => &get_default_process_exp(),
 	'reqd' => "no" } ];
@@ -45,4 +45,5 @@
 my $options = { 'name'     => "XMLPlug",
 		'desc'     => "{XMLPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes",
 		'args'     => $arguments };
Index: trunk/gsdl/perllib/plugins/ZIPPlug.pm
===================================================================
--- trunk/gsdl/perllib/plugins/ZIPPlug.pm	(revision 6407)
+++ trunk/gsdl/perllib/plugins/ZIPPlug.pm	(revision 6408)
@@ -59,4 +59,5 @@
 my $options = { 'name'     => "ZIPPlug",
 		'desc'     => "{ZIPPlug.desc}",
+		'abstract' => "no",
 		'inherits' => "yes" };
 
Index: trunk/gsdl/perllib/printusage.pm
===================================================================
--- trunk/gsdl/perllib/printusage.pm	(revision 6407)
+++ trunk/gsdl/perllib/printusage.pm	(revision 6408)
@@ -46,4 +46,5 @@
     print STDERR "  <!ELEMENT List      (Value*)>\n";
     print STDERR "  <!ELEMENT Value     (Name, Desc?)>\n";
+    print STDERR "  <!ELEMENT HiddenGLI (#PCDATA)>\n";
     print STDERR "]>\n\n";
 }
@@ -123,4 +124,13 @@
 	}
 
+	# If the option is noted as being hidden in GLI, add that to the printout
+	if (defined($option->{'hiddengli'})) {
+	    print STDERR "      <HiddenGLI>$option->{'hiddengli'}</HiddenGLI>\n";
+	}
+	# If the argument is not hidden then print out the lowest detail mode it is visible in
+	if (defined($option->{'modegli'})) {
+	    print STDERR "      <ModeGLI>$option->{'modegli'}</ModeGLI>\n";
+	}
+
 	print STDERR "    </Option>\n";
     }
