Project

General

Profile

« Previous | Next » 

Revision 10159

Added by Bryce Mecum over 7 years ago

Minor tweaks and code cleanup to ISO XSLT

- Renamed the folder once more to be more correct

View differences:

lib/style/skins/metacatui/iso19139/iso-gco.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet
3
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
        xmlns:gco="http://www.isotc211.org/2005/gco"
5
        version="1.0">
6
    <!-- TODO: gco:Date-->
7
    <!-- TODO: gco:DateTime-->
8

  
9
    <xsl:template match="gco:CharacterString">
10
        <xsl:value-of select="." />
11
    </xsl:template>
12

  
13
    <xsl:template match="gco:Date">
14
        <xsl:value-of select="." />
15
    </xsl:template>
16

  
17
    <xsl:template match="gco:DateTime">
18
        <xsl:value-of select="." />
19
    </xsl:template>
20
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/iso-ci.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet 
3
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4
  xmlns:gmd="http://www.isotc211.org/2005/gmd"
5
  xmlns:gco="http://www.isotc211.org/2005/gco" 
6
  version="1.0">
7

  
8
  <!-- CI_ResponsibleParty -->
9
  <xsl:template match="gmd:CI_ResponsibleParty">
10
    <div class="controls-well">
11
      <xsl:if test="./gmd:individualName">
12
        <div class="control-group">
13
          <label class="control-label">Individual</label>
14
          <div class="controls">
15
            <div class="controls-well">
16
              <xsl:apply-templates select="./gmd:individualName" />
17
            </div>
18
          </div>
19
        </div>
20
      </xsl:if>
21

  
22
      <xsl:if test="./gmd:organisationName">
23
        <div class="control-group">
24
          <label class="control-label">Organization</label>
25
          <div class="controls">
26
            <div class="controls-well">
27
              <xsl:apply-templates select="./gmd:organisationName" />
28
            </div>
29
          </div>
30
        </div>
31
      </xsl:if>
32

  
33
      <xsl:if test="./gmd:positionName">
34
        <div class="control-group">
35
          <label class="control-label">Position</label>
36
          <div class="controls">
37
            <div class="controls-well">
38
              <xsl:apply-templates select="./gmd:positionName" />
39
            </div>
40
          </div>
41
        </div>
42
      </xsl:if>
43

  
44
      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:phone">
45
        <div class="control-group">
46
          <label class="control-label">Phone</label>
47
          <div class="controls">
48
            <div class="controls-well">
49
              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:phone" />
50
            </div>
51
          </div>
52
        </div>
53
      </xsl:if>
54

  
55
      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:address">
56
        <div class="control-group">
57
          <label class="control-label">Address</label>
58
          <div class="controls">
59
            <div class="controls-well">
60
              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:address" />
61
            </div>
62
          </div>
63
        </div>
64
      </xsl:if>
65

  
66
      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource">
67
        <div class="control-group">
68
          <label class="control-label">Online Resource</label>
69
          <div class="controls">
70
            <div class="controls-well">
71
              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource" />
72
            </div>
73
          </div>
74
        </div>
75
      </xsl:if>
76

  
77
      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService">
78
        <div class="control-group">
79
          <label class="control-label">Hours of Service</label>
80
          <div class="controls">
81
            <div class="controls-well">
82
              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService" />
83
            </div>
84
          </div>
85
        </div>
86
      </xsl:if>
87

  
88
      <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions">
89
        <div class="control-group">
90
          <label class="control-label">Contact Instructions</label>
91
          <div class="controls">
92
            <div class="controls-well">
93
              <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions" />
94
            </div>
95
          </div>
96
        </div>
97
      </xsl:if>
98

  
99
      <xsl:if test="./gmd:role">
100
        <div class="control-group">
101
          <label class="control-label">Role</label>
102
          <div class="controls">
103
            <div class="controls-well">
104
              <xsl:apply-templates select="./gmd:role" />
105
            </div>
106
          </div>
107
        </div>
108
      </xsl:if>
109
    </div>
110
  </xsl:template>
111

  
112
  <xsl:template match="gmd:CI_RoleCode">
113
    <xsl:apply-templates />
114
  </xsl:template>
115
  
116
  <xsl:template match="gmd:CI_Telephone">
117
    <xsl:for-each select="./gmd:voice">
118
      <div class="control-group">
119
          <label class="control-label">Voice</label>
120
          <div class="controls">
121
            <div class="controls-well">
122
              <xsl:apply-templates />
123
            </div>
124
          </div>
125
        </div>
126
    </xsl:for-each>
127

  
128
    <xsl:for-each select="./gmd:facsimile">
129
      <div class="control-group">
130
          <label class="control-label">Fax</label>
131
          <div class="controls">
132
            <div class="controls-well">
133
              <xsl:apply-templates />
134
            </div>
135
          </div>
136
        </div>
137
    </xsl:for-each>
138
  </xsl:template>
139
  
140
  <xsl:template match="gmd:CI_Address">
141
    <xsl:for-each select="./gmd:deliveryPoint">
142
      <div class="control-group">
143
          <label class="control-label">Delivery Point</label>
144
          <div class="controls">
145
            <div class="controls-well">
146
              <xsl:apply-templates />
147
            </div>
148
          </div>
149
        </div>
150
    </xsl:for-each>
151

  
152
    <xsl:if test="./gmd:city">
153
      <div class="control-group">
154
        <label class="control-label">City</label>
155
        <div class="controls">
156
          <div class="controls-well">
157
            <xsl:apply-templates select="./gmd:city" />
158
          </div>
159
        </div>
160
      </div>
161
    </xsl:if>
162

  
163
    <xsl:if test="./gmd:administrativeArea">
164
      <div class="control-group">
165
        <label class="control-label">Administrative Area</label>
166
        <div class="controls">
167
          <div class="controls-well">
168
            <xsl:apply-templates select="./gmd:administrativeArea" />
169
          </div>
170
        </div>
171
      </div>
172
    </xsl:if>
173
    
174
    <xsl:if test="./gmd:postalCode">
175
      <div class="control-group">
176
        <label class="control-label">Postal Code</label>
177
        <div class="controls">
178
          <div class="controls-well">
179
            <xsl:apply-templates select="./gmd:postalCode" />
180
          </div>
181
        </div>
182
      </div>
183
    </xsl:if>
184
    
185
    <xsl:if test="./gmd:country">
186
      <div class="control-group">
187
        <label class="control-label">Country</label>
188
        <div class="controls">
189
          <div class="controls-well">
