Project

General

Profile

« Previous | Next » 

Revision 3510

initial skin draft for FIRST project as metacat deployment.
will require [much] more customization to be fully useful for project, but this is a start.

View differences:

lib/style/skins/first/first.js
1
 /*
2
  *   '$RCSfile$'
3
  *     Purpose: Default style sheet for KNB project web pages 
4
  *              Using this stylesheet rather than placing styles directly in 
5
  *              the KNB web documents allows us to globally change the 
6
  *              formatting styles of the entire site in one easy place.
7
  *   Copyright: 2000 Regents of the University of California and the
8
  *               National Center for Ecological Analysis and Synthesis
9
  *     Authors: Matt Jones
10
  *
11
  *    '$Author$'
12
  *      '$Date$'
13
  *  '$Revision$'
14
  *
15
  * This program is free software; you can redistribute it and/or modify
16
  * it under the terms of the GNU General Public License as published by
17
  * the Free Software Foundation; either version 2 of the License, or
18
  * (at your option) any later version.
19
  *
20
  * This program is distributed in the hope that it will be useful,
21
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
  * GNU General Public License for more details.
24
  *
25
  * You should have received a copy of the GNU General Public License
26
  * along with this program; if not, write to the Free Software
27
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28
  */
29

  
30
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
31
 * * * * * *  CONFIGURATION SETTINGS - EDIT THESE FOR YOUR ENVIRONMENT * * * * 
32
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
33

  
34
 
35
//  These settings allow you to include and display common content (eg a common 
36
//  header) on all your pages, in much the same way as a frameset allows you to 
37
//  do, but through the use of iframes and a table instead. You can include up 
38
//  to 4 external pages, each one within the header, footer, left or right areas
39
//
40
//  looks like this (if you're using a fixed width font to display these notes):
41
//    ___________________
42
//    |     header      |
43
//    |-----------------|
44
//    | |             | |
45
//    | |             | |
46
//    |L|   content   |R|
47
//    | |             | |
48
//    | |             | |
49
//    |-----------------|
50
//    |     footer      | 
51
//    -------------------
52
//
53
//  Each area may display another page on the local site, or a page on a 
54
//  different server, or may be set to display nothing (in which case an iframe 
55
//  will not be drawn, although the containing table cell will still need to be 
56
//  resized using the css style - see below) 
57
//
58
//  NOTES:
59
//
60
//  1) if you have any links in the included documents, the target attribute for 
61
//     these *MUST* be set to _top, otherwise the new document will be displayed 
62
//     inside the small iframe areas, instead of replacing the entire page!
63
//     - example: <a href="index.html" target="_top">HOME</a>
64
//   
65
//  2) you will need to set the correct iframe size, in order to accomodate 
66
//     each of these areas on the page. The default location for these size 
67
//     settings is in the default.css file - see the "IFRAME_XXXXXX_CLASS" 
68
//     variables (below) for the name of the style to edit
69
//
70
//  3) you will also need to set the correct table cell sizes and/or overall 
71
//     table size for similar reasons. The default location for these size 
72
//     settings is in the default.css file - see the "TEMPLATE_XXXXXX_CLASS" 
73
//     variables (below) for the name of the style to edit
74

  
75

  
76

  
77
////////////////////////////////////////////////////////////////////////////////
78
//  Edit these variables to define the content that will be loaded into the 
79
//  various iframes. Each may be a relative path to another page on the local 
80
//  site, or a full URL to a page on a remote server, or may be set to the empty 
81
//  string if no content is required at that position on the page (and in which  
82
//  case an iframe will not be drawn, although an empty table cell will still  
83
//  exist unless it is resized smaller) . 
84
//  ( e.g. if you do not want a header to be included, set: HEADER_URL="";)
85
////////////////////////////////////////////////////////////////////////////////
86

  
87

  
88
//  Location of the header that will be displayed at the top of the page
89
var HEADER_URL 
90
  = "@systemidserver@/@context@@style-skins-relpath@/first/header.html";
91

  
92
// Location of the search box that will be displayed above the  
93
//  results on the results page (optional)
94
var SEARCHBOX_URL 
95
  = "";
96
  //= "@systemidserver@/@context@@style-skins-relpath@/esa/searchform.html";
97

  
98
//  Location of the header that will be displayed at the top of the page
99
var LEFTCOL_URL 
100
  = "";
101
  
102
//  Location of the header that will be displayed at the top of the page
103
var RIGHTCOL_URL 
104
  = "";
105
  
106
//  Location of the header that will be displayed at the top of the page
107
var FOOTER_URL 
108
  = "";
109
  
110

  
111

  
112

  
113
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
114
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
115
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
116
/* * * * * * * * *  MAY CHANGE THE FOLLOWING, BUT SHOULDN'T NEED TO* * * * * */ 
117
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
118
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
119
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
120

  
121
  
