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'] }
// } // TODO: ask Inigo if he want 'numericDomain' always, even if it is empty. If not - use code just above this line. What to check here? if ($attribute_unit[0]['value']) { views_bonus_eml_print_open_tag('ratio'); views_bonus_eml_print_open_tag('unit'); views_bonus_eml_print_all_values('customUnit', $attribute_unit); views_bonus_eml_print_close_tag('unit'); if ($attribute_precision[0]['value']) { views_bonus_eml_print_all_values('precision', $attribute_precision); } views_bonus_eml_print_open_tag('numericDomain'); views_bonus_eml_print_line('numberType', $realNumber); if ($attribute_maximum[0]['value'] || $attribute_minimum[0]['value']) { views_bonus_eml_print_open_tag('bounds'); views_bonus_eml_print_all_values('maximum', $attribute_maximum); views_bonus_eml_print_all_values('minimum', $attribute_minimum); views_bonus_eml_print_close_tag('bounds'); } views_bonus_eml_print_close_tag('numericDomain'); views_bonus_eml_print_close_tag('ratio'); } if (isset($code_definitions[0]['value'])) { views_bonus_eml_print_open_tag('nominal'); views_bonus_eml_print_open_tag('nonNumericDomain'); foreach ($code_definitions as $code_definition) { views_bonus_eml_print_open_tag('enumeratedDomain'); if (preg_match("/(.+)=(.+)/", $code_definition['value'], $matches)) { views_bonus_eml_print_line('code', $matches[1]); views_bonus_eml_print_line('definition', $matches[2]); } else { views_bonus_eml_print_line('codeDefinition', $code_definition['value']);