Ignore:
Timestamp:
04/07/06 08:01:47 (14 years ago)
Author:
ko23
Message:

Update queries + Java code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/StubB/XQuery/NDG-ObsStnStubB.xquery

    r648 r1276  
    1 for $ObsStn in //dgMetadataRecord[dgObservationStation!='' and dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier='repositoryID' and dgMetadataID/localIdentifier='localID'] 
    2 return 
    3 <dgMetadataRecord> 
    4         <dgMetadataID> 
    5                 <schemeIdentifier>NDG-B1</schemeIdentifier> 
    6                 {$ObsStn/dgMetadataID/repositoryIdentifier} 
    7                 {$ObsStn/dgMetadataID/localIdentifier} 
    8         </dgMetadataID> 
    9         {$ObsStn/dgMetadataDescription} 
    10         {$ObsStn/name} 
    11         {$ObsStn/abbreviation} 
    12         <dgObservationStation> 
    13                 {$ObsStn/dgObservationStation/contactDetails} 
    14                 {if (exists($ObsStn/dgObservationStation/dgStationaryPlatform)) then ( 
    15                         <dgStationaryPlatform> 
     1for $ObsStn in collection('/db/ndg_B_metadata')/dgMetadata/dgMetadataRecord[dgObservationStation!='' and dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier='badc.nerc.ac.uk' and dgMetadataID/localIdentifier='obs1']  
     2return  
     3        <dgMetadataRecord> 
     4                <dgMetadataID> 
     5                        <schemeIdentifier>NDG-B1</schemeIdentifier>  
     6                        {$ObsStn/dgMetadataID/repositoryIdentifier} 
     7                        {$ObsStn/dgMetadataID/localIdentifier} 
     8                </dgMetadataID>  
     9                {$ObsStn/dgMetadataDescription} 
     10                {$ObsStn/name} 
     11                {$ObsStn/abbreviation} 
     12                <dgObservationStation>  
     13                        {$ObsStn/dgObservationStation/contactDetails} 
     14                        {if (exists($ObsStn/dgObservationStation/dgStationaryPlatform)) then ( 
     15                                <dgStationaryPlatform>  
    1616                                {$ObsStn/dgObservationStation/dgStationaryPlatform/position} 
    17                                 {if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring)) then  
    18                                 ( 
    19                                 <dgMooring> 
     17                                {if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring)) then  (  
     18                                        <dgMooring>  
     19                                                {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateStart} 
     20                                                {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateEnd} 
     21                                                {for $DepositingCruise in collection('/db/ndg_B_metadata')/*/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/repositoryIdentifier and dgMetadataID/localIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/localIdentifier)]  
     22                                                return  
     23                                                        <depositingcruise>  
     24                                                                {$DepositingCruise/dgMetadataID} 
     25                                                                {$DepositingCruise/name} 
     26                                                                {$DepositingCruise/abbreviation} 
     27                                                                {$DepositingCruise/dgMetadataDescription} 
     28                                                        </depositingcruise>  
     29                                                } 
     30                                                {if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dgStationGrouping)) then  (  
     31                                                        for $StationGrouping in collection('/db/ndg_B_metadata')/*/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/repositoryIdentifier and dgMetadataID/localIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/localIdentifier)]  
     32                                                        return   
     33                                                                <dgStationGrouping>  
     34                                                                        {$StationGrouping/dgMetadataID} 
     35                                                                        {$StationGrouping/name} 
     36                                                                        {$StationGrouping/abbreviation} 
     37                                                                        {$StationGrouping/dgMetadataDescription} 
     38                                                                        {$StationGrouping/dgObservationStation/dgStationaryPlatform/position} 
     39                                                                </dgStationGrouping> )  
     40                                                else ()} 
     41                                                </dgMooring>)  
     42                        else if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring)) then  (  
     43                                <dgStationGroup>  
    2044                                        {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateStart} 
    2145                                        {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateEnd} 
    22                                         {for $DepositingCruise in //dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/repositoryIdentifier and dgMetadataID/localIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/localIdentifier)] 
    23                                         return 
    24                                         <depositingcruise> 
    25                                                 {$DepositingCruise/dgMetadataID} 
    26                                                 {$DepositingCruise/name} 
    27                                                 {$DepositingCruise/abbreviation} 
    28                                                 {$DepositingCruise/dgMetadataDescription} 
    29                                         </depositingcruise> 
    30                                         } 
    31                                         {if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dgStationGrouping)) then  
    32                                         ( 
    33                                         for $StationGrouping in //dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/repositoryIdentifier and dgMetadataID/localIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/DepositingCruise/localIdentifier)] 
    34                                         return  
    35                                                 <dgStationGrouping> 
    36                                                         {$StationGrouping/dgMetadataID} 
    37                                                         {$StationGrouping/name} 
    38                                                         {$StationGrouping/abbreviation} 
    39                                                         {$StationGrouping/dgMetadataDescription} 
    40                                                         {$StationGrouping/dgObservationStation/dgStationaryPlatform/position} 
    41                                                 </dgStationGrouping> 
    42                                         ) 
    43                                         else ()} 
    44                                 </dgMooring>             
    45                                 ) 
    46                                 else if (exists($ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring)) then  
    47                                 ( 
    48                                 <dgStationGroup> 
    49                                         {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateStart} 
    50                                         {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateEnd} 
    51                                         <dgGroupedStations> 
    52                                         {for $GroupedStations in //dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStations/dgGroupedStation/repositoryIdentifier and dgMetadataID/localIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStations/dgGroupedStation/localIdentifier)] 
    53                                         return 
    54                                         <dgGroupedStation> 
    55                                                 {$GroupedStations/dgMetadataID} 
    56                                                 {$GroupedStations/name} 
    57                                                 {$GroupedStations/abbreviation} 
    58                                                 {$GroupedStations/dgMetadataDescription} 
    59                                                 {$GroupedStations/dgObservationStation/dgStationaryPlatform/position} 
    60                                         </dgGroupedStation> 
    61                                         } 
     46                                        <dgGroupedStations>  
     47                                                {for $GroupedStations in collection('/db/ndg_B_metadata')/*/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStations/dgGroupedStation/repositoryIdentifier and dgMetadataID/localIdentifier=$ObsStn/dgObservationStation/dgStationaryPlatform/dgStationGroup/dgGroupedStations/dgGroupedStation/localIdentifier)]  
     48                                                return  
     49                                                        <dgGroupedStation>  
     50                                                                {$GroupedStations/dgMetadataID} 
     51                                                                {$GroupedStations/name} 
     52                                                                {$GroupedStations/abbreviation} 
     53                                                                {$GroupedStations/dgMetadataDescription} 
     54                                                                {$GroupedStations/dgObservationStation/dgStationaryPlatform/position} 
     55                                                        </dgGroupedStation> } 
    6256                                        </dgGroupedStations> 
    63                                 </dgStationGroup>                
    64                                 ) 
    65                                 else ($ObsStn/dgObservationStation/dgLandStation) 
     57                                </dgStationGroup> )  
     58                        else ($ObsStn/dgObservationStation/dgLandStation)  
     59                        } 
     60                        </dgStationaryPlatform> )  
     61                        else ($ObsStn/dgObservationStation/dgMovingPlatform)  
     62                        } 
     63                        {for $RelDep in $ObsStn/*/ObsStationDeployment  
     64                        return  
     65                                <ObsStationDeployment>  
     66                                {$RelDep/DateStart} 
     67                                {$RelDep/DateEnd} 
     68                                {$RelDep/dgMetadataID} 
     69                                {for $SRAct in collection('/db/ndg_B_metadata')/*/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelDep/ActivityID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelDep/ActivityID/localIdentifier)]  
     70                                return  
     71                                        <activity>  
     72                                                {$SRAct/dgMetadataID} 
     73                                                {$SRAct/dgMetadataDescription} 
     74                                                {$SRAct/name} 
     75                                                {$SRAct/abbreviation} 
     76                                                <dgActivity>  
     77                                                        {$SRAct/*/dgActivityDataCollection} 
     78                                                        {$SRAct/*/dgActivityDataProject} 
     79                                                        {$SRAct/*/dgActivityDataCampaign} 
     80                                                        {$SRAct/*/dgActivityDataInvestigation} 
     81                                                        {$SRAct/*/dgActivityCoverage} 
     82                                                        {$SRAct/*/dgActivityDuration} 
     83                                                </dgActivity> 
     84                                        </activity>  
    6685                                } 
    67                         </dgStationaryPlatform> 
    68                 ) 
    69                 else ($ObsStn/dgObservationStation/dgMovingPlatform) 
    70                 } 
    71         {for $RelDep in $ObsStn//ObsStationDeployment 
    72                 return 
    73                 <ObsStationDeployment> 
    74                         {$RelDep/DateStart} 
    75                         {$RelDep/DateEnd} 
    76                         {$RelDep/dgMetadataID} 
    77                         {for $SRAct in //dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelDep/ActivityID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelDep/ActivityID/localIdentifier)] 
    78                                 return 
    79                                         <activity> 
    80                                         {$SRAct/dgMetadataID} 
    81                                         {$SRAct/dgMetadataDescription} 
    82                                         {$SRAct/name} 
    83                                         {$SRAct/abbreviation} 
    84                                         <dgActivity> 
    85                                                 {$SRAct/*/dgActivityDataCollection} 
    86                                                 {$SRAct/*/dgActivityDataProject} 
    87                                                 {$SRAct/*/dgActivityDataCampaign} 
    88                                                 {$SRAct/*/dgActivityDataInvestigation} 
    89                                                 {$SRAct/*/dgActivityCoverage} 
    90                                                 {$SRAct/*/dgActivityDuration} 
    91                                         </dgActivity> 
    92                                         </activity> 
    93                                 } 
    94                         {for $SRDPT in //dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelDep/DataProductionToolID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelDep/DataProductionToolID/localIdentifier)] 
    95                                 return 
    96                                         <dataproductiontool> 
     86                                {for $SRDPT in collection('/db/ndg_B_metadata')/*/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelDep/DataProductionToolID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelDep/DataProductionToolID/localIdentifier)]  
     87                                return  
     88                                        <dataproductiontool>  
    9789                                                {$SRDPT/dgMetadataID} 
    9890                                                {$SRDPT/dgMetadataDescription} 
    9991                                                {$SRDPT/name} 
    10092                                                {$SRDPT/abbreviation} 
    101                                                 <dgDataProductionTool> 
     93                                                <dgDataProductionTool>  
    10294                                                        {$SRDPT/dgDataProductionTool/contactDetails} 
    10395                                                        {$SRDPT/dgDataProductionTool/dgModel} 
    10496                                                        {$SRDPT/dgDataProductionTool/dgInstrument} 
    10597                                                </dgDataProductionTool> 
    106                                         </dataproductiontool> 
     98                                        </dataproductiontool>} 
     99                                {for $DE in collection('/db/ndg_B_metadata')/*/dgMetadataRecord[dgMetadataID/schemeIdentifier='NDG-B0' and dgDataEntity/RelatedDeployment/dgMetadataID/repositoryIdentifier=$RelDep/dgMetadataID/repositoryIdentifier and dgDataEntity/RelatedDeployment/dgMetadataID/localIdentifier=$RelDep/dgMetadataID/localIdentifier]  
     100                                return  
     101                                        <dataEntity>  
     102                                                {$DE/dgMetadataID} 
     103                                                {$DE/dgMetadataDescription} 
     104                                                {$DE/name} 
     105                                                {$DE/abbreviation} 
     106                                                <dgDataEntity>  
     107                                                        {$DE/dgDataEntity/dgDataSetType} 
     108                                                        {$DE/dgDataEntity/dgDataObjectType} 
     109                                                        {$DE/dgDataEntity/dgDataGranule} 
     110                                                        {$DE/dgDataEntity/dgDataSummary} 
     111                                                        <dgDataRoles> 
     112                                                                <dgDataCurator>  
     113                                                                        {$DE/dgDataEntity/dgDataRoles/dgDataCurator/dgMetadataID} 
     114                                                                        {$DE/dgDataEntity/dgDataRoles/dgDataCurator/roleName} 
     115                                                                        {$DE/dgDataEntity/dgDataRoles/dgDataCurator/abbreviation} 
     116                                                                        {$DE/dgDataEntity/dgDataRoles/dgDataCurator/contactDetails} 
     117                                                                        {for $DataCuratorRole in $DE/dgDataEntity/dgDataRoles/dgDataCurator/dgRoleHolder   
     118                                                                        order by $DataCuratorRole/startDate empty least, $DataCuratorRole/endDate empty least  
     119                                                                        return   
     120                                                                                <dgRoleHolder>  
     121                                                                                {for $DataCuratorRoleHolder in collection('/db/ndg_B_metadata')/*/(dgOrganisation | dgPerson)[(dgMetadataID/repositoryIdentifier=$DataCuratorRole/*/repositoryIdentifier and dgMetadataID/localIdentifier=$DataCuratorRole/*/localIdentifier)]  
     122                                                                                return  
     123                                                                                        $DataCuratorRoleHolder} 
     124                                                                                        {$DataCuratorRole/startDate} 
     125                                                                                        {$DataCuratorRole/endDate} 
     126                                                                                        {$DataCuratorRole/localName} 
     127                                                                                </dgRoleHolder> 
     128                                                                        } 
     129                                                                </dgDataCurator> 
     130                                                        </dgDataRoles> 
     131                                                </dgDataEntity> 
     132                                        </dataEntity>  
     133                                        } 
     134                                </ObsStationDeployment>  
    107135                                } 
    108                         {for $DE in //dgMetadataRecord[dgMetadataID/schemeIdentifier='NDG-B0' and dgDataEntity/RelatedDeployment/dgMetadataID/repositoryIdentifier=$RelDep/dgMetadataID/repositoryIdentifier and dgDataEntity/RelatedDeployment/dgMetadataID/localIdentifier=$RelDep/dgMetadataID/localIdentifier] 
    109                                 return 
    110                                 <dataEntity> 
    111                                 {$DE/dgMetadataID} 
    112                                 {$DE/dgMetadataDescription} 
    113                                 {$DE/name} 
    114                                 {$DE/abbreviation} 
    115                                 <dgDataEntity> 
    116                                         {$DE/dgDataEntity/dgDataSetType} 
    117                                         {$DE/dgDataEntity/dgDataObjectType} 
    118                                         {$DE/dgDataEntity/dgDataGranule} 
    119                                         {$DE/dgDataEntity/dgDataSummary} 
    120                                         <dgDataRoles> 
    121                                         <dgDataCurator> 
    122                                                 {$DE/dgDataEntity/dgDataRoles/dgDataCurator/dgMetadataID} 
    123                                                 {$DE/dgDataEntity/dgDataRoles/dgDataCurator/roleName} 
    124                                                 {$DE/dgDataEntity/dgDataRoles/dgDataCurator/abbreviation} 
    125                                                 {$DE/dgDataEntity/dgDataRoles/dgDataCurator/contactDetails} 
    126                                                 {for $DataCuratorRole in $DE/dgDataEntity/dgDataRoles/dgDataCurator/dgRoleHolder  
    127                                                         order by $DataCuratorRole/startDate empty least, $DataCuratorRole/endDate empty least 
    128                                                         return  
    129                                                         <dgRoleHolder> 
    130                                                         {for $DataCuratorRoleHolder in /*/(dgOrganisation | dgPerson)[(dgMetadataID/repositoryIdentifier=$DataCuratorRole/*/repositoryIdentifier and dgMetadataID/localIdentifier=$DataCuratorRole/*/localIdentifier)] return $DataCuratorRoleHolder} 
    131                                                                 {$DataCuratorRole/startDate} 
    132                                                                 {$DataCuratorRole/endDate} 
    133                                                                 {$DataCuratorRole/localName} 
    134                                                         </dgRoleHolder>} 
    135                                         </dgDataCurator> 
    136                                         </dgDataRoles> 
    137                                 </dgDataEntity> 
    138                         </dataEntity> 
    139                         } 
    140                 </ObsStationDeployment> 
    141                 } 
    142         </dgObservationStation> 
    143         {$ObsStn/dgStructuredKeyword} 
    144         {$ObsStn/DataProvenance} 
    145         {$ObsStn/MetadataSecurity} 
    146 </dgMetadataRecord> 
     136                        </dgObservationStation>  
     137                        {$ObsStn/dgStructuredKeyword} 
     138                        {$ObsStn/DataProvenance} 
     139                        {$ObsStn/MetadataSecurity} 
     140        </dgMetadataRecord> 
Note: See TracChangeset for help on using the changeset viewer.