122
////////////////////////////////////////////////////////////////////////////////
123
//  Edit the default.css file to set the correct iframe sizes to accomodate the 
124
//  header, footer, left and right areas.
125
//  The following variables set the names of the styles that will be applied to 
126
//  each of the iframes - they can be anythign you wish, provided you use the 
127
//  same names for your classes in the css file
128
//  NOTE: these styles apply only to each container frame, *NOT* to the document 
129
//  within it!
130
////////////////////////////////////////////////////////////////////////////////
131

  
132
//header iframe class
133
var IFRAME_HEADER_CLASS         = "iframeheaderclass";
134

  
135
//(metacat only) search box iframe class
136
var IFRAME_SEARCHBOX_CLASS      = "iframesearchboxclass";
137

  
138
//left column iframe class
139
var IFRAME_LEFTCOL_CLASS        = "iframeleftcolclass";
140

  
141
//right column iframe class
142
var IFRAME_RIGHTCOL_CLASS       = "iframerightcolclass";
143

  
144
//footer iframe class
145
var IFRAME_FOOTER_CLASS         = "iframefooterclass";
146

  
147

  
148
////////////////////////////////////////////////////////////////////////////////
149
//  Edit the default.css file to set the correct table sizes to accomodate the 
150
//  header, footer, left and right iframes.
151
//  The following variables set the names of the styles that will be applied to 
152
//  each of the table cells (or the table itself - see below) - they can be 
153
//  anything you wish, provided you use the same names for your classes in the 
154
//  css file
155
//  NOTE: these styles apply only to each table cell, *NOT* to the document 
156
//  inside the iframe that is nested within it! (the exception is 
157
//  TEMPLATE_CONTENTAREA_CLASS, since the content probably isn't within an 
158
//  iframe - so style elements in this class will apply to the content istelf)
159
////////////////////////////////////////////////////////////////////////////////
160

  
161
//entire table class
162
var TEMPLATE_TABLE_CLASS        = "templatetableclass";
163

  
164
//header table-cell class. Note you should not set css "width" on this, since it 
165
//includes a colspan
166
var TEMPLATE_HEADERROW_CLASS    = "templateheaderrowclass";
167

  
168
//left column table-cell class. Note that restricting css "height" on this may 
169
//affect visibility of the main content, since it's in the same table row 
170
var TEMPLATE_LEFTCOL_CLASS      = "templateleftcolclass";
171

  
172
//main central content table-cell class. Note that css attributes set here may 
173
//apply to the content nested inside this cell
174
var TEMPLATE_CONTENTAREA_CLASS  = "templatecontentareaclass";
175

  
176
//rigth column table-cell class. Note that restricting css "height" on this may 
177
//affect visibility of the main content, since it's in the same table row 
178
var TEMPLATE_RIGHTCOL_CLASS     = "templaterightcolclass";
179

  
180
//footer table-cell class. Note you should not set "width" on this, since it 
181
//includes a colspan
182
var TEMPLATE_FOOTERROW_CLASS    = "templatefooterrowclass";
183

  
184

  
0 185

  
lib/style/skins/first/edml-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-style@</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 any html links (emails and webpage).
100
    */
101
-->
102
  <xsl:param name="withHTMLLinks">1</xsl:param>
103

  
104
<!--
105
    /**
106
    *   To show the Attributes table in the entity display.
107
    */
108
-->
109
  <xsl:param name="withAttributes">1</xsl:param>
110

  
111
<!--
112
    /**
113
    *   To insert templates where header and footer are defined.
114
    */
115
-->
116
  <xsl:param name="insertTemplate">1</xsl:param>
117

  
118

  
119
<!--
120
   /**
121
    *   the path of the directory where the XSL and CSS files reside - starts
122
    *   with context name, eg: /myContextRoot/styleDirectory.
123
    *   (As found in "http://hostname:port/myContextRoot/styleDirectory").
124
    *   Needs leading slash but not trailing slash
125
    *
126
    *   EXAMPLE:
127
    *       <xsl:param name="stylePath">/brooke/style</xsl:param>
128
    */
129
-->
130

  
131
    <xsl:param name="stylePath">@style-skins-path@</xsl:param>
132

  
133

  
134
<!--
135
   /*
136
    *   the path of the directory where the common javascript and css files
137
    *   reside - i.e the files that are not skin-specific. Starts
138
    *   with context name, eg: /myContextRoot/styleCommonDirectory.
139
    *   (As found in "http://hostname:port/myContextRoot/styleCommonDirectory").
140
    *
141
    *   EXAMPLE
142
    *       <xsl:param name="styleCommonPath">/brooke/style/common</xsl:param>
143
    */
144
-->
145

  
146
    <xsl:param name="styleCommonPath">@style-common-path@</xsl:param>
147

  
148
	
149
<!--the docid of xml which is processed-->
150
    <xsl:param name="docid"/>
151
<!-- type of entity, data table or spacial raster or others-->
152
    <xsl:param name="entitytype"></xsl:param>
153
<!-- the index of entity in same entity type -->
154
    <xsl:param name="entityindex"/>
155
<!-- the index of attribute in same entity -->
156
    <xsl:param name="attributeindex"/>
157
<!-- the index of physical part in entity part-->
158
    <xsl:param name="physicalindex"/>
159
<!-- the index of distribution in physical part  -->
160
    <xsl:param name="distributionindex"/>
161
<!-- the levle of distribution -->
162
    <xsl:param name="distributionlevel"/>
163
<!-- the index of attribute in attribute list-->
164
    <xsl:param name="attributeindex"/>
165
<!-- the index of additional metadata-->
166
    <xsl:param name="additionalmetadataindex">1</xsl:param>
167
<!-- attribute set to get rid of cell spacing-->
168
    <xsl:attribute-set name="cellspacing">
169
      <xsl:attribute name="cellpadding">0</xsl:attribute>
170
      <xsl:attribute name="cellspacing">0</xsl:attribute>
171
    </xsl:attribute-set>
172
	
173
	
174
	
175

  
176
<!-- determines whether to use metacat or LSID identiers-->
177
	<xsl:param name="lsidauthority"></xsl:param>
178
<!-- the url for the data registry of the dataset-->
179
	<xsl:param name="registryurl"></xsl:param>
180
<!-- the name of the data registry of the dataset-->
181
	<xsl:param name="registryname"></xsl:param>
182

  
183

  
184
<!--
185
    /**
186
    *   The base URI to be used for the href link to each document in a
187
    *   "subject-relationaship-object" triple
188
    *
189
    *   EXAMPLE:
190
    *       <xsl:param name="tripleURI">
191
    *         <![CDATA[/brooke/servlet/metacat?action=read&qformat=knb&docid=]]>
192
    *       </xsl:param>
193
    *
194
    *   (Note in the above case the "qformat=knb" parameter in the url; a system
195
    *   could pass this parameter to the XSLT engine to override the local
196
    *   <xsl:param name="qformat"> tags defined earlier in this document.)
197
    */
198
-->
199

  
200
    <xsl:param name="tripleURI"><![CDATA[@servlet-path@?action=read&qformat=]]><xsl:value-of select="$qformat" /><![CDATA[&docid=]]></xsl:param>
201

  
202
    <!-- URL for xmlformat-->
203
    <xsl:param name="xmlURI"><![CDATA[@servlet-path@?action=read&qformat=xml&docid=]]></xsl:param>
