Project

General

Profile

« Previous | Next » 

Revision 5560

consolidate shared stylesheets - no differences between 2.0.1 and 2.1.0 directories

View differences:

lib/style/shared/eml-2.0.0/eml-party.xsl
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$'
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

  
34
  <xsl:output method="html" encoding="iso-8859-1"
35
              doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
36
              doctype-system="http://www.w3.org/TR/html4/loose.dtd"
37
              indent="yes" />  
38

  
39
  <!-- This module is for party member and it is self contained-->
40

  
41
  <xsl:template name="party">
42
      <xsl:param name="partyfirstColStyle"/>
43
      <table class="{$tabledefaultStyle}">
44
        <xsl:choose>
45
         <xsl:when test="references!=''">
46
          <xsl:variable name="ref_id" select="references"/>
47
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
48
          <xsl:for-each select="$references">
49
            <xsl:apply-templates mode="party">
50
             <xsl:with-param name="partyfirstColStyle" select="$partyfirstColStyle"/>
51
            </xsl:apply-templates>
52
          </xsl:for-each>
53
        </xsl:when>
54
        <xsl:otherwise>
55
          <xsl:apply-templates mode="party">
56
            <xsl:with-param name="partyfirstColStyle" select="$partyfirstColStyle"/>
57
          </xsl:apply-templates>
58
        </xsl:otherwise>
59
      </xsl:choose>
60
      </table>
61
  </xsl:template>
62

  
63
  <!-- *********************************************************************** -->
64

  
65

  
66
  <xsl:template match="individualName" mode="party">
67
      <xsl:param name="partyfirstColStyle"/>
68
      <xsl:if test="normalize-space(.)!=''">
69
        <tr><td class="{$partyfirstColStyle}" >
70
            Individual:</td><td class="{$secondColStyle}" >
71
           <b><xsl:value-of select="./salutation"/><xsl:text> </xsl:text>
72
           <xsl:value-of select="./givenName"/><xsl:text> </xsl:text>
73
           <xsl:value-of select="./surName"/></b>
74
        </td></tr>
75
      </xsl:if>
76
  </xsl:template>
77

  
78

  
79
  <xsl:template match="organizationName" mode="party">
80
      <xsl:param name="partyfirstColStyle"/>
81
      <xsl:if test="normalize-space(.)!=''">
82
        <tr><td class="{$partyfirstColStyle}" >
83
        Organization:</td><td class="{$secondColStyle}">
84
        <b><xsl:value-of select="."/></b>
85
        </td></tr>
86
      </xsl:if>
87
  </xsl:template>
88

  
89

  
90
  <xsl:template match="positionName" mode="party">
91
      <xsl:param name="partyfirstColStyle"/>
92
      <xsl:if test="normalize-space(.)!=''">
93
      <tr><td class="{$partyfirstColStyle}">
94
        Position:</td><td class="{$secondColStyle}">
95
        <xsl:value-of select="."/></td></tr>
96
      </xsl:if>
97
  </xsl:template>
98

  
99

  
100
  <xsl:template match="address" mode="party">
101
    <xsl:param name="partyfirstColStyle"/>
102
    <xsl:if test="normalize-space(.)!=''">
103
      <xsl:call-template name="addressCommon">
104
         <xsl:with-param name="partyfirstColStyle" select="$partyfirstColStyle"/>
105
      </xsl:call-template>
106
    </xsl:if>
107
    </xsl:template>
108

  
109
   <!-- This template will be call by other place-->
110
   <xsl:template name="address">
111
      <xsl:param name="partyfirstColStyle"/>
112
      <table class="{$tablepartyStyle}">
113
        <xsl:choose>
114
         <xsl:when test="references!=''">
115
          <xsl:variable name="ref_id" select="references"/>
116
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
117
          <xsl:for-each select="$references">
118
            <xsl:call-template name="addressCommon">
119
             <xsl:with-param name="partyfirstColStyle" select="$partyfirstColStyle"/>
120
            </xsl:call-template>
121
          </xsl:for-each>
122
        </xsl:when>
123
        <xsl:otherwise>
124
          <xsl:call-template name="addressCommon">
125
             <xsl:with-param name="partyfirstColStyle" select="$partyfirstColStyle"/>
126
          </xsl:call-template>
127
        </xsl:otherwise>
128
      </xsl:choose>
129
      </table>
130
  </xsl:template>
131

  
132
   <xsl:template name="addressCommon">
133
    <xsl:param name="partyfirstColStyle"/>
134
    <xsl:if test="normalize-space(.)!=''">
135
    <tr><td class="{$partyfirstColStyle}">
136
        Address:</td><td>
137
    <table class="{$tablepartyStyle}">
138
    <xsl:for-each select="deliveryPoint">
139
    <tr><td class="{$secondColStyle}"><xsl:value-of select="."/><xsl:text>, </xsl:text></td></tr>
140
    </xsl:for-each>
141
    <!-- only include comma if city exists... -->
142
    <tr><td class="{$secondColStyle}" >
143
    <xsl:if test="normalize-space(city)!=''">
144
        <xsl:value-of select="city"/><xsl:text>, </xsl:text>
145
    </xsl:if>
146
    <xsl:if test="normalize-space(administrativeArea)!='' or normalize-space(postalCode)!=''">
147
        <xsl:value-of select="administrativeArea"/><xsl:text> </xsl:text><xsl:value-of select="postalCode"/><xsl:text> </xsl:text>
148
    </xsl:if>
149
    <xsl:if test="normalize-space(country)!=''">
150
      <xsl:value-of select="country"/>
151
    </xsl:if></td></tr>
152
    </table></td></tr>
153
    </xsl:if>
154
   </xsl:template>
155

  
156
  <xsl:template match="phone" mode="party">
157
      <xsl:param name="partyfirstColStyle"/>
158
      <tr><td class="{$partyfirstColStyle}" >
159
             Phone:
160
          </td>
161
          <td>
162
            <table class="{$tablepartyStyle}">
163
              <tr><td class="{$secondColStyle}">
164
                     <xsl:value-of select="."/>
165
                     <xsl:if test="normalize-space(./@phonetype)!=''">
166
                       <xsl:text> (</xsl:text><xsl:value-of select="./@phonetype"/><xsl:text>)</xsl:text>
167
                     </xsl:if>
168
                   </td>
169
               </tr>
170
             </table>
171
          </td>
172
      </tr>
173
  </xsl:template>
174

  
175

  
176
  <xsl:template match="electronicMailAddress" mode="party">
177
      <xsl:param name="partyfirstColStyle"/>
178
      <xsl:if test="normalize-space(.)!=''">
179
       <tr><td class="{$partyfirstColStyle}" >
180
            Email Address:
181
          </td>
182
          <td>
183
            <table class="{$tablepartyStyle}">
184
              <tr><td class="{$secondColStyle}">
185
                    <a><xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute><xsl:value-of select="./entityName"/>
186
                    <xsl:value-of select="."/></a>
187
                   </td>
188
              </tr>
189
            </table>
190
          </td>
