annotate client/digitallibrary/relato/relato.xsl @ 550:c95f4e6077f4 digilibPDF

better string handling
author robcast
date Thu, 16 Dec 2010 11:40:54 +0100
parents bc52b6e6eeea
children
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>
219
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
11 <script type="text/javascript" src="relato/relato.js">
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
12 // this comment has to be here, otherwise xerces translates this
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
13 // empty tag to a self-closing one, which is bad for HTML that
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
14 // needs a closing script-tag
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
15 </script>
208
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
16 <script type="text/javascript">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
17 <xsl:apply-templates select="functions" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
18 <xsl:apply-templates select="buttons" />
219
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
19 <xsl:apply-templates select="protected" />
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
20 <xsl:apply-templates select="default" />
208
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
21 </script>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
22 </head>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
23 <xsl:apply-templates select="frames" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
24 </html>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
25 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
26
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
27 <xsl:template match="frames">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
28 <xsl:copy-of select="frameset" />
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
29 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
30
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
31 <xsl:template match="functions">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
32 <xsl:for-each select="function">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
33 function <xsl:value-of select="@name" />() {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
34 if (frameSelected()) {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
35 <xsl:for-each select="validInFrame">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
36 if (nameOfSelectedFrame() == "<xsl:value-of select="@name" />") {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
37 id = selectedFrameObject();
219
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
38 if (typeof(id.<xsl:value-of select="../@name" />) == 'function') {
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
39 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]);
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
40 }
208
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
41 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
42 </xsl:for-each>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
43 } else {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
44 <xsl:choose>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
45 <xsl:when test="not(@quiet = 'true')">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
46 // alert message
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
47 noFrameSelected();
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
48 </xsl:when>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
49 <xsl:otherwise>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
50 // be quiet
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
51 return false;
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
52 </xsl:otherwise>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
53 </xsl:choose>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
54 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
55 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
56 </xsl:for-each>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
57 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
58
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
59 <xsl:template match="buttons">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
60 function dynamicButtons() {
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
61 var btns = '';
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
62 <xsl:for-each select="button">
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
63 btns += '#<xsl:value-of select="@name" />|<xsl:value-of select="@command" />';</xsl:for-each>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
64 return btns.slice(1);
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
65 }
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
66 </xsl:template>
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
67
219
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
68 <xsl:template match="protected">
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
69 function protectedFrames() {
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
70 var frames = new Array ();
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
71 <xsl:for-each select="frame">
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
72 frames.push('<xsl:value-of select="@name" />');</xsl:for-each>
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
73 return frames;
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
74 }
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
75 </xsl:template>
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
76
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
77 <xsl:template match="default">
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
78 top.focused.name = '<xsl:value-of select="frame/@name" />';
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
79 </xsl:template>
bc52b6e6eeea new relato import
luginbue
parents: 208
diff changeset
80
208
cdc149c1a1a3 relato juhuii
luginbue
parents:
diff changeset
81 </xsl:stylesheet>