source: Document_handling/trunk/XSLT/convert_to_BV1_02.xsl @ 236

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

Conversion to NGDB V1.02.01 and fixed ListLevels?.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
RevLine 
[236]1<?xml version="1.0" encoding="UTF-8"?>
2<!-- A one-off to convert old BADC B records to  B V1.02.
3     Author - Sue Latham
4     Date - April 2005 -->
5<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
6        <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
7       
8       
9        <xsl:template match="/">
10                <dgMetadata xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
11                        <xsl:apply-templates select="dgMetadata/node()"/>
12                </dgMetadata>
13        </xsl:template>
14       
15        <xsl:template match="dgMetadata/node()">
16                <xsl:copy>
17                        <xsl:apply-templates select="@*|node()"/>
18                </xsl:copy>
19        </xsl:template>
20       
21        <xsl:template match="dgMetadata/dgMetadataRecord">
22                <dgMetadataRecord>
23                        <xsl:for-each select="child::*">
24                                <xsl:copy>
25                                        <xsl:apply-templates select="@*|node()"/>
26                                </xsl:copy>
27                        </xsl:for-each>
28                        <DataProvenance>
29                                <RecordCreation>
30                                        <CreatedDate>2004-08-20</CreatedDate>
31                                        <CreatedBy>selatham</CreatedBy>
32                                </RecordCreation>
33                                <RecordUpdate>
34                                        <UpdateDate>2005-04-22</UpdateDate>
35                                        <UpdatedBy>convert_to_BV1_02.xsl</UpdatedBy>
36                                        <UpdateSummary>Updated by a one-off xsl to convert records to Version 1.02 of NDGB schema</UpdateSummary>
37                                </RecordUpdate>         
38                        </DataProvenance>
39                </dgMetadataRecord>
40        </xsl:template>         
41       
42        <xsl:template match="@*|node()">
43                <xsl:copy>
44                        <xsl:apply-templates select="@*|node()"/>
45                </xsl:copy>
46        </xsl:template>
47       
48        <xsl:template match="repositoryIdentifier">
49                <schemeIdentifier>NDG-B0</schemeIdentifier>
50                <xsl:copy>
51                        <xsl:apply-templates select="@*|node()"/>
52                </xsl:copy>
53        </xsl:template>
54       
55        <xsl:template match="metadataDescriptionID">
56                <metadataDescriptionID>
57                        <schemeIdentifier>NDG-B0</schemeIdentifier>
58                        <repositoryIdentifier>badc.nerc.ac.uk</repositoryIdentifier>
59                        <xsl:choose>
60                                <xsl:when test="./localIdentifier=''">
61                                        <localIdentifier>unknown</localIdentifier>
62                                </xsl:when>
63                                <xsl:otherwise>
64                                        <localIdentifier><xsl:value-of select="localIdentifier"/></localIdentifier>
65                                </xsl:otherwise>
66                        </xsl:choose>
67                </metadataDescriptionID>
68        </xsl:template>
69       
70        <xsl:template match="dgMetadataID">
71                <dgMetadataID>
72                        <schemeIdentifier>NDG-B0</schemeIdentifier>
73                        <repositoryIdentifier>badc.nerc.ac.uk</repositoryIdentifier>
74                        <xsl:choose>
75                                <xsl:when test="./localIdentifier=''">
76                                        <localIdentifier>unknown</localIdentifier>
77                                </xsl:when>
78                                <xsl:otherwise>
79                                        <localIdentifier><xsl:value-of select="localIdentifier"/></localIdentifier>
80                                </xsl:otherwise>
81                        </xsl:choose>
82                </dgMetadataID>
83        </xsl:template>
84       
85        <xsl:template match="dataModelID">
86                <dataModelID>
87                <xsl:choose>
88                        <xsl:when test="starts-with(.,'/NDG_A_1.0')">
89                                <schemeIdentifier>NDG-A0</schemeIdentifier>
90                        </xsl:when>
91                        <xsl:when test="starts-with(.,'/CDML_1.0')">
92                                <schemeIdentifier>CDML-0</schemeIdentifier>
93                        </xsl:when>
94                        <xsl:otherwise>
95                                <schemeIdentifier>URI</schemeIdentifier>
96                        </xsl:otherwise>
97                </xsl:choose>
98                <repositoryIdentifier>badc.nerc.ac.uk</repositoryIdentifier>
99                <xsl:variable  name="localID" select="substring-after(substring-after(substring-after(//dgMetadata/dgMetadataRecord/dgDataEntity/dgDataGranule/dataModelID,'/'),'/'),'/')"></xsl:variable>
100                <localIdentifier><xsl:value-of select="substring-before($localID,'/')"/></localIdentifier>
101                </dataModelID>
102        </xsl:template>
103       
104        <xsl:template match="dgSpatialCoverage">
105                <dgSpatialCoverage>
106                        <xsl:copy-of select="BoundingBox"></xsl:copy-of>
107                        <xsl:copy-of select="dgArea"></xsl:copy-of>
108                        <xsl:copy-of select="dgCourse"></xsl:copy-of>
109                        <xsl:copy-of select="dgVerticalExtent"></xsl:copy-of>
110                        <xsl:copy-of select="dgSpatialResolution"></xsl:copy-of>
111                </dgSpatialCoverage>
112        </xsl:template>
113       
114        <xsl:template match="activityRelation">
115                <activityRelation>
116                        <dgValidTerm><xsl:value-of select="."/></dgValidTerm>
117                        <dgValidTermID>
118                                <ParentListID>vocab.ndg.nerc.ac.uk/activityRelation</ParentListID>
119                                <TermID>unknown</TermID>
120                        </dgValidTermID>               
121                </activityRelation>
122        </xsl:template>
123       
124        <xsl:template match="dgPrincipleInvestigator">
125                <dgPrincipalInvestigator>
126                        <xsl:apply-templates select="@*|node()"/>
127                </dgPrincipalInvestigator>
128        </xsl:template>
129       
130        <xsl:template match="dgPerson/name">
131                <name>
132                        <xsl:apply-templates select="@*|node()"/>
133                        <nameOrder>L2R</nameOrder>
134                </name>
135        </xsl:template>
136       
137        <xsl:template match="dgDataCurator/abbreviation">
138                <xsl:copy>
139                        <xsl:apply-templates select="@*|node()"/>
140                </xsl:copy>
141                <dgRoleHolder>
142                        <dgOrganisationID>             
143                                <schemeIdentifier>NDG-B0</schemeIdentifier>
144                                <repositoryIdentifier>badc.nerc.ac.uk</repositoryIdentifier>
145                                <localIdentifier>org1</localIdentifier>
146                        </dgOrganisationID>
147                        <startDate>2000-01-01</startDate>
148                </dgRoleHolder>
149        </xsl:template>
150
151       
152</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.