Project

General

Profile

1 553 tao
<?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$'
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-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
    <table class="tabledefault" width="100%">
42
      <xsl:for-each select="alternateIdentifier">
43
        <xsl:call-template name="resourcealternateIdentifier">
44
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
45
        </xsl:call-template>
46
      </xsl:for-each>
47
48
      <xsl:for-each select="shortName">
49
        <xsl:call-template name="resourceshortName">
50
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
51
         </xsl:call-template>
52
      </xsl:for-each>
53
54
      <xsl:for-each select="title">
55
        <xsl:call-template name="resourcetitle">
56
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
57
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
58
        </xsl:call-template>
59
      </xsl:for-each>
60
61
      <xsl:if test="creator">
62
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
63
        <xsl:text>Data Set Owner(s):</xsl:text>
64
      </td></tr>
65
      </xsl:if>
66
      <xsl:for-each select="creator">
67
        <xsl:call-template name="resourcecreator">
68
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
69
        </xsl:call-template>
70
      </xsl:for-each>
71
72
      <xsl:if test="metadataProvider">
73
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
74
        <xsl:text>Metadata Provider(s):</xsl:text>
75
      </td></tr>
76
      </xsl:if>
77
       <xsl:for-each select="metadataProvider">
78
        <xsl:call-template name="resourcemetadataProvider">
79
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
80
        </xsl:call-template>
81
      </xsl:for-each>
82
83
      <xsl:if test="associatedParty">
84
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
85
             <xsl:text>Associate Party:</xsl:text>
86
         </td></tr>
87
      </xsl:if>
88
      <xsl:for-each select="associatedParty">
89
        <xsl:call-template name="resourceassociatedParty">
90
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
91
        </xsl:call-template>
92
      </xsl:for-each>
93
94
      <xsl:for-each select="pubDate">
95
        <xsl:call-template name="resourcepubDate" >
96
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
97
         </xsl:call-template>
98
      </xsl:for-each>
99
100
      <xsl:for-each select="language">
101
        <xsl:call-template name="resourcelanguage" >
102
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
103
         </xsl:call-template>
104
      </xsl:for-each>
105
106
      <xsl:for-each select="series">
107
        <xsl:call-template name="resourceseries" >
108
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
109
        </xsl:call-template>
110
      </xsl:for-each>
111
112
      <xsl:for-each select="abstract">
113
        <xsl:call-template name="resourceabstract" >
114
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
115
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
116
        </xsl:call-template>
117
      </xsl:for-each>
118
119
      <xsl:if test="keywordSet">
120
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
121
             <xsl:text>Keywords:</xsl:text></td></tr>
122
      </xsl:if>
123
      <xsl:for-each select="keywordSet">
124
        <xsl:call-template name="resourcekeywordSet" >
125
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
126
        </xsl:call-template>
127
      </xsl:for-each>
128
129
      <xsl:for-each select="additionalInfo">
130
        <xsl:call-template name="resourceadditionalInfo" >
131
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
132
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
133
        </xsl:call-template>
134
      </xsl:for-each>
135
136
      <xsl:for-each select="intellectualRights">
137
        <xsl:call-template name="resourceintellectualRights" >
138
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
139
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
140
        </xsl:call-template>
141
      </xsl:for-each>
142
143
      <xsl:for-each select="distribution">
144
        <xsl:call-template name="resourcedistribution">
145
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
146
          <xsl:with-param name="ressubHeaderStyle" select="$ressubHeaderStyle"/>
147
        </xsl:call-template>
148
      </xsl:for-each>
149
    </table>
150
  </xsl:template>
151
152
  <xsl:template name="resourcealternateIdentifier" >
153
      <xsl:param name="resfirstColStyle"/>
154
      <xsl:if test="normalize-space(.)!=''">
155
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
156
        Alternate Identifier:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
157
        <xsl:value-of select="."/></td></tr>
158
      </xsl:if>
159
  </xsl:template>
160
161
162
  <xsl:template name="resourceshortName">
163
      <xsl:param name="resfirstColStyle"/>
164
      <xsl:if test="normalize-space(.)!=''">
