Statistics
| Revision:

svn-gvsig-desktop / tags / v1_9_Build_1248 / extensions / extMetadata / xslt / ISO19115_ISO19139.xsl @ 33763

History | View | Annotate | Download (239 KB)

1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gmd="http://www.isotc211.org/2005/gmd" >
3
  <xsl:import href="externalTemplates.xsl" />
4
  <xsl:output method="xml" indent="yes" encoding="ISO-8859-1"/>
5
  <xsl:template match="/" >
6
    <xsl:apply-templates select="MD_Metadata" />
7
  </xsl:template>
8
  <xsl:template match="distance" >
9
    <xsl:element name="gco:Distance" >
10
      <xsl:for-each select="value" >
11
        <xsl:element name="gco:distance" >
12
          <xsl:element name="gco:Distance" >
13
            <xsl:value-of select="." />
14
          </xsl:element>
15
        </xsl:element>
16
      </xsl:for-each>
17
    </xsl:element>
18
  </xsl:template>
19
  <xsl:template match="CI_DateTypeCode" >
20
    <xsl:element name="gmd:CI_DateTypeCode" >
21
      <xsl:for-each select="creation" >
22
        <xsl:element name="gmd:creation" >
23
          <xsl:value-of select="." />
24
        </xsl:element>
25
      </xsl:for-each>
26
      <xsl:for-each select="publication" >
27
        <xsl:element name="gmd:publication" >
28
          <xsl:value-of select="." />
29
        </xsl:element>
30
      </xsl:for-each>
31
      <xsl:for-each select="revision" >
32
        <xsl:element name="gmd:revision" >
33
          <xsl:value-of select="." />
34
        </xsl:element>
35
      </xsl:for-each>
36
    </xsl:element>
37
  </xsl:template>
38
  <xsl:template match="EX_TemporalElement" >
39
    <xsl:element name="gmd:EX_TemporalElement" >
40
      <xsl:choose>
41
        <xsl:when test="extent" >
42
          <xsl:for-each select="extent[1]" >
43
            <xsl:element name="gmd:extent" >
44
              <xsl:value-of select="." />
45
            </xsl:element>
46
          </xsl:for-each>
47
        </xsl:when>
48
        <xsl:otherwise>
49
          <xsl:element name="gmd:extent" >
50
            
51
          </xsl:element>
52
        </xsl:otherwise>
53
      </xsl:choose>
54
    </xsl:element>
55
  </xsl:template>
56
  <xsl:template match="CI_OnLineFunctionCode" >
57
    <xsl:element name="gmd:CI_OnLineFunctionCode" >
58
      <xsl:for-each select="download" >
59
        <xsl:element name="gmd:download" >
60
          <xsl:value-of select="." />
61
        </xsl:element>
62
      </xsl:for-each>
63
      <xsl:for-each select="information" >
64
        <xsl:element name="gmd:information" >
65
          <xsl:value-of select="." />
66
        </xsl:element>
67
      </xsl:for-each>
68
      <xsl:for-each select="offlineAccess" >
69
        <xsl:element name="gmd:offlineAccess" >
70
          <xsl:value-of select="." />
71
        </xsl:element>
72
      </xsl:for-each>
73
      <xsl:for-each select="order" >
74
        <xsl:element name="gmd:order" >
75
          <xsl:value-of select="." />
76
        </xsl:element>
77
      </xsl:for-each>
78
      <xsl:for-each select="search" >
79
        <xsl:element name="gmd:search" >
80
          <xsl:value-of select="." />
81
        </xsl:element>
82
      </xsl:for-each>
83
    </xsl:element>
84
  </xsl:template>
85
  <xsl:template match="CI_PresentationFormCode" >
86
    <xsl:element name="gmd:CI_PresentationFormCode" >
87
      <xsl:for-each select="documentDigital" >
88
        <xsl:element name="gmd:documentDigital" >
89
          <xsl:value-of select="." />
90
        </xsl:element>
91
      </xsl:for-each>
92
      <xsl:for-each select="documentHardcopy" >
93
        <xsl:element name="gmd:documentHardcopy" >
94
          <xsl:value-of select="." />
95
        </xsl:element>
96
      </xsl:for-each>
97
      <xsl:for-each select="imageDigital" >
98
        <xsl:element name="gmd:imageDigital" >
99
          <xsl:value-of select="." />
100
        </xsl:element>
101
      </xsl:for-each>
102
      <xsl:for-each select="imageHardcopy" >
103
        <xsl:element name="gmd:imageHardcopy" >
104
          <xsl:value-of select="." />
105
        </xsl:element>
106
      </xsl:for-each>
107
      <xsl:for-each select="mapDigital" >
108
        <xsl:element name="gmd:mapDigital" >
109
          <xsl:value-of select="." />
110
        </xsl:element>
111
      </xsl:for-each>
112
      <xsl:for-each select="mapHardcopy" >
113
        <xsl:element name="gmd:mapHardcopy" >
114
          <xsl:value-of select="." />
115
        </xsl:element>
116
      </xsl:for-each>
117
      <xsl:for-each select="modelDigital" >
118
        <xsl:element name="gmd:modelDigital" >
119
          <xsl:value-of select="." />
120
        </xsl:element>
121
      </xsl:for-each>
122
      <xsl:for-each select="modelHardcopy" >
123
        <xsl:element name="gmd:modelHardcopy" >
124
          <xsl:value-of select="." />
125
        </xsl:element>
126
      </xsl:for-each>
127
      <xsl:for-each select="profileDigital" >
128
        <xsl:element name="gmd:profileDigital" >
129
          <xsl:value-of select="." />
130
        </xsl:element>
131
      </xsl:for-each>
132
      <xsl:for-each select="profileHardcopy" >
133
        <xsl:element name="gmd:profileHardcopy" >
134
          <xsl:value-of select="." />
135
        </xsl:element>
136
      </xsl:for-each>
137
      <xsl:for-each select="tableDigital" >
138
        <xsl:element name="gmd:tableDigital" >
139
          <xsl:value-of select="." />
140
        </xsl:element>
141
      </xsl:for-each>
142
      <xsl:for-each select="tableHardcopy" >
143
        <xsl:element name="gmd:tableHardcopy" >
144
          <xsl:value-of select="." />
145
        </xsl:element>
146
      </xsl:for-each>
147
      <xsl:for-each select="videoDigital" >
148
        <xsl:element name="gmd:videoDigital" >
149
          <xsl:value-of select="." />
150
        </xsl:element>
151
      </xsl:for-each>
152
      <xsl:for-each select="videoHardcopy" >
153
        <xsl:element name="gmd:videoHardcopy" >
154
          <xsl:value-of select="." />
155
        </xsl:element>
156
      </xsl:for-each>
157
    </xsl:element>
158
  </xsl:template>
159
  <xsl:template match="CI_RoleCode" >
160
    <xsl:element name="gmd:CI_RoleCode" >
161
      <xsl:for-each select="resourceProvider" >
162
        <xsl:element name="gmd:resourceProvider" >
163
          <xsl:value-of select="." />
164
        </xsl:element>
165
      </xsl:for-each>
166
      <xsl:for-each select="custodian" >
167
        <xsl:element name="gmd:custodian" >
168
          <xsl:value-of select="." />
169
        </xsl:element>
170
      </xsl:for-each>
171
      <xsl:for-each select="owner" >
172
        <xsl:element name="gmd:owner" >
173
          <xsl:value-of select="." />
174
        </xsl:element>
175
      </xsl:for-each>
176
      <xsl:for-each select="user" >
177
        <xsl:element name="gmd:user" >
178
          <xsl:value-of select="." />
179
        </xsl:element>
180
      </xsl:for-each>
181
      <xsl:for-each select="distributor" >
182
        <xsl:element name="gmd:distributor" >
183
          <xsl:value-of select="." />
184
        </xsl:element>
185
      </xsl:for-each>
186
      <xsl:for-each select="originator" >
187
        <xsl:element name="gmd:originator" >
188
          <xsl:value-of select="." />
189
        </xsl:element>
190
      </xsl:for-each>
191
      <xsl:for-each select="pointOfContact" >
192
        <xsl:element name="gmd:pointOfContact" >
193
          <xsl:value-of select="." />
194
        </xsl:element>
195
      </xsl:for-each>
196
      <xsl:for-each select="principalInvestigator" >
197
        <xsl:element name="gmd:principalInvestigator" >
198
          <xsl:value-of select="." />
199
        </xsl:element>
200
      </xsl:for-each>
201
      <xsl:for-each select="processor" >
202
        <xsl:element name="gmd:processor" >
203
          <xsl:value-of select="." />
204
        </xsl:element>
205
      </xsl:for-each>
206
      <xsl:for-each select="publisher" >
207
        <xsl:element name="gmd:publisher" >
208
          <xsl:value-of select="." />
209
        </xsl:element>
210
      </xsl:for-each>
211
      <xsl:for-each select="author" >
212
        <xsl:element name="gmd:author" >
213
          <xsl:value-of select="." />
214
        </xsl:element>
215
      </xsl:for-each>
216
    </xsl:element>
217
  </xsl:template>
218
  <xsl:template match="DQ_EvaluationMethodTypeCode" >
219
    <xsl:element name="gmd:DQ_EvaluationMethodTypeCode" >
220
      <xsl:for-each select="directInternal" >
221
        <xsl:element name="gmd:directInternal" >
222
          <xsl:value-of select="." />
223
        </xsl:element>
224
      </xsl:for-each>
225
      <xsl:for-each select="directExternal" >
226
        <xsl:element name="gmd:directExternal" >
227
          <xsl:value-of select="." />
228
        </xsl:element>
229
      </xsl:for-each>
230
      <xsl:for-each select="indirect" >
231
        <xsl:element name="gmd:indirect" >
232
          <xsl:value-of select="." />
233
        </xsl:element>
234
      </xsl:for-each>
235
    </xsl:element>
236
  </xsl:template>
237
  <xsl:template match="DS_AssociationTypeCode" >
238
    <xsl:element name="gmd:DS_AssociationTypeCode" >
239
      <xsl:for-each select="crossReference" >
240
        <xsl:element name="gmd:crossReference" >
241
          <xsl:value-of select="." />
242
        </xsl:element>
243
      </xsl:for-each>
244
      <xsl:for-each select="largerWorkCitation" >
245
        <xsl:element name="gmd:largerWorkCitation" >
246
          <xsl:value-of select="." />
247
        </xsl:element>
248
      </xsl:for-each>
249
      <xsl:for-each select="partOfSeamlessDatabase" >
250
        <xsl:element name="gmd:partOfSeamlessDatabase" >
251
          <xsl:value-of select="." />
252
        </xsl:element>
253
      </xsl:for-each>
254
      <xsl:for-each select="source" >
255
        <xsl:element name="gmd:source" >
256
          <xsl:value-of select="." />
257
        </xsl:element>
258
      </xsl:for-each>
259
      <xsl:for-each select="stereoMate" >
260
        <xsl:element name="gmd:stereoMate" >
261
          <xsl:value-of select="." />
262
        </xsl:element>
263
      </xsl:for-each>
264
    </xsl:element>
265
  </xsl:template>
266
  <xsl:template match="DS_InitiativeTypeCode" >
267
    <xsl:element name="gmd:DS_InitiativeTypeCode" >
268
      <xsl:for-each select="campaign" >
269
        <xsl:element name="gmd:campaign" >
270
          <xsl:value-of select="." />
271
        </xsl:element>
272
      </xsl:for-each>
273
      <xsl:for-each select="collection" >
274
        <xsl:element name="gmd:collection" >
275
          <xsl:value-of select="." />
276
        </xsl:element>
277
      </xsl:for-each>
278
      <xsl:for-each select="exercise" >
279
        <xsl:element name="gmd:exercise" >
280
          <xsl:value-of select="." />
281
        </xsl:element>
282
      </xsl:for-each>
283
      <xsl:for-each select="experiment" >
284
        <xsl:element name="gmd:experiment" >
285
          <xsl:value-of select="." />
286
        </xsl:element>
287
      </xsl:for-each>
288
      <xsl:for-each select="investigation" >
289
        <xsl:element name="gmd:investigation" >
290
          <xsl:value-of select="." />
291
        </xsl:element>
292
      </xsl:for-each>
293
      <xsl:for-each select="mission" >
294
        <xsl:element name="gmd:mission" >
295
          <xsl:value-of select="." />
296
        </xsl:element>
297
      </xsl:for-each>
298
      <xsl:for-each select="sensor" >
299
        <xsl:element name="gmd:sensor" >
300
          <xsl:value-of select="." />
301
        </xsl:element>
302
      </xsl:for-each>
303
      <xsl:for-each select="operation" >
304
        <xsl:element name="gmd:operation" >
305
          <xsl:value-of select="." />
306
        </xsl:element>
307
      </xsl:for-each>
308
      <xsl:for-each select="platform" >
309
        <xsl:element name="gmd:platform" >
310
          <xsl:value-of select="." />
311
        </xsl:element>
312
      </xsl:for-each>
313
      <xsl:for-each select="process" >
314
        <xsl:element name="gmd:process" >
315
          <xsl:value-of select="." />
316
        </xsl:element>
317
      </xsl:for-each>
318
      <xsl:for-each select="program" >
319
        <xsl:element name="gmd:program" >
320
          <xsl:value-of select="." />
321
        </xsl:element>
322
      </xsl:for-each>
323
      <xsl:for-each select="project" >
324
        <xsl:element name="gmd:project" >
325
          <xsl:value-of select="." />
326
        </xsl:element>
327
      </xsl:for-each>
328
      <xsl:for-each select="study" >
329
        <xsl:element name="gmd:study" >
330
          <xsl:value-of select="." />
331
        </xsl:element>
332
      </xsl:for-each>
333
      <xsl:for-each select="task" >
334
        <xsl:element name="gmd:task" >
335
          <xsl:value-of select="." />
336
        </xsl:element>
337
      </xsl:for-each>
338
      <xsl:for-each select="trial" >
339
        <xsl:element name="gmd:trial" >
340
          <xsl:value-of select="." />
341
        </xsl:element>
342
      </xsl:for-each>
343
    </xsl:element>
344
  </xsl:template>
345
  <xsl:template match="MD_CellGeometryCode" >
346
    <xsl:element name="gmd:MD_CellGeometryCode" >
347
      <xsl:for-each select="point" >
348
        <xsl:element name="gmd:point" >
349
          <xsl:value-of select="." />
350
        </xsl:element>
351
      </xsl:for-each>
352
      <xsl:for-each select="area" >
353
        <xsl:element name="gmd:area" >
354
          <xsl:value-of select="." />
355
        </xsl:element>
356
      </xsl:for-each>
357
    </xsl:element>
358
  </xsl:template>
359
  <xsl:template match="MD_CharacterSetCode" >
360
    <xsl:element name="gmd:MD_CharacterSetCode" >
361
      <xsl:for-each select="ucs2" >
362
        <xsl:element name="gmd:ucs2" >
363
          <xsl:value-of select="." />
364
        </xsl:element>
365
      </xsl:for-each>
366
      <xsl:for-each select="ucs4" >
367
        <xsl:element name="gmd:ucs4" >
368
          <xsl:value-of select="." />
369
        </xsl:element>
370
      </xsl:for-each>
371
      <xsl:for-each select="utf7" >
372
        <xsl:element name="gmd:utf7" >
373
          <xsl:value-of select="." />
374
        </xsl:element>
375
      </xsl:for-each>
376
      <xsl:for-each select="utf8" >
377
        <xsl:element name="gmd:utf8" >
378
          <xsl:value-of select="." />
379
        </xsl:element>
380
      </xsl:for-each>
381
      <xsl:for-each select="utf16" >
382
        <xsl:element name="gmd:utf16" >
383
          <xsl:value-of select="." />
384
        </xsl:element>
385
      </xsl:for-each>
386
      <xsl:for-each select="jis" >
387
        <xsl:element name="gmd:jis" >
388
          <xsl:value-of select="." />
389
        </xsl:element>
390
      </xsl:for-each>
391
      <xsl:for-each select="shiftJIS" >
392
        <xsl:element name="gmd:shiftJIS" >
393
          <xsl:value-of select="." />
394
        </xsl:element>
395
      </xsl:for-each>
396
      <xsl:for-each select="eucJP" >
397
        <xsl:element name="gmd:eucJP" >
398
          <xsl:value-of select="." />
399
        </xsl:element>
400
      </xsl:for-each>
401
      <xsl:for-each select="usAscii" >
402
        <xsl:element name="gmd:usAscii" >
403
          <xsl:value-of select="." />
404
        </xsl:element>
405
      </xsl:for-each>
406
      <xsl:for-each select="ebcdic" >
407
        <xsl:element name="gmd:ebcdic" >
408
          <xsl:value-of select="." />
409
        </xsl:element>
410
      </xsl:for-each>
411
      <xsl:for-each select="eucKR" >
412
        <xsl:element name="gmd:eucKR" >
413
          <xsl:value-of select="." />
414
        </xsl:element>
415
      </xsl:for-each>
416
      <xsl:for-each select="big5" >
417
        <xsl:element name="gmd:big5" >
418
          <xsl:value-of select="." />
419
        </xsl:element>
420
      </xsl:for-each>
421
      <xsl:for-each select="GB2312" >
422
        <xsl:element name="gmd:GB2312" >
423
          <xsl:value-of select="." />
424
        </xsl:element>
425
      </xsl:for-each>
426
    </xsl:element>
427
  </xsl:template>
428
  <xsl:template match="MD_ClassificationCode" >
429
    <xsl:element name="gmd:MD_ClassificationCode" >
430
      <xsl:for-each select="unclassified" >
431
        <xsl:element name="gmd:unclassified" >
432
          <xsl:value-of select="." />
433
        </xsl:element>
434
      </xsl:for-each>
435
      <xsl:for-each select="restricted" >
436
        <xsl:element name="gmd:restricted" >
437
          <xsl:value-of select="." />
438
        </xsl:element>
439
      </xsl:for-each>
440
      <xsl:for-each select="confidential" >
441
        <xsl:element name="gmd:confidential" >
442
          <xsl:value-of select="." />
443
        </xsl:element>
444
      </xsl:for-each>
445
      <xsl:for-each select="secret" >
446
        <xsl:element name="gmd:secret" >
447
          <xsl:value-of select="." />
448
        </xsl:element>
449
      </xsl:for-each>
450
      <xsl:for-each select="topSecret" >
451
        <xsl:element name="gmd:topSecret" >
452
          <xsl:value-of select="." />
453
        </xsl:element>
454
      </xsl:for-each>
455
    </xsl:element>
456
  </xsl:template>
457
  <xsl:template match="MD_CoverageContentTypeCode" >
458
    <xsl:element name="gmd:MD_CoverageContentTypeCode" >
459
      <xsl:for-each select="image" >
460
        <xsl:element name="gmd:image" >
461
          <xsl:value-of select="." />
462
        </xsl:element>
463
      </xsl:for-each>
464
      <xsl:for-each select="thematicClassification" >
465
        <xsl:element name="gmd:thematicClassification" >
466
          <xsl:value-of select="." />
467
        </xsl:element>
468
      </xsl:for-each>
469
      <xsl:for-each select="physicalMeasurement" >
470
        <xsl:element name="gmd:physicalMeasurement" >
471
          <xsl:value-of select="." />
472
        </xsl:element>
473
      </xsl:for-each>
474
    </xsl:element>
475
  </xsl:template>
476
  <xsl:template match="MD_Metadata" >
477
    <gmd:MD_Metadata>
478
      <xsl:for-each select="fileIdentifier[1]" >
479
        <xsl:element name="gmd:fileIdentifier" >
480
          <xsl:element name="gco:CharacterString" >
481
            <xsl:value-of select="." />
482
          </xsl:element>
483
        </xsl:element>
484
      </xsl:for-each>
485
      <xsl:for-each select="language[1]" >
486
        <xsl:element name="gmd:language" >
487
          <xsl:element name="gco:CharacterString" >
488
            <xsl:value-of select="." />
489
          </xsl:element>
490
        </xsl:element>
491
      </xsl:for-each>
492
      <xsl:for-each select="characterSet[1]" >
493
        <xsl:element name="gmd:characterSet" >
494
          <xsl:call-template name="codeListElement19139">
495
            <xsl:with-param name="param" select="." />
496
            <xsl:with-param name="namespace">gmd</xsl:with-param>
497
            <xsl:with-param name="listName">MD_CharacterSetCode</xsl:with-param>
498
          </xsl:call-template>
499
        </xsl:element>
500
      </xsl:for-each>
501
      <xsl:for-each select="parentIdentifier[1]" >
502
        <xsl:element name="gmd:parentIdentifier" >
503
          <xsl:element name="gco:CharacterString" >
504
            <xsl:value-of select="." />
505
          </xsl:element>
506
        </xsl:element>
507
      </xsl:for-each>
508
      <xsl:for-each select="hierarchyLevel" >
509
        <xsl:element name="gmd:hierarchyLevel" >
510
          <xsl:call-template name="codeListElement19139">
511
            <xsl:with-param name="param" select="." />
512
            <xsl:with-param name="namespace">gmd</xsl:with-param>
513
            <xsl:with-param name="listName">MD_ScopeCode</xsl:with-param>
514
          </xsl:call-template>
515
        </xsl:element>
516
      </xsl:for-each>
517
      <xsl:for-each select="hierarchyLevelName" >
518
        <xsl:element name="gmd:hierarchyLevelName" >
519
          <xsl:element name="gco:CharacterString" >
520
            <xsl:value-of select="." />
521
          </xsl:element>
522
        </xsl:element>
523
      </xsl:for-each>
524
      <xsl:choose>
525
        <xsl:when test="contact" >
526
          <xsl:for-each select="contact" >
527
            <xsl:element name="gmd:contact" >
528
              <xsl:apply-templates select="CI_ResponsibleParty" />
529
            </xsl:element>
530
          </xsl:for-each>
531
        </xsl:when>
532
        <xsl:otherwise>
533
          <xsl:element name="gmd:contact" >
534
            
535
          </xsl:element>
536
        </xsl:otherwise>
537
      </xsl:choose>
538
      <xsl:choose>
539
        <xsl:when test="dateStamp" >
540
          <xsl:for-each select="dateStamp[1]" >
541
            <xsl:element name="gmd:dateStamp" >
542
              <xsl:element name="gco:Date" >
543
                <xsl:value-of select="." />
544
              </xsl:element>
545
            </xsl:element>
546
          </xsl:for-each>
547
        </xsl:when>
548
        <xsl:otherwise>
549
          <xsl:element name="gmd:dateStamp" >
550
            
551
          </xsl:element>
552
        </xsl:otherwise>
553
      </xsl:choose>
554
      <xsl:for-each select="metadataStandardName[1]" >
555
        <xsl:element name="gmd:metadataStandardName" >
556
          <xsl:element name="gco:CharacterString" >
557
            <xsl:value-of select="." />
558
          </xsl:element>
559
        </xsl:element>
560
      </xsl:for-each>
561
      <xsl:for-each select="metadataStandardVersion[1]" >
562
        <xsl:element name="gmd:metadataStandardVersion" >
563
          <xsl:element name="gco:CharacterString" >
564
            <xsl:value-of select="." />
565
          </xsl:element>
566
        </xsl:element>
567
      </xsl:for-each>
568
      <xsl:for-each select="dataSet[1]" >
569
        <xsl:element name="gmd:dataSetURI" >
570
          <xsl:element name="gco:CharacterString" >
571
            <xsl:value-of select="." />
572
          </xsl:element>
573
        </xsl:element>
574
      </xsl:for-each>
575
      <xsl:for-each select="spatialRepresentationInfo" >
576
        <xsl:element name="gmd:spatialRepresentationInfo" >
577
          <xsl:apply-templates select="MD_SpatialRepresentation" />
578
          <xsl:apply-templates select="MD_Georectified" />
579
          <xsl:apply-templates select="MD_Georeferenceable" />
580
          <xsl:apply-templates select="MD_VectorSpatialRepresentation" />
581
          <xsl:apply-templates select="MD_GridSpatialRepresentation" />
582
        </xsl:element>
583
      </xsl:for-each>
584
      <xsl:for-each select="referenceSystemInfo" >
585
        <xsl:element name="gmd:referenceSystemInfo" >
586
          <xsl:apply-templates select="MD_ReferenceSystem" />
587
          <xsl:apply-templates select="MD_CRS" />
588
        </xsl:element>
589
      </xsl:for-each>
590
      <xsl:for-each select="metadataExtensionInfo" >
591
        <xsl:element name="gmd:metadataExtensionInfo" >
592
          <xsl:apply-templates select="MD_MetadataExtensionInformation" />
593
        </xsl:element>
594
      </xsl:for-each>
595
      <xsl:choose>
596
        <xsl:when test="identificationInfo" >
597
          <xsl:for-each select="identificationInfo" >
598
            <xsl:element name="gmd:identificationInfo" >
599
              <xsl:apply-templates select="MD_Identification" />
600
              <xsl:apply-templates select="MD_DataIdentification" />
601
              <xsl:apply-templates select="MD_ServiceIdentification" />
602
            </xsl:element>
603
          </xsl:for-each>
604
        </xsl:when>
605
        <xsl:otherwise>
606
          <xsl:element name="gmd:identificationInfo" >
607
            
608
          </xsl:element>
609
        </xsl:otherwise>
610
      </xsl:choose>
611
      <xsl:for-each select="contentInfo" >
612
        <xsl:element name="gmd:contentInfo" >
613
          <xsl:apply-templates select="MD_ContentInformation" />
614
          <xsl:apply-templates select="MD_FeatureCatalogueDescription" />
615
          <xsl:apply-templates select="MD_CoverageDescription" />
616
          <xsl:apply-templates select="MD_ImageDescription" />
617
        </xsl:element>
618
      </xsl:for-each>
619
      <xsl:for-each select="distributionInfo[1]" >
620
        <xsl:element name="gmd:distributionInfo" >
621
          <xsl:apply-templates select="MD_Distribution" />
622
        </xsl:element>
623
      </xsl:for-each>
624
      <xsl:for-each select="dataQualityInfo" >
625
        <xsl:element name="gmd:dataQualityInfo" >
626
          <xsl:apply-templates select="DQ_DataQuality" />
627
        </xsl:element>
628
      </xsl:for-each>
629
      <xsl:for-each select="portrayalCatalogueInfo" >
630
        <xsl:element name="gmd:portrayalCatalogueInfo" >
631
          <xsl:apply-templates select="MD_PortrayalCatalogueReference" />
632
        </xsl:element>
633
      </xsl:for-each>
634
      <xsl:for-each select="metadataConstraints" >
635
        <xsl:element name="gmd:metadataConstraints" >
636
          <xsl:apply-templates select="MD_Constraints" />
637
          <xsl:apply-templates select="MD_LegalConstraints" />
638
          <xsl:apply-templates select="MD_SecurityConstraints" />
639
        </xsl:element>
640
      </xsl:for-each>
641
      <xsl:for-each select="applicationSchemaInfo" >
642
        <xsl:element name="gmd:applicationSchemaInfo" >
643
          <xsl:apply-templates select="MD_ApplicationSchemaInformation" />
644
        </xsl:element>
645
      </xsl:for-each>
646
      <xsl:for-each select="metadataMaintenance[1]" >
647
        <xsl:element name="gmd:metadataMaintenance" >
648
          <xsl:apply-templates select="MD_MaintenanceInformation" />
649
        </xsl:element>
650
      </xsl:for-each>
651
    </gmd:MD_Metadata>
652
  </xsl:template>
653
  <xsl:template match="MD_DatatypeCode" >
654
    <xsl:element name="gmd:MD_DatatypeCode" >
655
      <xsl:for-each select="class" >
656
        <xsl:element name="gmd:class" >
657
          <xsl:value-of select="." />
658
        </xsl:element>
659
      </xsl:for-each>
660
      <xsl:for-each select="codelist" >
661
        <xsl:element name="gmd:codelist" >
662
          <xsl:value-of select="." />
663
        </xsl:element>
664
      </xsl:for-each>
665
      <xsl:for-each select="enumeration" >
666
        <xsl:element name="gmd:enumeration" >
667
          <xsl:value-of select="." />
668
        </xsl:element>
669
      </xsl:for-each>
670
      <xsl:for-each select="codelistElement" >
671
        <xsl:element name="gmd:codelistElement" >
672
          <xsl:value-of select="." />
673
        </xsl:element>
674
      </xsl:for-each>
675
      <xsl:for-each select="abstractClass" >
676
        <xsl:element name="gmd:abstractClass" >
677
          <xsl:value-of select="." />
678
        </xsl:element>
679
      </xsl:for-each>
680
      <xsl:for-each select="aggregateClass" >
681
        <xsl:element name="gmd:aggregateClass" >
682
          <xsl:value-of select="." />
683
        </xsl:element>
684
      </xsl:for-each>
685
      <xsl:for-each select="specifiedClass" >
686
        <xsl:element name="gmd:specifiedClass" >
687
          <xsl:value-of select="." />
688
        </xsl:element>
689
      </xsl:for-each>
690
      <xsl:for-each select="datatypeClass" >
691
        <xsl:element name="gmd:datatypeClass" >
692
          <xsl:value-of select="." />
693
        </xsl:element>
694
      </xsl:for-each>
695
      <xsl:for-each select="interfaceClass" >
696
        <xsl:element name="gmd:interfaceClass" >
697
          <xsl:value-of select="." />
698
        </xsl:element>
699
      </xsl:for-each>
700
      <xsl:for-each select="unionClass" >
701
        <xsl:element name="gmd:unionClass" >
702
          <xsl:value-of select="." />
703
        </xsl:element>
704
      </xsl:for-each>
705
      <xsl:for-each select="metaClass" >
706
        <xsl:element name="gmd:metaClass" >
707
          <xsl:value-of select="." />
708
        </xsl:element>
709
      </xsl:for-each>
710
      <xsl:for-each select="typeClass" >
711
        <xsl:element name="gmd:typeClass" >
712
          <xsl:value-of select="." />
713
        </xsl:element>
714
      </xsl:for-each>
715
      <xsl:for-each select="characterString" >
716
        <xsl:element name="gmd:characterString" >
717
          <xsl:value-of select="." />
718
        </xsl:element>
719
      </xsl:for-each>
720
      <xsl:for-each select="integer" >
721
        <xsl:element name="gmd:integer" >
722
          <xsl:value-of select="." />
723
        </xsl:element>
724
      </xsl:for-each>
725
      <xsl:for-each select="association" >
726
        <xsl:element name="gmd:association" >
727
          <xsl:value-of select="." />
728
        </xsl:element>
729
      </xsl:for-each>
730
    </xsl:element>
731
  </xsl:template>
732
  <xsl:template match="MD_DimensionTypeCode" >
733
    <xsl:element name="gmd:MD_DimensionTypeCode" >
734
      <xsl:for-each select="row" >
735
        <xsl:element name="gmd:row" >
736
          <xsl:value-of select="." />
737
        </xsl:element>
738
      </xsl:for-each>
739
      <xsl:for-each select="column" >
740
        <xsl:element name="gmd:column" >
741
          <xsl:value-of select="." />
742
        </xsl:element>
743
      </xsl:for-each>
744
      <xsl:for-each select="vertical" >
745
        <xsl:element name="gmd:vertical" >
746
          <xsl:value-of select="." />
747
        </xsl:element>
748
      </xsl:for-each>
749
      <xsl:for-each select="track" >
750
        <xsl:element name="gmd:track" >
751
          <xsl:value-of select="." />
752
        </xsl:element>
753
      </xsl:for-each>
754
      <xsl:for-each select="crossTrack" >
755
        <xsl:element name="gmd:crossTrack" >
756
          <xsl:value-of select="." />
757
        </xsl:element>
758
      </xsl:for-each>
759
      <xsl:for-each select="line" >
760
        <xsl:element name="gmd:line" >
761
          <xsl:value-of select="." />
762
        </xsl:element>
763
      </xsl:for-each>
764
      <xsl:for-each select="sample" >
765
        <xsl:element name="gmd:sample" >
766
          <xsl:value-of select="." />
767
        </xsl:element>
768
      </xsl:for-each>
769
      <xsl:for-each select="time" >
770
        <xsl:element name="gmd:time" >
771
          <xsl:value-of select="." />
772
        </xsl:element>
773
      </xsl:for-each>
774
    </xsl:element>
775
  </xsl:template>
776
  <xsl:template match="MD_GeometricObjectTypeCode" >
777
    <xsl:element name="gmd:MD_GeometricObjectTypeCode" >
778
      <xsl:for-each select="complex" >
779
        <xsl:element name="gmd:complex" >
780
          <xsl:value-of select="." />
781
        </xsl:element>
782
      </xsl:for-each>
783
      <xsl:for-each select="composite" >
784
        <xsl:element name="gmd:composite" >
785
          <xsl:value-of select="." />
786
        </xsl:element>
787
      </xsl:for-each>
788
      <xsl:for-each select="curve" >
789
        <xsl:element name="gmd:curve" >
790
          <xsl:value-of select="." />
791
        </xsl:element>
792
      </xsl:for-each>
793
      <xsl:for-each select="point" >
794
        <xsl:element name="gmd:point" >
795
          <xsl:value-of select="." />
796
        </xsl:element>
797
      </xsl:for-each>
798
      <xsl:for-each select="solid" >
799
        <xsl:element name="gmd:solid" >
800
          <xsl:value-of select="." />
801
        </xsl:element>
802
      </xsl:for-each>
803
      <xsl:for-each select="surface" >
804
        <xsl:element name="gmd:surface" >
805
          <xsl:value-of select="." />
806
        </xsl:element>
807
      </xsl:for-each>
808
    </xsl:element>
809
  </xsl:template>
810
  <xsl:template match="MD_ImagingConditionCode" >
811
    <xsl:element name="gmd:MD_ImagingConditionCode" >
812
      <xsl:for-each select="blurredImage" >
813
        <xsl:element name="gmd:blurredImage" >
814
          <xsl:value-of select="." />
815
        </xsl:element>
816
      </xsl:for-each>
817
      <xsl:for-each select="cloud" >
818
        <xsl:element name="gmd:cloud" >
819
          <xsl:value-of select="." />
820
        </xsl:element>
821
      </xsl:for-each>
822
      <xsl:for-each select="degradingObliquity" >
823
        <xsl:element name="gmd:degradingObliquity" >
824
          <xsl:value-of select="." />
825
        </xsl:element>
826
      </xsl:for-each>
827
      <xsl:for-each select="fog" >
828
        <xsl:element name="gmd:fog" >
829
          <xsl:value-of select="." />
830
        </xsl:element>
831
      </xsl:for-each>
832
      <xsl:for-each select="heavySmokeOrDust" >
833
        <xsl:element name="gmd:heavySmokeOrDust" >
