Index: src/perl/register-dataset.cgi
===================================================================
--- src/perl/register-dataset.cgi	(revision 2147)
+++ src/perl/register-dataset.cgi	(revision 2148)
@@ -73,6 +73,12 @@
 $config->define("datasetpubid");
 $config->define("datasetsysid");
 $config->define("hasKeyword", { DEFAULT => 'true'} );
+$config->define("hasTemporal", { DEFAULT => 'true'} );
+$config->define("hasSpatial", { DEFAULT => 'true'} );
+$config->define("hasTaxonomic", { DEFAULT => 'true'} );
+$config->define("hasMethod", { DEFAULT => 'true'} );
+$config->define("temporalRequired", { DEFAULT => 'true'} );
+$config->define("spatialRequired", { DEFAULT => 'true'} );
 $config->define("mailhost");
 $config->define("sender");
 $config->define("recipient");
@@ -119,6 +125,12 @@
 my $datasetpubid = $config->datasetpubid();
 my $datasetsysid = $config->datasetsysid();
 my $hasKeyword = $config->hasKeyword();
+my $hasTemporal = $config->hasTemporal();
+my $hasSpatial = $config->hasSpatial();
+my $hasTaxonomic = $config->hasTaxonomic();
+my $hasMethod = $config->hasMethod();
+my $temporalRequired = $config->temporalRequired();
+my $spatialRequired = $config->spatialRequired();
 my $mailhost = $config->mailhost();
 my $sender = $config->sender();
 my $recipient = $config->recipient();
@@ -236,6 +248,12 @@
     }
 
     $$templateVars{'hasKeyword'} = $hasKeyword;
+    $$templateVars{'hasTemporal'} = $hasTemporal;
+    $$templateVars{'hasSpatial'} = $hasSpatial;
+    $$templateVars{'hasTaxonomic'} = $hasTaxonomic;
+    $$templateVars{'hasMethod'} = $hasMethod;
+    $$templateVars{'temporalRequired'} = $temporalRequired;
+    $$templateVars{'spatialRequired'} = $spatialRequired;
 
     $$templateVars{'siteList'} = \@sortedSites;
     $$templateVars{'section'} = "Entry Form";
@@ -545,34 +563,36 @@
     push(@invalidParams, "Abstract is missing.")
         unless hasContent($FORM::abstract);
     push(@invalidParams, "Beginning year of data set is missing.")
-        unless hasContent($FORM::beginningYear);
+        unless (hasContent($FORM::beginningYear) || $FORM::temporalRequired ne 'true');
     push(@invalidParams, "Geographic description is missing.")
-        unless (hasContent($FORM::geogdesc));
+        unless (hasContent($FORM::geogdesc) || $FORM::spatialRequired ne 'true');
 
     # If the "use site" coord. box is checked and if the site is in 
     # the longitude hash ...  && ($siteLatDMS{$FORM::site})
    