204

  
205

  
206
<!--
207
    /**
208
    *   Most of the html pages are currently laid out as a 2-column table, with
209
    *   highlights for more-major rows containing subsection titles etc.
210
    *   The following parameters are used within the
211
    *           <td width="whateverWidth" class="whateverClass">
212
    *   tags to define the column widths and (css) styles.
213
    *
214
    *   The values of the "xxxColWidth" parameters can be percentages (need to
215
    *   include % sign) or pixels (number only). Note that if a width is defined
216
    *   in the CSS stylesheet (see next paragraph), it will override this local
217
    *   width setting in browsers newer than NN4
218
    *
219
    *   The values of the "xxxColStyle" parameters refer to style definitions
220
    *   listed in the *.css stylesheet that is defined in this xsl document,
221
    *   above (in the <xsl:param name="qformat"> tag).
222
    *
223
    *   (Note that if the "qformat" is changed from the default by passing a
224
    *   value in the url (see notes for <xsl:param name="qformat"> tag, above),
225
    *   then the params below must match style names in the "new" CSS stylesheet
226
    */
227
-->
228

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

  
232
<!--    the style for major rows containing links, such as additional metadata,
233
        original xml file etc. -->
234
  <xsl:param name="linkedHeaderStyle" select="'linkedHeaderStyle'"/>
235

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

  
239
<!-- the style for the first column -->
240
  <xsl:param name="firstColStyle" select="'highlight'"/>
241

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

  
245
<!-- the style for the second column -->
246
  <xsl:param name="secondColStyle" select="'secondCol'"/>
247

  
248
<!-- the style for the attribute table -->
249
  <xsl:param name="tableattributeStyle" select="'tableattribute'"/>
250

  
251
<!-- the style for the border -->
252
  <xsl:param name="borderStyle" select="'bordered'"/>
253

  
254
<!-- the style for the even col in attributes table -->
255
  <xsl:param name="colevenStyle" select="'coleven'"/>
256

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

  
260
<!-- the style for the odd col in attributes table -->
261
  <xsl:param name="coloddStyle" select="'colodd'"/>
262

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

  
266

  
267
<!-- the default alignment style for the wrapper around the main tables -->
268
  <xsl:param name="mainTableAligmentStyle" select="'mainTableAligmentStyle'"/>
269

  
270
<!-- the default style for the main container table -->
271
  <xsl:param name="mainContainerTableStyle" select="'mainContainerTableStyle'"/>
272

  
273
<!-- the default style for all other tables -->
274
  <xsl:param name="tabledefaultStyle" select="'tabledefault'"/>
275

  
276
<!-- the style for table party -->
277
  <xsl:param name="tablepartyStyle" select="'tableparty'"/>
278

  
279
<!-- Some html pages use a nested table in the second column.
280
     Some of these nested tables set their first column to
281
     the following width: -->
282
  <xsl:param name="secondColIndent" select="'10%'"/>
283

  
284
<!-- the first column width of attribute table-->
285
  <xsl:param name="attributefirstColWidth" select="'15%'"/>
286

  
287
</xsl:stylesheet>
0 288

  
lib/style/skins/first/first-resultset.xsl
1
<?xml version="1.0"?>
2
<!--
3
*  '$RCSfile$'
4
*      Authors: Matt Jones, CHad Berkley
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 showing the resultset of a query
29
* into an HTML format suitable for rendering with modern web browsers.
30
-->
31
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
32

  
33
  <xsl:output method="html"/>
34
  <xsl:param name="sessid"/>
35
  <xsl:param name="qformat">default</xsl:param>
36
  <xsl:param name="enableediting">false</xsl:param>
37
  <xsl:template match="/">
38
   <html>
39
      <head>
40
      	<title>Search Results</title>
41
        <link rel="stylesheet" type="text/css" 
42
              href="/knb/style/skins/{$qformat}/{$qformat}.css" />
43
        <script language="Javascript" type="text/JavaScript"
44
                src="/knb/style/skins/{$qformat}/{$qformat}.js" />
45
        <script language="Javascript" type="text/JavaScript"
46
                src="/knb/style/common/branding.js" />
47
        <script language="JavaScript">
48
          <![CDATA[
49
          function submitform(action,form_ref) {
50
              form_ref.action.value=action;
51
              form_ref.sessionid.value="]]><xsl:value-of select="$sessid" /><![CDATA[";
52
              form_ref.qformat.value="]]><xsl:value-of select="$qformat" /><![CDATA[";
53
              form_ref.submit();
54
          }
55

  
56
          ]]>
57
        </script>
58
      </head>
59

  
60
      <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
61
      <script language="JavaScript">
62
          insertTemplateOpening();
63
          insertSearchBox();
64
      </script>
65
        <table width="100%" align="center" border="0" cellpadding="5" cellspacing="0">
66
           <tr>
67
             <td align="left"><br></br><p class="emphasis"><xsl:number value="count(resultset/document)" /> records found</p></td>
68
           </tr></table>
69
<!-- This tests to see if there are returned documents,
70
            if there are not then don't show the query results -->
71

  
72
      <xsl:if test="count(resultset/document) &gt; 0">
73

  
74
         <table width="95%" align="center" border="0" cellpadding="0" cellspacing="0">
75
           <tr>
76
             <th class="tablehead" style="text-align: left">Course Title</th>
77
             <th class="tablehead" style="text-align: left">Assessment Title</th>
78
             <th width="15%" class="tablehead" style="text-align: left">Instructor[s]</th>
79
             <th width="15%" class="tablehead" style="text-align: left">Organization[s]</th>
80
             <th width="15%" class="tablehead" style="text-align: left">Keywords</th>
81
             <xsl:if test="$enableediting = 'true'">
82
               <th width="10%" class="tablehead" style="text-align: middle">Actions</th>
83
             </xsl:if>
84
           </tr>
85

  
86
         <xsl:for-each select="resultset/document">
87
           <xsl:sort select="./param[@name='dataset/title']"/>
88
           <tr valign="top" class="subpanel">
89
             <xsl:attribute name="class">