190
            <xsl:apply-templates select="./gmd:country" />
191
          </div>
192
        </div>
193
      </div>
194
    </xsl:if>
195

  
196
    <xsl:for-each select="./gmd:electronicMailAddress">
197
      <div class="control-group">
198
          <label class="control-label">E-Mail</label>
199
          <div class="controls">
200
            <div class="controls-well">
201

  
202
              <xsl:variable name="email" select="./gco:CharacterString/text()" />
203
              <xsl:element name="a">
204
                <xsl:attribute name="href">mailto:<xsl:value-of select="$email" /></xsl:attribute>
205
                <xsl:value-of select="$email" />
206
              </xsl:element>
207
            </div>
208
          </div>
209
        </div>
210
    </xsl:for-each>
211
  </xsl:template>
212

  
213
  <xsl:template match="gmd:CI_OnlineResource">
214
    <xsl:if test="./gmd:linkage">
215
      <div class="control-group">
216
        <label class="control-label">linkage</label>
217
        <div class="controls">
218
          <div class="controls-well">
219
            <xsl:apply-templates select="./gmd:linkage" />
220
          </div>
221
        </div>
222
      </div>
223
    </xsl:if>
224

  
225
    <xsl:if test="./gmd:protocol">
226
      <div class="control-group">
227
        <label class="control-label">protocol</label>
228
        <div class="controls">
229
          <div class="controls-well">
230
            <xsl:apply-templates select="./gmd:protocol" />
231
          </div>
232
        </div>
233
      </div>
234
    </xsl:if>
235

  
236
    <xsl:if test="./gmd:applicationProfile">
237
      <div class="control-group">
238
        <label class="control-label">applicationProfile</label>
239
        <div class="controls">
240
          <div class="controls-well">
241
            <xsl:apply-templates select="./gmd:applicationProfile" />
242
          </div>
243
        </div>
244
      </div>
245
    </xsl:if>
246

  
247
    <xsl:if test="./gmd:name">
248
      <div class="control-group">
249
        <label class="control-label">name</label>
250
        <div class="controls">
251
          <div class="controls-well">
252
            <xsl:apply-templates select="./gmd:name" />
253
          </div>
254
        </div>
255
      </div>
256
    </xsl:if>
257

  
258
    <xsl:if test="./gmd:description">
259
      <div class="control-group">
260
        <label class="control-label">description</label>
261
        <div class="controls">
262
          <div class="controls-well">
263
            <xsl:apply-templates select="./gmd:description" />
264
          </div>
265
        </div>
266
      </div>
267
    </xsl:if>
268

  
269
    <xsl:if test="./gmd:function">
270
      <div class="control-group">
271
        <label class="control-label">function</label>
272
        <div class="controls">
273
          <div class="controls-well">
274
            <xsl:apply-templates select="./gmd:function" />
275
          </div>
276
        </div>
277
      </div>
278
    </xsl:if>
279
  </xsl:template>
280

  
281
    <xsl:template match="gmd:CI_Citation">
282
        <div class="control-group">
283
            <label class="control-label">Title</label>
284
            <div class="controls">
285
                <div class="controls-well">
286
                    <xsl:apply-templates select="./gmd:title" />
287
                </div>
288
            </div>
289
        </div>
290

  
291
        <xsl:if test="./gmd:alternateTitle">
292
            <xsl:for-each select="./gmd:alternateTitle">
293
                <div class="control-group">
294
                    <label class="control-label">Alternate Title</label>
295
                    <div class="controls">
296
                        <div class="controls-well">
297
                            <xsl:apply-templates />
298
                        </div>
299
                    </div>
300
                </div>
301
            </xsl:for-each>
302
        </xsl:if>
303

  
304
        <xsl:for-each select="./gmd:date">
305
            <div class="control-group">
306
                <label class="control-label">Date</label>
307
                <div class="controls">
308
                    <div class="controls-well">
309
                        <xsl:apply-templates />
310
                    </div>
311
                </div>
312
            </div>
313
        </xsl:for-each>
314

  
315
        <xsl:if test="./gmd:edition">
316
            <xsl:for-each select="./gmd:edition">
317
                <div class="control-group">
318
                    <label class="control-label">Edition</label>
319
                    <div class="controls">
320
                        <div class="controls-well">
321
                            <xsl:apply-templates />
322
                        </div>
323
                    </div>
324
                </div>
325
            </xsl:for-each>
326
        </xsl:if>
327

  
328
        <xsl:if test="./gmd:editionDate">
329
            <div class="control-group">
330
                <label class="control-label">Edition Date</label>
331
                <div class="controls">
332
                    <div class="controls-well">
333
                        <xsl:apply-templates />
334
                    </div>
335
                </div>
336
            </div>
337
        </xsl:if>
338

  
339
        <xsl:if test="./gmd:identifier">
340
            <xsl:for-each select="./gmd:identifier">
341
                <div class="control-group">
342
                    <label class="control-label">Identifier</label>
343
                    <div class="controls">
344
                        <div class="controls-well">
345
                            <xsl:apply-templates />
346
                        </div>
347
                    </div>
348
                </div>
349
            </xsl:for-each>
350
        </xsl:if>
351

  
352
        <xsl:if test="./gmd:citedResponsibleParty">
353
            <xsl:for-each select="./gmd:citedResponsibleParty">
354
                <div class="control-group">
355
                    <label class="control-label">Cited Responsible Party</label>
356
                    <div class="controls">
357
                        <div class="controls-well">
358
                            <xsl:apply-templates />
359
                        </div>
360
                    </div>
361
                </div>
362
            </xsl:for-each>
363
        </xsl:if>
364

  
365
        <xsl:if test="./gmd:presentationForm">
366
            <xsl:for-each select="./gmd:presentationForm">
367
                <div class="control-group">
368
                    <label class="control-label">Presentation Form</label>
369
                    <div class="controls">
370
                        <div class="controls-well">
371
                            <xsl:apply-templates />
372
                        </div>
373
                    </div>
374
                </div>
375
            </xsl:for-each>
376
        </xsl:if>
377

  
378
        <xsl:if test="./gmd:series">
379
            <div class="control-group">
380
                <label class="control-label">Series</label>
381
                <div class="controls">
382
                    <div class="controls-well">
383
                        <xsl:apply-templates />
384
                    </div>
385
                </div>
386
            </div>
387
        </xsl:if>
388

  
389
        <xsl:if test="./gmd:otherCitationDetails">
390
            <div class="control-group">
391
                <label class="control-label">Other Citation Details</label>
392
                <div class="controls">
393
                    <div class="controls-well">