834
          <xsl:value-of select="." />
835
        </xsl:element>
836
      </xsl:for-each>
837
      <xsl:for-each select="night" >
838
        <xsl:element name="gmd:night" >
839
          <xsl:value-of select="." />
840
        </xsl:element>
841
      </xsl:for-each>
842
      <xsl:for-each select="rain" >
843
        <xsl:element name="gmd:rain" >
844
          <xsl:value-of select="." />
845
        </xsl:element>
846
      </xsl:for-each>
847
      <xsl:for-each select="seminDarkness" >
848
        <xsl:element name="gmd:seminDarkness" >
849
          <xsl:value-of select="." />
850
        </xsl:element>
851
      </xsl:for-each>
852
      <xsl:for-each select="shadow" >
853
        <xsl:element name="gmd:shadow" >
854
          <xsl:value-of select="." />
855
        </xsl:element>
856
      </xsl:for-each>
857
      <xsl:for-each select="snow" >
858
        <xsl:element name="gmd:snow" >
859
          <xsl:value-of select="." />
860
        </xsl:element>
861
      </xsl:for-each>
862
      <xsl:for-each select="terrainMasking" >
863
        <xsl:element name="gmd:terrainMasking" >
864
          <xsl:value-of select="." />
865
        </xsl:element>
866
      </xsl:for-each>
867
    </xsl:element>
868
  </xsl:template>
869
  <xsl:template match="MD_KeywordTypeCode" >
870
    <xsl:element name="gmd:MD_KeywordTypeCode" >
871
      <xsl:for-each select="dicipline" >
872
        <xsl:element name="gmd:dicipline" >
873
          <xsl:value-of select="." />
874
        </xsl:element>
875
      </xsl:for-each>
876
      <xsl:for-each select="place" >
877
        <xsl:element name="gmd:place" >
878
          <xsl:value-of select="." />
879
        </xsl:element>
880
      </xsl:for-each>
881
      <xsl:for-each select="stratum" >
882
        <xsl:element name="gmd:stratum" >
883
          <xsl:value-of select="." />
884
        </xsl:element>
885
      </xsl:for-each>
886
      <xsl:for-each select="temporal" >
887
        <xsl:element name="gmd:temporal" >
888
          <xsl:value-of select="." />
889
        </xsl:element>
890
      </xsl:for-each>
891
      <xsl:for-each select="theme" >
892
        <xsl:element name="gmd:theme" >
893
          <xsl:value-of select="." />
894
        </xsl:element>
895
      </xsl:for-each>
896
    </xsl:element>
897
  </xsl:template>
898
  <xsl:template match="MD_MaintenanceFrequencyCode" >
899
    <xsl:element name="gmd:MD_MaintenanceFrequencyCode" >
900
      <xsl:for-each select="continual" >
901
        <xsl:element name="gmd:continual" >
902
          <xsl:value-of select="." />
903
        </xsl:element>
904
      </xsl:for-each>
905
      <xsl:for-each select="daily" >
906
        <xsl:element name="gmd:daily" >
907
          <xsl:value-of select="." />
908
        </xsl:element>
909
      </xsl:for-each>
910
      <xsl:for-each select="weekly" >
911
        <xsl:element name="gmd:weekly" >
912
          <xsl:value-of select="." />
913
        </xsl:element>
914
      </xsl:for-each>
915
      <xsl:for-each select="fortnightly" >
916
        <xsl:element name="gmd:fortnightly" >
917
          <xsl:value-of select="." />
918
        </xsl:element>
919
      </xsl:for-each>
920
      <xsl:for-each select="monthly" >
921
        <xsl:element name="gmd:monthly" >
922
          <xsl:value-of select="." />
923
        </xsl:element>
924
      </xsl:for-each>
925
      <xsl:for-each select="quarterly" >
926
        <xsl:element name="gmd:quarterly" >
927
          <xsl:value-of select="." />
928
        </xsl:element>
929
      </xsl:for-each>
930
      <xsl:for-each select="biannually" >
931
        <xsl:element name="gmd:biannually" >
932
          <xsl:value-of select="." />
933
        </xsl:element>
934
      </xsl:for-each>
935
      <xsl:for-each select="annually" >
936
        <xsl:element name="gmd:annually" >
937
          <xsl:value-of select="." />
938
        </xsl:element>
939
      </xsl:for-each>
940
      <xsl:for-each select="asNeeded" >
941
        <xsl:element name="gmd:asNeeded" >
942
          <xsl:value-of select="." />
943
        </xsl:element>
944
      </xsl:for-each>
945
      <xsl:for-each select="irregular" >
946
        <xsl:element name="gmd:irregular" >
947
          <xsl:value-of select="." />
948
        </xsl:element>
949
      </xsl:for-each>
950
      <xsl:for-each select="notPlanned" >
951
        <xsl:element name="gmd:notPlanned" >
952
          <xsl:value-of select="." />
953
        </xsl:element>
954
      </xsl:for-each>
955
      <xsl:for-each select="unknown" >
956
        <xsl:element name="gmd:unknown" >
957
          <xsl:value-of select="." />
958
        </xsl:element>
959
      </xsl:for-each>
960
    </xsl:element>
961
  </xsl:template>
962
  <xsl:template match="MD_MediumFormatCode" >
963
    <xsl:element name="gmd:MD_MediumFormatCode" >
964
      <xsl:for-each select="cpio" >
965
        <xsl:element name="gmd:cpio" >
966
          <xsl:value-of select="." />
967
        </xsl:element>
968
      </xsl:for-each>
969
      <xsl:for-each select="tar" >
970
        <xsl:element name="gmd:tar" >
971
          <xsl:value-of select="." />
972
        </xsl:element>
973
      </xsl:for-each>
974
      <xsl:for-each select="highSierra" >
975
        <xsl:element name="gmd:highSierra" >
976
          <xsl:value-of select="." />
977
        </xsl:element>
978
      </xsl:for-each>
979
      <xsl:for-each select="iso9660" >
980
        <xsl:element name="gmd:iso9660" >
981
          <xsl:value-of select="." />
982
        </xsl:element>
983
      </xsl:for-each>
984
      <xsl:for-each select="iso9660RockRidge" >
985
        <xsl:element name="gmd:iso9660RockRidge" >
986
          <xsl:value-of select="." />
987
        </xsl:element>
988
      </xsl:for-each>
989
      <xsl:for-each select="iso9660AppleHFS" >
990
        <xsl:element name="gmd:iso9660AppleHFS" >
991
          <xsl:value-of select="." />
992
        </xsl:element>
993
      </xsl:for-each>
994
    </xsl:element>
995
  </xsl:template>
996
  <xsl:template match="MD_MediumNameCode" >
997
    <xsl:element name="gmd:MD_MediumNameCode" >
998
      <xsl:for-each select="cdRom" >
999
        <xsl:element name="gmd:cdRom" >
1000
          <xsl:value-of select="." />
1001
        </xsl:element>
1002
      </xsl:for-each>
1003
      <xsl:for-each select="dvd" >
1004
        <xsl:element name="gmd:dvd" >
1005
          <xsl:value-of select="." />
1006
        </xsl:element>
1007
      </xsl:for-each>
1008
      <xsl:for-each select="dvdRom" >
1009
        <xsl:element name="gmd:dvdRom" >
1010
          <xsl:value-of select="." />
1011
        </xsl:element>
1012
      </xsl:for-each>
1013
      <xsl:for-each select="digitalLinearTape" >
1014
        <xsl:element name="gmd:digitalLinearTape" >
1015
          <xsl:value-of select="." />
1016
        </xsl:element>
1017
      </xsl:for-each>
1018
      <xsl:for-each select="onLine" >
1019
        <xsl:element name="gmd:onLine" >
1020
          <xsl:value-of select="." />
1021
        </xsl:element>
1022
      </xsl:for-each>
1023
      <xsl:for-each select="satellite" >
1024
        <xsl:element name="gmd:satellite" >
1025
          <xsl:value-of select="." />
1026
        </xsl:element>
1027
      </xsl:for-each>
1028
      <xsl:for-each select="telephoneLink" >
1029
        <xsl:element name="gmd:telephoneLink" >
1030
          <xsl:value-of select="." />
1031
        </xsl:element>
1032
      </xsl:for-each>
1033
      <xsl:for-each select="hardcopy" >
1034
        <xsl:element name="gmd:hardcopy" >
1035
          <xsl:value-of select="." />
1036
        </xsl:element>
1037
      </xsl:for-each>
1038
    </xsl:element>
1039
  </xsl:template>
1040
  <xsl:template match="MD_ObligationCode" >
1041
    <xsl:element name="gmd:MD_ObligationCode" >
1042
      <xsl:for-each select="mandatory" >
1043
        <xsl:element name="gmd:mandatory" >
1044
          <xsl:value-of select="." />
1045
        </xsl:element>
1046
      </xsl:for-each>
1047
      <xsl:for-each select="optional" >
1048
        <xsl:element name="gmd:optional" >
1049
          <xsl:value-of select="." />
1050
        </xsl:element>
1051
      </xsl:for-each>
1052
      <xsl:for-each select="conditional" >
1053
        <xsl:element name="gmd:conditional" >
1054
          <xsl:value-of select="." />
1055
        </xsl:element>
1056
      </xsl:for-each>
1057
    </xsl:element>
1058
  </xsl:template>
1059
  <xsl:template match="MD_PixelOrientationCode" >
1060
    <xsl:element name="gmd:MD_PixelOrientationCode" >
1061
      <xsl:for-each select="center" >
1062
        <xsl:element name="gmd:center" >
1063
          <xsl:value-of select="." />
1064
        </xsl:element>
1065
      </xsl:for-each>
1066
      <xsl:for-each select="lowerLeft" >
1067
        <xsl:element name="gmd:lowerLeft" >
1068
          <xsl:value-of select="." />
1069
        </xsl:element>
1070
      </xsl:for-each>
1071
      <xsl:for-each select="lowerRight" >
1072
        <xsl:element name="gmd:lowerRight" >
1073
          <xsl:value-of select="." />
1074
        </xsl:element>
1075
      </xsl:for-each>
1076
      <xsl:for-each select="upperRight" >
1077
        <xsl:element name="gmd:upperRight" >
1078
          <xsl:value-of select="." />
1079
        </xsl:element>
1080
      </xsl:for-each>
1081
      <xsl:for-each select="upperLeft" >
1082
        <xsl:element name="gmd:upperLeft" >
1083
          <xsl:value-of select="." />
1084
        </xsl:element>
1085
      </xsl:for-each>
1086
    </xsl:element>
1087
  </xsl:template>
1088
  <xsl:template match="MD_ProgressCode" >
1089
    <xsl:element name="gmd:MD_ProgressCode" >
1090
      <xsl:for-each select="completed" >
1091
        <xsl:element name="gmd:completed" >
1092
          <xsl:value-of select="." />
1093
        </xsl:element>
1094
      </xsl:for-each>
1095
      <xsl:for-each select="historicalArchive" >
1096
        <xsl:element name="gmd:historicalArchive" >
1097
          <xsl:value-of select="." />
1098
        </xsl:element>
1099
      </xsl:for-each>
1100
      <xsl:for-each select="obsolete" >
1101
        <xsl:element name="gmd:obsolete" >
1102
          <xsl:value-of select="." />
1103
        </xsl:element>
1104
      </xsl:for-each>
1105
      <xsl:for-each select="onGoing" >
1106
        <xsl:element name="gmd:onGoing" >
1107
          <xsl:value-of select="." />
1108
        </xsl:element>
1109
      </xsl:for-each>
1110
      <xsl:for-each select="planned" >
1111
        <xsl:element name="gmd:planned" >
1112
          <xsl:value-of select="." />
1113
        </xsl:element>
1114
      </xsl:for-each>
1115
      <xsl:for-each select="required" >
1116
        <xsl:element name="gmd:required" >
1117
          <xsl:value-of select="." />
1118
        </xsl:element>
1119
      </xsl:for-each>
1120
      <xsl:for-each select="underDevelopment" >
1121
        <xsl:element name="gmd:underDevelopment" >
1122
          <xsl:value-of select="." />
1123
        </xsl:element>
1124
      </xsl:for-each>
1125
    </xsl:element>
1126
  </xsl:template>
1127
  <xsl:template match="MD_RestrictionCode" >
1128
    <xsl:element name="gmd:MD_RestrictionCode" >
1129
      <xsl:for-each select="copyright" >
1130
        <xsl:element name="gmd:copyright" >
1131
          <xsl:value-of select="." />
1132
        </xsl:element>
1133
      </xsl:for-each>
1134
      <xsl:for-each select="patent" >
1135
        <xsl:element name="gmd:patent" >
1136
          <xsl:value-of select="." />
1137
        </xsl:element>
1138
      </xsl:for-each>
1139
      <xsl:for-each select="patentPending" >
1140
        <xsl:element name="gmd:patentPending" >
1141
          <xsl:value-of select="." />
1142
        </xsl:element>
1143
      </xsl:for-each>
1144
      <xsl:for-each select="trademark" >
1145
        <xsl:element name="gmd:trademark" >
1146
          <xsl:value-of select="." />
1147
        </xsl:element>
1148
      </xsl:for-each>
1149
      <xsl:for-each select="license" >
1150
        <xsl:element name="gmd:license" >
1151
          <xsl:value-of select="." />
1152
        </xsl:element>
1153
      </xsl:for-each>
1154
      <xsl:for-each select="intellectualPropertyRights" >
1155
        <xsl:element name="gmd:intellectualPropertyRights" >
1156
          <xsl:value-of select="." />
1157
        </xsl:element>
1158
      </xsl:for-each>
1159
      <xsl:for-each select="restricted" >
1160
        <xsl:element name="gmd:restricted" >
1161
          <xsl:value-of select="." />
1162
        </xsl:element>
1163
      </xsl:for-each>
1164
      <xsl:for-each select="otherRestrictions" >
1165
        <xsl:element name="gmd:otherRestrictions" >
1166
          <xsl:value-of select="." />
1167
        </xsl:element>
1168
      </xsl:for-each>
1169
    </xsl:element>
1170
  </xsl:template>
1171
  <xsl:template match="MD_ScopeCode" >
1172
    <xsl:element name="gmd:MD_ScopeCode" >
1173
      <xsl:for-each select="attribute" >
1174
        <xsl:element name="gmd:attribute" >
1175
          <xsl:value-of select="." />
1176
        </xsl:element>
1177
      </xsl:for-each>
1178
      <xsl:for-each select="attributeType" >
1179
        <xsl:element name="gmd:attributeType" >
1180
          <xsl:value-of select="." />
1181
        </xsl:element>
1182
      </xsl:for-each>
1183
      <xsl:for-each select="collectionHardware" >
1184
        <xsl:element name="gmd:collectionHardware" >
1185
          <xsl:value-of select="." />
1186
        </xsl:element>
1187
      </xsl:for-each>
1188
      <xsl:for-each select="collectionSession" >
1189
        <xsl:element name="gmd:collectionSession" >
1190
          <xsl:value-of select="." />
1191
        </xsl:element>
1192
      </xsl:for-each>
1193
      <xsl:for-each select="dataset" >
1194
        <xsl:element name="gmd:dataset" >
1195
          <xsl:value-of select="." />
1196
        </xsl:element>
1197
      </xsl:for-each>
1198
      <xsl:for-each select="series" >
1199
        <xsl:element name="gmd:series" >
1200
          <xsl:value-of select="." />
1201
        </xsl:element>
1202
      </xsl:for-each>
1203
      <xsl:for-each select="nonGeographicDataset" >
1204
        <xsl:element name="gmd:nonGeographicDataset" >
1205
          <xsl:value-of select="." />
1206
        </xsl:element>
1207
      </xsl:for-each>
1208
      <xsl:for-each select="dimensionGroup" >
1209
        <xsl:element name="gmd:dimensionGroup" >
1210
          <xsl:value-of select="." />
1211
        </xsl:element>
1212
      </xsl:for-each>
1213
      <xsl:for-each select="feature" >
1214
        <xsl:element name="gmd:feature" >
1215
          <xsl:value-of select="." />
1216
        </xsl:element>
1217
      </xsl:for-each>
1218
      <xsl:for-each select="featureType" >
1219
        <xsl:element name="gmd:featureType" >
1220
          <xsl:value-of select="." />
1221
        </xsl:element>
1222
      </xsl:for-each>
1223
      <xsl:for-each select="propertyType" >
1224
        <xsl:element name="gmd:propertyType" >
1225
          <xsl:value-of select="." />
1226
        </xsl:element>
1227
      </xsl:for-each>
1228
      <xsl:for-each select="fieldSession" >
1229
        <xsl:element name="gmd:fieldSession" >
1230
          <xsl:value-of select="." />
1231
        </xsl:element>
1232
      </xsl:for-each>
1233
      <xsl:for-each select="software" >
1234
        <xsl:element name="gmd:software" >
1235
          <xsl:value-of select="." />
1236
        </xsl:element>
1237
      </xsl:for-each>
1238
      <xsl:for-each select="service" >
1239
        <xsl:element name="gmd:service" >
1240
          <xsl:value-of select="." />
1241
        </xsl:element>
1242
      </xsl:for-each>
1243
      <xsl:for-each select="model" >
1244
        <xsl:element name="gmd:model" >
1245
          <xsl:value-of select="." />
1246
        </xsl:element>
1247
      </xsl:for-each>
1248
      <xsl:for-each select="tile" >
1249
        <xsl:element name="gmd:tile" >
1250
          <xsl:value-of select="." />
1251
        </xsl:element>
1252
      </xsl:for-each>
1253
    </xsl:element>
1254
  </xsl:template>
1255
  <xsl:template match="MD_Identification" >
1256
  </xsl:template>
1257
  <xsl:template match="MD_DataIdentification" >
1258
    <xsl:element name="gmd:MD_DataIdentification" >
1259
      <xsl:choose>
1260
        <xsl:when test="citation" >
1261
          <xsl:for-each select="citation[1]" >
1262
            <xsl:element name="gmd:citation" >
1263
              <xsl:apply-templates select="CI_Citation" />
1264
            </xsl:element>
1265
          </xsl:for-each>
1266
        </xsl:when>
1267
        <xsl:otherwise>
1268
          <xsl:element name="gmd:citation" >
1269
            
1270
          </xsl:element>
1271
        </xsl:otherwise>
1272
      </xsl:choose>
1273
      <xsl:choose>
1274
        <xsl:when test="abstract" >
1275
          <xsl:for-each select="abstract[1]" >
1276
            <xsl:element name="gmd:abstract" >
1277
              <xsl:element name="gco:CharacterString" >
1278
                <xsl:value-of select="." />
1279
              </xsl:element>
1280
            </xsl:element>
1281
          </xsl:for-each>
1282
        </xsl:when>
1283
        <xsl:otherwise>
1284
          <xsl:element name="gmd:abstract" >
1285
            
1286
          </xsl:element>
1287
        </xsl:otherwise>
1288
      </xsl:choose>
1289
      <xsl:for-each select="purpose[1]" >
1290
        <xsl:element name="gmd:purpose" >
1291
          <xsl:element name="gco:CharacterString" >
1292
            <xsl:value-of select="." />
1293
          </xsl:element>
1294
        </xsl:element>
1295
      </xsl:for-each>
1296
      <xsl:for-each select="credit" >
1297
        <xsl:element name="gmd:credit" >
1298
          <xsl:element name="gco:CharacterString" >
1299
            <xsl:value-of select="." />
1300
          </xsl:element>
1301
        </xsl:element>
1302
      </xsl:for-each>
1303
      <xsl:for-each select="status" >
1304
        <xsl:element name="gmd:status" >
1305
          <xsl:call-template name="codeListElement19139">
1306
            <xsl:with-param name="param" select="." />
1307
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1308
            <xsl:with-param name="listName">MD_ProgressCode</xsl:with-param>
1309
          </xsl:call-template>
1310
        </xsl:element>
1311
      </xsl:for-each>
1312
      <xsl:for-each select="pointOfContact" >
1313
        <xsl:element name="gmd:pointOfContact" >
1314
          <xsl:apply-templates select="CI_ResponsibleParty" />
1315
        </xsl:element>
1316
      </xsl:for-each>
1317
      <xsl:for-each select="resourceMaintenance" >
1318
        <xsl:element name="gmd:resourceMaintenance" >
1319
          <xsl:apply-templates select="MD_MaintenanceInformation" />
1320
        </xsl:element>
1321
      </xsl:for-each>
1322
      <xsl:for-each select="graphicOverview" >
1323
        <xsl:element name="gmd:graphicOverview" >
1324
          <xsl:apply-templates select="MD_BrowseGraphic" />
1325
        </xsl:element>
1326
      </xsl:for-each>
1327
      <xsl:for-each select="resourceFormat" >
1328
        <xsl:element name="gmd:resourceFormat" >
1329
          <xsl:apply-templates select="MD_Format" />
1330
        </xsl:element>
1331
      </xsl:for-each>
1332
      <xsl:for-each select="descriptiveKeywords" >
1333
        <xsl:element name="gmd:descriptiveKeywords" >
1334
          <xsl:apply-templates select="MD_Keywords" />
1335
        </xsl:element>
1336
      </xsl:for-each>
1337
      <xsl:for-each select="resourceSpecificUsage" >
1338
        <xsl:element name="gmd:resourceSpecificUsage" >
1339
          <xsl:apply-templates select="MD_usage" />
1340
        </xsl:element>
1341
      </xsl:for-each>
1342
      <xsl:for-each select="resourceConstraints" >
1343
        <xsl:element name="gmd:resourceConstraints" >
1344
          <xsl:apply-templates select="MD_Constraints" />
1345
          <xsl:apply-templates select="MD_LegalConstraints" />
1346
          <xsl:apply-templates select="MD_SecurityConstraints" />
1347
        </xsl:element>
1348
      </xsl:for-each>
1349
      <xsl:for-each select="aggregationInfo" >
1350
        <xsl:element name="gmd:aggregationInfo" >
1351
          <xsl:apply-templates select="MD_AggregateInformation" />
1352
        </xsl:element>
1353
      </xsl:for-each>
1354
      <xsl:for-each select="spatialRepresentationType" >
1355
        <xsl:element name="gmd:spatialRepresentationType" >
1356
          <xsl:call-template name="codeListElement19139">
1357
            <xsl:with-param name="param" select="." />
1358
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1359
            <xsl:with-param name="listName">MD_SpatialRepresentationTypeCode</xsl:with-param>
1360
          </xsl:call-template>
1361
        </xsl:element>
1362
      </xsl:for-each>
1363
      <xsl:for-each select="spatialResolution" >
1364
        <xsl:element name="gmd:spatialResolution" >
1365
          <xsl:apply-templates select="MD_Resolution" />
1366
        </xsl:element>
1367
      </xsl:for-each>
1368
      <xsl:choose>
1369
        <xsl:when test="language" >
1370
          <xsl:for-each select="language" >
1371
            <xsl:element name="gmd:language" >
1372
              <xsl:element name="gco:CharacterString" >
1373
                <xsl:value-of select="." />
1374
              </xsl:element>
1375
            </xsl:element>
1376
          </xsl:for-each>
1377
        </xsl:when>
1378
        <xsl:otherwise>
1379
          <xsl:element name="gmd:language" >
1380
            
1381
          </xsl:element>
1382
        </xsl:otherwise>
1383
      </xsl:choose>
1384
      <xsl:for-each select="characterSet" >
1385
        <xsl:element name="gmd:characterSet" >
1386
          <xsl:call-template name="codeListElement19139">
1387
            <xsl:with-param name="param" select="." />
1388
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1389
            <xsl:with-param name="listName">MD_CharacterSetCode</xsl:with-param>
1390
          </xsl:call-template>
1391
        </xsl:element>
1392
      </xsl:for-each>
1393
      <xsl:for-each select="topicCategory" >
1394
        <xsl:element name="gmd:topicCategory" >
1395
          <xsl:call-template name="putTopicCategory">
1396
            <xsl:with-param name="param" select="." />
1397
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1398
            <xsl:with-param name="listName">MD_TopicCategoryCode</xsl:with-param>
1399
          </xsl:call-template>
1400
        </xsl:element>
1401
      </xsl:for-each>
1402
      <xsl:for-each select="environmentDescription[1]" >
1403
        <xsl:element name="gmd:environmentDescription" >
1404
          <xsl:element name="gco:CharacterString" >
1405
            <xsl:value-of select="." />
1406
          </xsl:element>
1407
        </xsl:element>
1408
      </xsl:for-each>
1409
      <xsl:for-each select="extent" >
1410
        <xsl:element name="gmd:extent" >
1411
          <xsl:apply-templates select="EX_Extent" />
1412
        </xsl:element>
1413
      </xsl:for-each>
1414
      <xsl:for-each select="supplementalInformation[1]" >
1415
        <xsl:element name="gmd:supplementalInformation" >
1416
          <xsl:element name="gco:CharacterString" >
1417
            <xsl:value-of select="." />
1418
          </xsl:element>
1419
        </xsl:element>
1420
      </xsl:for-each>
1421
    </xsl:element>
1422
  </xsl:template>
1423
  <xsl:template match="MD_ServiceIdentification" >
1424
    <xsl:element name="gmd:MD_ServiceIdentification" >
1425
      <xsl:choose>
1426
        <xsl:when test="citation" >
1427
          <xsl:for-each select="citation[1]" >
1428
            <xsl:element name="gmd:citation" >
1429
              <xsl:apply-templates select="CI_Citation" />
1430
            </xsl:element>
1431
          </xsl:for-each>
1432
        </xsl:when>
1433
        <xsl:otherwise>
1434
          <xsl:element name="gmd:citation" >
1435
            
1436
          </xsl:element>
1437
        </xsl:otherwise>
1438
      </xsl:choose>
1439
      <xsl:choose>
1440
        <xsl:when test="abstract" >
1441
          <xsl:for-each select="abstract[1]" >
1442
            <xsl:element name="gmd:abstract" >
1443
              <xsl:element name="gco:CharacterString" >
1444
                <xsl:value-of select="." />
1445
              </xsl:element>
1446
            </xsl:element>
1447
          </xsl:for-each>
1448
        </xsl:when>
1449
        <xsl:otherwise>
1450
          <xsl:element name="gmd:abstract" >
1451
            
1452
          </xsl:element>
1453
        </xsl:otherwise>
1454
      </xsl:choose>
1455
      <xsl:for-each select="purpose[1]" >
1456
        <xsl:element name="gmd:purpose" >
1457
          <xsl:element name="gco:CharacterString" >
1458
            <xsl:value-of select="." />
1459
          </xsl:element>
1460
        </xsl:element>
1461
      </xsl:for-each>
1462
      <xsl:for-each select="credit" >
1463
        <xsl:element name="gmd:credit" >
1464
          <xsl:element name="gco:CharacterString" >
1465
            <xsl:value-of select="." />
1466
          </xsl:element>
1467
        </xsl:element>
1468
      </xsl:for-each>
1469
      <xsl:for-each select="status" >
1470
        <xsl:element name="gmd:status" >
1471
          <xsl:call-template name="codeListElement19139">
1472
            <xsl:with-param name="param" select="." />
1473
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1474
            <xsl:with-param name="listName">MD_ProgressCode</xsl:with-param>
1475
          </xsl:call-template>
1476
        </xsl:element>
1477
      </xsl:for-each>
1478
      <xsl:for-each select="pointOfContact" >
1479
        <xsl:element name="gmd:pointOfContact" >
1480
          <xsl:apply-templates select="CI_ResponsibleParty" />
1481
        </xsl:element>
1482
      </xsl:for-each>
1483
      <xsl:for-each select="resourceMaintenance" >
1484
        <xsl:element name="gmd:resourceMaintenance" >
1485
          <xsl:apply-templates select="MD_MaintenanceInformation" />
1486
        </xsl:element>
1487
      </xsl:for-each>
1488
      <xsl:for-each select="graphicOverview" >
1489
        <xsl:element name="gmd:graphicOverview" >
1490
          <xsl:apply-templates select="MD_BrowseGraphic" />
1491
        </xsl:element>
1492
      </xsl:for-each>
1493
      <xsl:for-each select="resourceFormat" >
1494
        <xsl:element name="gmd:resourceFormat" >
1495
          <xsl:apply-templates select="MD_Format" />
1496
        </xsl:element>
1497
      </xsl:for-each>
1498
      <xsl:for-each select="descriptiveKeywords" >
1499
        <xsl:element name="gmd:descriptiveKeywords" >
1500
          <xsl:apply-templates select="MD_Keywords" />
1501
        </xsl:element>
1502
      </xsl:for-each>
1503
      <xsl:for-each select="resourceSpecificUsage" >
1504
        <xsl:element name="gmd:resourceSpecificUsage" >
1505
          <xsl:apply-templates select="MD_usage" />
1506
        </xsl:element>
1507
      </xsl:for-each>
1508
      <xsl:for-each select="resourceConstraints" >
1509
        <xsl:element name="gmd:resourceConstraints" >
1510
          <xsl:apply-templates select="MD_Constraints" />
1511
          <xsl:apply-templates select="MD_LegalConstraints" />
1512
          <xsl:apply-templates select="MD_SecurityConstraints" />
1513
        </xsl:element>
1514
      </xsl:for-each>
1515
      <xsl:for-each select="aggregationInfo" >
1516
        <xsl:element name="gmd:aggregationInfo" >
1517
          <xsl:apply-templates select="MD_AggregateInformation" />
1518
        </xsl:element>
1519
      </xsl:for-each>
1520
    </xsl:element>
1521
  </xsl:template>
1522
  <xsl:template match="MD_SpatialRepresentationTypeCode" >
1523
    <xsl:element name="gmd:MD_SpatialRepresentationTypeCode" >
1524
      <xsl:for-each select="vector" >
1525
        <xsl:element name="gmd:vector" >
1526
          <xsl:value-of select="." />
1527
        </xsl:element>
1528
      </xsl:for-each>
1529
      <xsl:for-each select="grid" >
1530
        <xsl:element name="gmd:grid" >
1531
          <xsl:value-of select="." />
1532
        </xsl:element>
1533
      </xsl:for-each>
1534
      <xsl:for-each select="textTable" >
1535
        <xsl:element name="gmd:textTable" >
1536
          <xsl:value-of select="." />
1537
        </xsl:element>
1538
      </xsl:for-each>
1539
      <xsl:for-each select="tin" >
1540
        <xsl:element name="gmd:tin" >
1541
          <xsl:value-of select="." />
1542
        </xsl:element>
1543
      </xsl:for-each>
1544
      <xsl:for-each select="stereoModel" >
1545
        <xsl:element name="gmd:stereoModel" >
1546
          <xsl:value-of select="." />
1547
        </xsl:element>
1548
      </xsl:for-each>
1549
      <xsl:for-each select="video" >
1550
        <xsl:element name="gmd:video" >
1551
          <xsl:value-of select="." />
1552
        </xsl:element>
1553
      </xsl:for-each>
1554
    </xsl:element>
1555
  </xsl:template>
1556
  <xsl:template match="MD_TopicCategoryCode" >
1557
    <xsl:element name="gmd:MD_TopicCategoryCode" >
1558
      <xsl:for-each select="farming" >
1559
        <xsl:element name="gmd:farming" >
1560
          <xsl:value-of select="." />
1561
        </xsl:element>
1562
      </xsl:for-each>
1563
      <xsl:for-each select="biota" >
1564
        <xsl:element name="gmd:biota" >
1565
          <xsl:value-of select="." />
1566
        </xsl:element>
1567
      </xsl:for-each>
1568
      <xsl:for-each select="boundaries" >
1569
        <xsl:element name="gmd:boundaries" >
1570
          <xsl:value-of select="." />
1571
        </xsl:element>
1572
      </xsl:for-each>
1573
      <xsl:for-each select="climatologyMeteorologyAtmosphere" >
1574
        <xsl:element name="gmd:climatologyMeteorologyAtmosphere" >
1575
          <xsl:value-of select="." />
1576
        </xsl:element>
1577
      </xsl:for-each>
1578
      <xsl:for-each select="economy" >
1579
        <xsl:element name="gmd:economy" >
1580
          <xsl:value-of select="." />
1581
        </xsl:element>
1582
      </xsl:for-each>
1583
      <xsl:for-each select="elevation" >
1584
        <xsl:element name="gmd:elevation" >
1585
          <xsl:value-of select="." />
1586
        </xsl:element>
1587
      </xsl:for-each>
1588
      <xsl:for-each select="environment" >
1589
        <xsl:element name="gmd:environment" >
1590
          <xsl:value-of select="." />
1591
        </xsl:element>
1592
      </xsl:for-each>
1593
      <xsl:for-each select="geoscientificInformation" >
1594
        <xsl:element name="gmd:geoscientificInformation" >
1595
          <xsl:value-of select="." />
1596
        </xsl:element>
1597
      </xsl:for-each>
1598
      <xsl:for-each select="health" >
1599
        <xsl:element name="gmd:health" >
1600
          <xsl:value-of select="." />
1601
        </xsl:element>
1602
      </xsl:for-each>
1603
      <xsl:for-each select="imageryBaseMapsEarthCover" >
1604
        <xsl:element name="gmd:imageryBaseMapsEarthCover" >
1605
          <xsl:value-of select="." />
1606
        </xsl:element>
1607
      </xsl:for-each>
1608
      <xsl:for-each select="intelligenceMilitary" >
1609
        <xsl:element name="gmd:intelligenceMilitary" >
1610
          <xsl:value-of select="." />
1611
        </xsl:element>
1612
      </xsl:for-each>
1613
      <xsl:for-each select="inlandWaters" >
1614
        <xsl:element name="gmd:inlandWaters" >
1615
          <xsl:value-of select="." />
1616
        </xsl:element>
1617
      </xsl:for-each>
1618
      <xsl:for-each select="location" >
1619
        <xsl:element name="gmd:location" >
1620
          <xsl:value-of select="." />
1621
        </xsl:element>
1622
      </xsl:for-each>
1623
      <xsl:for-each select="oceans" >
1624
        <xsl:element name="gmd:oceans" >
1625
          <xsl:value-of select="." />
1626
        </xsl:element>
1627
      </xsl:for-each>
1628
      <xsl:for-each select="planningCadastre" >
1629
        <xsl:element name="gmd:planningCadastre" >
1630
          <xsl:value-of select="." />
1631
        </xsl:element>
1632
      </xsl:for-each>
1633
      <xsl:for-each select="society" >
1634
        <xsl:element name="gmd:society" >
1635
          <xsl:value-of select="." />
1636
        </xsl:element>
1637
      </xsl:for-each>
1638
      <xsl:for-each select="structure" >
1639
        <xsl:element name="gmd:structure" >
1640
          <xsl:value-of select="." />
