Project

General

Profile

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>
(2-2/8)