191
        </tr>
192
      </xsl:if>
193
  </xsl:template>
194

  
195

  
196
  <xsl:template match="onlineUrl" mode="party">
197
      <xsl:param name="partyfirstColStyle"/>
198
      <xsl:if test="normalize-space(.)!=''">
199
      <tr><td class="{$partyfirstColStyle}" >
200
            Web Address:
201
          </td>
202
          <td>
203
             <table class="{$tablepartyStyle}">
204
               <tr><td class="{$secondColStyle}">
205
                     <a><xsl:attribute name="href">http://<xsl:value-of select="."/></xsl:attribute><xsl:value-of select="./entityName"/>
206
                     <xsl:value-of select="."/></a>
207
                    </td>
208
               </tr>
209
             </table>
210
           </td>
211
        </tr>
212
      </xsl:if>
213
  </xsl:template>
214

  
215

  
216
  <xsl:template match="userId" mode="party">
217
      <xsl:param name="partyfirstColStyle"/>
218
      <xsl:if test="normalize-space(.)!=''">
219
      <tr><td class="{$partyfirstColStyle}" >
220
        Id:</td><td class="{$secondColStyle}">
221
        <xsl:value-of select="."/></td></tr>
222
      </xsl:if>
223
  </xsl:template>
224
  <xsl:template match="text()" mode="party" />
225
</xsl:stylesheet>
226 0

  
lib/style/shared/eml-2.0.0/eml-settings.xsl
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$'
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
  *****************************************************************************
28
  *