90
               <xsl:choose>
91
                 <xsl:when test="position() mod 2 = 1">rowodd</xsl:when>
92
                 <xsl:when test="position() mod 2 = 0">roweven</xsl:when>
93
               </xsl:choose>
94
             </xsl:attribute>
95

  
96
             <td class="text_plain">
97
               <form action="/knb/metacat" method="POST">
98
                 <xsl:attribute name="name">
99
                   <xsl:value-of select="translate(./docid, '()-.', '____')" />
100
                 </xsl:attribute>
101

  
102
                 <input type="hidden" name="qformat" />
103
                 <input type="hidden" name="sessionid" />
104
                 <xsl:if test="$enableediting = 'true'">
105
	 	           <input type="hidden" name="enableediting" value="{$enableediting}"/>
106
                 </xsl:if>
107
                 <input type="hidden" name="action" value="read"/>
108
                 <input type="hidden" name="docid">
109
                   <xsl:attribute name="value">
110
                     <xsl:value-of select="./docid"/>
111
                   </xsl:attribute>
112
                 </input>
113
                 <xsl:for-each select="./relation">
114
                   <input type="hidden" name="docid">
115
                     <xsl:attribute name="value" >
116
                       <xsl:value-of select="./relationdoc" />
117
                     </xsl:attribute>
118
                   </input>
119
                 </xsl:for-each>
120

  
121
                 <a>
122
                   <xsl:attribute name="href">javascript:submitform('read',document.<xsl:value-of select="translate(./docid, '()-.', '____')"/>)</xsl:attribute>
123
                   <xsl:text>&#187;&#160;</xsl:text>
124
                   <xsl:choose>
125
                     <xsl:when test="./param[@name='dataset/title']!=''">
126
                        <xsl:value-of select="./param[@name='dataset/title']"/>
127
                     </xsl:when>
128
                     <xsl:otherwise>			
129
                       <xsl:value-of select="./param[@name='lom/general/title/string']"/>
130
                       <xsl:value-of select="./param[@name='lom/general/description/string']"/>
131
                     </xsl:otherwise>
132
                   </xsl:choose>
133
                 </a><br />
134
                 <br/>
135
                 <p><pre>ID: <xsl:value-of select="./docid"/></pre></p>
136

  
137
               </form>
138
             </td>
139

  
140
	     <td class="text_plain">
141
               <xsl:for-each select="./param[@name='assessment/@title']" >
142
                 <xsl:value-of select="." />
143
                 <br/>
144
                </xsl:for-each>
145
             </td>
146
             <td class="text_plain">
147
               <xsl:for-each select="./param[@name='individualName/surName']" >
148
                 <xsl:value-of select="." />
149
                 <br/>
150
                </xsl:for-each>
151
             </td>
152
             <td class="text_plain">
153
             	<xsl:for-each select="./param[@name='organizationName']" >
154
					<xsl:value-of select="." />
155
					<br/>
156
				</xsl:for-each>	
157
             </td>
158

  
159
             <td class="text_plain">
160
               <xsl:for-each
161
                select="./param[@name='keyword']">
162
                 <xsl:value-of select="." />
163
                 <br/>
164
               </xsl:for-each>
165
               <xsl:for-each
166
                select="./param[@name='lom/general/keyword/string']">
167
                 <xsl:value-of select="." />
168
                 <br/>
169
               </xsl:for-each>
170

  
171
             </td>
172
	   
173
             <xsl:if test="$enableediting = 'true'">
174
               <td class="text_plain">
175
	       <form action="/knb/metacat" method="POST">
176
	               <input type="hidden" name="action" value="read"/>
177
	 	       <input type="hidden" name="qformat" value="{$qformat}"/>
178
				<input type="hidden" name="sessionid"  value="{$sessid}"/>
179
                       <input type="hidden" name="docid">
180
                       <xsl:attribute name="value">
181
                          <xsl:value-of select="./docid"/>
182
                       </xsl:attribute>
183
                       </input>
184
                       <center>
185
		       <input type="SUBMIT"  value=" View " name="View">
186
 	               </input>
187
	               </center>
188
	             </form>
189
                 <form action="@cgi-prefix@/cgi-bin/register-dataset.cgi" 
190
                       method="POST">
191
	               <input type="hidden" name="stage" value="modify"/>	
192
	 	           <input type="hidden" name="cfg" value="{$qformat}"/>
193
					<input type="hidden" name="sessionid"  value="{$sessid}"/>
194
                   <input type="hidden" name="docid">
195
                     <xsl:attribute name="value">
196
                       <xsl:value-of select="./docid"/>
197
                     </xsl:attribute>
198
                   </input>
199
                   <center>
200
		             <input type="SUBMIT"  value=" Edit " name="Edit">
201
 	                 </input>
202
	               </center>
203
	             </form>
204
                 <form action="@cgi-prefix@/cgi-bin/register-dataset.cgi" 
205
                       method="POST">
206
	               <input type="hidden" name="stage" value="delete"/>	
207
	 	           <input type="hidden" name="cfg" value="{$qformat}"/>
208
					<input type="hidden" name="sessionid"  value="{$sessid}"/>
209
                   <input type="hidden" name="docid">
210
                     <xsl:attribute name="value">
211
                       <xsl:value-of select="./docid"/>
212
                     </xsl:attribute>
213
                   </input>
214
                   <center>
215
		             <input type="SUBMIT"  value="Delete" name="Delete">
216
 	                 </input>
217
	               </center>
218
	             </form>
219
	           </td>	  
220
             </xsl:if>
221
             </tr>
222
             <tr class="searchresultsdivider">
223
             	<td colspan="5"><img src="/knb/style/skins/default/images/transparent1x1.gif" width="1" height="1" /></td>
224
             </tr>
225

  
226
          </xsl:for-each>
227
          </table>
228

  
229
       </xsl:if>
230
      <script language="JavaScript">
231
          insertTemplateClosing();
232
      </script>
233
    </body>
234
    </html>
235
    </xsl:template>
