Ignore:
Timestamp:
15/02/07 11:54:01 (14 years ago)
Author:
ko23
Message:

Refactoring intermediate

File:
1 edited

Legend:

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

    r2077 r2171  
     1import module namespace voclib='http://ndg.nerc.ac.uk/xquery/lib/vocab' at 'xmldb:exist:///db/xqueryLib/Vocabs/vocab_xquery_lib.xquery'; 
     2import module namespace utillib='http://ndg.nerc.ac.uk/xquery/lib/utilities' at 'xmldb:exist:///db/xqueryLib/Utilities/utility_xquery_lib.xquery'; 
     3import module namespace stubblib='http://ndg.nerc.ac.uk/xquery/lib/stubb' at 'xmldb:exist:///db/xqueryLib/StubB/stubb_xquery_lib.xquery'; 
    14declare default element namespace 'http://ndg.nerc.ac.uk/moles/activity';  
    25declare namespace moles='http://ndg.nerc.ac.uk/moles'; 
    3 declare namespace f='http://ndg.nerc.ac.uk/moles/localfunctions'; 
    46 
    5 declare function f:strip-namespace($e as element()) as element()  
    6 (: Removes namespace info from the element tree being addressed so that it will lie in the default namespace  :) 
    7 { 
    8   element {QName('', local-name($e))}   
    9   { 
    10     let $parent :=$e 
    11     let $childcount := count($parent/*) 
    12     return  
    13         if ($childcount>0) then 
    14             for $child in ($e/*) 
    15             return 
    16                 f:strip-namespace($child) 
    17         else (data($e))           
    18   } 
    19 } ; 
     7declare variable $targetCollection as xs:string {'TargetCollection'}; 
     8declare variable $repositoryIdentifier as xs:string {'RepositoryID'}; 
     9declare variable $localIdentifier as xs:string {'LocalID'}; 
    2010 
    21  
    22 for $Act in collection('/db/ndg_B_metadata')/moles:dgMetadata/moles:dgMetadataRecord[ 
     11for $Act in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord[ 
    2312        moles:dgActivity!=''  
    2413        and moles:dgMetadataID/moles:schemeIdentifier='NDG-B0'  
    25         and moles:dgMetadataID/moles:repositoryIdentifier='badc.nerc.ac.uk'  
    26         and moles:dgMetadataID/moles:localIdentifier='activity3'] 
     14        and moles:dgMetadataID/moles:repositoryIdentifier=$repositoryIdentifier 
     15        and moles:dgMetadataID/moles:localIdentifier=$localIdentifier] 
    2716return 
    28 f:strip-namespace(element dgMetadataRecord { 
     17utillib:strip-namespace(element dgMetadataRecord { 
    2918        element dgMetadataID { 
    3019                element schemeIdentifier {'NDG-B1'}, 
     
    4029                                element relatedActivity { 
    4130                                        $RelatedActivities/moles:activityRelation, 
    42                                         f:return-stub-activity('activity', data($RelatedActivities/moles:relatedActivityID/moles:repositoryIdentifier), data($RelatedActivities/moles:relatedActivityID/moles:localIdentifier)) 
     31                                        stubblib:return-stub-activity('activity', data($RelatedActivities/moles:relatedActivityID/moles:repositoryIdentifier), data($RelatedActivities/moles:relatedActivityID/moles:localIdentifier)) 
    4332                        },      (: </relatedActivity> :) 
    4433                if (exists($Act/moles:dgActivity/moles:dgActivityDataCollection)) then ($Act/moles:dgActivity/moles:dgActivityDataCollection) 
     
    5948                                                element dgRoleHolder { 
    6049                                                        if (exists($PIRole/moles:dgOrganisationID)) then  
    61                                                                 f:return-stub-organisation('organisation', data($PIRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($PIRole/moles:dgOrganisationID/moles:localIdentifier))  
     50                                                                stubblib:return-stub-organisation('organisation', data($PIRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($PIRole/moles:dgOrganisationID/moles:localIdentifier))  
    6251                                                         else if (exists($PIRole/moles:dgPersonID)) then  
    63                                                                 f:return-stub-person('person', string($PIRole/moles:dgPersonID/moles:repositoryIdentifier), string($PIRole/moles:dgPersonID/moles:localIdentifier))  
     52                                                                stubblib:return-stub-person('person', string($PIRole/moles:dgPersonID/moles:repositoryIdentifier), string($PIRole/moles:dgPersonID/moles:localIdentifier))  
    6453                                                         else (), 
    6554                                                        ($PIRole/moles:startDate), 
     
    8473                                                element dgRoleHolder { 
    8574                                                        if (exists(CIRole/moles:dgOrganisationID)) then  
    86                                                                 f:return-stub-organisation('organisation', data($CIRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($CIRole/moles:dgOrganisationID/moles:localIdentifier))  
     75                                                                stubblib:return-stub-organisation('organisation', data($CIRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($CIRole/moles:dgOrganisationID/moles:localIdentifier))  
    8776                                                         else if (exists($CIRole/moles:dgPersonID)) then  
    88                                                                 f:return-stub-person('person', string($CIRole/moles:dgPersonID/moles:repositoryIdentifier), string($CIRole/moles:dgPersonID/moles:localIdentifier))  
     77                                                                stubblib:return-stub-person('person', string($CIRole/moles:dgPersonID/moles:repositoryIdentifier), string($CIRole/moles:dgPersonID/moles:localIdentifier))  
    8978                                                         else (), 
    9079                                                        ($CIRole/moles:startDate), 
     
    10998                                        element dgRoleHolder { 
    11099                                                if (exists($TechConRole/moles:dgOrganisationID)) then  
    111                                                         f:return-stub-organisation('organisation', data($TechConRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($TechConRole/moles:dgOrganisationID/moles:localIdentifier))  
     100                                                        stubblib:return-stub-organisation('organisation', data($TechConRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($TechConRole/moles:dgOrganisationID/moles:localIdentifier))  
    112101                                                 else if (exists($TechConRole/moles:dgPersonID)) then  
    113                                                         f:return-stub-person('person', string($TechConRole/moles:dgPersonID/moles:repositoryIdentifier), string($TechConRole/moles:dgPersonID/moles:localIdentifier))  
     102                                                        stubblib:return-stub-person('person', string($TechConRole/moles:dgPersonID/moles:repositoryIdentifier), string($TechConRole/moles:dgPersonID/moles:localIdentifier))  
    114103                                                 else (), 
    115104                                            ($TechConRole/moles:startDate), 
     
    135124                                        element dgRoleHolder { 
    136125                                                if (exists($PMRole/moles:dgOrganisationID)) then  
    137                                                         f:return-stub-organisation('organisation', data($PMRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($PMRole/moles:dgOrganisationID/moles:localIdentifier))  
     126                                                        stubblib:return-stub-organisation('organisation', data($PMRole/moles:dgOrganisationID/moles:repositoryIdentifier), data($PMRole/moles:dgOrganisationID/moles:localIdentifier))  
    138127                                                 else if (exists($PMRole/moles:dgPersonID)) then  
    139                                                         f:return-stub-person('person', string($PMRole/moles:dgPersonID/moles:repositoryIdentifier), string($PMRole/moles:dgPersonID/moles:localIdentifier))  
     128                                                        stubblib:return-stub-person('person', string($PMRole/moles:dgPersonID/moles:repositoryIdentifier), string($PMRole/moles:dgPersonID/moles:localIdentifier))  
    140129                                                 else (), 
    141130                                                ($PMRole/startDate), 
     
    159148                        else (), 
    160149                        ($RelDep/moles:dgMetadataID), 
    161                         f:return-stub-dpt('dataproductiontool', data($RelDep/moles:DataProductionToolID/moles:repositoryIdentifier), data($RelDep/moles:DataProductionToolID/moles:localIdentifier)), 
    162                         f:return-stub-obsstn('observationstation', data($RelDep/moles:ObservationStationID/moles:repositoryIdentifier), data($RelDep/moles:ObservationStationID/moles:localIdentifier)), 
    163                         for $DE in collection('/db/ndg_B_metadata')/moles:dgMetadata/moles:dgMetadataRecord 
     150                        stubblib:return-stub-dpt('dataproductiontool', data($RelDep/moles:DataProductionToolID/moles:repositoryIdentifier), data($RelDep/moles:DataProductionToolID/moles:localIdentifier)), 
     151                        stubblib:return-stub-obsstn('observationstation', data($RelDep/moles:ObservationStationID/moles:repositoryIdentifier), data($RelDep/moles:ObservationStationID/moles:localIdentifier)), 
     152                        for $DE in collection($targetCollection)/moles:dgMetadata/moles:dgMetadataRecord 
    164153                                where $DE/moles:dgDataEntity/moles:RelatedDeployment/moles:dgMetadataID/moles:repositoryIdentifier=$RelDep/moles:dgMetadataID/moles:repositoryIdentifier 
    165154                                        and $DE/moles:dgDataEntity/moles:RelatedDeployment/moles:dgMetadataID/moles:localIdentifier=$RelDep/moles:dgMetadataID/moles:localIdentifier 
    166155                        return 
    167                                 f:return-stub-dataentity('dataentity', data($DE/moles:dgMetadataID/moles:repositoryIdentifier), data($DE/moles:dgMetadataID/moles:localIdentifier)) 
     156                                stubblib:return-stub-dataentity('dataentity', data($DE/moles:dgMetadataID/moles:repositoryIdentifier), data($DE/moles:dgMetadataID/moles:localIdentifier)) 
    168157                }, (: </ActivityDeployment> :) 
    169158                if (exists($Act/dgActivityCoverage)) then 
Note: See TracChangeset for help on using the changeset viewer.