Changeset 1798 for TI07-MOLES/trunk/DIF
- Timestamp:
- 04/12/06 11:50:35 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TI07-MOLES/trunk/DIF/XQuery/DIF2MOLES.xquery
r1795 r1798 6 6 declare namespace xsi='http://www.w3.org/2001/XMLSchema-instance'; 7 7 declare namespace f='http://ndg.nerc.ac.uk/moles/localfunctions'; 8 declare variable $input_collection as xs:string {'/db/discovery'}; 9 declare variable $ndg_data_provider_vocab as xs:string {'http://vocab.ndg.nerc.ac.uk/N010'}; 8 10 declare variable $gcmd_science_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html'}; 9 11 declare variable $gcmd_project_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/projects.html'}; … … 14 16 15 17 element dgMetadata { 16 for $DIF in collection( '/db/discovery')/dif:DIF18 for $DIF in collection($input_collection)/dif:DIF[dif:Entry_ID='NOCSDAT100'] 17 19 return 18 20 element dgMetadataRecord { … … 28 30 element localIdentifier {concat('generated_desc-', string($DIF/dif:Entry_ID))} 29 31 }, 30 element metadataDescriptionLastUpdated {current-date Time()} ,32 element metadataDescriptionLastUpdated {current-date()} , 31 33 element abstract { 32 34 element abstractText {string($DIF/dif:Summary)} … … 39 41 element dgDataSummary { 40 42 element dgParameterSummary { 41 element dgStandardParameterMeasured { 43 element dgParameterValue { 44 element dgValueDataParameter { 45 element Value {''}, 46 element dgStandardUnit { 47 element dgValidTerm {'dummy'}, 48 element dgValidTermID { 49 element ParentListID {'http://vocabs.ndg.nerc.ac.uk/null.'}, 50 element TermID {escape-uri('dummy unit', true())} 51 } 52 } 53 } 54 }, 55 element dgStdParameterMeasured { 42 56 element dgValidTerm {'dummy'}, 43 57 element dgValidTermID { 44 element parentListID {'http://vocabs.ndg.nerc.ac.uk/null.'}, 45 element termID {escape-uri('dummy term', true())} 46 }, 58 element ParentListID {'http://vocabs.ndg.nerc.ac.uk/null.'}, 59 element TermID {escape-uri('dummy term', true())} 60 } 61 }, 47 62 element ParameterName {'dummy term'}, 48 63 element ParameterAbbreviation {'dummy term'} 64 }, 65 if (exists($DIF/(dif:Spatial_Coverage)) or exists($DIF/dif:Temporal_Coverage)) then 66 element dgDataCoverage { 67 if (exists($DIF/dif:Spatial_Coverage/dif:Northernmost_Latitude)) then 68 element dgSpatialCoverage { 69 for $boundingbox in $DIF/dif:Spatial_Coverage[exists(dif:Northernmost_Latitude)] 70 return 71 element BoundingBox { 72 element Limit_North {string($boundingbox/dif:Northernmost_Latitude)}, 73 element Limit_South {string($boundingbox/dif:Southernmost_Latitude)}, 74 element Limit_West {string($boundingbox/dif:Westernmost_Longitude)}, 75 element Limit_East {string($boundingbox/dif:Easternmost_Longitude)} 76 } 77 } 78 else (), 79 if (exists($DIF/dif:Temporal_Coverage/dif:Start_Date)) then 80 element dgTemporalCoverage { 81 for $temporalcoverage in $DIF/dif:Temporal_Coverage[exists(dif:Start_Date) and exists(dif:Stop_Date)] 82 return 83 element DateRange { 84 element DateRangeStart {string($temporalcoverage/dif:Start_Date)}, 85 element DateRangeEnd {string($temporalcoverage/dif:Stop_Date)} 86 } 87 } 88 else () 49 89 } 50 }90 else () 51 91 }, 52 92 element dgDataRoles { … … 68 108 element localIdentifier {escape-uri(concat('generated_orgcit-', string($creatorID)), true())} 69 109 }, 70 element startDate {current-date Time()}110 element startDate {current-date()} 71 111 } 72 112 } … … 86 126 element localIdentifier {$input_repository_local} 87 127 }, 88 element startDate {current-date Time()}128 element startDate {current-date()} 89 129 } 90 130 } 91 131 } 92 132 }, 93 for $structuredKeywords in $DIF/Keywords 133 element dgStructuredKeyword { 134 element dgValidTerm {'MDIP'}, 135 element dgValidTermID { 136 element ParentListID {$ndg_data_provider_vocab}, 137 element TermID {'NDGO0001'} 138 } 139 }, 140 for $structuredKeywords in $DIF/dif:Keywords 94 141 return 95 element dgStructuredKeyword s{142 element dgStructuredKeyword { 96 143 element dgValidTerm {$structuredKeywords}, 97 144 element dgValidTermID { 98 element parentListID {'http://vocab.ndg.nerc.ac.uk/null.'}, 99 element termID {escape-uri($structuredKeywords, true())} 145 element ParentListID {'http://vocab.ndg.nerc.ac.uk/null.'}, 146 element TermID {escape-uri($structuredKeywords, true())} 147 } 148 }, 149 for $structuredKeywords in $DIF/dif:ISO_Topic_Category 150 return 151 element dgStructuredKeyword { 152 element dgValidTerm {string($structuredKeywords)}, 153 element dgValidTermID { 154 element ParentListID {'http://vocab.ndg.nerc.ac.uk/null.'}, 155 element TermID {escape-uri(string($structuredKeywords), true())} 100 156 } 101 157 }, … … 104 160 if (exists($DIF/dif:DIF_Creation_Date)) then 105 161 element RecordCreation { 106 element CreatedDate {string($DIF/dif:DIF_Creation_Date)}, 107 element CreatedBy {$input_repository} 162 element CreatedDate { 163 if (string($DIF/dif:DIF_Creation_Date) castable as xs:date) then 164 string($DIF/dif:DIF_Creation_Date) cast as xs:date 165 else (current-date()) 166 }, 167 element CreatedBy {$input_repository} 108 168 } 109 169 else 110 170 element RecordCreation { 111 element CreatedDate {current-date Time()},171 element CreatedDate {current-date()}, 112 172 element CreatedBy {'MOLES Import'} 113 173 }, 114 174 if (exists($DIF/dif:Last_DIF_Revision_Date)) then 115 175 element RecordUpdate { 116 element UpdateDate {$DIF/dif:Last_DIF_Revision_Date}, 117 element UpdateBy {$input_repository} 176 element UpdateDate { 177 if (string($DIF/dif:Last_DIF_Revision_Date) castable as xs:date) then 178 string($DIF/dif:Last_DIF_Revision_Date) cast as xs:date 179 else (current-date()) 180 }, 181 element UpdatedBy {$input_repository} 118 182 } 119 183 else () … … 121 185 else () 122 186 } (: </dgMetadataRecord>:), 123 for $creator in distinct-values(collection( '/db/discovery')/dif:DIF/dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center)187 for $creator in distinct-values(collection($input_collection)/dif:DIF/dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center) 124 188 return 125 189 element dgOrganisation {
Note: See TracChangeset
for help on using the changeset viewer.