Project

General

Profile

1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Matthew Brooke
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: tao $'
10
  *     '$Date: 2000-11-20 05:14:04 -0800 (Mon, 20 Nov 2000) $'
11
  * '$Revision: 553 $'
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-variable.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
  <xsl:import href="eml-party-2.0.0.xsl"/>
34
  <xsl:import href="eml-distribution-2.0.0.xsl"/>
35
  <xsl:output method="html" encoding="iso-8859-1"/>
36
  
37
  <!-- This module is for resouce and it is self-contained (it is table)-->
38
  <xsl:template name="resource">
39
    <xsl:param name="resfirstColStyle"/>
40
    <xsl:param name="ressubHeaderStyle"/>
41
    <xsl:param name="creator" select="Data Set Owner(s):"/>
42
    <table class="tabledefault" width="100%">
43
      <xsl:for-each select="alternateIdentifier">
44
        <xsl:call-template name="resourcealternateIdentifier">
45
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
46
        </xsl:call-template>
47
      </xsl:for-each>
48
      
49
      <xsl:for-each select="shortName">
50
        <xsl:call-template name="resourceshortName">
51
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
52
         </xsl:call-template>
53
      </xsl:for-each>
54
      
55
      <xsl:for-each select="title">
56
        <xsl:call-template name="resourcetitle">
57
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
58
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
59
        </xsl:call-template>
60
      </xsl:for-each>
61
      
62
      <xsl:if test="creator">
63
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
64
        <xsl:value-of select="$creator"/>
65
      </td></tr>
66
      </xsl:if>
67
      <xsl:for-each select="creator">
68
        <xsl:call-template name="resourcecreator">
69
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
70
        </xsl:call-template>
71
      </xsl:for-each>
72
      
73
      <xsl:if test="metadataProvider">
74
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
75
        <xsl:text>Metadata Provider(s):</xsl:text>
76
      </td></tr>
77
      </xsl:if>
78
       <xsl:for-each select="metadataProvider">
79
        <xsl:call-template name="resourcemetadataProvider">
80
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
81
        </xsl:call-template>
82
      </xsl:for-each>
83
      
84
      <xsl:if test="associatedParty">
85
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
86
             <xsl:text>Associate Party:</xsl:text>
87
         </td></tr>
88
      </xsl:if>
89
      <xsl:for-each select="associatedParty">
90
        <xsl:call-template name="resourceassociatedParty">
91
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
92
        </xsl:call-template>
93
      </xsl:for-each>
94
      
95
      <xsl:for-each select="pubDate">
96
        <xsl:call-template name="resourcepubDate" >
97
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
98
         </xsl:call-template>
99
      </xsl:for-each>
100
      
101
      <xsl:for-each select="language">
102
        <xsl:call-template name="resourcelanguage" >
103
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
104
         </xsl:call-template>
105
      </xsl:for-each>
106
      
107
      <xsl:for-each select="series">
108
        <xsl:call-template name="resourceseries" >
109
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
110
        </xsl:call-template>
111
      </xsl:for-each>
112
      
113
      <xsl:for-each select="abstract">
114
        <xsl:call-template name="resourceabstract" >
115
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
116
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
117
        </xsl:call-template>
118
      </xsl:for-each>
119
      
120
      <xsl:if test="keywordSet">
121
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
122
             <xsl:text>Keywords:</xsl:text></td></tr>
123
      </xsl:if>
124
      <xsl:for-each select="keywordSet">
125
        <xsl:call-template name="resourcekeywordSet" >
126
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
127
        </xsl:call-template>
128
      </xsl:for-each>
129
      
130
      <xsl:for-each select="additionalInfo">
131
        <xsl:call-template name="resourceadditionalInfo" >
132
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
133
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
134
        </xsl:call-template>
135
      </xsl:for-each>
136
      
137
      <xsl:for-each select="intellectualRights">
138
        <xsl:call-template name="resourceintellectualRights" >
139
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
140
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
141
        </xsl:call-template>
142
      </xsl:for-each>
143
      
144
      <xsl:for-each select="distribution">
145
        <xsl:call-template name="resourcedistribution">
146
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
147
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
148
        </xsl:call-template>
149
      </xsl:for-each>
150
    </table>
151
    
152
    <xsl:for-each select="coverage">