1641
        </xsl:element>
1642
      </xsl:for-each>
1643
      <xsl:for-each select="transportation" >
1644
        <xsl:element name="gmd:transportation" >
1645
          <xsl:value-of select="." />
1646
        </xsl:element>
1647
      </xsl:for-each>
1648
      <xsl:for-each select="utilitiesCommunication" >
1649
        <xsl:element name="gmd:utilitiesCommunication" >
1650
          <xsl:value-of select="." />
1651
        </xsl:element>
1652
      </xsl:for-each>
1653
    </xsl:element>
1654
  </xsl:template>
1655
  <xsl:template match="MD_TopologyLevelCode" >
1656
    <xsl:element name="gmd:MD_TopologyLevelCode" >
1657
      <xsl:for-each select="geometryOnly" >
1658
        <xsl:element name="gmd:geometryOnly" >
1659
          <xsl:value-of select="." />
1660
        </xsl:element>
1661
      </xsl:for-each>
1662
      <xsl:for-each select="topology1D" >
1663
        <xsl:element name="gmd:topology1D" >
1664
          <xsl:value-of select="." />
1665
        </xsl:element>
1666
      </xsl:for-each>
1667
      <xsl:for-each select="planarGraph" >
1668
        <xsl:element name="gmd:planarGraph" >
1669
          <xsl:value-of select="." />
1670
        </xsl:element>
1671
      </xsl:for-each>
1672
      <xsl:for-each select="fullPlanarGraph" >
1673
        <xsl:element name="gmd:fullPlanarGraph" >
1674
          <xsl:value-of select="." />
1675
        </xsl:element>
1676
      </xsl:for-each>
1677
      <xsl:for-each select="surfaceGraph" >
1678
        <xsl:element name="gmd:surfaceGraph" >
1679
          <xsl:value-of select="." />
1680
        </xsl:element>
1681
      </xsl:for-each>
1682
      <xsl:for-each select="fullSurfaceGraph" >
1683
        <xsl:element name="gmd:fullSurfaceGraph" >
1684
          <xsl:value-of select="." />
1685
        </xsl:element>
1686
      </xsl:for-each>
1687
      <xsl:for-each select="topology3D" >
1688
        <xsl:element name="gmd:topology3D" >
1689
          <xsl:value-of select="." />
1690
        </xsl:element>
1691
      </xsl:for-each>
1692
      <xsl:for-each select="fullTopology3D" >
1693
        <xsl:element name="gmd:fullTopology3D" >
1694
          <xsl:value-of select="." />
1695
        </xsl:element>
1696
      </xsl:for-each>
1697
      <xsl:for-each select="abstract" >
1698
        <xsl:element name="gmd:abstract" >
1699
          <xsl:value-of select="." />
1700
        </xsl:element>
1701
      </xsl:for-each>
1702
    </xsl:element>
1703
  </xsl:template>
1704
  <xsl:template match="MD_BrowseGraphic" >
1705
    <xsl:element name="gmd:MD_BrowseGraphic" >
1706
      <xsl:choose>
1707
        <xsl:when test="fileName" >
1708
          <xsl:for-each select="fileName[1]" >
1709
            <xsl:element name="gmd:fileName" >
1710
              <xsl:element name="gco:CharacterString" >
1711
                <xsl:value-of select="." />
1712
              </xsl:element>
1713
            </xsl:element>
1714
          </xsl:for-each>
1715
        </xsl:when>
1716
        <xsl:otherwise>
1717
          <xsl:element name="gmd:fileName" >
1718
            
1719
          </xsl:element>
1720
        </xsl:otherwise>
1721
      </xsl:choose>
1722
      <xsl:for-each select="fileDescription[1]" >
1723
        <xsl:element name="gmd:fileDescription" >
1724
          <xsl:element name="gco:CharacterString" >
1725
            <xsl:value-of select="." />
1726
          </xsl:element>
1727
        </xsl:element>
1728
      </xsl:for-each>
1729
      <xsl:for-each select="fileType[1]" >
1730
        <xsl:element name="gmd:fileType" >
1731
          <xsl:element name="gco:CharacterString" >
1732
            <xsl:value-of select="." />
1733
          </xsl:element>
1734
        </xsl:element>
1735
      </xsl:for-each>
1736
    </xsl:element>
1737
  </xsl:template>
1738
  <xsl:template match="MD_Keywords" >
1739
    <xsl:element name="gmd:MD_Keywords" >
1740
      <xsl:choose>
1741
        <xsl:when test="keyword" >
1742
          <xsl:for-each select="keyword" >
1743
            <xsl:element name="gmd:keyword" >
1744
              <xsl:element name="gco:CharacterString" >
1745
                <xsl:value-of select="." />
1746
              </xsl:element>
1747
            </xsl:element>
1748
          </xsl:for-each>
1749
        </xsl:when>
1750
        <xsl:otherwise>
1751
          <xsl:element name="gmd:keyword" >
1752
            
1753
          </xsl:element>
1754
        </xsl:otherwise>
1755
      </xsl:choose>
1756
      <xsl:for-each select="type[1]" >
1757
        <xsl:element name="gmd:type" >
1758
          <xsl:call-template name="codeListElement19139">
1759
            <xsl:with-param name="param" select="." />
1760
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1761
            <xsl:with-param name="listName">MD_KeywordTypeCode</xsl:with-param>
1762
          </xsl:call-template>
1763
        </xsl:element>
1764
      </xsl:for-each>
1765
      <xsl:for-each select="thesaurusName[1]" >
1766
        <xsl:element name="gmd:thesaurusName" >
1767
          <xsl:apply-templates select="CI_Citation" />
1768
        </xsl:element>
1769
      </xsl:for-each>
1770
    </xsl:element>
1771
  </xsl:template>
1772
  <xsl:template match="MD_RepresentativeFraction" >
1773
    <xsl:element name="gmd:MD_RepresentativeFraction" >
1774
      <xsl:choose>
1775
        <xsl:when test="denominator" >
1776
          <xsl:for-each select="denominator[1]" >
1777
            <xsl:element name="gmd:denominator" >
1778
              <xsl:element name="gco:Integer" >
1779
                <xsl:call-template name="stringToInteger">
1780
                  <xsl:with-param name="param" select="." />
1781
                </xsl:call-template>
1782
              </xsl:element>
1783
            </xsl:element>
1784
          </xsl:for-each>
1785
        </xsl:when>
1786
        <xsl:otherwise>
1787
          <xsl:element name="gmd:denominator" >
1788
            
1789
            <xsl:call-template name="stringToInteger">
1790
              <xsl:with-param name="param" select="." />
1791
            </xsl:call-template>
1792
          </xsl:element>
1793
        </xsl:otherwise>
1794
      </xsl:choose>
1795
    </xsl:element>
1796
  </xsl:template>
1797
  <xsl:template match="MD_usage" >
1798
    <xsl:element name="gmd:MD_Usage" >
1799
      <xsl:choose>
1800
        <xsl:when test="specificUsage" >
1801
          <xsl:for-each select="specificUsage[1]" >
1802
            <xsl:element name="gmd:specificUsage" >
1803
              <xsl:element name="gco:CharacterString" >
1804
                <xsl:value-of select="." />
1805
              </xsl:element>
1806
            </xsl:element>
1807
          </xsl:for-each>
1808
        </xsl:when>
1809
        <xsl:otherwise>
1810
          <xsl:element name="gmd:specificUsage" >
1811
            
1812
          </xsl:element>
1813
        </xsl:otherwise>
1814
      </xsl:choose>
1815
      <xsl:for-each select="usageDateTime[1]" >
1816
        <xsl:element name="gmd:usageDateTime" >
1817
          <xsl:element name="gco:DateTime" >
1818
            <xsl:call-template name="convertDateTime">
1819
              <xsl:with-param name="param" select="." />
1820
            </xsl:call-template>
1821
          </xsl:element>
1822
        </xsl:element>
1823
      </xsl:for-each>
1824
      <xsl:for-each select="userDeterminedLimitations[1]" >
1825
        <xsl:element name="gmd:userDeterminedLimitations" >
1826
          <xsl:element name="gco:CharacterString" >
1827
            <xsl:value-of select="." />
1828
          </xsl:element>
1829
        </xsl:element>
1830
      </xsl:for-each>
1831
      <xsl:choose>
1832
        <xsl:when test="userContactInfo" >
1833
          <xsl:for-each select="userContactInfo" >
1834
            <xsl:element name="gmd:userContactInfo" >
1835
              <xsl:apply-templates select="CI_ResponsibleParty" />
1836
            </xsl:element>
1837
          </xsl:for-each>
1838
        </xsl:when>
1839
        <xsl:otherwise>
1840
          <xsl:element name="gmd:userContactInfo" >
1841
            
1842
          </xsl:element>
1843
        </xsl:otherwise>
1844
      </xsl:choose>
1845
    </xsl:element>
1846
  </xsl:template>
1847
  <xsl:template match="MD_AggregateInformation" >
1848
    <xsl:element name="gmd:MD_AggregateInformation" >
1849
      <xsl:for-each select="aggregateDataSetName[1]" >
1850
        <xsl:element name="gmd:aggregateDataSetName" >
1851
          <xsl:apply-templates select="CI_Citation" />
1852
        </xsl:element>
1853
      </xsl:for-each>
1854
      <xsl:for-each select="aggregateDataSetIdentifier[1]" >
1855
        <xsl:element name="gmd:aggregateDataSetIdentifier" >
1856
          <xsl:apply-templates select="MD_Identifier" />
1857
          <xsl:apply-templates select="RS_Identifier" />
1858
        </xsl:element>
1859
      </xsl:for-each>
1860
      <xsl:choose>
1861
        <xsl:when test="associationType" >
1862
          <xsl:for-each select="associationType[1]" >
1863
            <xsl:element name="gmd:associationType" >
1864
              <xsl:call-template name="codeListElement19139">
1865
                <xsl:with-param name="param" select="." />
1866
                <xsl:with-param name="namespace">gmd</xsl:with-param>
1867
                <xsl:with-param name="listName">DS_AssociationTypeCode</xsl:with-param>
1868
              </xsl:call-template>
1869
            </xsl:element>
1870
          </xsl:for-each>
1871
        </xsl:when>
1872
        <xsl:otherwise>
1873
          <xsl:element name="gmd:associationType" >
1874
            
1875
            <xsl:call-template name="codeListElement19139">
1876
              <xsl:with-param name="param" select="." />
1877
              <xsl:with-param name="namespace">gmd</xsl:with-param>
1878
              <xsl:with-param name="listName">DS_AssociationTypeCode</xsl:with-param>
1879
            </xsl:call-template>
1880
          </xsl:element>
1881
        </xsl:otherwise>
1882
      </xsl:choose>
1883
      <xsl:for-each select="initiativeType[1]" >
1884
        <xsl:element name="gmd:initiativeType" >
1885
          <xsl:call-template name="codeListElement19139">
1886
            <xsl:with-param name="param" select="." />
1887
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1888
            <xsl:with-param name="listName">DS_InitiativeTypeCode</xsl:with-param>
1889
          </xsl:call-template>
1890
        </xsl:element>
1891
      </xsl:for-each>
1892
    </xsl:element>
1893
  </xsl:template>
1894
  <xsl:template match="MD_Constraints" >
1895
    <xsl:element name="gmd:MD_Constraints" >
1896
      <xsl:for-each select="useLimitation" >
1897
        <xsl:element name="gmd:useLimitation" >
1898
          <xsl:element name="gco:CharacterString" >
1899
            <xsl:value-of select="." />
1900
          </xsl:element>
1901
        </xsl:element>
1902
      </xsl:for-each>
1903
    </xsl:element>
1904
  </xsl:template>
1905
  <xsl:template match="MD_LegalConstraints" >
1906
    <xsl:element name="gmd:MD_LegalConstraints" >
1907
      <xsl:for-each select="useLimitation" >
1908
        <xsl:element name="gmd:useLimitation" >
1909
          <xsl:element name="gco:CharacterString" >
1910
            <xsl:value-of select="." />
1911
          </xsl:element>
1912
        </xsl:element>
1913
      </xsl:for-each>
1914
      <xsl:for-each select="accessConstraints" >
1915
        <xsl:element name="gmd:accessConstraints" >
1916
          <xsl:call-template name="codeListElement19139">
1917
            <xsl:with-param name="param" select="." />
1918
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1919
            <xsl:with-param name="listName">MD_RestrictionCode</xsl:with-param>
1920
          </xsl:call-template>
1921
        </xsl:element>
1922
      </xsl:for-each>
1923
      <xsl:for-each select="useConstraints" >
1924
        <xsl:element name="gmd:useConstraints" >
1925
          <xsl:call-template name="codeListElement19139">
1926
            <xsl:with-param name="param" select="." />
1927
            <xsl:with-param name="namespace">gmd</xsl:with-param>
1928
            <xsl:with-param name="listName">MD_RestrictionCode</xsl:with-param>
1929
          </xsl:call-template>
1930
        </xsl:element>
1931
      </xsl:for-each>
1932
      <xsl:for-each select="otherConstraints" >
1933
        <xsl:element name="gmd:otherConstraints" >
1934
          <xsl:element name="gco:CharacterString" >
1935
            <xsl:value-of select="." />
1936
          </xsl:element>
1937
        </xsl:element>
1938
      </xsl:for-each>
1939
    </xsl:element>
1940
  </xsl:template>
1941
  <xsl:template match="MD_SecurityConstraints" >
1942
    <xsl:element name="gmd:MD_SecurityConstraints" >
1943
      <xsl:for-each select="useLimitation" >
1944
        <xsl:element name="gmd:useLimitation" >
1945
          <xsl:element name="gco:CharacterString" >
1946
            <xsl:value-of select="." />
1947
          </xsl:element>
1948
        </xsl:element>
1949
      </xsl:for-each>
1950
      <xsl:choose>
1951
        <xsl:when test="classification" >
1952
          <xsl:for-each select="classification[1]" >
1953
            <xsl:element name="gmd:classification" >
1954
              <xsl:call-template name="codeListElement19139">
1955
                <xsl:with-param name="param" select="." />
1956
                <xsl:with-param name="namespace">gmd</xsl:with-param>
1957
                <xsl:with-param name="listName">MD_ClassificationCode</xsl:with-param>
1958
              </xsl:call-template>
1959
            </xsl:element>
1960
          </xsl:for-each>
1961
        </xsl:when>
1962
        <xsl:otherwise>
1963
          <xsl:element name="gmd:classification" >
1964
            
1965
            <xsl:call-template name="codeListElement19139">
1966
              <xsl:with-param name="param" select="." />
1967
              <xsl:with-param name="namespace">gmd</xsl:with-param>
1968
              <xsl:with-param name="listName">MD_ClassificationCode</xsl:with-param>
1969
            </xsl:call-template>
1970
          </xsl:element>
1971
        </xsl:otherwise>
1972
      </xsl:choose>
1973
      <xsl:for-each select="userNote[1]" >
1974
        <xsl:element name="gmd:userNote" >
1975
          <xsl:element name="gco:CharacterString" >
1976
            <xsl:value-of select="." />
1977
          </xsl:element>
1978
        </xsl:element>
1979
      </xsl:for-each>
1980
      <xsl:for-each select="classificationSystem[1]" >
1981
        <xsl:element name="gmd:classificationSystem" >
1982
          <xsl:element name="gco:CharacterString" >
1983
            <xsl:value-of select="." />
1984
          </xsl:element>
1985
        </xsl:element>
1986
      </xsl:for-each>
1987
      <xsl:for-each select="handlingDescription[1]" >
1988
        <xsl:element name="gmd:handlingDescription" >
1989
          <xsl:element name="gco:CharacterString" >
1990
            <xsl:value-of select="." />
1991
          </xsl:element>
1992
        </xsl:element>
1993
      </xsl:for-each>
1994
    </xsl:element>
1995
  </xsl:template>
1996
  <xsl:template match="DQ_DataQuality" >
1997
    <xsl:element name="gmd:DQ_DataQuality" >
1998
      <xsl:choose>
1999
        <xsl:when test="scope" >
2000
          <xsl:for-each select="scope[1]" >
2001
            <xsl:element name="gmd:scope" >
2002
              <xsl:apply-templates select="DQ_Scope" />
2003
            </xsl:element>
2004
          </xsl:for-each>
2005
        </xsl:when>
2006
        <xsl:otherwise>
2007
          <xsl:element name="gmd:scope" >
2008
            
2009
          </xsl:element>
2010
        </xsl:otherwise>
2011
      </xsl:choose>
2012
      <xsl:for-each select="report" >
2013
        <xsl:element name="gmd:report" >
2014
          <xsl:apply-templates select="DQ_Element" />
2015
          <xsl:apply-templates select="DQ_Completeness" />
2016
          <xsl:apply-templates select="DQ_CompletenessCommission" />
2017
          <xsl:apply-templates select="DQ_CompletenessOmmission" />
2018
          <xsl:apply-templates select="DQ_LogicalConsistency" />
2019
          <xsl:apply-templates select="DQ_ConceptualConsistency" />
2020
          <xsl:apply-templates select="DQ_DomainConsistency" />
2021
          <xsl:apply-templates select="DQ_FormatConsistency" />
2022
          <xsl:apply-templates select="DQ_TopologicalConsistency" />
2023
          <xsl:apply-templates select="DQ_PositionalAccuracy" />
2024
          <xsl:apply-templates select="DQ_AbsoluteExternalPositionalAccuracy" />
2025
          <xsl:apply-templates select="DQ_GriddedDataPositionalAccuracy" />
2026
          <xsl:apply-templates select="DQ_RelativeInternalPositionalAccuracy" />
2027
          <xsl:apply-templates select="DQ_TemporalAccuracy" />
2028
          <xsl:apply-templates select="DQ_AccuracyOfATimeMeasurement" />
2029
          <xsl:apply-templates select="DQ_TemporalConsistency" />
2030
          <xsl:apply-templates select="DQ_TemporalValidity" />
2031
          <xsl:apply-templates select="DQ_ThematicAccuracy" />
2032
          <xsl:apply-templates select="DQ_ThematicClassificationCorrectness" />
2033
          <xsl:apply-templates select="DQ_NonQuantitativeAttributeAccuracy" />
2034
          <xsl:apply-templates select="DQ_QuantitativeAttributeAccuracy" />
2035
        </xsl:element>
2036
      </xsl:for-each>
2037
      <xsl:for-each select="lineage[1]" >
2038
        <xsl:element name="gmd:lineage" >
2039
          <xsl:apply-templates select="LI_Lineage" />
2040
        </xsl:element>
2041
      </xsl:for-each>
2042
    </xsl:element>
2043
  </xsl:template>
2044
  <xsl:template match="LI_Lineage" >
2045
    <xsl:element name="gmd:LI_Lineage" >
2046
      <xsl:for-each select="statement[1]" >
2047
        <xsl:element name="gmd:statement" >
2048
          <xsl:element name="gco:CharacterString" >
2049
            <xsl:value-of select="." />
2050
          </xsl:element>
2051
        </xsl:element>
2052
      </xsl:for-each>
2053
      <xsl:for-each select="processStep" >
2054
        <xsl:element name="gmd:processStep" >
2055
          <xsl:apply-templates select="LI_ProcessStep" />
2056
        </xsl:element>
2057
      </xsl:for-each>
2058
      <xsl:for-each select="source" >
2059
        <xsl:element name="gmd:source" >
2060
          <xsl:apply-templates select="LI_Source" />
2061
        </xsl:element>
2062
      </xsl:for-each>
2063
    </xsl:element>
2064
  </xsl:template>
2065
  <xsl:template match="LI_ProcessStep" >
2066
    <xsl:element name="gmd:LI_ProcessStep" >
2067
      <xsl:choose>
2068
        <xsl:when test="description" >
2069
          <xsl:for-each select="description[1]" >
2070
            <xsl:element name="gmd:description" >
2071
              <xsl:element name="gco:CharacterString" >
2072
                <xsl:value-of select="." />
2073
              </xsl:element>
2074
            </xsl:element>
2075
          </xsl:for-each>
2076
        </xsl:when>
2077
        <xsl:otherwise>
2078
          <xsl:element name="gmd:description" >
2079
            
2080
          </xsl:element>
2081
        </xsl:otherwise>
2082
      </xsl:choose>
2083
      <xsl:for-each select="rationale[1]" >
2084
        <xsl:element name="gmd:rationale" >
2085
          <xsl:element name="gco:CharacterString" >
2086
            <xsl:value-of select="." />
2087
          </xsl:element>
2088
        </xsl:element>
2089
      </xsl:for-each>
2090
      <xsl:for-each select="dateTime[1]" >
2091
        <xsl:element name="gmd:dateTime" >
2092
          <xsl:element name="gco:DateTime" >
2093
            <xsl:call-template name="convertDateTime">
2094
              <xsl:with-param name="param" select="." />
2095
            </xsl:call-template>
2096
          </xsl:element>
2097
        </xsl:element>
2098
      </xsl:for-each>
2099
      <xsl:for-each select="processor" >
2100
        <xsl:element name="gmd:processor" >
2101
          <xsl:apply-templates select="CI_ResponsibleParty" />
2102
        </xsl:element>
2103
      </xsl:for-each>
2104
      <xsl:for-each select="source" >
2105
        <xsl:element name="gmd:source" >
2106
          <xsl:apply-templates select="LI_Source" />
2107
        </xsl:element>
2108
      </xsl:for-each>
2109
    </xsl:element>
2110
  </xsl:template>
2111
  <xsl:template match="LI_Source" >
2112
    <xsl:element name="gmd:LI_Source" >
2113
      <xsl:for-each select="description[1]" >
2114
        <xsl:element name="gmd:description" >
2115
          <xsl:element name="gco:CharacterString" >
2116
            <xsl:value-of select="." />
2117
          </xsl:element>
2118
        </xsl:element>
2119
      </xsl:for-each>
2120
      <xsl:for-each select="scaleDenominator[1]" >
2121
        <xsl:element name="gmd:scaleDenominator" >
2122
          <xsl:apply-templates select="MD_RepresentativeFraction" />
2123
        </xsl:element>
2124
      </xsl:for-each>
2125
      <xsl:for-each select="sourceReferenceSystem[1]" >
2126
        <xsl:element name="gmd:sourceReferenceSystem" >
2127
          <xsl:apply-templates select="MD_CRS" />
2128
        </xsl:element>
2129
      </xsl:for-each>
2130
      <xsl:for-each select="sourceCitation[1]" >
2131
        <xsl:element name="gmd:sourceCitation" >
2132
          <xsl:apply-templates select="CI_Citation" />
2133
        </xsl:element>
2134
      </xsl:for-each>
2135
      <xsl:for-each select="sourceExtent" >
2136
        <xsl:element name="gmd:sourceExtent" >
2137
          <xsl:apply-templates select="EX_Extent" />
2138
        </xsl:element>
2139
      </xsl:for-each>
2140
      <xsl:for-each select="sourceStep" >
2141
        <xsl:element name="gmd:sourceStep" >
2142
          <xsl:apply-templates select="LI_ProcessStep" />
2143
        </xsl:element>
2144
      </xsl:for-each>
2145
    </xsl:element>
2146
  </xsl:template>
2147
  <xsl:template match="DQ_Completeness" >
2148
  </xsl:template>
2149
  <xsl:template match="DQ_CompletenessCommission" >
2150
    <xsl:element name="gmd:DQ_CompletenessCommission" >
2151
      <xsl:for-each select="nameOfMeasure" >
2152
        <xsl:element name="gmd:nameOfMeasure" >
2153
          <xsl:element name="gco:CharacterString" >
2154
            <xsl:value-of select="." />
2155
          </xsl:element>
2156
        </xsl:element>
2157
      </xsl:for-each>
2158
      <xsl:for-each select="measureIdentification[1]" >
2159
        <xsl:element name="gmd:measureIdentification" >
2160
          <xsl:element name="gmd:MD_Identifier" >
2161
            <xsl:for-each select="authority[1]" >
2162
              <xsl:element name="gmd:authority" >
2163
                <xsl:apply-templates select="CI_Citation" />
2164
              </xsl:element>
2165
            </xsl:for-each>
2166
            <xsl:for-each select="code[1]" >
2167
              <xsl:element name="gmd:code" >
2168
                <xsl:element name="gco:CharacterString" >
2169
                  <xsl:value-of select="." />
2170
                </xsl:element>
2171
              </xsl:element>
2172
            </xsl:for-each>
2173
          </xsl:element>
2174
        </xsl:element>
2175
      </xsl:for-each>
2176
      <xsl:for-each select="measureDescription[1]" >
2177
        <xsl:element name="gmd:measureDescription" >
2178
          <xsl:element name="gco:CharacterString" >
2179
            <xsl:value-of select="." />
2180
          </xsl:element>
2181
        </xsl:element>
2182
      </xsl:for-each>
2183
      <xsl:for-each select="evaluationMethodType[1]" >
2184
        <xsl:element name="gmd:evaluationMethodType" >
2185
          <xsl:call-template name="codeListElement19139">
2186
            <xsl:with-param name="param" select="." />
2187
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2188
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2189
          </xsl:call-template>
2190
        </xsl:element>
2191
      </xsl:for-each>
2192
      <xsl:for-each select="evaluationMethodDescription[1]" >
2193
        <xsl:element name="gmd:evaluationMethodDescription" >
2194
          <xsl:element name="gco:CharacterString" >
2195
            <xsl:value-of select="." />
2196
          </xsl:element>
2197
        </xsl:element>
2198
      </xsl:for-each>
2199
      <xsl:for-each select="evaluationProcedure[1]" >
2200
        <xsl:element name="gmd:evaluationProcedure" >
2201
          <xsl:apply-templates select="CI_Citation" />
2202
        </xsl:element>
2203
      </xsl:for-each>
2204
      <xsl:for-each select="dateTime" >
2205
        <xsl:element name="gmd:dateTime" >
2206
          <xsl:element name="gco:DateTime" >
2207
            <xsl:call-template name="convertDateTime">
2208
              <xsl:with-param name="param" select="." />
2209
            </xsl:call-template>
2210
          </xsl:element>
2211
        </xsl:element>
2212
      </xsl:for-each>
2213
      <xsl:choose>
2214
        <xsl:when test="result" >
2215
          <xsl:for-each select="result" >
2216
            <xsl:element name="gmd:result" >
2217
              <xsl:apply-templates select="DQ_Result" />
2218
              <xsl:apply-templates select="DQ_ConformanceResult" />
2219
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2220
            </xsl:element>
2221
          </xsl:for-each>
2222
        </xsl:when>
2223
        <xsl:otherwise>
2224
          <xsl:element name="gmd:result" >
2225
            
2226
          </xsl:element>
2227
        </xsl:otherwise>
2228
      </xsl:choose>
2229
    </xsl:element>
2230
  </xsl:template>
2231
  <xsl:template match="DQ_CompletenessOmmission" >
2232
    <xsl:element name="gmd:DQ_CompletenessOmission" >
2233
      <xsl:for-each select="nameOfMeasure" >
2234
        <xsl:element name="gmd:nameOfMeasure" >
2235
          <xsl:element name="gco:CharacterString" >
2236
            <xsl:value-of select="." />
2237
          </xsl:element>
2238
        </xsl:element>
2239
      </xsl:for-each>
2240
      <xsl:for-each select="measureIdentification[1]" >
2241
        <xsl:element name="gmd:measureIdentification" >
2242
          <xsl:element name="gmd:MD_Identifier" >
2243
            <xsl:for-each select="authority[1]" >
2244
              <xsl:element name="gmd:authority" >
2245
                <xsl:apply-templates select="CI_Citation" />
2246
              </xsl:element>
2247
            </xsl:for-each>
2248
            <xsl:for-each select="code[1]" >
2249
              <xsl:element name="gmd:code" >
2250
                <xsl:element name="gco:CharacterString" >
2251
                  <xsl:value-of select="." />
2252
                </xsl:element>
2253
              </xsl:element>
2254
            </xsl:for-each>
2255
          </xsl:element>
2256
        </xsl:element>
2257
      </xsl:for-each>
2258
      <xsl:for-each select="measureDescription[1]" >
2259
        <xsl:element name="gmd:measureDescription" >
2260
          <xsl:element name="gco:CharacterString" >
2261
            <xsl:value-of select="." />
2262
          </xsl:element>
2263
        </xsl:element>
2264
      </xsl:for-each>
2265
      <xsl:for-each select="evaluationMethodType[1]" >
2266
        <xsl:element name="gmd:evaluationMethodType" >
2267
          <xsl:call-template name="codeListElement19139">
2268
            <xsl:with-param name="param" select="." />
2269
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2270
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2271
          </xsl:call-template>
2272
        </xsl:element>
2273
      </xsl:for-each>
2274
      <xsl:for-each select="evaluationMethodDescription[1]" >
2275
        <xsl:element name="gmd:evaluationMethodDescription" >
2276
          <xsl:element name="gco:CharacterString" >
2277
            <xsl:value-of select="." />
2278
          </xsl:element>
2279
        </xsl:element>
2280
      </xsl:for-each>
2281
      <xsl:for-each select="evaluationProcedure[1]" >
2282
        <xsl:element name="gmd:evaluationProcedure" >
2283
          <xsl:apply-templates select="CI_Citation" />
2284
        </xsl:element>
2285
      </xsl:for-each>
2286
      <xsl:for-each select="dateTime" >
2287
        <xsl:element name="gmd:dateTime" >
2288
          <xsl:element name="gco:DateTime" >
2289
            <xsl:call-template name="convertDateTime">
2290
              <xsl:with-param name="param" select="." />
2291
            </xsl:call-template>
2292
          </xsl:element>
2293
        </xsl:element>
2294
      </xsl:for-each>
2295
      <xsl:choose>
2296
        <xsl:when test="result" >
2297
          <xsl:for-each select="result" >
2298
            <xsl:element name="gmd:result" >
2299
              <xsl:apply-templates select="DQ_Result" />
2300
              <xsl:apply-templates select="DQ_ConformanceResult" />
2301
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2302
            </xsl:element>
2303
          </xsl:for-each>
2304
        </xsl:when>
2305
        <xsl:otherwise>
2306
          <xsl:element name="gmd:result" >
2307
            
2308
          </xsl:element>
2309
        </xsl:otherwise>
2310
      </xsl:choose>
2311
    </xsl:element>
2312
  </xsl:template>
2313
  <xsl:template match="DQ_LogicalConsistency" >
2314
  </xsl:template>
2315
  <xsl:template match="DQ_ConceptualConsistency" >
2316
    <xsl:element name="gmd:DQ_ConceptualConsistency" >
2317
      <xsl:for-each select="nameOfMeasure" >
2318
        <xsl:element name="gmd:nameOfMeasure" >
2319
          <xsl:element name="gco:CharacterString" >
2320
            <xsl:value-of select="." />
2321
          </xsl:element>
2322
        </xsl:element>
2323
      </xsl:for-each>
2324
      <xsl:for-each select="measureIdentification[1]" >
2325
        <xsl:element name="gmd:measureIdentification" >
2326
          <xsl:element name="gmd:MD_Identifier" >
2327
            <xsl:for-each select="authority[1]" >
2328
              <xsl:element name="gmd:authority" >
2329
                <xsl:apply-templates select="CI_Citation" />
2330
              </xsl:element>
2331
            </xsl:for-each>
2332
            <xsl:for-each select="code[1]" >
2333
              <xsl:element name="gmd:code" >
2334
                <xsl:element name="gco:CharacterString" >
2335
                  <xsl:value-of select="." />
2336
                </xsl:element>
2337
              </xsl:element>
2338
            </xsl:for-each>
2339
          </xsl:element>
2340
        </xsl:element>
2341
      </xsl:for-each>
2342
      <xsl:for-each select="measureDescription[1]" >
2343
        <xsl:element name="gmd:measureDescription" >
2344
          <xsl:element name="gco:CharacterString" >
2345
            <xsl:value-of select="." />
2346
          </xsl:element>
2347
        </xsl:element>
2348
      </xsl:for-each>
2349
      <xsl:for-each select="evaluationMethodType[1]" >
2350
        <xsl:element name="gmd:evaluationMethodType" >
2351
          <xsl:call-template name="codeListElement19139">
2352
            <xsl:with-param name="param" select="." />
2353
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2354
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2355
          </xsl:call-template>
2356
        </xsl:element>
2357
      </xsl:for-each>
2358
      <xsl:for-each select="evaluationMethodDescription[1]" >
2359
        <xsl:element name="gmd:evaluationMethodDescription" >
2360
          <xsl:element name="gco:CharacterString" >
2361
            <xsl:value-of select="." />
2362
          </xsl:element>
2363
        </xsl:element>
2364
      </xsl:for-each>
2365
      <xsl:for-each select="evaluationProcedure[1]" >
2366
        <xsl:element name="gmd:evaluationProcedure" >
2367
          <xsl:apply-templates select="CI_Citation" />
2368
        </xsl:element>
2369
      </xsl:for-each>
2370
      <xsl:for-each select="dateTime" >
2371
        <xsl:element name="gmd:dateTime" >
2372
          <xsl:element name="gco:DateTime" >
2373
            <xsl:call-template name="convertDateTime">
2374
              <xsl:with-param name="param" select="." />
2375
            </xsl:call-template>
2376
          </xsl:element>
2377
        </xsl:element>
2378
      </xsl:for-each>
2379
      <xsl:choose>
2380
        <xsl:when test="result" >
2381
          <xsl:for-each select="result" >
2382
            <xsl:element name="gmd:result" >
2383
              <xsl:apply-templates select="DQ_Result" />
2384
              <xsl:apply-templates select="DQ_ConformanceResult" />
2385
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2386
            </xsl:element>
2387
          </xsl:for-each>
2388
        </xsl:when>
2389
        <xsl:otherwise>
2390
          <xsl:element name="gmd:result" >
2391
            
2392
          </xsl:element>
2393
        </xsl:otherwise>
2394
      </xsl:choose>
2395
    </xsl:element>
2396
  </xsl:template>
2397
  <xsl:template match="DQ_DomainConsistency" >
2398
    <xsl:element name="gmd:DQ_DomainConsistency" >
2399
      <xsl:for-each select="nameOfMeasure" >
2400
        <xsl:element name="gmd:nameOfMeasure" >
2401
          <xsl:element name="gco:CharacterString" >
2402
            <xsl:value-of select="." />
2403
          </xsl:element>
2404
        </xsl:element>
2405
      </xsl:for-each>
2406
      <xsl:for-each select="measureIdentification[1]" >
2407
        <xsl:element name="gmd:measureIdentification" >
2408
          <xsl:element name="gmd:MD_Identifier" >
2409
            <xsl:for-each select="authority[1]" >
2410
              <xsl:element name="gmd:authority" >