236

  
237
</xsl:stylesheet>
0 238

  
lib/style/skins/first/first.cfg
1
#
2
# General configuration parameters
3
#
4
metacatUrl = http://@server@@servlet-path@
5
username = uid=knbadmin,o=NCEAS,dc=ecoinformatics,dc=org
6
password = your-pw-goes-here
7
ldapUrl=@ldapUrl@
8
defaultScope = knb
9
organization = Knowledge Network for Biocomplexity
10
orgabbrev = KNB
11
orgurl = http://knb.ecoinformatics.org/
12
responseTemplate = @responseForm@
13
entryFormTemplate = @entryForm@
14
guideTemplate = @guide@
15
confirmDataTemplate = @confirmData@
16
deleteDataTemplate = @deleteData@
17
accesspubid = -//ecoinformatics.org//eml-access-2.0.0beta6//EN
18
accesssysid = eml-access.dtd
19
datasetpubid = eml://ecoinformatics.org/eml-dataset-2.0.0
20
datasetsysid = eml-dataset.dtd
21
mailhost = @mailhost@ 
22
sender = KNB Data Registry <help@nceas.ucsb.edu>
23
recipient = help@nceas.ucsb.edu
24
adminname = the repository administrator
25
debug = 1
26
lsite = 'station'
27
usite = 'Station'
28
showSiteList = 'false'
29
showWgList = 'false'
30
showOrganization = 'true'
31
hasTaxonomic = 'true'
32
hasMethod = 'true'
33
hasSpatial = 'true'
34
hasKeyword = 'true'
35
hasTemporal = 'true'
36
nceas_db = somedb
37
nceas_db_user = someuser
38
nceas_db_password = your-pw-goes-here
0 39

  
lib/style/skins/first/edml.xsl
1
<?xml version="1.0"?>
2
<!--
3
	*  '$RCSfile$'
4
	*      Authors: leinfelder
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 edml.xsd
29
	* module of the Educational Metadata Language (EdML) 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"
33
	xmlns:fn="http://www.w3.org/2005/02/xpath-function"
34
	xmlns:edml="edml://ecoinformatics.org/edml"
35
	xmlns:rp="eml://ecoinformatics.org/party-2.0.1"
36
	xmlns:res="eml://ecoinformatics.org/resource-2.0.1"
37
	xmlns:lom="http://ltsc.ieee.org/xsd/LOM"
38
	xmlns:qti="http://www.imsglobal.org/xsd/ims_qtiasiv1p2"
39
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
40

  
41

  
42
	<xsl:import href="edml-settings.xsl" />
43
	<!-- 
44
		<xsl:import href="eml-additionalmetadata.xsl"/> 
45
		<xsl:import href="eml-coverage.xsl"/>
46
		<xsl:import href="eml-party.xsl"/>
47
		<xsl:import href="eml-text.xsl"/>
48
		<xsl:import href="eml-view.xsl"/>
49
	-->
50
	<xsl:output method="html" encoding="iso-8859-1"
51
		doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
52
		doctype-system="http://www.w3.org/TR/html4/loose.dtd" indent="yes" />
53
	<!-- global variables to store id node set in case to be referenced-->
54
	<xsl:variable name="ids" select="//*[@id!='']" />
55

  
56
	<xsl:template match="/">
57
		<html>
58
			<head>
59
				<title>Assessment Metadata</title>
60
				<link rel="stylesheet" type="text/css"
61
					href="{$stylePath}/{$qformat}/{$qformat}.css">
62
				</link>
63
				<script language="Javascript" type="text/JavaScript"
64
					src="{$stylePath}/{$qformat}/{$qformat}.js">
65
				</script>
66
				<script language="Javascript" type="text/JavaScript"
67
					src="{$styleCommonPath}/branding.js">
68
				</script>
69
			</head>
70
			<body>
71

  
72
				<div id="{$mainTableAligmentStyle}">
73
					<script language="JavaScript"
74
						type="text/JavaScript">
75
						<xsl:if test="$insertTemplate='0'">
76
							<xsl:comment>
77
								insertTemplateOpening();//
78
							</xsl:comment>
79
						</xsl:if>
80
						<xsl:if test="$insertTemplate='1'">
81
							insertTemplateOpening();
82
						</xsl:if>
83
					</script>
84

  
85

  
86
					<table xsl:use-attribute-sets="cellspacing" class="{$mainContainerTableStyle}">
87
						<xsl:apply-templates select="*[local-name()='edml']" />
88
					</table>
89
					<script language="JavaScript"
90
						type="text/JavaScript">
91
						<xsl:if test="$insertTemplate='0'">
92
							<xsl:comment>
93
								insertTemplateClosing();//
94
							</xsl:comment>
95
						</xsl:if>
96
						<xsl:if test="$insertTemplate='1'">
97
							insertTemplateClosing();
98
						</xsl:if>
99
					</script>
100
				</div>
101
			</body>
102
		</html>
103
	</xsl:template>
104

  
105
	<xsl:template match="*[local-name()='edml']">
106
		<tr valign="top">
107
			<td colspan="2">&#160;</td>
108
		</tr>
109
		<tr valign="top">
110
			<th colspan="2" class="tablehead">Contact Information</th>
111
		</tr>	
112
		<tr valign="top">
113
			<td>
114
				<xsl:for-each select="institution">
115
					<xsl:call-template name="institution" />
116
				</xsl:for-each>
117
			</td>
118
			<td>	
119
				<xsl:for-each select="instructor">
120
					<xsl:call-template name="instructor" />
121
				</xsl:for-each>
122
			</td>
123
		</tr>
124
		<tr valign="top">
125
			<td colspan="2">&#160;</td>
126
		</tr>
127
		<tr valign="top">
128
			<td colspan="2">		
129
				<xsl:for-each select="compositeCourse">
130
					<xsl:call-template name="course" />
131
				</xsl:for-each>
132
			</td>
133
		</tr>
134
		<tr valign="top">
135
			<td colspan="2">&#160;</td>
136
		</tr>
137
		<tr valign="top">
138
			<td colspan="2">
139
				<xsl:for-each select="compositeQTI">
140
					<xsl:call-template name="compositeQTI" />
141
				</xsl:for-each>