29
  * This is an XSLT (http://www.w3.org/TR/xslt) stylesheet that provides a
30
  * single, central location for setting all installation-specific paths for
31
  * XSLT stylesheets.  It is intended to be imported (using the
32
  * <xsl:import href="..." /> element) into other XSLT stylesheets used in the
33
  * transformation of xml files that are valid with respect to the
34
  * applicable dtd of the Ecological Metadata Language (EML).
35

  
36
  * Some of these paths incorporate values of the form: @token-name@; these are
37
  * intended to allow an Ant (http://jakarta.apache.org/ant/index.html) build
38
  * script to replace the tokens automatically with the correct values at build/
39
  * install time.  If Ant is not used, the tokens may simply be edited by hand
40
  * to point to the correct resources.
41
  * Note that the values given below may be overridden by passing parameters to
42
  * the XSLT processor programatically, although the procedure for doing so is
43
  * vendor-specific.  Note also that these parameter definitions will be overridden
44
  * by any identical parameter names declared within xsl stylesheets that import
45
  * this stylesheet.
46
  *
47
-->
48

  
49
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
50

  
51

  
52
<!--
53
    /**
54
    *   The filename of the default css stylesheet to be used
55
    *   (filename only - not the whole path, and no ".css" extension.  The
56
    *   example below would look for a file named "default.css" in the same
57
    *   directory as the stylesheets
58
    */
59
-->
60

  
61
  <xsl:param name="qformat">default</xsl:param>
62

  
63

  
64
<!--
65
    /**
66
    *   The module which need to be display in eml2 document. The default
67
    *   value is dataset
68
    */
69
-->
70
  <xsl:param name="displaymodule">dataset</xsl:param>
71

  
72

  
73
<!--
74
    /**
75
    *   To show the links for the Entities in the dataset display module.
76
    */
77
-->
78
  <xsl:param name="withEntityLinks">1</xsl:param>
79

  
80

  
81
<!--
82
    /**
83
    *   To show the link for Additional Metadata in the dataset display module.
84
    */
85
-->
86
  <xsl:param name="withAdditionalMetadataLink">1</xsl:param>
87

  
88

  
89
<!--
90
    /**
91
    *   To show the link for the Original XML in the dataset display module.
92
    */
93
-->
94
  <xsl:param name="withOriginalXMLLink">1</xsl:param>
95

  
96

  
97
<!--
98
    /**
99
    *   To show the Attributes table in the entity display.
100
    */
101
-->
102
  <xsl:param name="withAttributes">1</xsl:param>
103

  
104

  
105
<!--
106
   /**
107
    *   the path of the directory where the XSL and CSS files reside - starts
108
    *   with context name, eg: /myContextRoot/styleDirectory.
109
    *   (As found in "http://hostname:port/myContextRoot/styleDirectory").
110
    *   Needs leading slash but not trailing slash
111
    *
112
    *   EXAMPLE:
113
    *       <xsl:param name="stylePath">/brooke/style</xsl:param>
114
    */
115
-->
116

  
117
    <xsl:param name="stylePath">./style/skins</xsl:param>
118

  
119

  
120
<!--
121
   /*
122
    *   the path of the directory where the common javascript and css files
123
    *   reside - i.e the files that are not skin-specific. Starts
124
    *   with context name, eg: /myContextRoot/styleCommonDirectory.
125
    *   (As found in "http://hostname:port/myContextRoot/styleCommonDirectory").
126
    *
127
    *   EXAMPLE
128
    *       <xsl:param name="styleCommonPath">/brooke/style/common</xsl:param>
129
    */
130
-->
131

  
132
    <xsl:param name="styleCommonPath">./style/common</xsl:param>
133

  
134

  
135
<!--the docid of xml which is processed-->
136
    <xsl:param name="docid"/>
137
<!-- type of entity, data table or spacial raster or others-->
138
    <xsl:param name="entitytype"></xsl:param>
139
<!-- the index of entity in same entity type -->
140
    <xsl:param name="entityindex"/>
141
<!-- the index of attribute in same entity -->
142
    <xsl:param name="attributeindex"/>
143
<!-- the index of physical part in entity part-->
144
    <xsl:param name="physicalindex"/>
145
<!-- the index of distribution in physical part  -->
146
    <xsl:param name="distributionindex"/>
147
<!-- the levle of distribution -->
148
    <xsl:param name="distributionlevel"/>
149
<!-- the index of attribute in attribute list-->
150
    <xsl:param name="attributeindex"/>
151
<!-- the index of additional metadata-->
152
    <xsl:param name="additionalmetadataindex"/>
153
<!-- attribute set to get rid of cell spacing-->
154
    <xsl:attribute-set name="cellspacing">
155
      <xsl:attribute name="cellpadding">0</xsl:attribute>
156
      <xsl:attribute name="cellspacing">0</xsl:attribute>
157
    </xsl:attribute-set>
158

  
159

  
160
<!--
161
    /**
162
    *   The base URI to be used for the href link to each document in a
163
    *   "subject-relationaship-object" triple
164
    *
165
    *   EXAMPLE:
166
    *       <xsl:param name="tripleURI">
167
    *         <![CDATA[/brooke/catalog/metacat?action=read&qformat=knb&docid=]]>
168
    *       </xsl:param>
169
    *
170
    *   (Note in the above case the "qformat=knb" parameter in the url; a system
171
    *   could pass this parameter to the XSLT engine to override the local
172
    *   <xsl:param name="qformat"> tags defined earlier in this document.)
173
    */
174
-->
175

  
176
    <xsl:param name="tripleURI"><![CDATA[./metacat?action=read&qformat=]]><xsl:value-of select="$qformat" /><![CDATA[&docid=]]></xsl:param>
177

  
178
    <!-- URL for xmlformat-->
179
    <xsl:param name="xmlURI"><![CDATA[./metacat?action=read&qformat=xml&docid=]]></xsl:param>
180

  
181

  
182
<!--
183
    /**
184
    *   Most of the html pages are currently laid out as a 2-column table, with
185
    *   highlights for more-major rows containing subsection titles etc.
186
    *   The following parameters are used within the
187
    *           <td width="whateverWidth" class="whateverClass">
188
    *   tags to define the column widths and (css) styles.
189
    *
190
    *   The values of the "xxxColWidth" parameters can be percentages (need to
191
    *   include % sign) or pixels (number only). Note that if a width is defined
192
    *   in the CSS stylesheet (see next paragraph), it will override this local
193
    *   width setting in browsers newer than NN4
194
    *
195
    *   The values of the "xxxColStyle" parameters refer to style definitions
196
    *   listed in the *.css stylesheet that is defined in this xsl document,
197
    *   above (in the <xsl:param name="qformat"> tag).
198
    *
199
    *   (Note that if the "qformat" is changed from the default by passing a
200
    *   value in the url (see notes for <xsl:param name="qformat"> tag, above),
201
    *   then the params below must match style names in the "new" CSS stylesheet
202
    */
203
-->
204

  
205
<!--    the style for major rows containing subsection titles etc. -->
206
  <xsl:param name="subHeaderStyle" select="'tablehead'"/>
207

  
208
<!--    the style for major rows containing links, such as additional metadata, 
209
        original xml file etc. -->
210
  <xsl:param name="linkedHeaderStyle" select="'linkedHeaderStyle'"/>
211

  
212
<!--    the width for the first column (but see note above) -->
213
  <xsl:param name="firstColWidth" select="'15%'"/>
214

  
215
<!-- the style for the first column -->
216
  <xsl:param name="firstColStyle" select="'rowodd'"/>
217

  
218
<!--    the width for the second column (but see note above) -->
219
  <xsl:param name="secondColWidth" select="'85%'"/>
220

  
221
<!-- the style for the second column -->
222
  <xsl:param name="secondColStyle" select="'roweven'"/>
223

  
224
<!-- the style for the attribute table -->
225
  <xsl:param name="tableattributeStyle" select="'tableattribute'"/>
226

  
227
<!-- the style for the border -->
228
  <xsl:param name="borderStyle" select="'bordered'"/>
229

  
230
<!-- the style for the even col in attributes table -->
231
  <xsl:param name="colevenStyle" select="'coleven'"/>
232

  
233
<!-- the style for the inner even col in attributes table -->
234
  <xsl:param name="innercolevenStyle" select="'innercoleven'"/>
235

  
236
<!-- the style for the odd col in attributes table -->
237
  <xsl:param name="coloddStyle" select="'colodd'"/>
238

  
239
<!-- the style for the inner odd col in attributes table -->
240
  <xsl:param name="innercoloddStyle" select="'innercolodd'"/>
241

  
242

  
243
<!-- the default alignment style for the wrapper around the main tables -->
244
  <!--
245
  <xsl:param name="mainTableAligmentStyle" select="'mainTableAligmentStyle'"/>
246
  -->
247
  <xsl:param name="mainTableAligmentStyle" select="'content'"/>
248

  
249
<!-- the default style for the main container table -->
250
  <xsl:param name="mainContainerTableStyle" select="'group group_border'"/>
251

  
252
<!-- the default style for all other tables -->
253
  <xsl:param name="tabledefaultStyle" select="'subGroup subGroup_border onehundred_percent'"/>
254

  
255
<!-- the style for table party -->
256
  <xsl:param name="tablepartyStyle" select="'tableparty'"/>
257

  
258
<!-- Some html pages use a nested table in the second column.
259
     Some of these nested tables set their first column to
260
     the following width: -->
261
  <xsl:param name="secondColIndent" select="'10%'"/>
262

  
263
<!-- the first column width of attribute table-->
264
  <xsl:param name="attributefirstColWidth" select="'15%'"/>
265

  
266
</xsl:stylesheet>
267 0

  
lib/style/shared/eml-2.0.0/eml-protocol.xsl
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$'
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

  
34
  <xsl:output method="html" encoding="iso-8859-1"
35
              doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
36
              doctype-system="http://www.w3.org/TR/html4/loose.dtd"
37
              indent="yes" />  
38

  
39

  
40

  
41
  <xsl:template name="protocol">
42
    <xsl:param name="protocolfirstColStyle"/>
43
    <xsl:param name="protocolsubHeaderStyle"/>
44
    <table class="{$tabledefaultStyle}">
45
        <xsl:choose>
46
         <xsl:when test="references!=''">
47
          <xsl:variable name="ref_id" select="references"/>
48
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
49
          <xsl:for-each select="$references">
50
            <xsl:call-template name="protocolcommon">
51
              <xsl:with-param name="protocolfirstColStyle" select="$protocolfirstColStyle"/>
52
              <xsl:with-param name="protocolsubHeaderStyle" select="$protocolsubHeaderStyle"/>
53
            </xsl:call-template>
54
          </xsl:for-each>
55
        </xsl:when>
56
        <xsl:otherwise>
57
           <xsl:call-template name="protocolcommon">
58
              <xsl:with-param name="protocolfirstColStyle" select="$protocolfirstColStyle"/>
59
              <xsl:with-param name="protocolsubHeaderStyle" select="$protocolsubHeaderStyle"/>
60
           </xsl:call-template>
61
        </xsl:otherwise>
62
      </xsl:choose>
63
    </table>
64
  </xsl:template>
65

  
66
   <xsl:template name="protocolcommon">
67
        <xsl:param name="protocolfirstColStyle"/>
68
        <xsl:param name="protocolsubHeaderStyle"/>
69
        <xsl:call-template name="resource">
70
           <xsl:with-param name="resfirstColStyle" select="$protocolfirstColStyle"/>
71
           <xsl:with-param name="ressubHeaderStyle" select="$protocolsubHeaderStyle"/>
72
           <xsl:with-param name="creator">Author(s):</xsl:with-param>
73
        </xsl:call-template>
74
        <xsl:for-each select="proceduralStep">
75
          <tr><td colspan="2" class="{$protocolsubHeaderStyle}">
76
              Step<xsl:text> </xsl:text><xsl:value-of select="position()"/>:
77
              </td>
78
          </tr>
79
          <xsl:call-template name="step">
80
              <xsl:with-param name="protocolfirstColStyle" select="$protocolfirstColStyle"/>
81
              <xsl:with-param name="protocolsubHeaderStyle" select="$protocolsubHeaderStyle"/>
82
          </xsl:call-template>
83
        </xsl:for-each>
84
        <xsl:call-template name="protocolAccess">
85
              <xsl:with-param name="protocolfirstColStyle" select="$protocolfirstColStyle"/>
86
              <xsl:with-param name="protocolsubHeaderStyle" select="$protocolsubHeaderStyle"/>
87
        </xsl:call-template>
88
  </xsl:template>
89

  
90
  <xsl:template name="step">
91
    <xsl:param name="protocolfirstColStyle"/>
92
    <xsl:param name="protocolsubHeaderStyle"/>
93
    <xsl:for-each select="description">
94
      <tr><td class="{$protocolfirstColStyle}">
95
          Description:
96
          </td>
97
          <td>
98
             <xsl:call-template name="text">
99
               <xsl:with-param name="textfirstColStyle" select="$protocolfirstColStyle"/>
100
             </xsl:call-template>
101
          </td>
102
      </tr>
103
     </xsl:for-each>
104
    <xsl:for-each select="citation">
105
      <tr><td class="{$protocolfirstColStyle}">
106
          Citation:
107
          </td>
108
          <td class="{$secondColStyle}">
109
           &#160;
110
          </td>
111
      </tr>
112
      <tr><td colspan="2">
113
          <xsl:call-template name="citation">
114
            <xsl:with-param name="citationfirstColStyle" select="$protocolfirstColStyle"/>
115
            <xsl:with-param name="citationsubHeaderStyle" select="$protocolsubHeaderStyle"/>
116
          </xsl:call-template>
117
          </td>
118
      </tr>
119
    </xsl:for-each>
120
     <xsl:for-each select="protocol">
121
      <tr><td class="{$protocolfirstColStyle}">
122
          Protocol:
123
          </td>
124
          <td class="{$secondColStyle}">
125
           &#160;
126
          </td>
127
      </tr>
128
      <tr><td colspan="2">
129
          <xsl:call-template name="protocol">
130
            <xsl:with-param name="protocolfirstColStyle" select="$protocolfirstColStyle"/>
131
            <xsl:with-param name="protocolsubHeaderStyle" select="$protocolsubHeaderStyle"/>
132
          </xsl:call-template>
133
          </td>
134
      </tr>
135
    </xsl:for-each>
136
    <xsl:for-each select="instrumentation">
137
        <tr><td class="{$protocolfirstColStyle}">
138
          Instrument(s):
139
          </td>
140
          <td class="{$secondColStyle}">
141
            <xsl:value-of select="."/>
142
          </td>
143
      </tr>
144
    </xsl:for-each>
145
    <xsl:for-each select="software">
146
     <tr><td colspan="2">
147
          <xsl:call-template name="software">
148
            <xsl:with-param name="softwarefirstColStyle" select="$protocolfirstColStyle"/>
149
            <xsl:with-param name="softwaresubHeaderStyle" select="$protocolsubHeaderStyle"/>
150
          </xsl:call-template>
151
          </td>
152
      </tr>
153
    </xsl:for-each>
154
    <xsl:for-each select="subStep">
155
      <tr><td class="{$protocolfirstColStyle}">
156
          Substep<xsl:text> </xsl:text><xsl:value-of select="position()"/>
157
          </td>
158
          <td class="{$secondColStyle}">
159
           &#160;
160
          </td>
161
      </tr>
162
      <xsl:call-template name="step">
163
          <xsl:with-param name="protocolfirstColStyle" select="$protocolfirstColStyle"/>
164
          <xsl:with-param name="protocolsubHeaderStyle" select="$protocolsubHeaderStyle"/>
165
      </xsl:call-template>
166
    </xsl:for-each>
167
  </xsl:template>
168

  
169
  <xsl:template name="protocolAccess">
170
    <xsl:param name="protocolfirstColStyle"/>
171
    <xsl:param name="protocolsubHeaderStyle"/>
172
    <xsl:for-each select="access">
173
      <tr><td colspan="2">
174
         <xsl:call-template name="access">
175
           <xsl:with-param name="accessfirstColStyle" select="$protocolfirstColStyle"/>
176
           <xsl:with-param name="accesssubHeaderStyle" select="$protocolsubHeaderStyle"/>
177
         </xsl:call-template>
178
         </td>
179
       </tr>
180
    </xsl:for-each>
181
  </xsl:template>
182
</xsl:stylesheet>
183 0

  
lib/style/shared/eml-2.0.0/eml-access.xsl
1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Matt Jones
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-dataset.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
  <xsl:output method="html" encoding="iso-8859-1"
36
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
37
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
38
    indent="yes" />  
39
  <xsl:template name="access">
40
    <xsl:param name="accessfirstColStyle"/>
41
    <xsl:param name="accesssubHeaderStyle"/>
42
    <table class="{$tabledefaultStyle}">
43
        <xsl:choose>
44
         <xsl:when test="references!=''">
45
          <xsl:variable name="ref_id" select="references"/>
46
          <xsl:variable name="references" select="$ids[@id=$ref_id]" />
47
          <xsl:for-each select="$references">
48
            <xsl:call-template name="accessCommon">
49
             <xsl:with-param name="accessfirstColStyle" select="$accessfirstColStyle"/>
50
             <xsl:with-param name="accesssubHeaderStyle" select="$accesssubHeaderStyle"/>
51
            </xsl:call-template>
52
          </xsl:for-each>
53
        </xsl:when>
54
        <xsl:otherwise>
55
          <xsl:call-template name="accessCommon">
56
             <xsl:with-param name="accessfirstColStyle" select="$accessfirstColStyle"/>
57
             <xsl:with-param name="accesssubHeaderStyle" select="$accesssubHeaderStyle"/>
58
          </xsl:call-template>
59
        </xsl:otherwise>
60
      </xsl:choose>
61
    </table>
62

  
63
  </xsl:template>
64
  <xsl:template name="accessCommon">
65
     <xsl:param name="accessfirstColStyle" />
66
     <xsl:param name="accesssubHeaderStyle"/>
67
        <xsl:call-template name="accesssystem">
68
           <xsl:with-param name="accessfirstColStyle" select="$accessfirstColStyle"/>
69
           <xsl:with-param name="accesssubHeaderStyle" select="$accesssubHeaderStyle"/>
70
        </xsl:call-template>
71
        <xsl:if test="normalize-space(./@order)='allowFirst' and (allow)">
72
            <xsl:call-template name="allow_deny">
73
                <xsl:with-param name="permission" select="'allow'"/>
74
                <xsl:with-param name="accessfirstColStyle" select="$accessfirstColStyle"/>
75
             </xsl:call-template>
76
        </xsl:if>
77
        <xsl:if test="(deny)">
78
           <xsl:call-template name="allow_deny">
79
                <xsl:with-param name="permission" select="'deny'"/>
80
                <xsl:with-param name="accessfirstColStyle" select="$accessfirstColStyle"/>
81
            </xsl:call-template>
82
        </xsl:if>
83
        <xsl:if test="normalize-space(acl/@order)='denyFirst' and (allow)">
84
            <xsl:call-template name="allow_deny">
85
                <xsl:with-param name="permission" select="'allow'"/>
86
                <xsl:with-param name="accessfirstColStyle" select="$accessfirstColStyle"/>
87
            </xsl:call-template>
88
        </xsl:if>
89

  
90

  
91
  </xsl:template>
92

  
93

  
94
  <xsl:template name="allow_deny">
95
   <xsl:param name="permission"/>
96
   <xsl:param name="accessfirstColStyle" />
97
   <xsl:choose>
98
       <xsl:when test="$permission='allow'">
99
          <xsl:for-each select="allow">
100
            <tr>
101
              <td class="{$accessfirstColStyle}">
102
               Allow:
103
              </td>
104
              <td class="{$accessfirstColStyle}">
105
                <xsl:for-each select="./permission">
106
                  <xsl:text>[</xsl:text><xsl:value-of select="."/><xsl:text>] </xsl:text>
107
                </xsl:for-each>
108
              </td>
109
              <td class="{$accessfirstColStyle}" >
110
                <xsl:for-each select="principal">
111
                  <xsl:value-of select="."/><br/>
112
                </xsl:for-each>
113
              </td>
114
            </tr>
115
          </xsl:for-each>
116
       </xsl:when>
117
       <xsl:otherwise>
118
         <xsl:for-each select="deny">
119
            <tr>
120
              <td class="{$accessfirstColStyle}">
121
               Deny:
122
              </td>
123
              <td class="{$accessfirstColStyle}">
124
                <xsl:for-each select="./permission">
125
                  <xsl:text>[</xsl:text><xsl:value-of select="."/><xsl:text>] </xsl:text>
126
                </xsl:for-each>
127
              </td>
128
              <td class="{$accessfirstColStyle}" >
129
                <xsl:for-each select="principal">
130
                  <xsl:value-of select="."/><br/>
131
                </xsl:for-each>
132
              </td>
133
            </tr>
134
         </xsl:for-each>
135
       </xsl:otherwise>
136
   </xsl:choose>
137

  
138
   </xsl:template>
139

  
140
  <xsl:template name="accesssystem">
141
       <xsl:param name="accessfirstColStyle" />
142
        <tr>
143
          <th colspan="3">
144
            <xsl:text>Access Control:</xsl:text>
145
          </th>
146
        </tr>
147
        <tr>
148
          <td class="{$accessfirstColStyle}">Auth System:</td>
149
          <td class="{$secondColStyle}"><xsl:value-of select="./@authSystem"/></td>
150
        </tr>
151
        <tr>
152
          <td class="{$accessfirstColStyle}">Order:</td>
153
          <td class="{$secondColStyle}"><xsl:value-of select="./@order"/></td>
154
        </tr>
155
  </xsl:template>
156

  
157
</xsl:stylesheet>
158 0

  
lib/style/shared/eml-2.0.0/eml.xsl
1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile$'
4
  *      Authors: Matt Jones
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-dataset.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-access.xsl"/>
34
  <xsl:import href="eml-additionalmetadata.xsl"/>
35
  <xsl:import href="eml-attribute.xsl"/>
36
  <xsl:import href="eml-attribute-enumeratedDomain.xsl"/>
37
  <xsl:import href="eml-constraint.xsl"/>
38
  <xsl:import href="eml-coverage.xsl"/>
39
  <xsl:import href="eml-dataset.xsl"/>
40
  <xsl:import href="eml-datatable.xsl"/>
41
  <xsl:import href="eml-distribution.xsl"/>
42
  <xsl:import href="eml-entity.xsl"/>
43
  <xsl:import href="eml-identifier.xsl"/>
44
  <xsl:import href="eml-literature.xsl"/>
45
  <xsl:import href="eml-method.xsl"/>
46
  <xsl:import href="eml-otherentity.xsl"/>
47
  <xsl:import href="eml-party.xsl"/>
48
  <xsl:import href="eml-physical.xsl"/>
49
  <xsl:import href="eml-project.xsl"/>
50
  <xsl:import href="eml-protocol.xsl"/>
51
  <xsl:import href="eml-resource.xsl"/>
52
  <xsl:import href="eml-settings.xsl"/>
53
  <xsl:import href="eml-software.xsl"/>
54
  <xsl:import href="eml-spatialraster.xsl"/>
55
  <xsl:import href="eml-spatialvector.xsl"/>
56
  <xsl:import href="eml-storedprocedure.xsl"/>
57
  <xsl:import href="eml-text.xsl"/>
58
  <xsl:import href="eml-view.xsl"/>
59

  
60
  <xsl:output method="html" encoding="iso-8859-1"
61
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
62
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
63
    indent="yes" />  
64
  <!-- global variables to store id node set in case to be referenced-->
65
  <xsl:variable name="ids" select="//*[@id!='']"/>
66

  
67
   <xsl:template match="*[local-name()='eml']">
68
     <xsl:for-each select="dataset">
69
       <xsl:call-template name="emldataset"/>
70
     </xsl:for-each>
71
     <xsl:for-each select="citation">
72
       <xsl:call-template name="emlcitation"/>
73
     </xsl:for-each>
74
     <xsl:for-each select="software">
75
       <xsl:call-template name="emlsoftware"/>
76
     </xsl:for-each>
77
     <xsl:for-each select="protocol">
78
       <xsl:call-template name="emlprotocol"/>
79
     </xsl:for-each>
80
     <!-- Additional metadata-->
81
     <xsl:choose>
82
       <xsl:when test="$displaymodule='additionalmetadata'">
83
         <xsl:for-each select="additionalMetadata">
84
           <xsl:if test="$additionalmetadataindex=position()">
85
              <div class="{$tabledefaultStyle}">
86
                 <xsl:call-template name="additionalmetadata"/>
87
               </div>
88
            </xsl:if>
89
         </xsl:for-each>
90
       </xsl:when>
91
       <xsl:otherwise>
92
         <xsl:if test="$displaymodule='dataset'">
93
           <xsl:if test="$withAdditionalMetadataLink='1'">
94
             <xsl:for-each select="additionalMetadata">
95
               <div class="{$tabledefaultStyle}">
96
                 <xsl:call-template name="additionalmetadataURL">
97
                    <xsl:with-param name="index" select="position()"/>
98
                  </xsl:call-template>
99
               </div>
100
             </xsl:for-each>
101
           </xsl:if>
102
         </xsl:if>
103
       </xsl:otherwise>
104
     </xsl:choose>
105
     <!-- xml format-->
106
     <xsl:if test="$displaymodule='dataset'">
107
       <xsl:if test="$withOriginalXMLLink='1'">
108
         <xsl:call-template name="xml"/>
109
       </xsl:if>
110
     </xsl:if>
111
   </xsl:template>
112

  
113
   <!--********************************************************
114
                       dataset part
115
       ********************************************************-->
116

  
117
   <xsl:template name="emldataset">
118
    <div class="{$mainContainerTableStyle}">
119
    <xsl:if test="$displaymodule='dataset'">
120
       <xsl:call-template name="datasetpart"/>
121
    </xsl:if>
122
    <xsl:if test="$displaymodule='entity'">
123
       <xsl:call-template name="entitypart"/>
124
    </xsl:if>
125
    <xsl:if test="$displaymodule='attribute'">
126
       <xsl:call-template name="attributepart"/>
127
    </xsl:if>
128
    <xsl:if test="$displaymodule='attributedomain'">
129
       <xsl:call-template name="datasetattributedomain"/>
130
    </xsl:if>
131
    <xsl:if test="$displaymodule='attributecoverage'">
132
       <xsl:call-template name="datasetattributecoverage"/>
133
    </xsl:if>
134
    <xsl:if test="$displaymodule='attributemethod'">
135
       <xsl:call-template name="datasetattributemethod"/>
136
    </xsl:if>
137
    <xsl:if test="$displaymodule='inlinedata'">
138
       <xsl:call-template name="emlinlinedata"/>
139
    </xsl:if>
140
    <xsl:if test="$displaymodule='attributedetail'">
141
       <xsl:call-template name="entityparam"/>
142
    </xsl:if>
143
    </div>
144
   </xsl:template>
145

  
146
   <!--*************** Data set diaplay *************-->
147
   <xsl:template name="datasetpart">
148
       <xsl:apply-templates select="." mode="dataset"/>
149
   </xsl:template>
150

  
151
   <!--************ Entity diplay *****************-->
152
   <xsl:template name="entitypart">
153
       <xsl:choose>
154
         <xsl:when test="references!=''">
155
            <xsl:variable name="ref_id" select="references"/>
156
            <xsl:variable name="references" select="$ids[@id=$ref_id]" />
157
            <xsl:for-each select="$references">
158
               <xsl:call-template name="entitypartcommon"/>
159
            </xsl:for-each>
160
         </xsl:when>
161
         <xsl:otherwise>
162
            <xsl:call-template name="entitypartcommon"/>
163
        </xsl:otherwise>
164
   </xsl:choose>
165
    </xsl:template>
166

  
167

  
168
    <xsl:template name="entitypartcommon">
169
      <tr><th colspan="2">
170
      Entity Description
171
      </th></tr>
172
      <xsl:call-template name="identifier">
173
          <xsl:with-param name="packageID" select="../@packageId"/>
174
          <xsl:with-param name="system" select="../@system"/>
175
      </xsl:call-template>
176
      <tr>
177
     <td colspan="2">
178
        <!-- find the subtree to process -->
179
       <xsl:call-template name="entityparam"/>
180
     </td>
181
      </tr>
182
   </xsl:template>
183

  
184
   <!--************ Attribute display *****************-->
185
   <xsl:template name="attributedetailpart">
186
   </xsl:template>
187

  
188
    <xsl:template name="attributepart">
189
      <tr><td>
190
      <h3>Attributes Description</h3>
191
      </td></tr>
192
      <tr>
193
     <td>
194
        <!-- find the subtree to process -->
195
      <xsl:if test="$entitytype='dataTable'">
196
        <xsl:for-each select="dataTable">
197
            <xsl:if test="position()=$entityindex">
198
                <xsl:for-each select="attributeList">
199
                   <xsl:call-template name="attributelist">
200
                      <xsl:with-param name="docid" select="$docid"/>
201
                      <xsl:with-param name="entitytype" select="$entitytype"/>
202
                      <xsl:with-param name="entityindex" select="$entityindex"/>
203
                   </xsl:call-template>
204
                </xsl:for-each>
205
            </xsl:if>
206
        </xsl:for-each>
207
      </xsl:if>
208
    </td>
209
      </tr>
210
   </xsl:template>
211

  
212
   <!--************************Attribute Domain display module************************-->
213
   <xsl:template name="datasetattributedomain">
214
      <tr><td>
215
      <h3>Attribute Domain</h3>
216
      </td></tr>
217
      <tr>
218
     <td>
219
       <!-- find the subtree to process -->
220
       <xsl:call-template name="entityparam"/>
221
    </td>
222
      </tr>
223
   </xsl:template>
224

  
225

  
226
   <!--************************Attribute Method display module************************-->
227
   <xsl:template name="datasetattributemethod">
228
      <tr><td>
229
      <h3>Attribute Method</h3>
230
      </td></tr>
231
      <tr>
232
     <td>
233
       <!-- find the subtree to process -->
234
       <xsl:call-template name="entityparam"/>
235
    </td>
236
      </tr>
237
   </xsl:template>
238

  
239

  
240
   <!--************************Attribute Coverage display module************************-->
241
   <xsl:template name="datasetattributecoverage">
242
     <tr><td>
243
      <h3>Attribute Coverage</h3>
244
      </td></tr>
245
      <tr>
246
     <td>
247
       <!-- find the subtree to process -->
248
       <xsl:call-template name="entityparam"/>
249
    </td>
250
      </tr>
251
   </xsl:template>
252

  
253

  
254
   <xsl:template name="entityparam">
255
     <xsl:choose>
256
      <xsl:when test="$entitytype=''">
257
        <xsl:variable name="dataTableCount" select="0"/>
258
        <xsl:variable name="spatialRasterCount" select="0"/>
259
        <xsl:variable name="spatialVectorCount" select="0"/>
260
        <xsl:variable name="storedProcedureCount" select="0"/>
261
        <xsl:variable name="viewCount" select="0"/>
262
        <xsl:variable name="otherEntityCount" select="0"/>
263
        <xsl:for-each select="dataTable|spatialRaster|spatialVector|storedProcedure|view|otherEntity">
264

  
265
        <xsl:if test="'dataTable' = name()">
266
           <xsl:variable name="currentNode" select="."/>
267
           <xsl:variable name="dataTableCount">
268
            <xsl:for-each select="../dataTable">
269
                  <xsl:if test=". = $currentNode">
270
                <xsl:value-of select="position()"/>
271
              </xsl:if>
272
            </xsl:for-each>
273
           </xsl:variable>
274
           <xsl:if test="position() = $entityindex">
275
             <xsl:choose>
276
               <xsl:when test="$displaymodule='attributedetail'">
277
                 <xsl:for-each select="attributeList">
278
                   <xsl:call-template name="singleattribute">
279
                    <xsl:with-param name="attributeindex" select="$attributeindex"/>
280
                    <xsl:with-param name="docid" select="$docid"/>
281
                    <xsl:with-param name="entitytype" select="'dataTable'"/>
282
                    <xsl:with-param name="entityindex" select="$dataTableCount"/>
283
                   </xsl:call-template>
284
                 </xsl:for-each>
285
               </xsl:when>
286
               <xsl:otherwise>
287
                 <xsl:for-each select="../.">
288
                   <xsl:call-template name="chooseentity">
289
                    <xsl:with-param name="entitytype" select="'dataTable'"/>
290
                    <xsl:with-param name="entityindex" select="$dataTableCount"/>
291
                   </xsl:call-template>
292
                  </xsl:for-each>
293
                  </xsl:otherwise>
294
                 </xsl:choose>
295
           </xsl:if>
296
        </xsl:if>
297

  
298
        <xsl:if test="'spatialRaster' = name()">
299
          <xsl:variable name="currentNode" select="."/>
300
           <xsl:variable name="spatialRasterCount">
301
            <xsl:for-each select="../spatialRaster">
302
                  <xsl:if test=". = $currentNode">
303
                <xsl:value-of select="position()"/>
304
              </xsl:if>
305
            </xsl:for-each>
306
           </xsl:variable>
307
            <xsl:if test="position() = $entityindex">
308
           <xsl:choose>
309
               <xsl:when test="$displaymodule='attributedetail'">
310
                 <xsl:for-each select="attributeList">
311
                   <xsl:call-template name="singleattribute">
312
                    <xsl:with-param name="attributeindex" select="$attributeindex"/>
313
                    <xsl:with-param name="docid" select="$docid"/>
314
                    <xsl:with-param name="entitytype" select="'spatialRaster'"/>
315
                    <xsl:with-param name="entityindex" select="$spatialRasterCount"/>
316
                   </xsl:call-template>
317
                 </xsl:for-each>
318
               </xsl:when>
319
               <xsl:otherwise>
320
                 <xsl:for-each select="../.">
321
                   <xsl:call-template name="chooseentity">
322
                    <xsl:with-param name="entitytype" select="'spatialRaster'"/>
323
                    <xsl:with-param name="entityindex" select="$spatialRasterCount"/>
324
                   </xsl:call-template>
325
                  </xsl:for-each>
326
                  </xsl:otherwise>
327
                 </xsl:choose>
328
            </xsl:if>
329
        </xsl:if>
330

  
331
        <xsl:if test="'spatialVector' = name()">
332
          <xsl:variable name="currentNode" select="."/>
333
           <xsl:variable name="spatialVectorCount">
334
            <xsl:for-each select="../spatialVector">
335
                  <xsl:if test=". = $currentNode">
336
                <xsl:value-of select="position()"/>
337
              </xsl:if>
338
            </xsl:for-each>
339
           </xsl:variable>
340
           <xsl:if test="position() = $entityindex">
341
             <xsl:choose>
342
               <xsl:when test="$displaymodule='attributedetail'">
343
                 <xsl:for-each select="attributeList">
344
                   <xsl:call-template name="singleattribute">
345
                    <xsl:with-param name="attributeindex" select="$attributeindex"/>
346
                    <xsl:with-param name="docid" select="$docid"/>
347
                    <xsl:with-param name="entitytype" select="'spatialVector'"/>
348
                    <xsl:with-param name="entityindex" select="$spatialVectorCount"/>
349
                   </xsl:call-template>
350
                 </xsl:for-each>
351
               </xsl:when>
352
               <xsl:otherwise>
353
                 <xsl:for-each select="../.">
354
                   <xsl:call-template name="chooseentity">
355
                    <xsl:with-param name="entitytype" select="'spatialVector'"/>
356
                    <xsl:with-param name="entityindex" select="$spatialVectorCount"/>
357
                   </xsl:call-template>
358
                  </xsl:for-each>
359
                  </xsl:otherwise>
360
                 </xsl:choose>
361
           </xsl:if>
362
        </xsl:if>
363

  
364
        <xsl:if test="'storedProcedure' = name()">
365
          <xsl:variable name="currentNode" select="."/>
366
           <xsl:variable name="storedProcedureCount">
367
            <xsl:for-each select="../storedProcedure">
368
                  <xsl:if test=". = $currentNode">
369
                <xsl:value-of select="position()"/>
370
              </xsl:if>
371
            </xsl:for-each>
372
           </xsl:variable>
373
           <xsl:if test="position() = $entityindex">
374
             <xsl:choose>
375
               <xsl:when test="$displaymodule='attributedetail'">
376
                 <xsl:for-each select="attributeList">
377
                   <xsl:call-template name="singleattribute">
378
                    <xsl:with-param name="attributeindex" select="$attributeindex"/>
379
                    <xsl:with-param name="docid" select="$docid"/>
380
                    <xsl:with-param name="entitytype" select="'storedProcedure'"/>
381
                    <xsl:with-param name="entityindex" select="$storedProcedureCount"/>
382
                   </xsl:call-template>
383
                 </xsl:for-each>
384
               </xsl:when>
385
               <xsl:otherwise>
386
                 <xsl:for-each select="../.">
387
                   <xsl:call-template name="chooseentity">
388
                    <xsl:with-param name="entitytype" select="'storedProcedure'"/>
389
                    <xsl:with-param name="entityindex" select="$storedProcedureCount"/>
390
                   </xsl:call-template>
391
                  </xsl:for-each>
392
                  </xsl:otherwise>
393
              </xsl:choose>
394
           </xsl:if>
395
        </xsl:if>
396

  
397
        <xsl:if test="'view' = name()">
398
          <xsl:variable name="currentNode" select="."/>
399
           <xsl:variable name="viewCount">
400
            <xsl:for-each select="../view">
401
                  <xsl:if test=". = $currentNode">
402
                <xsl:value-of select="position()"/>
403
              </xsl:if>
404
            </xsl:for-each>
405
           </xsl:variable>
406
           <xsl:if test="position() = $entityindex">
407
            <xsl:choose>
408
               <xsl:when test="$displaymodule='attributedetail'">
409
                 <xsl:for-each select="attributeList">
410
                   <xsl:call-template name="singleattribute">
411
                    <xsl:with-param name="attributeindex" select="$attributeindex"/>
412
                    <xsl:with-param name="docid" select="$docid"/>
413
                    <xsl:with-param name="entitytype" select="'view'"/>
414
                    <xsl:with-param name="entityindex" select="$viewCount"/>
415
                   </xsl:call-template>
416
                 </xsl:for-each>
417
               </xsl:when>
418
               <xsl:otherwise>
419
                 <xsl:for-each select="../.">
420
                   <xsl:call-template name="chooseentity">
421
                    <xsl:with-param name="entitytype" select="'view'"/>
422
                    <xsl:with-param name="entityindex" select="$viewCount"/>
423
                   </xsl:call-template>
424
                  </xsl:for-each>
425
                  </xsl:otherwise>
426
                 </xsl:choose>
427
            </xsl:if>
428
        </xsl:if>
429

  
430
        <xsl:if test="'otherEntityTable' = name()">
431
          <xsl:variable name="currentNode" select="."/>
432
           <xsl:variable name="otherEntityCount">
433
            <xsl:for-each select="../otherEntity">
434
                  <xsl:if test=". = $currentNode">
435
                <xsl:value-of select="position()"/>
436
              </xsl:if>
437
            </xsl:for-each>
438
           </xsl:variable>
439
           <xsl:if test="position() = $entityindex">
440
            <xsl:choose>
441
               <xsl:when test="$displaymodule='attributedetail'">
442
                 <xsl:for-each select="attributeList">
443
                   <xsl:call-template name="singleattribute">
444
                    <xsl:with-param name="attributeindex" select="$attributeindex"/>
445
                    <xsl:with-param name="docid" select="$docid"/>
446
                    <xsl:with-param name="entitytype" select="'otherEntity'"/>
447
                    <xsl:with-param name="entityindex" select="$otherEntityCount"/>
448
                   </xsl:call-template>
449
                 </xsl:for-each>
450
               </xsl:when>
451
               <xsl:otherwise>
452
                 <xsl:for-each select="../.">
453
                   <xsl:call-template name="chooseentity">
454
                    <xsl:with-param name="entitytype" select="'otherEntity'"/>
455
                    <xsl:with-param name="entityindex" select="$otherEntityCount"/>
456
                   </xsl:call-template>
457
                  </xsl:for-each>
458
                  </xsl:otherwise>
459
                 </xsl:choose>
460
             </xsl:if>
461
          </xsl:if>
462
        </xsl:for-each>
463
      </xsl:when>
464
      <xsl:otherwise>
465
  <xsl:choose>
466
     <xsl:when test="$displaymodule='attributedetail'">
467
      <xsl:for-each select="attributeList">
468
       <xsl:call-template name="singleattribute">
469
         <xsl:with-param name="attributeindex" select="$attributeindex"/>
470
         <xsl:with-param name="docid" select="$docid"/>
471
         <xsl:with-param name="entitytype" select="$entitytype"/>
472
         <xsl:with-param name="entityindex" select="$entityindex"/>
473
       </xsl:call-template>
474
      </xsl:for-each>
475
     </xsl:when>
476
     <xsl:otherwise>
477
       <xsl:call-template name="chooseentity">
478
         <xsl:with-param name="entitytype" select="$entitytype"/>
479
         <xsl:with-param name="entityindex" select="$entityindex"/>
480
       </xsl:call-template>
481
     </xsl:otherwise>
482
    </xsl:choose>
483
       </xsl:otherwise>
484
     </xsl:choose>
485
   </xsl:template>
486

  
487

  
488
   <xsl:template name="chooseentity" match='dataset'>
489
      <xsl:param name="entityindex"/>
490
      <xsl:param name="entitytype"/>
491
     <xsl:if test="$entitytype='dataTable'">
492
        <xsl:for-each select="dataTable">
493
            <xsl:if test="position()=$entityindex">
494
                   <xsl:choose>
495
                     <xsl:when test="references!=''">
496
                        <xsl:variable name="ref_id" select="references"/>
497
                        <xsl:variable name="references" select="$ids[@id=$ref_id]" />
498
                          <xsl:for-each select="$references">
499
                              <xsl:choose>
500
                                 <xsl:when test="$displaymodule='entity'">
501
                                    <xsl:call-template name="dataTable">
502
                                        <xsl:with-param name="datatablefirstColStyle" select="$firstColStyle"/>
503
                                        <xsl:with-param name="datatablesubHeaderStyle" select="$subHeaderStyle"/>
504
                                        <xsl:with-param name="docid" select="$docid"/>
505
                                        <xsl:with-param name="entitytype" select="$entitytype"/>
506
                                        <xsl:with-param name="entityindex" select="$entityindex"/>
507
                                    </xsl:call-template>
508
                                 </xsl:when>
509
                                 <xsl:otherwise>
510
                                    <xsl:call-template name="chooseattributelist"/>
511
                                 </xsl:otherwise>
512
                              </xsl:choose>
513
                          </xsl:for-each>
514
                     </xsl:when>
515
                     <xsl:otherwise>
516
                       <xsl:choose>
517
                                 <xsl:when test="$displaymodule='entity'">
518
                                    <xsl:call-template name="dataTable">
519
                                        <xsl:with-param name="datatablefirstColStyle" select="$firstColStyle"/>
520
                                        <xsl:with-param name="datatablesubHeaderStyle" select="$subHeaderStyle"/>
521
                                        <xsl:with-param name="docid" select="$docid"/>
522
                                        <xsl:with-param name="entitytype" select="$entitytype"/>
523
                                        <xsl:with-param name="entityindex" select="$entityindex"/>
524
                                    </xsl:call-template>
525
                                 </xsl:when>
526
                                 <xsl:otherwise>
527
                                    <xsl:call-template name="chooseattributelist"/>
528
                                 </xsl:otherwise>
529
                       </xsl:choose>
530
                   </xsl:otherwise>
531
                </xsl:choose>
532
            </xsl:if>
533
        </xsl:for-each>
534
      </xsl:if>
535
      <xsl:if test="$entitytype='spatialRaster'">
536
        <xsl:for-each select="spatialRaster">
537
            <xsl:if test="position()=$entityindex">
538
                   <xsl:choose>
539
                     <xsl:when test="references!=''">
540
                        <xsl:variable name="ref_id" select="references"/>
541
                        <xsl:variable name="references" select="$ids[@id=$ref_id]" />
542
                          <xsl:for-each select="$references">
543
                              <xsl:choose>
544
                                 <xsl:when test="$displaymodule='entity'">
545
                                    <xsl:call-template name="spatialRaster">
546
                                        <xsl:with-param name="spatialrasterfirstColStyle" select="$firstColStyle"/>
547
                                        <xsl:with-param name="spatialrastersubHeaderStyle" select="$subHeaderStyle"/>
548
                                        <xsl:with-param name="docid" select="$docid"/>
549
                                        <xsl:with-param name="entitytype" select="$entitytype"/>
550
                                        <xsl:with-param name="entityindex" select="$entityindex"/>
551
                                    </xsl:call-template>
552
                                 </xsl:when>
553
                                 <xsl:otherwise>
554
                                    <xsl:call-template name="chooseattributelist"/>
555
                                 </xsl:otherwise>
556
                              </xsl:choose>
557
                          </xsl:for-each>
558
                     </xsl:when>
559
                     <xsl:otherwise>
560
                       <xsl:choose>
561
                                 <xsl:when test="$displaymodule='entity'">
562
                                    <xsl:call-template name="spatialRaster">
563
                                        <xsl:with-param name="spatialrasterfirstColStyle" select="$firstColStyle"/>
564
                                        <xsl:with-param name="spatialrastersubHeaderStyle" select="$subHeaderStyle"/>
565
                                        <xsl:with-param name="docid" select="$docid"/>
566
                                        <xsl:with-param name="entitytype" select="$entitytype"/>
567
                                        <xsl:with-param name="entityindex" select="$entityindex"/>
568
                                    </xsl:call-template>
569
                                 </xsl:when>
570
                                 <xsl:otherwise>
571
                                    <xsl:call-template name="chooseattributelist"/>
572
                                 </xsl:otherwise>
573
                       </xsl:choose>
574
                   </xsl:otherwise>
575
                </xsl:choose>
576
            </xsl:if>
577
        </xsl:for-each>
578
      </xsl:if>
579
      <xsl:if test="$entitytype='spatialVector'">
580
        <xsl:for-each select="spatialVector">
581
            <xsl:if test="position()=$entityindex">
582
                   <xsl:choose>
583
                     <xsl:when test="references!=''">
584
                        <xsl:variable name="ref_id" select="references"/>
585
                        <xsl:variable name="references" select="$ids[@id=$ref_id]" />
586
                          <xsl:for-each select="$references">
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff