function views_bonus_eml_print_geographic_coverage($content)
{
    if (isset($content[0]['site_node']->nid)) {
        foreach ($content as $research_site_node) {
            $research_site_landform = $research_site_node['site_node']->field_research_site_landform;
            $research_site_geology = $research_site_node['site_node']->field_research_site_geology;
            $research_site_soils = $research_site_node['site_node']->field_research_site_soils;
            $research_site_hydrology = $research_site_node['site_node']->field_research_site_hydrology;
            $research_site_vegetation = $research_site_node['site_node']->field_research_site_vegetation;
            $research_site_climate = $research_site_node['site_node']->field_research_site_climate;
            $research_site_history = $research_site_node['site_node']->field_research_site_history;
            $research_site_siteid = $research_site_node['site_node']->field_research_site_siteid;
            $research_site_elevation = $research_site_node['site_node']->field_research_site_elevation;
            $research_site_longitude = $research_site_node['longitude'];
            $research_site_latitude = $research_site_node['latitude'];
            if ($research_site_landform[0]['value'] || $research_site_geology[0]['value'] || $research_site_soils[0]['value'] || $research_site_hydrology[0]['value'] || $research_site_vegetation[0]['value'] || $research_site_climate[0]['value'] || $research_site_history[0]['value'] || $research_site_siteid[0]['value'] || $research_site_longitude || $research_site_latitude || $research_site_elevation[0]['value']) {
                views_bonus_eml_print_open_tag('geographicCoverage');
                $geographic_coverage_terms = array('Landform', 'Geology', 'Soils', 'Hydrology', 'Vegetation', 'Climate', 'History', 'siteid');
                $geoDesc = '';
                foreach ($geographic_coverage_terms as $geographic_coverage_term) {
                    $geo_var_name = 'research_site_' . strtolower($geographic_coverage_term);
                    $geo_var = ${$geo_var_name};
                    $geoDesc .= $geographic_coverage_term . ': ' . $geo_var[0]['value'];
                    if ($geographic_coverage_term != end($geographic_coverage_terms)) {
                        $geoDesc .= ', ';
                    }
                }
                views_bonus_eml_print_line('geographicDescription', $geoDesc);
                if ($research_site_longitude || $research_site_latitude) {
                    views_bonus_eml_print_open_tag('boundingCoordinates');
                    views_bonus_eml_print_line('westBoundingCoordinate', $research_site_longitude);
                    views_bonus_eml_print_line('eastBoundingCoordinate', $research_site_longitude);
                    views_bonus_eml_print_line('northBoundingCoordinate', $research_site_latitude);
                    views_bonus_eml_print_line('southBoundingCoordinate', $research_site_latitude);
                    if ($research_site_elevation[0]['value']) {
                        views_bonus_eml_print_open_tag('boundingAltitudes');
                        views_bonus_eml_print_all_values('altitudeMinimum', $research_site_elevation);
                        views_bonus_eml_print_all_values('altitudeMaximum', $research_site_elevation);
                        views_bonus_eml_print_close_tag('boundingAltitudes');
                    }
                    views_bonus_eml_print_close_tag('boundingCoordinates');
                }
                views_bonus_eml_print_close_tag('geographicCoverage');
            }
            // endif; check if values exist
        }
        // endforeach; research_site_nid
    }
    // endif; $research_site_nid[0]['nid']
}
                            views_bonus_eml_print_close_tag('enumeratedDomain');
                        }
                        views_bonus_eml_print_close_tag('nonNumericDomain');
                        views_bonus_eml_print_close_tag('nominal');
                    }
                    views_bonus_eml_print_close_tag('measurementScale');
                }
                // endif; if ($attribute_formatstring ||
                //            $attribute_maximum || $attribute_minimum ||
                //            $attribute_precision || $attribute_unit)
                if (isset($var_missingvalues[0]['value'])) {
                    views_bonus_eml_print_open_tag('missingValueCode');
                    foreach ($var_missingvalues as $var_missingvalue) {
                        if (preg_match("/(.+)=(.+)/", $var_missingvalue['value'], $matches)) {
                            views_bonus_eml_print_line('code', $matches[1]);
                            views_bonus_eml_print_line('definition', $matches[2]);
                        } else {
                            views_bonus_eml_print_line('missingValues', $var_missingvalue['value']);
                        }
                    }
                    views_bonus_eml_print_close_tag('missingValueCode');
                }
                views_bonus_eml_print_close_tag('attribute');
            }
        }
        views_bonus_eml_print_close_tag('attributeList');
        views_bonus_eml_print_close_tag('dataTable');
    }
}
views_bonus_eml_print_close_tag('dataset');
views_bonus_eml_print_close_tag('eml:eml');