Changeset 238


Ignore:
Timestamp:
04/05/05 10:29:00 (15 years ago)
Author:
selatham
Message:

Go to DIF V9.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Document_handling/trunk/XSLT/ndg_to_dif.xsl

    r234 r238  
    33     document. This contains a DataEntity and associated first level entities. 
    44     (The B-stub is created with a separate xquery). 
    5       
     5 
    66     Author - Sue Latham 01/03/2004 
    77     Updated 01/09/2004 - New version(1.1) of NDG_B schema and change to using B-stub. 
     
    1010     Updated 24/03/2005 - Bug fix for Listlevel, include 'B, no A' situation. 
    1111     Updated 15/04/2005 - Use correct schemeIdentifier of 'DIF' 
     12     Updated 29/04/2005 - Create DIF V9 records (rather than V8 as before). 
    1213 
    1314    Copyright (C) 2005 CCLRC & NERC( Natural Environment Research Council ). 
     
    1718<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    1819        <xsl:output method="xml" encoding="UTF-8"  indent="yes"/> 
    19          
     20 
    2021        <!-- Keys not really needed when using B-Stub as input. So comment this bit out. 
    2122        <xsl:key name="dgMetadatakey" match="//dgMetadata/dgMetadataRecord" use="concat(dgMetadataID/repositoryIdentifier, dgMetadataID/localIdentifier)"/> 
     
    7475                                </xsl:choose> 
    7576                        </xsl:for-each> 
    76  
     77                         
    7778                        <!-- Pick out only hierarchy's of the GCMD terms. Only created if a top level GCMD term appears first. --> 
    7879                        <xsl:for-each select="dgDataSummary/dgParameterSummary/dgStdParameterMeasured"> 
    7980                                        <xsl:if test="(./ListLevel = 0 ) and (./dgValidTermID/ParentListID = 'http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html' )"> 
    8081                                                <Parameters> 
    81                                                 <Category>      <xsl:value-of select="./dgValidTerm"/></Category>        
     82                                                <Category>      <xsl:value-of select="./dgValidTerm"/></Category> 
    8283                                                <Topic> 
    8384                                                        <xsl:choose> 
    84                                                         <xsl:when test="(./dgValidSubterm/ListLevel = 1 ) and 
     85                                                        <xsl:when test="(./dgValidSubterm/ListLevel = 1 ) and  
    8586                                                        (./dgValidSubterm/dgValidTermID/ParentListID = 'http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html' )"> 
    8687                                                                <xsl:value-of select="./dgValidSubterm/dgValidTerm"/> 
     
    8889                                                        <xsl:otherwise>Unknown Topic</xsl:otherwise> 
    8990                                                        </xsl:choose> 
    90                                                 </Topic> 
     91                                                </Topic>         
    9192                                                <Term> 
    9293                                                        <xsl:choose> 
    93                                                         <xsl:when test="(./dgValidSubterm/dgValidSubterm/ListLevel = 2 ) and  
     94                                                        <xsl:when test="(./dgValidSubterm/dgValidSubterm/ListLevel = 2 ) and 
    9495                                                        (./dgValidSubterm/dgValidSubterm/dgValidTermID/ParentListID = 'http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html' )"> 
    9596                                                                <xsl:value-of select="./dgValidSubterm/dgValidSubterm/dgValidTerm"/> 
     
    9798                                                        <xsl:otherwise>Unknown Term</xsl:otherwise> 
    9899                                                        </xsl:choose> 
    99                                                 </Term>  
     100                                                </Term> 
    100101                                                <xsl:if test="./dgValidSubterm/dgValidSubterm/dgValidSubterm"> 
    101102                                                        <Variable> 
     
    105106                                                                <xsl:value-of select="../ParameterName"/> 
    106107                                                        </Detailed_Variable> 
    107                                                 </xsl:if>        
     108                                                </xsl:if> 
    108109                                                </Parameters> 
    109110                                        </xsl:if> 
    110111                        </xsl:for-each> 
    111                          
     112 
     113                        <!-- Get the ISO topic category stuff out --> 
     114                        <xsl:for-each select="following-sibling::dgStructuredKeyword"> 
     115                                        <xsl:if test="./dgValidTermID/ParentListID = 'ISO 19115 Topic Category'"> 
     116                                                        <ISO_Topic_Category> 
     117                                                                <xsl:value-of select="./dgValidTerm"/> 
     118                                                        </ISO_Topic_Category> 
     119                                        </xsl:if> 
     120                        </xsl:for-each> 
     121                         
     122                        <xsl:for-each select="dgDataSummary/dgDataCoverage/dgTemporalCoverage/DateRange"> 
     123                                        <Temporal_Coverage> 
     124                                        <Start_Date><xsl:value-of select="./DateRangeStart"></xsl:value-of></Start_Date> 
     125                                        <Stop_Date><xsl:value-of select="./DateRangeEnd"></xsl:value-of></Stop_Date> 
     126                                </Temporal_Coverage> 
     127                        </xsl:for-each> 
     128                        <xsl:for-each select="dgDataSummary/dgDataCoverage/dgSpatioTemporalCoverage/dgSpatioTemporalRange/dgTemporalCoverage/DateRange"> 
     129                                        <Temporal_Coverage> 
     130                                        <Start_Date><xsl:value-of select="./DateRangeStart"></xsl:value-of></Start_Date> 
     131                                        <Stop_Date><xsl:value-of select="./DateRangeEnd"></xsl:value-of></Stop_Date> 
     132                                </Temporal_Coverage> 
     133                        </xsl:for-each> 
     134 
    112135                        <!-- Put in temporal and spatial coverage--> 
    113136                        <xsl:for-each select="dgDataSummary/dgDataCoverage/dgSpatialCoverage/BoundingBox"> 
     
    116139                                        <Northernmost_Latitude><xsl:value-of select="./LimitNorth"></xsl:value-of></Northernmost_Latitude> 
    117140                                        <Westernmost_Longitude><xsl:value-of select="./LimitWest"></xsl:value-of></Westernmost_Longitude> 
    118                                         <Easternmost_Longitude><xsl:value-of select="./LimitEast"></xsl:value-of></Easternmost_Longitude> 
    119                                 </Spatial_Coverage>                      
     141                                        <Easternmost_Longitude><xsl:value-of select="./LimitEast"></xsl:value-of></Easternmost_Longitude>                                
     142                                </Spatial_Coverage> 
    120143                        </xsl:for-each> 
    121144                        <xsl:for-each select="dgDataSummary/dgDataCoverage/dgSpatioTemporalCoverage/dgSpatioTemporalRange/dgSpatialCoverage/BoundingBox"> 
     
    124147                                        <Northernmost_Latitude><xsl:value-of select="./LimitNorth"></xsl:value-of></Northernmost_Latitude> 
    125148                                        <Westernmost_Longitude><xsl:value-of select="./LimitWest"></xsl:value-of></Westernmost_Longitude> 
    126                                         <Easternmost_Longitude><xsl:value-of select="./LimitEast"></xsl:value-of></Easternmost_Longitude> 
    127                                 </Spatial_Coverage>                      
    128                         </xsl:for-each> 
    129  
    130  
    131                         <xsl:for-each select="dgDataSummary/dgDataCoverage/dgTemporalCoverage/DateRange"> 
    132                                         <Temporal_Coverage> 
    133                                         <Start_Date><xsl:value-of select="./DateRangeStart"></xsl:value-of></Start_Date> 
    134                                         <Stop_Date><xsl:value-of select="./DateRangeEnd"></xsl:value-of></Stop_Date> 
    135                                 </Temporal_Coverage> 
    136                         </xsl:for-each> 
    137                         <xsl:for-each select="dgDataSummary/dgDataCoverage/dgSpatioTemporalCoverage/dgSpatioTemporalRange/dgTemporalCoverage/DateRange"> 
    138                                         <Temporal_Coverage> 
    139                                         <Start_Date><xsl:value-of select="./DateRangeStart"></xsl:value-of></Start_Date> 
    140                                         <Stop_Date><xsl:value-of select="./DateRangeEnd"></xsl:value-of></Stop_Date> 
    141                                 </Temporal_Coverage> 
    142                         </xsl:for-each> 
     149                                        <Easternmost_Longitude><xsl:value-of select="./LimitEast"></xsl:value-of></Easternmost_Longitude>                                
     150                                </Spatial_Coverage> 
     151                        </xsl:for-each> 
     152 
    143153 
    144154                        <xsl:for-each select="RelatedDeployment"> 
     
    212222                                                                <First_Name></First_Name> 
    213223                                                                <Last_Name></Last_Name> 
    214                                                                 <Email><xsl:value-of select="following::contactDetails/eMail"/></Email> 
    215                                                                 <Phone><xsl:value-of select="following::contactDetails/telephone"/></Phone> 
    216                                                                 <FAX><xsl:value-of select="following::contactDetails/fax"/></FAX> 
    217                                                                 <Address><xsl:value-of select="following::contactDetails/address"/></Address> 
     224                                                                <Email><xsl:value-of select="preceding::contactDetails/eMail"/></Email> 
     225                                                                <Phone><xsl:value-of select="preceding::contactDetails/telephone"/></Phone> 
     226                                                                <FAX><xsl:value-of select="preceding::contactDetails/fax"/></FAX> 
     227                                                                <Contact_Address> 
     228                                                                        <xsl:for-each select="preceding::contactDetails/address/addressline"> 
     229                                                                                <Address><xsl:value-of select="."/></Address> 
     230                                                                        </xsl:for-each> 
     231                                                                        <City><xsl:value-of select="preceding::contactDetails/address/city"/></City> 
     232                                                                        <Postal_Code><xsl:value-of select="preceding::contactDetails/address/postcode"/></Postal_Code> 
     233                                                                        <Country><xsl:value-of select="preceding::contactDetails/address/country"/></Country> 
     234                                                                </Contact_Address>                                                       
    218235                                                        </Personnel> 
    219236                                                </Data_Center> 
     
    221238                                </xsl:choose> 
    222239                        </xsl:for-each> 
    223  
     240                         
    224241                        <Summary> 
    225242                                <xsl:value-of select="preceding-sibling::dgMetadataDescription/abstract/abstractText"/> 
    226243                        </Summary> 
    227  
     244                         
    228245                        <Related_URL> 
    229246                                <URL_Content_Type>NDG_B_SERVICE</URL_Content_Type> 
     
    233250                                <Description>The NDG service for browsing metadata.</Description> 
    234251                        </Related_URL> 
    235  
     252                         
    236253                        <!-- work out what, if any, A service is available. Have to look at 'scheme' part if datasetID --> 
    237254                        <xsl:for-each select="//dgMetadataRecord/dgDataEntity/dgDataGranule"> 
     
    261278                                </xsl:choose> 
    262279                        </xsl:for-each> 
    263         </xsl:template> 
     280                        <Metadata_Name>CEOS IDN DIF</Metadata_Name> 
     281                        <Metadata_Version>9.4</Metadata_Version> 
     282        </xsl:template> 
     283 
     284         
    264285        <xsl:template match="DataProvenance"> 
    265286                <xsl:if test="./RecordCreation"> 
Note: See TracChangeset for help on using the changeset viewer.