annotate client/digitallibrary/relato/relato.xsl @ 208:cdc149c1a1a3

relato juhuii
author luginbue
date Thu, 25 Mar 2004 11:56:08 +0100
parents
children bc52b6e6eeea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
208
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
1 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
2
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
3 <xsl:output method="xml" indent="yes" encoding="iso-8859-1"
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
4 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
5 doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
6
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
7 <!-- the start -->
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
8 <xsl:template match="relato">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
9 <html xmlns="http://www.w3.org/1999/xhtml">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
10 <head>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
11 <script type="text/javascript">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
12 <xsl:apply-templates select="functions" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
13 <xsl:apply-templates select="buttons" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
14 </script>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
15 <script type="text/javascript" src="relato/relato.js"></script>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
16 </head>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
17 <xsl:apply-templates select="frames" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
18 </html>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
19 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
20
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
21 <xsl:template match="frames">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
22 <xsl:copy-of select="frameset" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
23 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
24
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
25 <xsl:template match="functions">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
26 <xsl:for-each select="function">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
27 function <xsl:value-of select="@name" />() {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
28 if (frameSelected()) {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
29 <xsl:for-each select="validInFrame">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
30 if (nameOfSelectedFrame() == "<xsl:value-of select="@name" />") {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
31 id = selectedFrameObject();
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
32 return id.<xsl:value-of select="../@name" />(<xsl:value-of select="../@name" />.arguments[0], <xsl:value-of select="../@name" />.arguments[1], <xsl:value-of select="../@name" />.arguments[2], <xsl:value-of select="../@name" />.arguments[3]);
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
33 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
34 </xsl:for-each>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
35 } else {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
36 <xsl:choose>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
37 <xsl:when test="not(@quiet = 'true')">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
38 // alert message
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
39 noFrameSelected();
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
40 </xsl:when>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
41 <xsl:otherwise>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
42 // be quiet
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
43 return false;
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
44 </xsl:otherwise>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
45 </xsl:choose>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
46 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
47 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
48 </xsl:for-each>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
49 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
50
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
51 <xsl:template match="buttons">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
52 function dynamicButtons() {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
53 var btns = '';
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
54 <xsl:for-each select="button">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
55 btns += '#<xsl:value-of select="@name" />|<xsl:value-of select="@command" />';</xsl:for-each>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
56 return btns.slice(1);
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
57 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
58 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
59
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
60 </xsl:stylesheet>