Changeset 2077 for TI07-MOLES/trunk/DIF


Ignore:
Timestamp:
30/01/07 11:26:29 (13 years ago)
Author:
ko23
Message:

XQuery refactoring process - part one...

Location:
TI07-MOLES/trunk/DIF/XQuery
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TI07-MOLES/trunk/DIF/XQuery/DIF2MOLES.xquery

    r2064 r2077  
    22(: Note algoritm for creating non-pre-existing organisations :) 
    33(: dgPersons are not created as one can't tell automatically which are people and which are orgs, and orgs are simpler :)   
    4  
     4import module namespace voclib='http://ndg.nerc.ac.uk/xquery/lib/vocab' at 'xmldb:exist:///db/xqueryLib/Vocabs/vocab_xquery_lib.xquery'; 
    55declare default element namespace 'http://ndg.nerc.ac.uk/moles'; 
    66declare namespace dif='http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/'; 
     
    1313declare variable $input_entry_id as xs:string {'Input_Entry_ID'}; 
    1414declare variable $output_local_id as xs:string {'Output_LocalID'}; 
    15 (: Vocab stubs :) 
    16 declare variable $unknown_vocab_id as xs:string {'http://vocab.ndg.nerc.ac.uk/null'}; 
    17 declare variable $bodc_parameter_discovery_vocab as xs:string {'http://vocab.ndg.nerc.ac.uk/P021'}; 
    18 declare variable $cf_standard_names as xs:string {'http://vocab.ndg.nerc.ac.uk/P071'}; 
    19 declare variable $gcmd_science_valids as xs:string {'http://vocab.ndg.nerc.ac.uk/P041'}; 
    20 declare variable $gcmd_project_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/projects.html'}; 
    21 declare variable $gcmd_location_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/locations.html'}; 
    22 declare variable $gcmd_paleotemporal_valids as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/paleotemporal.html'}; 
    23 declare variable $gcmd_iso_topic_list as xs:string {'http://gcmd.gsfc.nasa.gov/Resources/valids/iso_topic_list.html'}; 
    24 declare variable $iso_topic_list as xs:string {'http://vocab.ndg.nerc.ac.uk/P051'}; 
    25 declare variable $ndg_data_provider_vocab as xs:string {'http://vocab.ndg.nerc.ac.uk/N010'}; 
    2615 
    2716declare function f:fix-coord($e as element()) as element()  
     
    4837} ; 
    4938 
    50 declare function f:spot-vocab($vocab_root as xs:string, $vocab_uri as xs:string) as xs:boolean  
    51 (: See if the vocab pointed if from the vocab pointed at by the vocab_root :) 
    52 { 
    53 if ($vocab_root = substring($vocab_uri, 1, string-length($vocab_root))) then   
    54         true() 
    55 else 
    56         false() 
    57 } ; 
    58  
    5939for $DIF in collection($input_collection)/dif:DIF[dif:Entry_ID=$input_entry_id] 
    6040return 
     
    9777                                                                        element dgValidTerm {'dummy'}, 
    9878                                                                        element dgValidTermID { 
    99                                                                                 element ParentListID {$unknown_vocab_id}, 
     79                                                                                element ParentListID {$voclib:unknown_vocab_id}, 
    10080                                                                                element TermID {escape-uri('dummy unit', true())} 
    10181                                                                        } 
     
    11494                                                        }, 
    11595                                                                element dgValidTermID { 
    116                                                                         element ParentListID {$gcmd_science_valids}, 
     96                                                                        element ParentListID {$voclib:gcmd_science_valids}, 
    11797                                                                        element TermID {escape-uri($parameter/dif:Category, true())} 
    11898                                                                } 
     
    157137                                                                                element dgValidTerm {string($location)}, 
    158138                                                                                element dgValidTermID { 
    159                                                                                         element ParentListID {$gcmd_location_valids}, 
     139                                                                                        element ParentListID {$voclib:gcmd_location_valids}, 
    160140                                                                                        element TermID {escape-uri($location, true())} 
    161141                                                                                } 
     
    182162                                                                                element dgValidTerm {string($chronostratigraphic)}, 
    183163                                                                                element dgValidTermID { 
    184                                                                                         element ParentListID {$gcmd_paleotemporal_valids}, 
     164                                                                                        element ParentListID {$voclib:gcmd_paleotemporal_valids}, 
    185165                                                                                        element TermID {escape-uri($chronostratigraphic, true())} 
    186166                                                                                } 
     
    270250                        element dgValidTerm {'d2b converted record'}, 
    271251                        element dgValidTermID { 
    272                                 element ParentListID {$unknown_vocab_id}, 
    273                                 element TermID {'d2b'} 
     252                                element ParentListID {$voclib:unknown_vocab_id}, 
     253                                element TermID {'d2b' 
    274254                        } 
    275255                }, 
     
    279259                                element dgValidTerm {$structuredKeywords}, 
    280260                                element dgValidTermID { 
    281                                         element ParentListID {$unknown_vocab_id}, 
     261                                        element ParentListID {$voclib:unknown_vocab_id}, 
    282262                                        element TermID {escape-uri($structuredKeywords, true())} 
    283263                                } 
     
    288268                                element dgValidTerm {string($structuredKeywords)}, 
    289269                                element dgValidTermID { 
    290                                         element ParentListID {$gcmd_iso_topic_list}, 
     270                                        element ParentListID {$voclib:gcmd_iso_topic_list}, 
    291271                                        element TermID {escape-uri($structuredKeywords, true())} 
    292272                                } 
  • TI07-MOLES/trunk/DIF/XQuery/NDG-DIF.xquery

    r2056 r2077  
     1import module namespace voclib='http://ndg.nerc.ac.uk/xquery/lib/vocab' at 'xmldb:exist:///db/xqueryLib/Vocabs/vocab_xquery_lib.xquery'; 
    12declare default element namespace 'http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/'; 
    23declare namespace xsi='http://www.w3.org/2001/XMLSchema-instance';  
     
    1011        and moles:dgMetadataID/moles:localIdentifier='HGFS3751'] 
    1112return 
    12     element DIF { 
     13element DIF { 
    1314        attribute xsi:schemaLocation {'http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif_v9.4.xsd'}, 
    14         element Entry_ID {concat($DE/moles:dgMetadataID/moles:repositoryIdentifier, ':DIF:', $DE/moles:dgMetadataID/moles:localIdentifier)}, 
     15        element Entry_ID {concat($DE/moles:dgMetadataID/moles:repositoryIdentifier, '__DIF__', $DE/moles:dgMetadataID/moles:localIdentifier)}, 
    1516        element Entry_Title {string($DE/moles:name)}, 
    1617        element Data_Set_Citation { 
     
    2930            element Dataset_Title {string($DE/moles:name)} 
    3031        }, 
    31         for $StructuredKeyword in ($DE//(moles:dgStructuredKeyword | moles:dgStdParameterMeasured)[moles:dgValidTermID/moles:ParentListID='http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html' and moles:ListLevel = 0]) 
     32        for $StructuredKeyword in ($DE//(moles:dgStructuredKeyword | moles:dgStdParameterMeasured)[voclib:spot-vocab($voclib:gcmd_science_valids, moles:dgValidTermID/moles:ParentListID) and moles:ListLevel = 0]) 
    3233                return if (exists($StructuredKeyword/*/moles:dgValidTerm)) then  
    3334                    element Parameters { 
     
    165166                        for $DGID in $DE/moles:dgDataEntity/moles:dgDataGranule/moles:dataModelID 
    166167                        return  
    167                             element Data_Set_ID {concat($DGID/moles:repositoryIdentifier, ':', $DGID/moles:schemeIdentifier, ':', $DGID/moles:localIdentifier)}, 
     168                            element Data_Set_ID {concat($DGID/moles:repositoryIdentifier, '__', $DGID/moles:schemeIdentifier, '__', $DGID/moles:localIdentifier)}, 
    168169                        element  Personnel { 
    169170                                element Role {'Data Center Contact'}, 
Note: See TracChangeset for help on using the changeset viewer.