Project

General

Profile

« Previous | Next » 

Revision 10385

Added by Bryce Mecum over 6 years ago

Tidy up ISO stylesheets. This is an set of iterative tweaks both to the
in-file formatting as well as a bit of small tweaks to how things work.

View differences:

iso-ci.xsl
1 1
<?xml version="1.0"?>
2 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>
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" version="1.0">
6
    <!-- CI_ResponsibleParty -->
7
    <xsl:template match="gmd:CI_ResponsibleParty">
8
        <div class="controls-well">
9
            <xsl:if test="./gmd:individualName">
10
                <div class="control-group">
11
                    <label class="control-label">Individual</label>
12
                    <div class="controls">
13
                        <div class="controls-well">
14
                            <xsl:apply-templates select="./gmd:individualName" />
15
                        </div>
16
                    </div>
17
                </div>
18
            </xsl:if>
19
            <xsl:if test="./gmd:organisationName">
20
                <div class="control-group">
21
                    <label class="control-label">Organization</label>
22
                    <div class="controls">
23
                        <div class="controls-well">
24
                            <xsl:apply-templates select="./gmd:organisationName" />
25
                        </div>
26
                    </div>
27
                </div>
28
            </xsl:if>
29
            <xsl:if test="./gmd:positionName">
30
                <div class="control-group">
31
                    <label class="control-label">Position</label>
32
                    <div class="controls">
33
                        <div class="controls-well">
34
                            <xsl:apply-templates select="./gmd:positionName" />
35
                        </div>
36
                    </div>
37
                </div>
38
            </xsl:if>
39
            <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:phone">
40
                <div class="control-group">
41
                    <label class="control-label">Phone</label>
42
                    <div class="controls">
43
                        <div class="controls-well">
44
                            <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:phone" />
45
                        </div>
46
                    </div>
47
                </div>
48
            </xsl:if>
49
            <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:address">
50
                <div class="control-group">
51
                    <label class="control-label">Address</label>
52
                    <div class="controls">
53
                        <div class="controls-well">
54
                            <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:address" />
55
                        </div>
56
                    </div>
57
                </div>
58
            </xsl:if>
59
            <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource">
60
                <div class="control-group">
61
                    <label class="control-label">Online Resource</label>
62
                    <div class="controls">
63
                        <div class="controls-well">
64
                            <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:onlineResource" />
65
                        </div>
66
                    </div>
67
                </div>
68
            </xsl:if>
69
            <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService">
70
                <div class="control-group">
71
                    <label class="control-label">Hours of Service</label>
72
                    <div class="controls">
73
                        <div class="controls-well">
74
                            <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:hoursOfService" />
75
                        </div>
76
                    </div>
77
                </div>
78
            </xsl:if>
79
            <xsl:if test="./gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions">
80
                <div class="control-group">
81
                    <label class="control-label">Contact Instructions</label>
82
                    <div class="controls">
83
                        <div class="controls-well">
84
                            <xsl:apply-templates select="./gmd:contactInfo/gmd:CI_Contact/gmd:contactInstructions" />
85
                        </div>
86
                    </div>
87
                </div>
88
            </xsl:if>
89
            <xsl:if test="./gmd:role">
90
                <div class="control-group">
91
                    <label class="control-label">Role</label>
92
                    <div class="controls">
93
                        <div class="controls-well">
94
                            <xsl:apply-templates select="./gmd:role" />
95
                        </div>
96
                    </div>
97
                </div>
98
            </xsl:if>
19 99
        </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" />
100
    </xsl:template>
101
    <xsl:template match="gmd:CI_RoleCode">
102
        <xsl:apply-templates />
103
    </xsl:template>
104
    <xsl:template match="gmd:CI_Telephone">
105
        <xsl:for-each select="./gmd:voice">
106
            <div class="control-group">
107
                <label class="control-label">Voice</label>
108
                <div class="controls">
109
                    <div class="controls-well">
110
                        <xsl:apply-templates />
111
                    </div>
112
                </div>
28 113
            </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" />
114
        </xsl:for-each>
115
        <xsl:for-each select="./gmd:facsimile">
116
            <div class="control-group">
