* @author Gabriele Droege, DNA Bank Network * @version 2.0 * @package Input * @copyright Copyright © 2011 DNA Bank Network http://www.dnabank-network.org
The contents of this file are subject to the Mozilla Public License Version 1.1 * @filesource * @license http://www.mozilla.org/MPL/ MPL */ $Units = $dom->getElementsByTagName('Unit'); foreach ($Units as $Unit) { $UnitID = $Unit->getElementsByTagName('UnitID'); $SourceInstitutionCode = $Unit->getElementsByTagName('SourceInstitutionID'); $SourceName = $Unit->getElementsByTagName('SourceID'); $CollectorsNo = $Unit->getElementsByTagName('CollectorsFieldNumber'); $UnitGUID = $Unit->getElementsByTagName('UnitGUID'); // echo "Unit ID: " . $UnitID->item(0)->nodeValue . "
"; // echo "Source Institution: " . $SourceInstitutionCode->item(0)->nodeValue . "
"; // echo "Source Collection: " . $SourceName->item(0)->nodeValue . "
"; $sqlUnitID = addslashes($UnitID->item(0)->nodeValue); $sqlSourceInstitutionCode = addslashes($SourceInstitutionCode->item(0)->nodeValue); $sqlSourceName = addslashes($SourceName->item(0)->nodeValue); $sqlCollectorsNo = addslashes($CollectorsNo->item(0)->nodeValue); $sqlUnitGUID = addslashes($UnitGUID->item(0)->nodeValue); /*----------------------------GATHERING--------------------------------------------------------- */ $Gatherings = $Unit->getElementsByTagName('Gathering'); foreach ($Gatherings as $Gathering) { $CollectionDate = $Gathering->getElementsByTagName('DateTime'); $GatheringAgents = $Gathering->getElementsByTagName('Agents'); $Locality = $Gathering->getElementsByTagName('LocalityText'); $Country = $Gathering->getElementsByTagName('Country'); $NamedArea = $Gathering->getElementsByTagName('NamedArea'); //if (empty($Country)) $AreaName = $Gathering->getElementsByTagName('AreaName'); $NearNamedPlaces = $Gathering->getElementsByTagName('NearNamedPlaces'); //if (empty($Country)) $Altitude = $Gathering->getElementsByTagName('Altitude'); $Longitude = $Gathering->getElementsByTagName('LongitudeDecimal'); $Latitude = $Gathering->getElementsByTagName('LatitudeDecimal'); $SiteCoordinates = $Gathering->getElementsByTagName('SiteCoordinatesSets'); //if (empty($Longitude & Latitude)) foreach ($Altitude as $AltitudeDetail) { $AltitudeLowerValue = $AltitudeDetail->getElementsByTagName('LowerValue'); $AltitudeUpperValue = $AltitudeDetail->getElementsByTagName('UpperValue'); if(!empty($AltitudeLowerValue)) {$sqlAltitude = $AltitudeLowerValue->item(0)->nodeValue;} if(!empty($AltitudeUpperValue)) { $sqlAltitude .= $AltitudeUpperValue->item(0)->nodeValue;} } if($CollectionDate->item(0)->nodeValue != "") { foreach ($CollectionDate as $DateTime) { $GatheringDateText = $DateTime->getElementsByTagName('DateText'); $GatheringISODateTimeBegin = $DateTime->getElementsByTagName('ISODateTimeBegin'); $GatheringDayNumberBegin = $DateTime->getElementsByTagName('DayNumberBegin'); $GatheringTimeOfDayBegin = $DateTime->getElementsByTagName('ISOTimeOfDayBegin'); $GatheringISODateTimeEnd = $DateTime->getElementsByTagName('ISODateTimeEnd'); $GatheringDayNumberEnd = $DateTime->getElementsByTagName('DayNumberEnd'); $GatheringTimeOfDayEnd = $DateTime->getElementsByTagName('TimeOfDayEnd'); if($GatheringDateText->item(0)->nodeValue != "") { // echo "Date: " . $GatheringDateText->item(0)->nodeValue . "
"; $sqlCollectionDate = addslashes($GatheringDateText->item(0)->nodeValue); } else { $sqlCollectionDate = ""; } if($GatheringISODateTimeBegin->item(0)->nodeValue != "") { $sqlCollectionDateMin = $GatheringISODateTimeBegin->item(0)->nodeValue; } if($GatheringDayNumberBegin->item(0)->nodeValue != "") { $sqlCollectionDateMin .= " " . $GatheringDayNumberBegin->item(0)->nodeValue; } if($GatheringTimeOfDayBegin->item(0)->nodeValue != "") { $sqlCollectionDateMin .= " " . $GatheringTimeOfDayBegin->item(0)->nodeValue; } if($GatheringISODateTimeEnd->item(0)->nodeValue != "") { $sqlCollectionDateMax = $GatheringISODateTimeEnd->item(0)->nodeValue; } if($GatheringDayNumberEnd->item(0)->nodeValue != "") { $sqlCollectionDateMax .= " " . $GatheringDayNumberEnd->item(0)->nodeValue; } if($GatheringTimeOfDayEnd->item(0)->nodeValue != "") { $sqlCollectionDateMax .= " " . $GatheringTimeOfDayEnd->item(0)->nodeValue; } } } foreach ($GatheringAgents as $Collectors) { $PersonName = $Collectors->getElementsByTagName('GatheringAgent'); $AgentText = $Collectors->getElementsByTagName('GatheringAgentsText'); //if (empty($Collectors) if(empty($PersonName->item(0)->nodeValue)) { // echo "Person: " . $PersonName->item(0)->nodeValue . "
"; $sqlPersonName = addslashes($AgentText->item(0)->nodeValue); } else { $sqlPersonName = addslashes($PersonName->item(0)->nodeValue); } } $sqlPersonName = trim($sqlPersonName); // echo "Locality: " . $Locality->item(0)->nodeValue . "
"; $sqlLocality = addslashes($Locality->item(0)->nodeValue); foreach ($Country as $Countries) { $CountryName = $Countries->getElementsByTagName('Name'); $ISO2 = $Countries->getElementsByTagName('ISO3166Code'); if(empty($CountryName)) { // echo "Country2: " . $Country->item(0)->nodeValue . "
"; $sqlCountryName = addslashes($Country->item(0)->nodeValue); } else { // echo "Country: " . $CountryName->item(0)->nodeValue . "
"; $sqlCountryName = addslashes($CountryName->item(0)->nodeValue); } // echo "ISO2: " . $ISO2->item(0)->nodeValue . "
"; $sqlISO2 = addslashes($ISO2->item(0)->nodeValue); } if(empty($NamedArea)) { // echo "NearNamedPlaces: " . $NearNamedPlaces->item(0)->nodeValue . "
"; $sqlGatheringOther = addslashes($NearNamedPlaces->item(0)->nodeValue); } $sqlNamedAreas = addslashes($AreaName->item(0)->nodeValue); if($sqlNamedAreas = 'Africa' or $sqlNamedAreas = 'Asia' or $sqlNamedAreas = 'Australia' or $sqlNamedAreas = 'Australia and Oceania' or $sqlNamedAreas = 'Europe' or $sqlNamedAreas = 'Middle America' or $sqlNamedAreas = 'South America' or $sqlNamedAreas = 'Middle America' or $sqlNamedAreas = 'Middle and South America' or $sqlNamedAreas = 'North America' or $sqlNamedAreas = ' Atlantic Ocean' or $sqlNamedAreas = 'Arctic Ocean' or $sqlNamedAreas = 'Indian Ocean' or $sqlNamedAreas = 'Pacific Ocean' or $sqlNamedAreas = 'Southern Ocean' or $sqlNamedAreas = 'Landlocked Sea') { $sqlContinentOrOcean = addslashes($AreaName->item(0)->nodeValue); } else { // echo "NamedAreas: " . $NamedAreas->item(0)->nodeValue . "
"; $sqlGatheringOther = addslashes($NamedArea->item(0)->nodeValue); } // echo "Longitude: " . $Longitude->item(0)->nodeValue . "
"; $sqlLongitude = $Longitude->item(0)->nodeValue; // echo "Latitude: " . $Latitude->item(0)->nodeValue . "
"; $sqlLatitude = $Latitude->item(0)->nodeValue; } //foreach $Gatherings /*----------------------------IDENTIFICATIONS--------------------------------------------------------- */ $Identifications = $Unit->getElementsByTagName('Identification'); foreach ($Identifications as $IndexIdentification => $Identification) { // more than one Identification possible $TaxaIdentified = $Identification->getElementsByTagName('TaxonIdentified'); $Preferred = $Identification->getElementsByTagName('PreferredFlag'); foreach ($TaxaIdentified as $TaxonIdentified) { $NameAuthorYearString = $TaxonIdentified->getElementsByTagName('FullScientificNameString'); // Name, Author, Year $HigherTaxa = $TaxonIdentified->getElementsByTagName('HigherTaxon'); $ScientificNames = $TaxonIdentified->getElementsByTagName('ScientificName'); // echo "Name All: " . $NameAuthorYearString->item(0)->nodeValue . "
"; $sqlNameAuthorYearString[] = addslashes($NameAuthorYearString->item(0)->nodeValue); // echo "Preferred: " . $Preferred->item(0)->nodeValue . "
"; $sqlPreferredIdentificationFlag[] = $Preferred->item(0)->nodeValue; foreach ($HigherTaxa as $index => $HigherTaxon1) { // more than one HigherTaxon per Identification possible $HigherTaxon = $HigherTaxon1->getElementsByTagName('HigherTaxonName'); $TaxonRank = $HigherTaxon1->getElementsByTagName('HigherTaxonRank'); // echo "Higher Taxon: " .$HigherTaxon->item(0)->nodeValue." (".$TaxonRank->item(0)->nodeValue.")
"; $sqlHigherTaxon[] = $HigherTaxon->item(0)->nodeValue; $sqlHigherTaxonRank[] = $TaxonRank->item(0)->nodeValue; } //foreach $HugherTaxa foreach ($ScientificNames as $ScientificName) { // $ScientificNamesAtomized = $ScientificName->getElementsByTagName('NameAtomised'); // foreach ($ScientificNamesAtomized as $ScientificNameAtomized) { $Bacteria = $ScientificName->getElementsByTagName('Bacterial'); $Botany = $ScientificName->getElementsByTagName('Botanical'); $Zoology = $ScientificName->getElementsByTagName('Zoological'); $Virology = $ScientificName->getElementsByTagName('Viral'); if($Bacteria) { foreach ($Bacteria as $Bacterical) { $GenusBac = $Bacterical->getElementsByTagName('GenusOrMonomial'); $SubgenusBac = $Bacterical->getElementsByTagName('Subgenus'); $SpeciesEpithetBac = $Bacterical->getElementsByTagName('SpeciesEpithet'); $SubspeciesEpithetBac = $Bacterical->getElementsByTagName('SubspeciesEpithet'); // echo "Genus: " . $GenusBac->item(0)->nodeValue . "
"; $sqlGenus[] = $GenusBac->item(0)->nodeValue; // echo "Subgenus: " . $SubgenusBac->item(0)->nodeValue . "
"; $sqlSubgenus[] = $SubgenusBac->item(0)->nodeValue; // echo "Spec.Epi: " . $SpeciesEpithetBac->item(0)->nodeValue . "
"; $sqlFirstEpithet[] = $SpeciesEpithetBac->item(0)->nodeValue; // echo "SspEpi: " . $SubspeciesEpithetBac->item(0)->nodeValue . "
"; $sqlSecondEpithet[] = $SubspeciesEpithetBac->item(0)->nodeValue; if(empty($sqlGenus) and empty($sqlSubgenus) and empty($sqlFirstEpithet) and empty($sqlSubspecies)) { // echo "Bacteria_All: " . $Bacteria->item(0)->nodeValue . "
"; //if (empty -> $GenusBac, $SubgenusBac, $SpeciesEpithetBac, $SubspeciesEpithetBac) $sqlName_All[] = $Bacteria->item(0)->nodeValue; } } //foreach $Bacteria } //if($Bacteria) if($Botany) { foreach ($Botany as $Botanical) { $GenusBot = $Botanical->getElementsByTagName('GenusOrMonomial'); $FirstEpithet = $Botanical->getElementsByTagName('FirstEpithet'); $SecondEpithet = $Botanical->getElementsByTagName('InfraspecificEpithet'); $Rank = $Botanical->getElementsByTagName('Rank'); $HybridFlag = $Botanical->getElementsByTagName('HybridFlag'); // echo "Genus: " . $GenusBot->item(0)->nodeValue . "
"; $sqlGenus[] = $GenusBot->item(0)->nodeValue; // echo "Spec.Epi: " . $FirstEpithet->item(0)->nodeValue . "
"; $sqlFirstEpithet[] = $FirstEpithet->item(0)->nodeValue; // echo "Rank: " . $Rank->item(0)->nodeValue . "
"; $sqlRank[] = $Rank->item(0)->nodeValue; // echo "Sec.Epi: " . $SecondEpithet->item(0)->nodeValue . "
"; $sqlSecondEpithet[] = $SecondEpithet->item(0)->nodeValue; // echo "Hybrid: " . $HybridFlag->item(0)->nodeValue . "
"; $sqlHybridFlag[] = $HybridFlag->item(0)->nodeValue; if(empty($sqlGenus) and empty($sqlFirstEpithet) and empty($sqlRank) and empty($sqlSecondEpithet)) { // echo "Botany_All: " . $Botany->item(0)->nodeValue . "
"; //if (empty -> $GenusBot, $FirstEpithet, $SecondEpithet, $Rank, $HybridFlag) $sqlName_All[] = $Botany->item(0)->nodeValue; } } //foreach $Botany } //if($Botany) if($Zoology) { foreach ($Zoology as $Zoological => $Zoo) { $GenusZoo = $Zoo->getElementsByTagName('GenusOrMonomial'); $SubgenusZoo = $Zoo->getElementsByTagName('Subgenus'); $SpeciesEpithetZoo = $Zoo->getElementsByTagName('SpeciesEpithet'); $SubspeciesEpithetZoo = $Zoo->getElementsByTagName('SubspeciesEpithet'); // echo "Genus: " .$GenusZoo->item(0)->nodeValue."
"; $sqlGenus[] = $GenusZoo->item(0)->nodeValue; // echo "Subgenus: " . $SubgenusZoo->item(0)->nodeValue . "
"; $sqlSubgenus[] = $SubgenusZoo->item(0)->nodeValue; // echo "Spec.Epi: " . $SpeciesEpithetZoo->item(0)->nodeValue . "
"; $sqlFirstEpithet[] = $SpeciesEpithetZoo->item(0)->nodeValue; // echo "SspEpi: " . $SubspeciesEpithetZoo->item(0)->nodeValue . "
"; $sqlSecondEpithet[] = $SubspeciesEpithetZoo->item(0)->nodeValue; if($sqlSecondEpithet) { $sqlRank = "ssp."; } if(empty($sqlGenus) and empty($sqlSubgenus) and empty($sqlFirstEpithet) and empty($sqlSecondEpithet)) { // echo "Zoology_All: " . $Zoo->nodeValue . "
"; //if (empty -> $GenusZ, $SubgenusZ, $SpeciesEpithetZ, $SubspeciesEpithetZ) $sqlName_All[] = $Zoology->item(0)->nodeValue; } } //foreach $Zoology } //if($Zoology) if($Virology) { foreach ($Virology as $Viral) { $GenusV = $Viral->getElementsByTagName('GenusOrMonomial'); // echo "Genus: " . $GenusV->item(0)->nodeValue . "
"; $sqlGenus[] = $GenusV->item(0)->nodeValue; if(empty($sqlGenus)) { // echo "Virology_All: " . $Virology->item(0)->nodeValue . "
"; $sqlName_All[] = $Virology->item(0)->nodeValue; } } //foreach $Virology } //if($Virology) // } //foreach $ScientificNamesAtomized } //foreach $ScientificNames } //foreach $TaxaIdentified } //foreach $Identifications /*----------------------------------------MULTI MEDIA OBJECTS -----------------------------*/ $MultiMediaObjects = $Unit->getElementsByTagName('MultiMediaObject'); foreach ($MultiMediaObjects as $IndexMultiMediaObjects => $MultiMediaObject) { // more than one MultiMedia Object possible $FileURI = $MultiMediaObject->getElementsByTagName('FileURI'); $ProductURI = $MultiMediaObject->getElementsByTagName('ProductURI'); $sqlFileURI[] = $FileURI->item(0)->nodeValue; $sqlProductURI[] = $ProductURI->item(0)->nodeValue; } // foreach $MultiMediaObjects $TypeDesignations = $Unit->getElementsByTagName('NomenclaturalTypeDesignation'); foreach ($TypeDesignations as $TypeDesignation) { $TypeStatus = $TypeDesignation->getElementsByTagName('TypeStatus'); $sqlTypeStatus = $TypeStatus->item(0)->nodeValue; } // foreach TypeDesignations /*----------------------------------------ASSOCIATED OBJECTS -----------------------------*/ $Associations = $Unit->getElementsByTagName('UnitAssociation'); foreach ($Associations as $IndexAssociations => $Association) { $AssUnitID = $Association->getElementsByTagName('AssociatedUnitID'); $AssCollCode = $Association->getElementsByTagName('AssociatedUnitSourceName'); $AssInstCode = $Association->getElementsByTagName('AssociatedUnitSourceInstitutionCode'); $AssType = $Association->getElementsByTagName('AssociationType'); $AssURL = $Association->getElementsByTagName('Comment'); $sqlAssUnitID[] = addslashes($AssUnitID->item(0)->nodeValue); $sqlAssCollCode[] = addslashes($AssCollCode->item(0)->nodeValue); $sqlAssInstCode[] = addslashes($AssInstCode->item(0)->nodeValue); $sqlAssType[] = addslashes($AssType->item(0)->nodeValue); $sqlAssURL[] = trim($AssURL->item(0)->nodeValue); echo $AssUnitID->item(0)->nodeValue; } // foreach Associations } // foreach $Units ?>