Ignore:
Timestamp:
07/12/06 15:21:06 (13 years ago)
Author:
ko23
Message:

Sorted invalid BBs, data creators, paleo-dates, dc keywords, and dates.

Location:
TI07-MOLES/trunk/JavaCode
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/JavaCode/BuildMOLES/ndg/services/buildmoles/Main.java

    r1827 r1832  
    325325                                                localID = DEListInstanceXML.getDocumentElement().getElementsByTagName("repositoryID").item(0).getFirstChild().getNodeValue(); 
    326326 
    327                                                 xquery = "declare default element namespace 'http://ndg.nerc.ac.uk/moles';declare namespace dif='http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/';declare namespace xsi='http://www.w3.org/2001/XMLSchema-instance'; declare namespace f='http://ndg.nerc.ac.uk/moles/localfunctions';declare variable $input_collection as xs:string {'TargetCollection'};declare variable $unknown_vocab_id as xs:string {'http://vocab.ndg.nerc.ac.uk/null'};declare variable $ndg_data_provider_vocab as xs:string {'http://vocab.ndg.nerc.ac.uk/N010'};declare variable $gcmd_science_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html'};declare variable $gcmd_project_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/projects.html'};declare variable $gcmd_location_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/locations.html'};declare variable $gcmd_iso_topic_list as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/iso_topic_list.html'};declare variable $cf_standard_names as xs:string {'http://www.cgd.ucar.edu/cms/eaton/cf-metadata/standard_name.html'};declare variable $iso_topic_list as xs:string {'http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_TopicCategoryCode'};declare variable $input_repository as xs:string {'Input_Repository_Code'};declare variable $input_repository_local as xs:string {'Input_Repository_LocalID'};declare variable $input_entry_id as xs:string {'Input_Entry_ID'};for $DIF in collection($input_collection)/dif:DIF[dif:Entry_ID=$input_entry_id] return element dgMetadata {element dgMetadataRecord {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {string($DIF/dif:Entry_ID)}},element dgMetadataDescription {element metadataDescriptionID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_desc-', string($DIF/dif:Entry_ID))}},element metadataDescriptionLastUpdated {current-date()},element abstract {element abstractText {string($DIF/dif:Summary)}}},element name {string($DIF/dif:Entry_Title)},element abbreviation {string($DIF/dif:Entry_Title)},element dgDataEntity {element dgDataSetType {''},element dgDataSummary { for $parameter in $DIF/dif:Parameters return element dgParameterSummary {element dgParameterValue {element dgValueDataParameter {element Value {''},element dgStandardUnit {element dgValidTerm {'dummy'},element dgValidTermID {element ParentListID {$unknown_vocab_id},element TermID {escape-uri('dummy unit', true())}}}}},element dgStdParameterMeasured {element dgValidTerm {concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)),if (exists($parameter/dif:Variable)) then concat(' > ', string($parameter/dif:Variable)) else (),if (exists($parameter/dif:Detailed_Variable)) then concat(' > ', string($parameter/dif:Detailed_Variable)) else ()},element dgValidTermID {element ParentListID {$gcmd_science_valids},element TermID {escape-uri($parameter/dif:Category, true())}}},element ParameterName {concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)),if (exists($parameter/dif:Variable)) then concat(' > ', string($parameter/dif:Variable)) else (),if (exists($parameter/dif:Detailed_Variable)) then concat(' > ', string($parameter/dif:Detailed_Variable)) else ()},element ParameterAbbreviation {concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)),if (exists($parameter/dif:Variable)) then concat(' > ', string($parameter/dif:Variable)) else (),if (exists($parameter/dif:Detailed_Variable)) then concat(' > ', string($parameter/dif:Detailed_Variable)) else ()}},if (exists($DIF/dif:Spatial_Coverage) or exists($DIF/dif:Location) or exists($DIF/dif:Temporal_Coverage)) then element dgDataCoverage {if (exists($DIF/dif:Spatial_Coverage/dif:Northernmost_Latitude) or exists($DIF/(dif:Location)))  then element dgSpatialCoverage {for $boundingbox in $DIF/dif:Spatial_Coverage[exists(dif:Northernmost_Latitude)] return element BoundingBox {element LimitNorth {string($boundingbox/dif:Northernmost_Latitude)},element LimitSouth {string($boundingbox/dif:Southernmost_Latitude)},element LimitWest {string($boundingbox/dif:Westernmost_Longitude)},element LimitEast {string($boundingbox/dif:Easternmost_Longitude)}},for $location in $DIF/dif:Location return element dgArea {element dgValidTerm {string($location)},element dgValidTermID {element ParentListID {$gcmd_location_valids},element TermID {escape-uri($location, true())}}}} else (),if (exists($DIF/dif:Temporal_Coverage/dif:Start_Date)) then element dgTemporalCoverage {for $temporalcoverage in $DIF/dif:Temporal_Coverage[exists(dif:Start_Date) and exists(dif:Stop_Date)] return element DateRange {element DateRangeStart {string($temporalcoverage/dif:Start_Date)},element DateRangeEnd {string($temporalcoverage/dif:Stop_Date)}}} else ()} else ()},element dgDataRoles {if (exists($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center))) then element dgDataCreator {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_creator-', string($DIF/dif:Entry_ID))}},element roleName {'Data Creator'},element abbreviation {'Creator'},for $creatorID in $DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center) return element dgRoleHolder {element dgOrganisationID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier  {escape-uri(concat('generated_orgcit-', string($creatorID)), true())}},element startDate {current-date()}}} else (),element dgDataCurator {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_curator-', string($DIF/dif:Entry_ID))}},element roleName {'Data Curator'},element abbreviation {'Curator'},element dgRoleHolder {element dgOrganisationID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {$input_repository_local}},element startDate {current-date()}}}}},element dgStructuredKeyword {element dgValidTerm {'MDIP'},element dgValidTermID {element ParentListID {$ndg_data_provider_vocab},element TermID {'NDGO0001'}}},for $structuredKeywords in $DIF/dif:Keywords return  element dgStructuredKeyword {element dgValidTerm {$structuredKeywords},element dgValidTermID {element ParentListID {$unknown_vocab_id},element TermID {escape-uri($structuredKeywords, true())}}},for $structuredKeywords in $DIF/dif:ISO_Topic_Category return  element dgStructuredKeyword {element dgValidTerm {string($structuredKeywords)},element dgValidTermID {element ParentListID {$gcmd_iso_topic_list},element TermID {escape-uri($structuredKeywords, true())}}},if (exists($DIF/dif:DIF_Creation_Date) or exists($DIF/dif:Last_DIF_Revision_Date)) then  element dgMetadataProvenance {if (exists($DIF/dif:DIF_Creation_Date)) then element RecordCreation {element CreatedDate {if (string($DIF/dif:DIF_Creation_Date) castable as xs:date) then  string($DIF/dif:DIF_Creation_Date) cast as xs:date else (current-date())},element CreatedBy {$input_repository}} else  element RecordCreation {element CreatedDate {current-date()},element CreatedBy {'MOLES Import'}},if (exists($DIF/dif:Last_DIF_Revision_Date)) then element RecordUpdate {element UpdateDate {if (string($DIF/dif:Last_DIF_Revision_Date) castable as xs:dateTime) then  string($DIF/dif:Last_DIF_Revision_Date) cast as xs:dateTime else (current-dateTime())},element UpdatedBy {$input_repository}} else ()} else ()},for $creator in distinct-values($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center)) return element dgOrganisation {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {escape-uri(concat('generated_orgcit-', string($creator)), true())}},element name {string($creator)},element abbreviation {string($creator)},element contactDetails {''}}}"; 
     327                                                xquery = "declare default element namespace 'http://ndg.nerc.ac.uk/moles';declare namespace dif='http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/';declare namespace xsi='http://www.w3.org/2001/XMLSchema-instance'; declare namespace f='http://ndg.nerc.ac.uk/moles/localfunctions';declare variable $input_collection as xs:string {'TargetCollection'};declare variable $unknown_vocab_id as xs:string {'http://vocab.ndg.nerc.ac.uk/null'};declare variable $ndg_data_provider_vocab as xs:string {'http://vocab.ndg.nerc.ac.uk/N010'};declare variable $gcmd_science_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html'};declare variable $gcmd_project_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/projects.html'};declare variable $gcmd_location_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/locations.html'};declare variable $gcmd_paleotemporal_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/paleotemporal.html'};declare variable $gcmd_iso_topic_list as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/iso_topic_list.html'};declare variable $cf_standard_names as xs:string {'http://www.cgd.ucar.edu/cms/eaton/cf-metadata/standard_name.html'};declare variable $iso_topic_list as xs:string {'http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_TopicCategoryCode'};declare variable $input_repository as xs:string {'Input_Repository_Code'};declare variable $input_repository_local as xs:string {'Input_Repository_LocalID'};declare variable $input_entry_id as xs:string {'Input_Entry_ID'};declare function f:fix-coord($e as element()) as element() {if ($e castable as xs:decimal) then  $e else let $value := substring(data($e), 1, string-length($e)-1) let $point := lower-case(data($e)) return if ($value  castable as xs:decimal) then   if (ends-with($point, 'n')) then element {name($e)} {$value}  else if (ends-with($point, 's')) then element {name($e)} {concat('-', $value)}  else if (ends-with($point, 'e')) then element {name($e)} {$value}  else if (ends-with($point, 'w')) then element {name($e)} {concat('-', $value)}  else $e else  $e};for $DIF in collection($input_collection)/dif:DIF[dif:Entry_ID=$input_entry_id] return element dgMetadata {element dgMetadataRecord {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {string($DIF/dif:Entry_ID)}},element dgMetadataDescription {element metadataDescriptionID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_desc-', string($DIF/dif:Entry_ID))}},element metadataDescriptionLastUpdated {current-date()},element abstract {element abstractText {string($DIF/dif:Summary)}}},element name {string($DIF/dif:Entry_Title)},element abbreviation {string($DIF/dif:Entry_Title)},element dgDataEntity {element dgDataSetType {''},element dgDataSummary {for $parameter in $DIF/dif:Parameters return element dgParameterSummary {element dgParameterValue {element dgValueDataParameter {element Value {''},element dgStandardUnit {element dgValidTerm {'dummy'},element dgValidTermID {element ParentListID {$unknown_vocab_id},element TermID {escape-uri('dummy unit', true())}}}}},element dgStdParameterMeasured {element dgValidTerm {concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)),if (exists($parameter/dif:Variable)) then concat(' > ', string($parameter/dif:Variable)) else (),if (exists($parameter/dif:Detailed_Variable)) then concat(' > ', string($parameter/dif:Detailed_Variable)) else ()},element dgValidTermID {element ParentListID {$gcmd_science_valids},element TermID {escape-uri($parameter/dif:Category, true())}}},element ParameterName {concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)),if (exists($parameter/dif:Variable)) then concat(' > ', string($parameter/dif:Variable)) else (),if (exists($parameter/dif:Detailed_Variable)) then concat(' > ', string($parameter/dif:Detailed_Variable)) else ()},element ParameterAbbreviation {concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)),if (exists($parameter/dif:Variable)) then concat(' > ', string($parameter/dif:Variable)) else (),if (exists($parameter/dif:Detailed_Variable)) then concat(' > ', string($parameter/dif:Detailed_Variable)) else ()}},if (exists($DIF/dif:Spatial_Coverage) or exists($DIF/dif:Paleo_Temporal_Coverage) or exists($DIF/dif:Location) or exists($DIF/dif:Temporal_Coverage)) then element dgDataCoverage {if (exists($DIF/dif:Spatial_Coverage)  or exists($DIF/dif:Location))  then element dgSpatialCoverage {for $boundingbox in $DIF/dif:Spatial_Coverage[exists(dif:Northernmost_Latitude) and exists(dif:Southernmost_Latitude) and exists(dif:Easternmost_Longitude) and exists(dif:Westernmost_Longitude)] return element BoundingBox {element LimitNorth {data(f:fix-coord($boundingbox/dif:Northernmost_Latitude))},element LimitSouth {data(f:fix-coord($boundingbox/dif:Southernmost_Latitude))},element LimitWest {data(f:fix-coord($boundingbox/dif:Westernmost_Longitude))},element LimitEast {data(f:fix-coord($boundingbox/dif:Easternmost_Longitude))}},for $location in $DIF/dif:Location return element dgArea {element dgValidTerm {string($location)},element dgValidTermID {element ParentListID {$gcmd_location_valids},element TermID {escape-uri($location, true())}}}} else (),if (exists($DIF/dif:Temporal_Coverage/dif:Start_Date) or exists($DIF/dif:Paleo_Temporal_Coverage/dif:Paleo_Start_Date) or exists($DIF/dif:Chronostratigraphic_Unit)) then element dgTemporalCoverage {for $temporalcoverage in $DIF/dif:Temporal_Coverage[exists(dif:Start_Date)] return element DateRange {element DateRangeStart {string($temporalcoverage/dif:Start_Date)},element DateRangeEnd {string($temporalcoverage/dif:Stop_Date)}},for $paleotemporalcoverage in $DIF/dif:Paleo_Temporal_Coverage[exists(dif:Paleo_Start_Date)] return element DateRange {element DateRangeStart {string($paleotemporalcoverage/dif:Paleo_Start_Date)},element DateRangeEnd {string($paleotemporalcoverage/dif:Paleo_Stop_Date)}},for $chronostratigraphic in $DIF/dif:Chronostratigraphic_Unit return element dgChronostratigraphicTerm {element dgValidTerm {string($chronostratigraphic)},element dgValidTermID {element ParentListID {$gcmd_paleotemporal_valids},element TermID {escape-uri($chronostratigraphic, true())}}}} else ()} else ()},element dgDataRoles {if (exists($DIF/dif:Data_Set_Citation/dif:Dataset_Creator)) then element dgDataCreator {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_creator-', string($DIF/dif:Entry_ID))}},element roleName {'Data Creator'},element abbreviation {'Creator'},for $creatorID in $DIF/dif:Data_Set_Citation/dif:Dataset_Creator return element dgRoleHolder {element dgOrganisationID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier  {escape-uri(concat('generated_orgcit-', string($creatorID)), true())}},element startDate {current-date()}}} else if (exists($DIF/dif:Originating_Center)) then element dgDataCreator {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_creator-', string($DIF/dif:Entry_ID))}},element roleName {'Data Creator'},element abbreviation {'Creator'},for $creatorID in $DIF/dif:Originating_Center return element dgRoleHolder {element dgOrganisationID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier  {escape-uri(concat('generated_orgcit-', string($creatorID)), true())}},element startDate {current-date()}}} else (),element dgDataCurator {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {concat('generated_curator-', string($DIF/dif:Entry_ID))}},element roleName {'Data Curator'},element abbreviation {'Curator'},element dgRoleHolder {element dgOrganisationID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {$input_repository_local}},element startDate {current-date()}}}}},element dgStructuredKeyword {element dgValidTerm {'d2b converted record'},element dgValidTermID {element ParentListID {$unknown_vocab_id},element TermID {'d2b'}}},for $structuredKeywords in $DIF/dif:Keywords return  element dgStructuredKeyword {element dgValidTerm {$structuredKeywords},element dgValidTermID {element ParentListID {$unknown_vocab_id},element TermID {escape-uri($structuredKeywords, true())}}},for $structuredKeywords in $DIF/dif:ISO_Topic_Category return  element dgStructuredKeyword {element dgValidTerm {string($structuredKeywords)},element dgValidTermID {element ParentListID {$gcmd_iso_topic_list},element TermID {escape-uri($structuredKeywords, true())}}},if (exists($DIF/dif:DIF_Creation_Date) or exists($DIF/dif:Last_DIF_Revision_Date)) then  element dgMetadataProvenance {if (exists($DIF/dif:DIF_Creation_Date)) then element RecordCreation {element CreatedDate {if (string($DIF/dif:DIF_Creation_Date) castable as xs:date) then  string($DIF/dif:DIF_Creation_Date) cast as xs:date else (current-date())},element CreatedBy {$input_repository}} else  element RecordCreation {element CreatedDate {current-date()},element CreatedBy {'MOLES Import'}},if (exists($DIF/dif:Last_DIF_Revision_Date)) then element RecordUpdate {element UpdateDate {if (string($DIF/dif:Last_DIF_Revision_Date) castable as xs:dateTime) then  string($DIF/dif:Last_DIF_Revision_Date) cast as xs:dateTime else (current-dateTime())},element UpdatedBy {$input_repository}} else ()} else ()},for $creator in distinct-values($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center)) return element dgOrganisation {element dgMetadataID {element schemeIdentifier {'NDG-B0'},element repositoryIdentifier {$input_repository},element localIdentifier {escape-uri(concat('generated_orgcit-', string($creator)), true())}},element name {string($creator)},element abbreviation {string($creator)},element contactDetails {''}}}"; 
    328328                                                xquery = xquery.replaceFirst("Input_Repository_Code", repositoryID); 
    329329                                                xquery = xquery.replaceFirst("Input_Repository_LocalID", repositoryLocalID); 
Note: See TracChangeset for help on using the changeset viewer.