source: trunk/t3d/xslt/html.xsl @ 7

Last change on this file since 7 was 7, checked in by phdmakk, 14 years ago
  • Property svn:mime-type set to text/plain
File size: 39.2 KB
Line 
1<?xml version="1.0"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="2.0">
3<xsl:output method="xhtml" indent="yes" name="html" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>
4
5<xsl:param name="folder"/>
6<xsl:param name="includeconstructbodies"/>
7<xsl:param name="hideconstructbodies"/>
8<xsl:param name="showOriginalT3DocTags"/>
9<xsl:template match="/">
10
11<!-- main view index page -->
12 <xsl:variable name="filename" select="concat('file:///', $folder, '/html/index.html')"/>
13 <xsl:value-of select="$filename"/>
14 <xsl:result-document href="{$filename}" format="html">
15
16<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
17 <xsl:call-template name="html_head">
18  <xsl:with-param name="title" select="'Main Index'"/>
19 </xsl:call-template> 
20 <body onload="init(); toggleConstructbodies('{$hideconstructbodies}');">
21  <xsl:call-template name="views"/>
22  <xsl:call-template name="main_index">
23   <xsl:with-param name="modulename" select="'_T3D_FullIndex_'"/>
24  </xsl:call-template>
25  <p id="p_header">Index</p>
26  <div id="div_content">
27   <div id="div_statistics">
28    <table id="table_statistics">
29     <tr>
30      <th>Module</th>
31      <th>Documentation Files</th>     
32      <th>Documentation Tags</th>       
33     </tr>
34     <xsl:for-each select="//module">
35      <xsl:sort select="name/text()"/>
36      <xsl:variable name="modulename" select="name/text()"/>
37      <tr>
38       <td class="td_table_statistics_modules"><a href="{concat(name/text(), '.html')}"><xsl:value-of select="name/text()"/></a></td>
39       <td>
40        <xsl:value-of select="count(//element[modulename/text() eq $modulename] | //group[modulename/text() eq $modulename]) + count(//element[modulename/text() eq $modulename and (@type eq 'Testcase' or @type eq 'Module Parameter')]) + 3"/>
41       </td>
42       <td>
43        <xsl:value-of select="count((. | //element[modulename/text() eq $modulename] | //group[modulename/text() eq $modulename])/comment/(author | config | desc | exception | member | param | purpose | remark | return | see | since | status | url | verdict | version))"/>
44       </td>       
45      </tr>       
46     </xsl:for-each>
47    </table>   
48   </div>
49  </div>
50 </body>
51</html>
52 </xsl:result-document>
53 
54<!-- import view index page -->
55 <xsl:variable name="filename_import" select="concat('file:///', $folder, '/html/import_index.html')"/>
56 <xsl:value-of select="$filename_import"/>
57 <xsl:result-document href="{$filename_import}" format="html">
58<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
59 <xsl:call-template name="html_head">
60  <xsl:with-param name="title" select="'Import View'"/>
61 </xsl:call-template>
62 <body onload="init();">
63  <xsl:call-template name="views">
64   <xsl:with-param name="togglemode" select="'import'"/>
65  </xsl:call-template>
66  <xsl:call-template name="index_modulelist">
67   <xsl:with-param name="prefix" select="'import_'"/>
68  </xsl:call-template>
69  <p id="p_header">Import  View</p>
70  <div id="div_content">
71   <div id="div_import">
72    <table id="table_import">
73     <tr>
74      <th><span class="imports">imports</span></th><th>Modules</th><th><span class="importedby">imported by</span></th>
75     </tr>
76     <tr>
77      <td>
78      </td>
79      <td id="table_import_modules">
80       <xsl:for-each select="//module">
81        <xsl:sort select="name/text()"/>
82        <p>
83          <a href="{concat('import_',./name/text(), '.html')}"><xsl:value-of select="./name/text()"/></a>
84        </p>
85       </xsl:for-each>
86      </td>
87      <td>
88      </td>
89     </tr>
90    </table>
91   </div>
92  </div>
93 </body>
94</html>
95 </xsl:result-document>
96
97<!-- module parameter view index page --> 
98 <xsl:variable name="filename_mp" select="concat('file:///', $folder, '/html/mp_index.html')"/>
99 <xsl:value-of select="$filename_mp"/>
100 <xsl:result-document href="{$filename_mp}" format="html">
101<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
102 <xsl:call-template name="html_head">
103  <xsl:with-param name="title" select="'Module Parameter/Testcase View Index'"/>
104 </xsl:call-template>
105 <body onload="mp_init()">
106  <xsl:call-template name="views">
107   <xsl:with-param name="togglemode" select="'mp'"/>
108  </xsl:call-template>
109  <xsl:call-template name="mp_index">
110   <xsl:with-param name="modulename" select="'_T3D_FullIndex_'"/>
111  </xsl:call-template>
112  <p id="p_header">Module Parameter/Testcase View</p>
113  <div id="div_content">
114   <xsl:call-template name="mp_allTables">
115    <xsl:with-param name="parameters" select="//mpview_ModuleParDef"/>
116    <xsl:with-param name="testcases" select="//element[@type eq 'Testcase']"/>
117   </xsl:call-template>
118  </div>
119 </body>
120</html>
121 </xsl:result-document>
122<!-- /index -->
123<!-- module -->
124<xsl:for-each select="//module">
125 <xsl:variable name="currentmodule" select="name/text()"/>
126 <xsl:variable name="currentindex">
127  <xsl:call-template name="main_index">
128   <xsl:with-param name="modulename" select="$currentmodule"/>
129  </xsl:call-template>
130 </xsl:variable>
131 <xsl:variable name="currentmp_index">
132  <xsl:call-template name="mp_index">
133   <xsl:with-param name="modulename" select="$currentmodule"/>
134  </xsl:call-template>
135 </xsl:variable>
136 
137 <xsl:variable name="filename" select="concat('file:///', $folder, '/html/', name/text(), '.html')"/>
138 <xsl:value-of select="$filename"/>
139 <xsl:result-document href="{$filename}" format="html">
140
141<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
142 <xsl:call-template name="html_head">
143  <xsl:with-param name="title" select="name/text()"/>
144 </xsl:call-template> 
145 <body onload="init('module'); toggleConstructbodies('{$hideconstructbodies}');">   
146  <xsl:call-template name="main_allElements">
147   <xsl:with-param name="this" select="."/>
148   <xsl:with-param name="currentindex" select="$currentindex"/>
149  </xsl:call-template>
150 </body>
151</html>
152</xsl:result-document>
153<!-- /module -->
154<!-- module mp_view -->
155 <xsl:variable name="filename" select="concat('file:///', $folder, '/html/mp_', name/text(), '.html')"/>
156 <xsl:value-of select="$filename"/>
157 <xsl:result-document href="{$filename}" format="html">
158  <xsl:variable name="modulename" select="name/text()"/>
159 
160<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
161 <xsl:call-template name="html_head">
162  <xsl:with-param name="title" select="concat($modulename, ' - Module Parameter/Testcase View')"/>
163 </xsl:call-template>
164 <body onload="mp_init('module')">   
165  <xsl:call-template name="views">
166   <xsl:with-param name="main" select="concat($modulename, '.html')"/>
167   <xsl:with-param name="mp" select="concat($modulename, '.html')"/>
168   <xsl:with-param name="import" select="concat($modulename, '.html')"/>
169   <xsl:with-param name="togglemode" select="'mp'"/>
170  </xsl:call-template>   
171  <xsl:copy-of select="$currentmp_index"/>
172  <p id="p_header"><a href="mp_index.html">Index</a><xsl:value-of select="' / '"/><xsl:value-of select="$modulename"/> - Module Parameter/Testcase View</p>
173  <div id="div_content">
174   <xsl:call-template name="mp_allTables">
175    <xsl:with-param name="parameters" select="//element[modulename/text() eq $modulename and @type eq 'parameter']//mpview_ModuleParDef"/>
176    <xsl:with-param name="testcases" select="//element[modulename/text() eq $modulename and @type eq 'Testcase']"/>
177   </xsl:call-template>
178  </div>
179 </body>
180</html>
181 </xsl:result-document> 
182<!-- /module mp_view -->
183
184
185<!-- element -->
186
187 <xsl:for-each select="//element[modulename/text() eq $currentmodule]">
188  <xsl:variable name="filename" select="concat('file:///', $folder, '/html/', location/text())"/>
189  <xsl:value-of select="$filename"/>
190   <xsl:result-document href="{$filename}" format="html">
191
192<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
193 <xsl:call-template name="html_head">
194  <xsl:with-param name="title" select="name/text()"/>
195 </xsl:call-template> 
196 
197 <body onload="init('{@type}'); toggleConstructbodies('{$hideconstructbodies}');">
198  <xsl:call-template name="main_allElements">
199   <xsl:with-param name="this" select="."/>
200   <xsl:with-param name="currentindex" select="$currentindex"/>
201  </xsl:call-template>
202 </body>
203</html>
204  </xsl:result-document>
205<!-- /element -->
206<!-- element TC -->
207<xsl:if test="@type eq 'Testcase'">
208 <xsl:variable name="filename" select="concat('file:///', $folder, '/html/mp_', location/text())"/>
209  <xsl:value-of select="$filename"/>
210   <xsl:result-document href="{$filename}" format="html">
211<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
212 <xsl:call-template name="html_head">
213  <xsl:with-param name="title" select="name/text()"/>
214 </xsl:call-template> 
215 <body onload="mp_init('Testcase')"> 
216  <xsl:call-template name="views">
217   <xsl:with-param name="main" select="location/text()"/>
218   <xsl:with-param name="mp" select="location/text()"/>
219   <xsl:with-param name="togglemode" select="'mp'"/>
220  </xsl:call-template>
221  <xsl:copy-of select="$currentmp_index"/>
222  <p id="p_header">
223   <a href="mp_index.html">Index</a> / <a href="{concat('mp_', modulename/text(), '.html')}"><xsl:value-of select="modulename/text()"/></a>
224   <xsl:if test="path/path_group">
225    <xsl:call-template name="path">
226     <xsl:with-param name="this" select="path"/>
227     <xsl:with-param name="prefix" select="'mp_'"/>
228    </xsl:call-template>
229   </xsl:if>
230   <xsl:value-of select="' / '"/> <a href="{location/text()}"><xsl:value-of select="name/text()"/></a>
231    - Module Parameter/Testcase View
232  </p>     
233  <div id="div_content">
234   <div id="div_mp">
235    <xsl:call-template name="mp_testcase_table">
236     <xsl:with-param name="this" select="."/>
237    </xsl:call-template>
238   </div>
239  </div>
240 </body>
241</html>
242 </xsl:result-document>
243</xsl:if>
244
245<xsl:if test="@type eq 'Module Parameter'">
246 <xsl:variable name="filename" select="concat('file:///', $folder, '/html/mp_', location/text())"/>
247 <xsl:value-of select="$filename"/>
248 <xsl:result-document href="{$filename}" format="html">
249
250<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
251 <xsl:call-template name="html_head">
252  <xsl:with-param name="title" select="name/text()"/>
253 </xsl:call-template> 
254 <body onload="mp_init('Module Parameter')">
255  <xsl:call-template name="views">
256   <xsl:with-param name="main" select="location/text()"/>
257   <xsl:with-param name="mp" select="location/text()"/>
258   <xsl:with-param name="togglemode" select="'mp'"/>
259  </xsl:call-template>
260  <xsl:copy-of select="$currentmp_index"/>
261  <p id="p_header">
262   <a href="mp_index.html">Index</a> / <a href="{concat('mp_', modulename/text(), '.html')}"><xsl:value-of select="modulename/text()"/></a>
263   <xsl:if test="path/path_group">
264    <xsl:call-template name="path">
265     <xsl:with-param name="this" select="path"/>
266     <xsl:with-param name="prefix" select="'mp_'"/>
267    </xsl:call-template>
268   </xsl:if>
269   <xsl:value-of select="' / '"/> <a href="{location/text()}"><xsl:value-of select="name/text()"/></a>
270    - Module Parameter/Testcase View
271  </p>
272  <div id="div_content">
273   <div id="div_mp">
274    <xsl:apply-templates select=".//mpview_ModuleParDef"/>
275   </div>
276  </div>
277 </body>
278</html>
279 </xsl:result-document>
280</xsl:if>
281 </xsl:for-each>
282<!-- /element TC -->
283 </xsl:for-each>
284<!-- groups -->
285 <xsl:for-each select="//group">
286  <xsl:variable name="grouplocation" select="location/text()"/>
287  <xsl:variable name="group" select="."/>
288  <xsl:variable name="filename" select="concat('file:///', $folder, '/html/', location/text())"/>
289  <xsl:value-of select="$filename"/>
290  <xsl:result-document href="{$filename}" format="html">
291<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
292 <xsl:call-template name="html_head">
293  <xsl:with-param name="title" select="name/text()"/>
294 </xsl:call-template>
295 <body onload="init('Group'); toggleConstructbodies('{$hideconstructbodies}');">
296  <xsl:call-template name="views">
297   <xsl:with-param name="main" select="./location/text()"/>
298   <xsl:with-param name="mp" select="./location/text()"/>
299  </xsl:call-template>
300  <xsl:call-template name="main_groupindex">
301   <xsl:with-param name="grouplocation" select="$grouplocation"/>
302  </xsl:call-template>
303  <xsl:call-template name="header">
304   <xsl:with-param name="this" select="."/>
305  </xsl:call-template>       
306  <xsl:call-template name="element_withcomment">
307   <xsl:with-param name="this" select="."/>
308  </xsl:call-template>
309 </body>
310</html>
311  </xsl:result-document>
312 
313  <xsl:variable name="filename" select="concat('file:///', $folder, '/html/mp_', location/text())"/>
314  <xsl:value-of select="$filename"/>
315   <xsl:result-document href="{$filename}" format="html">
316
317<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
318 <xsl:call-template name="html_head">
319  <xsl:with-param name="title" select="name/text()"/>
320 </xsl:call-template>
321 <body onload="mp_init('Group')">
322  <xsl:call-template name="views">
323   <xsl:with-param name="main" select="./location/text()"/>
324   <xsl:with-param name="mp" select="./location/text()"/>
325   <xsl:with-param name="togglemode" select="'mp'"/>
326  </xsl:call-template>
327  <xsl:call-template name="index_modulelist"/>
328  <div id="div_index">
329   <xsl:call-template name="index_grouplist">
330    <xsl:with-param name="this" select="//group[.//path_group[@loc eq $grouplocation]]"/>
331    <xsl:with-param name="prefix" select="'mp_'"/>
332   </xsl:call-template>
333
334   <xsl:call-template name="index_elementlist">
335    <xsl:with-param name="this" select="//element[@type eq 'Module Parameter' and .//path_group[@loc eq $grouplocation]]"/>
336    <xsl:with-param name="type" select="'Module Parameter'"/>
337    <xsl:with-param name="prefix" select="'mp_'"/>
338   </xsl:call-template>
339   
340   <xsl:call-template name="index_elementlist">
341    <xsl:with-param name="this" select="//element[@type eq 'Testcase' and .//path_group[@loc eq $grouplocation]]"/>
342    <xsl:with-param name="type" select="'Testcase'"/>
343    <xsl:with-param name="prefix" select="'mp_'"/>
344   </xsl:call-template>
345  </div>
346  <xsl:call-template name="header">
347   <xsl:with-param name="this" select="."/>
348   <xsl:with-param name="prefix" select="'mp_'"/>
349  </xsl:call-template>     
350  <div id="div_content">
351   <xsl:call-template name="mp_allTables">
352    <xsl:with-param name="parameters" select="//element[modulename/text() eq $group/modulename/text() and @type eq 'parameter' and .//path_group[@loc eq $group/location/text()]]//mpview_ModuleParDef"/>
353    <xsl:with-param name="testcases" select="//element[modulename/text() eq $group/modulename/text() and @type eq 'Testcase' and .//path_group[@loc eq $group/location/text()]]"/>
354   </xsl:call-template>
355  </div> 
356 </body>
357</html>
358  </xsl:result-document>
359 </xsl:for-each>
360<!-- /groups -->
361</xsl:template>
362
363<xsl:template name="main_allElements">
364<xsl:param name="this"/>
365<xsl:param name="currentindex"/>
366 <xsl:choose>
367  <xsl:when test="not($this/@type)">
368   <xsl:call-template name="views">
369    <xsl:with-param name="main" select="concat($this/name/text(), '.html')"/>
370    <xsl:with-param name="mp" select="concat($this/name/text(), '.html')"/>
371    <xsl:with-param name="import" select="concat($this/name/text(), '.html')"/>
372   </xsl:call-template> 
373  </xsl:when>
374  <xsl:when test="$this/@type eq 'Testcase' or $this/@type eq 'Module Parameter'">
375   <xsl:call-template name="views">
376    <xsl:with-param name="main" select="$this/location/text()"/>
377    <xsl:with-param name="mp" select="$this/location/text()"/>
378   </xsl:call-template>
379  </xsl:when>
380  <xsl:otherwise>
381   <xsl:call-template name="views">
382    <xsl:with-param name="main" select="$this/location/text()"/>
383   </xsl:call-template>
384  </xsl:otherwise>
385 </xsl:choose>
386 <xsl:copy-of select="$currentindex"/>
387 <xsl:call-template name="header">
388  <xsl:with-param name="this" select="$this"/>
389 </xsl:call-template>       
390 <xsl:call-template name="element_withcomment">
391  <xsl:with-param name="this" select="$this"/>
392 </xsl:call-template>
393</xsl:template>
394
395<xsl:template name="mp_allTables">
396 <xsl:param name="testcases"/>
397 <xsl:param name="parameters"/>
398 <div id="div_mp">
399  <p class="bold"><a href="#mpview_parameters">Module Parameters</a> <a onclick="toggle('mpview_parameters')"> (toggle)</a></p>
400  <p class="bold"><a href="#mpview_testcases">Testcases</a> <a onclick="toggle('mpview_testcases')"> (toggle)</a></p>
401  <span id="mpview_parameters">
402   <p class="bold">Module Parameters:<a name="mpview_parameters"/></p>     
403   <xsl:for-each select="$parameters">
404    <p>
405     <a href="{concat('mp_', @loc)}" id="{@name}"><xsl:value-of select="@name"/></a>
406    </p>
407    <xsl:apply-templates select="."/>
408   </xsl:for-each>     
409  </span>
410  <span id="mpview_testcases">
411   <p class="bold">Testcases:<a name="mpview_testcases"/></p>
412   <xsl:for-each select="$testcases">     
413    <p><a href="mp_{./location/text()}"><xsl:value-of select="./name/text()"/></a></p>     
414    <xsl:call-template name="mp_testcase_table">
415     <xsl:with-param name="this" select="."/>
416    </xsl:call-template>
417   </xsl:for-each>
418  </span>
419 </div>
420</xsl:template>
421
422<xsl:template name="html_head">
423<xsl:param name="title"/>
424 <head>
425  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
426  <link rel="stylesheet" type="text/css" href="css/doc.css"/>
427   <xsl:choose>
428    <xsl:when test="$showOriginalT3DocTags eq 'true'">
429     <style type="text/css">
430       .span_tagtype{
431        display:none;
432      }
433     </style>   
434    </xsl:when>
435    <xsl:otherwise>
436     <style type="text/css">
437      .span_tagtypeOrig{
438        display:none;
439      }
440     </style>   
441    </xsl:otherwise>
442   </xsl:choose>
443  <script type="text/javascript" src="js/doc.js"></script>
444  <script type="text/javascript" src="js/index.js"></script>
445  <title><xsl:value-of select="$title"/></title>
446 </head>
447</xsl:template>
448
449<xsl:template name="views">
450 <xsl:param name="main"/>
451 <xsl:param name="mp"/>
452 <xsl:param name="import"/>
453 <xsl:param name="togglemode"/>
454 <div id="div_views">
455  <p id="p_views">
456   <xsl:choose>
457    <xsl:when test="$main">
458         <a href="{$main}">Main View</a> <br/>
459        </xsl:when>
460        <xsl:otherwise>
461         <a href="index.html">Main View</a> <br/>
462        </xsl:otherwise>
463   </xsl:choose>
464   <xsl:choose>
465    <xsl:when test="$mp">
466         <a href="{concat('mp_', $mp)}">Module Parameter/Testcase View</a> <br/>
467        </xsl:when>
468    <xsl:otherwise>
469         <a href="mp_index.html">Module Parameter/Testcase View</a> <br/>
470    </xsl:otherwise>
471   </xsl:choose>         
472   <xsl:choose>
473    <xsl:when test="$import">
474         <a href="{concat('import_', $import)}">Import  View</a> <br/>
475        </xsl:when>
476        <xsl:otherwise>
477     <a href="import_index.html">Import  View</a> <br/>
478    </xsl:otherwise>
479   </xsl:choose>
480   <xsl:choose>
481        <xsl:when test="$togglemode eq 'mp'">
482         <br/>
483         <a href="#" onclick="togglePaths('true')">toggle paths</a>
484        </xsl:when>
485        <xsl:when test="$togglemode eq 'import'">
486        </xsl:when>
487        <xsl:otherwise>
488         <xsl:if test="$includeconstructbodies eq 'true'">
489          <br/>
490          <a href="#" onclick="toggleHideNotes()">show/hide (toggle) notes</a> | <a href="#" onclick="toggleConstructbodies('true')">toggle all</a>
491     </xsl:if> 
492    </xsl:otherwise>
493   </xsl:choose>
494  </p>
495 </div>
496 <p id="p_t3dversion">T3D <xsl:value-of select="/project/@t3dversion"/>
497  <br/>Generated <xsl:value-of select="concat(substring-before(string(current-date()), '+'), ' - ', substring-before(string(current-time()), '.'))"/></p>
498</xsl:template>
499
500<xsl:template name="main_index">
501 <xsl:param name="modulename"/> 
502 <xsl:call-template name="index_modulelist"/>
503 <div id="div_index">
504  <xsl:call-template name="index_grouplist">
505   <xsl:with-param name="this" select="//group[$modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_']"/>
506  </xsl:call-template>
507  <xsl:call-template name="index_elementlist">
508   <xsl:with-param name="this" select="//element[@type eq 'Module Parameter' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
509   <xsl:with-param name="type" select="'Module Parameter'"/>
510  </xsl:call-template>
511  <xsl:call-template name="index_elementlist">
512   <xsl:with-param name="this" select="//element[@type eq 'Constant' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
513   <xsl:with-param name="type" select="'Constant'"/>
514  </xsl:call-template>
515  <xsl:call-template name="index_elementlist">
516   <xsl:with-param name="this" select="//element[@type eq 'Type' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
517   <xsl:with-param name="type" select="'Type'"/>
518  </xsl:call-template>
519  <xsl:call-template name="index_elementlist">
520   <xsl:with-param name="this" select="//element[@type eq 'Signature' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
521   <xsl:with-param name="type" select="'Signature'"/>
522  </xsl:call-template>
523  <xsl:call-template name="index_elementlist">
524   <xsl:with-param name="this" select="//element[@type eq 'Template' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
525   <xsl:with-param name="type" select="'Template'"/>
526  </xsl:call-template>
527  <xsl:call-template name="index_elementlist">
528   <xsl:with-param name="this" select="//element[@type eq 'Function' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
529   <xsl:with-param name="type" select="'Function'"/>
530  </xsl:call-template>
531  <xsl:call-template name="index_elementlist">
532   <xsl:with-param name="this" select="//element[@type eq 'Altstep' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
533   <xsl:with-param name="type" select="'Altstep'"/>
534  </xsl:call-template>
535  <xsl:call-template name="index_elementlist">
536   <xsl:with-param name="this" select="//element[@type eq 'Testcase' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
537   <xsl:with-param name="type" select="'Testcase'"/>
538  </xsl:call-template>
539  <xsl:call-template name="index_elementlist">
540   <xsl:with-param name="this" select="//element[@type eq 'External Function' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
541   <xsl:with-param name="type" select="'External Function'"/>
542  </xsl:call-template>
543  <xsl:call-template name="index_elementlist">
544   <xsl:with-param name="this" select="//element[@type eq 'External Constant' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
545   <xsl:with-param name="type" select="'External Constant'"/>
546  </xsl:call-template>
547 
548 </div>
549</xsl:template>
550
551<xsl:template name="mp_index">
552 <xsl:param name="modulename"/>
553 <xsl:call-template name="index_modulelist">
554  <xsl:with-param name="prefix" select="'mp_'"/>
555 </xsl:call-template>
556 <div id="div_index">
557  <xsl:call-template name="index_grouplist">
558   <xsl:with-param name="this" select="//group[$modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_']"/>
559  <xsl:with-param name="prefix" select="'mp_'"/>
560  </xsl:call-template>
561  <xsl:call-template name="index_elementlist">
562   <xsl:with-param name="this" select="//element[@type eq 'Module Parameter' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
563   <xsl:with-param name="type" select="'Module Parameter'"/>
564  <xsl:with-param name="prefix" select="'mp_'"/>
565  </xsl:call-template>
566  <xsl:call-template name="index_elementlist">
567   <xsl:with-param name="this" select="//element[@type eq 'Testcase' and ($modulename eq modulename/text() or $modulename eq '_T3D_FullIndex_')]"/>
568   <xsl:with-param name="type" select="'Testcase'"/>
569  <xsl:with-param name="prefix" select="'mp_'"/>
570  </xsl:call-template>
571 </div>
572</xsl:template>
573
574<xsl:template name="index_modulelist">
575 <xsl:param name="prefix"/>
576 <div id="div_modules">
577 <p class="index_headline"><a href="{concat($prefix, 'index.html')}">Module Index</a>
578  <xsl:for-each select="//module">
579   <xsl:sort select="name/text()"/>
580   <br/><a class="padding_left_10px" href="{concat($prefix, name/text())}.html"><xsl:value-of select="name/text()"/></a> 
581  </xsl:for-each>
582 </p>
583 </div>
584</xsl:template>
585
586<xsl:template name="header">
587 <xsl:param name="this"/>
588 <xsl:param name="prefix"/>
589 <p id="p_header"><a href="{concat($prefix, 'index.html')}">Index</a><xsl:value-of select="' / '"/>
590 <xsl:if test="not($this/name/text() eq $this/modulename/text())">
591  <a href="{$prefix}{//module[name/text() eq $this/modulename/text()]/name/text()}.html"><xsl:value-of select="//module[name/text() eq $this/modulename/text()]/name/text()"/></a>
592 </xsl:if>
593 <xsl:if test="$this/path/path_group">
594    <xsl:call-template name="path">
595     <xsl:with-param name="this" select="$this/path"/>
596     <xsl:with-param name="prefix" select="$prefix"/>
597    </xsl:call-template>
598 </xsl:if>
599 
600 <xsl:if test="not($this/name/text() eq $this/modulename/text())"><xsl:value-of select="' / '"/></xsl:if> <xsl:value-of select="$this/name/text()"/>
601 </p>
602</xsl:template>
603
604<xsl:template name="element_withcomment">
605 <xsl:param name="this"/>
606 <div id="div_content">
607  <xsl:apply-templates select="comment"/>
608  <div id="div_element">
609   <xsl:apply-templates select="$this/behaviour"/>
610  </div>
611 </div>
612</xsl:template>
613
614<xsl:template name="path">
615 <xsl:param name="prefix"/>
616 <xsl:param name="this"/>
617  <xsl:for-each select="$this/path_group">
618   <xsl:call-template name="path_group">
619    <xsl:with-param name="this" select="."/>
620   <xsl:with-param name="prefix" select="$prefix"/>
621  </xsl:call-template>
622 </xsl:for-each>
623</xsl:template>
624
625<xsl:template name="path_group">
626 <xsl:param name="prefix"/>
627 <xsl:param name="this"/>
628 <xsl:for-each select="$this/path_group">
629  <xsl:call-template name="path_group">
630   <xsl:with-param name="this" select="."/>
631   <xsl:with-param name="prefix" select="$prefix"/>
632  </xsl:call-template>
633 </xsl:for-each>
634 <xsl:value-of select="' / '"/>
635 <a href="{concat($prefix, @loc)}"><xsl:value-of select="@name"/></a>
636</xsl:template>
637
638
639<!-- comments -->
640
641<xsl:template match="comment">
642 <div id="div_comment"> 
643 <xsl:if test="desc">
644  <p class="comment_headline"><span class="span_tagtype">Description:</span><span class="span_tagtypeOrig">@desc</span><br/> 
645   <xsl:apply-templates select="desc"/>
646  </p>
647 </xsl:if> 
648 <xsl:if test="author">
649  <p class="comment_headline"><span class="span_tagtype">Author(s):</span><span class="span_tagtypeOrig">@author</span><br/> 
650   <xsl:apply-templates select="author"/>
651  </p>
652 </xsl:if>
653 <xsl:if test="config">
654  <p class="comment_headline"><span class="span_tagtype">Config:</span><span class="span_tagtypeOrig">@config</span><br/> 
655   <xsl:apply-templates select="config"/>
656  </p>
657 </xsl:if>
658 <xsl:if test="exception">
659  <p class="comment_headline"><span class="span_tagtype">Exception(s):</span><span class="span_tagtypeOrig">@excepion</span><br/> 
660   <xsl:apply-templates select="exception"/>
661  </p>
662 </xsl:if>
663 <xsl:if test="member">
664  <p class="comment_headline"><span class="span_tagtype">Member(s):</span><span class="span_tagtypeOrig">@member</span><br/> 
665   <xsl:apply-templates select="member"/>
666  </p>
667 </xsl:if>
668 <xsl:if test="param">
669  <p class="comment_headline"><span class="span_tagtype">Parameter(s):</span><span class="span_tagtypeOrig">@param</span><br/> 
670   <xsl:apply-templates select="param"/>
671  </p>
672 </xsl:if>
673 <xsl:if test="purpose">
674  <p class="comment_headline"><span class="span_tagtype">Purpose:</span><span class="span_tagtypeOrig">@purpose</span><br/> 
675   <xsl:apply-templates select="purpose"/>
676  </p>
677 </xsl:if>
678 <xsl:if test="remark">
679  <p class="comment_headline"><span class="span_tagtype">Remark(s):</span><span class="span_tagtypeOrig">@remark</span><br/> 
680   <xsl:apply-templates select="remark"/>
681  </p>
682 </xsl:if>
683 <xsl:if test="return">
684  <p class="comment_headline"><span class="span_tagtype">Return:</span><span class="span_tagtypeOrig">@return</span><br/> 
685   <xsl:apply-templates select="return"/>
686  </p>
687 </xsl:if>
688 <xsl:if test="see">
689  <p class="comment_headline"><span class="span_tagtype">See:</span><span class="span_tagtypeOrig">@see</span><br/> 
690   <xsl:apply-templates select="see"/>
691  </p>
692 </xsl:if>
693 <xsl:if test="since">
694  <p class="comment_headline"><span class="span_tagtype">Since:</span><span class="span_tagtypeorig">@since</span><br/> 
695   <xsl:apply-templates select="since"/>
696  </p>
697 </xsl:if>
698 <xsl:if test="status">
699  <p class="comment_headline"><span class="span_tagtype">Status:</span><span class="span_tagtypeOrig">@status</span><br/> 
700   <xsl:apply-templates select="status"/>
701  </p>
702 </xsl:if>
703 <xsl:if test="url">
704  <p class="comment_headline"><span class="span_tagtype">Url(s):</span><span class="span_tagtypeOrig">@url</span><br/> 
705   <xsl:apply-templates select="url"/>
706  </p>
707 </xsl:if>
708 <xsl:if test="verdict">
709  <p class="comment_headline"><span class="span_tagtype">Verdict(s):</span><span class="span_tagtypeOrig">@verdict</span><br/> 
710   <xsl:apply-templates select="verdict"/>
711  </p>
712 </xsl:if>
713 <xsl:if test="version">
714  <p class="comment_headline"><span class="span_tagtype">Version:</span><span class="span_tagtypeOrig">@version</span><br/> 
715   <xsl:apply-templates select="version"/>
716  </p>
717 </xsl:if>
718 </div>
719</xsl:template>
720
721<xsl:template match="desc | author | return | remark | param | since | status | verdict | version | member | config | exception | purpose | since">
722 <xsl:apply-templates/>
723 <br/>
724</xsl:template>
725
726<xsl:template match="see | esee">
727 <xsl:variable name="text" select="normalize-space(text())" />
728 <xsl:variable name="modulename" select="''" />
729 
730 <xsl:if test="self::esee">
731  <xsl:value-of select="'@see '"/>
732 </xsl:if>
733 <xsl:choose>
734  <xsl:when test="contains($text, '.')"> 
735   <xsl:variable name="modulename" select="substring-before($text, '.')"/>
736   <xsl:variable name="elementname" select="substring-after($text, '.')"/>
737   <xsl:variable name="file" select="//element[name/text() eq $elementname and modulename/text() eq $modulename]"/>
738   <xsl:if test="$file">
739    <a href="{$file/location/text()}"><xsl:value-of select="$text"/></a>
740    <xsl:if test="self::see">
741     <br/>
742    </xsl:if>
743   </xsl:if>
744   <xsl:if test="not($file)">
745    <xsl:value-of select="$text"/>
746    <xsl:if test="self::see">
747     <br/>
748    </xsl:if>
749   </xsl:if>
750  </xsl:when> 
751  <xsl:otherwise>
752   <xsl:variable name="modulename" select="ancestor::module/name/text()"/>
753   <xsl:variable name="elementname" select="$text"/>
754   <xsl:variable name="file" select="//element[name/text() eq $elementname and modulename/text() eq $modulename]"/>
755   <xsl:if test="$file">
756    <a href="{$file/location/text()}"><xsl:value-of select="$text"/></a>
757    <xsl:if test="self::see">
758     <br/>
759    </xsl:if>
760   </xsl:if>
761   <xsl:if test="not($file)">
762    <xsl:value-of select="$text"/>
763    <xsl:if test="self::see">
764     <br/>
765    </xsl:if>
766   </xsl:if>
767  </xsl:otherwise>
768 </xsl:choose>
769</xsl:template>
770
771<xsl:template match="eurl">
772 <xsl:value-of select="' @url '"/><a href="{text()}"><xsl:value-of select="text()"/></a>
773 <xsl:value-of select="' '"/>
774</xsl:template>
775
776<xsl:template match="url">
777 <a href="{text()}"><xsl:value-of select="text()"/></a>
778</xsl:template>
779<!-- /comments -->
780<!-- behaviour -->
781
782<xsl:template match="behaviour">
783 <pre class="statement">
784  <xsl:apply-templates/>
785 </pre>
786</xsl:template>
787
788<xsl:template match="constructbody">
789 <span class="span_showhidenote"><a href="#" onclick="toggle('{@id}')">(toggle)</a> </span>
790 <span id="{@id}" class="span_constructbody"><xsl:apply-templates/></span>
791</xsl:template>
792
793<xsl:template match="keyword">
794 <span class="syntax"><xsl:value-of select="text()"/></span>
795</xsl:template>
796
797<xsl:template match="link">
798 <a href="{@loc}"><xsl:value-of select="replace(replace(text(), ' ', '&#160;'), '\t', '&#x9;')"/></a>
799</xsl:template>
800
801<!-- /behaviour -->
802
803<xsl:template name="mp_testcase_table">
804 <xsl:param name="this"/>
805 <xsl:param name="loc" select="$this/location/text()"/>
806    <table border="1">
807     <tr><th>Module Parameter</th><th class="td_path">Path</th></tr>
808     <xsl:if test="not(//mpview_TestcaseDef[@loc eq $loc])">
809      <tr><td>-</td><td>-</td></tr>
810     </xsl:if>
811     <xsl:for-each select="//mpview_TestcaseDef[@loc eq $loc]">
812      <tr><td>
813       <a href="{concat('mp_', ancestor::mpview_ModuleParDef/@loc)}"><xsl:value-of select="ancestor::mpview_ModuleParDef/@name"/></a>
814      </td>
815       <xsl:call-template name="mpview_path_testcase">
816        <xsl:with-param name="this" select="."/>
817        <xsl:with-param name="first" select="'true'"/>
818       </xsl:call-template>
819      </tr>
820     </xsl:for-each>
821    </table>
822</xsl:template>
823
824<xsl:template name="mpview_path_testcase">
825 <xsl:param name="this"/>
826 <xsl:param name="first"/>
827 <xsl:choose>
828  <xsl:when test="$first eq 'true'">
829   <td class="td_path">
830    <xsl:value-of select="' &lt;&lt; '"/>
831    <xsl:if test="$this/parent::* and not($this/parent::element)">
832     <xsl:call-template name="mpview_path_testcase">
833      <xsl:with-param name="this" select="$this/parent::*"/>
834      <xsl:with-param name="first" select="'false'"/>
835     </xsl:call-template>
836    </xsl:if>
837    <xsl:value-of select="' &lt;&lt; '"/>
838    <a href="{$this/@loc}"><xsl:value-of select="$this/@name"/></a>
839   </td>
840  </xsl:when>
841  <xsl:when test="$this/parent::mpview_ModuleParDef">
842   <a href="{$this/@loc}"><xsl:value-of select="$this/@name"/></a>
843  </xsl:when>
844  <xsl:otherwise>
845   <xsl:if test="$this/parent::* and not($this/parent::element)">
846    <xsl:call-template name="mpview_path_testcase">
847     <xsl:with-param name="this" select="$this/parent::*"/>
848     <xsl:with-param name="first" select="'false'"/>
849    </xsl:call-template>
850   </xsl:if>
851   <xsl:value-of select="' &lt;&lt; '"/>
852   <a href="{$this/@loc}"><xsl:value-of select="$this/@name"/></a>
853  </xsl:otherwise> 
854 </xsl:choose>
855</xsl:template>
856
857<xsl:template match="mpview_ModuleParDef">
858 <xsl:param name="loc" select="@loc"/>
859 <xsl:param name="name" select="//element[location/text() eq $loc]/name/text()"/>
860 <table border="1">
861  <tr>
862   <th>Testcase</th> <th class="td_path">Path</th>
863  </tr>
864  <xsl:if test="not(.//mpview_TestcaseDef)">
865   <tr><td>-</td><td class="td_path"></td></tr>
866  </xsl:if>
867  <xsl:for-each select=".//mpview_TestcaseDef">
868   <xsl:sort select="@name"/>
869   <tr>
870    <xsl:call-template name="mpview_path_modulepar">
871     <xsl:with-param name="this" select="."/>
872     <xsl:with-param name="first" select="'true'"/>
873    </xsl:call-template>
874   </tr>
875  </xsl:for-each>
876 </table>
877</xsl:template>
878
879<xsl:template name="mpview_path_modulepar">
880 <xsl:param name="this"/>
881 <xsl:param name="first"/>
882 <xsl:choose>
883  <xsl:when test="$first eq 'true'">
884   <td>
885    <a href="{concat('mp_', $this/@loc)}"><xsl:value-of select="$this/@name"/></a>
886   </td>
887   <td class="td_path">
888    <xsl:if test="$this/parent::* and not($this/parent::element)">
889     <xsl:call-template name="mpview_path_modulepar">
890      <xsl:with-param name="this" select="$this/parent::*"/>
891      <xsl:with-param name="first" select="'false'"/>
892     </xsl:call-template>
893    </xsl:if>   
894   </td>
895  </xsl:when>
896  <xsl:otherwise>
897   <xsl:value-of select="' &gt;&gt; '"/>
898   <a href="{$this/@loc}"><xsl:value-of select="$this/@name"/></a>
899    <xsl:if test="$this/parent::* and not($this/parent::element)">
900    <xsl:call-template name="mpview_path_modulepar">
901     <xsl:with-param name="this" select="$this/parent::*"/>
902     <xsl:with-param name="first" select="'false'"/>
903    </xsl:call-template>
904   </xsl:if>
905  </xsl:otherwise> 
906 </xsl:choose>
907</xsl:template>
908
909<xsl:template name="main_groupindex">
910 <xsl:param name="grouplocation"/>
911 <xsl:call-template name="index_modulelist"/>
912 <div id="div_index">
913  <xsl:call-template name="index_grouplist">
914   <xsl:with-param name="this" select="//group[.//path_group[@loc eq $grouplocation]]"/>
915  </xsl:call-template>
916  <xsl:call-template name="index_elementlist">
917   <xsl:with-param name="this" select="//element[@type eq 'Module Parameter' and .//path_group[@loc eq $grouplocation]]"/>
918   <xsl:with-param name="type" select="'Module Parameter'"/>
919  </xsl:call-template>
920  <xsl:call-template name="index_elementlist">
921   <xsl:with-param name="this" select="//element[@type eq 'Constant' and .//path_group[@loc eq $grouplocation]]"/>
922   <xsl:with-param name="type" select="'Constant'"/>
923  </xsl:call-template>
924  <xsl:call-template name="index_elementlist">
925   <xsl:with-param name="this" select="//element[@type eq 'Type' and .//path_group[@loc eq $grouplocation]]"/>
926   <xsl:with-param name="type" select="'Type'"/>
927  </xsl:call-template>
928  <xsl:call-template name="index_elementlist">
929   <xsl:with-param name="this" select="//element[@type eq 'Signature' and .//path_group[@loc eq $grouplocation]]"/>
930   <xsl:with-param name="type" select="'Signature'"/>
931  </xsl:call-template>
932  <xsl:call-template name="index_elementlist">
933   <xsl:with-param name="this" select="//element[@type eq 'Template' and .//path_group[@loc eq $grouplocation]]"/>
934   <xsl:with-param name="type" select="'Template'"/>
935  </xsl:call-template>
936  <xsl:call-template name="index_elementlist">
937   <xsl:with-param name="this" select="//element[@type eq 'Function' and .//path_group[@loc eq $grouplocation]]"/>
938   <xsl:with-param name="type" select="'Function'"/>
939  </xsl:call-template>
940  <xsl:call-template name="index_elementlist">
941   <xsl:with-param name="this" select="//element[@type eq 'Altstep' and .//path_group[@loc eq $grouplocation]]"/>
942   <xsl:with-param name="type" select="'Altstep'"/>
943  </xsl:call-template>
944  <xsl:call-template name="index_elementlist">
945   <xsl:with-param name="this" select="//element[@type eq 'Testcase' and .//path_group[@loc eq $grouplocation]]"/>
946   <xsl:with-param name="type" select="'Testcase'"/>
947  </xsl:call-template>
948  <xsl:call-template name="index_elementlist">
949   <xsl:with-param name="this" select="//element[@type eq 'External Function' and .//path_group[@loc eq $grouplocation]]"/>
950   <xsl:with-param name="type" select="'External Function'"/>
951  </xsl:call-template>
952  <xsl:call-template name="index_elementlist">
953   <xsl:with-param name="this" select="//element[@type eq 'External Constant' and .//path_group[@loc eq $grouplocation]]"/>
954   <xsl:with-param name="type" select="'External Constant'"/>
955  </xsl:call-template>
956 </div>
957</xsl:template>
958
959<xsl:template name="index_grouplist">
960 <xsl:param name="this"/>
961 <xsl:param name="prefix"/>
962  <p class="index_headline"><a href="#" onclick="toggle('span_groups')">Groups</a>
963   <span id="span_groups">
964    <xsl:if test="not($this)">
965     <br/><span class="padding_left_10px"><xsl:value-of select="'-'"/></span>
966    </xsl:if>
967    <xsl:for-each select="$this">
968     <xsl:sort select="name/text()"/>
969     <br/><a class="padding_left_10px" href="{concat($prefix, location/text())}"><xsl:value-of select="name/text()"/></a>
970    </xsl:for-each>
971   </span>
972  </p>
973</xsl:template>
974
975<xsl:template name="index_elementlist">
976 <xsl:param name="this"/>
977 <xsl:param name="type"/>
978 <xsl:param name="prefix"/>
979 <p class="index_headline"><a href="#" onclick="toggle('span_{lower-case($type)}s')"><xsl:value-of select="$type"/>s</a>
980 <span id="span_{lower-case($type)}s">
981  <xsl:if test="not($this)">
982   <br/><span class="padding_left_10px"><xsl:value-of select="'-'"/></span>
983  </xsl:if>
984  <xsl:for-each select="$this">
985  <xsl:sort select="name/text()"/>
986   <br/><a class="padding_left_10px" href="{concat($prefix, location/text())}"><xsl:value-of select="name/text()"/></a>
987  </xsl:for-each>
988 </span>
989 </p>
990</xsl:template>
991</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.