153
      <xsl:call-template name="resourcecoverage">
154
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
155
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
156
      </xsl:call-template>
157
    </xsl:for-each>
158
    
159
  </xsl:template>
160
  
161
  <xsl:template name="resourcealternateIdentifier" >
162
      <xsl:param name="resfirstColStyle"/>
163
      <xsl:if test="normalize-space(.)!=''">
164
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
165
        Alternate Identifier:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
166
        <xsl:value-of select="."/></td></tr>
167
      </xsl:if>
168
  </xsl:template>
169
  
170

    
171
  <xsl:template name="resourceshortName">
172
      <xsl:param name="resfirstColStyle"/>
173
      <xsl:if test="normalize-space(.)!=''">
174
      <tr><td width="{$firstColWidth}"  class="{$resfirstColStyle}" >
175
        Short Name:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
176
        <xsl:value-of select="."/></td></tr>
177
      </xsl:if>
178
  </xsl:template>
179

    
180
  
181
  <xsl:template name="resourcetitle" >
182
      <xsl:param name="resfirstColStyle"/>
183
      <xsl:if test="normalize-space(.)!=''">
184
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
185
        Title:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
186
        <xsl:value-of select="."/></td></tr>
187
      </xsl:if>
188
  </xsl:template>
189
  
190
 
191
  <!--<xsl:template match="creator[1]" mode="resource">
192
    <xsl:param name="ressubHeaderStyle"/>
193
    <xsl:param name="resfirstColStyle"/>
194
    <tr><td class="{$ressubHeaderStyle}" colspan="2">
195
      <xsl:text>Data Set Owner(s):</xsl:text>
196
    </td></tr>
197
    <tr><td colspan="2">
198
    <xsl:call-template  name="party">
199
      <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
200
    </xsl:call-template>
201
    </td></tr>
202
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
203
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
204
    </td></tr>
205
  </xsl:template>-->
206

    
207
  <xsl:template name="resourcecreator" >
208
      <xsl:param name="resfirstColStyle"/>
209
      <tr><td colspan="2">
210
       <xsl:call-template name="party">
211
              <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
212
       </xsl:call-template>
213
      </td></tr>
214
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
215
       <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;</td></tr>
216
  </xsl:template> 
217
    
218
  <!--<xsl:template match="metadataProvider[1]" mode="resource">
219
    <xsl:param name="ressubHeaderStyle"/>
220
    <xsl:param name="resfirstColStyle"/>
221
    <tr><td class="{$ressubHeaderStyle}" colspan="2">
222
          <xsl:text>Metadata Provider(s):</xsl:text></td></tr>
223
    <tr><td colspan="2">
224
    <xsl:call-template name="party">
225
      <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
226
    </xsl:call-template>
227
    </td></tr>
228
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
229
    <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;</td></tr>
230
  </xsl:template>-->
231

    
232
  <xsl:template name="resourcemetadataProvider" >
233
      <xsl:param name="resfirstColStyle"/>
234
      <tr><td colspan="2">
235
      <xsl:call-template name="party">
236
            <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
237
      </xsl:call-template>
238
      </td></tr>
239
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
240
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
241
      </td></tr>
242
  </xsl:template>  
243
  
244
  
245
  <!--<xsl:template match="associateParty[1]" mode="resource">
246
    <xsl:param name="ressubHeaderStyle"/>
247
    <xsl:param name="resfirstColStyle"/>
248
    <tr><td class="{$ressubHeaderStyle}" colspan="2">
249
      <xsl:text>Associate Party(s):</xsl:text>
250
    </td></tr>
251
    <tr><td colspan="2">
252
    <xsl:call-template name="party">
253
            <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
254
    </xsl:call-template>
255
    </td></tr>
256
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
257
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
258
    </td></tr>
259
  </xsl:template>-->
260

    
261
  <xsl:template name="resourceassociateParty">
262
      <xsl:param name="resfirstColStyle"/>
263
      <tr><td colspan="2">
264
      <xsl:call-template name="party">
265
          <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
266
      </xsl:call-template>
267
      </td></tr>
268
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
269
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
270
      </td></tr>
271
  </xsl:template>  
272

    
273
 
274
  <xsl:template name="resourcepubDate">
275
      <xsl:param name="resfirstColStyle"/>
