Ignore:
Timestamp:
14/10/08 17:01:49 (11 years ago)
Author:
sdonegan
Message:

Updated ingest pipeline xqueries that allow proper translation of urls and datacentre names from the gamut of different dif and moles we have available....

File:
1 edited

Legend:

Unmodified
Added
Removed
  • exist/trunk/xquery/dif2moles.xq

    r3841 r4337  
    1 (: This query produces one MOLES data entity plus one organisation entry for a given DIF instance 
     1(: This query produces one MOLES data entity plus one organisation entry for a given DIF instance 
    22   Input is TargetCollection (where the DIF exists), RepositoryID, where the existing DIF lies, and 
    33   expected to be the output RepositoryID (fix it in the output xml if it's wrong), and Input_EntryID 
     
    88(: dgPersons are not created as one can't tell automatically which are people and which are orgs, and orgs are simpler :)   
    99 
     10(: 
    1011import module namespace voclib='http://ndg.nerc.ac.uk/xquery/lib/vocab' at 'xmldb:exist:///db/xqueryLib/Vocabs/vocab_xquery_lib.xquery'; 
    1112import module namespace inputParse='http://ndg.nerc.ac.uk/xquery/lib/inputParse' at 'xmldb:exist:///db/xqueryLib/Utilities/inputParse_xquery_lib.xquery'; 
     13:) 
     14import module namespace voclib='http://ndg.nerc.ac.uk/xquery/lib/vocab' at 'vocab_xquery_lib.xquery'; 
     15import module namespace inputParse='http://ndg.nerc.ac.uk/xquery/lib/inputParse' at 'inputParse_xquery_lib.xquery'; 
     16 
    1217 
    1318declare default element namespace 'http://ndg.nerc.ac.uk/moles'; 
     
    2227declare variable $output_local_id as xs:string := 'LocalID'; 
    2328 
     29(: SJD get current date and manipulate to correct format as raw current-date not useable in MOLES:) 
     30declare variable $currentDate as xs:string := substring(current-date() cast as xs:string,1,10); 
     31(:declare variable $extractDate as xs:string := substring($fullDate,1,10);:) 
     32 
     33(:for $DIF in collection(collection($targetCollection))/dif:DIF[dif:Entry_ID=$input_entry_id]:) 
    2434for $DIF in collection($targetCollection)/dif:DIF[dif:Entry_ID=$input_entry_id] 
    2535return 
     
    4353element localIdentifier {concat('generated_desc-', encode-for-uri(string($DIF/dif:Entry_ID)))} 
    4454}, 
    45 element metadataDescriptionLastUpdated {current-date()}                 , 
    46 element abstract { 
    47 element abstractText {string($DIF/dif:Summary)} 
    48 } 
    49 , 
    50 for $descOnline in $DIF/dif:Related_URL 
    51 return 
    52 element descriptionSection { 
    53 element descriptionOnlineReference { 
    54 element dgSimpleLink {encode-for-uri(data($descOnline/dif:URL))}}, 
    55 if (exists($descOnline/dif:URL_Content_Type)) then  
    56 element dgReferenceName {data($descOnline/dif:URL_Content_Type)} 
    57 else () 
    58 } 
    59 }, 
    60 element name {string($DIF/dif:Entry_Title)}, 
    61 element abbreviation {string($DIF/dif:Entry_Title)}, 
    62 element dgDataEntity { 
    63 element dgDataSetType {''}, 
    64 element dgDataSummary { 
    65 for $parameter in $DIF/dif:Parameters 
    66 return 
    67 element dgParameterSummary { 
    68 element dgParameterValue { 
    69 element dgValueDataParameter { 
    70 element Value {''}, 
    71 element dgStandardUnit { 
    72 element dgValidTerm {'dummy'}, 
    73 element dgValidTermID { 
    74 element ParentListID {$voclib:unknown_vocab_id}, 
    75 element TermID {encode-for-uri('dummy unit')} 
    76 } 
    77 } 
    78 } 
    79 }, 
    80 element dgStdParameterMeasured { 
    81 if ($parameter/dif:Category!='') then element dgValidTerm {string($parameter/dif:Category)} 
    82 else  element dgValidTerm {'unknown'}, 
    83 element dgValidTermID { 
    84 element ParentListID {concat($voclib:gcmd_science_valids_categories, '/current')}, 
    85 element TermID {encode-for-uri($parameter/dif:Category)} 
    86 }, 
    87 element dgValidSubterm { 
    88 if ($parameter/dif:Topic!='') then element dgValidTerm {string($parameter/dif:Topic)} 
    89 else  element dgValidTerm {'unknown'}, 
    90 element dgValidTermID { 
    91 element ParentListID {concat($voclib:gcmd_science_valids_topics, '/current')}, 
    92 element TermID {encode-for-uri($parameter/dif:Topic)} 
    93 }, 
    94 element dgValidSubterm { 
    95 if ($parameter/dif:Term!='') then element dgValidTerm {string($parameter/dif:Term)} 
    96 else  element dgValidTerm {'unknown'}, 
    97 element dgValidTermID { 
    98 element ParentListID {concat($voclib:gcmd_science_valids_terms, '/current')}, 
    99 element TermID {encode-for-uri($parameter/dif:Term)} 
    100 }, 
    101 if (exists($parameter/dif:Variable) and $parameter/dif:Variable!='') then 
    102 element dgValidSubterm { 
    103 element dgValidTerm {string($parameter/dif:Variable)}, 
    104 element dgValidTermID { 
    105 element ParentListID {concat($voclib:gcmd_science_valids_variables, '/current')}, 
    106 element TermID {encode-for-uri($parameter/dif:Variable)} 
    107 }, 
    108 if (exists($parameter/dif:Detailed_Variable) and $parameter/dif:Detailed_Variable!='') then 
    109 element dgValidSubterm { 
    110 element dgValidTerm {string($parameter/dif:Detailed_Variable)}, 
    111 element dgValidTermID { 
    112 element ParentListID {$voclib:unknown_vocab_id}, 
    113 element TermID {encode-for-uri($parameter/dif:Detailed_Variable)} 
    114 }, 
    115 element ListLevel {4}} 
    116 else (), 
    117 element ListLevel {3} 
    118 } 
    119 else (), 
    120 element ListLevel {2} 
    121 }, 
    122 element ListLevel {1} 
    123 }, 
    124 element ListLevel {0} 
    125 }, 
    126 element ParameterName { 
    127 concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)), 
    128 if (exists($parameter/dif:Variable) and $parameter/dif:Variable!='') then 
    129 concat(' > ', string($parameter/dif:Variable)) 
    130 else (), 
    131 if (exists($parameter/dif:Detailed_Variable) and $parameter/dif:Detailed_Variable!='') then 
    132 concat(' > ', string($parameter/dif:Detailed_Variable)) 
    133 else () 
    134 }, 
    135 element ParameterAbbreviation { 
    136 concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)), 
    137 if (exists($parameter/dif:Variable) and $parameter/dif:Variable!='') then 
    138 concat(' > ', string($parameter/dif:Variable)) 
    139 else (), 
    140 if (exists($parameter/dif:Detailed_Variable) and $parameter/dif:Detailed_Variable!='') then 
    141 concat(' > ', string($parameter/dif:Detailed_Variable)) 
    142 else () 
    143 } 
    144 }, 
     55element metadataDescriptionLastUpdated {$currentDate}                   , 
     56    element abstract { 
     57        element abstractText {string($DIF/dif:Summary)} 
     58    } 
     59    , 
     60    for $descOnline in $DIF/dif:Related_URL 
     61    return 
     62        element descriptionSection { 
     63            element descriptionOnlineReference { 
     64            element dgSimpleLink { 
     65                (:SJD changed to name picking up from Description element in DIF?? :) 
     66               (: element URL {encode-for-uri(data($descOnline/dif:URL))},:) 
     67                if (exists($descOnline/dif:Description)) then  
     68                    element name {data($descOnline/dif:Description)}, 
     69                    element URL {encode-for-uri(data($descOnline/dif:URL))} 
     70                else 
     71                    element name {data('URL')} 
     72                    (:element URL {encode-for-uri(data($descOnline/dif:URL))}:) 
     73                } }               
     74            }     
     75        }, 
     76        element name {string($DIF/dif:Entry_Title)}, 
     77        element abbreviation {string($DIF/dif:Entry_Title)}, 
     78        element dgDataEntity { 
     79        element dgDataSetType {''}, 
     80        element dgDataSummary { 
     81        for $parameter in $DIF/dif:Parameters 
     82        return 
     83            element dgParameterSummary { 
     84                element dgParameterValue { 
     85                    element dgValueDataParameter { 
     86                        element Value {''}, 
     87                        element dgStandardUnit { 
     88                            element dgValidTerm {'dummy'}, 
     89                            element dgValidTermID { 
     90                                element ParentListID {$voclib:unknown_vocab_id}, 
     91                                element TermID {encode-for-uri('dummy unit')} 
     92                            } 
     93                        } 
     94                    } 
     95                }, 
     96            element dgStdParameterMeasured { 
     97                if ($parameter/dif:Category!='') then element dgValidTerm {string($parameter/dif:Category)} 
     98                else  element dgValidTerm {'unknown'}, 
     99                    element dgValidTermID { 
     100                        element ParentListID {concat($voclib:gcmd_science_valids_categories, '/current')}, 
     101                        element TermID {encode-for-uri($parameter/dif:Category)} 
     102                    }, 
     103                    element dgValidSubterm { 
     104                        if ($parameter/dif:Topic!='') then element dgValidTerm {string($parameter/dif:Topic)} 
     105                        else  element dgValidTerm {'unknown'}, 
     106                            element dgValidTermID { 
     107                                element ParentListID {concat($voclib:gcmd_science_valids_topics, '/current')}, 
     108                                element TermID {encode-for-uri($parameter/dif:Topic)} 
     109                            }, 
     110                    element dgValidSubterm { 
     111                        if ($parameter/dif:Term!='') then element dgValidTerm {string($parameter/dif:Term)} 
     112                        else  element dgValidTerm {'unknown'}, 
     113                            element dgValidTermID { 
     114                                element ParentListID {concat($voclib:gcmd_science_valids_terms, '/current')}, 
     115                                element TermID {encode-for-uri($parameter/dif:Term)} 
     116                            }, 
     117                        if (exists($parameter/dif:Variable) and $parameter/dif:Variable!='') then 
     118                            element dgValidSubterm { 
     119                                element dgValidTerm {string($parameter/dif:Variable)}, 
     120                                element dgValidTermID { 
     121                                    element ParentListID {concat($voclib:gcmd_science_valids_variables, '/current')}, 
     122                                    element TermID {encode-for-uri($parameter/dif:Variable)} 
     123                                }, 
     124                        if (exists($parameter/dif:Detailed_Variable) and $parameter/dif:Detailed_Variable!='') then 
     125                            element dgValidSubterm { 
     126                                element dgValidTerm {string($parameter/dif:Detailed_Variable)}, 
     127                                element dgValidTermID { 
     128                                    element ParentListID {$voclib:unknown_vocab_id}, 
     129                                    element TermID {encode-for-uri($parameter/dif:Detailed_Variable)} 
     130                                }, 
     131                        element ListLevel {4}} 
     132                        else (), 
     133                        element ListLevel {3} 
     134                        } 
     135                        else (), 
     136                        element ListLevel {2} 
     137                        }, 
     138                        element ListLevel {1} 
     139                        }, 
     140                        element ListLevel {0} 
     141                        }, 
     142                element ParameterName { 
     143                    concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)), 
     144                    if (exists($parameter/dif:Variable) and $parameter/dif:Variable!='') then 
     145                    concat(' > ', string($parameter/dif:Variable)) 
     146                    else (), 
     147                    if (exists($parameter/dif:Detailed_Variable) and $parameter/dif:Detailed_Variable!='') then 
     148                    concat(' > ', string($parameter/dif:Detailed_Variable)) 
     149                    else () 
     150                }, 
     151                element ParameterAbbreviation { 
     152                    concat (string($parameter/dif:Category), ' > ', string($parameter/dif:Topic), ' > ', string($parameter/dif:Term)), 
     153                    if (exists($parameter/dif:Variable) and $parameter/dif:Variable!='') then 
     154                    concat(' > ', string($parameter/dif:Variable)) 
     155                    else (), 
     156                    if (exists($parameter/dif:Detailed_Variable) and $parameter/dif:Detailed_Variable!='') then 
     157                    concat(' > ', string($parameter/dif:Detailed_Variable)) 
     158                    else () 
     159                } 
     160            }, (: end of dgParameterSummary :) 
    145161if (exists($DIF/dif:Spatial_Coverage) or exists($DIF/dif:Paleo_Temporal_Coverage) or exists($DIF/dif:Location) or exists($DIF/dif:Temporal_Coverage)) then 
    146162element dgDataCoverage { 
    147 if (exists($DIF/dif:Spatial_Coverage)  or exists($DIF/dif:Location))  then 
    148 element dgSpatialCoverage { 
    149 for $boundingbox in $DIF/dif:Spatial_Coverage[exists(dif:Northernmost_Latitude) 
    150 and exists(dif:Southernmost_Latitude) 
    151 and exists(dif:Easternmost_Longitude) 
    152 and exists(dif:Westernmost_Longitude)] 
    153 return 
    154 element BoundingBox { 
    155 element LimitNorth {data(inputParse:fix-coord($boundingbox/dif:Northernmost_Latitude))}, 
    156 element LimitSouth {data(inputParse:fix-coord($boundingbox/dif:Southernmost_Latitude))}, 
    157 element LimitWest {data(inputParse:fix-coord($boundingbox/dif:Westernmost_Longitude))}, 
    158 element LimitEast {data(inputParse:fix-coord($boundingbox/dif:Easternmost_Longitude))} 
    159 }, 
    160 for $location in $DIF/dif:Location 
    161 return 
    162 element dgArea { 
    163 element dgValidTerm {string($location)}, 
    164 element dgValidTermID { 
    165 element ParentListID {concat($voclib:gcmd_location_valids, '/current')}, 
    166 element TermID {encode-for-uri($location)} 
    167 } 
    168 } 
    169 } 
    170 else (), 
    171 if (exists($DIF/dif:Temporal_Coverage) or exists($DIF/dif:Paleo_Temporal_Coverage) or exists($DIF/dif:Chronostratigraphic_Unit)) then 
    172 element dgTemporalCoverage { 
    173 for $temporalcoverage in $DIF/dif:Temporal_Coverage[exists(dif:Start_Date)] 
    174 return 
    175 element DateRange { 
    176 element DateRangeStart {string($temporalcoverage/dif:Start_Date)}, 
    177 element DateRangeEnd {string($temporalcoverage/dif:Stop_Date)} 
    178 }, 
    179 for $paleotemporalcoverage in $DIF/dif:Paleo_Temporal_Coverage[exists(dif:Paleo_Start_Date)] 
    180 return 
    181 element DateRange { 
    182 element DateRangeStart {string($paleotemporalcoverage/dif:Paleo_Start_Date)}, 
    183 element DateRangeEnd {string($paleotemporalcoverage/dif:Paleo_Stop_Date)} 
    184 }, 
    185 for $chronostratigraphic in $DIF/dif:Chronostratigraphic_Unit 
    186 return 
    187 element dgChronostratigraphicTerm { 
    188 element dgValidTerm {string($chronostratigraphic)}, 
    189 element dgValidTermID { 
    190 element ParentListID {concat($voclib:gcmd_chronostratigraphic_valids, '/current')}, 
    191 element TermID {encode-for-uri($chronostratigraphic)} 
    192 } 
    193 } 
    194 } 
    195 else () 
    196 } 
    197 else () 
     163    if (exists($DIF/dif:Spatial_Coverage)  or exists($DIF/dif:Location))  then 
     164    element dgSpatialCoverage { 
     165        for $boundingbox in $DIF/dif:Spatial_Coverage[exists(dif:Northernmost_Latitude) 
     166            and exists(dif:Southernmost_Latitude) 
     167            and exists(dif:Easternmost_Longitude) 
     168            and exists(dif:Westernmost_Longitude)] 
     169            return 
     170                element BoundingBox { 
     171                    element LimitNorth {data(inputParse:fix-coord($boundingbox/dif:Northernmost_Latitude))}, 
     172                    element LimitSouth {data(inputParse:fix-coord($boundingbox/dif:Southernmost_Latitude))}, 
     173                    element LimitWest {data(inputParse:fix-coord($boundingbox/dif:Westernmost_Longitude))}, 
     174                    element LimitEast {data(inputParse:fix-coord($boundingbox/dif:Easternmost_Longitude))} 
     175                }, 
     176        for $location in $DIF/dif:Location 
     177        return 
     178            element dgArea { 
     179                element dgValidTerm {string($location)}, 
     180                element dgValidTermID { 
     181                element ParentListID {concat($voclib:gcmd_location_valids, '/current')}, 
     182                element TermID {encode-for-uri($location)} 
     183            } 
     184        } 
     185    } 
     186    else (), 
     187    if (exists($DIF/dif:Temporal_Coverage) or exists($DIF/dif:Paleo_Temporal_Coverage) or exists($DIF/dif:Chronostratigraphic_Unit)) then 
     188        element dgTemporalCoverage { 
     189               for $temporalcoverage in $DIF/dif:Temporal_Coverage[exists(dif:Start_Date)] 
     190        return 
     191            element DateRange { 
     192                element DateRangeStart {string($temporalcoverage/dif:Start_Date)}, 
     193                element DateRangeEnd {string($temporalcoverage/dif:Stop_Date)} 
     194            }, 
     195            for $paleotemporalcoverage in $DIF/dif:Paleo_Temporal_Coverage[exists(dif:Paleo_Start_Date)] 
     196            return 
     197                element DateRange { 
     198                element DateRangeStart {string($paleotemporalcoverage/dif:Paleo_Start_Date)}, 
     199                element DateRangeEnd {string($paleotemporalcoverage/dif:Paleo_Stop_Date)} 
     200                }, 
     201            for $chronostratigraphic in $DIF/dif:Chronostratigraphic_Unit 
     202            return 
     203                element dgChronostratigraphicTerm { 
     204                    element dgValidTerm {string($chronostratigraphic)}, 
     205                        element dgValidTermID { 
     206                            element ParentListID {concat($voclib:gcmd_chronostratigraphic_valids, '/current')}, 
     207                            element TermID {encode-for-uri($chronostratigraphic)} 
     208                        } 
     209                     } 
     210                } 
     211            else () 
     212        } 
     213    else () 
    198214}, 
    199215element dgDataRoles { 
     
    213229return 
    214230element dgRoleHolder { 
    215 element dgMetadataID { 
    216 element schemeIdentifier {'NDG-B0'}, 
    217 element repositoryIdentifier {$input_repository}, 
    218 if ($output_local_id != 'Output_LocalID') then 
    219 element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creatorID), '-', $output_local_id))} 
    220 else 
    221 element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creatorID), '-', data($DIF/dif:Entry_ID)))} 
    222 }, 
    223 element startDate {current-date()} 
    224 } 
     231(: SJD changed this to dgOrganisationID from dgMetadataID - assuming simple error :) 
     232    element dgOrganisationID { 
     233        element schemeIdentifier {'NDG-B0'}, 
     234        element repositoryIdentifier {$input_repository}, 
     235        if ($output_local_id != 'Output_LocalID') then 
     236            element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creatorID), '-', $output_local_id))} 
     237        else 
     238            element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creatorID), '-', data($DIF/dif:Entry_ID)))} 
     239        }, 
     240       element startDate {current-date()} 
     241    } 
    225242} 
    226243else if (exists($DIF/dif:Originating_Center)) then 
     
    252269else (), 
    253270element dgDataCurator { 
    254 element dgMetadataID { 
    255 element schemeIdentifier {'NDG-B0'}, 
    256 element repositoryIdentifier {$input_repository}, 
    257 if ($output_local_id != 'Output_LocalID') then 
    258 element localIdentifier  {encode-for-uri(concat('generated_curator-', $output_local_id))} 
    259 else 
    260 element localIdentifier  {encode-for-uri(concat('generated_curator-', data($DIF/dif:Entry_ID)))} 
    261 }, 
    262 element roleName {'Data Curator'}, 
    263 element abbreviation {'Curator'}, 
    264 element dgRoleHolder { 
    265 element dgOrganisationID { 
    266 element schemeIdentifier {'NDG-B0'}, 
    267 element repositoryIdentifier {$input_repository}, 
    268 element localIdentifier {$input_repository_local} 
    269 }, 
    270 element startDate {current-date()} 
     271    element dgMetadataID { 
     272        element schemeIdentifier {'NDG-B0'}, 
     273        element repositoryIdentifier {$input_repository}, 
     274        if ($output_local_id != 'Output_LocalID') then 
     275            element localIdentifier  {encode-for-uri(concat('generated_curator-', $output_local_id))} 
     276        else 
     277            element localIdentifier  {encode-for-uri(concat('generated_curator-', data($DIF/dif:Entry_ID)))} 
     278    }, 
     279    element roleName {'Data Curator'}, 
     280    element abbreviation {'Curator'}, 
     281    element dgRoleHolder { 
     282        element dgOrganisationID { 
     283            element schemeIdentifier {'NDG-B0'}, 
     284            element repositoryIdentifier {$input_repository}, 
     285            (:SJD this not valid - just use same localIdentifier as above..:) 
     286            (:element localIdentifier {$input_repository_local}:) 
     287            if ($output_local_id != 'Output_LocalID') then 
     288            element localIdentifier  {encode-for-uri(concat('generated_curator-', $output_local_id))} 
     289            else 
     290            element localIdentifier  {encode-for-uri(concat('generated_curator-', data($DIF/dif:Entry_ID)))} 
     291        }, 
     292    element startDate {current-date()} 
    271293} 
    272294} 
     
    331353else () 
    332354} (: </dgMetadataRecord>:), 
    333 for $creator in distinct-values($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center)) 
     355 
     356(: Had to add some stuff here so originating data centre stuff is picked up  
     357for $bum in distinct-values($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center | dif:Data_Center)) 
    334358return 
    335 element dgOrganisation { 
    336 element dgMetadataID { 
    337 element schemeIdentifier {'NDG-B0'}, 
    338 element repositoryIdentifier {$input_repository}, 
    339 if ($output_local_id != 'Output_LocalID') then 
    340 element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creator), '-', $output_local_id))} 
    341 else 
    342 element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creator), '-', data($DIF/dif:Entry_ID)))} 
    343 }, 
    344 element name {string($creator)}, 
    345 element abbreviation {string($creator)}, 
    346 element contactDetails {''} 
    347 } 
     359    element snooze {data('arse')}, 
     360 
     361:) 
     362 
     363if (count(distinct-values($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center ))) !=0) then 
     364    for $creator in distinct-values($DIF/(dif:Data_Set_Citation/dif:Dataset_Creator | dif:Originating_Center )) 
     365    return 
     366        element dgOrganisation{ 
     367            element dgMetadataID { 
     368                element schemeIdentifier {'NDG-B0'}, 
     369                element repositoryIdentifier {$input_repository}, 
     370                if ($output_local_id != 'Output_LocalID') then 
     371                    element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creator), '-', $output_local_id))} 
     372                else 
     373                    element localIdentifier  {encode-for-uri(concat('generated_orgcit-', string($creator), '-', data($DIF/dif:Entry_ID)))} 
     374                }, 
     375                element name {string($creator)}, 
     376                element abbreviation {string($creator)}, 
     377                element contactDetails {''} 
     378        } 
     379 else 
     380     element dgOrganisation{ 
     381         element dgMetadataID { 
     382                element schemeIdentifier {'NDG-B0'}, 
     383                element repositoryIdentifier {$input_repository},                 
     384               if ($output_local_id != 'Output_LocalID') then 
     385                   element localIdentifier {concat('generated_desc-', $output_local_id)} 
     386               else 
     387                   element localIdentifier {concat('generated_desc-', encode-for-uri(string($DIF/dif:Entry_ID)))} 
     388               }, 
     389                element name {data($DIF/dif:Data_Center/dif:Data_Center_Name/dif:Long_Name)}, 
     390                element abbreviation {data($DIF/dif:Data_Center/dif:Data_Center_Name/dif:Short_Name)}, 
     391                element contactDetails {''} 
     392     } 
     393  
    348394} (:    </dgMetadata> :) 
     395 
Note: See TracChangeset for help on using the changeset viewer.