117
                <label class="control-label">Fax</label>
118
                <div class="controls">
119
                    <div class="controls-well">
120
                        <xsl:apply-templates />
121
                    </div>
122
                </div>
39 123
            </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" />
124
        </xsl:for-each>
125
    </xsl:template>
126
    <xsl:template match="gmd:CI_Address">
127
        <xsl:for-each select="./gmd:deliveryPoint">
128
            <div class="control-group">
129
                <label class="control-label">Delivery Point</label>
130
                <div class="controls">
131
                    <div class="controls-well">
132
                        <xsl:apply-templates />
133
                    </div>
134
                </div>
50 135
            </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" />
136
        </xsl:for-each>
137
        <xsl:if test="./gmd:city">
138
            <div class="control-group">
139
                <label class="control-label">City</label>
140
                <div class="controls">
141
                    <div class="controls-well">
142
                        <xsl:apply-templates select="./gmd:city" />
143
                    </div>
144
                </div>
61 145
            </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" />
146
        </xsl:if>
147
        <xsl:if test="./gmd:administrativeArea">
148
            <div class="control-group">
149
                <label class="control-label">Administrative Area</label>
150
                <div class="controls">
151
                    <div class="controls-well">
152
                        <xsl:apply-templates select="./gmd:administrativeArea" />
153
                    </div>
154
                </div>
72 155
            </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" />
156
        </xsl:if>
157
        <xsl:if test="./gmd:postalCode">
158
            <div class="control-group">
159
                <label class="control-label">Postal Code</label>
160
                <div class="controls">
161
                    <div class="controls-well">
162
                        <xsl:apply-templates select="./gmd:postalCode" />
163
                    </div>
164
                </div>
83 165
            </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" />
166
        </xsl:if>
167
        <xsl:if test="./gmd:country">
168
            <div class="control-group">
169
                <label class="control-label">Country</label>
170
                <div class="controls">
171
                    <div class="controls-well">
172
                        <xsl:apply-templates select="./gmd:country" />
173
                    </div>
174
                </div>
94 175
            </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" />
176
        </xsl:if>
177
        <xsl:for-each select="./gmd:electronicMailAddress">
178
            <div class="control-group">
179
                <label class="control-label">E-Mail</label>
180
                <div class="controls">
181
                    <div class="controls-well">
182
                        <xsl:variable name="email" select="./gco:CharacterString/text()" />
183
                        <xsl:element name="a">
184
                            <xsl:attribute name="href">mailto:                
185
                                <xsl:value-of select="$email" />
186
                            </xsl:attribute>
187
                            <xsl:value-of select="$email" />
188
                        </xsl:element>
189
                    </div>
190
                </div>
105 191
            </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 />
192
        </xsl:for-each>
193
    </xsl:template>
194
    <xsl:template match="gmd:CI_OnlineResource">
195
        <xsl:if test="./gmd:linkage">
196
            <div class="control-group">
197
                <label class="control-label">linkage</label>
198
                <div class="controls">
199
                    <div class="controls-well">
200
                        <xsl:apply-templates select="./gmd:linkage" />
201
                    </div>
202
                </div>
123 203
            </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 />
204
        </xsl:if>
205
        <xsl:if test="./gmd:protocol">
206
            <div class="control-group">
207
                <label class="control-label">protocol</label>
208
                <div class="controls">
209
                    <div class="controls-well">
210
                        <xsl:apply-templates select="./gmd:protocol" />
211
                    </div>
212
                </div>
134 213
            </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 />
214
        </xsl:if>
215
        <xsl:if test="./gmd:applicationProfile">
216
            <div class="control-group">
217
                <label class="control-label">applicationProfile</label>
218
                <div class="controls">
219
                    <div class="controls-well">
220
                        <xsl:apply-templates select="./gmd:applicationProfile" />
221
                    </div>
222
                </div>
147 223
            </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>
224
        </xsl:if>
225
        <xsl:if test="./gmd:name">
226
            <div class="control-group">
227
                <label class="control-label">name</label>
228
                <div class="controls">
229
                    <div class="controls-well">
230
                        <xsl:apply-templates select="./gmd:name" />
231
                    </div>
