source: TI07-MOLES/trunk/StubB/XQuery/NDG-ActStubB.xquery @ 648

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI07-MOLES/trunk/StubB/XQuery/NDG-ActStubB.xquery@648
Revision 648, 8.1 KB checked in by ko23, 13 years ago (diff)
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1for $Act in collection('/db/ndg_B_metadata')/dgMetadata/dgMetadataRecord[dgActivity!='' and dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier='repositoryID' and dgMetadataID/localIdentifier='localID']
2return
3<dgMetadataRecord>
4        <dgMetadataID>
5                <schemeIdentifier>NDG-B1</schemeIdentifier>
6                {$Act/dgMetadataID/repositoryIdentifier}
7                {$Act/dgMetadataID/localIdentifier}
8        </dgMetadataID>
9        {$Act/dgMetadataDescription}
10        {$Act/name}
11        {$Act/abbreviation}
12        <dgActivity>
13                {for $RelatedActivities in $Act/dgActivity/relatedActivity
14                 for $RelatedActivity in collection('/db/ndg_B_metadata')/dgMetadata/dgMetadataRecord[dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelatedActivities/relatedActivityID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelatedActivities/relatedActivityID/localIdentifier]
15                        return
16                        <relatedActivity>
17                        {$RelatedActivities/relatedActivityID}
18                        {$RelatedActivity/name}
19                        {$RelatedActivity/abbreviation}
20                        {$RelatedActivities/activityRelation}
21                        </relatedActivity>
22                        }
23        {$Act/dgActivityDataCollection}
24        {$Act/dgActivityDataProject}
25        {$Act/dgActivityDataCollection}
26        {$Act/dgActivityDataInvestigation}
27        <dgActivityRole>
28                <dgInvestigator>
29                        <dgPrincipalInvestigator>
30                                {$Act/dgActivity/dgActivityRole/dgInvestigator/dgPrincipalInvestigator/dgMetadataID}
31                                {$Act/dgActivity/dgActivityRole/dgInvestigator/dgPrincipalInvestigator/roleName}
32                                {$Act/dgActivity/dgActivityRole/dgInvestigator/dgPrincipalInvestigator/abbreviation}
33                                {$Act/dgActivity/dgActivityRole/dgInvestigator/dgPrincipalInvestigator/contactDetails}
34
35                                {for $PIRole in $Act/dgActivity/dgActivityRole/dgInvestigator/dgPrincipalInvestigator/dgRoleHolder
36                                        order by $PIRole/startDate empty least, $PIRole/endDate empty least
37                                        return
38                                                <dgRoleHolder>
39                                                        {if (exists($PIRole/dgOrganisationID)) then (
40                                                                for $PIRoleHolder in collection('/db/ndg_B_metadata')/dgMetadata/dgOrganisation[dgMetadataID[schemeIdentifier='NDG-B0' and repositoryIdentifier=$PIRole/dgOrganisationID/repositoryIdentifier and localIdentifier=$PIRole/dgOrganisationID/localIdentifier]]
41                                                                return $PIRoleHolder)
42                                                         else ()
43                                                        }
44                                                        {if (exists($PIRole/dgPersonID)) then (
45                                                                for $PIRoleHolder in collection('/db/ndg_B_metadata')/dgMetadata/dgPerson[dgMetadataID[schemeIdentifier='NDG-B0' and repositoryIdentifier=$PIRole/dgPersonID/repositoryIdentifier and localIdentifier=$PIRole/dgPersonID/localIdentifier]]
46                                                                return $PIRoleHolder)
47                                                         else ()
48                                                        }
49                                                        {$PIRole/startDate}
50                                                        {$PIRole/endDate}
51                                                        {$PIRole/localName}
52                                                </dgRoleHolder>
53                                        }                                       
54                        </dgPrincipalInvestigator>
55                        {for $CI in $Act/dgActivity/dgActivityRole/dgInvestigator/dgCoInvestigator
56                        return 
57                                <dgCoInvestigator>
58                                {$CI/dgMetadataID}
59                                {$CI/roleName}
60                                        {$CI/abbreviation}
61                                        {$CI/contactDetails}
62                                        {for $CIRole in $CI/dgRoleHolder
63                                        order by $CIRole/startDate empty least, $CIRole/endDate empty least
64                                        return
65                                                <dgRoleHolder>
66                                                        {if (exists($CIRole/dgOrganisationID)) then (
67                                                                for $CIRoleHolder in collection('/db/ndg_B_metadata')/dgMetadata/dgOrganisation[dgMetadataID[schemeIdentifier='NDG-B0' and repositoryIdentifier=$CIRole/dgOrganisationID/repositoryIdentifier and localIdentifier=$CIRole/dgOrganisationID/localIdentifier]]
68                                                                return $CIRoleHolder)
69                                                         else ()
70                                                        }
71                                                        {if (exists($CIRole/dgPersonID)) then (
72                                                                for $CIRoleHolder in collection('/db/ndg_B_metadata')/dgMetadata/dgPerson[dgMetadataID[schemeIdentifier='NDG-B0' and repositoryIdentifier=$CIRole/dgPersonID/repositoryIdentifier and localIdentifier=$CIRole/dgPersonID/localIdentifier]]
73                                                                return $CIRoleHolder)
74                                                         else ()
75                                                        }
76                                                        {$CIRole/startDate}
77                                                        {$CIRole/endDate}
78                                                        {$CIRole/localName}
79                                                </dgRoleHolder>
80                                        }
81                                </dgCoInvestigator>
82                        }
83                </dgInvestigator>
84                {if (exists($Act/dgActivity/dgActivityRole/dgTechnicalContact)) then (
85                        <dgTechnicalContact>
86                                {$Act/dgActivity/dgActivityRole/dgTechnicalContact/dgMetadataID}
87                                {$Act/dgActivity/dgActivityRole/dgTechnicalContact/roleName}
88                                {$Act/dgActivity/dgActivityRole/dgTechnicalContact/abbreviation}
89                                {$Act/dgActivity/dgActivityRole/dgTechnicalContact/contactDetails}
90                                {for $TechConRole in $Act/dgActivity/dgActivityRole/dgTechnicalContact/dgRoleHolder
91                                        order by $TechConRole/startDate empty least, $TechConRole/endDate empty least
92                                        return
93                                        <dgRoleHolder>
94                                        {for $TechConRoleHolder in collection('/db/ndg_B_metadata')/dgMetadata/(dgOrganisation | dgPerson)[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$TechConRole/*/repositoryIdentifier and dgMetadataID/localIdentifier=$TechConRole/*/localIdentifier)] return $TechConRoleHolder}
95                                                {$TechConRole/startDate}
96                                                {$TechConRole/endDate}
97                                                {$TechConRole/localName}
98                                        </dgRoleHolder>}
99                        </dgTechnicalContact>
100                )
101                else ()
102                }
103                {if (exists($Act/dgActivity/dgActivityRole/dgProjectManager)) then (
104                        <dgProjectManager>
105                                {$Act/dgActivity/dgActivityRole/dgProjectManager/dgMetadataID}
106                                {$Act/dgActivity/dgActivityRole/dgProjectManager/roleName}
107                                {$Act/dgActivity/dgActivityRole/dgProjectManager/abbreviation}
108                                {$Act/dgActivity/dgActivityRole/dgProjectManager/contactDetails}
109                                {for $PMRole in $Act/dgActivity/dgActivityRole/dgProjectManager/dgRoleHolder
110                                        order by $PMRole/startDate empty least, $PMRole/endDate empty least
111                                        return
112                                        <dgRoleHolder>
113                                        {for $PMRoleHolder in collection('/db/ndg_B_metadata')/dgMetadata/(dgOrganisation | dgPerson)[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$PMRole/*/repositoryIdentifier and dgMetadataID/localIdentifier=$PMRole/*/localIdentifier)] return $PMRoleHolder}
114                                                {$PMRole/startDate}
115                                                {$PMRole/endDate}
116                                                {$PMRole/localName}
117                                        </dgRoleHolder>}
118                        </dgProjectManager>
119                )
120                else ()
121                }
122        </dgActivityRole>
123        {for $RelDep in $Act/dgActivity/ActivityDeployment
124                return
125                <ActivityDeployment>
126                        {$RelDep/DateStart}
127                        {$RelDep/DateEnd}
128                        {$RelDep/dgMetadataID}
129                        {for $SRDPT in collection('/db/ndg_B_metadata')/dgMetadata/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelDep/DataProductionToolID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelDep/DataProductionToolID/localIdentifier)]
130                                return
131                                <dataproductiontool>
132                                        {$SRDPT/dgMetadataID}
133                                        {$SRDPT/dgMetadataDescription}
134                                        {$SRDPT/name}
135                                        {$SRDPT/abbreviation}
136                                        <dgDataProductionTool>
137                                                {$SRDPT/dgDataProductionTool/contactDetails}
138                                                {$SRDPT/dgDataProductionTool/dgModel}
139                                                {$SRDPT/dgDataProductionTool/dgInstrument}
140                                        </dgDataProductionTool>
141                                </dataproductiontool>
142                                }
143                        {for $SRObsStn in collection('/db/ndg_B_metadata')/dgMetadata/dgMetadataRecord[(dgMetadataID/schemeIdentifier='NDG-B0' and dgMetadataID/repositoryIdentifier=$RelDep/ObservationStationID/repositoryIdentifier and dgMetadataID/localIdentifier=$RelDep/ObservationStationID/localIdentifier)]
144                                return
145                                <observationstation>
146                                        {$SRObsStn/dgMetadataID}
147                                        {$SRObsStn/dgMetadataDescription}
148                                        {$SRObsStn/name}
149                                        {$SRObsStn/abbreviation}
150                                        <dgObservationStation>
151                                                {$SRObsStn/dgObservationStation/contactDetails}
152                                                {$SRObsStn/dgObservationStation/dgStationaryPlatform}
153                                                {$SRObsStn/dgObservationStation/dgMovingPlatform}
154                                        </dgObservationStation>
155                                </observationstation>
156                                }
157                        {for $DE in collection('/db/ndg_B_metadata')/dgMetadata/dgMetadataRecord[dgMetadataID/schemeIdentifier='NDG-B0' and dgDataEntity/RelatedDeployment/dgMetadataID/repositoryIdentifier=$RelDep/dgMetadataID/repositoryIdentifier and dgDataEntity/RelatedDeployment/dgMetadataID/localIdentifier=$RelDep/dgMetadataID/localIdentifier]            return
158                                <dataentity>
159                                {$DE/dgMetadataID}
160                                {$DE/dgMetadataDescription}
161                                {$DE/name}
162                                {$DE/abbreviation}
163                                <dgDataEntity>
164                                        {$DE/dgDataEntity/dgDataSetType}
165                                        {$DE/dgDataEntity/dgDataObjectType}
166                                        {$DE/dgDataEntity/dgDataGranule}
167                                        {$DE/dgDataEntity/dgDataSummary}
168                                </dgDataEntity>
169                        </dataentity>
170                        }
171                </ActivityDeployment>
172                }
173                {$Act/dgActivityCoverage}
174                {$Act/ActivityDuration}
175        </dgActivity>
176        {$Act/dgStructuredKeyword}
177        {$Act/DataProvenance}
178        {$Act/MetadataSecurity}
179</dgMetadataRecord>
Note: See TracBrowser for help on using the repository browser.