142
			</td>
143
		</tr>
144
	</xsl:template>
145

  
146
	<!--********************************************************
147
		institution part
148
		********************************************************-->
149
	<xsl:template name="institution">
150
		<table xsl:use-attribute-sets="cellspacing">
151
			<tr>
152
				<th colspan="2">
153
					Institution Information
154
				</th>
155
			</tr>
156
			<tr>
157
				<td width="{$firstColWidth}" class="{$firstColStyle}">Name:</td>
158
				<td><xsl:value-of select="organizationName" /></td>
159
			</tr>
160
			<tr>
161
				<td width="{$firstColWidth}" class="{$firstColStyle}">Address:</td>
162
				<td> 
163
					<xsl:value-of select="address/deliveryPoint" />
164
					<br/>
165
					<xsl:value-of select="address/city" />, 
166
					<xsl:value-of select="address/administrativeArea" />&#160;
167
					<xsl:value-of select="address/postalCode" />
168
				</td>
169
			</tr>
170
			<tr>
171
				<td width="{$firstColWidth}" class="{$firstColStyle}">Phone:</td>
172
				<td>
173
					<xsl:for-each select="phone">
174
						<xsl:value-of select="@phonetype" />: <xsl:value-of select="." />
175
						<br/>
176
					</xsl:for-each>
177
				</td>
178
			</tr>
179
			<tr>
180
				<td width="{$firstColWidth}" class="{$firstColStyle}">Email:</td>
181
				<td>
182
					<xsl:for-each select="electronicMailAddress">
183
						<xsl:value-of select="." />
184
						<br/>
185
					</xsl:for-each>
186
				</td>
187
			</tr>
188
		</table>
189
	</xsl:template>
190
	
191
	<!--********************************************************
192
		instructor part
193
		********************************************************-->
194
	<xsl:template name="instructor">
195
		<table xsl:use-attribute-sets="cellspacing">
196
			<tr>
197
				<th colspan="2">
198
					Instructor Information
199
				</th>
200
			</tr>
201
			<tr>
202
				<td width="{$firstColWidth}" class="{$firstColStyle}">Name:</td>
203
				<td>
204
					<xsl:for-each select="individualName">
205
						<xsl:value-of select="surName" />,&#160;
206
						<xsl:value-of select="givenName" />
207
						<br/>
208
					</xsl:for-each>
209
				</td>
210
			</tr>
211
			<tr>
212
				<td width="{$firstColWidth}" class="{$firstColStyle}">Organization:</td>
213
				<td><xsl:value-of select="organizationName" /></td>
214
			</tr>
215
			<tr>
216
				<td width="{$firstColWidth}" class="{$firstColStyle}">Address:</td>
217
				<td>
218
					<xsl:value-of select="address/deliveryPoint" />
219
					<br/>
220
					<xsl:value-of select="address/city" />, 
221
					<xsl:value-of select="address/administrativeArea" />&#160;
222
					<xsl:value-of select="address/postalCode" />
223
				</td>
224
			</tr>
225
			<tr>
226
				<td width="{$firstColWidth}" class="{$firstColStyle}">Phone:</td>
227
				<td>
228
					<xsl:for-each select="phone">
229
						<xsl:value-of select="@phonetype" />: <xsl:value-of select="." />
230
						<br/>
231
					</xsl:for-each>	
232
				</td>
233
			</tr>
234
			<tr>
235
				<td width="{$firstColWidth}" class="{$firstColStyle}">Email:</td>
236
				<td>
237
					<xsl:for-each select="electronicMailAddress">
238
						<xsl:value-of select="." />
239
						<br/>
240
					</xsl:for-each>			
241
				</td>
242
			</tr>
243
			
244
		</table>
245
	</xsl:template>
246

  
247
	<!--********************************************************
248
		Assessment part
249
		********************************************************-->
250
	<xsl:template name="compositeQTI">
251
		<table xsl:use-attribute-sets="cellspacing" class="{$tabledefaultStyle}" width="100%">
252
			<tr>
253
				<th colspan="2" class="tablehead">
254
					Assessment Information
255
				</th>
256
			</tr>
257
			<xsl:for-each select="questestinterop/qti:assessment">
258
				<tr>
259
					<th colspan="2">
260
						General
261
					</th>
262
				</tr>			
263
				<tr>
264
					<td width="{$firstColWidth}" class="{$firstColStyle}">Title:</td>
265
					<td><xsl:value-of select="@title" /></td>
266
				</tr>
267
				<tr>	
268
					<td width="{$firstColWidth}" class="{$firstColStyle}">ID:</td>
269
					<td><xsl:value-of select="@ident" /></td>
270
				</tr>
271
				<tr>	
272
					<td width="{$firstColWidth}" class="{$firstColStyle}">Duration:</td>
273
					<td><xsl:value-of select="qti:duration" /></td>
274
				</tr>
275
			</xsl:for-each>
276
			
277
			<!-- additional assessment info -->
278
			<xsl:for-each select=".">
279
				<tr>
280
					<td width="{$firstColWidth}" class="{$firstColStyle}">Timing:</td>
281
					<td>
282
						Material introduced: <xsl:value-of select="timing/rangeOfDates/beginDate/calendarDate" />
283
						<br/>
284
						Material tested: <xsl:value-of select="timing/rangeOfDates/endDate/calendarDate" />
285
					</td>
286
				</tr>
287
				<tr>	
288
					<td width="{$firstColWidth}" class="{$firstColStyle}">Instructional Strategy:</td>
289
					<td>
290
						<xsl:for-each select="instructionalStrategy" >
291
							<xsl:value-of select="." />
292
							<br/>
293
						</xsl:for-each>
294
					</td>
295
				</tr>
296
				<tr>	
297
					<td width="{$firstColWidth}" class="{$firstColStyle}">Incentive[s]:</td>
298
					<td>
299
						<xsl:for-each select="incentive" >
300
							<xsl:value-of select="." />
301
							<br/>
302
						</xsl:for-each>
303
					</td>
304
				</tr>
305
				<tr>	
306
					<td width="{$firstColWidth}" class="{$firstColStyle}">Group Size:</td>
