Project

General

Profile

« Previous | Next » 

Revision 10169

Added by Bryce Mecum over 7 years ago

Clean up ISO stylesheet formatting

View differences:

lib/style/skins/metacatui/iso19115/iso-ex.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
  xmlns:gml="http://www.opengis.net/gml/3.2" version="1.0">
7

  
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">
8 7
    <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 />
8
        <h4>Coverage</h4>
9
        <!-- description -->
10
        <xsl:if test=".//gmd:description">
11
            <div class="control-group">
12
                <label class="control-label">Description</label>
13
                <div class="controls">
14
                    <div class="controls-well">
15
                        <xsl:apply-templates />
16
                    </div>
17
                </div>
18 18
            </div>
19
          </div>
20
        </div>
21
      </xsl:if>
19
        </xsl:if>
22 20

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

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

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

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

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

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

  
75
    <!-- EX_GeographicBoundingBox-->
76
    <xsl:template match="gmd:EX_GeographicBoundingBox">
77
        <!-- Set up variables for N E S W -->
78
        <xsl:variable name="north">
79
            <xsl:value-of select="./gmd:northBoundLatitude/gco:Decimal/text()" />
80
        </xsl:variable>
81
        <xsl:variable name="east">
82
            <xsl:value-of select="./gmd:eastBoundLongitude/gco:Decimal/text()" />
83
        </xsl:variable>
84
        <xsl:variable name="south">
85
            <xsl:value-of select="./gmd:southBoundLatitude/gco:Decimal/text()" />
86
        </xsl:variable>
87
        <xsl:variable name="west">
88
            <xsl:value-of select="./gmd:westBoundLongitude/gco:Decimal/text()" />
89
        </xsl:variable>
90
        <div data-value="{$north}" data-content="northBoundingCoordinate" class="control-group northBoundingCoordinate">
91
            <label class="control-label">North</label>
92
            <div class="controls">
93
                <div class="controls-well">
94
                    <xsl:value-of select="$north" />&#xa0; degrees          
95
                </div>
96
            </div>
97
        </div>
98
        <div data-value="{$east}" data-content="eastBoundingCoordinate" class="control-group eastBoundingCoordinate">
99
            <label class="control-label">East</label>
100
            <div class="controls">
101
                <div class="controls-well">
102
                    <xsl:value-of select="$east" />&#xa0; degrees          
103
                </div>
104
            </div>
105
        </div>
106
        <div data-value="{$south}" data-content="southBoundingCoordinate" class="control-group southBoundingCoordinate">
107
            <label class="control-label">South</label>
108
            <div class="controls">
109
                <div class="controls-well">
110
                    <xsl:value-of select="$south" />&#xa0; degrees          
111
                </div>
112
            </div>
113
        </div>
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
        <xsl:apply-templates select="./gmd:extentTypeCode" />
123
    </xsl:template>
77 124

  
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 />
125
    <!-- gmd:polygon -->
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>
132 134
        </div>
133
      </div>
134
    </div>
135
  </xsl:template>
135
    </xsl:template>
136 136

  
137
  <!-- EX_TemporalExtent -->
138
  <xsl:template match="gmd:EX_TemporalExtent">
139
    <xsl:apply-templates select=".//gmd:extent/*" />
140
  </xsl:template>
137
    <!-- EX_TemporalExtent -->
138
    <xsl:template match="gmd:EX_TemporalExtent">
139
        <xsl:apply-templates select=".//gmd:extent/*" />
140
    </xsl:template>
141 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>
142
    <!-- EX_VerticalExtent-->
143
    <!-- TODO: Improve DOM structure -->
144
    <!-- TODO: Flesh this out a bit more... -->
145
    <xsl:template match="gmd:EX_VerticalExtent">
146
        <span>minimumValue: 
147
            <xsl:value-of select="./gmd:minimumValue/gco:Real" />
148
        </span>
149
        <span>maximumValue: 
150
            <xsl:value-of select="./gmd:maximumValue/gco:Real" />
151
        </span>
152
        <span>verticalCRS: 
153
            <xsl:value-of select="./gmd:verticalCRS" />
154
        </span>
155
    </xsl:template>
156 156

  
157
  <!-- TimeInstant-->
158
  <!-- TODO
157
    <!-- TimeInstant-->
158
    <!-- TODO