2411
                <xsl:apply-templates select="CI_Citation" />
2412
              </xsl:element>
2413
            </xsl:for-each>
2414
            <xsl:for-each select="code[1]" >
2415
              <xsl:element name="gmd:code" >
2416
                <xsl:element name="gco:CharacterString" >
2417
                  <xsl:value-of select="." />
2418
                </xsl:element>
2419
              </xsl:element>
2420
            </xsl:for-each>
2421
          </xsl:element>
2422
        </xsl:element>
2423
      </xsl:for-each>
2424
      <xsl:for-each select="measureDescription[1]" >
2425
        <xsl:element name="gmd:measureDescription" >
2426
          <xsl:element name="gco:CharacterString" >
2427
            <xsl:value-of select="." />
2428
          </xsl:element>
2429
        </xsl:element>
2430
      </xsl:for-each>
2431
      <xsl:for-each select="evaluationMethodType[1]" >
2432
        <xsl:element name="gmd:evaluationMethodType" >
2433
          <xsl:call-template name="codeListElement19139">
2434
            <xsl:with-param name="param" select="." />
2435
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2436
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2437
          </xsl:call-template>
2438
        </xsl:element>
2439
      </xsl:for-each>
2440
      <xsl:for-each select="evaluationMethodDescription[1]" >
2441
        <xsl:element name="gmd:evaluationMethodDescription" >
2442
          <xsl:element name="gco:CharacterString" >
2443
            <xsl:value-of select="." />
2444
          </xsl:element>
2445
        </xsl:element>
2446
      </xsl:for-each>
2447
      <xsl:for-each select="evaluationProcedure[1]" >
2448
        <xsl:element name="gmd:evaluationProcedure" >
2449
          <xsl:apply-templates select="CI_Citation" />
2450
        </xsl:element>
2451
      </xsl:for-each>
2452
      <xsl:for-each select="dateTime" >
2453
        <xsl:element name="gmd:dateTime" >
2454
          <xsl:element name="gco:DateTime" >
2455
            <xsl:call-template name="convertDateTime">
2456
              <xsl:with-param name="param" select="." />
2457
            </xsl:call-template>
2458
          </xsl:element>
2459
        </xsl:element>
2460
      </xsl:for-each>
2461
      <xsl:choose>
2462
        <xsl:when test="result" >
2463
          <xsl:for-each select="result" >
2464
            <xsl:element name="gmd:result" >
2465
              <xsl:apply-templates select="DQ_Result" />
2466
              <xsl:apply-templates select="DQ_ConformanceResult" />
2467
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2468
            </xsl:element>
2469
          </xsl:for-each>
2470
        </xsl:when>
2471
        <xsl:otherwise>
2472
          <xsl:element name="gmd:result" >
2473
            
2474
          </xsl:element>
2475
        </xsl:otherwise>
2476
      </xsl:choose>
2477
    </xsl:element>
2478
  </xsl:template>
2479
  <xsl:template match="DQ_FormatConsistency" >
2480
    <xsl:element name="gmd:DQ_FormatConsistency" >
2481
      <xsl:for-each select="nameOfMeasure" >
2482
        <xsl:element name="gmd:nameOfMeasure" >
2483
          <xsl:element name="gco:CharacterString" >
2484
            <xsl:value-of select="." />
2485
          </xsl:element>
2486
        </xsl:element>
2487
      </xsl:for-each>
2488
      <xsl:for-each select="measureIdentification[1]" >
2489
        <xsl:element name="gmd:measureIdentification" >
2490
          <xsl:element name="gmd:MD_Identifier" >
2491
            <xsl:for-each select="authority[1]" >
2492
              <xsl:element name="gmd:authority" >
2493
                <xsl:apply-templates select="CI_Citation" />
2494
              </xsl:element>
2495
            </xsl:for-each>
2496
            <xsl:for-each select="code[1]" >
2497
              <xsl:element name="gmd:code" >
2498
                <xsl:element name="gco:CharacterString" >
2499
                  <xsl:value-of select="." />
2500
                </xsl:element>
2501
              </xsl:element>
2502
            </xsl:for-each>
2503
          </xsl:element>
2504
        </xsl:element>
2505
      </xsl:for-each>
2506
      <xsl:for-each select="measureDescription[1]" >
2507
        <xsl:element name="gmd:measureDescription" >
2508
          <xsl:element name="gco:CharacterString" >
2509
            <xsl:value-of select="." />
2510
          </xsl:element>
2511
        </xsl:element>
2512
      </xsl:for-each>
2513
      <xsl:for-each select="evaluationMethodType[1]" >
2514
        <xsl:element name="gmd:evaluationMethodType" >
2515
          <xsl:call-template name="codeListElement19139">
2516
            <xsl:with-param name="param" select="." />
2517
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2518
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2519
          </xsl:call-template>
2520
        </xsl:element>
2521
      </xsl:for-each>
2522
      <xsl:for-each select="evaluationMethodDescription[1]" >
2523
        <xsl:element name="gmd:evaluationMethodDescription" >
2524
          <xsl:element name="gco:CharacterString" >
2525
            <xsl:value-of select="." />
2526
          </xsl:element>
2527
        </xsl:element>
2528
      </xsl:for-each>
2529
      <xsl:for-each select="evaluationProcedure[1]" >
2530
        <xsl:element name="gmd:evaluationProcedure" >
2531
          <xsl:apply-templates select="CI_Citation" />
2532
        </xsl:element>
2533
      </xsl:for-each>
2534
      <xsl:for-each select="dateTime" >
2535
        <xsl:element name="gmd:dateTime" >
2536
          <xsl:element name="gco:DateTime" >
2537
            <xsl:call-template name="convertDateTime">
2538
              <xsl:with-param name="param" select="." />
2539
            </xsl:call-template>
2540
          </xsl:element>
2541
        </xsl:element>
2542
      </xsl:for-each>
2543
      <xsl:choose>
2544
        <xsl:when test="result" >
2545
          <xsl:for-each select="result" >
2546
            <xsl:element name="gmd:result" >
2547
              <xsl:apply-templates select="DQ_Result" />
2548
              <xsl:apply-templates select="DQ_ConformanceResult" />
2549
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2550
            </xsl:element>
2551
          </xsl:for-each>
2552
        </xsl:when>
2553
        <xsl:otherwise>
2554
          <xsl:element name="gmd:result" >
2555
            
2556
          </xsl:element>
2557
        </xsl:otherwise>
2558
      </xsl:choose>
2559
    </xsl:element>
2560
  </xsl:template>
2561
  <xsl:template match="DQ_TopologicalConsistency" >
2562
    <xsl:element name="gmd:DQ_TopologicalConsistency" >
2563
      <xsl:for-each select="nameOfMeasure" >
2564
        <xsl:element name="gmd:nameOfMeasure" >
2565
          <xsl:element name="gco:CharacterString" >
2566
            <xsl:value-of select="." />
2567
          </xsl:element>
2568
        </xsl:element>
2569
      </xsl:for-each>
2570
      <xsl:for-each select="measureIdentification[1]" >
2571
        <xsl:element name="gmd:measureIdentification" >
2572
          <xsl:element name="gmd:MD_Identifier" >
2573
            <xsl:for-each select="authority[1]" >
2574
              <xsl:element name="gmd:authority" >
2575
                <xsl:apply-templates select="CI_Citation" />
2576
              </xsl:element>
2577
            </xsl:for-each>
2578
            <xsl:for-each select="code[1]" >
2579
              <xsl:element name="gmd:code" >
2580
                <xsl:element name="gco:CharacterString" >
2581
                  <xsl:value-of select="." />
2582
                </xsl:element>
2583
              </xsl:element>
2584
            </xsl:for-each>
2585
          </xsl:element>
2586
        </xsl:element>
2587
      </xsl:for-each>
2588
      <xsl:for-each select="measureDescription[1]" >
2589
        <xsl:element name="gmd:measureDescription" >
2590
          <xsl:element name="gco:CharacterString" >
2591
            <xsl:value-of select="." />
2592
          </xsl:element>
2593
        </xsl:element>
2594
      </xsl:for-each>
2595
      <xsl:for-each select="evaluationMethodType[1]" >
2596
        <xsl:element name="gmd:evaluationMethodType" >
2597
          <xsl:call-template name="codeListElement19139">
2598
            <xsl:with-param name="param" select="." />
2599
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2600
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2601
          </xsl:call-template>
2602
        </xsl:element>
2603
      </xsl:for-each>
2604
      <xsl:for-each select="evaluationMethodDescription[1]" >
2605
        <xsl:element name="gmd:evaluationMethodDescription" >
2606
          <xsl:element name="gco:CharacterString" >
2607
            <xsl:value-of select="." />
2608
          </xsl:element>
2609
        </xsl:element>
2610
      </xsl:for-each>
2611
      <xsl:for-each select="evaluationProcedure[1]" >
2612
        <xsl:element name="gmd:evaluationProcedure" >
2613
          <xsl:apply-templates select="CI_Citation" />
2614
        </xsl:element>
2615
      </xsl:for-each>
2616
      <xsl:for-each select="dateTime" >
2617
        <xsl:element name="gmd:dateTime" >
2618
          <xsl:element name="gco:DateTime" >
2619
            <xsl:call-template name="convertDateTime">
2620
              <xsl:with-param name="param" select="." />
2621
            </xsl:call-template>
2622
          </xsl:element>
2623
        </xsl:element>
2624
      </xsl:for-each>
2625
      <xsl:choose>
2626
        <xsl:when test="result" >
2627
          <xsl:for-each select="result" >
2628
            <xsl:element name="gmd:result" >
2629
              <xsl:apply-templates select="DQ_Result" />
2630
              <xsl:apply-templates select="DQ_ConformanceResult" />
2631
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2632
            </xsl:element>
2633
          </xsl:for-each>
2634
        </xsl:when>
2635
        <xsl:otherwise>
2636
          <xsl:element name="gmd:result" >
2637
            
2638
          </xsl:element>
2639
        </xsl:otherwise>
2640
      </xsl:choose>
2641
    </xsl:element>
2642
  </xsl:template>
2643
  <xsl:template match="DQ_PositionalAccuracy" >
2644
  </xsl:template>
2645
  <xsl:template match="DQ_AbsoluteExternalPositionalAccuracy" >
2646
    <xsl:element name="gmd:DQ_AbsoluteExternalPositionalAccuracy" >
2647
      <xsl:for-each select="nameOfMeasure" >
2648
        <xsl:element name="gmd:nameOfMeasure" >
2649
          <xsl:element name="gco:CharacterString" >
2650
            <xsl:value-of select="." />
2651
          </xsl:element>
2652
        </xsl:element>
2653
      </xsl:for-each>
2654
      <xsl:for-each select="measureIdentification[1]" >
2655
        <xsl:element name="gmd:measureIdentification" >
2656
          <xsl:element name="gmd:MD_Identifier" >
2657
            <xsl:for-each select="authority[1]" >
2658
              <xsl:element name="gmd:authority" >
2659
                <xsl:apply-templates select="CI_Citation" />
2660
              </xsl:element>
2661
            </xsl:for-each>
2662
            <xsl:for-each select="code[1]" >
2663
              <xsl:element name="gmd:code" >
2664
                <xsl:element name="gco:CharacterString" >
2665
                  <xsl:value-of select="." />
2666
                </xsl:element>
2667
              </xsl:element>
2668
            </xsl:for-each>
2669
          </xsl:element>
2670
        </xsl:element>
2671
      </xsl:for-each>
2672
      <xsl:for-each select="measureDescription[1]" >
2673
        <xsl:element name="gmd:measureDescription" >
2674
          <xsl:element name="gco:CharacterString" >
2675
            <xsl:value-of select="." />
2676
          </xsl:element>
2677
        </xsl:element>
2678
      </xsl:for-each>
2679
      <xsl:for-each select="evaluationMethodType[1]" >
2680
        <xsl:element name="gmd:evaluationMethodType" >
2681
          <xsl:call-template name="codeListElement19139">
2682
            <xsl:with-param name="param" select="." />
2683
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2684
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2685
          </xsl:call-template>
2686
        </xsl:element>
2687
      </xsl:for-each>
2688
      <xsl:for-each select="evaluationMethodDescription[1]" >
2689
        <xsl:element name="gmd:evaluationMethodDescription" >
2690
          <xsl:element name="gco:CharacterString" >
2691
            <xsl:value-of select="." />
2692
          </xsl:element>
2693
        </xsl:element>
2694
      </xsl:for-each>
2695
      <xsl:for-each select="evaluationProcedure[1]" >
2696
        <xsl:element name="gmd:evaluationProcedure" >
2697
          <xsl:apply-templates select="CI_Citation" />
2698
        </xsl:element>
2699
      </xsl:for-each>
2700
      <xsl:for-each select="dateTime" >
2701
        <xsl:element name="gmd:dateTime" >
2702
          <xsl:element name="gco:DateTime" >
2703
            <xsl:call-template name="convertDateTime">
2704
              <xsl:with-param name="param" select="." />
2705
            </xsl:call-template>
2706
          </xsl:element>
2707
        </xsl:element>
2708
      </xsl:for-each>
2709
      <xsl:choose>
2710
        <xsl:when test="result" >
2711
          <xsl:for-each select="result" >
2712
            <xsl:element name="gmd:result" >
2713
              <xsl:apply-templates select="DQ_Result" />
2714
              <xsl:apply-templates select="DQ_ConformanceResult" />
2715
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2716
            </xsl:element>
2717
          </xsl:for-each>
2718
        </xsl:when>
2719
        <xsl:otherwise>
2720
          <xsl:element name="gmd:result" >
2721
            
2722
          </xsl:element>
2723
        </xsl:otherwise>
2724
      </xsl:choose>
2725
    </xsl:element>
2726
  </xsl:template>
2727
  <xsl:template match="DQ_GriddedDataPositionalAccuracy" >
2728
    <xsl:element name="gmd:DQ_GriddedDataPositionalAccuracy" >
2729
      <xsl:for-each select="nameOfMeasure" >
2730
        <xsl:element name="gmd:nameOfMeasure" >
2731
          <xsl:element name="gco:CharacterString" >
2732
            <xsl:value-of select="." />
2733
          </xsl:element>
2734
        </xsl:element>
2735
      </xsl:for-each>
2736
      <xsl:for-each select="measureIdentification[1]" >
2737
        <xsl:element name="gmd:measureIdentification" >
2738
          <xsl:element name="gmd:MD_Identifier" >
2739
            <xsl:for-each select="authority[1]" >
2740
              <xsl:element name="gmd:authority" >
2741
                <xsl:apply-templates select="CI_Citation" />
2742
              </xsl:element>
2743
            </xsl:for-each>
2744
            <xsl:for-each select="code[1]" >
2745
              <xsl:element name="gmd:code" >
2746
                <xsl:element name="gco:CharacterString" >
2747
                  <xsl:value-of select="." />
2748
                </xsl:element>
2749
              </xsl:element>
2750
            </xsl:for-each>
2751
          </xsl:element>
2752
        </xsl:element>
2753
      </xsl:for-each>
2754
      <xsl:for-each select="measureDescription[1]" >
2755
        <xsl:element name="gmd:measureDescription" >
2756
          <xsl:element name="gco:CharacterString" >
2757
            <xsl:value-of select="." />
2758
          </xsl:element>
2759
        </xsl:element>
2760
      </xsl:for-each>
2761
      <xsl:for-each select="evaluationMethodType[1]" >
2762
        <xsl:element name="gmd:evaluationMethodType" >
2763
          <xsl:call-template name="codeListElement19139">
2764
            <xsl:with-param name="param" select="." />
2765
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2766
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2767
          </xsl:call-template>
2768
        </xsl:element>
2769
      </xsl:for-each>
2770
      <xsl:for-each select="evaluationMethodDescription[1]" >
2771
        <xsl:element name="gmd:evaluationMethodDescription" >
2772
          <xsl:element name="gco:CharacterString" >
2773
            <xsl:value-of select="." />
2774
          </xsl:element>
2775
        </xsl:element>
2776
      </xsl:for-each>
2777
      <xsl:for-each select="evaluationProcedure[1]" >
2778
        <xsl:element name="gmd:evaluationProcedure" >
2779
          <xsl:apply-templates select="CI_Citation" />
2780
        </xsl:element>
2781
      </xsl:for-each>
2782
      <xsl:for-each select="dateTime" >
2783
        <xsl:element name="gmd:dateTime" >
2784
          <xsl:element name="gco:DateTime" >
2785
            <xsl:call-template name="convertDateTime">
2786
              <xsl:with-param name="param" select="." />
2787
            </xsl:call-template>
2788
          </xsl:element>
2789
        </xsl:element>
2790
      </xsl:for-each>
2791
      <xsl:choose>
2792
        <xsl:when test="result" >
2793
          <xsl:for-each select="result" >
2794
            <xsl:element name="gmd:result" >
2795
              <xsl:apply-templates select="DQ_Result" />
2796
              <xsl:apply-templates select="DQ_ConformanceResult" />
2797
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2798
            </xsl:element>
2799
          </xsl:for-each>
2800
        </xsl:when>
2801
        <xsl:otherwise>
2802
          <xsl:element name="gmd:result" >
2803
            
2804
          </xsl:element>
2805
        </xsl:otherwise>
2806
      </xsl:choose>
2807
    </xsl:element>
2808
  </xsl:template>
2809
  <xsl:template match="DQ_RelativeInternalPositionalAccuracy" >
2810
    <xsl:element name="gmd:DQ_RelativeInternalPositionalAccuracy" >
2811
      <xsl:for-each select="nameOfMeasure" >
2812
        <xsl:element name="gmd:nameOfMeasure" >
2813
          <xsl:element name="gco:CharacterString" >
2814
            <xsl:value-of select="." />
2815
          </xsl:element>
2816
        </xsl:element>
2817
      </xsl:for-each>
2818
      <xsl:for-each select="measureIdentification[1]" >
2819
        <xsl:element name="gmd:measureIdentification" >
2820
          <xsl:element name="gmd:MD_Identifier" >
2821
            <xsl:for-each select="authority[1]" >
2822
              <xsl:element name="gmd:authority" >
2823
                <xsl:apply-templates select="CI_Citation" />
2824
              </xsl:element>
2825
            </xsl:for-each>
2826
            <xsl:for-each select="code[1]" >
2827
              <xsl:element name="gmd:code" >
2828
                <xsl:element name="gco:CharacterString" >
2829
                  <xsl:value-of select="." />
2830
                </xsl:element>
2831
              </xsl:element>
2832
            </xsl:for-each>
2833
          </xsl:element>
2834
        </xsl:element>
2835
      </xsl:for-each>
2836
      <xsl:for-each select="measureDescription[1]" >
2837
        <xsl:element name="gmd:measureDescription" >
2838
          <xsl:element name="gco:CharacterString" >
2839
            <xsl:value-of select="." />
2840
          </xsl:element>
2841
        </xsl:element>
2842
      </xsl:for-each>
2843
      <xsl:for-each select="evaluationMethodType[1]" >
2844
        <xsl:element name="gmd:evaluationMethodType" >
2845
          <xsl:call-template name="codeListElement19139">
2846
            <xsl:with-param name="param" select="." />
2847
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2848
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2849
          </xsl:call-template>
2850
        </xsl:element>
2851
      </xsl:for-each>
2852
      <xsl:for-each select="evaluationMethodDescription[1]" >
2853
        <xsl:element name="gmd:evaluationMethodDescription" >
2854
          <xsl:element name="gco:CharacterString" >
2855
            <xsl:value-of select="." />
2856
          </xsl:element>
2857
        </xsl:element>
2858
      </xsl:for-each>
2859
      <xsl:for-each select="evaluationProcedure[1]" >
2860
        <xsl:element name="gmd:evaluationProcedure" >
2861
          <xsl:apply-templates select="CI_Citation" />
2862
        </xsl:element>
2863
      </xsl:for-each>
2864
      <xsl:for-each select="dateTime" >
2865
        <xsl:element name="gmd:dateTime" >
2866
          <xsl:element name="gco:DateTime" >
2867
            <xsl:call-template name="convertDateTime">
2868
              <xsl:with-param name="param" select="." />
2869
            </xsl:call-template>
2870
          </xsl:element>
2871
        </xsl:element>
2872
      </xsl:for-each>
2873
      <xsl:choose>
2874
        <xsl:when test="result" >
2875
          <xsl:for-each select="result" >
2876
            <xsl:element name="gmd:result" >
2877
              <xsl:apply-templates select="DQ_Result" />
2878
              <xsl:apply-templates select="DQ_ConformanceResult" />
2879
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2880
            </xsl:element>
2881
          </xsl:for-each>
2882
        </xsl:when>
2883
        <xsl:otherwise>
2884
          <xsl:element name="gmd:result" >
2885
            
2886
          </xsl:element>
2887
        </xsl:otherwise>
2888
      </xsl:choose>
2889
    </xsl:element>
2890
  </xsl:template>
2891
  <xsl:template match="DQ_TemporalAccuracy" >
2892
  </xsl:template>
2893
  <xsl:template match="DQ_AccuracyOfATimeMeasurement" >
2894
    <xsl:element name="gmd:DQ_AccuracyOfATimeMeasurement" >
2895
      <xsl:for-each select="nameOfMeasure" >
2896
        <xsl:element name="gmd:nameOfMeasure" >
2897
          <xsl:element name="gco:CharacterString" >
2898
            <xsl:value-of select="." />
2899
          </xsl:element>
2900
        </xsl:element>
2901
      </xsl:for-each>
2902
      <xsl:for-each select="measureIdentification[1]" >
2903
        <xsl:element name="gmd:measureIdentification" >
2904
          <xsl:element name="gmd:MD_Identifier" >
2905
            <xsl:for-each select="authority[1]" >
2906
              <xsl:element name="gmd:authority" >
2907
                <xsl:apply-templates select="CI_Citation" />
2908
              </xsl:element>
2909
            </xsl:for-each>
2910
            <xsl:for-each select="code[1]" >
2911
              <xsl:element name="gmd:code" >
2912
                <xsl:element name="gco:CharacterString" >
2913
                  <xsl:value-of select="." />
2914
                </xsl:element>
2915
              </xsl:element>
2916
            </xsl:for-each>
2917
          </xsl:element>
2918
        </xsl:element>
2919
      </xsl:for-each>
2920
      <xsl:for-each select="measureDescription[1]" >
2921
        <xsl:element name="gmd:measureDescription" >
2922
          <xsl:element name="gco:CharacterString" >
2923
            <xsl:value-of select="." />
2924
          </xsl:element>
2925
        </xsl:element>
2926
      </xsl:for-each>
2927
      <xsl:for-each select="evaluationMethodType[1]" >
2928
        <xsl:element name="gmd:evaluationMethodType" >
2929
          <xsl:call-template name="codeListElement19139">
2930
            <xsl:with-param name="param" select="." />
2931
            <xsl:with-param name="namespace">gmd</xsl:with-param>
2932
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
2933
          </xsl:call-template>
2934
        </xsl:element>
2935
      </xsl:for-each>
2936
      <xsl:for-each select="evaluationMethodDescription[1]" >
2937
        <xsl:element name="gmd:evaluationMethodDescription" >
2938
          <xsl:element name="gco:CharacterString" >
2939
            <xsl:value-of select="." />
2940
          </xsl:element>
2941
        </xsl:element>
2942
      </xsl:for-each>
2943
      <xsl:for-each select="evaluationProcedure[1]" >
2944
        <xsl:element name="gmd:evaluationProcedure" >
2945
          <xsl:apply-templates select="CI_Citation" />
2946
        </xsl:element>
2947
      </xsl:for-each>
2948
      <xsl:for-each select="dateTime" >
2949
        <xsl:element name="gmd:dateTime" >
2950
          <xsl:element name="gco:DateTime" >
2951
            <xsl:call-template name="convertDateTime">
2952
              <xsl:with-param name="param" select="." />
2953
            </xsl:call-template>
2954
          </xsl:element>
2955
        </xsl:element>
2956
      </xsl:for-each>
2957
      <xsl:choose>
2958
        <xsl:when test="result" >
2959
          <xsl:for-each select="result" >
2960
            <xsl:element name="gmd:result" >
2961
              <xsl:apply-templates select="DQ_Result" />
2962
              <xsl:apply-templates select="DQ_ConformanceResult" />
2963
              <xsl:apply-templates select="DQ_QuantitativeResult" />
2964
            </xsl:element>
2965
          </xsl:for-each>
2966
        </xsl:when>
2967
        <xsl:otherwise>
2968
          <xsl:element name="gmd:result" >
2969
            
2970
          </xsl:element>
2971
        </xsl:otherwise>
2972
      </xsl:choose>
2973
    </xsl:element>
2974
  </xsl:template>
2975
  <xsl:template match="DQ_TemporalConsistency" >
2976
    <xsl:element name="gmd:DQ_TemporalConsistency" >
2977
      <xsl:for-each select="nameOfMeasure" >
2978
        <xsl:element name="gmd:nameOfMeasure" >
2979
          <xsl:element name="gco:CharacterString" >
2980
            <xsl:value-of select="." />
2981
          </xsl:element>
2982
        </xsl:element>
2983
      </xsl:for-each>
2984
      <xsl:for-each select="measureIdentification[1]" >
2985
        <xsl:element name="gmd:measureIdentification" >
2986
          <xsl:element name="gmd:MD_Identifier" >
2987
            <xsl:for-each select="authority[1]" >
2988
              <xsl:element name="gmd:authority" >
2989
                <xsl:apply-templates select="CI_Citation" />
2990
              </xsl:element>
2991
            </xsl:for-each>
2992
            <xsl:for-each select="code[1]" >
2993
              <xsl:element name="gmd:code" >
2994
                <xsl:element name="gco:CharacterString" >
2995
                  <xsl:value-of select="." />
2996
                </xsl:element>
2997
              </xsl:element>
2998
            </xsl:for-each>
2999
          </xsl:element>
3000
        </xsl:element>
3001
      </xsl:for-each>
3002
      <xsl:for-each select="measureDescription[1]" >
3003
        <xsl:element name="gmd:measureDescription" >
3004
          <xsl:element name="gco:CharacterString" >
3005
            <xsl:value-of select="." />
3006
          </xsl:element>
3007
        </xsl:element>
3008
      </xsl:for-each>
3009
      <xsl:for-each select="evaluationMethodType[1]" >
3010
        <xsl:element name="gmd:evaluationMethodType" >
3011
          <xsl:call-template name="codeListElement19139">
3012
            <xsl:with-param name="param" select="." />
3013
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3014
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
3015
          </xsl:call-template>
3016
        </xsl:element>
3017
      </xsl:for-each>
3018
      <xsl:for-each select="evaluationMethodDescription[1]" >
3019
        <xsl:element name="gmd:evaluationMethodDescription" >
3020
          <xsl:element name="gco:CharacterString" >
3021
            <xsl:value-of select="." />
3022
          </xsl:element>
3023
        </xsl:element>
3024
      </xsl:for-each>
3025
      <xsl:for-each select="evaluationProcedure[1]" >
3026
        <xsl:element name="gmd:evaluationProcedure" >
3027
          <xsl:apply-templates select="CI_Citation" />
3028
        </xsl:element>
3029
      </xsl:for-each>
3030
      <xsl:for-each select="dateTime" >
3031
        <xsl:element name="gmd:dateTime" >
3032
          <xsl:element name="gco:DateTime" >
3033
            <xsl:call-template name="convertDateTime">
3034
              <xsl:with-param name="param" select="." />
3035
            </xsl:call-template>
3036
          </xsl:element>
3037
        </xsl:element>
3038
      </xsl:for-each>
3039
      <xsl:choose>
3040
        <xsl:when test="result" >
3041
          <xsl:for-each select="result" >
3042
            <xsl:element name="gmd:result" >
3043
              <xsl:apply-templates select="DQ_Result" />
3044
              <xsl:apply-templates select="DQ_ConformanceResult" />
3045
              <xsl:apply-templates select="DQ_QuantitativeResult" />
3046
            </xsl:element>
3047
          </xsl:for-each>
3048
        </xsl:when>
3049
        <xsl:otherwise>
3050
          <xsl:element name="gmd:result" >
3051
            
3052
          </xsl:element>
3053
        </xsl:otherwise>
3054
      </xsl:choose>
3055
    </xsl:element>
3056
  </xsl:template>
3057
  <xsl:template match="DQ_TemporalValidity" >
3058
    <xsl:element name="gmd:DQ_TemporalValidity" >
3059
      <xsl:for-each select="nameOfMeasure" >
3060
        <xsl:element name="gmd:nameOfMeasure" >
3061
          <xsl:element name="gco:CharacterString" >
3062
            <xsl:value-of select="." />
3063
          </xsl:element>
3064
        </xsl:element>
3065
      </xsl:for-each>
3066
      <xsl:for-each select="measureIdentification[1]" >
3067
        <xsl:element name="gmd:measureIdentification" >
3068
          <xsl:element name="gmd:MD_Identifier" >
3069
            <xsl:for-each select="authority[1]" >
3070
              <xsl:element name="gmd:authority" >
3071
                <xsl:apply-templates select="CI_Citation" />
3072
              </xsl:element>
3073
            </xsl:for-each>
3074
            <xsl:for-each select="code[1]" >
3075
              <xsl:element name="gmd:code" >
3076
                <xsl:element name="gco:CharacterString" >
3077
                  <xsl:value-of select="." />
3078
                </xsl:element>
3079
              </xsl:element>
3080
            </xsl:for-each>
3081
          </xsl:element>
3082
        </xsl:element>
3083
      </xsl:for-each>
3084
      <xsl:for-each select="measureDescription[1]" >
3085
        <xsl:element name="gmd:measureDescription" >
3086
          <xsl:element name="gco:CharacterString" >
3087
            <xsl:value-of select="." />
3088
          </xsl:element>
3089
        </xsl:element>
3090
      </xsl:for-each>
3091
      <xsl:for-each select="evaluationMethodType[1]" >
3092
        <xsl:element name="gmd:evaluationMethodType" >
3093
          <xsl:call-template name="codeListElement19139">
3094
            <xsl:with-param name="param" select="." />
3095
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3096
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
3097
          </xsl:call-template>
3098
        </xsl:element>
3099
      </xsl:for-each>
3100
      <xsl:for-each select="evaluationMethodDescription[1]" >
3101
        <xsl:element name="gmd:evaluationMethodDescription" >
3102
          <xsl:element name="gco:CharacterString" >
3103
            <xsl:value-of select="." />
3104
          </xsl:element>
3105
        </xsl:element>
3106
      </xsl:for-each>
3107
      <xsl:for-each select="evaluationProcedure[1]" >
3108
        <xsl:element name="gmd:evaluationProcedure" >
3109
          <xsl:apply-templates select="CI_Citation" />
3110
        </xsl:element>
3111
      </xsl:for-each>
3112
      <xsl:for-each select="dateTime" >
3113
        <xsl:element name="gmd:dateTime" >
3114
          <xsl:element name="gco:DateTime" >
3115
            <xsl:call-template name="convertDateTime">
3116
              <xsl:with-param name="param" select="." />
3117
            </xsl:call-template>
3118
          </xsl:element>
3119
        </xsl:element>
3120
      </xsl:for-each>
3121
      <xsl:choose>
3122
        <xsl:when test="result" >
3123
          <xsl:for-each select="result" >
3124
            <xsl:element name="gmd:result" >
3125
              <xsl:apply-templates select="DQ_Result" />
3126
              <xsl:apply-templates select="DQ_ConformanceResult" />
3127
              <xsl:apply-templates select="DQ_QuantitativeResult" />
3128
            </xsl:element>
3129
          </xsl:for-each>
3130
        </xsl:when>
3131
        <xsl:otherwise>
3132
          <xsl:element name="gmd:result" >
3133
            
3134
          </xsl:element>
3135
        </xsl:otherwise>
3136
      </xsl:choose>
3137
    </xsl:element>
3138
  </xsl:template>
3139
  <xsl:template match="DQ_ThematicAccuracy" >
3140
  </xsl:template>
3141
  <xsl:template match="DQ_ThematicClassificationCorrectness" >
3142
    <xsl:element name="gmd:DQ_ThematicClassificationCorrectness" >
3143
      <xsl:for-each select="nameOfMeasure" >
3144
        <xsl:element name="gmd:nameOfMeasure" >
3145
          <xsl:element name="gco:CharacterString" >
3146
            <xsl:value-of select="." />
3147
          </xsl:element>
3148
        </xsl:element>
3149
      </xsl:for-each>
3150
      <xsl:for-each select="measureIdentification[1]" >
3151
        <xsl:element name="gmd:measureIdentification" >
3152
          <xsl:element name="gmd:MD_Identifier" >
3153
            <xsl:for-each select="authority[1]" >
3154
              <xsl:element name="gmd:authority" >
3155
                <xsl:apply-templates select="CI_Citation" />
3156
              </xsl:element>
3157
            </xsl:for-each>
3158
            <xsl:for-each select="code[1]" >
3159
              <xsl:element name="gmd:code" >
3160
                <xsl:element name="gco:CharacterString" >
3161
                  <xsl:value-of select="." />
3162
                </xsl:element>
3163
              </xsl:element>
3164
            </xsl:for-each>
3165
          </xsl:element>
3166
        </xsl:element>
3167
      </xsl:for-each>
3168
      <xsl:for-each select="measureDescription[1]" >
3169
        <xsl:element name="gmd:measureDescription" >
3170
          <xsl:element name="gco:CharacterString" >
3171
            <xsl:value-of select="." />
3172
          </xsl:element>
3173
        </xsl:element>
3174
      </xsl:for-each>
3175
      <xsl:for-each select="evaluationMethodType[1]" >
3176
        <xsl:element name="gmd:evaluationMethodType" >
3177
          <xsl:call-template name="codeListElement19139">
3178
            <xsl:with-param name="param" select="." />
3179
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3180
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
3181
          </xsl:call-template>
3182
        </xsl:element>
3183
      </xsl:for-each>
3184
      <xsl:for-each select="evaluationMethodDescription[1]" >
3185
        <xsl:element name="gmd:evaluationMethodDescription" >
3186
          <xsl:element name="gco:CharacterString" >
3187
            <xsl:value-of select="." />
3188
          </xsl:element>
3189
        </xsl:element>
3190
      </xsl:for-each>
3191
      <xsl:for-each select="evaluationProcedure[1]" >
3192
        <xsl:element name="gmd:evaluationProcedure" >
3193
          <xsl:apply-templates select="CI_Citation" />
3194
        </xsl:element>
3195
      </xsl:for-each>
3196
      <xsl:for-each select="dateTime" >
3197
        <xsl:element name="gmd:dateTime" >
3198
          <xsl:element name="gco:DateTime" >
3199
            <xsl:call-template name="convertDateTime">