165
      <tr><td width="{$firstColWidth}"  class="{$resfirstColStyle}" >
166
        Short Name:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
167
        <xsl:value-of select="."/></td></tr>
168
      </xsl:if>
169
  </xsl:template>
170
171
172
  <xsl:template name="resourcetitle" >
173
      <xsl:param name="resfirstColStyle"/>
174
      <xsl:if test="normalize-space(.)!=''">
175
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
176
        Title:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
177
        <xsl:value-of select="."/></td></tr>
178
      </xsl:if>
179
  </xsl:template>
180
181
182
  <!--<xsl:template match="creator[1]" mode="resource">
183
    <xsl:param name="ressubHeaderStyle"/>
184
    <xsl:param name="resfirstColStyle"/>
185
    <tr><td class="{$ressubHeaderStyle}" colspan="2">
186
      <xsl:text>Data Set Owner(s):</xsl:text>
187
    </td></tr>
188
    <tr><td colspan="2">
189
    <xsl:call-template  name="party">
190
      <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
191
    </xsl:call-template>
192
    </td></tr>
193
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
194
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
195
    </td></tr>
196
  </xsl:template>-->
197
198
  <xsl:template name="resourcecreator" >
199
      <xsl:param name="resfirstColStyle"/>
200
      <tr><td colspan="2">
201
       <xsl:call-template name="party">
202
              <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
203
       </xsl:call-template>
204
      </td></tr>
205
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
206
       <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;</td></tr>
207
  </xsl:template>
208
209
  <!--<xsl:template match="metadataProvider[1]" mode="resource">
210
    <xsl:param name="ressubHeaderStyle"/>
211
    <xsl:param name="resfirstColStyle"/>
212
    <tr><td class="{$ressubHeaderStyle}" colspan="2">
213
          <xsl:text>Metadata Provider(s):</xsl:text></td></tr>
214
    <tr><td colspan="2">
215
    <xsl:call-template name="party">
216
      <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
217
    </xsl:call-template>
218
    </td></tr>
219
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
220
    <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;</td></tr>
221
  </xsl:template>-->
222
223
  <xsl:template name="resourcemetadataProvider" >
224
      <xsl:param name="resfirstColStyle"/>
225
      <tr><td colspan="2">
226
      <xsl:call-template name="party">
227
            <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
228
      </xsl:call-template>
229
      </td></tr>
230
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
231
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
232
      </td></tr>
233
  </xsl:template>
234
235
236
  <!--<xsl:template match="associateParty[1]" mode="resource">
237
    <xsl:param name="ressubHeaderStyle"/>
238
    <xsl:param name="resfirstColStyle"/>
239
    <tr><td class="{$ressubHeaderStyle}" colspan="2">
240
      <xsl:text>Associate Party(s):</xsl:text>
241
    </td></tr>
242
    <tr><td colspan="2">
243
    <xsl:call-template name="party">
244
            <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
245
    </xsl:call-template>
246
    </td></tr>
247
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
248
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
249
    </td></tr>
250
  </xsl:template>-->
251
252
  <xsl:template name="resourceassociateParty">
253
      <xsl:param name="resfirstColStyle"/>
254
      <tr><td colspan="2">
255
      <xsl:call-template name="party">
256
          <xsl:with-param name="partyfirstColStyle" select="$resfirstColStyle"/>
257
      </xsl:call-template>
258
      </td></tr>
259
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
260
        <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;
261
      </td></tr>
262
  </xsl:template>
263
264
265
  <xsl:template name="resourcepubDate">
266
      <xsl:param name="resfirstColStyle"/>
267
      <xsl:if test="normalize-space(../pubDate)!=''">
268
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
269
        Publication Date:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
270
        <xsl:value-of select="../pubDate"/></td></tr>
271
      </xsl:if>
272
  </xsl:template>
273
274
275
  <xsl:template name="resourcelanguage">
276
      <xsl:param name="resfirstColStyle"/>
277
      <xsl:if test="normalize-space(.)!=''">
278
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
279
        Language:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
280
        <xsl:value-of select="."/></td></tr>
281
      </xsl:if>
282
  </xsl:template>
283
284
285
  <xsl:template name="resourceseries">
286
      <xsl:param name="resfirstColStyle"/>
287
      <xsl:if test="normalize-space(../series)!=''">
288
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
289
        Series:</td><td width="{$secondColWidth}" class="{$secondColStyle}">
290
        <xsl:value-of select="../series"/></td></tr>
291
      </xsl:if>
292
  </xsl:template>
293
294
295
  <xsl:template name="resourceabstract">
296
     <xsl:param name="resfirstColStyle"/>
297
     <xsl:param name="ressubHeaderStyle"/>
298
     <tr><td class="{$ressubHeaderStyle}" colspan="2">
299
        <xsl:text>Abstract:</xsl:text>
300
     </td></tr>
301
     <tr><td colspan="2" width="100%">
302
        <xsl:call-template name="text">
303
          <xsl:with-param name="textfirstColStyle" select="$resfirstColStyle"/>
304
        </xsl:call-template>
305
     </td></tr>
306
     <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;</td>
307
     <td width="{$secondColWidth}" class="{$secondColStyle}">&#160;</td></tr>
308
  </xsl:template>
309
310
311
  <!--<xsl:template match="keywordSet[1]" mode="resource">
312
        <xsl:param name="ressubHeaderStyle"/>
313
        <xsl:param name="resfirstColStyle"/>
314
        <tr><td class="{$ressubHeaderStyle}" colspan="2">
315
        <xsl:text>Keywords:</xsl:text></td></tr>
316
        <xsl:call-template name="renderKeywordSet">
317
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
318
        </xsl:call-template>
319
  </xsl:template>-->
320
321
  <xsl:template name="resourcekeywordSet">
322
        <xsl:param name="resfirstColStyle"/>
323
        <xsl:call-template name="renderKeywordSet">
324
          <xsl:with-param name="resfirstColStyle" select="$resfirstColStyle"/>
325
        </xsl:call-template>
326
  </xsl:template>
327
328
  <xsl:template name="renderKeywordSet">
329
    <xsl:param name="resfirstColStyle"/>
330
    <xsl:for-each select="keywordThesaurus">
331
    <xsl:if test="normalize-space(.)!=''">
332
      <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">
333
        <xsl:text>Thesaurus:</xsl:text></td><td width="{$secondColWidth}" class="{$secondColStyle}">
334
        <xsl:value-of select="."/></td></tr>
335
    </xsl:if>
336
    </xsl:for-each>
337
    <tr><td width="{$firstColWidth}" class="{$resfirstColStyle}">&#160;
338
        </td><td width="{$secondColWidth}" class="indent-col">
339
      <xsl:if test="normalize-space(keyword)!=''">
340
      <UL>
341
        <xsl:for-each select="keyword">
342
          <LI><xsl:value-of select="."/>
343
          <xsl:if test="./@keywordType and normalize-space(./@keywordType)!=''">
344
            (<xsl:value-of select="./@keywordType"/>)
345
          </xsl:if>
346
          </LI>
347
        </xsl:for-each>
348
      </UL>
349
      </xsl:if>
350
    </td></tr>
351
  </xsl:template>
352
353
354
   <xsl:template name="resourceadditionalInfo">
355
     <xsl:param name="ressubHeaderStyle"/>
356
     <xsl:param name="resfirstColStyle"/>
357
     <tr><td class="{$ressubHeaderStyle}" colspan="2">
358
        <xsl:text>Additional Information:</xsl:text>
359
     </td></tr>
360
     <tr><td colspan="2" width="100%">
361
        <xsl:call-template name="text">
362
          <xsl:with-param name="textfirstColStyle" select="$resfirstColStyle"/>
363
        </xsl:call-template>
364
     </td></tr>
365
  </xsl:template>
366
367
368
   <xsl:template name="resourceintellectualRights">
369
     <xsl:param name="ressubHeaderStyle"/>
370
     <xsl:param name="resfirstColStyle"/>
371
     <tr><td class="{$ressubHeaderStyle}" colspan="2">
372
        <xsl:text>License and Usage Rights:</xsl:text>
373
     </td></tr>
374
     <tr><td colspan="2" width="100%">
375
        <xsl:call-template name="text">