276
      <xsl:if test="normalize-space(../pubDate)!=''">
277
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
278
        Publication Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
279
        <xsl:value-of select="../pubDate"/></td></tr>
280
      </xsl:if>
281
  </xsl:template> 
282

    
283
 
284
  <xsl:template name="resourcelanguage">
285
      <xsl:param name="resfirstColStyle"/>
286
      <xsl:if test="normalize-space(.)!=''">
287
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
288
        Language:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
289
        <xsl:value-of select="."/></td></tr>
290
      </xsl:if>
291
  </xsl:template>  
292

    
293
  
294
  <xsl:template name="resourceseries">
295
      <xsl:param name="resfirstColStyle"/>
296
      <xsl:if test="normalize-space(../series)!=''">
297
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
298
        Series:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
299
        <xsl:value-of select="../series"/></td></tr>
300
      </xsl:if>
301
  </xsl:template>
302

    
303

    
304
  <xsl:template name="resourceabstract">
305
     <xsl:param name="resfirstColStyle"/>
306
     <xsl:param name="ressubHeaderStyle"/>
307
     <tr><td class="{$ressubHeaderStyle}" colspan="2">
308
        <xsl:text>Abstract:</xsl:text>
309
     </td></tr>
310
     <tr><td colspan="2" width="100%">
311
        <xsl:call-template name="text">
312
          <xsl:with-param name="textfirstColStyle" select="$resfirstColStyle"/>
313
        </xsl:call-template>
314
     </td></tr>
315
     <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
316
     <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;</td></tr>
317
  </xsl:template>
318

    
319
 
320
  <!--<xsl:template match="keywordSet[1]" mode="resource">
321
        <xsl:param name="ressubHeaderStyle"/>
322
        <xsl:param name="resfirstColStyle"/>
323
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
324
        <xsl:text>Keywords:</xsl:text></td></tr>
325
        <xsl:call-template name="renderKeywordSet">
326
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
327
        </xsl:call-template>
328
  </xsl:template>-->
329

    
330
  <xsl:template name="resourcekeywordSet">
331
        <xsl:param name="resfirstColStyle"/> 
332
        <xsl:call-template name="renderKeywordSet">
333
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
334
        </xsl:call-template>
335
  </xsl:template>
336

    
337
  <xsl:template name="renderKeywordSet">
338
    <xsl:param name="resfirstColStyle"/>
339
    <xsl:for-each select="keywordThesaurus">
340
    <xsl:if test="normalize-space(.)!=''">
341
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
342
        <xsl:text>Thesaurus:</xsl:text></td><td width="{$secondColWidth}" class="{$secondColStyle}">
343
        <xsl:value-of select="."/></td></tr>
344
    </xsl:if>
345
    </xsl:for-each>
346
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;
347
        </td><td width="{$secondColWidth}" class="indent-col">
348
      <xsl:if test="normalize-space(keyword)!=''">
349
      <UL>
350
        <xsl:for-each select="keyword">
351
          <LI><xsl:value-of select="."/>
352
          <xsl:if test="./@keywordType and normalize-space(./@keywordType)!=''">
353
            (<xsl:value-of select="./@keywordType"/>)
354
          </xsl:if>
355
          </LI>
356
        </xsl:for-each>
357
      </UL>
358
      </xsl:if>
359
    </td></tr>
360
  </xsl:template>
361

    
362
     
363
   <xsl:template name="resourceadditionalInfo">
364
     <xsl:param name="ressubHeaderStyle"/>
365
     <xsl:param name="resfirstColStyle"/>
366
     <tr><td class="{$ressubHeaderStyle}" colspan="2">
367
        <xsl:text>Additional Information:</xsl:text>
368
     </td></tr>
369
     <tr><td colspan="2" width="100%">    
370
        <xsl:call-template name="text">
371
          <xsl:with-param name="textfirstColStyle" select="$resfirstColStyle"/>
372
        </xsl:call-template>
373
     </td></tr>
374
  </xsl:template>
375

    
376
   
377
   <xsl:template name="resourceintellectualRights">
378
     <xsl:param name="ressubHeaderStyle"/>
379
     <xsl:param name="resfirstColStyle"/>
380
     <tr><td class="{$ressubHeaderStyle}" colspan="2">
381
        <xsl:text>License and Usage Rights:</xsl:text>