394
                        <xsl:apply-templates />
395
                    </div>
396
                </div>
397
            </div>
398
        </xsl:if>
399

  
400
        <xsl:if test="./gmd:collectiveTitle">
401
            <div class="control-group">
402
                <label class="control-label">Collective Title</label>
403
                <div class="controls">
404
                    <div class="controls-well">
405
                        <xsl:apply-templates />
406
                    </div>
407
                </div>
408
            </div>
409
        </xsl:if>
410

  
411
        <xsl:if test="./gmd:ISBN">
412
            <div class="control-group">
413
                <label class="control-label">ISBN</label>
414
                <div class="controls">
415
                    <div class="controls-well">
416
                        <xsl:apply-templates />
417
                    </div>
418
                </div>
419
            </div>
420
        </xsl:if>
421

  
422
        <xsl:if test="./gmd:ISSN">
423
            <div class="control-group">
424
                <label class="control-label">ISSN</label>
425
                <div class="controls">
426
                    <div class="controls-well">
427
                        <xsl:apply-templates />
428
                    </div>
429
                </div>
430
            </div>
431
        </xsl:if>
432
    </xsl:template>
433
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/iso-gmx.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet
3
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
        xmlns:gmx="http://www.isotc211.org/2005/gmx"
5
        xmlns:xlink="http://www.w3.org/1999/xlink"
6
        version="1.0">
7

  
8
    <xsl:template match="gmx:Anchor">
9
        <xsl:element name="a">
10
            <xsl:attribute name="href">
11
                <xsl:value-of select="./@xlink:href" />
12
            </xsl:attribute>
13

  
14
            <!-- Create the attributes for a Bootstrap tooltip to hold the title -->
15
            <xsl:if test="./@xlink:title">
16
                <xsl:attribute name="data-toggle">tooltip</xsl:attribute>
17
                <xsl:attribute name="data-placement">top</xsl:attribute>
18
                <xsl:attribute name="title"><xsl:value-of select="./@xlink:title" /></xsl:attribute>
19
            </xsl:if>
20

  
21
            <xsl:value-of select="./text()" />
22
        </xsl:element>
23
    </xsl:template>
24
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/iso-ex.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet 
3
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4
  xmlns:gmd="http://www.isotc211.org/2005/gmd" 
5
  xmlns:gco="http://www.isotc211.org/2005/gco" 
6
  xmlns:gml="http://www.opengis.net/gml/3.2" version="1.0">
7

  
8
    <xsl:template match="gmd:EX_Extent">
9
      <h4>Extent</h4>
10

  
11
      <!-- description -->
12
      <xsl:if test=".//gmd:description">
13
        <div class="control-group">
14
          <label class="control-label">Description</label>
15
          <div class="controls">
16
            <div class="controls-well">
17
              <xsl:apply-templates />
18
            </div>
19
          </div>
20
        </div>
21
      </xsl:if>
22

  
23
      <!-- Geographic -->
24
      <xsl:for-each select=".//gmd:geographicElement">
25
        <div class="row-fluid geographicCoverage">
26
          <div class="control-group">
27
            <label class="control-label">Geographic</label>
28
            <div class="controls">
29
              <div class="controls-well">
30
                <xsl:apply-templates />
31
              </div>
32
            </div>
33
          </div>
34
        </div>
35
      </xsl:for-each>
36

  
37
      <!-- Temporal -->
38
      <xsl:for-each select=".//gmd:temporalElement">
39
        <div class="control-group">
40
          <label class="control-label">Temporal</label>
41
          <div class="controls">
42
            <div class="controls-well">
43
              <xsl:apply-templates />
44
            </div>
45
          </div>
46
        </div>
47
      </xsl:for-each>
48

  
49
      <!-- Vertical -->
50
      <xsl:for-each select=".//gmd:verticalElement">
51
        <div class="control-group">
52
          <label class="control-label">Vertical</label>
53
          <div class="controls">
54
            <div class="controls-well">
55
              <xsl:apply-templates />
56
            </div>
57
          </div>
58
        </div>
59
      </xsl:for-each>
60
    </xsl:template>
61

  
62
  <!-- EX_GeographicExtent-->
63
  <xsl:template match="gmd:EX_GeographicExtent">
64
    <xsl:apply-templates />
65
  </xsl:template>
66

  
67
  <!-- EX_BoundingPolygon-->
68
  <xsl:template match="gmd:EX_BoundingPolygon">
69
    <xsl:apply-templates />
70
  </xsl:template>
71

  
72
  <!-- EX_GeographicDescription-->
73
  <xsl:template match="gmd:EX_GeographicDescription">
74
    <xsl:apply-templates />
75
  </xsl:template>
76

  
77

  
78

  
79
  <!-- EX_GeographicBoundingBox-->
80
  <xsl:template match="gmd:EX_GeographicBoundingBox">
81
    <!-- Set up variables for N E S W -->
82
    <xsl:variable name="north"><xsl:value-of select="./gmd:northBoundLatitude/gco:Decimal/text()" /></xsl:variable>
83
    <xsl:variable name="east"><xsl:value-of select="./gmd:eastBoundLongitude/gco:Decimal/text()" /></xsl:variable>
84
    <xsl:variable name="south"><xsl:value-of select="./gmd:southBoundLatitude/gco:Decimal/text()" /></xsl:variable>
85
    <xsl:variable name="west"><xsl:value-of select="./gmd:westBoundLongitude/gco:Decimal/text()" /></xsl:variable>
86

  
87
    <div data-value="{$north}" data-content="northBoundingCoordinate" class="control-group northBoundingCoordinate">
88
      <label class="control-label">North</label>
89
      <div class="controls"><xsl:value-of select="$north" />&#xa0; degrees</div>
90
    </div>
91

  
92
    <div data-value="{$east}" data-content="eastBoundingCoordinate" class="control-group eastBoundingCoordinate">
93
      <label class="control-label">East</label>
94
      <div class="controls"><xsl:value-of select="$east" />&#xa0; degrees</div>
95
    </div>
96

  
97
    <div data-value="{$south}" data-content="southBoundingCoordinate" class="control-group southBoundingCoordinate">
98
      <label class="control-label">South</label>
99
      <div class="controls"><xsl:value-of select="$south" />&#xa0; degrees</div>
100
    </div>
101

  
102
    <div data-value="{$west}" data-content="westBoundingCoordinate" class="control-group westBoundingCoordinate">
103
      <label class="control-label">West</label>
104
      <div class="controls"><xsl:value-of select="$west" />&#xa0; degrees</div>