3200
              <xsl:with-param name="param" select="." />
3201
            </xsl:call-template>
3202
          </xsl:element>
3203
        </xsl:element>
3204
      </xsl:for-each>
3205
      <xsl:choose>
3206
        <xsl:when test="result" >
3207
          <xsl:for-each select="result" >
3208
            <xsl:element name="gmd:result" >
3209
              <xsl:apply-templates select="DQ_Result" />
3210
              <xsl:apply-templates select="DQ_ConformanceResult" />
3211
              <xsl:apply-templates select="DQ_QuantitativeResult" />
3212
            </xsl:element>
3213
          </xsl:for-each>
3214
        </xsl:when>
3215
        <xsl:otherwise>
3216
          <xsl:element name="gmd:result" >
3217
            
3218
          </xsl:element>
3219
        </xsl:otherwise>
3220
      </xsl:choose>
3221
    </xsl:element>
3222
  </xsl:template>
3223
  <xsl:template match="DQ_NonQuantitativeAttributeAccuracy" >
3224
    <xsl:element name="gmd:DQ_NonQuantitativeAttributeAccuracy" >
3225
      <xsl:for-each select="nameOfMeasure" >
3226
        <xsl:element name="gmd:nameOfMeasure" >
3227
          <xsl:element name="gco:CharacterString" >
3228
            <xsl:value-of select="." />
3229
          </xsl:element>
3230
        </xsl:element>
3231
      </xsl:for-each>
3232
      <xsl:for-each select="measureIdentification[1]" >
3233
        <xsl:element name="gmd:measureIdentification" >
3234
          <xsl:element name="gmd:MD_Identifier" >
3235
            <xsl:for-each select="authority[1]" >
3236
              <xsl:element name="gmd:authority" >
3237
                <xsl:apply-templates select="CI_Citation" />
3238
              </xsl:element>
3239
            </xsl:for-each>
3240
            <xsl:for-each select="code[1]" >
3241
              <xsl:element name="gmd:code" >
3242
                <xsl:element name="gco:CharacterString" >
3243
                  <xsl:value-of select="." />
3244
                </xsl:element>
3245
              </xsl:element>
3246
            </xsl:for-each>
3247
          </xsl:element>
3248
        </xsl:element>
3249
      </xsl:for-each>
3250
      <xsl:for-each select="measureDescription[1]" >
3251
        <xsl:element name="gmd:measureDescription" >
3252
          <xsl:element name="gco:CharacterString" >
3253
            <xsl:value-of select="." />
3254
          </xsl:element>
3255
        </xsl:element>
3256
      </xsl:for-each>
3257
      <xsl:for-each select="evaluationMethodType[1]" >
3258
        <xsl:element name="gmd:evaluationMethodType" >
3259
          <xsl:call-template name="codeListElement19139">
3260
            <xsl:with-param name="param" select="." />
3261
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3262
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
3263
          </xsl:call-template>
3264
        </xsl:element>
3265
      </xsl:for-each>
3266
      <xsl:for-each select="evaluationMethodDescription[1]" >
3267
        <xsl:element name="gmd:evaluationMethodDescription" >
3268
          <xsl:element name="gco:CharacterString" >
3269
            <xsl:value-of select="." />
3270
          </xsl:element>
3271
        </xsl:element>
3272
      </xsl:for-each>
3273
      <xsl:for-each select="evaluationProcedure[1]" >
3274
        <xsl:element name="gmd:evaluationProcedure" >
3275
          <xsl:apply-templates select="CI_Citation" />
3276
        </xsl:element>
3277
      </xsl:for-each>
3278
      <xsl:for-each select="dateTime" >
3279
        <xsl:element name="gmd:dateTime" >
3280
          <xsl:element name="gco:DateTime" >
3281
            <xsl:call-template name="convertDateTime">
3282
              <xsl:with-param name="param" select="." />
3283
            </xsl:call-template>
3284
          </xsl:element>
3285
        </xsl:element>
3286
      </xsl:for-each>
3287
      <xsl:choose>
3288
        <xsl:when test="result" >
3289
          <xsl:for-each select="result" >
3290
            <xsl:element name="gmd:result" >
3291
              <xsl:apply-templates select="DQ_Result" />
3292
              <xsl:apply-templates select="DQ_ConformanceResult" />
3293
              <xsl:apply-templates select="DQ_QuantitativeResult" />
3294
            </xsl:element>
3295
          </xsl:for-each>
3296
        </xsl:when>
3297
        <xsl:otherwise>
3298
          <xsl:element name="gmd:result" >
3299
            
3300
          </xsl:element>
3301
        </xsl:otherwise>
3302
      </xsl:choose>
3303
    </xsl:element>
3304
  </xsl:template>
3305
  <xsl:template match="DQ_QuantitativeAttributeAccuracy" >
3306
    <xsl:element name="gmd:DQ_QuantitativeAttributeAccuracy" >
3307
      <xsl:for-each select="nameOfMeasure" >
3308
        <xsl:element name="gmd:nameOfMeasure" >
3309
          <xsl:element name="gco:CharacterString" >
3310
            <xsl:value-of select="." />
3311
          </xsl:element>
3312
        </xsl:element>
3313
      </xsl:for-each>
3314
      <xsl:for-each select="measureIdentification[1]" >
3315
        <xsl:element name="gmd:measureIdentification" >
3316
          <xsl:element name="gmd:MD_Identifier" >
3317
            <xsl:for-each select="authority[1]" >
3318
              <xsl:element name="gmd:authority" >
3319
                <xsl:apply-templates select="CI_Citation" />
3320
              </xsl:element>
3321
            </xsl:for-each>
3322
            <xsl:for-each select="code[1]" >
3323
              <xsl:element name="gmd:code" >
3324
                <xsl:element name="gco:CharacterString" >
3325
                  <xsl:value-of select="." />
3326
                </xsl:element>
3327
              </xsl:element>
3328
            </xsl:for-each>
3329
          </xsl:element>
3330
        </xsl:element>
3331
      </xsl:for-each>
3332
      <xsl:for-each select="measureDescription[1]" >
3333
        <xsl:element name="gmd:measureDescription" >
3334
          <xsl:element name="gco:CharacterString" >
3335
            <xsl:value-of select="." />
3336
          </xsl:element>
3337
        </xsl:element>
3338
      </xsl:for-each>
3339
      <xsl:for-each select="evaluationMethodType[1]" >
3340
        <xsl:element name="gmd:evaluationMethodType" >
3341
          <xsl:call-template name="codeListElement19139">
3342
            <xsl:with-param name="param" select="." />
3343
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3344
            <xsl:with-param name="listName">DQ_EvaluationMethodTypeCode</xsl:with-param>
3345
          </xsl:call-template>
3346
        </xsl:element>
3347
      </xsl:for-each>
3348
      <xsl:for-each select="evaluationMethodDescription[1]" >
3349
        <xsl:element name="gmd:evaluationMethodDescription" >
3350
          <xsl:element name="gco:CharacterString" >
3351
            <xsl:value-of select="." />
3352
          </xsl:element>
3353
        </xsl:element>
3354
      </xsl:for-each>
3355
      <xsl:for-each select="evaluationProcedure[1]" >
3356
        <xsl:element name="gmd:evaluationProcedure" >
3357
          <xsl:apply-templates select="CI_Citation" />
3358
        </xsl:element>
3359
      </xsl:for-each>
3360
      <xsl:for-each select="dateTime" >
3361
        <xsl:element name="gmd:dateTime" >
3362
          <xsl:element name="gco:DateTime" >
3363
            <xsl:call-template name="convertDateTime">
3364
              <xsl:with-param name="param" select="." />
3365
            </xsl:call-template>
3366
          </xsl:element>
3367
        </xsl:element>
3368
      </xsl:for-each>
3369
      <xsl:choose>
3370
        <xsl:when test="result" >
3371
          <xsl:for-each select="result" >
3372
            <xsl:element name="gmd:result" >
3373
              <xsl:apply-templates select="DQ_Result" />
3374
              <xsl:apply-templates select="DQ_ConformanceResult" />
3375
              <xsl:apply-templates select="DQ_QuantitativeResult" />
3376
            </xsl:element>
3377
          </xsl:for-each>
3378
        </xsl:when>
3379
        <xsl:otherwise>
3380
          <xsl:element name="gmd:result" >
3381
            
3382
          </xsl:element>
3383
        </xsl:otherwise>
3384
      </xsl:choose>
3385
    </xsl:element>
3386
  </xsl:template>
3387
  <xsl:template match="DQ_Result" >
3388
  </xsl:template>
3389
  <xsl:template match="DQ_ConformanceResult" >
3390
    <xsl:element name="gmd:DQ_ConformanceResult" >
3391
      <xsl:choose>
3392
        <xsl:when test="specification" >
3393
          <xsl:for-each select="specification[1]" >
3394
            <xsl:element name="gmd:specification" >
3395
              <xsl:apply-templates select="CI_Citation" />
3396
            </xsl:element>
3397
          </xsl:for-each>
3398
        </xsl:when>
3399
        <xsl:otherwise>
3400
          <xsl:element name="gmd:specification" >
3401
            
3402
          </xsl:element>
3403
        </xsl:otherwise>
3404
      </xsl:choose>
3405
      <xsl:choose>
3406
        <xsl:when test="explanation" >
3407
          <xsl:for-each select="explanation[1]" >
3408
            <xsl:element name="gmd:explanation" >
3409
              <xsl:element name="gco:CharacterString" >
3410
                <xsl:value-of select="." />
3411
              </xsl:element>
3412
            </xsl:element>
3413
          </xsl:for-each>
3414
        </xsl:when>
3415
        <xsl:otherwise>
3416
          <xsl:element name="gmd:explanation" >
3417
            
3418
          </xsl:element>
3419
        </xsl:otherwise>
3420
      </xsl:choose>
3421
      <xsl:choose>
3422
        <xsl:when test="pass" >
3423
          <xsl:for-each select="pass[1]" >
3424
            <xsl:element name="gmd:pass" >
3425
              <xsl:element name="gco:Boolean" >
3426
                <xsl:value-of select="." />
3427
              </xsl:element>
3428
            </xsl:element>
3429
          </xsl:for-each>
3430
        </xsl:when>
3431
        <xsl:otherwise>
3432
          <xsl:element name="gmd:pass" >
3433
            
3434
          </xsl:element>
3435
        </xsl:otherwise>
3436
      </xsl:choose>
3437
    </xsl:element>
3438
  </xsl:template>
3439
  <xsl:template match="DQ_Scope" >
3440
    <xsl:element name="gmd:DQ_Scope" >
3441
      <xsl:choose>
3442
        <xsl:when test="level" >
3443
          <xsl:for-each select="level[1]" >
3444
            <xsl:element name="gmd:level" >
3445
              <xsl:call-template name="codeListElement19139">
3446
                <xsl:with-param name="param" select="." />
3447
                <xsl:with-param name="namespace">gmd</xsl:with-param>
3448
                <xsl:with-param name="listName">MD_ScopeCode</xsl:with-param>
3449
              </xsl:call-template>
3450
            </xsl:element>
3451
          </xsl:for-each>
3452
        </xsl:when>
3453
        <xsl:otherwise>
3454
          <xsl:element name="gmd:level" >
3455
            
3456
            <xsl:call-template name="codeListElement19139">
3457
              <xsl:with-param name="param" select="." />
3458
              <xsl:with-param name="namespace">gmd</xsl:with-param>
3459
              <xsl:with-param name="listName">MD_ScopeCode</xsl:with-param>
3460
            </xsl:call-template>
3461
          </xsl:element>
3462
        </xsl:otherwise>
3463
      </xsl:choose>
3464
      <xsl:for-each select="extent[1]" >
3465
        <xsl:element name="gmd:extent" >
3466
          <xsl:apply-templates select="EX_Extent" />
3467
        </xsl:element>
3468
      </xsl:for-each>
3469
      <xsl:for-each select="levelDescription" >
3470
        <xsl:element name="gmd:levelDescription" >
3471
          <xsl:apply-templates select="MD_ScopeDescription" />
3472
        </xsl:element>
3473
      </xsl:for-each>
3474
    </xsl:element>
3475
  </xsl:template>
3476
  <xsl:template match="MD_MaintenanceInformation" >
3477
    <xsl:element name="gmd:MD_MaintenanceInformation" >
3478
      <xsl:choose>
3479
        <xsl:when test="maintenanceAndUpdateFrequency" >
3480
          <xsl:for-each select="maintenanceAndUpdateFrequency[1]" >
3481
            <xsl:element name="gmd:maintenanceAndUpdateFrequency" >
3482
              <xsl:call-template name="codeListElement19139">
3483
                <xsl:with-param name="param" select="." />
3484
                <xsl:with-param name="namespace">gmd</xsl:with-param>
3485
                <xsl:with-param name="listName">MD_MaintenanceFrequencyCode</xsl:with-param>
3486
              </xsl:call-template>
3487
            </xsl:element>
3488
          </xsl:for-each>
3489
        </xsl:when>
3490
        <xsl:otherwise>
3491
          <xsl:element name="gmd:maintenanceAndUpdateFrequency" >
3492
            
3493
            <xsl:call-template name="codeListElement19139">
3494
              <xsl:with-param name="param" select="." />
3495
              <xsl:with-param name="namespace">gmd</xsl:with-param>
3496
              <xsl:with-param name="listName">MD_MaintenanceFrequencyCode</xsl:with-param>
3497
            </xsl:call-template>
3498
          </xsl:element>
3499
        </xsl:otherwise>
3500
      </xsl:choose>
3501
      <xsl:for-each select="dateOfNextUpdate[1]" >
3502
        <xsl:element name="gmd:dateOfNextUpdate" >
3503
          <xsl:element name="gco:Date" >
3504
            <xsl:value-of select="." />
3505
          </xsl:element>
3506
        </xsl:element>
3507
      </xsl:for-each>
3508
      <xsl:for-each select="userDefinedMaintenanceFrequency[1]" >
3509
        <xsl:element name="gmd:userDefinedMaintenanceFrequency" >
3510
          <xsl:value-of select="." />
3511
        </xsl:element>
3512
      </xsl:for-each>
3513
      <xsl:for-each select="updateScope" >
3514
        <xsl:element name="gmd:updateScope" >
3515
          <xsl:call-template name="codeListElement19139">
3516
            <xsl:with-param name="param" select="." />
3517
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3518
            <xsl:with-param name="listName">MD_ScopeCode</xsl:with-param>
3519
          </xsl:call-template>
3520
        </xsl:element>
3521
      </xsl:for-each>
3522
      <xsl:for-each select="updateScopeDescription" >
3523
        <xsl:element name="gmd:updateScopeDescription" >
3524
          <xsl:apply-templates select="MD_ScopeDescription" />
3525
        </xsl:element>
3526
      </xsl:for-each>
3527
      <xsl:for-each select="maintenanceNote" >
3528
        <xsl:element name="gmd:maintenanceNote" >
3529
          <xsl:element name="gco:CharacterString" >
3530
            <xsl:value-of select="." />
3531
          </xsl:element>
3532
        </xsl:element>
3533
      </xsl:for-each>
3534
      <xsl:for-each select="contact" >
3535
        <xsl:element name="gmd:contact" >
3536
          <xsl:apply-templates select="CI_ResponsibleParty" />
3537
        </xsl:element>
3538
      </xsl:for-each>
3539
    </xsl:element>
3540
  </xsl:template>
3541
  <xsl:template match="MD_ScopeDescription" >
3542
    <xsl:element name="gmd:MD_ScopeDescription" >
3543
      <xsl:for-each select="attributes[1]" >
3544
        <xsl:element name="gmd:attributes" >
3545
          <xsl:value-of select="." />
3546
        </xsl:element>
3547
      </xsl:for-each>
3548
      <xsl:for-each select="features[1]" >
3549
        <xsl:element name="gmd:features" >
3550
          <xsl:value-of select="." />
3551
        </xsl:element>
3552
      </xsl:for-each>
3553
      <xsl:for-each select="featureInstances[1]" >
3554
        <xsl:element name="gmd:featureInstances" >
3555
          <xsl:value-of select="." />
3556
        </xsl:element>
3557
      </xsl:for-each>
3558
      <xsl:for-each select="attributeInstances[1]" >
3559
        <xsl:element name="gmd:attributeInstances" >
3560
          <xsl:value-of select="." />
3561
        </xsl:element>
3562
      </xsl:for-each>
3563
      <xsl:for-each select="dataset[1]" >
3564
        <xsl:element name="gmd:dataset" >
3565
          <xsl:element name="gco:CharacterString" >
3566
            <xsl:value-of select="." />
3567
          </xsl:element>
3568
        </xsl:element>
3569
      </xsl:for-each>
3570
      <xsl:for-each select="other[1]" >
3571
        <xsl:element name="gmd:other" >
3572
          <xsl:element name="gco:CharacterString" >
3573
            <xsl:value-of select="." />
3574
          </xsl:element>
3575
        </xsl:element>
3576
      </xsl:for-each>
3577
    </xsl:element>
3578
  </xsl:template>
3579
  <xsl:template match="MD_SpatialRepresentation" >
3580
  </xsl:template>
3581
  <xsl:template match="MD_Georectified" >
3582
    <xsl:element name="gmd:MD_Georectified" >
3583
      <xsl:choose>
3584
        <xsl:when test="numberOfDimensions" >
3585
          <xsl:for-each select="numberOfDimensions[1]" >
3586
            <xsl:element name="gmd:numberOfDimensions" >
3587
              <xsl:element name="gco:Integer" >
3588
                <xsl:call-template name="stringToInteger">
3589
                  <xsl:with-param name="param" select="." />
3590
                </xsl:call-template>
3591
              </xsl:element>
3592
            </xsl:element>
3593
          </xsl:for-each>
3594
        </xsl:when>
3595
        <xsl:otherwise>
3596
          <xsl:element name="gmd:numberOfDimensions" >
3597
            <xsl:element name="gco:Integer" >
3598
              <xsl:call-template name="stringToInteger">
3599
                <xsl:with-param name="param" select="." />
3600
              </xsl:call-template>
3601
            </xsl:element>
3602
          </xsl:element>
3603
        </xsl:otherwise>
3604
      </xsl:choose>
3605
      <xsl:choose>
3606
        <xsl:when test="axisDimensionProperties/MD_Dimension" >
3607
          <xsl:for-each select="axisDimensionProperties/MD_Dimension" >
3608
            <xsl:element name="gmd:axisDimensionProperties" >
3609
              <xsl:element name="gmd:MD_Dimension" >
3610
                <xsl:choose>
3611
                  <xsl:when test="dimensionName" >
3612
                    <xsl:for-each select="dimensionName[1]" >
3613
                      <xsl:element name="gmd:dimensionName" >
3614
                        <xsl:call-template name="codeListElement19139">
3615
                          <xsl:with-param name="param" select="." />
3616
                          <xsl:with-param name="namespace">gmd</xsl:with-param>
3617
                          <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
3618
                        </xsl:call-template>
3619
                      </xsl:element>
3620
                    </xsl:for-each>
3621
                  </xsl:when>
3622
                  <xsl:otherwise>
3623
                    <xsl:element name="gmd:dimensionName" >
3624
                      
3625
                      <xsl:call-template name="codeListElement19139">
3626
                        <xsl:with-param name="param" select="." />
3627
                        <xsl:with-param name="namespace">gmd</xsl:with-param>
3628
                        <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
3629
                      </xsl:call-template>
3630
                    </xsl:element>
3631
                  </xsl:otherwise>
3632
                </xsl:choose>
3633
                <xsl:choose>
3634
                  <xsl:when test="dimensionSize" >
3635
                    <xsl:for-each select="dimensionSize[1]" >
3636
                      <xsl:element name="gmd:dimensionSize" >
3637
                        <xsl:element name="gco:Integer" >
3638
                          <xsl:value-of select="." />
3639
                        </xsl:element>
3640
                      </xsl:element>
3641
                    </xsl:for-each>
3642
                  </xsl:when>
3643
                  <xsl:otherwise>
3644
                    <xsl:element name="gmd:dimensionSize" >
3645
                      
3646
                    </xsl:element>
3647
                  </xsl:otherwise>
3648
                </xsl:choose>
3649
                <xsl:element name="gmd:resolution" >
3650
                  <xsl:for-each select="resolution[1]" >
3651
                    <xsl:element name="gco:Measure" >
3652
                      <xsl:attribute name="uom" >
3653
                        <xsl:call-template name="putValue">
3654
                          <xsl:with-param name="param" select="." />
3655
                          <xsl:with-param name="value">meter</xsl:with-param>
3656
                        </xsl:call-template>
3657
                      </xsl:attribute>
3658
                      <xsl:value-of select="." />
3659
                    </xsl:element>
3660
                  </xsl:for-each>
3661
                </xsl:element>
3662
              </xsl:element>
3663
            </xsl:element>
3664
          </xsl:for-each>
3665
        </xsl:when>
3666
        <xsl:otherwise>
3667
          <xsl:element name="gmd:axisDimensionProperties" >
3668
            
3669
          </xsl:element>
3670
        </xsl:otherwise>
3671
      </xsl:choose>
3672
      <xsl:choose>
3673
        <xsl:when test="cellGeometry" >
3674
          <xsl:for-each select="cellGeometry[1]" >
3675
            <xsl:element name="gmd:cellGeometry" >
3676
              <xsl:call-template name="codeListElement19139">
3677
                <xsl:with-param name="param" select="." />
3678
                <xsl:with-param name="namespace">gmd</xsl:with-param>
3679
                <xsl:with-param name="listName">MD_CellGeometryCode</xsl:with-param>
3680
              </xsl:call-template>
3681
            </xsl:element>
3682
          </xsl:for-each>
3683
        </xsl:when>
3684
        <xsl:otherwise>
3685
          <xsl:element name="gmd:cellGeometry" >
3686
            
3687
            <xsl:call-template name="codeListElement19139">
3688
              <xsl:with-param name="param" select="." />
3689
              <xsl:with-param name="namespace">gmd</xsl:with-param>
3690
              <xsl:with-param name="listName">MD_CellGeometryCode</xsl:with-param>
3691
            </xsl:call-template>
3692
          </xsl:element>
3693
        </xsl:otherwise>
3694
      </xsl:choose>
3695
      <xsl:choose>
3696
        <xsl:when test="transformationParameterAvailability" >
3697
          <xsl:for-each select="transformationParameterAvailability[1]" >
3698
            <xsl:element name="gmd:transformationParameterAvailability" >
3699
              <xsl:element name="gco:Boolean" >
3700
                <xsl:value-of select="." />
3701
              </xsl:element>
3702
            </xsl:element>
3703
          </xsl:for-each>
3704
        </xsl:when>
3705
        <xsl:otherwise>
3706
          <xsl:element name="gmd:transformationParameterAvailability" >
3707
            
3708
          </xsl:element>
3709
        </xsl:otherwise>
3710
      </xsl:choose>
3711
      <xsl:choose>
3712
        <xsl:when test="checkPointAvailability" >
3713
          <xsl:for-each select="checkPointAvailability[1]" >
3714
            <xsl:element name="gmd:checkPointAvailability" >
3715
              <xsl:element name="gco:Boolean" >
3716
                <xsl:value-of select="." />
3717
              </xsl:element>
3718
            </xsl:element>
3719
          </xsl:for-each>
3720
        </xsl:when>
3721
        <xsl:otherwise>
3722
          <xsl:element name="gmd:checkPointAvailability" >
3723
            
3724
          </xsl:element>
3725
        </xsl:otherwise>
3726
      </xsl:choose>
3727
      <xsl:for-each select="checkPointDescription[1]" >
3728
        <xsl:element name="gmd:checkPointDescription" >
3729
          <xsl:element name="gco:CharacterString" >
3730
            <xsl:value-of select="." />
3731
          </xsl:element>
3732
        </xsl:element>
3733
      </xsl:for-each>
3734
      <xsl:choose>
3735
        <xsl:when test="cornerPoints" >
3736
          <xsl:for-each select="cornerPoints[1]" >
3737
            <xsl:element name="gmd:cornerPoints" >
3738
              <xsl:value-of select="." />
3739
            </xsl:element>
3740
          </xsl:for-each>
3741
        </xsl:when>
3742
        <xsl:otherwise>
3743
          <xsl:element name="gmd:cornerPoints" >
3744
            
3745
          </xsl:element>
3746
        </xsl:otherwise>
3747
      </xsl:choose>
3748
      <xsl:for-each select="centerPoint[1]" >
3749
        <xsl:element name="gmd:centerPoint" >
3750
          <xsl:value-of select="." />
3751
        </xsl:element>
3752
      </xsl:for-each>
3753
      <xsl:choose>
3754
        <xsl:when test="pointInPixel" >
3755
          <xsl:for-each select="pointInPixel[1]" >
3756
            <xsl:element name="gmd:pointInPixel" >
3757
              <xsl:apply-templates select="MD_PixelOrientationCode" />
3758
            </xsl:element>
3759
          </xsl:for-each>
3760
        </xsl:when>
3761
        <xsl:otherwise>
3762
          <xsl:element name="gmd:pointInPixel" >
3763
            
3764
          </xsl:element>
3765
        </xsl:otherwise>
3766
      </xsl:choose>
3767
      <xsl:for-each select="transformationDimensionDescription[1]" >
3768
        <xsl:element name="gmd:transformationDimensionDescription" >
3769
          <xsl:element name="gco:CharacterString" >
3770
            <xsl:value-of select="." />
3771
          </xsl:element>
3772
        </xsl:element>
3773
      </xsl:for-each>
3774
      <xsl:for-each select="transformationDimensionMapping" >
3775
        <xsl:element name="gmd:transformationDimensionMapping" >
3776
          <xsl:element name="gco:CharacterString" >
3777
            <xsl:value-of select="." />
3778
          </xsl:element>
3779
        </xsl:element>
3780
      </xsl:for-each>
3781
    </xsl:element>
3782
  </xsl:template>
3783
  <xsl:template match="MD_Georeferenceable" >
3784
    <xsl:element name="gmd:MD_Georeferenceable" >
3785
      <xsl:choose>
3786
        <xsl:when test="numberOfDimensions" >
3787
          <xsl:for-each select="numberOfDimensions[1]" >
3788
            <xsl:element name="gmd:numberOfDimensions" >
3789
              <xsl:element name="gco:Integer" >
3790
                <xsl:call-template name="stringToInteger">
3791
                  <xsl:with-param name="param" select="." />
3792
                </xsl:call-template>
3793
              </xsl:element>
3794
            </xsl:element>
3795
          </xsl:for-each>
3796
        </xsl:when>
3797
        <xsl:otherwise>
3798
          <xsl:element name="gmd:numberOfDimensions" >
3799
            <xsl:element name="gco:Integer" >
3800
              <xsl:call-template name="stringToInteger">
3801
                <xsl:with-param name="param" select="." />
3802
              </xsl:call-template>
3803
            </xsl:element>
3804
          </xsl:element>
3805
        </xsl:otherwise>
3806
      </xsl:choose>
3807
      <xsl:choose>
3808
        <xsl:when test="axisDimensionProperties/MD_Dimension" >
3809
          <xsl:for-each select="axisDimensionProperties/MD_Dimension" >
3810
            <xsl:element name="gmd:axisDimensionProperties" >
3811
              <xsl:element name="gmd:MD_Dimension" >
3812
                <xsl:choose>
3813
                  <xsl:when test="dimensionName" >
3814
                    <xsl:for-each select="dimensionName[1]" >
3815
                      <xsl:element name="gmd:dimensionName" >
3816
                        <xsl:call-template name="codeListElement19139">
3817
                          <xsl:with-param name="param" select="." />
3818
                          <xsl:with-param name="namespace">gmd</xsl:with-param>
3819
                          <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
3820
                        </xsl:call-template>
3821
                      </xsl:element>
3822
                    </xsl:for-each>
3823
                  </xsl:when>
3824
                  <xsl:otherwise>
3825
                    <xsl:element name="gmd:dimensionName" >
3826
                      
3827
                      <xsl:call-template name="codeListElement19139">
3828
                        <xsl:with-param name="param" select="." />
3829
                        <xsl:with-param name="namespace">gmd</xsl:with-param>
3830
                        <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
3831
                      </xsl:call-template>
3832
                    </xsl:element>
3833
                  </xsl:otherwise>
3834
                </xsl:choose>
3835
                <xsl:choose>
3836
                  <xsl:when test="dimensionSize" >
3837
                    <xsl:for-each select="dimensionSize[1]" >
3838
                      <xsl:element name="gmd:dimensionSize" >
3839
                        <xsl:element name="gco:Integer" >
3840
                          <xsl:value-of select="." />
3841
                        </xsl:element>
3842
                      </xsl:element>
3843
                    </xsl:for-each>
3844
                  </xsl:when>
3845
                  <xsl:otherwise>
3846
                    <xsl:element name="gmd:dimensionSize" >
3847
                      
3848
                    </xsl:element>
3849
                  </xsl:otherwise>
3850
                </xsl:choose>
3851
                <xsl:element name="gmd:resolution" >
3852
                  <xsl:for-each select="resolution[1]" >
3853
                    <xsl:element name="gco:Measure" >
3854
                      <xsl:attribute name="uom" >
3855
                        <xsl:call-template name="putValue">
3856
                          <xsl:with-param name="param" select="." />
3857
                          <xsl:with-param name="value">meter</xsl:with-param>
3858
                        </xsl:call-template>
3859
                      </xsl:attribute>
3860
                      <xsl:value-of select="." />
3861
                    </xsl:element>
3862
                  </xsl:for-each>
3863
                </xsl:element>
3864
              </xsl:element>
3865
            </xsl:element>
3866
          </xsl:for-each>
3867
        </xsl:when>
3868
        <xsl:otherwise>
3869
          <xsl:element name="gmd:axisDimensionProperties" >
3870
            
3871
          </xsl:element>
3872
        </xsl:otherwise>
3873
      </xsl:choose>
3874
      <xsl:choose>
3875
        <xsl:when test="cellGeometry" >
3876
          <xsl:for-each select="cellGeometry[1]" >
3877
            <xsl:element name="gmd:cellGeometry" >
3878
              <xsl:call-template name="codeListElement19139">
3879
                <xsl:with-param name="param" select="." />
3880
                <xsl:with-param name="namespace">gmd</xsl:with-param>
3881
                <xsl:with-param name="listName">MD_CellGeometryCode</xsl:with-param>
3882
              </xsl:call-template>
3883
            </xsl:element>
3884
          </xsl:for-each>
3885
        </xsl:when>
3886
        <xsl:otherwise>
3887
          <xsl:element name="gmd:cellGeometry" >
3888
            
3889
            <xsl:call-template name="codeListElement19139">
3890
              <xsl:with-param name="param" select="." />
3891
              <xsl:with-param name="namespace">gmd</xsl:with-param>
3892
              <xsl:with-param name="listName">MD_CellGeometryCode</xsl:with-param>
3893
            </xsl:call-template>
3894
          </xsl:element>
3895
        </xsl:otherwise>
3896
      </xsl:choose>
3897
      <xsl:choose>
3898
        <xsl:when test="transformationParameterAvailability" >
3899
          <xsl:for-each select="transformationParameterAvailability[1]" >
3900
            <xsl:element name="gmd:transformationParameterAvailability" >
3901
              <xsl:element name="gco:Boolean" >
3902
                <xsl:value-of select="." />
3903
              </xsl:element>
3904
            </xsl:element>
3905
          </xsl:for-each>
3906
        </xsl:when>
3907
        <xsl:otherwise>
3908
          <xsl:element name="gmd:transformationParameterAvailability" >
3909
            
3910
          </xsl:element>
3911
        </xsl:otherwise>
3912
      </xsl:choose>
3913
      <xsl:choose>
3914
        <xsl:when test="controlPointAvailability" >
3915
          <xsl:for-each select="controlPointAvailability[1]" >
3916
            <xsl:element name="gmd:controlPointAvailability" >
3917
              <xsl:element name="gco:Boolean" >
3918
                <xsl:value-of select="." />
3919
              </xsl:element>
3920
            </xsl:element>
3921
          </xsl:for-each>
3922
        </xsl:when>
3923
        <xsl:otherwise>
3924
          <xsl:element name="gmd:controlPointAvailability" >
3925
            
3926
          </xsl:element>
3927
        </xsl:otherwise>
3928
      </xsl:choose>
3929
      <xsl:choose>
3930
        <xsl:when test="orientationParameterAvailability" >
3931
          <xsl:for-each select="orientationParameterAvailability[1]" >
3932
            <xsl:element name="gmd:orientationParameterAvailability" >
3933
              <xsl:element name="gco:Boolean" >
3934
                <xsl:value-of select="." />
3935
              </xsl:element>
3936
            </xsl:element>
3937
          </xsl:for-each>
3938
        </xsl:when>
3939
        <xsl:otherwise>
3940
          <xsl:element name="gmd:orientationParameterAvailability" >
3941
            
3942
          </xsl:element>
3943
        </xsl:otherwise>
3944
      </xsl:choose>
3945
      <xsl:for-each select="orientationParameterDescription[1]" >
3946
        <xsl:element name="gmd:orientationParameterDescription" >
3947
          <xsl:element name="gco:CharacterString" >
3948
            <xsl:value-of select="." />
3949
          </xsl:element>
3950
        </xsl:element>
3951
      </xsl:for-each>
3952
      <xsl:choose>
3953
        <xsl:when test="georeferencedParameters" >
3954
          <xsl:for-each select="georeferencedParameters[1]" >
3955
            <xsl:element name="gmd:georeferencedParameters" >
3956
              <xsl:element name="gco:Record" >
3957
                <xsl:value-of select="." />
3958
              </xsl:element>
3959
            </xsl:element>
3960
          </xsl:for-each>
3961
        </xsl:when>
3962
        <xsl:otherwise>
3963
          <xsl:element name="gmd:georeferencedParameters" >
3964
            
3965
          </xsl:element>
3966
        </xsl:otherwise>
3967
      </xsl:choose>
3968
      <xsl:for-each select="parameterCitation" >
3969
        <xsl:element name="gmd:parameterCitation" >
3970
          <xsl:apply-templates select="CI_Citation" />
3971
        </xsl:element>
3972
      </xsl:for-each>
3973
    </xsl:element>
3974
  </xsl:template>
3975
  <xsl:template match="MD_VectorSpatialRepresentation" >
3976
    <xsl:element name="gmd:MD_VectorSpatialRepresentation" >
3977
      <xsl:for-each select="topologyLevel[1]" >
3978
        <xsl:element name="gmd:topologyLevel" >
3979
          <xsl:call-template name="codeListElement19139">
3980
            <xsl:with-param name="param" select="." />
3981
            <xsl:with-param name="namespace">gmd</xsl:with-param>
3982
            <xsl:with-param name="listName">MD_TopologyLevelCode</xsl:with-param>
3983
          </xsl:call-template>
3984
        </xsl:element>
3985
      </xsl:for-each>
3986
      <xsl:for-each select="geometricObjects" >
3987
        <xsl:element name="gmd:geometricObjects" >
3988
          <xsl:apply-templates select="MD_GeometricObjects" />
3989
        </xsl:element>
3990
      </xsl:for-each>
3991
    </xsl:element>
3992
  </xsl:template>
3993
  <xsl:template match="MD_Dimension" >
3994
    <xsl:element name="gmd:MD_Dimension" >
3995
      <xsl:choose>
3996
        <xsl:when test="dimensionName" >
3997
          <xsl:for-each select="dimensionName[1]" >
3998
            <xsl:element name="gmd:dimensionName" >
3999
              <xsl:call-template name="codeListElement19139">
4000
                <xsl:with-param name="param" select="." />
4001
                <xsl:with-param name="namespace">gmd</xsl:with-param>
4002
                <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
4003
              </xsl:call-template>
4004
            </xsl:element>
4005
          </xsl:for-each>
4006
        </xsl:when>
4007
        <xsl:otherwise>
4008
          <xsl:element name="gmd:dimensionName" >
4009
            
4010
            <xsl:call-template name="codeListElement19139">
4011
              <xsl:with-param name="param" select="." />
4012
              <xsl:with-param name="namespace">gmd</xsl:with-param>
4013
              <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
4014
            </xsl:call-template>
4015
          </xsl:element>
4016
        </xsl:otherwise>
4017
      </xsl:choose>
4018
      <xsl:choose>
4019
        <xsl:when test="dimensionSize" >
4020
          <xsl:for-each select="dimensionSize[1]" >
4021
            <xsl:element name="gmd:dimensionSize" >
4022
              <xsl:element name="gco:Integer" >
4023
                <xsl:call-template name="stringToInteger">
4024
                  <xsl:with-param name="param" select="." />
4025
                </xsl:call-template>
4026
              </xsl:element>
4027
            </xsl:element>
4028
          </xsl:for-each>
4029
        </xsl:when>
4030
        <xsl:otherwise>
4031
          <xsl:element name="gmd:dimensionSize" >
4032
            
4033
            <xsl:call-template name="stringToInteger">
4034
              <xsl:with-param name="param" select="." />
4035
            </xsl:call-template>
4036
          </xsl:element>
4037
        </xsl:otherwise>
4038
      </xsl:choose>
4039
      <xsl:for-each select="resolution[1]" >
4040
        <xsl:element name="gmd:resolution" >
4041
          <xsl:element name="gco:Measure" >
4042
            <xsl:value-of select="." />
4043
          </xsl:element>
4044
        </xsl:element>
4045
      </xsl:for-each>
4046
    </xsl:element>
4047
  </xsl:template>
4048
  <xsl:template match="MD_GeometricObjects" >
4049
    <xsl:element name="gmd:MD_GeometricObjects" >
4050
      <xsl:choose>
4051
        <xsl:when test="geometricObjectType" >
4052
          <xsl:for-each select="geometricObjectType[1]" >
4053
            <xsl:element name="gmd:geometricObjectType" >
4054
              <xsl:call-template name="codeListElement19139">
4055
                <xsl:with-param name="param" select="." />
4056
                <xsl:with-param name="namespace">gmd</xsl:with-param>
4057
                <xsl:with-param name="listName">MD_GeometricObjectTypeCode</xsl:with-param>
4058
              </xsl:call-template>
4059
            </xsl:element>
4060
          </xsl:for-each>
4061
        </xsl:when>
4062
        <xsl:otherwise>
4063
          <xsl:element name="gmd:geometricObjectType" >
4064
            
4065
            <xsl:call-template name="codeListElement19139">
4066
              <xsl:with-param name="param" select="." />
4067
              <xsl:with-param name="namespace">gmd</xsl:with-param>
4068
              <xsl:with-param name="listName">MD_GeometricObjectTypeCode</xsl:with-param>
4069
            </xsl:call-template>
4070
          </xsl:element>
4071
        </xsl:otherwise>
4072
      </xsl:choose>
4073
      <xsl:for-each select="geometricObjectCount[1]" >
4074
        <xsl:element name="gmd:geometricObjectCount" >
4075
          <xsl:element name="gco:Integer" >
4076
            <xsl:call-template name="stringToInteger">
4077
              <xsl:with-param name="param" select="." />
4078
            </xsl:call-template>
4079
          </xsl:element>
4080
        </xsl:element>
4081
      </xsl:for-each>
4082
    </xsl:element>
4083
  </xsl:template>
4084
  <xsl:template match="CI_Address" >
4085
    <xsl:element name="gmd:CI_Address" >
4086
      <xsl:for-each select="deliveryPoint" >
4087
        <xsl:element name="gmd:deliveryPoint" >
4088
          <xsl:element name="gco:CharacterString" >
4089
            <xsl:value-of select="." />
4090
          </xsl:element>
4091
        </xsl:element>
4092
      </xsl:for-each>
4093
      <xsl:for-each select="city[1]" >
4094
        <xsl:element name="gmd:city" >
4095
          <xsl:element name="gco:CharacterString" >
4096
            <xsl:value-of select="." />
4097
          </xsl:element>
4098
        </xsl:element>
4099
      </xsl:for-each>
4100
      <xsl:for-each select="administrativeArea[1]" >
4101
        <xsl:element name="gmd:administrativeArea" >
4102
          <xsl:element name="gco:CharacterString" >
4103
            <xsl:value-of select="." />
4104
          </xsl:element>
4105
        </xsl:element>
4106
      </xsl:for-each>
4107
      <xsl:for-each select="postalCode[1]" >
4108
        <xsl:element name="gmd:postalCode" >
4109
          <xsl:element name="gco:CharacterString" >
4110
            <xsl:value-of select="." />
4111
          </xsl:element>
4112
        </xsl:element>
4113
      </xsl:for-each>
4114
      <xsl:for-each select="country[1]" >
4115
        <xsl:element name="gmd:country" >
4116
          <xsl:element name="gco:CharacterString" >
4117
            <xsl:value-of select="." />
4118
          </xsl:element>
4119
        </xsl:element>
4120
      </xsl:for-each>
4121
      <xsl:for-each select="electronicMailAddress" >
4122
        <xsl:element name="gmd:electronicMailAddress" >
4123
          <xsl:element name="gco:CharacterString" >
4124
            <xsl:value-of select="." />
4125
          </xsl:element>
4126
        </xsl:element>
4127
      </xsl:for-each>
4128
    </xsl:element>
4129
  </xsl:template>
4130
  <xsl:template match="CI_Contact" >
4131
    <xsl:element name="gmd:CI_Contact" >
4132
      <xsl:for-each select="phone[1]" >
4133
        <xsl:element name="gmd:phone" >
4134
          <xsl:apply-templates select="CI_Telephone" />
4135
        </xsl:element>
4136
      </xsl:for-each>
4137
      <xsl:for-each select="address[1]" >
4138
        <xsl:element name="gmd:address" >
4139
          <xsl:apply-templates select="CI_Address" />
4140
        </xsl:element>
4141
      </xsl:for-each>
4142
      <xsl:for-each select="onlineResource[1]" >
4143
        <xsl:element name="gmd:onlineResource" >
4144
          <xsl:apply-templates select="CI_OnlineResource" />
4145
        </xsl:element>
4146
      </xsl:for-each>
4147
      <xsl:for-each select="hoursOfService[1]" >
4148
        <xsl:element name="gmd:hoursOfService" >
4149
          <xsl:element name="gco:CharacterString" >
4150
            <xsl:value-of select="." />
4151
          </xsl:element>
4152
        </xsl:element>
4153
      </xsl:for-each>
4154
      <xsl:for-each select="contactInstructions[1]" >
4155
        <xsl:element name="gmd:contactInstructions" >
4156
          <xsl:element name="gco:CharacterString" >
4157
            <xsl:value-of select="." />
4158
          </xsl:element>
4159
        </xsl:element>
4160
      </xsl:for-each>
4161
    </xsl:element>
4162
  </xsl:template>
4163
  <xsl:template match="CI_Date" >
4164
    <xsl:element name="gmd:CI_Date" >
4165
      <xsl:choose>
4166
        <xsl:when test="date" >
4167
          <xsl:for-each select="date[1]" >
4168
            <xsl:element name="gmd:date" >
4169
              <xsl:element name="gco:Date" >
4170
                <xsl:value-of select="." />
4171
              </xsl:element>
4172
            </xsl:element>
4173
          </xsl:for-each>
4174
        </xsl:when>
4175
        <xsl:otherwise>
4176
          <xsl:element name="gmd:date" >
4177
            
4178
          </xsl:element>
4179
        </xsl:otherwise>
4180
      </xsl:choose>
4181
      <xsl:choose>
4182
        <xsl:when test="dateType" >
4183
          <xsl:for-each select="dateType[1]" >
4184
            <xsl:element name="gmd:dateType" >
4185
              <xsl:call-template name="codeListElement19139">
4186
                <xsl:with-param name="param" select="." />
4187
                <xsl:with-param name="namespace">gmd</xsl:with-param>
4188
                <xsl:with-param name="listName">CI_DateTypeCode</xsl:with-param>
4189
              </xsl:call-template>
4190
            </xsl:element>
4191
          </xsl:for-each>
4192
        </xsl:when>
4193
        <xsl:otherwise>
4194
          <xsl:element name="gmd:dateType" >
4195
            
4196
            <xsl:call-template name="codeListElement19139">
4197
              <xsl:with-param name="param" select="." />
4198
              <xsl:with-param name="namespace">gmd</xsl:with-param>
4199
              <xsl:with-param name="listName">CI_DateTypeCode</xsl:with-param>
4200
            </xsl:call-template>
4201
          </xsl:element>
4202
        </xsl:otherwise>
4203
      </xsl:choose>
4204
    </xsl:element>
4205
  </xsl:template>
4206
  <xsl:template match="CI_OnlineResource" >
4207
    <xsl:element name="gmd:CI_OnlineResource" >
4208
      <xsl:choose>
4209
        <xsl:when test="linkage" >
4210
          <xsl:for-each select="linkage[1]" >
4211
            <xsl:element name="gmd:linkage" >
4212
              <xsl:element name="gmd:URL" >
4213
                <xsl:value-of select="." />
4214
              </xsl:element>
4215
            </xsl:element>
4216
          </xsl:for-each>
4217
        </xsl:when>
4218
        <xsl:otherwise>
4219
          <xsl:element name="gmd:linkage" >
4220
            
4221
          </xsl:element>
4222
        </xsl:otherwise>
4223
      </xsl:choose>
4224
      <xsl:for-each select="protocol[1]" >
4225
        <xsl:element name="gmd:protocol" >
4226
          <xsl:element name="gco:CharacterString" >
4227
            <xsl:value-of select="." />
4228
          </xsl:element>
4229
        </xsl:element>
4230
      </xsl:for-each>
4231
      <xsl:for-each select="applicationProfile[1]" >
4232
        <xsl:element name="gmd:applicationProfile" >
4233
          <xsl:element name="gco:CharacterString" >
4234
            <xsl:value-of select="." />
4235
          </xsl:element>
4236
        </xsl:element>
4237
      </xsl:for-each>
4238
      <xsl:for-each select="name[1]" >
4239
        <xsl:element name="gmd:name" >
4240
          <xsl:element name="gco:CharacterString" >
4241
            <xsl:value-of select="." />
4242
          </xsl:element>
4243
        </xsl:element>
4244
      </xsl:for-each>
4245
      <xsl:for-each select="description[1]" >
4246
        <xsl:element name="gmd:description" >
4247
          <xsl:element name="gco:CharacterString" >
4248
            <xsl:value-of select="." />
4249
          </xsl:element>
4250
        </xsl:element>
4251
      </xsl:for-each>
4252
      <xsl:for-each select="function[1]" >
4253
        <xsl:element name="gmd:function" >
4254
          <xsl:call-template name="codeListElement19139">
4255
            <xsl:with-param name="param" select="." />
4256
            <xsl:with-param name="namespace">gmd</xsl:with-param>
4257
            <xsl:with-param name="listName">CI_OnLineFunctionCode</xsl:with-param>
4258
          </xsl:call-template>
4259
        </xsl:element>
4260
      </xsl:for-each>
4261
    </xsl:element>
4262
  </xsl:template>
4263
  <xsl:template match="RS_ReferenceSystem" >
4264
  </xsl:template>
4265
  <xsl:template match="MD_EllipsoidParameters" >
4266
    <xsl:element name="gmd:MD_EllipsoidParameters" >
4267
      <xsl:choose>
4268
        <xsl:when test="semiMajorAxis" >
4269
          <xsl:for-each select="semiMajorAxis[1]" >
4270
            <xsl:element name="gmd:semiMajorAxis" >
4271
              <xsl:element name="gco:Real" >
4272
                <xsl:call-template name="stringToReal">
4273
                  <xsl:with-param name="param" select="." />
4274
                </xsl:call-template>
4275
              </xsl:element>
4276
            </xsl:element>
4277
          </xsl:for-each>
4278
        </xsl:when>
4279
        <xsl:otherwise>
4280
          <xsl:element name="gmd:semiMajorAxis" >
4281
            
4282
            <xsl:call-template name="stringToReal">
4283
              <xsl:with-param name="param" select="." />
4284
            </xsl:call-template>
4285
          </xsl:element>
4286
        </xsl:otherwise>
4287
      </xsl:choose>
4288
      <xsl:choose>
4289
        <xsl:when test="axisUnits" >
4290
          <xsl:for-each select="axisUnits[1]" >
4291
            <xsl:element name="gmd:axisUnits" >
4292
              <xsl:value-of select="." />
4293
            </xsl:element>
4294
          </xsl:for-each>
4295
        </xsl:when>
4296
        <xsl:otherwise>
4297
          <xsl:element name="gmd:axisUnits" >
4298
            
4299
          </xsl:element>
4300
        </xsl:otherwise>
4301
      </xsl:choose>
4302
      <xsl:for-each select="denominatorOfFlatteningRatio[1]" >
4303
        <xsl:element name="gmd:denominatorOfFlatteningRatio" >
4304
          <xsl:element name="gco:Real" >
4305
            <xsl:call-template name="stringToReal">
4306
              <xsl:with-param name="param" select="." />
4307
            </xsl:call-template>
4308
          </xsl:element>
4309
        </xsl:element>
4310
      </xsl:for-each>
4311
    </xsl:element>
4312
  </xsl:template>
4313
  <xsl:template match="MD_Identifier" >
4314
    <xsl:element name="gmd:MD_Identifier" >
4315
      <xsl:for-each select="authority[1]" >
4316
        <xsl:element name="gmd:authority" >
4317
          <xsl:apply-templates select="CI_Citation" />
4318
        </xsl:element>
4319
      </xsl:for-each>
4320
      <xsl:choose>
4321
        <xsl:when test="code" >
4322
          <xsl:for-each select="code[1]" >
4323
            <xsl:element name="gmd:code" >
4324
              <xsl:element name="gco:CharacterString" >
4325
                <xsl:value-of select="." />
4326
              </xsl:element>
4327
            </xsl:element>
4328
          </xsl:for-each>
4329
        </xsl:when>
4330
        <xsl:otherwise>
4331
          <xsl:element name="gmd:code" >
4332
            
4333
          </xsl:element>
4334
        </xsl:otherwise>
4335
      </xsl:choose>
4336
    </xsl:element>
4337
  </xsl:template>
4338
  <xsl:template match="RS_Identifier" >
4339
    <xsl:element name="gmd:RS_Identifier" >
4340
      <xsl:for-each select="authority[1]" >
4341
        <xsl:element name="gmd:authority" >
4342
          <xsl:apply-templates select="CI_Citation" />
4343
        </xsl:element>
4344
      </xsl:for-each>
4345
      <xsl:choose>
4346
        <xsl:when test="code" >
4347
          <xsl:for-each select="code[1]" >
4348
            <xsl:element name="gmd:code" >
4349
              <xsl:element name="gco:CharacterString" >
4350
                <xsl:value-of select="." />
4351
              </xsl:element>
4352
            </xsl:element>
4353
          </xsl:for-each>
4354
        </xsl:when>
4355
        <xsl:otherwise>
4356
          <xsl:element name="gmd:code" >
4357
            
4358
          </xsl:element>
4359
        </xsl:otherwise>
4360
      </xsl:choose>
4361
      <xsl:for-each select="codeSpace[1]" >
4362
        <xsl:element name="gmd:codeSpace" >
4363
          <xsl:element name="gco:CharacterString" >
4364
            <xsl:value-of select="." />
4365
          </xsl:element>
4366
        </xsl:element>
4367
      </xsl:for-each>
4368
      <xsl:for-each select="version[1]" >
4369
        <xsl:element name="gmd:version" >
4370
          <xsl:element name="gco:CharacterString" >
4371
            <xsl:value-of select="." />
4372
          </xsl:element>
4373
        </xsl:element>
4374
      </xsl:for-each>
4375
    </xsl:element>
4376
  </xsl:template>
4377
  <xsl:template match="MD_ObliqueLineAzimuth" >
4378
    <xsl:element name="gmd:MD_ObliqueLineAzimuth" >
4379
      <xsl:choose>
4380
        <xsl:when test="azimuthAngle" >
4381
          <xsl:for-each select="azimuthAngle[1]" >
4382
            <xsl:element name="gmd:azimuthAngle" >
4383
              <xsl:element name="gco:Real" >
4384
                <xsl:call-template name="stringToReal">
4385
                  <xsl:with-param name="param" select="." />
4386
                </xsl:call-template>
4387
              </xsl:element>
4388
            </xsl:element>
4389
          </xsl:for-each>
4390
        </xsl:when>
4391
        <xsl:otherwise>
4392
          <xsl:element name="gmd:azimuthAngle" >
4393
            
4394
            <xsl:call-template name="stringToReal">
4395
              <xsl:with-param name="param" select="." />
4396
            </xsl:call-template>
4397
          </xsl:element>
4398
        </xsl:otherwise>
4399
      </xsl:choose>
4400
      <xsl:choose>
4401
        <xsl:when test="azimuthMeasurePointLongitude" >
4402
          <xsl:for-each select="azimuthMeasurePointLongitude[1]" >
4403
            <xsl:element name="gmd:azimuthMeasurePointLongitude" >
4404
              <xsl:element name="gco:Real" >
4405
                <xsl:call-template name="stringToReal">
4406
                  <xsl:with-param name="param" select="." />
4407
                </xsl:call-template>
4408
              </xsl:element>
4409
            </xsl:element>
4410
          </xsl:for-each>
4411
        </xsl:when>
4412
        <xsl:otherwise>
4413
          <xsl:element name="gmd:azimuthMeasurePointLongitude" >
4414
            
4415
            <xsl:call-template name="stringToReal">
4416
              <xsl:with-param name="param" select="." />
4417
            </xsl:call-template>
4418
          </xsl:element>
4419
        </xsl:otherwise>
4420
      </xsl:choose>
4421
    </xsl:element>
4422
  </xsl:template>
4423
  <xsl:template match="MD_ObliqueLinePoint" >
4424
    <xsl:element name="gmd:MD_ObliqueLinePoint" >
4425
      <xsl:choose>
4426
        <xsl:when test="obliqueLineLatitude" >
4427
          <xsl:for-each select="obliqueLineLatitude[1]" >
4428
            <xsl:element name="gmd:obliqueLineLatitude" >
4429
              <xsl:element name="gco:Real" >
4430
                <xsl:call-template name="stringToReal">
4431
                  <xsl:with-param name="param" select="." />
4432
                </xsl:call-template>
4433
              </xsl:element>
4434
            </xsl:element>
4435
          </xsl:for-each>
4436
        </xsl:when>
4437
        <xsl:otherwise>
4438
          <xsl:element name="gmd:obliqueLineLatitude" >
4439
            
4440
            <xsl:call-template name="stringToReal">
4441
              <xsl:with-param name="param" select="." />
4442
            </xsl:call-template>
4443
          </xsl:element>
4444
        </xsl:otherwise>
4445
      </xsl:choose>
4446
      <xsl:choose>
4447
        <xsl:when test="obliqueLineLongitude" >
4448
          <xsl:for-each select="obliqueLineLongitude[1]" >
4449
            <xsl:element name="gmd:obliqueLineLongitude" >
4450
              <xsl:element name="gco:Real" >
4451
                <xsl:call-template name="stringToReal">
4452
                  <xsl:with-param name="param" select="." />
4453
                </xsl:call-template>
4454
              </xsl:element>
4455
            </xsl:element>
4456
          </xsl:for-each>
4457
        </xsl:when>
4458
        <xsl:otherwise>
4459
          <xsl:element name="gmd:obliqueLineLongitude" >
4460
            
4461
            <xsl:call-template name="stringToReal">
4462
              <xsl:with-param name="param" select="." />
4463
            </xsl:call-template>
4464
          </xsl:element>
4465
        </xsl:otherwise>
4466
      </xsl:choose>
4467
    </xsl:element>
4468
  </xsl:template>
4469
  <xsl:template match="MD_ProjectionParameters" >
4470
    <xsl:element name="gmd:MD_ProjectionParameters" >
4471
      <xsl:for-each select="zone[1]" >
4472
        <xsl:element name="gmd:zone" >
4473
          <xsl:element name="gco:Integer" >
4474
            <xsl:call-template name="stringToInteger">
4475
              <xsl:with-param name="param" select="." />
4476
            </xsl:call-template>
4477
          </xsl:element>
4478
        </xsl:element>
4479
      </xsl:for-each>
4480
      <xsl:for-each select="standardParallel" >
4481
        <xsl:element name="gmd:standardParallel" >
4482
          <xsl:element name="gco:Real" >
4483
            <xsl:call-template name="stringToReal">
4484
              <xsl:with-param name="param" select="." />
4485
            </xsl:call-template>
4486
          </xsl:element>
4487
        </xsl:element>
4488
      </xsl:for-each>
4489
      <xsl:for-each select="longitudeOfCentralMeridian[1]" >
4490
        <xsl:element name="gmd:longitudeOfCentralMeridian" >
4491
          <xsl:element name="gco:Real" >
4492
            <xsl:call-template name="stringToReal">
4493
              <xsl:with-param name="param" select="." />
4494
            </xsl:call-template>
4495
          </xsl:element>
4496
        </xsl:element>
4497
      </xsl:for-each>
4498
      <xsl:for-each select="latitudeOfProjectionOrigin[1]" >
4499
        <xsl:element name="gmd:latitudeOfProjectionOrigin" >
4500
          <xsl:element name="gco:Real" >
4501
            <xsl:call-template name="stringToReal">
4502
              <xsl:with-param name="param" select="." />
4503
            </xsl:call-template>
4504
          </xsl:element>
4505
        </xsl:element>
4506
      </xsl:for-each>
4507
      <xsl:for-each select="falseEasting[1]" >
4508
        <xsl:element name="gmd:falseEasting" >
4509
          <xsl:element name="gco:Real" >
4510
            <xsl:call-template name="stringToReal">
4511
              <xsl:with-param name="param" select="." />
4512
            </xsl:call-template>
4513
          </xsl:element>
4514
        </xsl:element>
4515
      </xsl:for-each>
4516
      <xsl:for-each select="falseNorthing[1]" >
4517
        <xsl:element name="gmd:falseNorthing" >
4518
          <xsl:element name="gco:Real" >
4519
            <xsl:call-template name="stringToReal">
4520
              <xsl:with-param name="param" select="." />
4521
            </xsl:call-template>
4522
          </xsl:element>
4523
        </xsl:element>
4524
      </xsl:for-each>
4525
      <xsl:for-each select="falseEastingNorthingUnits[1]" >
4526
        <xsl:element name="gmd:falseEastingNorthingUnits" >
4527
          <xsl:value-of select="." />
4528
        </xsl:element>
4529
      </xsl:for-each>
4530
      <xsl:for-each select="scaleFactorAtEquator[1]" >
4531
        <xsl:element name="gmd:scaleFactorAtEquator" >
4532
          <xsl:element name="gco:Real" >
4533
            <xsl:call-template name="stringToReal">
4534
              <xsl:with-param name="param" select="." />
4535
            </xsl:call-template>
4536
          </xsl:element>
4537
        </xsl:element>
4538
      </xsl:for-each>
4539
      <xsl:for-each select="heightOfProspectivePointAboveSurface[1]" >
4540
        <xsl:element name="gmd:heightOfProspectivePointAboveSurface" >
4541
          <xsl:element name="gco:Real" >
4542
            <xsl:call-template name="stringToReal">
4543
              <xsl:with-param name="param" select="." />
4544
            </xsl:call-template>
4545
          </xsl:element>
4546
        </xsl:element>
4547
      </xsl:for-each>
4548
      <xsl:for-each select="longitudeOfProjectionCenter[1]" >
4549
        <xsl:element name="gmd:longitudeOfProjectionCenter" >
4550
          <xsl:element name="gco:Real" >
4551
            <xsl:call-template name="stringToReal">
4552
              <xsl:with-param name="param" select="." />
4553
            </xsl:call-template>
4554
          </xsl:element>
4555
        </xsl:element>
4556
      </xsl:for-each>
4557
      <xsl:for-each select="latitudeOfProjectionCenter[1]" >
4558
        <xsl:element name="gmd:latitudeOfProjectionCenter" >
4559
          <xsl:element name="gco:Real" >
4560
            <xsl:call-template name="stringToReal">
4561
              <xsl:with-param name="param" select="." />
4562
            </xsl:call-template>
4563
          </xsl:element>
4564
        </xsl:element>
4565
      </xsl:for-each>
4566
      <xsl:for-each select="scaleFactorAtCenterLine[1]" >
4567
        <xsl:element name="gmd:scaleFactorAtCenterLine" >
4568
          <xsl:element name="gco:Real" >
4569
            <xsl:call-template name="stringToReal">
4570
              <xsl:with-param name="param" select="." />
4571
            </xsl:call-template>
4572
          </xsl:element>
4573
        </xsl:element>
4574
      </xsl:for-each>
4575
      <xsl:for-each select="straightVerticalLongitudeFromPole[1]" >
4576
        <xsl:element name="gmd:straightVerticalLongitudeFromPole" >
4577
          <xsl:element name="gco:Real" >
4578
            <xsl:call-template name="stringToReal">
4579
              <xsl:with-param name="param" select="." />
4580
            </xsl:call-template>
4581
          </xsl:element>
4582
        </xsl:element>
4583
      </xsl:for-each>
4584
      <xsl:for-each select="scaleFactorAtProjectionOrigin[1]" >
4585
        <xsl:element name="gmd:scaleFactorAtProjectionOrigin" >
4586
          <xsl:element name="gco:Real" >
4587
            <xsl:call-template name="stringToReal">
4588
              <xsl:with-param name="param" select="." />
4589
            </xsl:call-template>
4590
          </xsl:element>
4591
        </xsl:element>
4592
      </xsl:for-each>
4593
      <xsl:for-each select="obliqueLineAzimuthParameter[1]" >
4594
        <xsl:element name="gmd:obliqueLineAzimuthParameter" >
4595
          <xsl:apply-templates select="MD_ObliqueLineAzimuth" />
4596
        </xsl:element>
4597
      </xsl:for-each>
4598
      <xsl:for-each select="obliqueLinePointParameter" >
4599
        <xsl:element name="gmd:obliqueLinePointParameter" >
4600
          <xsl:apply-templates select="MD_ObliqueLinePoint" />
4601
        </xsl:element>
4602
      </xsl:for-each>
4603
    </xsl:element>
4604
  </xsl:template>
4605
  <xsl:template match="MD_ContentInformation" >
4606
  </xsl:template>
4607
  <xsl:template match="MD_FeatureCatalogueDescription" >
4608
    <xsl:element name="gmd:MD_FeatureCatalogueDescription" >
4609
      <xsl:for-each select="complianceCode[1]" >
4610
        <xsl:element name="gmd:complianceCode" >
4611
          <xsl:element name="gco:Boolean" >
4612
            <xsl:value-of select="." />
4613
          </xsl:element>
4614
        </xsl:element>
4615
      </xsl:for-each>
4616
      <xsl:for-each select="language" >
4617
        <xsl:element name="gmd:language" >
4618
          <xsl:element name="gco:CharacterString" >
4619
            <xsl:value-of select="." />
4620
          </xsl:element>
4621
        </xsl:element>
4622
      </xsl:for-each>
4623
      <xsl:choose>
4624
        <xsl:when test="includedWithDataset" >
4625
          <xsl:for-each select="includedWithDataset[1]" >
4626
            <xsl:element name="gmd:includedWithDataset" >
4627
              <xsl:element name="gco:Boolean" >
4628
                <xsl:value-of select="." />
4629
              </xsl:element>
4630
            </xsl:element>
4631
          </xsl:for-each>
4632
        </xsl:when>
4633
        <xsl:otherwise>
4634
          <xsl:element name="gmd:includedWithDataset" >
4635
            
4636
          </xsl:element>
4637
        </xsl:otherwise>
4638
      </xsl:choose>
4639
      <xsl:for-each select="featureTypes" >
4640
        <xsl:element name="gmd:featureTypes" >
4641
          <xsl:element name="gco:LocalName" >
4642
            <xsl:value-of select="." />
4643
          </xsl:element>
4644
        </xsl:element>
4645
      </xsl:for-each>
4646
      <xsl:choose>
4647
        <xsl:when test="featureCatalogueCitation" >
4648
          <xsl:for-each select="featureCatalogueCitation" >
4649
            <xsl:element name="gmd:featureCatalogueCitation" >
4650
              <xsl:apply-templates select="CI_Citation" />
4651
            </xsl:element>
4652
          </xsl:for-each>
4653
        </xsl:when>
4654
        <xsl:otherwise>
4655
          <xsl:element name="gmd:featureCatalogueCitation" >
4656
            
4657
          </xsl:element>
4658
        </xsl:otherwise>
4659
      </xsl:choose>
4660
    </xsl:element>
4661
  </xsl:template>
4662
  <xsl:template match="CI_Series" >
4663
    <xsl:element name="gmd:CI_Series" >
4664
      <xsl:for-each select="name[1]" >
4665
        <xsl:element name="gmd:name" >
4666
          <xsl:element name="gco:CharacterString" >
4667
            <xsl:value-of select="." />
4668
          </xsl:element>
4669
        </xsl:element>
4670
      </xsl:for-each>
4671
      <xsl:for-each select="issueIdentification[1]" >
4672
        <xsl:element name="gmd:issueIdentification" >
4673
          <xsl:element name="gco:CharacterString" >
4674
            <xsl:value-of select="." />
4675
          </xsl:element>
4676
        </xsl:element>
4677
      </xsl:for-each>
4678
      <xsl:for-each select="page[1]" >
4679
        <xsl:element name="gmd:page" >
4680
          <xsl:element name="gco:CharacterString" >
4681
            <xsl:value-of select="." />
4682
          </xsl:element>
4683
        </xsl:element>
4684
      </xsl:for-each>
4685
    </xsl:element>
4686
  </xsl:template>
4687
  <xsl:template match="CI_Telephone" >
4688
    <xsl:element name="gmd:CI_Telephone" >
4689
      <xsl:for-each select="voice" >
4690
        <xsl:element name="gmd:voice" >
4691
          <xsl:element name="gco:CharacterString" >
4692
            <xsl:value-of select="." />
4693
          </xsl:element>
4694
        </xsl:element>
4695
      </xsl:for-each>
4696
      <xsl:for-each select="facsimile" >
4697
        <xsl:element name="gmd:facsimile" >
4698
          <xsl:element name="gco:CharacterString" >
4699
            <xsl:value-of select="." />
4700
          </xsl:element>
4701
        </xsl:element>
4702
      </xsl:for-each>
4703
    </xsl:element>
4704
  </xsl:template>
4705
  <xsl:template match="MD_CoverageDescription" >
4706
    <xsl:element name="gmd:MD_CoverageDescription" >
4707
      <xsl:choose>
4708
        <xsl:when test="attributeDescription" >
4709
          <xsl:for-each select="attributeDescription[1]" >
4710
            <xsl:element name="gmd:attributeDescription" >
4711
              <xsl:element name="gco:RecordType" >
4712
                <xsl:value-of select="." />
4713
              </xsl:element>
4714
            </xsl:element>
4715
          </xsl:for-each>
4716
        </xsl:when>
4717
        <xsl:otherwise>
4718
          <xsl:element name="gmd:attributeDescription" >
4719
            
4720
          </xsl:element>
4721
        </xsl:otherwise>
4722
      </xsl:choose>
4723
      <xsl:choose>
4724
        <xsl:when test="contentType" >
4725
          <xsl:for-each select="contentType[1]" >
4726
            <xsl:element name="gmd:contentType" >
4727
              <xsl:call-template name="codeListElement19139">
4728
                <xsl:with-param name="param" select="." />
4729
                <xsl:with-param name="namespace">gmd</xsl:with-param>
4730
                <xsl:with-param name="listName">MD_CoverageContentTypeCode</xsl:with-param>
4731
              </xsl:call-template>
4732
            </xsl:element>
4733
          </xsl:for-each>
4734
        </xsl:when>
4735
        <xsl:otherwise>
4736
          <xsl:element name="gmd:contentType" >
4737
            
4738
            <xsl:call-template name="codeListElement19139">
4739
              <xsl:with-param name="param" select="." />
4740
              <xsl:with-param name="namespace">gmd</xsl:with-param>
4741
              <xsl:with-param name="listName">MD_CoverageContentTypeCode</xsl:with-param>
4742
            </xsl:call-template>
4743
          </xsl:element>
4744
        </xsl:otherwise>
4745
      </xsl:choose>
4746
      <xsl:for-each select="dimension" >
4747
        <xsl:element name="gmd:dimension" >
4748
          <xsl:apply-templates select="MD_RangeDimension" />
4749
          <xsl:apply-templates select="MD_Band" />
4750
        </xsl:element>
4751
      </xsl:for-each>
4752
    </xsl:element>
4753
  </xsl:template>
4754
  <xsl:template match="MD_ImageDescription" >
4755
    <xsl:element name="gmd:MD_ImageDescription" >
4756
      <xsl:choose>
4757
        <xsl:when test="attributeDescription" >
4758
          <xsl:for-each select="attributeDescription[1]" >
4759
            <xsl:element name="gmd:attributeDescription" >
4760
              <xsl:element name="gco:RecordType" >
4761
                <xsl:value-of select="." />
4762
              </xsl:element>
4763
            </xsl:element>
4764
          </xsl:for-each>
4765
        </xsl:when>
4766
        <xsl:otherwise>
4767
          <xsl:element name="gmd:attributeDescription" >
4768
            
4769
          </xsl:element>
4770
        </xsl:otherwise>
4771
      </xsl:choose>
4772
      <xsl:choose>
4773
        <xsl:when test="contentType" >
4774
          <xsl:for-each select="contentType[1]" >
4775
            <xsl:element name="gmd:contentType" >
4776
              <xsl:call-template name="codeListElement19139">
4777
                <xsl:with-param name="param" select="." />
4778
                <xsl:with-param name="namespace">gmd</xsl:with-param>
4779
                <xsl:with-param name="listName">MD_CoverageContentTypeCode</xsl:with-param>
4780
              </xsl:call-template>
4781
            </xsl:element>
4782
          </xsl:for-each>
4783
        </xsl:when>
4784
        <xsl:otherwise>
4785
          <xsl:element name="gmd:contentType" >
4786
            
4787
            <xsl:call-template name="codeListElement19139">
4788
              <xsl:with-param name="param" select="." />
4789
              <xsl:with-param name="namespace">gmd</xsl:with-param>
4790
              <xsl:with-param name="listName">MD_CoverageContentTypeCode</xsl:with-param>
4791
            </xsl:call-template>
4792
          </xsl:element>
4793
        </xsl:otherwise>
4794
      </xsl:choose>
4795
      <xsl:for-each select="dimension" >
4796
        <xsl:element name="gmd:dimension" >
4797
          <xsl:apply-templates select="MD_RangeDimension" />
4798
          <xsl:apply-templates select="MD_Band" />
4799
        </xsl:element>
4800
      </xsl:for-each>
4801
      <xsl:for-each select="illuminationElevationAngle[1]" >
4802
        <xsl:element name="gmd:illuminationElevationAngle" >
4803
          <xsl:element name="gco:Real" >
4804
            <xsl:call-template name="stringToReal">
4805
              <xsl:with-param name="param" select="." />
4806
            </xsl:call-template>
4807
          </xsl:element>
4808
        </xsl:element>
4809
      </xsl:for-each>
4810
      <xsl:for-each select="illuminationAzimuthAngle[1]" >
4811
        <xsl:element name="gmd:illuminationAzimuthAngle" >
4812
          <xsl:element name="gco:Real" >
4813
            <xsl:call-template name="stringToReal">
4814
              <xsl:with-param name="param" select="." />
4815
            </xsl:call-template>
4816
          </xsl:element>
4817
        </xsl:element>
4818
      </xsl:for-each>
4819
      <xsl:for-each select="imagingCondition[1]" >
4820
        <xsl:element name="gmd:imagingCondition" >
4821
          <xsl:call-template name="codeListElement19139">
4822
            <xsl:with-param name="param" select="." />
4823
            <xsl:with-param name="namespace">gmd</xsl:with-param>
4824
            <xsl:with-param name="listName">MD_ImagingConditionCode</xsl:with-param>
4825
          </xsl:call-template>
4826
        </xsl:element>
4827
      </xsl:for-each>
4828
      <xsl:for-each select="imageQualityCode[1]" >
4829
        <xsl:element name="gmd:imageQualityCode" >
4830
          <xsl:apply-templates select="MD_Identifier" />
4831
          <xsl:apply-templates select="RS_Identifier" />
4832
        </xsl:element>
4833
      </xsl:for-each>
4834
      <xsl:for-each select="cloudCoverPercentage[1]" >
4835
        <xsl:element name="gmd:cloudCoverPercentage" >
4836
          <xsl:element name="gco:Real" >
4837
            <xsl:call-template name="stringToReal">
4838
              <xsl:with-param name="param" select="." />
4839
            </xsl:call-template>
4840
          </xsl:element>
4841
        </xsl:element>
4842
      </xsl:for-each>
4843
      <xsl:for-each select="processingLevelCode[1]" >
4844
        <xsl:element name="gmd:processingLevelCode" >
4845
          <xsl:apply-templates select="MD_Identifier" />
4846
          <xsl:apply-templates select="RS_Identifier" />
4847
        </xsl:element>
4848
      </xsl:for-each>
4849
      <xsl:for-each select="compressionGenerationQuantity[1]" >
4850
        <xsl:element name="gmd:compressionGenerationQuantity" >
4851
          <xsl:element name="gco:Integer" >
4852
            <xsl:call-template name="stringToInteger">
4853
              <xsl:with-param name="param" select="." />
4854
            </xsl:call-template>
4855
          </xsl:element>
4856
        </xsl:element>
4857
      </xsl:for-each>
4858
      <xsl:for-each select="triangulationIndicator[1]" >
4859
        <xsl:element name="gmd:triangulationIndicator" >
4860
          <xsl:element name="gco:Boolean" >
4861
            <xsl:value-of select="." />
4862
          </xsl:element>
4863
        </xsl:element>
4864
      </xsl:for-each>
4865
      <xsl:for-each select="radiometricCalibrationDataAvailability[1]" >
4866
        <xsl:element name="gmd:radiometricCalibrationDataAvailability" >
4867
          <xsl:element name="gco:Boolean" >
4868
            <xsl:value-of select="." />
4869
          </xsl:element>
4870
        </xsl:element>
4871
      </xsl:for-each>
4872
      <xsl:for-each select="cameraCalibrationInformationAvailability[1]" >
4873
        <xsl:element name="gmd:cameraCalibrationInformationAvailability" >
4874
          <xsl:element name="gco:Boolean" >
4875
            <xsl:value-of select="." />
4876
          </xsl:element>
4877
        </xsl:element>
4878
      </xsl:for-each>
4879
      <xsl:for-each select="filmDistortionInformationAvailability[1]" >
4880
        <xsl:element name="gmd:filmDistortionInformationAvailability" >
4881
          <xsl:element name="gco:Boolean" >
4882
            <xsl:value-of select="." />
4883
          </xsl:element>
4884
        </xsl:element>
4885
      </xsl:for-each>
4886
      <xsl:for-each select="lensDistortionInformationAvailability[1]" >
4887
        <xsl:element name="gmd:lensDistortionInformationAvailability" >
4888
          <xsl:element name="gco:Boolean" >
4889
            <xsl:value-of select="." />
4890
          </xsl:element>
4891
        </xsl:element>
4892
      </xsl:for-each>
4893
    </xsl:element>
4894
  </xsl:template>
4895
  <xsl:template match="MD_RangeDimension" >
4896
    <xsl:element name="gmd:MD_RangeDimension" >
4897
      <xsl:element name="gmd:sequenceIdentifier" >
4898
        <xsl:element name="gco:MemberName" >
4899
          <xsl:for-each select="sequenceIdentifier" >
4900
            <xsl:element name="gco:aName" >
4901
              <xsl:element name="gco:CharacterString" >
4902
                <xsl:value-of select="." />
4903
              </xsl:element>
4904
            </xsl:element>
4905
          </xsl:for-each>
4906
          <xsl:element name="gco:attributeType" >
4907
          </xsl:element>
4908
        </xsl:element>
4909
      </xsl:element>
4910
      <xsl:for-each select="descriptor[1]" >
4911
        <xsl:element name="gmd:descriptor" >
4912
          <xsl:element name="gco:CharacterString" >
4913
            <xsl:value-of select="." />
4914
          </xsl:element>
4915
        </xsl:element>
4916
      </xsl:for-each>
4917
    </xsl:element>
4918
  </xsl:template>
4919
  <xsl:template match="MD_Band" >
4920
    <xsl:element name="gmd:MD_Band" >
4921
      <xsl:element name="gmd:sequenceIdentifier" >
4922
        <xsl:element name="gco:MemberName" >
4923
          <xsl:for-each select="sequenceIdentifier" >
4924
            <xsl:element name="gco:aName" >
4925
              <xsl:element name="gco:CharacterString" >
4926
                <xsl:value-of select="." />
4927
              </xsl:element>
4928
            </xsl:element>
4929
          </xsl:for-each>
4930
          <xsl:element name="gco:attributeType" >
4931
          </xsl:element>
4932
        </xsl:element>
4933
      </xsl:element>
4934
      <xsl:for-each select="descriptor[1]" >
4935
        <xsl:element name="gmd:descriptor" >
4936
          <xsl:element name="gco:CharacterString" >
4937
            <xsl:value-of select="." />
4938
          </xsl:element>
4939
        </xsl:element>
4940
      </xsl:for-each>
4941
      <xsl:for-each select="maxValue[1]" >
4942
        <xsl:element name="gmd:maxValue" >
4943
          <xsl:element name="gco:Real" >
4944
            <xsl:call-template name="stringToReal">
4945
              <xsl:with-param name="param" select="." />
4946
            </xsl:call-template>
4947
          </xsl:element>
4948
        </xsl:element>
4949
      </xsl:for-each>
4950
      <xsl:for-each select="minValue[1]" >
4951
        <xsl:element name="gmd:minValue" >
4952
          <xsl:element name="gco:Real" >
4953
            <xsl:call-template name="stringToReal">
4954
              <xsl:with-param name="param" select="." />
4955
            </xsl:call-template>
4956
          </xsl:element>
4957
        </xsl:element>
4958
      </xsl:for-each>
4959
      <xsl:element name="gmd:units" >
4960
        <xsl:element name="gml:UnitDefinition" >
4961
          <xsl:attribute name="gml:id" >
4962
            <xsl:value-of select="generate-id()" />
4963
          </xsl:attribute>
4964
          <xsl:choose>
4965
            <xsl:when test="units" >
4966
              <xsl:for-each select="units[1]" >
4967
                <xsl:element name="gml:identifier" >
4968
                  <xsl:attribute name="codeSpace" >
4969
                  </xsl:attribute>
4970
                  <xsl:value-of select="." />
4971
                </xsl:element>
4972
              </xsl:for-each>
4973
            </xsl:when>
4974
            <xsl:otherwise>
4975
              <xsl:element name="gml:identifier" >
4976
                
4977
              </xsl:element>
4978
            </xsl:otherwise>
4979
          </xsl:choose>
4980
        </xsl:element>
4981
      </xsl:element>
4982
      <xsl:for-each select="peakResponse[1]" >
4983
        <xsl:element name="gmd:peakResponse" >
4984
          <xsl:element name="gco:Real" >
4985
            <xsl:call-template name="stringToReal">
4986
              <xsl:with-param name="param" select="." />
4987
            </xsl:call-template>
4988
          </xsl:element>
4989
        </xsl:element>
4990
      </xsl:for-each>
4991
      <xsl:for-each select="bitsPerValue[1]" >
4992
        <xsl:element name="gmd:bitsPerValue" >
4993
          <xsl:element name="gco:Integer" >
4994
            <xsl:call-template name="stringToInteger">
4995
              <xsl:with-param name="param" select="." />
4996
            </xsl:call-template>
4997
          </xsl:element>
4998
        </xsl:element>
4999
      </xsl:for-each>
5000
      <xsl:for-each select="toneGradation[1]" >
5001
        <xsl:element name="gmd:toneGradation" >
5002
          <xsl:element name="gco:Integer" >
5003
            <xsl:call-template name="stringToInteger">
5004
              <xsl:with-param name="param" select="." />
5005
            </xsl:call-template>
5006
          </xsl:element>
5007
        </xsl:element>
5008
      </xsl:for-each>
5009
      <xsl:for-each select="scaleFactor[1]" >
5010
        <xsl:element name="gmd:scaleFactor" >
5011
          <xsl:element name="gco:Real" >
5012
            <xsl:call-template name="stringToReal">
5013
              <xsl:with-param name="param" select="." />
5014
            </xsl:call-template>
5015
          </xsl:element>
5016
        </xsl:element>
5017
      </xsl:for-each>
5018
      <xsl:for-each select="offset[1]" >
5019
        <xsl:element name="gmd:offset" >
5020
          <xsl:element name="gco:Real" >
5021
            <xsl:call-template name="stringToReal">
5022
              <xsl:with-param name="param" select="." />
5023
            </xsl:call-template>
5024
          </xsl:element>
5025
        </xsl:element>
5026
      </xsl:for-each>
5027
    </xsl:element>
5028
  </xsl:template>
5029
  <xsl:template match="MD_PortrayalCatalogueReference" >
5030
    <xsl:element name="gmd:MD_PortrayalCatalogueReference" >
5031
      <xsl:choose>
5032
        <xsl:when test="portrayalCatalogueCitation" >
5033
          <xsl:for-each select="portrayalCatalogueCitation" >
5034
            <xsl:element name="gmd:portrayalCatalogueCitation" >
5035
              <xsl:apply-templates select="CI_Citation" />
5036
            </xsl:element>
5037
          </xsl:for-each>
5038
        </xsl:when>
5039
        <xsl:otherwise>
5040
          <xsl:element name="gmd:portrayalCatalogueCitation" >
5041
            
5042
          </xsl:element>
5043
        </xsl:otherwise>
5044
      </xsl:choose>
5045
    </xsl:element>
5046
  </xsl:template>
5047
  <xsl:template match="MD_Distribution" >
5048
    <xsl:element name="gmd:MD_Distribution" >
5049
      <xsl:for-each select="distributionFormat" >
5050
        <xsl:element name="gmd:distributionFormat" >
5051
          <xsl:apply-templates select="MD_Format" />
5052
        </xsl:element>
5053
      </xsl:for-each>
5054
      <xsl:for-each select="distributor" >
5055
        <xsl:element name="gmd:distributor" >
5056
          <xsl:apply-templates select="MD_Distributor" />
5057
        </xsl:element>
5058
      </xsl:for-each>
5059
      <xsl:for-each select="transferOptions" >
5060
        <xsl:element name="gmd:transferOptions" >
5061
          <xsl:apply-templates select="MD_DigitalTransferOptions" />
5062
        </xsl:element>
5063
      </xsl:for-each>
5064
    </xsl:element>
5065
  </xsl:template>
5066
  <xsl:template match="MD_DigitalTransferOptions" >
5067
    <xsl:element name="gmd:MD_DigitalTransferOptions" >
5068
      <xsl:for-each select="unitsOfDistribution[1]" >
5069
        <xsl:element name="gmd:unitsOfDistribution" >
5070
          <xsl:element name="gco:CharacterString" >
5071
            <xsl:value-of select="." />
5072
          </xsl:element>
5073
        </xsl:element>
5074
      </xsl:for-each>
5075
      <xsl:for-each select="transferSize[1]" >
5076
        <xsl:element name="gmd:transferSize" >
5077
          <xsl:element name="gco:Real" >
5078
            <xsl:call-template name="stringToReal">
5079
              <xsl:with-param name="param" select="." />
5080
            </xsl:call-template>
5081
          </xsl:element>
5082
        </xsl:element>
5083
      </xsl:for-each>
5084
      <xsl:for-each select="onLine" >
5085
        <xsl:element name="gmd:onLine" >
5086
          <xsl:apply-templates select="CI_OnlineResource" />
5087
        </xsl:element>
5088
      </xsl:for-each>
5089
      <xsl:for-each select="offLine[1]" >
5090
        <xsl:element name="gmd:offLine" >
5091
          <xsl:apply-templates select="MD_Medium" />
5092
        </xsl:element>
5093
      </xsl:for-each>
5094
    </xsl:element>
5095
  </xsl:template>
5096
  <xsl:template match="MD_Distributor" >
5097
    <xsl:element name="gmd:MD_Distributor" >
5098
      <xsl:choose>
5099
        <xsl:when test="distributorContact" >
5100
          <xsl:for-each select="distributorContact[1]" >
5101
            <xsl:element name="gmd:distributorContact" >
5102
              <xsl:apply-templates select="CI_ResponsibleParty" />
5103
            </xsl:element>
5104
          </xsl:for-each>
5105
        </xsl:when>
5106
        <xsl:otherwise>
5107
          <xsl:element name="gmd:distributorContact" >
5108
            
5109
          </xsl:element>
5110
        </xsl:otherwise>
5111
      </xsl:choose>
5112
      <xsl:for-each select="distributionOrderProcess" >
5113
        <xsl:element name="gmd:distributionOrderProcess" >
5114
          <xsl:apply-templates select="MD_StandardOrderProcess" />
5115
        </xsl:element>
5116
      </xsl:for-each>
5117
      <xsl:for-each select="distributorFormat" >
5118
        <xsl:element name="gmd:distributorFormat" >
5119
          <xsl:apply-templates select="MD_Format" />
5120
        </xsl:element>
5121
      </xsl:for-each>
5122
      <xsl:for-each select="distributorTransferOptions" >
5123
        <xsl:element name="gmd:distributorTransferOptions" >
5124
          <xsl:apply-templates select="MD_DigitalTransferOptions" />
5125
        </xsl:element>
5126
      </xsl:for-each>
5127
    </xsl:element>
5128
  </xsl:template>
5129
  <xsl:template match="MD_Format" >
5130
    <xsl:element name="gmd:MD_Format" >
5131
      <xsl:choose>
5132
        <xsl:when test="name" >
5133
          <xsl:for-each select="name[1]" >
5134
            <xsl:element name="gmd:name" >
5135
              <xsl:element name="gco:CharacterString" >
5136
                <xsl:value-of select="." />
5137
              </xsl:element>
5138
            </xsl:element>
5139
          </xsl:for-each>
5140
        </xsl:when>
5141
        <xsl:otherwise>
5142
          <xsl:element name="gmd:name" >
5143
            
5144
          </xsl:element>
5145
        </xsl:otherwise>
5146
      </xsl:choose>
5147
      <xsl:choose>
5148
        <xsl:when test="version" >
5149
          <xsl:for-each select="version[1]" >
5150
            <xsl:element name="gmd:version" >
5151
              <xsl:element name="gco:CharacterString" >
5152
                <xsl:value-of select="." />
5153
              </xsl:element>
5154
            </xsl:element>
5155
          </xsl:for-each>
5156
        </xsl:when>
5157
        <xsl:otherwise>
5158
          <xsl:element name="gmd:version" >
5159
            
5160
          </xsl:element>
5161
        </xsl:otherwise>
5162
      </xsl:choose>
5163
      <xsl:for-each select="amendmentNumber[1]" >
5164
        <xsl:element name="gmd:amendmentNumber" >
5165
          <xsl:element name="gco:CharacterString" >
5166
            <xsl:value-of select="." />
5167
          </xsl:element>
5168
        </xsl:element>
5169
      </xsl:for-each>
5170
      <xsl:for-each select="specification[1]" >
5171
        <xsl:element name="gmd:specification" >
5172
          <xsl:element name="gco:CharacterString" >
5173
            <xsl:value-of select="." />
5174
          </xsl:element>
5175
        </xsl:element>
5176
      </xsl:for-each>
5177
      <xsl:for-each select="fileDecompressionTechnique[1]" >
5178
        <xsl:element name="gmd:fileDecompressionTechnique" >
5179
          <xsl:element name="gco:CharacterString" >
5180
            <xsl:value-of select="." />
5181
          </xsl:element>
5182
        </xsl:element>
5183
      </xsl:for-each>
5184
      <xsl:for-each select="formatDistributor" >
5185
        <xsl:element name="gmd:formatDistributor" >
5186
          <xsl:apply-templates select="MD_Distributor" />
5187
        </xsl:element>
5188
      </xsl:for-each>
5189
    </xsl:element>
5190
  </xsl:template>
5191
  <xsl:template match="MD_Medium" >
5192
    <xsl:element name="gmd:MD_Medium" >
5193
      <xsl:for-each select="name[1]" >
5194
        <xsl:element name="gmd:name" >
5195
          <xsl:call-template name="codeListElement19139">
5196
            <xsl:with-param name="param" select="." />
5197
            <xsl:with-param name="namespace">gmd</xsl:with-param>
5198
            <xsl:with-param name="listName">MD_MediumNameCode</xsl:with-param>
5199
          </xsl:call-template>
5200
        </xsl:element>
5201
      </xsl:for-each>
5202
      <xsl:for-each select="density" >
5203
        <xsl:element name="gmd:density" >
5204
          <xsl:element name="gco:Real" >
5205
            <xsl:call-template name="stringToReal">
5206
              <xsl:with-param name="param" select="." />
5207
            </xsl:call-template>
5208
          </xsl:element>
5209
        </xsl:element>
5210
      </xsl:for-each>
5211
      <xsl:for-each select="densityUnits[1]" >
5212
        <xsl:element name="gmd:densityUnits" >
5213
          <xsl:element name="gco:CharacterString" >
5214
            <xsl:value-of select="." />
5215
          </xsl:element>
5216
        </xsl:element>
5217
      </xsl:for-each>
5218
      <xsl:for-each select="volumes[1]" >
5219
        <xsl:element name="gmd:volumes" >
5220
          <xsl:element name="gco:Integer" >
5221
            <xsl:call-template name="stringToInteger">
5222
              <xsl:with-param name="param" select="." />
5223
            </xsl:call-template>
5224
          </xsl:element>
5225
        </xsl:element>
5226
      </xsl:for-each>
5227
      <xsl:for-each select="mediumFormat" >
5228
        <xsl:element name="gmd:mediumFormat" >
5229
          <xsl:call-template name="codeListElement19139">
5230
            <xsl:with-param name="param" select="." />
5231
            <xsl:with-param name="namespace">gmd</xsl:with-param>
5232
            <xsl:with-param name="listName">MD_MediumFormatCode</xsl:with-param>
5233
          </xsl:call-template>
5234
        </xsl:element>
5235
      </xsl:for-each>
5236
      <xsl:for-each select="mediumNote[1]" >
5237
        <xsl:element name="gmd:mediumNote" >
5238
          <xsl:element name="gco:CharacterString" >
5239
            <xsl:value-of select="." />
5240
          </xsl:element>
5241
        </xsl:element>
5242
      </xsl:for-each>
5243
    </xsl:element>
5244
  </xsl:template>
5245
  <xsl:template match="MD_StandardOrderProcess" >
5246
    <xsl:element name="gmd:MD_StandardOrderProcess" >
5247
      <xsl:for-each select="fees[1]" >
5248
        <xsl:element name="gmd:fees" >
5249
          <xsl:element name="gco:CharacterString" >
5250
            <xsl:value-of select="." />
5251
          </xsl:element>
5252
        </xsl:element>
5253
      </xsl:for-each>
5254
      <xsl:for-each select="plannedAvailableDateTime[1]" >
5255
        <xsl:element name="gmd:plannedAvailableDateTime" >
5256
          <xsl:element name="gco:DateTime" >
5257
            <xsl:value-of select="." />
5258
          </xsl:element>
5259
        </xsl:element>
5260
      </xsl:for-each>
5261
      <xsl:for-each select="orderingInstructions[1]" >
5262
        <xsl:element name="gmd:orderingInstructions" >
5263
          <xsl:element name="gco:CharacterString" >
5264
            <xsl:value-of select="." />
5265
          </xsl:element>
5266
        </xsl:element>
5267
      </xsl:for-each>
5268
      <xsl:for-each select="turnaround[1]" >
5269
        <xsl:element name="gmd:turnaround" >
5270
          <xsl:element name="gco:CharacterString" >
5271
            <xsl:value-of select="." />
5272
          </xsl:element>
5273
        </xsl:element>
5274
      </xsl:for-each>
5275
    </xsl:element>
5276
  </xsl:template>
5277
  <xsl:template match="MD_MetadataExtensionInformation" >
5278
    <xsl:element name="gmd:MD_MetadataExtensionInformation" >
5279
      <xsl:for-each select="extensionOnLineResource[1]" >
5280
        <xsl:element name="gmd:extensionOnLineResource" >
5281
          <xsl:apply-templates select="CI_OnlineResource" />
5282
        </xsl:element>
5283
      </xsl:for-each>
5284
      <xsl:for-each select="extendedElementInformation" >
5285
        <xsl:element name="gmd:extendedElementInformation" >
5286
          <xsl:apply-templates select="MD_ExtendedElementInformation" />
5287
        </xsl:element>
5288
      </xsl:for-each>
5289
    </xsl:element>
5290
  </xsl:template>
5291
  <xsl:template match="MD_ReferenceSystem" >
5292
    <xsl:element name="gmd:MD_ReferenceSystem" >
5293
      <xsl:for-each select="referenceSystemIdentifier[1]" >
5294
        <xsl:element name="gmd:referenceSystemIdentifier" >
5295
          <xsl:apply-templates select="RS_Identifier" />
5296
        </xsl:element>
5297
      </xsl:for-each>
5298
    </xsl:element>
5299
  </xsl:template>
5300
  <xsl:template match="MD_CRS" >
5301
    <xsl:element name="gmd:MD_ReferenceSystem" >
5302
      <xsl:for-each select="referenceSystemIdentifier[1]" >
5303
        <xsl:element name="gmd:referenceSystemIdentifier" >
5304
          <xsl:apply-templates select="RS_Identifier" />
5305
        </xsl:element>
5306
      </xsl:for-each>
5307
    </xsl:element>
5308
  </xsl:template>
5309
  <xsl:template match="MD_Resolution" >
5310
    <xsl:element name="gmd:MD_Resolution" >
5311
      <xsl:for-each select="equivalentScale[1]" >
5312
        <xsl:element name="gmd:equivalentScale" >
5313
          <xsl:apply-templates select="MD_RepresentativeFraction" />
5314
        </xsl:element>
5315
      </xsl:for-each>
5316
      <xsl:for-each select="distance[1]" >
5317
        <xsl:element name="gmd:distance" >
5318
          <xsl:for-each select="value[1]" >
5319
            <xsl:element name="gco:Distance" >
5320
              <xsl:for-each select="../uom/uomLength/uomName[1]" >
5321
                <xsl:attribute name="uom" >
5322
                  <xsl:value-of select="." />
5323
                </xsl:attribute>
5324
              </xsl:for-each>
5325
              <xsl:value-of select="." />
5326
            </xsl:element>
5327
          </xsl:for-each>
5328
        </xsl:element>
5329
      </xsl:for-each>
5330
    </xsl:element>
5331
  </xsl:template>
5332
  <xsl:template match="MD_ExtendedElementInformation" >
5333
    <xsl:element name="gmd:MD_ExtendedElementInformation" >
5334
      <xsl:choose>
5335
        <xsl:when test="name" >
5336
          <xsl:for-each select="name[1]" >
5337
            <xsl:element name="gmd:name" >
5338
              <xsl:element name="gco:CharacterString" >
5339
                <xsl:value-of select="." />
5340
              </xsl:element>
5341
            </xsl:element>
5342
          </xsl:for-each>
5343
        </xsl:when>
5344
        <xsl:otherwise>
5345
          <xsl:element name="gmd:name" >
5346
            
5347
          </xsl:element>
5348
        </xsl:otherwise>
5349
      </xsl:choose>
5350
      <xsl:for-each select="shortName[1]" >
5351
        <xsl:element name="gmd:shortName" >
5352
          <xsl:element name="gco:CharacterString" >
5353
            <xsl:value-of select="." />
5354
          </xsl:element>
5355
        </xsl:element>
5356
      </xsl:for-each>
5357
      <xsl:for-each select="domainCode[1]" >
5358
        <xsl:element name="gmd:domainCode" >
5359
          <xsl:element name="gco:Integer" >
5360
            <xsl:call-template name="stringToInteger">
5361
              <xsl:with-param name="param" select="." />
5362
            </xsl:call-template>
5363
          </xsl:element>
5364
        </xsl:element>
5365
      </xsl:for-each>
5366
      <xsl:choose>
5367
        <xsl:when test="definition" >
5368
          <xsl:for-each select="definition[1]" >
5369
            <xsl:element name="gmd:definition" >
5370
              <xsl:element name="gco:CharacterString" >
5371
                <xsl:value-of select="." />
5372
              </xsl:element>
5373
            </xsl:element>
5374
          </xsl:for-each>
5375
        </xsl:when>
5376
        <xsl:otherwise>
5377
          <xsl:element name="gmd:definition" >
5378
            
5379
          </xsl:element>
5380
        </xsl:otherwise>
5381
      </xsl:choose>
5382
      <xsl:for-each select="obligation[1]" >
5383
        <xsl:element name="gmd:obligation" >
5384
          <xsl:apply-templates select="MD_ObligationCode" />
5385
        </xsl:element>
5386
      </xsl:for-each>
5387
      <xsl:for-each select="condition[1]" >
5388
        <xsl:element name="gmd:condition" >
5389
          <xsl:element name="gco:CharacterString" >
5390
            <xsl:value-of select="." />
5391
          </xsl:element>
5392
        </xsl:element>
5393
      </xsl:for-each>
5394
      <xsl:choose>
5395
        <xsl:when test="dataType" >
5396
          <xsl:for-each select="dataType[1]" >
5397
            <xsl:element name="gmd:dataType" >
5398
              <xsl:call-template name="codeListElement19139">
5399
                <xsl:with-param name="param" select="." />
5400
                <xsl:with-param name="namespace">gmd</xsl:with-param>
5401
                <xsl:with-param name="listName">MD_DatatypeCode</xsl:with-param>
5402
              </xsl:call-template>
5403
            </xsl:element>
5404
          </xsl:for-each>
5405
        </xsl:when>
5406
        <xsl:otherwise>
5407
          <xsl:element name="gmd:dataType" >
5408
            
5409
            <xsl:call-template name="codeListElement19139">
5410
              <xsl:with-param name="param" select="." />
5411
              <xsl:with-param name="namespace">gmd</xsl:with-param>
5412
              <xsl:with-param name="listName">MD_DatatypeCode</xsl:with-param>
5413
            </xsl:call-template>
5414
          </xsl:element>
5415
        </xsl:otherwise>
5416
      </xsl:choose>
5417
      <xsl:for-each select="maximumOccurrence[1]" >
5418
        <xsl:element name="gmd:maximumOccurrence" >
5419
          <xsl:element name="gco:CharacterString" >
5420
            <xsl:value-of select="." />
5421
          </xsl:element>
5422
        </xsl:element>
5423
      </xsl:for-each>
5424
      <xsl:for-each select="domainValue[1]" >
5425
        <xsl:element name="gmd:domainValue" >
5426
          <xsl:element name="gco:CharacterString" >
5427
            <xsl:value-of select="." />
5428
          </xsl:element>
5429
        </xsl:element>
5430
      </xsl:for-each>
5431
      <xsl:choose>
5432
        <xsl:when test="parentEntity" >
5433
          <xsl:for-each select="parentEntity" >
5434
            <xsl:element name="gmd:parentEntity" >
5435
              <xsl:element name="gco:CharacterString" >
5436
                <xsl:value-of select="." />
5437
              </xsl:element>
5438
            </xsl:element>
5439
          </xsl:for-each>
5440
        </xsl:when>
5441
        <xsl:otherwise>
5442
          <xsl:element name="gmd:parentEntity" >
5443
            
5444
          </xsl:element>
5445
        </xsl:otherwise>
5446
      </xsl:choose>
5447
      <xsl:choose>
5448
        <xsl:when test="rule" >
5449
          <xsl:for-each select="rule[1]" >
5450
            <xsl:element name="gmd:rule" >
5451
              <xsl:element name="gco:CharacterString" >
5452
                <xsl:value-of select="." />
5453
              </xsl:element>
5454
            </xsl:element>
5455
          </xsl:for-each>
5456
        </xsl:when>
5457
        <xsl:otherwise>
5458
          <xsl:element name="gmd:rule" >
5459
            
5460
          </xsl:element>
5461
        </xsl:otherwise>
5462
      </xsl:choose>
5463
      <xsl:for-each select="rationale" >
5464
        <xsl:element name="gmd:rationale" >
5465
          <xsl:element name="gco:CharacterString" >
5466
            <xsl:value-of select="." />
5467
          </xsl:element>
5468
        </xsl:element>
5469
      </xsl:for-each>
5470
      <xsl:choose>
5471
        <xsl:when test="source" >
5472
          <xsl:for-each select="source" >
5473
            <xsl:element name="gmd:source" >
5474
              <xsl:apply-templates select="CI_ResponsibleParty" />
5475
            </xsl:element>
5476
          </xsl:for-each>
5477
        </xsl:when>
5478
        <xsl:otherwise>
5479
          <xsl:element name="gmd:source" >
5480
            
5481
          </xsl:element>
5482
        </xsl:otherwise>
5483
      </xsl:choose>
5484
    </xsl:element>
5485
  </xsl:template>
5486
  <xsl:template match="MD_ApplicationSchemaInformation" >
5487
    <xsl:element name="gmd:MD_ApplicationSchemaInformation" >
5488
      <xsl:choose>
5489
        <xsl:when test="name" >
5490
          <xsl:for-each select="name[1]" >
5491
            <xsl:element name="gmd:name" >
5492
              <xsl:apply-templates select="CI_Citation" />
5493
            </xsl:element>
5494
          </xsl:for-each>
5495
        </xsl:when>
5496
        <xsl:otherwise>
5497
          <xsl:element name="gmd:name" >
5498
            
5499
          </xsl:element>
5500
        </xsl:otherwise>
5501
      </xsl:choose>
5502
      <xsl:choose>
5503
        <xsl:when test="schemaLanguage" >
5504
          <xsl:for-each select="schemaLanguage[1]" >
5505
            <xsl:element name="gmd:schemaLanguage" >
5506
              <xsl:element name="gco:CharacterString" >
5507
                <xsl:value-of select="." />
5508
              </xsl:element>
5509
            </xsl:element>
5510
          </xsl:for-each>
5511
        </xsl:when>
5512
        <xsl:otherwise>
5513
          <xsl:element name="gmd:schemaLanguage" >
5514
            
5515
          </xsl:element>
5516
        </xsl:otherwise>
5517
      </xsl:choose>
5518
      <xsl:choose>
5519
        <xsl:when test="constraintLanguage" >
5520
          <xsl:for-each select="constraintLanguage[1]" >
5521
            <xsl:element name="gmd:constraintLanguage" >
5522
              <xsl:element name="gco:CharacterString" >
5523
                <xsl:value-of select="." />
5524
              </xsl:element>
5525
            </xsl:element>
5526
          </xsl:for-each>
5527
        </xsl:when>
5528
        <xsl:otherwise>
5529
          <xsl:element name="gmd:constraintLanguage" >
5530
            
5531
          </xsl:element>
5532
        </xsl:otherwise>
5533
      </xsl:choose>
5534
      <xsl:for-each select="schemaAscii[1]" >
5535
        <xsl:element name="gmd:schemaAscii" >
5536
          <xsl:element name="gco:CharacterString" >
5537
            <xsl:value-of select="." />
5538
          </xsl:element>
5539
        </xsl:element>
5540
      </xsl:for-each>
5541
      <xsl:for-each select="graphicsFile[1]" >
5542
        <xsl:element name="gmd:graphicsFile" >
5543
          <xsl:element name="gco:Binary" >
5544
            <xsl:value-of select="." />
5545
          </xsl:element>
5546
        </xsl:element>
5547
      </xsl:for-each>