-    if (($FORM::useSiteCoord) && ($siteLatDMS{$FORM::site}) ) {
+    if($FORM::hasSpatial eq 'true'){
+	if (($FORM::useSiteCoord) && ($siteLatDMS{$FORM::site}) ) {
         
-        $latDeg1 = $siteLatDMS{$FORM::site}[0];
-        $latMin1 = $siteLatDMS{$FORM::site}[1];
-        $latSec1 = $siteLatDMS{$FORM::site}[2];
-        $hemisphLat1 = $siteLatDMS{$FORM::site}[3];
-        $longDeg1 = $siteLongDMS{$FORM::site}[0];
-        $longMin1 = $siteLongDMS{$FORM::site}[1];
-        $longSec1 = $siteLongDMS{$FORM::site}[2];
-        $hemisphLong1 = $siteLongDMS{$FORM::site}[3];
-     
-    }  else {
-    
-        $latDeg1 = $FORM::latDeg1;
-        $latMin1 = $FORM::latMin1;
-        $latSec1 = $FORM::latSec1;
-        $hemisphLat1 = $FORM::hemisphLat1;
-        $longDeg1 = $FORM::longDeg1;
-        $longMin1 = $FORM::longMin1;
-        $longSec1 = $FORM::longSec1;
-        $hemisphLong1 = $FORM::hemisphLong1;
+	    $latDeg1 = $siteLatDMS{$FORM::site}[0];
+	    $latMin1 = $siteLatDMS{$FORM::site}[1];
+	    $latSec1 = $siteLatDMS{$FORM::site}[2];
+	    $hemisphLat1 = $siteLatDMS{$FORM::site}[3];
+	    $longDeg1 = $siteLongDMS{$FORM::site}[0];
+	    $longMin1 = $siteLongDMS{$FORM::site}[1];
+	    $longSec1 = $siteLongDMS{$FORM::site}[2];
+	    $hemisphLong1 = $siteLongDMS{$FORM::site}[3];
+	    
+	}  else {
+	    
+	    $latDeg1 = $FORM::latDeg1;
+	    $latMin1 = $FORM::latMin1;
+	    $latSec1 = $FORM::latSec1;
+	    $hemisphLat1 = $FORM::hemisphLat1;
+	    $longDeg1 = $FORM::longDeg1;
+	    $longMin1 = $FORM::longMin1;
+	    $longSec1 = $FORM::longSec1;
+	    $hemisphLong1 = $FORM::hemisphLong1;
+	}
     }
     
     # Check if latDeg1 and longDeg1 has values if useSiteCoord is used. 
@@ -579,30 +599,35 @@
     # This check is required because some of the sites dont have lat 
     # and long mentioned in the config file. 
 
-    if ($FORM::useSiteCoord) {
-    push(@invalidParams, "The Data Registry doesn't have latitude and longitude information for the site that you chose. Please go back and enter the spatial information.")
-        unless(hasContent($latDeg1) && hasContent($longDeg1));
-    }else{
-    push(@invalidParams, "Latitude degrees are missing.")
-        unless hasContent($latDeg1);
-    push(@invalidParams, "Longitude degrees are missing.")
-        unless hasContent($longDeg1);
+
+    if($FORM::hasSpatial eq 'true'){
+	if ($FORM::useSiteCoord ) {
+	    push(@invalidParams, "The Data Registry doesn't have latitude and longitude information for the site that you chose. Please go back and enter the spatial information.")
+		unless(hasContent($latDeg1) && hasContent($longDeg1));
+	}else{
+	    push(@invalidParams, "Latitude degrees are missing.")
+		unless hasContent($latDeg1);
+	    push(@invalidParams, "Longitude degrees are missing.")
+		unless hasContent($longDeg1);
+	}
     }
 
-    push(@invalidParams, 
-        "You must provide a method description if you provide a method title.")
-        if (hasContent($FORM::methodTitle) && ( !(scalar(@FORM::methodPara) > 0) 
-                || (! hasContent($FORM::methodPara[0]))));
-    push(@invalidParams, 
-        "You must provide a method description if you provide a study extent description.")
-        if (hasContent($FORM::studyExtentDescription) && (!(scalar(@FORM::methodPara) > 0) 
-                || (! hasContent($FORM::methodPara[0]))));
-    push(@invalidParams, 
-        "You must provide both a study extent description and a sampling description, or neither.")
-        if (
+    if($FORM::hasMethod eq 'true'){
+	push(@invalidParams, 
+	     "You must provide a method description if you provide a method title.")
+	    if (hasContent($FORM::methodTitle) && ( !(scalar(@FORM::methodPara) > 0) 
+						    || (! hasContent($FORM::methodPara[0]))));
+	push(@invalidParams, 
+	     "You must provide a method description if you provide a study extent description.")
+	    if (hasContent($FORM::studyExtentDescription) && (!(scalar(@FORM::methodPara) > 0) 
+							      || (! hasContent($FORM::methodPara[0]))));
+	push(@invalidParams, 
+	     "You must provide both a study extent description and a sampling description, or neither.")
+	    if (
                 (hasContent($FORM::studyExtentDescription) && !hasContent($FORM::samplingDescription)) ||
                 (!hasContent($FORM::studyExtentDescription) && hasContent($FORM::samplingDescription))
-           );
+		);
+    }
 
     push(@invalidParams, "Contact first name is missing.")
     unless (hasContent($FORM::origNamefirstContact) || 
@@ -1006,119 +1031,128 @@
     $doc .= "</offline>\n";
     $doc .= "</distribution>\n";
             
-    $doc .= "<coverage>\n";
-    $doc .= "<temporalCoverage>\n";
+    my $cov = "";
 
-
     if (hasContent($FORM::endingYear)) {
-    $doc .= "<rangeOfDates>\n";
-    if (hasContent($FORM::beginningMonth)) {
-        my $month = ("JAN","FEB","MAR","APR","MAY","JUN",
-             "JUL","AUG","SEP","OCT","NOV","DEC")
-        [$FORM::beginningMonth - 1];
-        $doc .= "<beginDate>\n";
-        $doc .= "<calendarDate>";
-        $doc .= normalize($FORM::beginningYear)."-".normalize($FORM::beginningMonth)."-".normalize($FORM::beginningDay);
-        $doc .= "</calendarDate>\n";
-        $doc .= "</beginDate>\n";
+	$cov .= "<temporalCoverage>\n";
+	$cov .= "<rangeOfDates>\n";
+	if (hasContent($FORM::beginningMonth)) {
+	    my $month = ("JAN","FEB","MAR","APR","MAY","JUN",
+			 "JUL","AUG","SEP","OCT","NOV","DEC")
+		[$FORM::beginningMonth - 1];
+	    $cov .= "<beginDate>\n";
+	    $cov .= "<calendarDate>";
+	    $cov .= normalize($FORM::beginningYear)."-".normalize($FORM::beginningMonth)."-".normalize($FORM::beginningDay);
+	    $cov .= "</calendarDate>\n";
+	    $cov .= "</beginDate>\n";
+	} else {
+	    $cov .= "<beginDate>\n";
+	    $cov .= "<calendarDate>";
+	    $cov .= normalize($FORM::beginningYear);
+	    $cov .= "</calendarDate>\n";
+	    $cov .= "</beginDate>\n";
+	}
+	
+	if (hasContent($FORM::endingMonth)) {
+	    my $month = ("JAN","FEB","MAR","APR","MAY","JUN",
+			 "JUL","AUG","SEP","OCT","NOV","DEC")
+		[$FORM::endingMonth - 1];
+	    $cov .= "<endDate>\n";
+	    $cov .= "<calendarDate>";
+	    $cov .= normalize($FORM::endingYear)."-".normalize($FORM::endingMonth)."-".normalize($FORM::endingDay);
+	    $cov .= "</calendarDate>\n";
+	    $cov .= "</endDate>\n";
+	} else {
+	    $cov .= "<endDate>\n";
+	    $cov .= "<calendarDate>";
+	    $cov .= normalize($FORM::endingYear);
+	    $cov .= "</calendarDate>\n";
+	    $cov .= "</endDate>\n";
+	}
+	$cov .= "</rangeOfDates>\n";
+	$cov .= "</temporalCoverage>\n";
     } else {
-        $doc .= "<beginDate>\n";
-        $doc .= "<calendarDate>";
-        $doc .= normalize($FORM::beginningYear);
-        $doc .= "</calendarDate>\n";
-        $doc .= "</beginDate>\n";
+	if(hasContent($FORM::beginningYear)) {
+	    $cov .= "<temporalCoverage>\n";
+	    $cov .= "<singleDateTime>\n";
+	    if (hasContent($FORM::beginningMonth)) {
+		my $month = ("JAN","FEB","MAR","APR","MAY","JUN",
+			     "JUL","AUG","SEP","OCT","NOV","DEC")
+		    [$FORM::beginningMonth - 1];
+		$cov .= "<calendarDate>";
+		$cov .= normalize($FORM::beginningYear)."-".normalize($FORM::beginningMonth)."-".normalize($FORM::beginningDay);
+		$cov .= "</calendarDate>\n";
+	    } else {
+		$cov .= "<calendarDate>";
+		$cov .= normalize($FORM::beginningYear);
+		$cov .= "</calendarDate>\n";
+	    }
+	    $cov .= "</singleDateTime>\n";
+	    $cov .= "</temporalCoverage>\n";
+	}
     }
-
-    if (hasContent($FORM::endingMonth)) {
-        my $month = ("JAN","FEB","MAR","APR","MAY","JUN",
-             "JUL","AUG","SEP","OCT","NOV","DEC")
-        [$FORM::endingMonth - 1];
-        $doc .= "<endDate>\n";
-        $doc .= "<calendarDate>";
-        $doc .= normalize($FORM::endingYear)."-".normalize($FORM::endingMonth)."-".normalize($FORM::endingDay);
-        $doc .= "</calendarDate>\n";
-        $doc .= "</endDate>\n";
-    } else {
-        $doc .= "<endDate>\n";
-        $doc .= "<calendarDate>";
-        $doc .= normalize($FORM::endingYear);
-        $doc .= "</calendarDate>\n";
-        $doc .= "</endDate>\n";
-    }
-    $doc .= "</rangeOfDates>\n";
-    } else {
-    $doc .= "<singleDateTime>\n";
-    if (hasContent($FORM::beginningMonth)) {
-        my $month = ("JAN","FEB","MAR","APR","MAY","JUN",
-             "JUL","AUG","SEP","OCT","NOV","DEC")
-        [$FORM::beginningMonth - 1];
-        $doc .= "<calendarDate>";
-	$doc .= normalize($FORM::beginningYear)."-".normalize($FORM::beginningMonth)."-".normalize($FORM::beginningDay);
-        $doc .= "</calendarDate>\n";
-    } else {
-        $doc .= "<calendarDate>";
-	$doc .= normalize($FORM::beginningYear);
-        $doc .= "</calendarDate>\n";
-    }
-    $doc .= "</singleDateTime>\n";
-    }
-
-    $doc .= "</temporalCoverage>\n";
     
-    $doc .= "<geographicCoverage>\n";
-    $doc .= "<geographicDescription>".normalize($FORM::geogdesc)."</geographicDescription>\n";
-    $doc .= "<boundingCoordinates>\n";
+    if(hasContent($FORM::geodesc) || ($FORM::latDeg1 != 0 && $FORM::longDeg1 != 0)) {
+	$cov .= "<geographicCoverage>\n";
 
-    # if the second latitude is missing, then set the second lat/long pair 
-    # equal to the first this makes a point appear like a rectangle 
-    if ($FORM::latDeg2 == 0 && $FORM::latMin2 == 0 && $FORM::latSec2 == 0) {
-    
-        $latDeg2 = $latDeg1;
-        $latMin2 = $latMin1;
-        $latSec2 = $latSec1;
-        $hemisphLat2 = $hemisphLat1;
-        $longDeg2 = $longDeg1;
-        $longMin2 = $longMin1;
-        $longSec2 = $longSec1;
-        $hemisphLong2 = $hemisphLong1;
+	if(hasContent($FORM::geodesc)) {
+	    $cov .= "<geographicDescription>".normalize($FORM::geogdesc)."</geographicDescription>\n";
+	}
+	
+	if($FORM::latDeg1 != 0 && $FORM::longDeg1 != 0) {
+	    $cov .= "<boundingCoordinates>\n";
+	    # if the second latitude is missing, then set the second lat/long pair 
+	    # equal to the first this makes a point appear like a rectangle 
+	    if ($FORM::latDeg2 == 0 && $FORM::latMin2 == 0 && $FORM::latSec2 == 0) {
+		
+		$latDeg2 = $latDeg1;
+		$latMin2 = $latMin1;
+		$latSec2 = $latSec1;
+		$hemisphLat2 = $hemisphLat1;
+		$longDeg2 = $longDeg1;
+		$longMin2 = $longMin1;
+		$longSec2 = $longSec1;
+		$hemisphLong2 = $hemisphLong1;
+	    }
+	    else
+	    {
+		$latDeg2 = $FORM::latDeg2;
+		$latMin2 = $FORM::latMin2;
+		$latSec2 = $FORM::latSec2;
+		$hemisphLat2 = $FORM::hemisphLat2;
+		$longDeg2 = $FORM::longDeg2;
+		$longMin2 = $FORM::longMin2;
+		$longSec2 = $FORM::longSec2;
+		$hemisphLong2 = $FORM::hemisphLong2;
+	    } 
+	
+	
+	    my $hemisph;
+	    $hemisph = ($hemisphLong1 eq "W") ? -1 : 1;
+	    $cov .= "<westBoundingCoordinate>";
+	    $cov .= $hemisph * ($longDeg1 + (60*$longMin1+$longSec1)/3600);
+	    $cov .= "</westBoundingCoordinate>\n";
+	    
+	    $hemisph = ($hemisphLong2 eq "W") ? -1 : 1;
+	    $cov .= "<eastBoundingCoordinate>";
+	    $cov .= $hemisph * ($longDeg2 + (60*$longMin2+$longSec2)/3600);
+	    $cov .= "</eastBoundingCoordinate>\n";
+	    
+	    $hemisph = ($hemisphLat1 eq "S") ? -1 : 1;
+	    $cov .= "<northBoundingCoordinate>";
+	    $cov .= $hemisph * ($latDeg1 + (60*$latMin1+$latSec1)/3600);
+	    $cov .= "</northBoundingCoordinate>\n";
+	    
+	    $hemisph = ($hemisphLat2 eq "S") ? -1 : 1;
+	    $cov .= "<southBoundingCoordinate>";
+	    $cov .= $hemisph * ($latDeg2 + (60*$latMin2+$latSec2)/3600);
+	    $cov .= "</southBoundingCoordinate>\n";
+	    
+	    $cov .= "</boundingCoordinates>\n";
+	}
+	$cov .= "</geographicCoverage>\n";
     }
-    else
-    {
-        $latDeg2 = $FORM::latDeg2;
-        $latMin2 = $FORM::latMin2;
-        $latSec2 = $FORM::latSec2;
-        $hemisphLat2 = $FORM::hemisphLat2;
-        $longDeg2 = $FORM::longDeg2;
-        $longMin2 = $FORM::longMin2;
-        $longSec2 = $FORM::longSec2;
-        $hemisphLong2 = $FORM::hemisphLong2;
-    } 
-    
-   
-    my $hemisph;
-    $hemisph = ($hemisphLong1 eq "W") ? -1 : 1;
-    $doc .= "<westBoundingCoordinate>";
-    $doc .= $hemisph * ($longDeg1 + (60*$longMin1+$longSec1)/3600);
-    $doc .= "</westBoundingCoordinate>\n";
 
-    $hemisph = ($hemisphLong2 eq "W") ? -1 : 1;
-    $doc .= "<eastBoundingCoordinate>";
-    $doc .= $hemisph * ($longDeg2 + (60*$longMin2+$longSec2)/3600);
-    $doc .= "</eastBoundingCoordinate>\n";
-
-    $hemisph = ($hemisphLat1 eq "S") ? -1 : 1;
-    $doc .= "<northBoundingCoordinate>";
-    $doc .= $hemisph * ($latDeg1 + (60*$latMin1+$latSec1)/3600);
-    $doc .= "</northBoundingCoordinate>\n";
-
-    $hemisph = ($hemisphLat2 eq "S") ? -1 : 1;
-    $doc .= "<southBoundingCoordinate>";
-    $doc .= $hemisph * ($latDeg2 + (60*$latMin2+$latSec2)/3600);
-    $doc .= "</southBoundingCoordinate>\n";
-
-    $doc .= "</boundingCoordinates>\n";
-    $doc .= "</geographicCoverage>\n";
-
     # Write out the taxonomic coverage fields
     my $foundFirstTaxon = 0;
     foreach my $trn (param()) {
@@ -1129,26 +1163,25 @@
             if ( $taxIndex =~ /[0-9]/ ){
                 if (hasContent(param($trn)) && hasContent(param($trv))) {
                     if (! $foundFirstTaxon) {
-                        $doc .= "<taxonomicCoverage>\n";
+                        $cov .= "<taxonomicCoverage>\n";
                         $foundFirstTaxon = 1;
                         if (hasContent($FORM::taxaAuth)) {
-                            $doc .= "<generalTaxonomicCoverage>".normalize($FORM::taxaAuth)."</generalTaxonomicCoverage>\n";
+                            $cov .= "<generalTaxonomicCoverage>".normalize($FORM::taxaAuth)."</generalTaxonomicCoverage>\n";
                         }
                     }
-                    $doc .= "<taxonomicClassification>\n";
-                    $doc .= "  <taxonRankName>".normalize(param($trn))."</taxonRankName>\n";
-                    $doc .= "  <taxonRankValue>".normalize(param($trv))."</taxonRankValue>\n";
-                    $doc .= "</taxonomicClassification>\n";
+                    $cov .= "<taxonomicClassification>\n";
+                    $cov .= "  <taxonRankName>".normalize(param($trn))."</taxonRankName>\n";
+                    $cov .= "  <taxonRankValue>".normalize(param($trv))."</taxonRankValue>\n";
+                    $cov .= "</taxonomicClassification>\n";
                 }
             }
         }
     }
     if ($foundFirstTaxon) {
-        $doc .= "</taxonomicCoverage>\n";
+        $cov .= "</taxonomicCoverage>\n";
     }
 
-    $doc .= "</coverage>\n";
-
+    $doc .= $cov;
     $doc .= $cont;
     $doc .= $publ;
     
@@ -1392,7 +1425,13 @@
 
     # set variable values
     $$templateVars{'hasKeyword'} = $hasKeyword;
-    
+    $$templateVars{'hasTemporal'} = $hasTemporal;
+    $$templateVars{'hasSpatial'} = $hasSpatial;
+    $$templateVars{'hasTaxonomic'} = $hasTaxonomic;
+    $$templateVars{'hasMethod'} = $hasMethod;
+    $$templateVars{'spatialRequired'} = $spatialRequired;
+    $$templateVars{'temporalRequired'} = $temporalRequired;
+
     # find out the tag <alternateIdentifier>. 
     $results = $doc->findnodes('//dataset/alternateIdentifier');
     if ($results->size() > 1) {
@@ -1721,7 +1760,7 @@
                     $$templateVars{'endingYear'} = $x;
                     $$templateVars{'endingMonth'} = $y;
                     $$templateVars{'endingDay'} = $z;
-                
+
                     $tempdate = "";
                     $tempdate = findValue($tempNode, "singleDateTime/calendarDate");
                     if($tempdate ne ""){
@@ -1730,6 +1769,8 @@
                         $$templateVars{'beginningMonth'} = $y;
                         $$templateVars{'beginningDay'} = $z;
                     }  
+		    
+		    $$templateVars{'hasTemporal'} = "true";
                 }
             }
 
@@ -1800,6 +1841,8 @@
                     eval($$templateVars{'longMin2'} = int($coord));
                     eval($coord = ($coord - int($coord))*60);
                     eval($$templateVars{'longSec2'} = int($coord));
+
+		    $$templateVars{'hasSpatial'} = "true";
                 }
             }
 