232
                </div>
207 233
            </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

  
234
        </xsl:if>
235
        <xsl:if test="./gmd:description">
236
            <div class="control-group">
237
                <label class="control-label">description</label>
238
                <div class="controls">
239
                    <div class="controls-well">
240
                        <xsl:apply-templates select="./gmd:description" />
241
                    </div>
242
                </div>
243
            </div>
244
        </xsl:if>
245
        <xsl:if test="./gmd:function">
246
            <div class="control-group">
247
                <label class="control-label">function</label>
248
                <div class="controls">
249
                    <div class="controls-well">
250
                        <xsl:apply-templates select="./gmd:function" />
251
                    </div>
252
                </div>
253
            </div>
254
        </xsl:if>
255
    </xsl:template>
281 256
    <xsl:template match="gmd:CI_Citation">
282 257
        <div class="control-group">
283 258
            <label class="control-label">Title</label>
......
287 262
                </div>
288 263
            </div>
289 264
        </div>
290

  
291 265
        <xsl:if test="./gmd:alternateTitle">
292 266
            <xsl:for-each select="./gmd:alternateTitle">
293 267
                <div class="control-group">
......
300 274
                </div>
301 275
            </xsl:for-each>
302 276
        </xsl:if>
303

  
304 277
        <xsl:for-each select="./gmd:date">
305 278
            <div class="control-group">
306 279
                <label class="control-label">Date</label>
......
311 284
                </div>
312 285
            </div>
313 286
        </xsl:for-each>
314

  
315 287
        <xsl:if test="./gmd:edition">
316 288
            <xsl:for-each select="./gmd:edition">
317 289
                <div class="control-group">
......
324 296
                </div>
325 297
            </xsl:for-each>
326 298
        </xsl:if>
327

  
328 299
        <xsl:if test="./gmd:editionDate">
329 300
            <div class="control-group">
330 301
                <label class="control-label">Edition Date</label>
......
335 306
                </div>
336 307
            </div>
337 308
        </xsl:if>
338

  
339 309
        <xsl:if test="./gmd:identifier">
340 310
            <xsl:for-each select="./gmd:identifier">
341 311
                <div class="control-group">
......
348 318
                </div>
349 319
            </xsl:for-each>
350 320
        </xsl:if>
351

  
352 321
        <xsl:if test="./gmd:citedResponsibleParty">
353 322
            <xsl:for-each select="./gmd:citedResponsibleParty">
354 323
                <div class="control-group">
......
361 330
                </div>
362 331
            </xsl:for-each>
363 332
        </xsl:if>
364

  
365 333
        <xsl:if test="./gmd:presentationForm">
366 334
            <xsl:for-each select="./gmd:presentationForm">
367 335
                <div class="control-group">
......
374 342
                </div>
375 343
            </xsl:for-each>
376 344
        </xsl:if>
377

  
378 345
        <xsl:if test="./gmd:series">
379 346
            <div class="control-group">
380 347
                <label class="control-label">Series</label>
......
385 352
                </div>
386 353
            </div>
387 354
        </xsl:if>
388

  
389 355
        <xsl:if test="./gmd:otherCitationDetails">
390 356
            <div class="control-group">
391 357
                <label class="control-label">Other Citation Details</label>
......
396 362
                </div>
397 363
            </div>
398 364
        </xsl:if>
399

  
400 365
        <xsl:if test="./gmd:collectiveTitle">
401 366
            <div class="control-group">
402 367
                <label class="control-label">Collective Title</label>
......
407 372
                </div>
408 373
            </div>
409 374
        </xsl:if>
410

  
411 375
        <xsl:if test="./gmd:ISBN">
412 376
            <div class="control-group">
413 377
                <label class="control-label">ISBN</label>
......
418 382
                </div>
419 383
            </div>
420 384
        </xsl:if>
421

  
422 385
        <xsl:if test="./gmd:ISSN">
423 386
            <div class="control-group">
424 387
                <label class="control-label">ISSN</label>
......
430 393
            </div>
431 394
        </xsl:if>
432 395
    </xsl:template>
433
</xsl:stylesheet>
396
</xsl:stylesheet>

Also available in: Unified diff