376
          <xsl:with-param name="textfirstColStyle" select="$resfirstColStyle"/>
377
        </xsl:call-template>
378
     </td></tr>
379
  </xsl:template>
380
381
   <xsl:template name="resourcedistribution">
382
     <xsl:param name="ressubHeaderStyle"/>
383
     <xsl:param name="resfirstColStyle"/>
384
     <tr><td colspan="2" width="100%">
385
        <xsl:call-template name="distribution">
386
          <xsl:with-param name="disfirstColStyle" select="$resfirstColStyle"/>
387
          <xsl:with-param name="dissubHeaderStyle" select="$ressubHeaderStyle"/>
388
        </xsl:call-template>
389
     </td></tr>
390
  </xsl:template>
391
392
393
  <xsl:template match="triple"/>
394
  <xsl:template match="triple[1]" mode="resource">
395
    <tr><td class="{$subHeaderStyle}" colspan="2">
396
    <xsl:text>Related Metadata and Data Files:</xsl:text></td></tr>
397
    <xsl:call-template name="renderTriple">
398
  <xsl:with-param name="indentation" select="1"></xsl:with-param>
399
    </xsl:call-template>
400
401
  </xsl:template>
402
403
  <xsl:template match="triple" mode="resource">
404
  <xsl:if test="(./subject)!=(./object)">
405
      <!-- render only for subsequent data files -->
406
      <xsl:if test="starts-with(./relationship,'isDataFileFor')">
407
    <xsl:call-template name="renderTriple">
408
      <xsl:with-param name="indentation" select="1"></xsl:with-param>
409
    </xsl:call-template>
410
      </xsl:if>
411
      <xsl:if test="starts-with(./relationship,'provides eml-project information')">
412
    <xsl:call-template name="renderTriple">
413
      <xsl:with-param name="indentation" select="1"></xsl:with-param>
414
    </xsl:call-template>
415
      </xsl:if>
416
417
  </xsl:if>
418
  </xsl:template>
419
420
  <!--xsl:template name="renderTriple">
421
    <tr><td width="{$firstColWidth}" class="{$firstColStyle}">
422
      <xsl:text>&#160;</xsl:text></td><td width="{$secondColWidth}" class="{$secondColStyle}">
423
      <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute><xsl:value-of select="./subject"/></a>
424
         <xsl:text> &#160;&#160;</xsl:text>
425
         <xsl:value-of select="./relationship"/>
426
         <xsl:text> &#160;&#160;</xsl:text>
427
      <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./object"/></xsl:attribute><xsl:value-of select="./object"/></a>
428
    </td></tr>
429
    </xsl:template-->
430
431
 <xsl:template name="renderTriple">
432
    <xsl:param name="indentation">1</xsl:param>
433
    <tr></tr><tr> <td></td>
434
    <td width="{$secondColWidth}" class="{$secondColStyle}" padding-left="{$indentation}em">
435
      <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
436
   <xsl:if test="$indentation=2">
437
    &#160;&#160;&#160;&#160;&#160;&#149;
438
   </xsl:if>
439
   <xsl:if test="$indentation=3">
440
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#149;
441
   </xsl:if>
442
   <xsl:if test="starts-with(./relationship,'isDataFileFor')">
443
         <xsl:text>Data file for this document</xsl:text>
444
   <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
445
   <xsl:for-each select="../triple">
446
    <xsl:if test="(./object)=$subj">
447
      <xsl:if test="starts-with(./relationship,'provides access control')">
448
          &#160;&#160;&#160;
449
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
450
          &#040;Access Rules&#041;</a>
451
      </xsl:if>
452
    </xsl:if>
453
  </xsl:for-each>
454
  <xsl:for-each select="../triple">
455
    <xsl:if test="(./object)=$subj">
456
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
457
        <xsl:call-template name="renderTriple">
458
        <xsl:with-param name="indentation" select="($indentation + 1)">
459
        </xsl:with-param>
460
        </xsl:call-template>
461
      </xsl:if>
462
    </xsl:if>
463
   </xsl:for-each>
464
  </xsl:if>
465
466
   <xsl:if test="starts-with(./relationship,'provides table-entity information')">