159 159
        - Attributes: frame, calendarEraName, indeterminatePosition
160 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)
161
    <xsl:template match="gml:TimeInstant">
162
        <span>time instant</span>
163
        <span>description:
164
            <xsl:value-of select=".//gmd:description" />
173 165
        </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>
166
        <div>
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
        </div>
181
    </xsl:template>
182 182

  
183
  <!-- TimePeriod-->
184
  <!-- TODO: 
183
    <!-- TimePeriod-->
184
    <!-- TODO: 
185 185
        - All the attributes
186 186
        - timeInterval units, radix, factor
187 187
    -->
188
  <xsl:template name="timeperiod" match="gml:TimePeriod">
188
    <xsl:template match="gml:TimePeriod">
189
        <xsl:if test=".//gml:beginPosition">
190
            <div class="control-group">
191
                <label class="control-label">Begin</label>
192
                <div class="controls">
193
                    <span>
194
                        <xsl:value-of select=".//gml:beginPosition" />
195
                    </span>
196
                    <xsl:if test=".//gml:beginPosition/@calendarEraName">
197
                        <span>
198
                            <xsl:value-of select=".//gml:beginPosition/@calendarEraName" /> (calendarEraName)
199
                        </span>
200
                    </xsl:if>
201
                    <xsl:if test=".//gml:beginPosition/@indeterminatePosition">
202
                        <span>
203
                            <xsl:value-of select=".//gml:beginPosition/@indeterminatePosition" /> (indeterminatePosition)
204
                        </span>
205
                    </xsl:if>
206
                </div>
207
            </div>
208
        </xsl:if>
209
        <xsl:if test=".//gml:endPosition">
210
            <div class="control-group">
211
                <label class="control-label">End</label>
212
                <div class="controls">
213
                    <span>
214
                        <xsl:value-of select=".//gml:endPosition" />
215
                    </span>
216
                    <xsl:if test=".//gml:endPosition/@calendarEraName">
217
                        <span>
218
                            <xsl:value-of select=".//gml:endPosition/@calendarEraName" /> (calendarEraName)
219
                        </span>
220
                    </xsl:if>
221
                    <xsl:if test=".//gml:endPosition/@indeterminatePosition">
222
                        <span>
223
                            <xsl:value-of select=".//gml:endPosition/@indeterminatePosition" /> (indeterminatePosition)
224
                        </span>
225
                    </xsl:if>
226
                </div>
227
            </div>
228
        </xsl:if>
229
        <xsl:if test=".//gml:duration">
230
            <span>duration:
231
                <xsl:value-of select=".//gml:duration" />
232
            </span>
233
        </xsl:if>
234
        <xsl:if test=".//gml:timeInterval">
235
            <span>timeInterval:
236
                <xsl:value-of select=".//gml:timeInterval" />
237
            </span>
238
        </xsl:if>
239
    </xsl:template>
189 240

  
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>
241
    <!-- extentTypeCode -->
242
    <xsl:template match="gmd:extentTypeCode">
243
        <div class="control-group extentTypeCode">
244
            <label class="control-label">Type</label>
245
            <div class="controls">
246
                <xsl:choose>
247
                    <xsl:when test="./gco:Boolean = 0">Exclusive</xsl:when>
248
                    <xsl:when test="./gco:Boolean = 1">Inclusive</xsl:when>
249
                    <xsl:when test="./@nilReason">
250
                        <xsl:value-of select="./@nilReason" />
251
                    </xsl:when>
252
                </xsl:choose>
253
            </div>
204 254
        </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>
255
    </xsl:template>
249 256
</xsl:stylesheet>
lib/style/skins/metacatui/iso19115/isoroot.xsl
3 3
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
4 4
    xmlns:gmd="http://www.isotc211.org/2005/gmd" 
5 5
    xmlns:gco="http://www.isotc211.org/2005/gco" 
6
    xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0">
6
    version="1.0">
7

  
7 8
    <xsl:import href="iso-md.xsl"/>
8 9
    <xsl:import href="iso-ci.xsl"/>
9 10
    <xsl:import href="iso-ex.xsl"/>
......
11 12
    <xsl:import href="iso-gmd.xsl"/>
12 13
    <xsl:import href="iso-gml.xsl"/>
13 14
    <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

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

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

  
19 27
    <xsl:template match="*[local-name()='MD_Metadata'] | *[local-name()='MI_Metadata']">
