Index: /trunk/gsdl/perllib/classify/AZCompactList.pm
===================================================================
--- /trunk/gsdl/perllib/classify/AZCompactList.pm	(revision 6110)
+++ /trunk/gsdl/perllib/classify/AZCompactList.pm	(revision 6111)
@@ -58,5 +58,5 @@
 my $arguments = 
     [ { 'name' => "metadata",
-	'desc' => "{AZCompactList.metadata}",
+	'desc' => "{List.metadata}",
 	'type' => "metadata",
 	'reqd' => "yes" },
Index: /trunk/gsdl/perllib/classify/AZList.pm
===================================================================
--- /trunk/gsdl/perllib/classify/AZList.pm	(revision 6110)
+++ /trunk/gsdl/perllib/classify/AZList.pm	(revision 6111)
@@ -38,5 +38,5 @@
 my $arguments =
     [ { 'name' => "metadata",
-	'desc' => "{AZList.metadata}",
+	'desc' => "{List.metadata}",
 	'type' => "metadata",
 	'reqd' => "yes" } ,
@@ -135,6 +135,5 @@
 
     my $doc_OID = $doc_obj->get_OID();
-    my $metavalue = $doc_obj->get_metadata_element ($doc_obj->get_top_section(),
-						    $self->{'metaname'});
+    my $metavalue = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), $self->{'metaname'}, $self->{'ignore_namespace'});
 
     # if this document doesn't contain the metadata element we're
Index: /trunk/gsdl/perllib/classify/AZSectionList.pm
===================================================================
--- /trunk/gsdl/perllib/classify/AZSectionList.pm	(revision 6110)
+++ /trunk/gsdl/perllib/classify/AZSectionList.pm	(revision 6111)
@@ -47,5 +47,5 @@
 my $arguments = 
     [ { 'name' => "metadata",
-	'desc' => "{AZList.metadata}",
+	'desc' => "{List.metadata}",
 	'type' => "metadata",
 	'reqd' => "yes" },
Index: /trunk/gsdl/perllib/classify/BasClas.pm
===================================================================
--- /trunk/gsdl/perllib/classify/BasClas.pm	(revision 6110)
+++ /trunk/gsdl/perllib/classify/BasClas.pm	(revision 6111)
@@ -51,4 +51,5 @@
 
 # 09/05/02 Added usage datastructure - John Thompson
+# 28/11/03 Commented out verbosity argument - John Thompson
 
 use parsargv;
@@ -66,9 +67,12 @@
 	'type' => "string",
 	'deft' => "STDERR" },
-      { 'name' => "verbosity",
-	'desc' => "{BasClas.verbosity}",
-	'type' => "enum",
-	'deft' => "2",
-	'reqd' => "no" } ];
+#      { 'name' => "verbosity",
+#	'desc' => "{BasClas.verbosity}",
+#	'type' => "enum",
+#	'deft' => "2",
+#	'reqd' => "no" } ];
+      { 'name' => "ignore_namespace",
+	'desc' => "{BasClas.ignore_namespace}",
+	'type' => "flag"} ];
 
 my $options = { 'name'     => "BasClas",
@@ -236,4 +240,5 @@
 			 q^outhandle/.*/STDERR^, \$self->{'outhandle'},
 			 q^verbosity/\d/2^, \$self->{'verbosity'},
+			 q^ignore_namespace^, \$self->{'ignore_namespace'},
 			 "allow_extra_options")) {
 
Index: /trunk/gsdl/perllib/doc.pm
===================================================================
--- /trunk/gsdl/perllib/doc.pm	(revision 6110)
+++ /trunk/gsdl/perllib/doc.pm	(revision 6111)
@@ -608,8 +608,17 @@
 
 # returns the first metadata value which matches field
+
+# This version of get metadata element works much like the one above,
+# except it allows for the namespace portion of a metadata element to
+# be ignored, thus if you are searching for dc.Title, the first piece
+# of matching metadata ending with the name Title (once any namespace
+# is removed) would be returned.
+# 28-11-2003 John Thompson
 sub get_metadata_element {
     my $self = shift (@_);
-    my ($section, $field) = @_;
+    my ($section, $field, $ignore_namespace) = @_;
     my ($data);
+
+    $ignore_namespace = 0 unless defined $ignore_namespace;
 
     my $section_ptr = $self->_lookup_section($section);
@@ -620,6 +629,18 @@
     }
 
+    # Remove the any namespace if we are being told to ignore them
+    if($ignore_namespace) {
+	$field =~ s/^\w*\.//;
+    }
+
     foreach $data (@{$section_ptr->{'metadata'}}) {
-	return $data->[1] if (scalar(@$data) >= 2 && $data->[0] eq $field);
+
+	my $data_name = $data->[0];
+	# Remove the any namespace if we are being told to ignore them
+	if($ignore_namespace) {
+	    $data_name =~ s/^\w*\.//;
+	}
+	
+	return $data->[1] if (scalar(@$data) >= 2 && $data_name eq $field);
     }
 	
@@ -627,10 +648,11 @@
 }
 
-
 # returns a list of the form [value1, value2, ...]
 sub get_metadata {
     my $self = shift (@_);
-    my ($section, $field) = @_;
+    my ($section, $field, $ignore_namespace) = @_;
     my ($data);
+
+    $ignore_namespace = 0 unless defined $ignore_namespace;
 
     my $section_ptr = $self->_lookup_section($section);
@@ -641,7 +663,19 @@
     }
 
+    # Remove the any namespace if we are being told to ignore them
+    if($ignore_namespace) {
+	$field =~ s/^\w*\.//;
+    }
+
     my @metadata = ();
     foreach $data (@{$section_ptr->{'metadata'}}) {
-        push (@metadata, $data->[1]) if ($data->[0] eq $field);
+
+	my $data_name = $data->[0];
+	# Remove the any namespace if we are being told to ignore them
+	if($ignore_namespace) {
+	    $data_name =~ s/^\w*\.//;
+	}
+
+        push (@metadata, $data->[1]) if ($data_name eq $field);
     }
         
Index: /trunk/gsdl/perllib/strings.rb
===================================================================
--- /trunk/gsdl/perllib/strings.rb	(revision 6110)
+++ /trunk/gsdl/perllib/strings.rb	(revision 6111)
@@ -267,5 +267,4 @@
 AZCompactList.freqsort:Sort by node frequency rather than alpha-numeric.
 
-AZCompactList.metadata:Metadata field used for classification. List will be sorted by this element.
 AZCompactList.metadata.deft:Metadata element specified with -metadata.
 AZCompactList.maxcompact:Maximum number of documents to be displayed per page.
@@ -287,6 +286,4 @@
 AZList.desc:Classifier plugin for sorting alphabetically
 
-AZList.metadata:Metadata field used for classification. List will be sorted by this element.
-
 AZList.removeprefix:A prefix to ignore in the Metadata values for the field when sorting.
 
@@ -339,5 +336,5 @@
 List.desc:Simple list classifier plugin.
 
-List.metadata:Metadata field used for classification. List will be sorted by this element.
+List.metadata:A single Metadata field or a comma separated list of Metadata fields used for classification. Following the order indicated by the list, the first field that contains a Metadata value will be used. List will be sorted by this element.
 
 List.sort:Metadata field to sort by. If not set, sorts in build (random) order.