467
    <xsl:text>Information about the data file</xsl:text>
468
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
469
     <xsl:for-each select="../triple">
470
          <xsl:if test="(./object)=$subj">
471
      <xsl:if test="starts-with(./relationship,'provides access control')">
472
          &#160;&#160;&#160;
473
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
474
          &#040;Access Rules&#041;</a>
475
      </xsl:if>
476
        </xsl:if>
477
    </xsl:for-each>
478
    <xsl:for-each select="../triple">
479
             <xsl:if test="(./object)=$subj">
480
        <xsl:if test="not(starts-with(./relationship,'provides access control'))">
481
        <xsl:call-template name="renderTriple">
482
        <xsl:with-param name="indentation" select="($indentation + 1)">
483
        </xsl:with-param>
484
        </xsl:call-template>
485
        </xsl:if>
486
       </xsl:if>
487
    </xsl:for-each>
488
  </xsl:if>
489
490
   <xsl:if test="starts-with(./relationship,'provides eml-attribute information')">
491
    <xsl:text>Definition of each column in the data file</xsl:text>
492
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
493
    <xsl:for-each select="../triple">
494
          <xsl:if test="(./object)=$subj">
495
      <xsl:if test="starts-with(./relationship,'provides access control')">
496
          &#160;&#160;&#160;
497
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
498
          &#040;Access Rules&#041;</a>
499
      </xsl:if>
500
        </xsl:if>
501
    </xsl:for-each>
502
    <xsl:for-each select="../triple">
503
       <xsl:if test="(./object)=$subj">
504
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
505
        <xsl:call-template name="renderTriple">
506
        <xsl:with-param name="indentation" select="($indentation + 1)">
507
        </xsl:with-param>
508
        </xsl:call-template>
509
      </xsl:if>
510
       </xsl:if>
511
    </xsl:for-each>
512
  </xsl:if>
513
   <xsl:if test="starts-with(./relationship,'provides eml-physical information')">
514
    <xsl:text>Physical data file layout information</xsl:text>
515
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
516
     <xsl:for-each select="../triple">
517
          <xsl:if test="(./object)=$subj">
518
      <xsl:if test="starts-with(./relationship,'provides access control')">
519
          &#160;&#160;&#160;
520
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
521
          &#040;Access Rules&#041;</a>
522
      </xsl:if>
523
        </xsl:if>
524
    </xsl:for-each>
525
    <xsl:for-each select="../triple">
526
       <xsl:if test="(./object)=$subj">
527
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
528
        <xsl:call-template name="renderTriple">
529
        <xsl:with-param name="indentation" select="($indentation + 1)">
530
        </xsl:with-param>
531
        </xsl:call-template>
532
      </xsl:if>
533
       </xsl:if>
534
    </xsl:for-each>
535
  </xsl:if>
536
    <xsl:if test="starts-with(./relationship,'provides eml-project information')">
537
    <xsl:text>Project information</xsl:text>
538
    <xsl:variable name="subj"> <xsl:value-of select="./subject"/> </xsl:variable>
539
     <xsl:for-each select="../triple">
540
          <xsl:if test="(./object)=$subj">
541
      <xsl:if test="starts-with(./relationship,'provides access control')">
542
          &#160;&#160;&#160;
543
          <a><xsl:attribute name="href"><xsl:value-of select="$tripleURI" /><xsl:value-of select="./subject"/></xsl:attribute>
544
          &#040;Access Rules&#041;</a>
545
      </xsl:if>
546
        </xsl:if>
547
    </xsl:for-each>
548
    <xsl:for-each select="../triple">
549
       <xsl:if test="(./object)=$subj">
550
      <xsl:if test="not(starts-with(./relationship,'provides access control'))">
551
        <xsl:call-template name="renderTriple">
552
        <xsl:with-param name="indentation" select="($indentation + 1)">
553
        </xsl:with-param>
554
        </xsl:call-template>
555
      </xsl:if>
556
       </xsl:if>
557
    </xsl:for-each>
558
  </xsl:if>
559
  </a>
560
     </td></tr>
561
    </xsl:template>
562
563
</xsl:stylesheet>