105
    </div>
106

  
107
    <xsl:apply-templates select="./gmd:extentTypeCode" />
108
  </xsl:template>
109

  
110
  <xsl:template match="gmd:polygon">
111
    <div class="control-group">
112
      <label class="control-label">Polygon</label>
113
      <div class="controls">
114
        <div class="controls-well">
115
          <xsl:apply-templates />
116
        </div>
117
      </div>
118
    </div>
119
  </xsl:template>
120

  
121
  <!-- EX_TemporalExtent -->
122
  <xsl:template match="gmd:EX_TemporalExtent">
123
    <xsl:apply-templates select=".//gmd:extent/*" />
124
  </xsl:template>
125

  
126
  <!-- EX_VerticalExtent-->
127
  <!-- TODO: Improve DOM structure -->
128
  <xsl:template name="verticalextent" match="gmd:EX_VerticalExtent">
129
    <span>minimumValue:     
130
      <xsl:value-of select="./gmd:minimumValue/gco:Real" />
131
    </span>
132
    <span>maximumValue:     
133
      <xsl:value-of select="./gmd:maximumValue/gco:Real" />
134
    </span>
135
    <!-- TODO: Flesh this out a bit more -->
136
    <span>verticalCRS:     
137
      <xsl:value-of select="./gmd:verticalCRS" />
138
    </span>
139
  </xsl:template>
140

  
141
  <!-- TimeInstant-->
142
  <!-- TODO
143
        - Attributes: frame, calendarEraName, indeterminatePosition
144
    -->
145
  <xsl:template name="timeinstant" match="gml:TimeInstant">
146
    <span>time instant</span>
147
    <span>description:             
148
      <xsl:value-of select=".//gmd:description" />
149
    </span>
150
    <span>
151
      <span>timePosition:             
152
        <xsl:value-of select=".//gml:timePosition" />
153
      </span>
154
      <xsl:if test=".//gml:timePosition/@calendarEraName">
155
        <span>
156
          <xsl:value-of select=".//gml:timePosition/@calendarEraName" /> (calendarEraName)
157
        </span>
158
      </xsl:if>
159
      <xsl:if test=".//gml:timePosition/@indeterminatePosition">
160
        <span>
161
          <xsl:value-of select=".//gml:timePosition/@indeterminatePosition" /> (indeterminatePosition)
162
        </span>
163
      </xsl:if>
164
    </span>
165
  </xsl:template>
166

  
167
  <!-- TimePeriod-->
168
  <!-- TODO: 
169
        - All the attributes
170
        - timeInterval units, radix, factor
171
    -->
172
  <xsl:template name="timeperiod" match="gml:TimePeriod">
173

  
174

  
175

  
176

  
177
    <xsl:if test=".//gml:beginPosition">
178
      <div class="control-group">
179
        <label class="control-label">Begin</label>
180
        <div class="controls">
181
          <span><xsl:value-of select=".//gml:beginPosition" /></span>
182
          <xsl:if test=".//gml:beginPosition/@calendarEraName">
183
            <span><xsl:value-of select=".//gml:beginPosition/@calendarEraName" /> (calendarEraName)</span>                        
184
          </xsl:if>
185
          <xsl:if test=".//gml:beginPosition/@indeterminatePosition">
186
            <span><xsl:value-of select=".//gml:beginPosition/@indeterminatePosition" /> (indeterminatePosition)</span>                        
187
          </xsl:if>
188
        </div>
189
      </div>
190
    </xsl:if>
191

  
192
    <xsl:if test=".//gml:endPosition">
193
      <div class="control-group">
194
        <label class="control-label">End</label>
195
        <div class="controls">
196
          <span><xsl:value-of select=".//gml:endPosition" /></span>
197
          <xsl:if test=".//gml:endPosition/@calendarEraName">
198
            <span><xsl:value-of select=".//gml:endPosition/@calendarEraName" /> (calendarEraName)</span>                        
199
          </xsl:if>
200
          <xsl:if test=".//gml:endPosition/@indeterminatePosition">
201
            <span><xsl:value-of select=".//gml:endPosition/@indeterminatePosition" /> (indeterminatePosition)</span>                        
202
          </xsl:if>
203
        </div>
204
      </div>
205
    </xsl:if>
206

  
207
    <xsl:if test=".//gml:duration">
208
        <span>duration:         
209
        <xsl:value-of select=".//gml:duration" />
210
      </span>
211
    </xsl:if>
212

  
213
    <xsl:if test=".//gml:timeInterval">
214
      <span>timeInterval:         
215
        <xsl:value-of select=".//gml:timeInterval" />
216
      </span>
217
    </xsl:if>
218
  </xsl:template>
219

  
220
  <!-- extentTypeCode -->
221
  <xsl:template match="gmd:extentTypeCode">
222
    <div class="control-group extentTypeCode">
223
      <label class="control-label">Type</label>
224
      <div class="controls">
225
        <xsl:choose>
226
          <xsl:when test="./gco:Boolean = 0">Exclusion</xsl:when>
227
          <xsl:when test="./gco:Boolean = 1">Inclusion</xsl:when>
228
          <xsl:when test="./@nilReason"><xsl:value-of select="./@nilReason" /></xsl:when>
229
        </xsl:choose>
230
      </div>
231
    </div>
232
  </xsl:template>
233
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/iso-gml.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet
3
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
        xmlns:gml="http://www.opengis.net/gml/3.2" version="1.0">
5

  
6
    <xsl:template match="gml:Point">
7

  
8
    </xsl:template>
9

  
10
    <xsl:template match="gml:Polygon">
11

  
12
    </xsl:template>
13

  
14
    <xsl:template match="gml:interior">
15

  
16
    </xsl:template>
17

  
18
    <xsl:template match="gml:LinearRing">
19

  
20
    </xsl:template>
21

  
22
    <xsl:template match="gml:LineString">
23

  
24
    </xsl:template>
25
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/iso-md.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet
3
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
  xmlns:gmd="http://www.isotc211.org/2005/gmd"
5
  version="1.0">
6

  
7
  <xsl:template match="gmd:MD_Identifier">
8
    <xsl:apply-templates select="./gmd:code" />
9
  </xsl:template>
10

  
11
    <xsl:template match="gmd:MD_TopicCategoryCode">
12
        <xsl:apply-templates />
13
    </xsl:template>
14

  
15
  <xsl:template match="gmd:MD_Keywords">
16
      <table class="table table-condensed">
17
          <thead>
18
              <tr>
19
                  <th>Keyword</th>
20
              </tr>
21
          </thead>