@@ -1811,6 +1854,8 @@
                 my $taxonRankValue = findValue($tempNode, "taxonRankValue");
                 $$templateVars{"taxonRankName".$taxonIndex} = $taxonRankName;
                 $$templateVars{"taxonRankValue".$taxonIndex} = $taxonRankValue;
+		
+		$$templateVars{'hasTaxonomic'} = "true";
             }
             $$templateVars{'taxaCount'} = $taxonIndex;
             my $taxaAuth = findValue($node, "./taxonomicCoverage/generalTaxonomicCoverage");
@@ -1897,6 +1942,7 @@
                     $methodPara[scalar(@methodPara)] = $para;
                 }
             }
+	    $$templateVars{'hasMethod'} = "true";
         }
         if (scalar(@methodPara) > 0) {
             $$templateVars{'methodPara'} = \@methodPara;
@@ -1911,6 +1957,8 @@
         foreach $node ($results->get_nodelist) {
             my $studyExtentDescription = $node->textContent();
             $$templateVars{'studyExtentDescription'} = $studyExtentDescription;
+
+	    $$templateVars{'hasMethod'} = "true";
         }
     }
 
@@ -1922,6 +1970,8 @@
         foreach $node ($results->get_nodelist) {
             my $samplingDescription = $node->textContent();
             $$templateVars{'samplingDescription'} = $samplingDescription;
+
+	    $$templateVars{'hasMethod'} = "true";
         }
     }
 