382
     </td></tr>
383
     <tr><td colspan="2" width="100%">    
384
        <xsl:call-template name="text">
385
          <xsl:with-param name="textfirstColStyle" select="$resfirstColStyle"/>
386
        </xsl:call-template>
387
     </td></tr>  
388
  </xsl:template>
389
  
390
   <xsl:template name="resourcedistribution">
391
     <xsl:param name="ressubHeaderStyle"/>
392
     <xsl:param name="resfirstColStyle"/>
393
     <tr><td colspan="2" width="100%">    
394
        <xsl:call-template name="distribution">
395
          <xsl:with-param name="disfirstColStyle" select="$resfirstColStyle"/>
396
          <xsl:with-param name="dissubHeaderStyle" select="$ressubHeaderStyle"/>
397
        </xsl:call-template>
398
     </td></tr>  
399
  </xsl:template>
400
  
401
  <xsl:template name="resourcecoverage">
402
     <xsl:param name="ressubHeaderStyle"/>
403
     <xsl:param name="resfirstColStyle"/>
404
     <tr><td colspan="2" width="100%">    
405
        <xsl:call-template name="coverage">
406
        </xsl:call-template>
407
     </td></tr>  
408
  </xsl:template>
409

    
410

    
411
  <xsl:template match="triple"/>
412
  <xsl:template match="triple[1]" mode="resource">
413
    <tr><td class="{$subHeaderStyle}" colspan="2">
414
    <xsl:text>Related Metadata and Data Files:</xsl:text></td></tr>
415
    <xsl:call-template name="renderTriple">
416
  <xsl:with-param name="indentation" select="1"></xsl:with-param>
417
    </xsl:call-template>
418

    
419
  </xsl:template>
420

    
421
  <xsl:template match="triple" mode="resource">
422
  <xsl:if test="(./subject)!=(./object)">
423
      <!-- render only for subsequent data files -->
424
      <xsl:if test="starts-with(./relationship,'isDataFileFor')">
425
    <xsl:call-template name="renderTriple">
426
      <xsl:with-param name="indentation" select="1"></xsl:with-param>
427
    </xsl:call-template>
428
      </xsl:if>
429
      <xsl:if test="starts-with(./relationship,'provides eml-project information')">
430
    <xsl:call-template name="renderTriple">
431
      <xsl:with-param name="indentation" select="1"></xsl:with-param>
432
    </xsl:call-template>
433
      </xsl:if>
434

    
435
  </xsl:if>
436
  </xsl:template>
437

    
438
  <!--xsl:template name="renderTriple">
439
    <tr><td width="{$firstColWidth}" class="{$firstColStyle}">
440
      <xsl:text>&#160;</xsl:text></td><td width="{$secondColWidth}" class="{$secondColStyle}">
441
      <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute><xsl:value-of select="./subject"/></a>
442
         <xsl:text> &#160;&#160;</xsl:text>
443
         <xsl:value-of select="./relationship"/>
444
         <xsl:text> &#160;&#160;</xsl:text>
445
      <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./object"/></xsl:attribute><xsl:value-of select="./object"/></a>
446
    </td></tr>
447
    </xsl:template-->
448

    
449
 <xsl:template name="renderTriple">
450
    <xsl:param name="indentation">1</xsl:param>
451
    <tr></tr><tr> <td></td>
452
    <td width="{$secondColWidth}" class="{$secondColStyle}" padding-left="{$indentation}em">
453
      <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
454
   <xsl:if test="$indentation=2">
455
    &#160;&#160;&#160;&#160;&#160;&#149;
456
   </xsl:if>
457
   <xsl:if test="$indentation=3">
458
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#149;
459
   </xsl:if>
460
   <xsl:if test="starts-with(./relationship,'isDataFileFor')">
461
         <xsl:text>Data file for this document</xsl:text>
462
   <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
463
   <xsl:for-each select="../triple">
464
    <xsl:if test="(./object)=$subj">
465
      <xsl:if test="starts-with(./relationship,'provides access control')">
466
          &#160;&#160;&#160;
467
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
468
          &#040;Access Rules&#041;</a>
469
      </xsl:if>
470
    </xsl:if>
471
  </xsl:for-each>
472
  <xsl:for-each select="../triple">