22
          <tbody>
23
              <xsl:for-each select="./gmd:keyword">
24
                  <tr>
25
                    <td><xsl:apply-templates select="." /></td>
26
                  </tr>
27
              </xsl:for-each>
28
          </tbody>
29
      </table>
30

  
31
      <xsl:if test="./gmd:type">
32
          <div class="control-group">
33
              <label class="control-label">Type</label>
34
              <div class="controls">
35
                  <div class="controls-well">
36
                      <xsl:value-of select="./gmd:type/gmd:MD_KeywordTypeCode/text()" />
37
                  </div>
38
              </div>
39
          </div>
40
      </xsl:if>
41

  
42
      <div class="control-group">
43
          <label class="control-label">Thesaurus</label>
44
          <div class="controls">
45
              <div class="controls-well">
46
                  <xsl:apply-templates select="./gmd:thesaurusName/gmd:CI_Citation" />
47
              </div>
48
          </div>
49
      </div>
50

  
51
  </xsl:template>
52

  
53
    <!-- TODO: gmd:CI_PresentationFormCode-->
54
    <!-- TODO: gmd:CI_Series -->
55
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/isoroot.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet 
3
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4
  xmlns:gmd="http://www.isotc211.org/2005/gmd" 
5
  xmlns:gco="http://www.isotc211.org/2005/gco" 
6
  version="1.0">
7

  
8
  <xsl:import href="iso-md.xsl"/>
9
  <xsl:import href="iso-ci.xsl"/>
10
  <xsl:import href="iso-ex.xsl"/>
11
  <xsl:import href="iso-gco.xsl"/>
12
  <xsl:import href="iso-gmd.xsl"/>
13
  <xsl:import href="iso-gml.xsl"/>
14
  <xsl:import href="iso-gmx.xsl"/>
15

  
16
  <xsl:output method="html" encoding="UTF-8"
17
      doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
18
      doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
19
      indent="yes" />  
20

  
21
  <!-- TODO: Figure out how to set the output method to get what I want -->
22
  <!-- TODO: ^ Figure out what I want to output -->
23
  <!-- TODO: Figuer out what this match statement should have in it -->
24
  <!-- TODO: Cover gmd:identificationInfo/SV_ServiceIdentification -->
25

  
26
  <xsl:template match="*[local-name()='MD_Metadata'] | *[local-name()='MI_Metadata']">
27
    <form class="form-horizontal">
28
      <div class="control-group entity">
29
        <h4>General</h4>
30
        <!-- fileIdentifier 1:1 -->
31
        <div class="control-group">
32
          <label class="control-label">Identifier</label>
33
          <div class="controls">
34
            <div class="controls-well">
35
                <xsl:value-of select="//gmd:fileIdentifier/gco:CharacterString/text()" />
36
            </div>
37
          </div>
38
        </div>
39

  
40
        <!-- TODO: language 1:1 -->
41
        <!-- TODO: characterSet 1:1 -->
42
        
43
        <!-- Parent Identifier 1:1 conditional -->
44
        <xsl:if test="//gmd:parentIdentifier">
45
          <div class="control-group">
46
            <label class="control-label">Parent Identifier</label>
47
            <div class="controls">
48
              <div class="controls-well">
49
                <xsl:value-of select="//gmd:parentIdentifier/gco:CharacterString/text()" />
50
              </div>
51
            </div>
52
          </div>
53
        </xsl:if>
54

  
55
        <!-- TODO: hierarchyLevel 0:inf -->
56
        <!-- TODO: hierarchyLevelName 0:inf -->
57

  
58
        <!-- Alternate identifier(s) 0:inf-->
59
        <!-- gmd:identifier is an optional aprt of the CI_Citation element -->
60
        <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier">
61
          <div class="control-group">
62
            <label class="control-label">Cited Identifier</label>
63
            <div class="controls">
64
              <div class="controls-well">
65
                <xsl:apply-templates />
66
              </div>
67
            </div>
68
          </div>
69
        </xsl:for-each>
70

  
71
        <!-- Abstract 1:inf-->
72
        <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract">
73
          <div class="control-group">
74
            <label class="control-label">Abstract</label>
75
            <div class="controls">
76
              <div class="controls-well">
77
                <xsl:apply-templates />
78
              </div>
79
            </div>
80
          </div>
81
        </xsl:for-each>
82

  
83
        <!--  Topic Categories -->
84
        <xsl:if test="//gmd:topicCategory">
85
          <div class="control-group">
86
            <label class="control-label">Topic Categories</label>
87
            <div class="controls">
88
              <div class="controls-well">
89
                <table class="table table-condensed">
90
                  <thead>
91
                    <tr>
92
                      <th>Topic</th>
93
                    </tr>
94
                  </thead>
95
                  <tbody>
96
                    <xsl:for-each select="//gmd:topicCategory">
97
                      <tr>
98
                        <td><xsl:apply-templates /></td>
99
                      </tr>
100
                    </xsl:for-each>
101
                  </tbody>
102
                </table>
103
              </div>
104
            </div>
105
          </div>
106
        </xsl:if>
107
    
108
        <!-- Keywords
109

  
110
            Each <gmd:descriptiveKeywords> block should have one or more keywords in it
111
            with one thesaurus. So we render keywords from the same thesaurus together.
112
        -->
113
        <xsl:if test="//gmd:descriptiveKeywords">
114
          <div class="control-group">
115
            <label class="control-label">Descriptive Keywords</label>
116
            <div class="controls">
117
              <div class="controls-well">
118
                <xsl:for-each select="//gmd:descriptiveKeywords">
119
                  <xsl:apply-templates />
120
                </xsl:for-each>
121
              </div>
122
            </div>
123
          </div>
124
        </xsl:if>
125
      </div>
126

  
127
      <div class="control-group entity">
128
        <h4>People and Associated Parties</h4>
129

  
130
        <!-- Metadata Contact(s) 1:inf -->
131
        <div class="control-group">
132
          <label class="control-label">Metadata Contact(s)</label>
133
          <div class="controls">
134
            <div class="controls-well">
135
              <xsl:for-each select="//gmd:contact">
136
                <xsl:apply-templates />
137
              </xsl:for-each>
138
            </div>
139
          </div>
140
        </div>
141

  
142
        <!-- Data Set Contact(s) -->
143
        <div class="control-group">
144
          <label class="control-label">Data Set Contacts</label>
145
          <div class="controls">
146
            <div class="controls-well">
147
              <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact" />
148
            </div>
149
          </div>
150
        </div>
151

  
152
        <!-- Cited responsible parties-->