5548
      <xsl:for-each select="softwareDevelopmentFile[1]" >
5549
        <xsl:element name="gmd:softwareDevelopmentFile" >
5550
          <xsl:element name="gco:Binary" >
5551
            <xsl:value-of select="." />
5552
          </xsl:element>
5553
        </xsl:element>
5554
      </xsl:for-each>
5555
      <xsl:for-each select="softwareDevelopmentFileFormat[1]" >
5556
        <xsl:element name="gmd:softwareDevelopmentFileFormat" >
5557
          <xsl:element name="gco:CharacterString" >
5558
            <xsl:value-of select="." />
5559
          </xsl:element>
5560
        </xsl:element>
5561
      </xsl:for-each>
5562
    </xsl:element>
5563
  </xsl:template>
5564
  <xsl:template match="EX_Extent" >
5565
    <xsl:element name="gmd:EX_Extent" >
5566
      <xsl:for-each select="description[1]" >
5567
        <xsl:element name="gmd:description" >
5568
          <xsl:element name="gco:CharacterString" >
5569
            <xsl:value-of select="." />
5570
          </xsl:element>
5571
        </xsl:element>
5572
      </xsl:for-each>
5573
      <xsl:for-each select="geographicElement" >
5574
        <xsl:element name="gmd:geographicElement" >
5575
          <xsl:apply-templates select="EX_GeographicExtent" />
5576
          <xsl:apply-templates select="EX_BoundingPolygon" />
5577
          <xsl:apply-templates select="EX_GeographicBoundingBox" />
5578
          <xsl:apply-templates select="EX_GeographicDescription" />
5579
        </xsl:element>
5580
      </xsl:for-each>
5581
      <xsl:for-each select="temporalElement" >
5582
        <xsl:element name="gmd:temporalElement" >
5583
          <xsl:apply-templates select="EX_TemporalExtent" />
5584
          <xsl:apply-templates select="EX_SpatialTemporalExtent" />
5585
        </xsl:element>
5586
      </xsl:for-each>
5587
      <xsl:for-each select="verticalElement" >
5588
        <xsl:element name="gmd:verticalElement" >
5589
          <xsl:apply-templates select="EX_VerticalExtent" />
5590
        </xsl:element>
5591
      </xsl:for-each>
5592
    </xsl:element>
5593
  </xsl:template>
5594
  <xsl:template match="EX_GeographicExtent" >
5595
  </xsl:template>
5596
  <xsl:template match="EX_GeographicExtent" >
5597
    <xsl:element name="gmd:EX_GeographicExtent" >
5598
      <xsl:for-each select="extentTypeCode[1]" >
5599
        <xsl:element name="gmd:extentTypeCode" >
5600
          <xsl:element name="gco:Boolean" >
5601
            <xsl:value-of select="." />
5602
          </xsl:element>
5603
        </xsl:element>
5604
      </xsl:for-each>
5605
    </xsl:element>
5606
  </xsl:template>
5607
  <xsl:template match="DQ_Element" >
5608
  </xsl:template>
5609
  <xsl:template match="DQ_QuantitativeResult" >
5610
    <xsl:element name="gmd:DQ_QuantitativeResult" >
5611
      <xsl:for-each select="valueType[1]" >
5612
        <xsl:element name="gmd:valueType" >
5613
          <xsl:for-each select="recordType[1]" >
5614
            <xsl:element name="gco:RecordType" >
5615
              <xsl:value-of select="." />
5616
            </xsl:element>
5617
          </xsl:for-each>
5618
        </xsl:element>
5619
      </xsl:for-each>
5620
      <xsl:element name="gmd:valueUnit" >
5621
        <xsl:element name="gml:UnitDefinition" >
5622
          <xsl:attribute name="gml:id" >
5623
            <xsl:value-of select="generate-id()" />
5624
          </xsl:attribute>
5625
          <xsl:choose>
5626
            <xsl:when test="valueUnit/unitOfMeasure" >
5627
              <xsl:for-each select="valueUnit/unitOfMeasure[1]" >
5628
                <xsl:element name="gml:identifier" >
5629
                  <xsl:attribute name="codeSpace" >
5630
                  </xsl:attribute>
5631
                  <xsl:value-of select="." />
5632
                </xsl:element>
5633
              </xsl:for-each>
5634
            </xsl:when>
5635
            <xsl:otherwise>
5636
              <xsl:element name="gml:identifier" >
5637
                
5638
              </xsl:element>
5639
            </xsl:otherwise>
5640
          </xsl:choose>
5641
        </xsl:element>
5642
      </xsl:element>
5643
      <xsl:for-each select="errorStatistic[1]" >
5644
        <xsl:element name="gmd:errorStatistic" >
5645
          <xsl:element name="gco:CharacterString" >
5646
            <xsl:value-of select="." />
5647
          </xsl:element>
5648
        </xsl:element>
5649
      </xsl:for-each>
5650
      <xsl:choose>
5651
        <xsl:when test="value" >
5652
          <xsl:for-each select="value" >
5653
            <xsl:element name="gmd:value" >
5654
              <xsl:element name="gco:Record" >
5655
                <xsl:value-of select="." />
5656
              </xsl:element>
5657
            </xsl:element>
5658
          </xsl:for-each>
5659
        </xsl:when>
5660
        <xsl:otherwise>
5661
          <xsl:element name="gmd:value" >
5662
            
5663
          </xsl:element>
5664
        </xsl:otherwise>
5665
      </xsl:choose>
5666
    </xsl:element>
5667
  </xsl:template>
5668
  <xsl:template match="MD_GridSpatialRepresentation" >
5669
    <xsl:element name="gmd:MD_GridSpatialRepresentation" >
5670
      <xsl:choose>
5671
        <xsl:when test="numberOfDimensions" >
5672
          <xsl:for-each select="numberOfDimensions[1]" >
5673
            <xsl:element name="gmd:numberOfDimensions" >
5674
              <xsl:element name="gco:Integer" >
5675
                <xsl:call-template name="stringToInteger">
5676
                  <xsl:with-param name="param" select="." />
5677
                </xsl:call-template>
5678
              </xsl:element>
5679
            </xsl:element>
5680
          </xsl:for-each>
5681
        </xsl:when>
5682
        <xsl:otherwise>
5683
          <xsl:element name="gmd:numberOfDimensions" >
5684
            <xsl:element name="gco:Integer" >
5685
              <xsl:call-template name="stringToInteger">
5686
                <xsl:with-param name="param" select="." />
5687
              </xsl:call-template>
5688
            </xsl:element>
5689
          </xsl:element>
5690
        </xsl:otherwise>
5691
      </xsl:choose>
5692
      <xsl:choose>
5693
        <xsl:when test="axisDimensionProperties/MD_Dimension" >
5694
          <xsl:for-each select="axisDimensionProperties/MD_Dimension" >
5695
            <xsl:element name="gmd:axisDimensionProperties" >
5696
              <xsl:element name="gmd:MD_Dimension" >
5697
                <xsl:choose>
5698
                  <xsl:when test="dimensionName" >
5699
                    <xsl:for-each select="dimensionName[1]" >
5700
                      <xsl:element name="gmd:dimensionName" >
5701
                        <xsl:call-template name="codeListElement19139">
5702
                          <xsl:with-param name="param" select="." />
5703
                          <xsl:with-param name="namespace">gmd</xsl:with-param>
5704
                          <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
5705
                        </xsl:call-template>
5706
                      </xsl:element>
5707
                    </xsl:for-each>
5708
                  </xsl:when>
5709
                  <xsl:otherwise>
5710
                    <xsl:element name="gmd:dimensionName" >
5711
                      
5712
                      <xsl:call-template name="codeListElement19139">
5713
                        <xsl:with-param name="param" select="." />
5714
                        <xsl:with-param name="namespace">gmd</xsl:with-param>
5715
                        <xsl:with-param name="listName">MD_DimensionNameTypeCode</xsl:with-param>
5716
                      </xsl:call-template>
5717
                    </xsl:element>
5718
                  </xsl:otherwise>
5719
                </xsl:choose>
5720
                <xsl:choose>
5721
                  <xsl:when test="dimensionSize" >
5722
                    <xsl:for-each select="dimensionSize[1]" >
5723
                      <xsl:element name="gmd:dimensionSize" >
5724
                        <xsl:element name="gco:Integer" >
5725
                          <xsl:value-of select="." />
5726
                        </xsl:element>
5727
                      </xsl:element>
5728
                    </xsl:for-each>
5729
                  </xsl:when>
5730
                  <xsl:otherwise>
5731
                    <xsl:element name="gmd:dimensionSize" >
5732
                      
5733
                    </xsl:element>
5734
                  </xsl:otherwise>
5735
                </xsl:choose>
5736
                <xsl:element name="gmd:resolution" >
5737
                  <xsl:for-each select="resolution[1]" >
5738
                    <xsl:element name="gco:Measure" >
5739
                      <xsl:attribute name="uom" >
5740
                        <xsl:call-template name="putValue">
5741
                          <xsl:with-param name="param" select="." />
5742
                          <xsl:with-param name="value">meter</xsl:with-param>
5743
                        </xsl:call-template>
5744
                      </xsl:attribute>
5745
                      <xsl:value-of select="." />
5746
                    </xsl:element>
5747
                  </xsl:for-each>
5748
                </xsl:element>
5749
              </xsl:element>
5750
            </xsl:element>
5751
          </xsl:for-each>
5752
        </xsl:when>
5753
        <xsl:otherwise>
5754
          <xsl:element name="gmd:axisDimensionProperties" >
5755
            
5756
          </xsl:element>
5757
        </xsl:otherwise>
5758
      </xsl:choose>
5759
      <xsl:choose>
5760
        <xsl:when test="cellGeometry" >
5761
          <xsl:for-each select="cellGeometry[1]" >
5762
            <xsl:element name="gmd:cellGeometry" >
5763
              <xsl:call-template name="codeListElement19139">
5764
                <xsl:with-param name="param" select="." />
5765
                <xsl:with-param name="namespace">gmd</xsl:with-param>
5766
                <xsl:with-param name="listName">MD_CellGeometryCode</xsl:with-param>
5767
              </xsl:call-template>
5768
            </xsl:element>
5769
          </xsl:for-each>
5770
        </xsl:when>
5771
        <xsl:otherwise>
5772
          <xsl:element name="gmd:cellGeometry" >
5773
            
5774
            <xsl:call-template name="codeListElement19139">
5775
              <xsl:with-param name="param" select="." />
5776
              <xsl:with-param name="namespace">gmd</xsl:with-param>
5777
              <xsl:with-param name="listName">MD_CellGeometryCode</xsl:with-param>
5778
            </xsl:call-template>
5779
          </xsl:element>
5780
        </xsl:otherwise>
5781
      </xsl:choose>
5782
      <xsl:choose>
5783
        <xsl:when test="transformationParameterAvailability" >
5784
          <xsl:for-each select="transformationParameterAvailability[1]" >
5785
            <xsl:element name="gmd:transformationParameterAvailability" >
5786
              <xsl:element name="gco:Boolean" >
5787
                <xsl:value-of select="." />
5788
              </xsl:element>
5789
            </xsl:element>
5790
          </xsl:for-each>
5791
        </xsl:when>
5792
        <xsl:otherwise>
5793
          <xsl:element name="gmd:transformationParameterAvailability" >
5794
            
5795
          </xsl:element>
5796
        </xsl:otherwise>
5797
      </xsl:choose>
5798
    </xsl:element>
5799
  </xsl:template>
5800
  <xsl:template match="EX_BoundingPolygon" >
5801
    <xsl:element name="gmd:EX_BoundingPolygon" >
5802
      <xsl:for-each select="extentTypeCode[1]" >
5803
        <xsl:element name="gmd:extentTypeCode" >
5804
          <xsl:element name="gco:Boolean" >
5805
            <xsl:value-of select="." />
5806
          </xsl:element>
5807
        </xsl:element>
5808
      </xsl:for-each>
5809
      <xsl:choose>
5810
        <xsl:when test="polygon" >
5811
          <xsl:for-each select="polygon" >
5812
            <xsl:element name="gmd:polygon" >
5813
              <xsl:value-of select="." />
5814
            </xsl:element>
5815
          </xsl:for-each>
5816
        </xsl:when>
5817
        <xsl:otherwise>
5818
          <xsl:element name="gmd:polygon" >
5819
            
5820
          </xsl:element>
5821
        </xsl:otherwise>
5822
      </xsl:choose>
5823
    </xsl:element>
5824
  </xsl:template>
5825
  <xsl:template match="EX_GeographicBoundingBox" >
5826
    <xsl:element name="gmd:EX_GeographicBoundingBox" >
5827
      <xsl:for-each select="extentTypeCode[1]" >
5828
        <xsl:element name="gmd:extentTypeCode" >
5829
          <xsl:element name="gco:Boolean" >
5830
            <xsl:value-of select="." />
5831
          </xsl:element>
5832
        </xsl:element>
5833
      </xsl:for-each>
5834
      <xsl:choose>
5835
        <xsl:when test="westBoundLongitude" >
5836
          <xsl:for-each select="westBoundLongitude[1]" >
5837
            <xsl:element name="gmd:westBoundLongitude" >
5838
              <xsl:element name="gco:Decimal" >
5839
                <xsl:value-of select="." />
5840
              </xsl:element>
5841
            </xsl:element>
5842
          </xsl:for-each>
5843
        </xsl:when>
5844
        <xsl:otherwise>
5845
          <xsl:element name="gmd:westBoundLongitude" >
5846
            
5847
          </xsl:element>
5848
        </xsl:otherwise>
5849
      </xsl:choose>
5850
      <xsl:choose>
5851
        <xsl:when test="eastBoundLongitude" >
5852
          <xsl:for-each select="eastBoundLongitude[1]" >
5853
            <xsl:element name="gmd:eastBoundLongitude" >
5854
              <xsl:element name="gco:Decimal" >
5855
                <xsl:value-of select="." />
5856
              </xsl:element>
5857
            </xsl:element>
5858
          </xsl:for-each>
5859
        </xsl:when>
5860
        <xsl:otherwise>
5861
          <xsl:element name="gmd:eastBoundLongitude" >
5862
            
5863
          </xsl:element>
5864
        </xsl:otherwise>
5865
      </xsl:choose>
5866
      <xsl:choose>
5867
        <xsl:when test="southBoundLatitude" >
5868
          <xsl:for-each select="southBoundLatitude[1]" >
5869
            <xsl:element name="gmd:southBoundLatitude" >
5870
              <xsl:element name="gco:Decimal" >
5871
                <xsl:value-of select="." />
5872
              </xsl:element>
5873
            </xsl:element>
5874
          </xsl:for-each>
5875
        </xsl:when>
5876
        <xsl:otherwise>
5877
          <xsl:element name="gmd:southBoundLatitude" >
5878
            
5879
          </xsl:element>
5880
        </xsl:otherwise>
5881
      </xsl:choose>
5882
      <xsl:choose>
5883
        <xsl:when test="northBoundLatitude" >
5884
          <xsl:for-each select="northBoundLatitude[1]" >
5885
            <xsl:element name="gmd:northBoundLatitude" >
5886
              <xsl:element name="gco:Decimal" >
5887
                <xsl:value-of select="." />
5888
              </xsl:element>
5889
            </xsl:element>
5890
          </xsl:for-each>
5891
        </xsl:when>
5892
        <xsl:otherwise>
5893
          <xsl:element name="gmd:northBoundLatitude" >
5894
            
5895
          </xsl:element>
5896
        </xsl:otherwise>
5897
      </xsl:choose>
5898
    </xsl:element>
5899
  </xsl:template>
5900
  <xsl:template match="EX_GeographicDescription" >
5901
    <xsl:element name="gmd:EX_GeographicDescription" >
5902
      <xsl:for-each select="extentTypeCode[1]" >
5903
        <xsl:element name="gmd:extentTypeCode" >
5904
          <xsl:element name="gco:Boolean" >
5905
            <xsl:value-of select="." />
5906
          </xsl:element>
5907
        </xsl:element>
5908
      </xsl:for-each>
5909
      <xsl:choose>
5910
        <xsl:when test="geographicIdentifier" >
5911
          <xsl:for-each select="geographicIdentifier[1]" >
5912
            <xsl:element name="gmd:geographicIdentifier" >
5913
              <xsl:apply-templates select="MD_Identifier" />
5914
              <xsl:apply-templates select="RS_Identifier" />
5915
            </xsl:element>
5916
          </xsl:for-each>
5917
        </xsl:when>
5918
        <xsl:otherwise>
5919
          <xsl:element name="gmd:geographicIdentifier" >
5920
            
5921
          </xsl:element>
5922
        </xsl:otherwise>
5923
      </xsl:choose>
5924
    </xsl:element>
5925
  </xsl:template>
5926
  <xsl:template match="EX_TemporalExtent" >
5927
    <xsl:element name="gmd:EX_TemporalExtent" >
5928
      <xsl:choose>
5929
        <xsl:when test="extent" >
5930
          <xsl:for-each select="extent[1]" >
5931
            <xsl:element name="gmd:extent" >
5932
              <xsl:apply-templates select="TimePeriod" />
5933
            </xsl:element>
5934
          </xsl:for-each>
5935
        </xsl:when>
5936
        <xsl:otherwise>
5937
          <xsl:element name="gmd:extent" >
5938
            
5939
          </xsl:element>
5940
        </xsl:otherwise>
5941
      </xsl:choose>
5942
    </xsl:element>
5943
  </xsl:template>
5944
  <xsl:template match="EX_SpatialTemporalExtent" >
5945
    <xsl:element name="gmd:EX_SpatialTemporalExtent" >
5946
      <xsl:choose>
5947
        <xsl:when test="extent" >
5948
          <xsl:for-each select="extent[1]" >
5949
            <xsl:element name="gmd:extent" >
5950
              <xsl:apply-templates select="TimePeriod" />
5951
            </xsl:element>
5952
          </xsl:for-each>
5953
        </xsl:when>
5954
        <xsl:otherwise>
5955
          <xsl:element name="gmd:extent" >
5956
            
5957
          </xsl:element>
5958
        </xsl:otherwise>
5959
      </xsl:choose>
5960
      <xsl:choose>
5961
        <xsl:when test="spatialExtent" >
5962
          <xsl:for-each select="spatialExtent" >
5963
            <xsl:element name="gmd:spatialExtent" >
5964
              <xsl:apply-templates select="EX_GeographicExtent" />
5965
              <xsl:apply-templates select="EX_BoundingPolygon" />
5966
              <xsl:apply-templates select="EX_GeographicBoundingBox" />
5967
              <xsl:apply-templates select="EX_GeographicDescription" />
5968
            </xsl:element>
5969
          </xsl:for-each>
5970
        </xsl:when>
5971
        <xsl:otherwise>
5972
          <xsl:element name="gmd:spatialExtent" >
5973
            
5974
          </xsl:element>
5975
        </xsl:otherwise>
5976
      </xsl:choose>
5977
    </xsl:element>
5978
  </xsl:template>
5979
  <xsl:template match="EX_VerticalExtent" >
5980
    <xsl:element name="gmd:EX_VerticalExtent" >
5981
      <xsl:choose>
5982
        <xsl:when test="minimumValue" >
5983
          <xsl:for-each select="minimumValue[1]" >
5984
            <xsl:element name="gmd:minimumValue" >
5985
              <xsl:element name="gco:Real" >
5986
                <xsl:call-template name="stringToReal">
5987
                  <xsl:with-param name="param" select="." />
5988
                </xsl:call-template>
5989
              </xsl:element>
5990
            </xsl:element>
5991
          </xsl:for-each>
5992
        </xsl:when>
5993
        <xsl:otherwise>
5994
          <xsl:element name="gmd:minimumValue" >
5995
            <xsl:element name="gco:Real" >
5996
              <xsl:call-template name="stringToReal">
5997
                <xsl:with-param name="param" select="." />
5998
              </xsl:call-template>
5999
            </xsl:element>
6000
          </xsl:element>
6001
        </xsl:otherwise>
6002
      </xsl:choose>
6003
      <xsl:choose>
6004
        <xsl:when test="maximumValue" >
6005
          <xsl:for-each select="maximumValue[1]" >
6006
            <xsl:element name="gmd:maximumValue" >
6007
              <xsl:element name="gco:Real" >
6008
                <xsl:call-template name="stringToReal">
6009
                  <xsl:with-param name="param" select="." />
6010
                </xsl:call-template>
6011
              </xsl:element>
6012
            </xsl:element>
6013
          </xsl:for-each>
6014
        </xsl:when>
6015
        <xsl:otherwise>
6016
          <xsl:element name="gmd:maximumValue" >
6017
            <xsl:element name="gco:Real" >
6018
              <xsl:call-template name="stringToReal">
6019
                <xsl:with-param name="param" select="." />
6020
              </xsl:call-template>
6021
            </xsl:element>
6022
          </xsl:element>
6023
        </xsl:otherwise>
6024
      </xsl:choose>
6025
      <xsl:element name="gmd:verticalCRS" >
6026
        <xsl:element name="gml:VerticalCRS" >
6027
          <xsl:attribute name="gml:id" >
6028
            <xsl:call-template name="generateIdVerticalCRS">
6029
              <xsl:with-param name="param" select="." />
6030
            </xsl:call-template>
6031
          </xsl:attribute>
6032
          <xsl:element name="gml:identifier" >
6033
            <xsl:attribute name="codeSpace" >
6034
            </xsl:attribute>
6035
          </xsl:element>
6036
          <xsl:element name="gml:scope" >
6037
          </xsl:element>
6038
          <xsl:element name="gml:verticalCS" >
6039
            <xsl:element name="gml:VerticalCS" >
6040
              <xsl:attribute name="gml:id" >
6041
                <xsl:call-template name="generateIdVerticalCS">
6042
                  <xsl:with-param name="param" select="." />
6043
                </xsl:call-template>
6044
              </xsl:attribute>
6045
              <xsl:element name="gml:identifier" >
6046
                <xsl:attribute name="codeSpace" >
6047
                </xsl:attribute>
6048
              </xsl:element>
6049
              <xsl:element name="gml:axis" >
6050
                <xsl:element name="gml:CoordinateSystemAxis" >
6051
                  <xsl:choose>
6052
                    <xsl:when test="unitOfMeasure" >
6053
                      <xsl:for-each select="unitOfMeasure[1]" >
6054
                        <xsl:attribute name="gml:uom" >
6055
                          <xsl:value-of select="." />
6056
                        </xsl:attribute>
6057
                      </xsl:for-each>
6058
                    </xsl:when>
6059
                    <xsl:otherwise>
6060
                      <xsl:attribute name="gml:uom" >
6061
                        
6062
                      </xsl:attribute>
6063
                    </xsl:otherwise>
6064
                  </xsl:choose>
6065
                  <xsl:attribute name="gml:id" >
6066
                    <xsl:call-template name="generateIdCoordinateSystemAxis">
6067
                      <xsl:with-param name="param" select="." />
6068
                    </xsl:call-template>
6069
                  </xsl:attribute>
6070
                  <xsl:element name="gml:identifier" >
6071
                    <xsl:attribute name="codeSpace" >
6072
                    </xsl:attribute>
6073
                  </xsl:element>
6074
                  <xsl:element name="gml:axisAbbrev" >
6075
                  </xsl:element>
6076
                  <xsl:element name="gml:axisDirection" >
6077
                    <xsl:attribute name="codeSpace" >
6078
                    </xsl:attribute>
6079
                  </xsl:element>
6080
                </xsl:element>
6081
              </xsl:element>
6082
            </xsl:element>
6083
          </xsl:element>
6084
          <xsl:element name="gml:verticalDatum" >
6085
            <xsl:element name="gml:VerticalDatum" >
6086
              <xsl:attribute name="gml:id" >
6087
                <xsl:call-template name="generateIdVerticalDatum">
6088
                  <xsl:with-param name="param" select="." />
6089
                </xsl:call-template>
6090
              </xsl:attribute>
6091
              <xsl:element name="gml:identifier" >
6092
                <xsl:attribute name="codeSpace" >
6093
                </xsl:attribute>
6094
              </xsl:element>
6095
              <xsl:choose>
6096
                <xsl:when test="verticalDatum/SC_VerticalDatum/datumID/RS_Identifier/code" >
6097
                  <xsl:for-each select="verticalDatum/SC_VerticalDatum/datumID/RS_Identifier/code[1]" >
6098
                    <xsl:element name="gml:name" >
6099
                      <xsl:value-of select="." />
6100
                    </xsl:element>
6101
                  </xsl:for-each>
6102
                </xsl:when>
6103
                <xsl:otherwise>
6104
                  <xsl:element name="gml:name" >
6105
                    
6106
                  </xsl:element>
6107
                </xsl:otherwise>
6108
              </xsl:choose>
6109
              <xsl:element name="gml:scope" >
6110
              </xsl:element>
6111
            </xsl:element>
6112
          </xsl:element>
6113
        </xsl:element>
6114
      </xsl:element>
6115
    </xsl:element>
6116
  </xsl:template>
6117
  <xsl:template match="CI_Citation" >
6118
    <xsl:element name="gmd:CI_Citation" >
6119
      <xsl:for-each select="responsibleParty" >
6120
        <xsl:element name="gmd:responsibleParty" >
6121
          <xsl:apply-templates select="CI_ResponsibleParty" />
6122
        </xsl:element>
6123
      </xsl:for-each>
6124
      <xsl:choose>
6125
        <xsl:when test="title" >
6126
          <xsl:for-each select="title[1]" >
6127
            <xsl:element name="gmd:title" >
6128
              <xsl:element name="gco:CharacterString" >
6129
                <xsl:value-of select="." />
6130
              </xsl:element>
6131
            </xsl:element>
6132
          </xsl:for-each>
6133
        </xsl:when>
6134
        <xsl:otherwise>
6135
          <xsl:element name="gmd:title" >
6136
            
6137
          </xsl:element>
6138
        </xsl:otherwise>
6139
      </xsl:choose>
6140
      <xsl:for-each select="alternateTitle" >
6141
        <xsl:element name="gmd:alternateTitle" >
6142
          <xsl:element name="gco:CharacterString" >
6143
            <xsl:value-of select="." />
6144
          </xsl:element>
6145
        </xsl:element>
6146
      </xsl:for-each>
6147
      <xsl:choose>
6148
        <xsl:when test="date" >
6149
          <xsl:for-each select="date" >
6150
            <xsl:element name="gmd:date" >
6151
              <xsl:apply-templates select="CI_Date" />
6152
            </xsl:element>
6153
          </xsl:for-each>
6154
        </xsl:when>
6155
        <xsl:otherwise>
6156
          <xsl:element name="gmd:date" >
6157
            
6158
          </xsl:element>
6159
        </xsl:otherwise>
6160
      </xsl:choose>
6161
      <xsl:for-each select="edition[1]" >
6162
        <xsl:element name="gmd:edition" >
6163
          <xsl:element name="gco:CharacterString" >
6164
            <xsl:value-of select="." />
6165
          </xsl:element>
6166
        </xsl:element>
6167
      </xsl:for-each>
6168
      <xsl:for-each select="editionDate[1]" >
6169
        <xsl:element name="gmd:editionDate" >
6170
          <xsl:element name="gco:Date" >
6171
            <xsl:value-of select="." />
6172
          </xsl:element>
6173
        </xsl:element>
6174
      </xsl:for-each>
6175
      <xsl:for-each select="identifier" >
6176
        <xsl:element name="gmd:identifier" >
6177
          <xsl:apply-templates select="MD_Identifier" />
6178
          <xsl:apply-templates select="RS_Identifier" />
6179
        </xsl:element>
6180
      </xsl:for-each>
6181
      <xsl:for-each select="citedResponsibleParty" >
6182
        <xsl:element name="gmd:citedResponsibleParty" >
6183
          <xsl:apply-templates select="CI_ResponsibleParty" />
6184
        </xsl:element>
6185
      </xsl:for-each>
6186
      <xsl:for-each select="presentationForm" >
6187
        <xsl:element name="gmd:presentationForm" >
6188
          <xsl:call-template name="codeListElement19139">
6189
            <xsl:with-param name="param" select="." />
6190
            <xsl:with-param name="namespace">gmd</xsl:with-param>
6191
            <xsl:with-param name="listName">CI_PresentationFormCode</xsl:with-param>
6192
          </xsl:call-template>
6193
        </xsl:element>
6194
      </xsl:for-each>
6195
      <xsl:for-each select="series[1]" >
6196
        <xsl:element name="gmd:series" >
6197
          <xsl:apply-templates select="CI_Series" />
6198
        </xsl:element>
6199
      </xsl:for-each>
6200
      <xsl:for-each select="otherCitationDetails[1]" >
6201
        <xsl:element name="gmd:otherCitationDetails" >
6202
          <xsl:element name="gco:CharacterString" >
6203
            <xsl:value-of select="." />
6204
          </xsl:element>
6205
        </xsl:element>
6206
      </xsl:for-each>
6207
      <xsl:for-each select="collectiveTitle[1]" >
6208
        <xsl:element name="gmd:collectiveTitle" >
6209
          <xsl:element name="gco:CharacterString" >
6210
            <xsl:value-of select="." />
6211
          </xsl:element>
6212
        </xsl:element>
6213
      </xsl:for-each>
6214
      <xsl:for-each select="ISBN[1]" >
6215
        <xsl:element name="gmd:ISBN" >
6216
          <xsl:element name="gco:CharacterString" >
6217
            <xsl:value-of select="." />
6218
          </xsl:element>
6219
        </xsl:element>
6220
      </xsl:for-each>
6221
      <xsl:for-each select="ISSN[1]" >
6222
        <xsl:element name="gmd:ISSN" >
6223
          <xsl:element name="gco:CharacterString" >
6224
            <xsl:value-of select="." />
6225
          </xsl:element>
6226
        </xsl:element>
6227
      </xsl:for-each>
6228
    </xsl:element>
6229
  </xsl:template>
6230
  <xsl:template match="ISBN" >
6231
    <xsl:element name="gmd:ISBN" >
6232
      <xsl:element name="gco:CharacterString" >
6233
        <xsl:value-of select="." />
6234
      </xsl:element>
6235
    </xsl:element>
6236
  </xsl:template>
6237
  <xsl:template match="ISSN" >
6238
    <xsl:element name="gmd:ISSN" >
6239
      <xsl:element name="gco:CharacterString" >
6240
        <xsl:value-of select="." />
6241
      </xsl:element>
6242
    </xsl:element>
6243
  </xsl:template>
6244
  <xsl:template match="CI_ResponsibleParty" >
6245
    <xsl:element name="gmd:CI_ResponsibleParty" >
6246
      <xsl:for-each select="individualName[1]" >
6247
        <xsl:element name="gmd:individualName" >
6248
          <xsl:element name="gco:CharacterString" >
6249
            <xsl:value-of select="." />
6250
          </xsl:element>
6251
        </xsl:element>
6252
      </xsl:for-each>
6253
      <xsl:for-each select="organisationName[1]" >
6254
        <xsl:element name="gmd:organisationName" >
6255
          <xsl:element name="gco:CharacterString" >
6256
            <xsl:value-of select="." />
6257
          </xsl:element>
6258
        </xsl:element>
6259
      </xsl:for-each>
6260
      <xsl:for-each select="positionName[1]" >
6261
        <xsl:element name="gmd:positionName" >
6262
          <xsl:element name="gco:CharacterString" >
6263
            <xsl:value-of select="." />
6264
          </xsl:element>
6265
        </xsl:element>
6266
      </xsl:for-each>
6267
      <xsl:for-each select="contactInfo[1]" >
6268
        <xsl:element name="gmd:contactInfo" >
6269
          <xsl:apply-templates select="CI_Contact" />
6270
        </xsl:element>
6271
      </xsl:for-each>
6272
      <xsl:choose>
6273
        <xsl:when test="role" >
6274
          <xsl:for-each select="role[1]" >
6275
            <xsl:element name="gmd:role" >
6276
              <xsl:call-template name="codeListElement19139">
6277
                <xsl:with-param name="param" select="." />
6278
                <xsl:with-param name="namespace">gmd</xsl:with-param>
6279
                <xsl:with-param name="listName">CI_RoleCode</xsl:with-param>
6280
              </xsl:call-template>
6281
            </xsl:element>
6282
          </xsl:for-each>
6283
        </xsl:when>
6284
        <xsl:otherwise>
6285
          <xsl:element name="gmd:role" >
6286
            
6287
            <xsl:call-template name="codeListElement19139">
6288
              <xsl:with-param name="param" select="." />
6289
              <xsl:with-param name="namespace">gmd</xsl:with-param>
6290
              <xsl:with-param name="listName">CI_RoleCode</xsl:with-param>
6291
            </xsl:call-template>
6292
          </xsl:element>
6293
        </xsl:otherwise>
6294
      </xsl:choose>
6295
    </xsl:element>
6296
  </xsl:template>
6297
  <xsl:template match="TimePeriod" >
6298
    <xsl:element name="gml:TimePeriod" >
6299
      <xsl:attribute name="gml:id" >
6300
        <xsl:value-of select="generate-id()" />
6301
      </xsl:attribute>
6302
      <xsl:choose>
6303
        <xsl:when test="begin" >
6304
          <xsl:for-each select="begin[1]" >
6305
            <xsl:element name="gml:begin" >
6306
              <xsl:apply-templates select="TimeInstant" />
6307
            </xsl:element>
6308
          </xsl:for-each>
6309
        </xsl:when>
6310
        <xsl:otherwise>
6311
          <xsl:element name="gml:begin" >
6312
            
6313
          </xsl:element>
6314
        </xsl:otherwise>
6315
      </xsl:choose>
6316
      <xsl:choose>
6317
        <xsl:when test="end" >
6318
          <xsl:for-each select="end[1]" >
6319
            <xsl:element name="gml:end" >
6320
              <xsl:apply-templates select="TimeInstant" />
6321
            </xsl:element>
6322
          </xsl:for-each>
6323
        </xsl:when>
6324
        <xsl:otherwise>
6325
          <xsl:element name="gml:end" >
6326
            
6327
          </xsl:element>
6328
        </xsl:otherwise>
6329
      </xsl:choose>
6330
    </xsl:element>
6331
  </xsl:template>
6332
  <xsl:template match="TimeInstant" >
6333
    <xsl:element name="gml:TimeInstant" >
6334
      <xsl:attribute name="gml:id" >
6335
        <xsl:value-of select="generate-id()" />
6336
      </xsl:attribute>
6337
      <xsl:for-each select="timePosition[1]" >
6338
        <xsl:element name="gml:timePosition" >
6339
          <xsl:value-of select="." />
6340
        </xsl:element>
6341
      </xsl:for-each>
6342
    </xsl:element>
6343
  </xsl:template>
6344
</xsl:stylesheet>