source: TI07-MOLES/trunk/StubB/XQuery/NDG-ObsStnStubB.xquery @ 1276

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI07-MOLES/trunk/StubB/XQuery/NDG-ObsStnStubB.xquery@1276
Revision 1276, 7.0 KB checked in by ko23, 13 years ago (diff)

Update queries + Java code

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
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>
16                                {$ObsStn/dgObservationStation/dgStationaryPlatform/position}
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>
44                                        {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateStart}
45                                        {$ObsStn/dgObservationStation/dgStationaryPlatform/dgMooring/dateEnd}
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> }
56                                        </dgGroupedStations>
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>
85                                }
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>
89                                                {$SRDPT/dgMetadataID}
90                                                {$SRDPT/dgMetadataDescription}
91                                                {$SRDPT/name}
92                                                {$SRDPT/abbreviation}
93                                                <dgDataProductionTool>
94                                                        {$SRDPT/dgDataProductionTool/contactDetails}
95                                                        {$SRDPT/dgDataProductionTool/dgModel}
96                                                        {$SRDPT/dgDataProductionTool/dgInstrument}
97                                                </dgDataProductionTool>
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>
135                                }
136                        </dgObservationStation>
137                        {$ObsStn/dgStructuredKeyword}
138                        {$ObsStn/DataProvenance}
139                        {$ObsStn/MetadataSecurity}
140        </dgMetadataRecord>
Note: See TracBrowser for help on using the repository browser.