153
        <div class="control-group">
154
          <label class="control-label">Associated Parties</label>
155
          <div class="controls">
156
            <div class="controls-well">
157
              <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty" />
158
            </div>
159
          </div>
160
        </div>
161
      </div>
162

  
163
      <!-- TODO: otherEntities? -->
164

  
165
      <!-- Extent (geographic, temporal, vertical) -->
166
      <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent">
167
        <xsl:apply-templates />
168
      </xsl:for-each>
169

  
170
      <!-- TODO Methods -->
171

  
172
    </form>
173
  </xsl:template>
174

  
175
  <!-- General, high-level templates -->
176

  
177
  <!-- TODO: Figure out how to do this: I want to capture the scenario where
178
  an element like gmd:individualName has on child gco:CharacterString or 
179
  equivalent but has a nilReason attribute. -->
180
  <xsl:template match="*[not(*) and ./@nilReason]">
181
    nilReason!
182
    <xsl:value-of select="@nilReason" />
183
  </xsl:template>
184
</xsl:stylesheet>
lib/style/skins/metacatui/iso19139/iso-gmd.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet
3
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4
        xmlns:gmd="http://www.isotc211.org/2005/gmd"
5
        version="1.0">
6

  
7
    <xsl:template match="gmd:URL">
8
        <xsl:variable name="url"><xsl:value-of select="./text()" /></xsl:variable>
9
        <xsl:element name="a">
10
            <xsl:attribute name="href">
11
                <xsl:value-of select="$url" />
12
            </xsl:attribute>
13
            <xsl:value-of select="$url" />
14
        </xsl:element>
15
    </xsl:template>
16
</xsl:stylesheet>
lib/style/skins/metacatui/iso19115/iso-ex.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet 
3
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4
  xmlns:gmd="http://www.isotc211.org/2005/gmd" 
5
  xmlns:gco="http://www.isotc211.org/2005/gco" 
6
  xmlns:gml="http://www.opengis.net/gml/3.2" version="1.0">
7

  
8
    <xsl:template match="gmd:EX_Extent">
9
      <h4>Coverage</h4>
10

  
11
      <!-- description -->
12
      <xsl:if test=".//gmd:description">
13
        <div class="control-group">
14
          <label class="control-label">Description</label>
15
          <div class="controls">
16
            <div class="controls-well">
17
              <xsl:apply-templates />
18
            </div>
19
          </div>
20
        </div>
21
      </xsl:if>
22

  
23
      <!-- Geographic -->
24
      <xsl:for-each select=".//gmd:geographicElement">
25
        <div class="row-fluid geographicCoverage">
26
          <div class="control-group">
27
            <label class="control-label">Geographic</label>
28
            <div class="controls">
29
              <div class="controls-well">
30
                <xsl:apply-templates />
31
              </div>
32
            </div>
33
          </div>
34
        </div>
35
      </xsl:for-each>
36

  
37
      <!-- Temporal -->
38
      <xsl:for-each select=".//gmd:temporalElement">
39
        <div class="control-group">
40
          <label class="control-label">Temporal</label>
41
          <div class="controls">
42
            <div class="controls-well">
43
              <xsl:apply-templates />
44
            </div>
45
          </div>
46
        </div>
47
      </xsl:for-each>
48

  
49
      <!-- Vertical -->
50
      <xsl:for-each select=".//gmd:verticalElement">
51
        <div class="control-group">
52
          <label class="control-label">Vertical</label>
53
          <div class="controls">
54
            <div class="controls-well">
55
              <xsl:apply-templates />
56
            </div>
57
          </div>
58
        </div>
59
      </xsl:for-each>
60
    </xsl:template>
61

  
62
  <!-- EX_GeographicExtent-->
63
  <xsl:template match="gmd:EX_GeographicExtent">
64
    <xsl:apply-templates />
65
  </xsl:template>
66

  
67
  <!-- EX_BoundingPolygon-->
68
  <xsl:template match="gmd:EX_BoundingPolygon">
69
    <xsl:apply-templates />
70
  </xsl:template>
71

  
72
  <!-- EX_GeographicDescription-->
73
  <xsl:template match="gmd:EX_GeographicDescription">
74
    <xsl:apply-templates />
75
  </xsl:template>
76

  
77

  
78

  
79
  <!-- EX_GeographicBoundingBox-->
80
  <xsl:template match="gmd:EX_GeographicBoundingBox">
81
    <!-- Set up variables for N E S W -->
82
    <xsl:variable name="north"><xsl:value-of select="./gmd:northBoundLatitude/gco:Decimal/text()" /></xsl:variable>
83
    <xsl:variable name="east"><xsl:value-of select="./gmd:eastBoundLongitude/gco:Decimal/text()" /></xsl:variable>
84
    <xsl:variable name="south"><xsl:value-of select="./gmd:southBoundLatitude/gco:Decimal/text()" /></xsl:variable>
85
    <xsl:variable name="west"><xsl:value-of select="./gmd:westBoundLongitude/gco:Decimal/text()" /></xsl:variable>
86

  
87
    <div data-value="{$north}" data-content="northBoundingCoordinate" class="control-group northBoundingCoordinate">
88
      <label class="control-label">North</label>
89
      <div class="controls">
90
          <div class="controls-well">
91
              <xsl:value-of select="$north" />&#xa0; degrees
92
          </div>
93
      </div>
94
    </div>
95

  
96
    <div data-value="{$east}" data-content="eastBoundingCoordinate" class="control-group eastBoundingCoordinate">
97
      <label class="control-label">East</label>
98
      <div class="controls">
99
          <div class="controls-well">
100
              <xsl:value-of select="$east" />&#xa0; degrees
101
          </div>
102
      </div>
103
    </div>
104

  
105
    <div data-value="{$south}" data-content="southBoundingCoordinate" class="control-group southBoundingCoordinate">
106
      <label class="control-label">South</label>
107
      <div class="controls">
108
          <div class="controls-well">
109
              <xsl:value-of select="$south" />&#xa0; degrees
110
          </div>
111
      </div>
112
    </div>
113

  
114
    <div data-value="{$west}" data-content="westBoundingCoordinate" class="control-group westBoundingCoordinate">
115
      <label class="control-label">West</label>
116
      <div class="controls">
117
          <div class="controls-well">
118
              <xsl:value-of select="$west" />&#xa0; degrees
119
          </div>
120
      </div>
121
    </div>
122

  
123
    <xsl:apply-templates select="./gmd:extentTypeCode" />
124
  </xsl:template>
125

  
126
  <xsl:template match="gmd:polygon">
127
    <div class="control-group">
128
      <label class="control-label">Polygon</label>
129
      <div class="controls">
130
        <div class="controls-well">
131
          <xsl:apply-templates />
132
        </div>
133
      </div>
134
    </div>
135
  </xsl:template>
136

  
137
  <!-- EX_TemporalExtent -->
138
  <xsl:template match="gmd:EX_TemporalExtent">
139
    <xsl:apply-templates select=".//gmd:extent/*" />
140
  </xsl:template>
141

  
142
  <!-- EX_VerticalExtent-->
143
  <!-- TODO: Improve DOM structure -->
144
  <xsl:template name="verticalextent" match="gmd:EX_VerticalExtent">
145
    <span>minimumValue:     
146
      <xsl:value-of select="./gmd:minimumValue/gco:Real" />
147
    </span>
148
    <span>maximumValue:     
149
      <xsl:value-of select="./gmd:maximumValue/gco:Real" />
150
    </span>
151
    <!-- TODO: Flesh this out a bit more -->
152
    <span>verticalCRS:     
153
      <xsl:value-of select="./gmd:verticalCRS" />
154
    </span>
155
  </xsl:template>
156

  
157
  <!-- TimeInstant-->
158
  <!-- TODO
159
        - Attributes: frame, calendarEraName, indeterminatePosition
160
    -->
161
  <xsl:template name="timeinstant" match="gml:TimeInstant">
162
    <span>time instant</span>
163
    <span>description:             
164
      <xsl:value-of select=".//gmd:description" />
165
    </span>
166
    <span>
167
      <span>timePosition:             
168
        <xsl:value-of select=".//gml:timePosition" />
169
      </span>
170
      <xsl:if test=".//gml:timePosition/@calendarEraName">
171
        <span>
172
          <xsl:value-of select=".//gml:timePosition/@calendarEraName" /> (calendarEraName)
173
        </span>
174
      </xsl:if>
175
      <xsl:if test=".//gml:timePosition/@indeterminatePosition">
176
        <span>
177
          <xsl:value-of select=".//gml:timePosition/@indeterminatePosition" /> (indeterminatePosition)
178
        </span>
179
      </xsl:if>
180
    </span>
181
  </xsl:template>
182

  
183
  <!-- TimePeriod-->
184
  <!-- TODO: 
185
        - All the attributes
186
        - timeInterval units, radix, factor
187
    -->
188
  <xsl:template name="timeperiod" match="gml:TimePeriod">
189

  
190

  
191

  
192

  
193
    <xsl:if test=".//gml:beginPosition">
194
      <div class="control-group">
195
        <label class="control-label">Begin</label>
196
        <div class="controls">
197
          <span><xsl:value-of select=".//gml:beginPosition" /></span>
198
          <xsl:if test=".//gml:beginPosition/@calendarEraName">
199
            <span><xsl:value-of select=".//gml:beginPosition/@calendarEraName" /> (calendarEraName)</span>                        
200
          </xsl:if>
201
          <xsl:if test=".//gml:beginPosition/@indeterminatePosition">
202
            <span><xsl:value-of select=".//gml:beginPosition/@indeterminatePosition" /> (indeterminatePosition)</span>                        
203
          </xsl:if>
204
        </div>
205
      </div>
206
    </xsl:if>
207

  
208
    <xsl:if test=".//gml:endPosition">
209
      <div class="control-group">
210
        <label class="control-label">End</label>
211
        <div class="controls">
212
          <span><xsl:value-of select=".//gml:endPosition" /></span>
213
          <xsl:if test=".//gml:endPosition/@calendarEraName">
214
            <span><xsl:value-of select=".//gml:endPosition/@calendarEraName" /> (calendarEraName)</span>                        
215
          </xsl:if>
216
          <xsl:if test=".//gml:endPosition/@indeterminatePosition">
217
            <span><xsl:value-of select=".//gml:endPosition/@indeterminatePosition" /> (indeterminatePosition)</span>                        
218
          </xsl:if>
219
        </div>
220
      </div>
221
    </xsl:if>
222

  
223
    <xsl:if test=".//gml:duration">
224
        <span>duration:         
225
        <xsl:value-of select=".//gml:duration" />
226
      </span>
227
    </xsl:if>
228

  
229
    <xsl:if test=".//gml:timeInterval">
230
      <span>timeInterval:         
231
        <xsl:value-of select=".//gml:timeInterval" />
232
      </span>
233
    </xsl:if>
234
  </xsl:template>
235

  
236
  <!-- extentTypeCode -->
237
  <xsl:template match="gmd:extentTypeCode">
238
    <div class="control-group extentTypeCode">
239
      <label class="control-label">Type</label>
240
      <div class="controls">
241
        <xsl:choose>
242
          <xsl:when test="./gco:Boolean = 0">Exclusion</xsl:when>
243
          <xsl:when test="./gco:Boolean = 1">Inclusion</xsl:when>
244
          <xsl:when test="./@nilReason"><xsl:value-of select="./@nilReason" /></xsl:when>
245
        </xsl:choose>
246
      </div>
247
    </div>
248
  </xsl:template>
249
</xsl:stylesheet>
lib/style/skins/metacatui/iso19115/iso-gmd.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet 
3
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4
    xmlns:gmd="http://www.isotc211.org/2005/gmd" version="1.0">
5
    <xsl:template match="gmd:URL">
6
        <xsl:variable name="url">
7
            <xsl:value-of select="./text()" />
8
        </xsl:variable>
9
        <xsl:element name="a">
10
            <xsl:attribute name="href">
11
                <xsl:value-of select="$url" />
12
            </xsl:attribute>
13
            <xsl:value-of select="$url" />
14
        </xsl:element>
15
    </xsl:template>
16
    <xsl:template match="gmd:date">
17
        <xsl:apply-templates />
18
    </xsl:template>
19
    <xsl:template match="gmd:dateStamp">
20
        <xsl:apply-templates />
21
    </xsl:template>
22
    <xsl:template match="gmd:dateType">
23
        <xsl:apply-templates />
24
    </xsl:template>
25
    <xsl:template match="gmd:resourceConstraints">
26
        <!-- Show the title if it's present -->
27
        <xsl:if test="../@xlink:title">
28
            <div class="control-group">
29
                <label class="control-label">Title</label>
30
                <div class="controls">
31
                    <div class="controls-well">
32
                        <xsl:apply-templates select="../@xlink:title" />
33
                    </div>
34
                </div>
35
            </div>
36
        </xsl:if>
37
        <xsl:apply-templates />
38
    </xsl:template>
39
</xsl:stylesheet>
lib/style/skins/metacatui/iso19115/isoroot.xsl
1
<?xml version="1.0"?>
2
<xsl:stylesheet 
3
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4
    xmlns:gmd="http://www.isotc211.org/2005/gmd" 
5
    xmlns:gco="http://www.isotc211.org/2005/gco" 
6
    xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0">
7
    <xsl:import href="iso-md.xsl"/>
8
    <xsl:import href="iso-ci.xsl"/>
9
    <xsl:import href="iso-ex.xsl"/>
10
    <xsl:import href="iso-gco.xsl"/>
11
    <xsl:import href="iso-gmd.xsl"/>
12
    <xsl:import href="iso-gml.xsl"/>
13
    <xsl:import href="iso-gmx.xsl"/>
14
    <xsl:output method="html" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" indent="yes" />
15
    <!-- TODO: Figure out how to set the output method to get what I want -->
16
    <!-- TODO: ^ Figure out what I want to output -->
17
    <!-- TODO: Figuer out what this match statement should have in it -->
18
    <!-- TODO: Cover gmd:identificationInfo/SV_ServiceIdentification -->
19
    <xsl:template match="*[local-name()='MD_Metadata'] | *[local-name()='MI_Metadata']">
20
        <form class="form-horizontal">
21
            <div class="control-group entity">
22
                <h4>General</h4>
23
                <!-- fileIdentifier 1:1 -->
24
                <div class="control-group">
25
                    <label class="control-label">Identifier</label>
26
                    <div class="controls">
27
                        <div class="controls-well">
28
                            <xsl:value-of select="//gmd:fileIdentifier/gco:CharacterString/text()" />
29
                        </div>
30
                    </div>
31
                </div>
32
                <!-- TODO: language 1:1 -->
33
                <!-- TODO: characterSet 1:1 -->
34
                <!-- Parent Identifier 1:1 conditional -->
35
                <xsl:if test="//gmd:parentIdentifier">
36
                    <div class="control-group">
37
                        <label class="control-label">Parent Identifier</label>
38
                        <div class="controls">
39
                            <div class="controls-well">
40
                                <xsl:value-of select="//gmd:parentIdentifier/gco:CharacterString/text()" />
41
                            </div>
42
                        </div>
43
                    </div>
44
                </xsl:if>
45
                <!-- TODO: hierarchyLevel 0:inf -->
46
                <!-- TODO: hierarchyLevelName 0:inf -->
47
                <!-- Alternate identifier(s) 0:inf-->
48
                <!-- gmd:identifier is an optional aprt of the CI_Citation element -->
49
                <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier">
50
                    <div class="control-group">
51
                        <label class="control-label">Cited Identifier</label>
52
                        <div class="controls">
53
                            <div class="controls-well">
54
                                <xsl:apply-templates />
55
                            </div>
56
                        </div>
57
                    </div>
58
                </xsl:for-each>
59
                <!-- Abstract 1:inf-->
60
                <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract">
61
                    <div class="control-group">
62
                        <label class="control-label">Abstract</label>
63
                        <div class="controls">
64
                            <div class="controls-well">
65
                                <xsl:apply-templates />
66
                            </div>
67
                        </div>
68
                    </div>
69
                </xsl:for-each>
70
                <!-- Publication (dateStamp) date 1:1 -->
71
                <div class="control-group">
72
                    <label class="control-label">Publication Date</label>
73
                    <div class="controls">
74
                        <div class="controls-well">
75
                            <xsl:apply-templates select="//gmd:dateStamp" />
76
                        </div>
77
                    </div>
78
                </div>
79
                <!--  Topic Categories -->
80
                <xsl:if test="//gmd:topicCategory">
81
                    <div class="control-group">
82
                        <label class="control-label">Topic Categories</label>
83
                        <div class="controls">
84
                            <div class="controls-well">
85
                                <table class="table table-condensed">
86
                                    <thead>
87
                                        <tr>
88
                                            <th>Topic</th>
89
                                        </tr>
90
                                    </thead>
91
                                    <tbody>
92
                                        <xsl:for-each select="//gmd:topicCategory">
93
                                            <tr>
94
                                                <td>
95
                                                    <xsl:apply-templates />
96
                                                </td>
97
                                            </tr>
98
                                        </xsl:for-each>
99
                                    </tbody>
100
                                </table>
101
                            </div>
102
                        </div>
103
                    </div>
104
                </xsl:if>
105
                <!-- Keywords
106

  
107
            Each <gmd:descriptiveKeywords> block should have one or more keywords in it
108
            with one thesaurus. So we render keywords from the same thesaurus together.
109
        -->
110
                <xsl:if test="//gmd:descriptiveKeywords">
111
                    <div class="control-group">
112
                        <label class="control-label">Descriptive Keywords</label>
113
                        <div class="controls">
114
                            <div class="controls-well">
115
                                <xsl:for-each select="//gmd:descriptiveKeywords">
116
                                    <xsl:apply-templates />
117
                                </xsl:for-each>
118
                            </div>
119
                        </div>
120
                    </div>
121
                </xsl:if>
122
            </div>
123
            <div class="control-group entity">
124
                <h4>People and Associated Parties</h4>
125
                <!-- Metadata Contact(s) 1:inf -->
126
                <div class="control-group">
127
                    <label class="control-label">Metadata Contact(s)</label>
128
                    <div class="controls">
129
                        <div class="controls-well">
130
                            <xsl:for-each select="//gmd:contact">
131
                                <xsl:apply-templates />
132
                            </xsl:for-each>
133
                        </div>
134
                    </div>
135
                </div>
136
                <!-- Data Set Contact(s) -->
137
                <div class="control-group">
138
                    <label class="control-label">Data Set Contacts</label>
139
                    <div class="controls">
140
                        <div class="controls-well">
141
                            <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact" />
142
                        </div>
143
                    </div>
144
                </div>
145
                <!-- Cited responsible parties-->
146
                <div class="control-group">
147
                    <label class="control-label">Associated Parties</label>
148
                    <div class="controls">
149
                        <div class="controls-well">
150
                            <xsl:apply-templates select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:citedResponsibleParty" />
151
                        </div>
152
                    </div>
153
                </div>
154
            </div>
155
            <!-- TODO: otherEntities? -->
156
            <!-- Extent (geographic, temporal, vertical) -->
157
            <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent">
158
                <xsl:apply-templates />
159
            </xsl:for-each>
160
            <!-- TODO Methods -->
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff