Project

General

Profile

1 7982 leinfelder
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Jivka Bojilova
5
  *    Copyright: 2000 Regents of the University of California and the
6
  *               National Center for Ecological Analysis and Synthesis
7
  *  For Details: http://www.nceas.ucsb.edu/
8
  *
9
  *   '$Author$'
10
  *     '$Date$'
11
  * '$Revision$'
12
  *
13
  * This program is free software; you can redistribute it and/or modify
14
  * it under the terms of the GNU General Public License as published by
15
  * the Free Software Foundation; either version 2 of the License, or
16
  * (at your option) any later version.
17
  *
18
  * This program is distributed in the hope that it will be useful,
19
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
  * GNU General Public License for more details.
22
  *
23
  * You should have received a copy of the GNU General Public License
24
  * along with this program; if not, write to the Free Software
25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
  *
27
  * This is an XSLT (http://www.w3.org/TR/xslt) stylesheet designed to
28
  * convert an XML file that is valid with respect to the eml-file.dtd
29
  * module of the Ecological Metadata Language (EML) into an HTML format
30
  * suitable for rendering with modern web browsers.
31
-->
32
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
33
34
35 8005 leinfelder
  <xsl:output method="html" encoding="UTF-8"
36 7982 leinfelder
              doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
37
              doctype-system="http://www.w3.org/TR/html4/loose.dtd"
38
              indent="yes" />
39
  <!-- This module is for datatable module-->
40
41
  <xsl:template name="spatialRaster">
42
      <xsl:param name="spatialrasterfirstColStyle"/>
43
      <xsl:param name="spatialrastersubHeaderStyle"/>
44
      <xsl:param name="docid"/>
45
      <xsl:param name="entityindex"/>
46
      <table class="{$tabledefaultStyle}">
47
        <xsl:choose>
48
         <xsl:when test="references!=''">
49
          <xsl:variable name="ref_id" select="references"/>
50
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
51
          <xsl:for-each select="$references">
52
            <xsl:call-template name="spatialRastercommon">
53
             <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
54
             <xsl:with-param name="spatialrastersubHeaderStyle" select="$spatialrastersubHeaderStyle"/>
55
             <xsl:with-param name="docid" select="$docid"/>
56
             <xsl:with-param name="entityindex" select="$entityindex"/>
57
            </xsl:call-template>
58
          </xsl:for-each>
59
        </xsl:when>
60
        <xsl:otherwise>
61
           <xsl:call-template name="spatialRastercommon">
62
             <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
63
             <xsl:with-param name="spatialrastersubHeaderStyle" select="$spatialrastersubHeaderStyle"/>
64
             <xsl:with-param name="docid" select="$docid"/>
65
             <xsl:with-param name="entityindex" select="$entityindex"/>
66
            </xsl:call-template>
67
         </xsl:otherwise>
68
      </xsl:choose>
69
      </table>
70
  </xsl:template>
71
72
  <xsl:template name="spatialRastercommon">
73
    <xsl:param name="spatialrasterfirstColStyle"/>
74
    <xsl:param name="spatialrastersubHeaderStyle"/>
75
    <xsl:param name="docid"/>
76
    <xsl:param name="entityindex"/>
77
    <xsl:for-each select="entityName">
78
       <xsl:call-template name="entityName">
79
          <xsl:with-param name="entityfirstColStyle" select="$spatialrasterfirstColStyle"/>
80
       </xsl:call-template>
81
    </xsl:for-each>
82
    <xsl:for-each select="alternateIdentifier">
83
       <xsl:call-template name="entityalternateIdentifier">
84
          <xsl:with-param name="entityfirstColStyle" select="$spatialrasterfirstColStyle"/>
85
       </xsl:call-template>
86
    </xsl:for-each>
87
    <xsl:for-each select="entityDescription">
88
       <xsl:call-template name="entityDescription">
89
          <xsl:with-param name="entityfirstColStyle" select="$spatialrasterfirstColStyle"/>
90
       </xsl:call-template>
91
    </xsl:for-each>
92
    <xsl:for-each select="additionalInfo">
93
       <xsl:call-template name="entityadditionalInfo">
94
          <xsl:with-param name="entityfirstColStyle" select="$spatialrasterfirstColStyle"/>
95
       </xsl:call-template>
96
    </xsl:for-each>
97
    <!-- call physical moduel without show distribution(we want see it later)-->
98
    <xsl:if test="physical">
99
       <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
100
        Physical Structure Description:
101
      </td></tr>
102
      <xsl:for-each select="physical">
103
      <tr><td colspan="2">
104
        <xsl:call-template name="physical">
105
         <xsl:with-param name="physicalfirstColStyle" select="$spatialrasterfirstColStyle"/>
106
         <xsl:with-param name="notshowdistribution">yes</xsl:with-param>
107
        </xsl:call-template>
108
         </td></tr>
109
      </xsl:for-each>
110
    </xsl:if>
111
112
    <!-- Here to display distribution info-->
113
    <xsl:for-each select="physical">
114
       <xsl:call-template name="spatialRasterShowDistribution">
115
          <xsl:with-param name="docid" select="$docid"/>
116
          <xsl:with-param name="entityindex" select="$entityindex"/>
117
          <xsl:with-param name="physicalindex" select="position()"/>
118
          <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
119
          <xsl:with-param name="spatialrastersubHeaderStyle" select="$spatialrastersubHeaderStyle"/>
120
       </xsl:call-template>
121
    </xsl:for-each>
122
123
    <xsl:if test="coverage">
124
       <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
125
        Coverage Description:
126
      </td></tr>
127
    </xsl:if>
128
    <xsl:for-each select="coverage">
129
      <tr><td colspan="2">
130
        <xsl:call-template name="coverage">
131
        </xsl:call-template>
132
      </td></tr>
133
    </xsl:for-each>
134
    <xsl:if test="method">
135
       <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
136
        Method Description:
137
      </td></tr>
138
    </xsl:if>
139
    <xsl:for-each select="method">
140
      <tr><td colspan="2">
141
        <xsl:call-template name="method">
142
          <xsl:with-param name="methodfirstColStyle" select="$spatialrasterfirstColStyle"/>
143
          <xsl:with-param name="methodsubHeaderStyle" select="$spatialrastersubHeaderStyle"/>
144
        </xsl:call-template>
145
      </td></tr>
146
    </xsl:for-each>
147
    <xsl:if test="constraint">
148
       <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
149
        Constraint:
150
      </td></tr>
151
    </xsl:if>
152
    <xsl:for-each select="constraint">
153
      <tr><td colspan="2">
154
        <xsl:call-template name="constraint">
155
          <xsl:with-param name="constraintfirstColStyle" select="$spatialrasterfirstColStyle"/>
156
        </xsl:call-template>
157
      </td></tr>
158
    </xsl:for-each>
159
    <xsl:for-each select="spatialReference">
160
       <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
161
        Spatial Reference:
162
      </td></tr>
163
      <xsl:call-template name="spatialReference">
164
        <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
165
      </xsl:call-template>
166
    </xsl:for-each>
167
     <xsl:for-each select="georeferenceInfo">
168
       <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
169
        Grid Postion:
170
      </td></tr>
171
      <xsl:call-template name="georeferenceInfo">
172
        <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
173
      </xsl:call-template>
174
    </xsl:for-each>
175
    <xsl:for-each select="horizontalAccuracy">
176
      <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
177
        Horizontal Accuracy:
178
      </td></tr>
179
      <xsl:call-template name="dataQuality">
180
        <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
181
      </xsl:call-template>
182
    </xsl:for-each>
183
    <xsl:for-each select="verticalAccuracy">
184
      <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
185
        Vertical Accuracy:
186
      </td></tr>
187
      <xsl:call-template name="dataQuality">
188
        <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
189
      </xsl:call-template>
190
    </xsl:for-each>
191
    <xsl:for-each select="cellSizeXDirection">
192
       <tr><td class="{$spatialrasterfirstColStyle}">
193
            Cell Size(X):
194
            </td>
195
            <td class="{$secondColStyle}">
196
              <xsl:value-of select="."/>
197
            </td>
198
       </tr>
199
    </xsl:for-each>
200
    <xsl:for-each select="cellSizeYDirection">
201
       <tr><td class="{$spatialrasterfirstColStyle}">
202
            Cell Size(Y):
203
            </td>
204
            <td class="{$secondColStyle}">
205
              <xsl:value-of select="."/>
206
            </td>
207
       </tr>
208
    </xsl:for-each>
209
    <xsl:for-each select="numberOfBands">
210
       <tr><td class="{$spatialrasterfirstColStyle}">
211
            Number of Bands:
212
            </td>
213
            <td class="{$secondColStyle}">
214
              <xsl:value-of select="."/>
215
            </td>
216
       </tr>
217
    </xsl:for-each>
218
    <xsl:for-each select="rasterOrigin">
219
       <tr><td class="{$spatialrasterfirstColStyle}">
220
            Origin:
221
            </td>
222
            <td class="{$secondColStyle}">
223
              <xsl:value-of select="."/>
224
            </td>
225
       </tr>
226
    </xsl:for-each>
227
    <xsl:for-each select="columns">
228
       <tr><td class="{$spatialrasterfirstColStyle}">
229
            Max Raster Objects(X):
230
            </td>
231
            <td class="{$secondColStyle}">
232
              <xsl:value-of select="."/>
233
            </td>
234
       </tr>
235
    </xsl:for-each>
236
    <xsl:for-each select="rows">
237
       <tr><td class="{$spatialrasterfirstColStyle}">
238
            Max Raster Objects(Y):
239
            </td>
240
            <td class="{$secondColStyle}">
241
              <xsl:value-of select="."/>
242
            </td>
243
       </tr>
244
    </xsl:for-each>
245
    <xsl:for-each select="verticals">
246
       <tr><td class="{$spatialrasterfirstColStyle}">
247
            Max Raster Objects(Z):
248
            </td>
249
            <td class="{$secondColStyle}">
250
              <xsl:value-of select="."/>
251
            </td>
252
       </tr>
253
    </xsl:for-each>
254
    <xsl:for-each select="cellGeometry">
255
       <tr><td class="{$spatialrasterfirstColStyle}">
256
            Cell Geometry:
257
            </td>
258
            <td class="{$secondColStyle}">
259
              <xsl:value-of select="."/>
260
            </td>
261
       </tr>
262
    </xsl:for-each>
263
    <xsl:for-each select="toneGradation">
264
       <tr><td class="{$spatialrasterfirstColStyle}">
265
            Number of Colors:
266
            </td>
267
            <td class="{$secondColStyle}">
268
              <xsl:value-of select="."/>
269
            </td>
270
       </tr>
271
    </xsl:for-each>
272
    <xsl:for-each select="scaleFactor">
273
       <tr><td class="{$spatialrasterfirstColStyle}">
274
            Scale Factor:
275
            </td>
276
            <td class="{$secondColStyle}">
277
              <xsl:value-of select="."/>
278
            </td>
279
       </tr>
280
    </xsl:for-each>
281
     <xsl:for-each select="offset">
282
       <tr><td class="{$spatialrasterfirstColStyle}">
283
            Offset:
284
            </td>
285
            <td class="{$secondColStyle}">
286
              <xsl:value-of select="."/>
287
            </td>
288
       </tr>
289
    </xsl:for-each>
290
    <xsl:for-each select="imageDescription">
291
      <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
292
        Image Info:
293
      </td></tr>
294
      <xsl:call-template name="imageDescription">
295
        <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
296
      </xsl:call-template>
297
    </xsl:for-each>
298
    <xsl:if test="$withAttributes='1' or $displaymodule='printall'">
299
    <xsl:for-each select="attributeList">
300
      <xsl:call-template name="spatialRasterAttributeList">
301
        <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
302
        <xsl:with-param name="spatialrastersubHeaderStyle" select="$spatialrastersubHeaderStyle"/>
303
        <xsl:with-param name="docid" select="$docid"/>
304
        <xsl:with-param name="entityindex" select="$entityindex"/>
305
      </xsl:call-template>
306
    </xsl:for-each>
307
    </xsl:if>
308
309
  </xsl:template>
310
311
  <!--****************************************************
312
       spatial reference
313
      ****************************************************-->
314
    <xsl:template name="spatialReference">
315
      <xsl:param name="spatialrasterfirstColStyle"/>
316
       <xsl:choose>
317
         <xsl:when test="references!=''">
318
          <xsl:variable name="ref_id" select="references"/>
319
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
320
          <xsl:for-each select="$references">
321
            <xsl:call-template name="spatialReferenceCommon">
322
              <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
323
            </xsl:call-template>
324
          </xsl:for-each>
325
        </xsl:when>
326
        <xsl:otherwise>
327
           <xsl:call-template name="spatialReferenceCommon">
328
              <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
329
            </xsl:call-template>
330
        </xsl:otherwise>
331
      </xsl:choose>
332
333
  </xsl:template>
334
335
336
  <xsl:template name="spatialReferenceCommon">
337
    <xsl:param name="spatialrasterfirstColStyle"/>
338
    <xsl:for-each select="horizCoordSysName">
339
       <tr><td class="{$spatialrasterfirstColStyle}">
340
            Name of Coordinate System:
341
            </td>
342
            <td class="{$secondColStyle}">
343
              <xsl:value-of select="."/>
344
            </td>
345
       </tr>
346
    </xsl:for-each>
347
    <xsl:for-each select="horizCoordSysDef/geogCoordSys">
348
       <tr><td class="{$spatialrasterfirstColStyle}">
349
            Definition of <xsl:text> </xsl:text><xsl:value-of select="../@name"/> <xsl:text> </xsl:text> (Geographic Coordinate System):
350
            </td>
351
            <td>
352
              <xsl:call-template name="geogCoordSysType">
353
                 <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
354
              </xsl:call-template>
355
            </td>
356
       </tr>
357
    </xsl:for-each>
358
    <xsl:for-each select="horizCoordSysDef/projCoordSys">
359
      <xsl:for-each select="geogCoordSys">
360
       <tr><td class="{$spatialrasterfirstColStyle}">
361
            Definition of<xsl:text> </xsl:text><xsl:value-of select="../../@name"/><xsl:text> </xsl:text>(Geographic Coordinate System):
362
            </td>
363
            <td>
364
              <xsl:call-template name="geogCoordSysType">
365
                 <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
366
              </xsl:call-template>
367
            </td>
368
       </tr>
369
     </xsl:for-each>
370
     <xsl:for-each select="projection">
371
       <tr><td class="{$spatialrasterfirstColStyle}">
372
            Projection in Geo Coord. System:
373
            </td>
374
            <td>
375
               <table class="{$tabledefaultStyle}">
376
                 <xsl:for-each select="parameter">
377
                     <tr><td class="{$spatialrasterfirstColStyle}">
378
                          <xsl:value-of select="./@name"/>:
379
                         </td>
380
                         <td>
381
                             <table class="{$tabledefaultStyle}">
382
                                <tr>
383
                                    <td class="{$secondColStyle}">
384
                                      <xsl:value-of select="./@value"/>
385
                                    </td>
386
                                    <td class="{$secondColStyle}">
387
                                       <xsl:value-of select="./@description"/>
388
                                    </td>
389
                                 </tr>
390
                             </table>
391
                          </td>
392
                      </tr>
393
                 </xsl:for-each>
394
                 <xsl:for-each select="unit">
395
                    <tr><td class="{$spatialrasterfirstColStyle}">
396
                          Unit:
397
                        </td>
398
                        <td class="{$secondColStyle}">
399
                           <xsl:value-of select="./@name"/>
400
                        </td>
401
                   </tr>
402
                </xsl:for-each>
403
              </table>
404
            </td>
405
       </tr>
406
     </xsl:for-each>
407
    </xsl:for-each>
408
    <xsl:for-each select="vertCoordSys/altitudeSysDef">
409
       <tr><td class="{$spatialrasterfirstColStyle}">
410
            Altitude System Definition:
411
            </td>
412
            <td>
413
               <table class="{$tabledefaultStyle}">
414
                 <xsl:for-each select="altitudeDatumName">
415
                     <tr><td class="{$spatialrasterfirstColStyle}">
416
                          Datum:
417
                         </td>
418
                         <td class="{$secondColStyle}">
419
                            <xsl:value-of select="."/>
420
                          </td>
421
                      </tr>
422
                 </xsl:for-each>
423
                 <xsl:for-each select="altitudeResolution">
424
                    <tr><td class="{$spatialrasterfirstColStyle}">
425
                          Resolution:
426
                        </td>
427
                        <td class="{$secondColStyle}">
428
                           <xsl:value-of select="."/>
429
                        </td>
430
                   </tr>
431
                </xsl:for-each>
432
                <xsl:for-each select="altitudeDistanceUnits">
433
                    <tr><td class="{$spatialrasterfirstColStyle}">
434
                          Distance Unit:
435
                        </td>
436
                        <td class="{$secondColStyle}">
437
                           <xsl:value-of select="."/>
438
                        </td>
439
                   </tr>
440
                </xsl:for-each>
441
                <xsl:for-each select="altitudeEncodingMethod">
442
                    <tr><td class="{$spatialrasterfirstColStyle}">
443
                          Encoding Method:
444
                        </td>
445
                        <td class="{$secondColStyle}">
446
                           <xsl:value-of select="."/>
447
                        </td>
448
                   </tr>
449
                </xsl:for-each>
450
              </table>
451
            </td>
452
       </tr>
453
    </xsl:for-each>
454
    <xsl:for-each select="vertCoordSys/depthSysDef">
455
        <tr><td class="{$spatialrasterfirstColStyle}">
456
            Depth System Definition:
457
            </td>
458
            <td>
459
               <table class="{$tabledefaultStyle}">
460
                 <xsl:for-each select="depthDatumName">
461
                     <tr><td class="{$spatialrasterfirstColStyle}">
462
                          Datum:
463
                         </td>
464
                         <td class="{$secondColStyle}">
465
                            <xsl:value-of select="."/>
466
                          </td>
467
                      </tr>
468
                 </xsl:for-each>
469
                 <xsl:for-each select="depthResolution">
470
                    <tr><td class="{$spatialrasterfirstColStyle}">
471
                          Resolution:
472
                        </td>
473
                        <td class="{$secondColStyle}">
474
                           <xsl:value-of select="."/>
475
                        </td>
476
                   </tr>
477
                </xsl:for-each>
478
                <xsl:for-each select="depthDistanceUnits">
479
                    <tr><td class="{$spatialrasterfirstColStyle}">
480
                          Distance Unit:
481
                        </td>
482
                        <td class="{$secondColStyle}">
483
                           <xsl:value-of select="."/>
484
                        </td>
485
                   </tr>
486
                </xsl:for-each>
487
                <xsl:for-each select="depthEncodingMethod">
488
                    <tr><td class="{$spatialrasterfirstColStyle}">
489
                          Encoding Method:
490
                        </td>
491
                        <td class="{$secondColStyle}">
492
                           <xsl:value-of select="."/>
493
                        </td>
494
                   </tr>
495
                </xsl:for-each>
496
              </table>
497
            </td>
498
       </tr>
499
    </xsl:for-each>
500
  </xsl:template>
501
502
  <xsl:template name="geogCoordSysType">
503
   <xsl:param name="spatialrasterfirstColStyle"/>
504
   <table class="{$tabledefaultStyle}">
505
      <xsl:for-each select="datum">
506
        <tr><td class="{$spatialrasterfirstColStyle}">
507
             Datum:
508
            </td>
509
            <td class="{$secondColStyle}">
510
              <xsl:value-of select="./@name"/>
511
            </td>
512
        </tr>
513
      </xsl:for-each>
514
      <xsl:for-each select="spheroid">
515
        <tr><td class="{$spatialrasterfirstColStyle}">
516
             Spheroid:
517
            </td>
518
            <td>
519
               <table class="{$tabledefaultStyle}">
520
                  <tr><td class="{$spatialrasterfirstColStyle}">
521
                       Name:
522
                       </td>
523
                       <td class="{$secondColStyle}">
524
                        <xsl:value-of select="./@name"/>
525
                       </td>
526
                   </tr>
527
                   <tr><td class="{$spatialrasterfirstColStyle}">
528
                       Semi Axis Major:
529
                       </td>
530
                       <td class="{$secondColStyle}">
531
                        <xsl:value-of select="./@semiAxisMajor"/>
532
                       </td>
533
                   </tr>
534
                   <tr><td class="{$spatialrasterfirstColStyle}">
535
                       Denom Flat Ratio:
536
                       </td>
537
                       <td class="{$secondColStyle}">
538
                        <xsl:value-of select="./@denomFlatRatio"/>
539
                       </td>
540
                   </tr>
541
               </table>
542
543
            </td>
544
        </tr>
545
      </xsl:for-each>
546
       <xsl:for-each select="primeMeridian">
547
        <tr><td class="{$spatialrasterfirstColStyle}">
548
             Prime Meridian:
549
            </td>
550
            <td>
551
               <table class="{$tabledefaultStyle}">
552
                  <tr><td class="{$spatialrasterfirstColStyle}">
553
                       Name:
554
                       </td>
555
                       <td class="{$secondColStyle}">
556
                        <xsl:value-of select="./@name"/>
557
                       </td>
558
                   </tr>
559
                   <tr><td class="{$spatialrasterfirstColStyle}">
560
                       Longitude:
561
                       </td>
562
                       <td class="{$secondColStyle}">
563
                        <xsl:value-of select="./@longitude"/>
564
                       </td>
565
                   </tr>
566
               </table>
567
            </td>
568
        </tr>
569
      </xsl:for-each>
570
     <xsl:for-each select="unit">
571
        <tr><td class="{$spatialrasterfirstColStyle}">
572
             Unit:
573
            </td>
574
            <td class="{$secondColStyle}">
575
              <xsl:value-of select="./@name"/>
576
            </td>
577
        </tr>
578
      </xsl:for-each>
579
   </table>
580
  </xsl:template>
581
582
  <!--*******************************************************
583
       georeferenceinfo
584
      *******************************************************-->
585
 <xsl:template name="georeferenceInfo">
586
    <xsl:param name="spatialrasterfirstColStyle"/>
587
    <xsl:for-each select="cornerPoint">
588
        <tr><td class="{$spatialrasterfirstColStyle}">
589
            Corner Point:
590
            </td>
591
            <td>
592
               <table class="{$tabledefaultStyle}">
593
                 <xsl:for-each select="corner">
594
                     <tr><td class="{$spatialrasterfirstColStyle}">
595
                          Corner:
596
                         </td>
597
                         <td class="{$secondColStyle}">
598
                            <xsl:value-of select="."/>
599
                          </td>
600
                      </tr>
601
                 </xsl:for-each>
602
                 <xsl:for-each select="xCoordinate">
603
                    <tr><td class="{$spatialrasterfirstColStyle}">
604
                          xCoordinate:
605
                        </td>
606
                        <td class="{$secondColStyle}">
607
                           <xsl:value-of select="."/>
608
                        </td>
609
                   </tr>
610
                </xsl:for-each>
611
                <xsl:for-each select="yCoordinate">
612
                    <tr><td class="{$spatialrasterfirstColStyle}">
613
                          yCoordinate:
614
                        </td>
615
                        <td class="{$secondColStyle}">
616
                           <xsl:value-of select="."/>
617
                        </td>
618
                   </tr>
619
                </xsl:for-each>
620
                <xsl:for-each select="pointInPixel">
621
                    <tr><td class="{$spatialrasterfirstColStyle}">
622
                          Point in Pixel:
623
                        </td>
624
                        <td class="{$secondColStyle}">
625
                           <xsl:value-of select="."/>
626
                        </td>
627
                   </tr>
628
                </xsl:for-each>
629
              </table>
630
            </td>
631
       </tr>
632
    </xsl:for-each>
633
    <xsl:for-each select="controlPoint">
634
       <tr><td class="{$spatialrasterfirstColStyle}">
635
            Control Point:
636
            </td>
637
            <td>
638
               <table class="{$tabledefaultStyle}">
639
                 <xsl:for-each select="column">
640
                     <tr><td class="{$spatialrasterfirstColStyle}">
641
                          Column Location:
642
                         </td>
643
                         <td class="{$secondColStyle}">
644
                            <xsl:value-of select="."/>
645
                          </td>
646
                      </tr>
647
                 </xsl:for-each>
648
                 <xsl:for-each select="row">
649
                     <tr><td class="{$spatialrasterfirstColStyle}">
650
                          Row Location:
651
                         </td>
652
                         <td class="{$secondColStyle}">
653
                            <xsl:value-of select="."/>
654
                          </td>
655
                      </tr>
656
                 </xsl:for-each>
657
                 <xsl:for-each select="xCoordinate">
658
                    <tr><td class="{$spatialrasterfirstColStyle}">
659
                          xCoordinate:
660
                        </td>
661
                        <td class="{$secondColStyle}">
662
                           <xsl:value-of select="."/>
663
                        </td>
664
                   </tr>
665
                </xsl:for-each>
666
                <xsl:for-each select="yCoordinate">
667
                    <tr><td class="{$spatialrasterfirstColStyle}">
668
                          yCoordinate:
669
                        </td>
670
                        <td class="{$secondColStyle}">
671
                           <xsl:value-of select="."/>
672
                        </td>
673
                   </tr>
674
                </xsl:for-each>
675
                <xsl:for-each select="pointInPixel">
676
                    <tr><td class="{$spatialrasterfirstColStyle}">
677
                          Point in Pixel:
678
                        </td>
679
                        <td class="{$secondColStyle}">
680
                           <xsl:value-of select="."/>
681
                        </td>
682
                   </tr>
683
                </xsl:for-each>
684
              </table>
685
            </td>
686
       </tr>
687
    </xsl:for-each>
688
    <xsl:for-each select="bilinearFit">
689
       <tr><td class="{$spatialrasterfirstColStyle}">
690
            Bilinear Fit:
691
            </td>
692
            <td>
693
               <table class="{$tabledefaultStyle}">
694
                 <xsl:for-each select="xIntercept">
695
                     <tr><td class="{$spatialrasterfirstColStyle}">
696
                          X Intercept:
697
                         </td>
698
                         <td class="{$secondColStyle}">
699
                            <xsl:value-of select="."/>
700
                          </td>
701
                      </tr>
702
                 </xsl:for-each>
703
                 <xsl:for-each select="xSlope">
704
                    <tr><td class="{$spatialrasterfirstColStyle}">
705
                          X Slope:
706
                        </td>
707
                        <td class="{$secondColStyle}">
708
                           <xsl:value-of select="."/>
709
                        </td>
710
                   </tr>
711
                </xsl:for-each>
712
                <xsl:for-each select="yIntercept">
713
                    <tr><td class="{$spatialrasterfirstColStyle}">
714
                          Y Intercept:
715
                        </td>
716
                        <td class="{$secondColStyle}">
717
                           <xsl:value-of select="."/>
718
                        </td>
719
                   </tr>
720
                </xsl:for-each>
721
                <xsl:for-each select="ySlope">
722
                    <tr><td class="{$spatialrasterfirstColStyle}">
723
                          Y Slope:
724
                        </td>
725
                        <td class="{$secondColStyle}">
726
                           <xsl:value-of select="."/>
727
                        </td>
728
                   </tr>
729
                </xsl:for-each>
730
              </table>
731
            </td>
732
       </tr>
733
    </xsl:for-each>
734
 </xsl:template>
735
736
 <!--********************************************************
737
     data quality
738
     ********************************************************-->
739
 <xsl:template name="dataQuality">
740
   <xsl:param name="spatialrasterfirstColStyle"/>
741
   <xsl:for-each select="accuracyReport">
742
       <tr><td class="{$spatialrasterfirstColStyle}">
743
             Report:
744
            </td>
745
            <td class="{$secondColStyle}">
746
                <xsl:value-of select="."/>
747
            </td>
748
       </tr>
749
   </xsl:for-each>
750
   <xsl:if test="quantitativeAccuracyReport">
751
       <tr><td class="{$spatialrasterfirstColStyle}">
752
             Quantitative Report:
753
            </td>
754
            <td>
755
                <table class="{$tabledefaultStyle}">
756
                  <xsl:for-each select="quantitativeAccuracyReport">
757
                     <tr><td class="{$spatialrasterfirstColStyle}">
758
                         Accuracy Value:
759
                      </td>
760
                      <td class="{$secondColStyle}">
761
                        <xsl:value-of select="quantitativeAccuracyValue"/>
762
                      </td>
763
                    </tr>
764
                    <tr><td class="{$spatialrasterfirstColStyle}">
765
                         Method:
766
                      </td>
767
                      <td class="{$secondColStyle}">
768
                        <xsl:value-of select="quantitativeAccuracyMethod"/>
769
                      </td>
770
                    </tr>
771
                  </xsl:for-each>
772
                </table>
773
            </td>
774
       </tr>
775
   </xsl:if>
776
 </xsl:template>
777
778
 <!--********************************************************
779
     imageDescription
780
     *********************************************************-->
781
  <xsl:template name="imageDescription">
782
    <xsl:param name="spatialrasterfirstColStyle"/>
783
    <xsl:for-each select="illuminationElevationAngle">
784
        <tr><td class="{$spatialrasterfirstColStyle}">
785
             Illumination Elevation:
786
            </td>
787
            <td class="{$secondColStyle}">
788
                <xsl:value-of select="."/>
789
            </td>
790
       </tr>
791
    </xsl:for-each>
792
    <xsl:for-each select="illuminationAzimuthAngle">
793
        <tr><td class="{$spatialrasterfirstColStyle}">
794
             Illumination Azimuth:
795
            </td>
796
            <td class="{$secondColStyle}">
797
                <xsl:value-of select="."/>
798
            </td>
799
       </tr>
800
    </xsl:for-each>
801
    <xsl:for-each select="imageOrientationAngle">
802
        <tr><td class="{$spatialrasterfirstColStyle}">
803
             Image Orientation:
804
            </td>
805
            <td class="{$secondColStyle}">
806
                <xsl:value-of select="."/>
807
            </td>
808
       </tr>
809
    </xsl:for-each>
810
    <xsl:for-each select="imagingCondition">
811
        <tr><td class="{$spatialrasterfirstColStyle}">
812
             Code Affectting Quality of Image:
813
            </td>
814
            <td class="{$secondColStyle}">
815
                <xsl:value-of select="."/>
816
            </td>
817
       </tr>
818
    </xsl:for-each>
819
    <xsl:for-each select="imageQualityCode">
820
        <tr><td class="{$spatialrasterfirstColStyle}">
821
             Quality:
822
            </td>
823
            <td class="{$secondColStyle}">
824
                <xsl:value-of select="."/>
825
            </td>
826
       </tr>
827
    </xsl:for-each>
828
    <xsl:for-each select="cloudCoverPercentage">
829
        <tr><td class="{$spatialrasterfirstColStyle}">
830
             Cloud Coverage:
831
            </td>
832
            <td class="{$secondColStyle}">
833
                <xsl:value-of select="."/>
834
            </td>
835
       </tr>
836
    </xsl:for-each>
837
    <xsl:for-each select="preProcessingTypeCode">
838
        <tr><td class="{$spatialrasterfirstColStyle}">
839
             PreProcessing:
840
            </td>
841
            <td class="{$secondColStyle}">
842
                <xsl:value-of select="."/>
843
            </td>
844
       </tr>
845
    </xsl:for-each>
846
    <xsl:for-each select="compressionGenerationQuality">
847
        <tr><td class="{$spatialrasterfirstColStyle}">
848
             Compression Quality:
849
            </td>
850
            <td class="{$secondColStyle}">
851
                <xsl:value-of select="."/>
852
            </td>
853
       </tr>
854
    </xsl:for-each>
855
    <xsl:for-each select="triangulationIndicator">
856
        <tr><td class="{$spatialrasterfirstColStyle}">
857
             Triangulation Indicator:
858
            </td>
859
            <td class="{$secondColStyle}">
860
                <xsl:value-of select="."/>
861
            </td>
862
       </tr>
863
    </xsl:for-each>
864
    <xsl:for-each select="radionmetricDataAvailability">
865
        <tr><td class="{$spatialrasterfirstColStyle}">
866
             Availability of Radionmetric Data:
867
            </td>
868
            <td class="{$secondColStyle}">
869
                <xsl:value-of select="."/>
870
            </td>
871
       </tr>
872
    </xsl:for-each>
873
    <xsl:for-each select="cameraCalibrationInformationAvailability">
874
        <tr><td class="{$spatialrasterfirstColStyle}">
875
             Availability of Camera Calibration Correction:
876
            </td>
877
            <td class="{$secondColStyle}">
878
                <xsl:value-of select="."/>
879
            </td>
880
       </tr>
881
    </xsl:for-each>
882
    <xsl:for-each select="filmDistortionInformationAvailability">
883
        <tr><td class="{$spatialrasterfirstColStyle}">
884
             Availability of Calibration Reseau:
885
            </td>
886
            <td class="{$secondColStyle}">
887
                <xsl:value-of select="."/>
888
            </td>
889
       </tr>
890
    </xsl:for-each>
891
    <xsl:for-each select="lensDistortionInformationAvailability">
892
        <tr><td class="{$spatialrasterfirstColStyle}">
893
             Availability of Lens Aberration Correction:
894
            </td>
895
            <td class="{$secondColStyle}">
896
                <xsl:value-of select="."/>
897
            </td>
898
       </tr>
899
    </xsl:for-each>
900
    <xsl:for-each select="bandDescription">
901
     <tr><td class="{$spatialrasterfirstColStyle}">
902
             Availability of Lens Aberration Correction:
903
            </td>
904
            <td>
905
               <xsl:call-template name="bandDescription">
906
                  <xsl:with-param name="spatialrasterfirstColStyle" select="$spatialrasterfirstColStyle"/>
907
               </xsl:call-template>
908
            </td>
909
      </tr>
910
    </xsl:for-each>
911
  </xsl:template>
912
913
  <!--***********************************************
914
      band description
915
      ************************************************-->
916
  <xsl:template name="bandDescription">
917
    <xsl:param name="spatialrasterfirstColStyle"/>
918
    <table class="{$tabledefaultStyle}">
919
      <xsl:for-each select="sequenceIdentifier">
920
        <tr><td class="{$spatialrasterfirstColStyle}">
921
            Sequence Identifier:
922
            </td>
923
            <td class="{$secondColStyle}">
924
                <xsl:value-of select="."/>
925
            </td>
926
        </tr>
927
     </xsl:for-each>
928
     <xsl:for-each select="highWavelength">
929
        <tr><td class="{$spatialrasterfirstColStyle}">
930
             High Wave Length:
931
            </td>
932
            <td class="{$secondColStyle}">
933
                <xsl:value-of select="."/>
934
            </td>
935
        </tr>
936
     </xsl:for-each>
937
     <xsl:for-each select="lowWaveLength">
938
        <tr><td class="{$spatialrasterfirstColStyle}">
939
             High Wave Length:
940
            </td>
941
            <td class="{$secondColStyle}">
942
                <xsl:value-of select="."/>
943
            </td>
944
        </tr>
945
     </xsl:for-each>
946
     <xsl:for-each select="waveLengthUnits">
947
        <tr><td class="{$spatialrasterfirstColStyle}">
948
             Wave Length Units:
949
            </td>
950
            <td class="{$secondColStyle}">
951
                <xsl:value-of select="."/>
952
            </td>
953
        </tr>
954
     </xsl:for-each>
955
     <xsl:for-each select="peakResponse">
956
        <tr><td class="{$spatialrasterfirstColStyle}">
957
             Peak Response:
958
            </td>
959
            <td class="{$secondColStyle}">
960
                <xsl:value-of select="."/>
961
            </td>
962
        </tr>
963
     </xsl:for-each>
964
    </table>
965
  </xsl:template>
966
967
  <xsl:template name="spatialRasterShowDistribution">
968
     <xsl:param name="spatialrasterfirstColStyle"/>
969
     <xsl:param name="spatialrastersubHeaderStyle"/>
970
     <xsl:param name="docid"/>
971
     <xsl:param name="level">entitylevel</xsl:param>
972
     <xsl:param name="entitytype">spatialRaster</xsl:param>
973
     <xsl:param name="entityindex"/>
974
     <xsl:param name="physicalindex"/>
975
976
    <xsl:for-each select="distribution">
977
      <tr><td colspan="2">
978
        <xsl:call-template name="distribution">
979
          <xsl:with-param name="docid" select="$docid"/>
980
          <xsl:with-param name="level" select="$level"/>
981
          <xsl:with-param name="entitytype" select="$entitytype"/>
982
          <xsl:with-param name="entityindex" select="$entityindex"/>
983
          <xsl:with-param name="physicalindex" select="$physicalindex"/>
984
          <xsl:with-param name="distributionindex" select="position()"/>
985
          <xsl:with-param name="disfirstColStyle" select="$spatialrasterfirstColStyle"/>
986
          <xsl:with-param name="dissubHeaderStyle" select="$spatialrastersubHeaderStyle"/>
987
        </xsl:call-template>
988
      </td></tr>
989
    </xsl:for-each>
990
  </xsl:template>
991
992
993
  <xsl:template name="spatialRasterAttributeList">
994
    <xsl:param name="spatialrasterfirstColStyle"/>
995
    <xsl:param name="spatialrastersubHeaderStyle"/>
996
    <xsl:param name="docid"/>
997
    <xsl:param name="entitytype">spatialRaster</xsl:param>
998
    <xsl:param name="entityindex"/>
999
    <tr><td class="{$spatialrastersubHeaderStyle}" colspan="2">
1000
        <xsl:text>Attribute(s) Info:</xsl:text>
1001
    </td></tr>
1002
    <tr><td colspan="2">
1003
         <xsl:call-template name="attributelist">
1004
           <xsl:with-param name="docid" select="$docid"/>
1005
           <xsl:with-param name="entitytype" select="$entitytype"/>
1006
           <xsl:with-param name="entityindex" select="$entityindex"/>
1007
         </xsl:call-template>
1008
       </td>
1009
    </tr>
1010
  </xsl:template>
1011
1012
</xsl:stylesheet>