source: Document_handling/trunk/XSLT/dif_to_ndg.xsl @ 219

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/Document_handling/trunk/XSLT/dif_to_ndg.xsl@219
Revision 219, 8.1 KB checked in by selatham, 15 years ago (diff)

* empty log message *

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- An XSLT transformation to create a skeleton NDG MetadataModel DataEntity document from an existing GCMD DIF record.
3      Do not run this if an NDG MDM document already exists!
4       If the original document contains just "DIF" a skeleton NDG MDM document is created with all mandatory fields but no content.
5      Author - Sue Latham 01/06/2004
6-->
7<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
8        <xsl:output method="xml" encoding="UTF-8" doctype-system="M:\Nerc DataGrid\MetaDataModel\20040601_acsoe\20040601_ndgmetadata.xsd" indent="yes" />
9      <xsl:template match="/">
10                <xsl:apply-templates/>
11        </xsl:template>
12        <xsl:template match="DIF">
13                 <dgMetadata>
14                         <dgMetadataRecord>
15                                     <dgMetadataID>
16                                         <repositoryIdentifier> 
17                                                <xsl:value-of  select="substring-before(Entry_ID,':')"/>
18                                         </repositoryIdentifier>
19                                         <localIdentifier>     
20                                                <xsl:value-of select="substring-after(Entry_ID,':')"/>
21                                         </localIdentifier>                                             
22                                     </dgMetadataID>
23                                     <dgMetadataDescription>
24                                                <metadataDescriptionID>
25                                                         <repositoryIdentifier> 
26                                                         </repositoryIdentifier>
27                                                         <localIdentifier>     
28                                                         </localIdentifier>                                             
29                                                </metadataDescriptionID>
30                                                <metadataDescriptionLastUpdated>
31                                                        <xsl:choose>
32                                                                <xsl:when test="count(Last_DIF_Revision_Date)=0">1900-01-01T12:00:00</xsl:when>
33                                                                <xsl:otherwise>
34                                                                        <xsl:value-of  select="concat(Last_DIF_Revision_Date,'T12:00:00')"/>
35                                                                </xsl:otherwise>
36                                                        </xsl:choose>
37                                                </metadataDescriptionLastUpdated>
38                                                <abstract>
39                                                        <abstractText>
40                                                                <xsl:value-of select="Summary"></xsl:value-of>
41                                                        </abstractText> 
42                                               </abstract>
43                                </dgMetadataDescription>
44                             <name>
45                                        <xsl:value-of select="Entry_Title"/>
46                             </name>
47                             <abbreviation>     
48                             </abbreviation>
49                             <dgDataEntity>
50                                <dgDataSetType> 
51                                </dgDataSetType>
52                                <dgDataObjectType>     
53                                </dgDataObjectType>
54                                <dgDataGranule> 
55                                        <dataModelID>
56                                                <xsl:value-of select="Data_Center/Data_Set_ID"/>
57                                        </dataModelID>
58                                </dgDataGranule>
59                                <dgDataSummary> 
60                                        <xsl:for-each select="Parameters">
61                                                <dgParameterSummary>   
62                                                        <dgStandardUnit>       
63                                                                <dgValidTerm>   
64                                                                </dgValidTerm>
65                                                                <dgValidTermID>
66                                                                        <ParentListID>
67                                                                        </ParentListID>
68                                                                        <TermID><xsl:number  value="1"/></TermID>
69                                                                </dgValidTermID>
70                                                        </dgStandardUnit>
71                                                        <IsOutput>true</IsOutput>
72                                                        <dgRangeDataParameter> 
73                                                                <HighValue></HighValue>
74                                                                <LowValue></LowValue>                                           
75                                                        </dgRangeDataParameter>                                         
76                                                        <dgStdParameterMeasured>
77                                                                <dgValidTerm>   
78                                                                        <xsl:value-of select="Category"/>
79                                                                </dgValidTerm>
80                                                                <dgValidTermID>
81                                                                        <ParentListID>http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html</ParentListID>
82                                                                        <TermID><xsl:number  value="1"/></TermID>
83                                                                </dgValidTermID>
84                                                                <dgValidSubterm>
85                                                                        <dgValidTerm>   
86                                                                                <xsl:value-of select="Topic"/>
87                                                                        </dgValidTerm>
88                                                                        <dgValidTermID>
89                                                                                <ParentListID>http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html</ParentListID>
90                                                                                <TermID><xsl:number  value="1"/></TermID>
91                                                                        </dgValidTermID>
92                                                                                <dgValidSubterm>
93                                                                                        <dgValidTerm>   
94                                                                                                <xsl:value-of select="Term"/>
95                                                                                        </dgValidTerm>
96                                                                                        <dgValidTermID>
97                                                                                                <ParentListID>http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html</ParentListID>
98                                                                                                <TermID><xsl:number  value="1"/></TermID>
99                                                                                        </dgValidTermID>
100                                                                                        <dgValidSubterm>
101                                                                                                <dgValidTerm>   
102                                                                                                        <xsl:value-of select="Variable"/>
103                                                                                                </dgValidTerm>
104                                                                                                <dgValidTermID>
105                                                                                                        <ParentListID>http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html</ParentListID>
106                                                                                                        <TermID><xsl:number  value="1"/></TermID>
107                                                                                                </dgValidTermID>                                                                                                                               
108                                                                                                <ListLevel>4</ListLevel>
109                                                                                        </dgValidSubterm>                                                                               
110                                                                                        <ListLevel>3</ListLevel>
111                                                                                </dgValidSubterm>
112                                                                        <ListLevel>2</ListLevel>
113                                                                </dgValidSubterm>
114                                                                <ListLevel>1</ListLevel>
115                                                        </dgStdParameterMeasured>
116                                                        <ParameterName>
117                                                                <xsl:value-of select="Detailed_Variable"/>
118                                                        </ParameterName>
119                                                        <ParameterAbbreviation>
120                                                                <xsl:value-of select="Detailed_Variable"/>
121                                                        </ParameterAbbreviation>
122                                                </dgParameterSummary>
123                                        </xsl:for-each> 
124                                        <!-- where there are no parameters in the DIf create one empty dgParameterSummary -->
125                                        <xsl:if test="count(Parameters)=0">
126                                                <dgParameterSummary>   
127                                                        <dgStandardUnit>       
128                                                                <dgValidTerm>   
129                                                                </dgValidTerm>
130                                                                <dgValidTermID>
131                                                                        <ParentListID>
132                                                                        </ParentListID>
133                                                                        <TermID><xsl:number  value="1"/></TermID>
134                                                                </dgValidTermID>
135                                                        </dgStandardUnit>
136                                                        <IsOutput>true</IsOutput>
137                                                        <dgRangeDataParameter> 
138                                                                <HighValue></HighValue>
139                                                                <LowValue></LowValue>                                           
140                                                        </dgRangeDataParameter> 
141                                                        <dgStdParameterMeasured>
142                                                                <dgValidTerm>   
143                                                                        <xsl:value-of select="Category"/>
144                                                                </dgValidTerm>
145                                                                <dgValidTermID>
146                                                                        <ParentListID>http://gcmd.gsfc.nasa.gov/Resources/valids/gcmd_parameters.html</ParentListID>
147                                                                        <TermID><xsl:number  value="1"/></TermID>
148                                                                </dgValidTermID>
149                                                        </dgStdParameterMeasured>
150                                                        <ParameterName></ParameterName>
151                                                        <ParameterAbbreviation></ParameterAbbreviation>
152                                                </dgParameterSummary>                           
153                                        </xsl:if>
154                                </dgDataSummary>
155                                <dgDataRoles>
156                                        <dgDataCurator> 
157                                                <dgMetadataID> 
158                                                         <repositoryIdentifier> 
159                                                        </repositoryIdentifier>
160                                                        <localIdentifier>       
161                                                        </localIdentifier>     
162                                                </dgMetadataID>
163                                                <roleName>Data Curator</roleName>
164                                                <abbreviation>DC</abbreviation>
165                                                <contactDetails>
166                                                        <eMail><xsl:value-of select="Data_Center/Personnel/Email"></xsl:value-of></eMail>
167                                                        <fax><xsl:value-of select="Data_Center/Personnel/Fax"></xsl:value-of></fax>
168                                                        <telephone><xsl:value-of select="Data_Center/Personnel/Phone"></xsl:value-of></telephone>
169                                                        <address>
170                                                                <addressline><xsl:value-of select="Data_Center/Personnel/Address"></xsl:value-of></addressline>
171                                                                <city></city>
172                                                                <postcode></postcode>
173                                                                <country></country>                                                             
174                                                        </address>
175                                                        <URI><xsl:value-of select="Data_Center/Data_Center_URL"></xsl:value-of></URI>
176                                                </contactDetails>
177                                        </dgDataCurator>
178                                </dgDataRoles>
179                             </dgDataEntity>
180                             <xsl:for-each select="Keyword">
181                                     <dgStructuredKeyword>     
182                                        <dgValidTerm><xsl:value-of select="."/>
183                                        </dgValidTerm>
184                                        <dgValidTermID>
185                                                <ParentListID>http://gcmd.gsfc.nasa.gov/Resources/valids/keyword_list.html</ParentListID>
186                                                <TermID><xsl:number  value="1"/></TermID>
187                                        </dgValidTermID>       
188                                     </dgStructuredKeyword>                 
189                                </xsl:for-each>
190                                <xsl:if test="count(Keyword) = 0">
191                                         <dgStructuredKeyword> 
192                                                <dgValidTerm></dgValidTerm>
193                                                <dgValidTermID>
194                                                        <ParentListID></ParentListID>
195                                                        <TermID>1</TermID>
196                                                </dgValidTermID>       
197                                         </dgStructuredKeyword>         
198                                </xsl:if>                     
199                         </dgMetadataRecord>
200                   </dgMetadata>
201        </xsl:template>   
202<!--    <xsl:apply-templates select="Entry_ID"/>
203        </xsl:template>
204        <xsl:template match="Entry_ID">
205       </xsl:template> -->
206</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.