20 28
        <form class="form-horizontal">
21 29
            <div class="control-group entity">
......
29 37
                        </div>
30 38
                    </div>
31 39
                </div>
40

  
32 41
                <!-- TODO: language 1:1 -->
33 42
                <!-- TODO: characterSet 1:1 -->
43

  
34 44
                <!-- Parent Identifier 1:1 conditional -->
35 45
                <xsl:if test="//gmd:parentIdentifier">
36 46
                    <div class="control-group">
......
42 52
                        </div>
43 53
                    </div>
44 54
                </xsl:if>
55

  
45 56
                <!-- TODO: hierarchyLevel 0:inf -->
46 57
                <!-- TODO: hierarchyLevelName 0:inf -->
58

  
47 59
                <!-- Alternate identifier(s) 0:inf-->
48
                <!-- gmd:identifier is an optional aprt of the CI_Citation element -->
60
                <!-- gmd:identifier is an optional part of the CI_Citation element -->
49 61
                <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier">
50 62
                    <div class="control-group">
51 63
                        <label class="control-label">Cited Identifier</label>
......
56 68
                        </div>
57 69
                    </div>
58 70
                </xsl:for-each>
71

  
59 72
                <!-- Abstract 1:inf-->
60 73
                <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract">
61 74
                    <div class="control-group">
......
67 80
                        </div>
68 81
                    </div>
69 82
                </xsl:for-each>
83

  
70 84
                <!-- Publication (dateStamp) date 1:1 -->
71 85
                <div class="control-group">
72 86
                    <label class="control-label">Publication Date</label>
......
76 90
                        </div>
77 91
                    </div>
78 92
                </div>
79
                <!--  Topic Categories -->
93

  
94
                <!-- Topic Categories -->
80 95
                <xsl:if test="//gmd:topicCategory">
81 96
                    <div class="control-group">
82 97
                        <label class="control-label">Topic Categories</label>
......
102 117
                        </div>
103 118
                    </div>
104 119
                </xsl:if>
120

  
105 121
                <!-- Keywords
106 122

  
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
        -->
123
                Each <gmd:descriptiveKeywords> block should have one or more keywords in it
124
                with one thesaurus. So we render keywords from the same thesaurus together.
125
                -->
110 126
                <xsl:if test="//gmd:descriptiveKeywords">
111 127
                    <div class="control-group">
112 128
                        <label class="control-label">Descriptive Keywords</label>
......
120 136
                    </div>
121 137
                </xsl:if>
122 138
            </div>
139

  
123 140
            <div class="control-group entity">
124 141
                <h4>People and Associated Parties</h4>
125 142
                <!-- Metadata Contact(s) 1:inf -->
......
133 150
                        </div>
134 151
                    </div>
135 152
                </div>
153

  
136 154
                <!-- Data Set Contact(s) -->
137 155
                <div class="control-group">
138 156
                    <label class="control-label">Data Set Contacts</label>
......
142 160
                        </div>
143 161
                    </div>
144 162
                </div>
163

  
145 164
                <!-- Cited responsible parties-->
146 165
                <div class="control-group">
147 166
                    <label class="control-label">Associated Parties</label>
......
165 184
            <xsl:for-each select="//gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent">
166 185
                <xsl:apply-templates />
167 186
            </xsl:for-each>
187

  
168 188
            <!-- TODO Methods -->
189

  
169 190
            <div class="control-group entity">
170 191
                <h4>Other Information</h4>
171 192
                <!-- Data usage rights (resourceConstraints) -->
......
177 198
            </div>
178 199
        </form>
179 200
    </xsl:template>
201

  
180 202
    <!-- General, high-level templates -->
181 203
    <!-- TODO: Figure out how to do this: I want to capture the scenario where
182
  an element like gmd:individualName has no child gco:CharacterString or 
183
  equivalent but has a nilReason attribute. -->
184
    <xsl:template match="*[not(*) and ./@nilReason]">    nilReason!            
204
    an element like gmd:individualName has no child gco:CharacterString or
205
    equivalent but has a nilReason attribute. -->
206
    <xsl:template match="*[not(*) and ./@nilReason]">
185 207
        <xsl:value-of select="@nilReason" />
186 208
    </xsl:template>
187 209
</xsl:stylesheet>

Also available in: Unified diff