Changeset 1826


Ignore:
Timestamp:
06/12/06 13:12:42 (13 years ago)
Author:
ko23
Message:

Enhancements to parameter naming

Location:
TI07-MOLES/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/DIF/XQuery/DIF2MOLES.xquery

    r1822 r1826  
    4545                        element dgDataSetType {''}, 
    4646                        element dgDataSummary { 
    47                                 element dgParameterSummary { 
    48                                         element dgParameterValue { 
    49                                                 element dgValueDataParameter { 
    50                                                         element Value {''}, 
    51                                                         element dgStandardUnit { 
    52                                                                 element dgValidTerm {'dummy'}, 
    53                                                                 element dgValidTermID { 
    54                                                                         element ParentListID {$unknown_vocab_id}, 
    55                                                                         element TermID {escape-uri('dummy unit', true())} 
     47                                for $parameter in $DIF/dif:Parameters 
     48                                return 
     49                                        element dgParameterSummary { 
     50                                                element dgParameterValue { 
     51                                                        element dgValueDataParameter { 
     52                                                                element Value {''}, 
     53                                                                element dgStandardUnit { 
     54                                                                        element dgValidTerm {'dummy'}, 
     55                                                                        element dgValidTermID { 
     56                                                                                element ParentListID {$unknown_vocab_id}, 
     57                                                                                element TermID {escape-uri('dummy unit', true())} 
     58                                                                        } 
    5659                                                                } 
    5760                                                        } 
    58                                                 } 
     61                                                }, 
     62                                                element dgStdParameterMeasured { 
     63                                                        element dgValidTerm { 
     64                                                                concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)), 
     65                                                                if (exists($parameter/dif:Variable)) then 
     66                                                                        concat(' > ', string($parameter/dif:Variable)) 
     67                                                                else (), 
     68                                                                if (exists($parameter/dif:Detailed_Variable)) then 
     69                                                                        concat(' > ', string($parameter/dif:Detailed_Variable)) 
     70                                                                else () 
     71                                                        }, 
     72                                                                element dgValidTermID { 
     73                                                                        element ParentListID {$gcmd_science_valids}, 
     74                                                                        element TermID {escape-uri($parameter/dif:Category, true())} 
     75                                                                } 
     76                                                }, 
     77                                                element ParameterName {'dummy term'}, 
     78                                                element ParameterAbbreviation {'dummy term'} 
    5979                                        }, 
    60                                         element dgStdParameterMeasured { 
    61                                                 element dgValidTerm {'dummy'}, 
    62                                                 element dgValidTermID { 
    63                                                         element ParentListID {$gcmd_science_valids}, 
    64                                                         element TermID {escape-uri('dummy term', true())} 
    65                                                 } 
    66                                         }, 
    67                                         element ParameterName {'dummy term'}, 
    68                                         element ParameterAbbreviation {'dummy term'} 
    69                                 }, 
    7080                                if (exists($DIF/dif:Spatial_Coverage) or exists($DIF/dif:Location) or exists($DIF/dif:Temporal_Coverage)) then 
    7181                                        element dgDataCoverage { 
  • TI07-MOLES/trunk/JavaCode/BuildMOLES/ndg/services/buildmoles/Main.java

    r1822 r1826  
    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 {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 {'dummy'},element dgValidTermID {element ParentListID {$gcmd_science_valids},element TermID {escape-uri('dummy term', true())}}},element ParameterName {'dummy term'},element ParameterAbbreviation {'dummy term'}},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:date) then  string($DIF/dif:Last_DIF_Revision_Date) cast as xs:date else (current-date())},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_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:date) then  string($DIF/dif:Last_DIF_Revision_Date) cast as xs:date else (current-date())},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.