Ignore:
Timestamp:
05/04/07 13:32:19 (12 years ago)
Author:
ko23
Message:

Fix to ObsStn? StubB

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/PythonCode/wsgi/ndg_xqueries.py

    r2375 r2384  
    10281028{ 
    10291029let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1030             moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1031             and moles:dgMetadataID/moles:localIdentifier=$locid]) 
    1032 return   
    1033     if ($found = 0) then  
    1034         element {$out-element-name} { 
    1035             element error {'not found'}, 
    1036             element repositoryIdentifier {$repid}, 
    1037             element localIdentifier {$locid} 
    1038         }  
    1039     else ( 
    1040         for $SRAct in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1041             moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1042             and moles:dgMetadataID/moles:localIdentifier=$locid]  
    1043         return  
    1044             element  {$out-element-name} {  
    1045                 ($SRAct/moles:dgMetadataID), 
    1046                 ($SRAct/moles:dgMetadataDescription), 
    1047                 ($SRAct/moles:name), 
    1048                 ($SRAct/moles:abbreviation), 
    1049                 element dgActivity { 
    1050                     if (exists($SRAct/*/moles:dgActivityDataCollection)) then  
    1051                         ($SRAct/*/moles:dgActivityDataCollection) 
    1052                     else if (exists($SRAct/*/moles:dgActivityDataProject)) then  
    1053                         ($SRAct/*/moles:dgActivityDataProject) 
    1054                     else if (exists($SRAct/*/dgActivityDataCampaign)) then 
    1055                         ($SRAct/moles:dgActivity/moles:dgActivityDataCampaign) 
    1056                     else  
    1057                         ($SRAct/moles:dgActivity/moles:dgActivityDataInvestigation),  
    1058                     ($SRAct/moles:dgActivity/moles:dgActivityCoverage), 
    1059                     ($SRAct/moles:dgActivity/moles:dgActivityDuration) 
    1060                 } (: </dgActivity> :)  
    1061             } (: </activity> :)  
    1062     ) 
     1030moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1031and moles:dgMetadataID/moles:localIdentifier=$locid]) 
     1032return   
     1033if ($found = 0) then  
     1034element {$out-element-name} { 
     1035element error {'not found'}, 
     1036element repositoryIdentifier {$repid}, 
     1037element localIdentifier {$locid} 
     1038}  
     1039else ( 
     1040for $SRAct in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
     1041moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1042and moles:dgMetadataID/moles:localIdentifier=$locid]  
     1043return  
     1044element  {$out-element-name} {  
     1045($SRAct/moles:dgMetadataID), 
     1046($SRAct/moles:dgMetadataDescription), 
     1047($SRAct/moles:name), 
     1048($SRAct/moles:abbreviation), 
     1049element dgActivity { 
     1050if (exists($SRAct/*/moles:dgActivityDataCollection)) then  
     1051($SRAct/*/moles:dgActivityDataCollection) 
     1052else if (exists($SRAct/*/moles:dgActivityDataProject)) then  
     1053($SRAct/*/moles:dgActivityDataProject) 
     1054else if (exists($SRAct/*/dgActivityDataCampaign)) then 
     1055($SRAct/moles:dgActivity/moles:dgActivityDataCampaign) 
     1056else  
     1057($SRAct/moles:dgActivity/moles:dgActivityDataInvestigation),  
     1058($SRAct/moles:dgActivity/moles:dgActivityCoverage), 
     1059($SRAct/moles:dgActivity/moles:dgActivityDuration) 
     1060} (: </dgActivity> :)  
     1061} (: </activity> :)  
     1062) 
    10631063} ; 
    10641064 
     
    10681068{ 
    10691069let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1070         moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1071         and moles:dgMetadataID/moles:localIdentifier=$locid]) 
    1072 return   
    1073     if ($found = 0) then  
    1074         element {$out-element-name} { 
    1075             element error {'not found'}, 
    1076             element repositoryIdentifier {$repid}, 
    1077             element localIdentifier {$locid} 
    1078         }  
    1079     else ( 
    1080         for $SRDE in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1081             moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1082             and moles:dgMetadataID/moles:localIdentifier=$locid]  
    1083         return   
    1084             element {$out-element-name} { 
    1085                 ($SRDE/moles:dgMetadataID), 
    1086                 ($SRDE/moles:dgMetadataDescription), 
    1087                 ($SRDE/moles:name), 
    1088                 ($SRDE/moles:abbreviation), 
    1089                 element dgDataEntity { 
    1090                     ($SRDE/moles:dgDataEntity/moles:dgDataSetType), 
    1091                     ($SRDE/moles:dgDataEntity/moles:dgDataGranule), 
    1092                     ($SRDE/moles:dgDataEntity/moles:dgDataSummary) 
    1093                 } (: </dgDataEntity> :)         
    1094             } 
    1095     ) 
     1070moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1071and moles:dgMetadataID/moles:localIdentifier=$locid]) 
     1072return   
     1073if ($found = 0) then  
     1074element {$out-element-name} { 
     1075element error {'not found'}, 
     1076element repositoryIdentifier {$repid}, 
     1077element localIdentifier {$locid} 
     1078}  
     1079else ( 
     1080for $SRDE in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
     1081moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1082and moles:dgMetadataID/moles:localIdentifier=$locid]  
     1083return   
     1084element {$out-element-name} { 
     1085($SRDE/moles:dgMetadataID), 
     1086($SRDE/moles:dgMetadataDescription), 
     1087($SRDE/moles:name), 
     1088($SRDE/moles:abbreviation), 
     1089element dgDataEntity { 
     1090($SRDE/moles:dgDataEntity/moles:dgDataSetType), 
     1091($SRDE/moles:dgDataEntity/moles:dgDataGranule), 
     1092($SRDE/moles:dgDataEntity/moles:dgDataSummary) 
     1093} (: </dgDataEntity> :)         
     1094} 
     1095) 
    10961096} ; 
    10971097 
     
    11011101{ 
    11021102let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1103         moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1104         and moles:dgMetadataID/moles:localIdentifier=$locid]) 
    1105 return   
    1106     if ($found = 0) then  
    1107         element {$out-element-name} { 
    1108             element error {'not found'}, 
    1109             element repositoryIdentifier {$repid}, 
    1110             element localIdentifier {$locid} 
    1111         }  
    1112     else ( 
    1113         for $SRDPT in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1114                 moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1115                 and moles:dgMetadataID/moles:localIdentifier=$locid] 
    1116         return   
    1117             element {$out-element-name} { 
    1118                 $SRDPT/moles:dgMetadataID, 
    1119                 $SRDPT/moles:dgMetadataDescription, 
    1120                 $SRDPT/moles:name, 
    1121                 $SRDPT/moles:abbreviation, 
    1122                 $SRDPT/moles:logos, 
    1123                 element dgDataProductionTool { 
    1124                     $SRDPT/moles:dgDataProductionTool/moles:contactDetails, 
    1125                     if (exists($SRDPT/moles:dgDataProductionTool/moles:dgModel)) then 
    1126                         $SRDPT/moles:dgDataProductionTool/moles:dgModel 
    1127                     else (), 
    1128                     if (exists($SRDPT/moles:dgDataProductionTool/moles:dgInstrument)) then 
    1129                         $SRDPT/moles:dgDataProductionTool/moles:dgInstrument 
    1130                     else () 
    1131                     } (: </dgDataProductionTool> :) 
    1132                 } (: </dataproductiontool> :) 
    1133     ) 
     1103moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1104and moles:dgMetadataID/moles:localIdentifier=$locid]) 
     1105return   
     1106if ($found = 0) then  
     1107element {$out-element-name} { 
     1108element error {'not found'}, 
     1109element repositoryIdentifier {$repid}, 
     1110element localIdentifier {$locid} 
     1111}  
     1112else ( 
     1113for $SRDPT in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
     1114moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1115and moles:dgMetadataID/moles:localIdentifier=$locid] 
     1116return   
     1117element {$out-element-name} { 
     1118$SRDPT/moles:dgMetadataID, 
     1119$SRDPT/moles:dgMetadataDescription, 
     1120$SRDPT/moles:name, 
     1121$SRDPT/moles:abbreviation, 
     1122$SRDPT/moles:logos, 
     1123element dgDataProductionTool { 
     1124$SRDPT/moles:dgDataProductionTool/moles:contactDetails, 
     1125if (exists($SRDPT/moles:dgDataProductionTool/moles:dgModel)) then 
     1126$SRDPT/moles:dgDataProductionTool/moles:dgModel 
     1127else (), 
     1128if (exists($SRDPT/moles:dgDataProductionTool/moles:dgInstrument)) then 
     1129$SRDPT/moles:dgDataProductionTool/moles:dgInstrument 
     1130else () 
     1131} (: </dgDataProductionTool> :) 
     1132} (: </dataproductiontool> :) 
     1133) 
    11341134} ; 
    11351135 
     
    11391139{ 
    11401140let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1141             moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1142             and moles:dgMetadataID/moles:localIdentifier=$locid]) 
    1143 return   
    1144     if ($found = 0) then  
    1145         element {$out-element-name} { 
    1146             element error {'not found'}, 
    1147             element repositoryIdentifier {$repid}, 
    1148             element localIdentifier {$locid} 
    1149         }  
    1150     else ( 
    1151         for $SRObsStn in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1152             moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1153             and moles:dgMetadataID/moles:localIdentifier=$locid]  
    1154         return 
    1155             element {$out-element-name} { 
    1156                 ($SRObsStn/moles:dgMetadataID), 
    1157                 ($SRObsStn/moles:dgMetadataDescription), 
    1158                 ($SRObsStn/moles:name), 
    1159                 ($SRObsStn/moles:abbreviation), 
    1160                 element dgObservationStation { 
    1161                     ($SRObsStn/moles:dgObservationStation/moles:contactDetails), 
    1162                     if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform)) then 
    1163                         element dgStationaryPlatform { 
    1164                             $SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:position, 
    1165                             if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/dgLandStation)) then element dgLandStation {''} 
    1166                             else if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/dgMooring)) then element dgMooring {''} 
    1167                             else if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/dgStationGroup)) then element dgStationGroup {''} 
    1168                             else () 
    1169                             } 
    1170                     else if (exists($SRObsStn/moles:dgObservationStation/moles:dgMovingPlatform)) then  
    1171                         $SRObsStn/moles:dgObservationStation/moles:dgMovingPlatform 
    1172                     else () 
    1173                 } (: </dgObservationStation> :) 
    1174             } 
    1175     ) 
     1141moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1142and moles:dgMetadataID/moles:localIdentifier=$locid]) 
     1143return   
     1144if ($found = 0) then  
     1145element {$out-element-name} { 
     1146element error {'not found'}, 
     1147element repositoryIdentifier {$repid}, 
     1148element localIdentifier {$locid} 
     1149}  
     1150else ( 
     1151for $SRObsStn in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
     1152moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1153and moles:dgMetadataID/moles:localIdentifier=$locid]  
     1154return 
     1155element {$out-element-name} { 
     1156($SRObsStn/moles:dgMetadataID), 
     1157($SRObsStn/moles:dgMetadataDescription), 
     1158($SRObsStn/moles:name), 
     1159($SRObsStn/moles:abbreviation), 
     1160element dgObservationStation { 
     1161($SRObsStn/moles:dgObservationStation/moles:contactDetails), 
     1162if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform)) then 
     1163element dgStationaryPlatform { 
     1164$SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:position, 
     1165if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/dgLandStation)) then element dgLandStation {''} 
     1166else if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/dgMooring)) then element dgMooring {''} 
     1167else if (exists($SRObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/dgStationGroup)) then element dgStationGroup {''} 
     1168else () 
     1169} 
     1170else if (exists($SRObsStn/moles:dgObservationStation/moles:dgMovingPlatform)) then  
     1171$SRObsStn/moles:dgObservationStation/moles:dgMovingPlatform 
     1172else () 
     1173} (: </dgObservationStation> :) 
     1174} 
     1175) 
    11761176} ; 
    11771177 
     
    11811181{ 
    11821182let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgPerson[ 
    1183             moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1184             and moles:dgMetadataID/moles:localIdentifier=$locid]) 
    1185 return   
    1186     if ($found = 0) then  
    1187         element {$out-element-name} { 
    1188             element error {'not found'}, 
    1189             element repositoryIdentifier {$repid}, 
    1190             element localIdentifier {$locid} 
    1191         }  
    1192     else ( 
    1193     for $person in collection($targetCollection)/moles:dgMetadata/moles:dgPerson[ 
    1194         moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1195         and moles:dgMetadataID/moles:localIdentifier=$locid]  
    1196     return  
    1197         element  {$out-element-name}  
    1198         { 
    1199             ($person/moles:name), 
    1200             ($person/moles:contactDetails), 
    1201             ($person/moles:dgMetadataID) 
    1202         } 
    1203     ) 
     1183moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1184and moles:dgMetadataID/moles:localIdentifier=$locid]) 
     1185return   
     1186if ($found = 0) then  
     1187element {$out-element-name} { 
     1188element error {'not found'}, 
     1189element repositoryIdentifier {$repid}, 
     1190element localIdentifier {$locid} 
     1191}  
     1192else ( 
     1193for $person in collection($targetCollection)/moles:dgMetadata/moles:dgPerson[ 
     1194moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1195and moles:dgMetadataID/moles:localIdentifier=$locid]  
     1196return  
     1197element  {$out-element-name}  
     1198{ 
     1199($person/moles:name), 
     1200($person/moles:contactDetails), 
     1201($person/moles:dgMetadataID) 
     1202} 
     1203) 
    12041204} ; 
    12051205 
     
    12081208(: Security not implemented yet :) 
    12091209{ 
    1210     let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgOrganisation[ 
    1211                 moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1212                 and moles:dgMetadataID/moles:localIdentifier=$locid]) 
    1213     return   
    1214         if ($found = 0) then  
    1215             element {$out-element-name} { 
    1216                 element error {'not found'}, 
    1217                 element repositoryIdentifier {$repid}, 
    1218                 element localIdentifier {$locid} 
    1219             }  
    1220         else ( 
    1221             for $org in collection($targetCollection)/moles:dgMetadata/moles:dgOrganisation[ 
    1222                 moles:dgMetadataID/moles:repositoryIdentifier=$repid  
    1223                 and moles:dgMetadataID/moles:localIdentifier=$locid]  
    1224             return  
    1225                 element  {$out-element-name} { 
    1226                     $org/moles:dgMetadataID, 
    1227                     $org/moles:name, 
    1228                     $org/moles:abbreviation, 
    1229                     $org/moles:contactDetails, 
    1230                     $org/moles:logos 
    1231                 } 
    1232         ) 
     1210let $found := count(collection($targetCollection)/moles:dgMetadata/moles:dgOrganisation[ 
     1211moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1212and moles:dgMetadataID/moles:localIdentifier=$locid]) 
     1213return   
     1214if ($found = 0) then  
     1215element {$out-element-name} { 
     1216element error {'not found'}, 
     1217element repositoryIdentifier {$repid}, 
     1218element localIdentifier {$locid} 
     1219}  
     1220else ( 
     1221for $org in collection($targetCollection)/moles:dgMetadata/moles:dgOrganisation[ 
     1222moles:dgMetadataID/moles:repositoryIdentifier=$repid  
     1223and moles:dgMetadataID/moles:localIdentifier=$locid]  
     1224return  
     1225element  {$out-element-name} { 
     1226$org/moles:dgMetadataID, 
     1227$org/moles:name, 
     1228$org/moles:abbreviation, 
     1229$org/moles:contactDetails, 
     1230$org/moles:logos 
     1231} 
     1232) 
    12331233} ; 
    12341234 
    12351235for $ObsStn in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    1236     moles:dgObservationStation!=''  
    1237     and moles:dgMetadataID[ 
    1238     moles:schemeIdentifier='NDG-B0'  
    1239     and moles:repositoryIdentifier=$repositoryIdentifier 
    1240     and moles:localIdentifier=$localIdentifier]] 
    1241     return 
    1242     utillib:strip-namespace( 
    1243     element dgMetadataRecord { 
    1244         element dgMetadataID { 
    1245             element schemeIdentifier {'NDG-B1', 
    1246             $ObsStn/moles:dgMetadataID/moles:repositoryIdentifier, 
    1247             $ObsStn/moles:dgMetadataID/moles:localIdentifier 
    1248         } (: End </dgMetadataID> :),  
    1249         $ObsStn/moles:dgMetadataDescription, 
    1250         $ObsStn/moles:name, 
    1251         $ObsStn/moles:abbreviation, 
    1252         element dgObservationStation {  
    1253             $ObsStn/moles:dgObservationStation/moles:contactDetails, 
    1254             if (exists($ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform)) then  
    1255                 element dgStationaryPlatform {  
    1256                 $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:position, 
    1257                 if (exists($ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring)) then    
    1258                     element dgMooring {  
    1259                         $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:dateStart, 
    1260                         $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:dateEnd, 
    1261                         for $DepositingCruise in $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:DepositingCruise 
    1262                         return  
    1263                             f:return-stub-activity('depositingcruise', data($DepositingCruise/moles:dgMetadataID/moles:repositoryIdentifier), data($DepositingCruise/moles:dgMetadataID/moles:localIdentifier)), 
    1264                             if (exists($ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:dgStationGrouping)) then    
    1265                                 for $StationGrouping in $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/dgStationGrouping  
    1266                                 return   
    1267                                     f:return-stub-obsstn('stationgrouping', data($StationGrouping/moles:dgMetadataID/moles:repositoryIdentifier), data($StationGrouping/moles:dgMetadataID/moles:localIdentifier)) 
    1268                             else () 
    1269                     } (: End </dgMooring> :)   
    1270                 else if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup)) then    
    1271                     element dgStationGroup {  
    1272                         element dgGroupedStations {  
    1273                             if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStations)) then 
    1274                                 for $GroupedStation in $ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStation/dgGroupedStations 
    1275                                 return f:return-stub-obsstn('dgGroupedStation', data($GroupedStation/moles:dgMetadataID/moles:repositoryIdentifier), data($GroupedStation/moles:dgMetadataID/moles:localIdentifier)) 
    1276                             else () 
    1277                         } (: End </dgGroupedStations> :) 
    1278                     } (: End </dgStationGroup> :)  
    1279                 else $ObsStn/moles:dgObservationStation/moles:dgLandStation 
    1280                 } (: End </dgStationaryPlatform>  :)   
    1281                 else $ObsStn/moles:dgObservationStation/moles:dgMovingPlatform  
    1282             } ,  
    1283             for $RelDep in $ObsStn/moles:dgObservationStation/moles:ObsStationDeployment  
    1284             return  
    1285                 element ObsStationDeployment { 
    1286                 $RelDep/moles:DateStart, 
    1287                 $RelDep/moles:DateEnd, 
    1288                 $RelDep/moles:dgMetadataID, 
    1289                 f:return-stub-activity('activity', data($RelDep/moles:ActivityID/moles:repositoryIdentifier), data($RelDep/moles:ActivityID/moles:localIdentifier)), 
    1290                 f:return-stub-dpt('dataproductiontool', data($RelDep/moles:DataProductionToolID/moles:repositoryIdentifier), data($RelDep/moles:DataProductionToolID/moles:localIdentifier)),  
    1291                 for $DE in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord 
    1292                     where $DE/moles:dgDataEntity/moles:RelatedDeployment/moles:dgMetadataID/moles:repositoryIdentifier=$RelDep/moles:dgMetadataID/moles:repositoryIdentifier 
    1293                             and $DE/moles:dgDataEntity/moles:RelatedDeployment/moles:dgMetadataID/moles:localIdentifier=$RelDep/moles:dgMetadataID/moles:localIdentifier 
    1294                 return 
    1295                     f:return-stub-dataentity('dataentity', data($DE/moles:dgMetadataID/moles:repositoryIdentifier), data($DE/moles:dgMetadataID/moles:localIdentifier)), 
    1296                 $RelDep/moles:Coverage 
    1297             } (: </RelatedDeployment> :)  
    1298         } (: </dgObservationStation> :),  
    1299     for $strkwrd in $ObsStn/moles:dgStructuredKeyword return $strkwrd, 
    1300     if (exists($ObsStn/moles:dgMetadataProvenance)) then $ObsStn/moles:dgMetadataProvenance else (), 
    1301     if (exists($ObsStn/moles:dgMetadataSecurity)) then $ObsStn/moles:dgMetadataSecurity else () 
    1302     } (: End </dgMetadataRecord> :) 
     1236moles:dgObservationStation!=''  
     1237and moles:dgMetadataID[ 
     1238moles:schemeIdentifier='NDG-B0'  
     1239and moles:repositoryIdentifier=$repositoryIdentifier 
     1240and moles:localIdentifier=$localIdentifier]] 
     1241return 
     1242utillib:strip-namespace( 
     1243element dgMetadataRecord { 
     1244element dgMetadataID { 
     1245element schemeIdentifier {'NDG-B1'}, 
     1246$ObsStn/moles:dgMetadataID/moles:repositoryIdentifier, 
     1247$ObsStn/moles:dgMetadataID/moles:localIdentifier 
     1248} (: End </dgMetadataID> :),  
     1249$ObsStn/moles:dgMetadataDescription, 
     1250$ObsStn/moles:name, 
     1251$ObsStn/moles:abbreviation, 
     1252element dgObservationStation {  
     1253$ObsStn/moles:dgObservationStation/moles:contactDetails, 
     1254if (exists($ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform)) then  
     1255element dgStationaryPlatform {  
     1256$ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:position, 
     1257if (exists($ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring)) then    
     1258element dgMooring {  
     1259$ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:dateStart, 
     1260$ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:dateEnd, 
     1261for $DepositingCruise in $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:DepositingCruise 
     1262return  
     1263f:return-stub-activity('depositingcruise', data($DepositingCruise/moles:dgMetadataID/moles:repositoryIdentifier), data($DepositingCruise/moles:dgMetadataID/moles:localIdentifier)), 
     1264if (exists($ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/moles:dgStationGrouping)) then    
     1265for $StationGrouping in $ObsStn/moles:dgObservationStation/moles:dgStationaryPlatform/moles:dgMooring/dgStationGrouping  
     1266return   
     1267f:return-stub-obsstn('stationgrouping', data($StationGrouping/moles:dgMetadataID/moles:repositoryIdentifier), data($StationGrouping/moles:dgMetadataID/moles:localIdentifier)) 
     1268else () 
     1269} (: End </dgMooring> :)   
     1270else if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup)) then    
     1271element dgStationGroup {  
     1272element dgGroupedStations {  
     1273if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStations)) then 
     1274for $GroupedStation in $ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStation/dgGroupedStations 
     1275return f:return-stub-obsstn('dgGroupedStation', data($GroupedStation/moles:dgMetadataID/moles:repositoryIdentifier), data($GroupedStation/moles:dgMetadataID/moles:localIdentifier)) 
     1276else () 
     1277} (: End </dgGroupedStations> :) 
     1278} (: End </dgStationGroup> :)  
     1279else $ObsStn/moles:dgObservationStation/moles:dgLandStation 
     1280} (: End </dgStationaryPlatform>  :)   
     1281else $ObsStn/moles:dgObservationStation/moles:dgMovingPlatform ,  
     1282for $RelDep in $ObsStn/moles:dgObservationStation/moles:ObsStationDeployment  
     1283return  
     1284element ObsStationDeployment { 
     1285$RelDep/moles:DateStart, 
     1286$RelDep/moles:DateEnd, 
     1287$RelDep/moles:dgMetadataID, 
     1288f:return-stub-activity('activity', data($RelDep/moles:ActivityID/moles:repositoryIdentifier), data($RelDep/moles:ActivityID/moles:localIdentifier)), 
     1289f:return-stub-dpt('dataproductiontool', data($RelDep/moles:DataProductionToolID/moles:repositoryIdentifier), data($RelDep/moles:DataProductionToolID/moles:localIdentifier)),  
     1290for $DE in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord 
     1291where $DE/moles:dgDataEntity/moles:RelatedDeployment/moles:dgMetadataID/moles:repositoryIdentifier=$RelDep/moles:dgMetadataID/moles:repositoryIdentifier 
     1292and $DE/moles:dgDataEntity/moles:RelatedDeployment/moles:dgMetadataID/moles:localIdentifier=$RelDep/moles:dgMetadataID/moles:localIdentifier 
     1293return 
     1294f:return-stub-dataentity('dataentity', data($DE/moles:dgMetadataID/moles:repositoryIdentifier), data($DE/moles:dgMetadataID/moles:localIdentifier)), 
     1295$RelDep/moles:Coverage 
     1296} (: </RelatedDeployment> :)  
     1297} (: </dgObservationStation> :),  
     1298for $strkwrd in $ObsStn/moles:dgStructuredKeyword return $strkwrd, 
     1299if (exists($ObsStn/moles:dgMetadataProvenance)) then $ObsStn/moles:dgMetadataProvenance else (), 
     1300if (exists($ObsStn/moles:dgMetadataSecurity)) then $ObsStn/moles:dgMetadataSecurity else () 
     1301} (: End </dgMetadataRecord> :) 
    13031302) (: End namespace strip :) 
    13041303''' 
Note: See TracChangeset for help on using the changeset viewer.