473
    <xsl:if test="(./object)=$subj">
474
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
475
        <xsl:call-template name="renderTriple">
476
        <xsl:with-param name="indentation" select="($indentation + 1)">
477
        </xsl:with-param>
478
        </xsl:call-template>
479
      </xsl:if>
480
    </xsl:if>
481
   </xsl:for-each>
482
  </xsl:if>
483

    
484
   <xsl:if test="starts-with(./relationship,'provides table-entity information')">
485
    <xsl:text>Information about the data file</xsl:text>
486
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
487
     <xsl:for-each select="../triple">
488
          <xsl:if test="(./object)=$subj">
489
      <xsl:if test="starts-with(./relationship,'provides access control')">
490
          &#160;&#160;&#160;
491
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
492
          &#040;Access Rules&#041;</a>
493
      </xsl:if>
494
        </xsl:if>
495
    </xsl:for-each>
496
    <xsl:for-each select="../triple">
497
             <xsl:if test="(./object)=$subj">
498
        <xsl:if test="not(starts-with(./relationship,'provides access control'))">
499
        <xsl:call-template name="renderTriple">
500
        <xsl:with-param name="indentation" select="($indentation + 1)">
501
        </xsl:with-param>
502
        </xsl:call-template>
503
        </xsl:if>
504
       </xsl:if>
505
    </xsl:for-each>
506
  </xsl:if>
507

    
508
   <xsl:if test="starts-with(./relationship,'provides eml-attribute information')">
509
    <xsl:text>Definition of each column in the data file</xsl:text>
510
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
511
    <xsl:for-each select="../triple">
512
          <xsl:if test="(./object)=$subj">
513
      <xsl:if test="starts-with(./relationship,'provides access control')">
514
          &#160;&#160;&#160;
515
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
516
          &#040;Access Rules&#041;</a>
517
      </xsl:if>
518
        </xsl:if>
519
    </xsl:for-each>
520
    <xsl:for-each select="../triple">
521
       <xsl:if test="(./object)=$subj">
522
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
523
        <xsl:call-template name="renderTriple">
524
        <xsl:with-param name="indentation" select="($indentation + 1)">
525
        </xsl:with-param>
526
        </xsl:call-template>
527
      </xsl:if>
528
       </xsl:if>
529
    </xsl:for-each>
530
  </xsl:if>
531
   <xsl:if test="starts-with(./relationship,'provides eml-physical information')">
532
    <xsl:text>Physical data file layout information</xsl:text>
533
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
534
     <xsl:for-each select="../triple">
535
          <xsl:if test="(./object)=$subj">
536
      <xsl:if test="starts-with(./relationship,'provides access control')">
537
          &#160;&#160;&#160;
538
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
539
          &#040;Access Rules&#041;</a>
540
      </xsl:if>
541
        </xsl:if>
542
    </xsl:for-each>
543
    <xsl:for-each select="../triple">
544
       <xsl:if test="(./object)=$subj">
545
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
546
        <xsl:call-template name="renderTriple">
547
        <xsl:with-param name="indentation" select="($indentation + 1)">
548
        </xsl:with-param>
549
        </xsl:call-template>
550
      </xsl:if>
551
       </xsl:if>
552
    </xsl:for-each>
553
  </xsl:if>
554
    <xsl:if test="starts-with(./relationship,'provides eml-project information')">
555
    <xsl:text>Project information</xsl:text>
556
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
557
     <xsl:for-each select="../triple">
558
          <xsl:if test="(./object)=$subj">
559
      <xsl:if test="starts-with(./relationship,'provides access control')">
560
          &#160;&#160;&#160;
561
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
562
          &#040;Access Rules&#041;</a>
563
      </xsl:if>
564
        </xsl:if>
565
    </xsl:for-each>
566
    <xsl:for-each select="../triple">
567
       <xsl:if test="(./object)=$subj">
568
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
569
        <xsl:call-template name="renderTriple">
570
        <xsl:with-param name="indentation" select="($indentation + 1)">
571
        </xsl:with-param>
572
        </xsl:call-template>
573
      </xsl:if>
574
       </xsl:if>
575
    </xsl:for-each>
576
  </xsl:if>
577
  </a>
578
     </td></tr>
579
    </xsl:template>
580

    
581
</xsl:stylesheet>
(19-19/26)