@@ -2262,6 +2312,13 @@
     $$templateVars{'origStateContact'} = $FORM::origState;
 
     $$templateVars{'hasKeyword'} = $FORM::hasKeyword;
+    $$templateVars{'hasTemporal'} = $FORM::hasTemporal;
+    $$templateVars{'hasSpatial'} = $FORM::hasSpatial;
+    $$templateVars{'hasTaxonomic'} = $FORM::hasTaxonomic;
+    $$templateVars{'hasMethod'} = $FORM::hasMethod;
+    $$templateVars{'spatialRequired'} = $FORM::spatialRequired;
+    $$templateVars{'temporalRequired'} = $FORM::temporalRequired;
+
     $$templateVars{'docid'} = $FORM::docid;
 
     if (! $error) {
@@ -2444,7 +2501,13 @@
     $$templateVars{'studyExtentDescription'} = $FORM::studyExtentDescription;
     $$templateVars{'samplingDescription'} = $FORM::samplingDescription;
     
-     $$templateVars{'hasKeyword'} = $FORM::hasKeyword;
+    $$templateVars{'hasKeyword'} = $FORM::hasKeyword;
+    $$templateVars{'hasTemporal'} = $FORM::hasTemporal;
+    $$templateVars{'hasSpatial'} = $FORM::hasSpatial;
+    $$templateVars{'hasTaxonomic'} = $FORM::hasTaxonomic;
+    $$templateVars{'hasMethod'} = $FORM::hasMethod;
+    $$templateVars{'spatialRequired'} = $FORM::spatialRequired;
+    $$templateVars{'temporalRequired'} = $FORM::temporalRequired;
 }
 
 ################################################################################