307
					<td><xsl:value-of select="groupSize" /></td>
308
				</tr>
309
				<tr>	
310
					<td width="{$firstColWidth}" class="{$firstColStyle}">Assessment File:</td>
311
					<td>
312
						<xsl:value-of select="assessmentFile/objectName" />
313
						(<xsl:value-of select="assessmentFile/dataFormat/externallyDefinedFormat/formatName" />)
314
					</td>
315
				</tr>
316
				<tr>	
317
					<td width="{$firstColWidth}" class="{$firstColStyle}">Response File:</td>
318
					<td>
319
						<xsl:value-of select="responseFile/objectName" />
320
						(<xsl:value-of select="responseFile/dataFormat/externallyDefinedFormat/formatName" />)
321
					</td>
322
				</tr>
323
				
324
				<!-- access information -->
325
				<tr valign="top">	
326
					<td width="{$firstColWidth}" class="{$firstColStyle}">Access Control:</td>
327
					<td>
328
						<table>
329
							<tr>
330
								<td colspan="2">
331
									<xsl:value-of select="access/@authSystem" />
332
								</td>
333
							</tr>
334
							<tr>
335
								<td colspan="2">Allow</td>
336
							</tr>
337
							
338
							<xsl:for-each select="access/allow">
339
								<tr>
340
									<td width="{$firstColWidth}" class="{$firstColStyle}">
341
										<xsl:for-each select="permission">
342
											<xsl:value-of select="."/>
343
											<br/>
344
										</xsl:for-each>
345
									</td>
346
									<td>
347
										<xsl:for-each select="principal">
348
											<xsl:value-of select="."/>
349
											<br/>	
350
										</xsl:for-each>
351
									</td>
352
								</tr>
353
							</xsl:for-each>
354
						</table>		
355
					</td>
356
				</tr>
357
			
358
			</xsl:for-each>	
359
				
360
			<!-- Questions below -->	
361
			<xsl:for-each select="questestinterop/qti:assessment">	
362
				<tr>
363
					<th colspan="2">Questions</th>
364
				</tr>
365
				<tr valign="top">
366
					<!-- <td width="{$firstColWidth}" class="{$firstColStyle}"></td>
367
					<td>
368
					-->
369
					<td colspan="2">
370
						<ol>
371
							<xsl:for-each select="qti:section/qti:item">
372
								<xsl:call-template name="question"/>
373
							</xsl:for-each>
374
						</ol>
375
					</td>
376
				</tr>	
377
			
378
			</xsl:for-each>
379
		</table>
380

  
381
	</xsl:template>
382
	
383
	<!--********************************************************
384
		Question item part
385
		********************************************************-->
386
	<xsl:template name="question">
387
		<li>
388
			<xsl:value-of select="@title" /> (<xsl:value-of select="@ident" />)
389
			<table>
390
				<tr>
391
					<td width="{$firstColWidth}" class="{$firstColStyle}">Prompt:</td>
392
					<td><xsl:value-of select="qti:presentation/qti:flow/qti:material/qti:mattext" /></td>
393
				</tr>
394
				
395
				<tr>
396
					<td width="{$firstColWidth}" class="{$firstColStyle}">Choices:</td>
397
					<td>
398
						<xsl:for-each select="qti:presentation/qti:flow/qti:response_lid/qti:render_choice/qti:response_label">
399
							<xsl:value-of select="@ident"/>) <xsl:value-of select="qti:flow_mat/qti:material/qti:mattext"/>
400
							<br/> 
401
						</xsl:for-each>
402
					</td>
403
				</tr>
404
								
405
				<tr>
406
					<td width="{$firstColWidth}" class="{$firstColStyle}">Answer:</td>
407
					<td>
408
						<xsl:for-each select="qti:resprocessing/qti:respcondition/qti:conditionvar">
409
							<xsl:if test="qti:varequal != ''" >
410
								<xsl:value-of select="qti:varequal" />
411
							</xsl:if>
412
							<xsl:if test="qti:vargte != ''" >
413
								gte: <xsl:value-of select="qti:vargte" />
414
								<br/>
415
							</xsl:if>
416
							<xsl:if test="qti:varlte != ''" >	
417
								lte: <xsl:value-of select="qti:varlte" />
418
								<br/>
419
							</xsl:if>
420
								
421
						</xsl:for-each>
422
					</td>
423
				</tr>
424
				
425
				<tr valign="top">
426
					<td width="{$firstColWidth}" class="{$firstColStyle}">Objectives:</td>
427
					<td>
428
						<xsl:for-each select="qti:objectives/qti:material">
429
							<xsl:value-of select="qti:mattext"/>
430
							<br />
431
						</xsl:for-each>
432
					</td>
433
				</tr>
434
				
435
				<tr valign="top">
436
					<td width="{$firstColWidth}" class="{$firstColStyle}">Metadata:</td>
437
					<td>
438
						<xsl:for-each select="qti:itemmetadata/qti:qtimetadata">
439
							<xsl:call-template name="qtiMetadata" />
440
						</xsl:for-each>
441
					</td>
442
				</tr>
443
			</table>
444
		</li>
445
	</xsl:template>		
446
				
447
	
448
	<!--********************************************************
449
		Asssessment - QTI metadata part
450
		********************************************************-->
451
	<xsl:template name="qtiMetadata">
452
		<table xsl:use-attribute-sets="cellspacing" class="{$tabledefaultStyle}" width="100%">
453
			<tr valign="top">
454
				<td>
455
					<xsl:value-of select="qti:vocabulary" />
456
					(<xsl:value-of select="qti:vocabulary/@uri" />)
457
				</td>
458
			</tr>
459
			<tr>	
460
				<td>
461
					<xsl:for-each select=".">
462
						<table>
463
							<xsl:for-each select="qti:qtimetadatafield">
464
								<tr>
465
									<td width="{$firstColWidth}" class="{$firstColStyle}">
466
										<xsl:value-of
467
											select="qti:fieldlabel" />:
468
									</td>
469
									<td>
470
										<xsl:value-of
471
											select="qti:fieldentry" />
472
									</td>
473
								</tr>
474
							</xsl:for-each>
475
						</table>
476
					</xsl:for-each>
477
				</td>
478
			</tr>
479
		</table>
480
	</xsl:template>
481

  
482
	<!--********************************************************
483
		Course part
484
		********************************************************-->
485
	<xsl:template name="course">
486
		<table xsl:use-attribute-sets="cellspacing" class="{$tabledefaultStyle}" width="100%">
487
			<tr>
488
				<th colspan="2" class="tablehead">
489
					Course Information
490
				</th>
491
			</tr>
492
			<tr valign="top">
493
				<td>
494
					<!-- general info -->
495
					<xsl:for-each select="lom/lom:general">
496
						<xsl:call-template name="lomGeneral"/>
497
					</xsl:for-each>
498
				</td>
499
			
500
				<td>
501
					<!-- education info -->
502
					<xsl:for-each select="lom/lom:educational">
503
						<xsl:call-template name="lomEducational"/>
504
					</xsl:for-each>
505
				</td>
506
			</tr>
507
			
508
			<tr valign="top">	
509
				<td>
510
					<!-- relation info -->
511
					<xsl:for-each select="lom/lom:relation">
512
						<xsl:call-template name="lomRelation"/>
513
					</xsl:for-each>
514
				</td>
515
				
516
				<td>
517
					<!-- classification info -->
518
					<xsl:for-each select="lom/lom:classification">
519
						<xsl:call-template name="lomClassification"/>
520
					</xsl:for-each>
521
				</td>
522
				
523
			</tr>
524
			
525
		</table>
526

  
527
	</xsl:template>
528
	
529
	<!--********************************************************
530
		lomGeneral part
531
		********************************************************-->
532
	<xsl:template name="lomGeneral">
533
		<xsl:for-each select=".">
534
			<table>
535
				<tr>
536
					<th colspan="2">
537
						General
538
					</th>
539
				</tr>
540
				<tr>
541
					<td width="{$firstColWidth}" class="{$firstColStyle}">Title:</td>
542
					<td>
543
						<xsl:value-of
544
							select="lom:title/lom:string" />
545
					</td>
546
				</tr>
547
				<tr>
548
					<td width="{$firstColWidth}" class="{$firstColStyle}">ID:</td>
549
					<td>
550
						<xsl:value-of
551
							select="lom:identifier/lom:catalog" />
552
							/
553
						<xsl:value-of
554
							select="lom:identifier/lom:entry" />
555
					</td>
556
				</tr>
557
				<tr>
558
					<td width="{$firstColWidth}" class="{$firstColStyle}">Description:</td>
559
					<td>
560
						<xsl:value-of
561
							select="lom:description/lom:string" />
562
					</td>
563
				</tr>
564
				<tr>
565
					<td width="{$firstColWidth}" class="{$firstColStyle}">Year:</td>
566
					<td><xsl:value-of select="../../year"/></td>
567
				</tr>
568
				<tr>
569
					<td width="{$firstColWidth}" class="{$firstColStyle}">Term:</td>
570
					<td><xsl:value-of select="../../term"/></td>
571
				</tr>
572
				<tr>
573
					<td width="{$firstColWidth}" class="{$firstColStyle}">Dates:</td>
574
					<td>
575
						<xsl:value-of select="../../coverage/rangeOfDates/beginDate"/>
576
						to
577
						<xsl:value-of select="../../coverage/rangeOfDates/endDate"/>
578
					</td>
579
				</tr>
580
				<tr>
581
					<td width="{$firstColWidth}" class="{$firstColStyle}"><xsl:value-of select="../../credit/@measurementUnit"/>:</td>
582
					<td>
583
						<xsl:value-of select="../../credit"/>
584
					</td>
585
				</tr>
586
				<tr valign="top">
587
					<td width="{$firstColWidth}" class="{$firstColStyle}">Student Count:</td>
588
					<td>
589
						<table>
590
							<xsl:for-each select="../../studentCount[@level!='']">
591
								<tr>
592
									<td  width="{$firstColWidth}" class="{$firstColStyle}">
593
										Level <xsl:value-of select="@level"/>:
594
									</td>
595
									<td>
596
										<xsl:value-of select="."/>
597
									</td>
598
								</tr>
599
							</xsl:for-each>	
600
						</table>
601
					</td>
602
				</tr>
603
				<tr valign="top">
604
					<td width="{$firstColWidth}" class="{$firstColStyle}">Class Time:</td>
605
					<td>
606
						<table>
607
							<xsl:for-each select="../../classTime[@type!='']">
608
								<tr>
609
									<td  width="{$firstColWidth}" class="{$firstColStyle}">
610
										<xsl:value-of select="@type"/>:
611
									</td>
612
									<td>
613
										<xsl:value-of select="."/> (<xsl:value-of select="@measurementUnit"/>)
614
									</td>
615
								</tr>
616
							</xsl:for-each>	
617
						</table>
618
					</td>
619
				</tr>
620
			</table>
621
		</xsl:for-each>
622
	</xsl:template>	
623

  
624
	<!--********************************************************
625
		lomEducational part
626
		********************************************************-->
627
	<xsl:template name="lomEducational">
628
		<table>
629
			<tr>
630
				<th colspan="2">
631
					Educational
632
				</th>
633
			</tr>
634
			<tr>
635
				<td width="{$firstColWidth}" class="{$firstColStyle}">Context:</td>
636
				<td>
637
					<ul>
638
						<xsl:for-each select="lom:context">
639
							<li>
640
								<xsl:value-of select="lom:value" /> (<xsl:value-of select="lom:source" />)
641
							</li>	
642
						</xsl:for-each>	
643
					</ul>	
644
				</td>
645
			</tr>
646
			<tr>
647
				<td width="{$firstColWidth}" class="{$firstColStyle}">Intended End-User Role:</td>
648
				<td>
649
					<ul>
650
						<xsl:for-each select="lom:intendedEndUserRole">
651
							<li>
652
								<xsl:value-of select="lom:value" /> (<xsl:value-of select="lom:source" />)
653
							</li>	
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff