changeset 212:f1631db2ff3d

relato juhuii
author luginbue
date Thu, 25 Mar 2004 11:56:08 +0100
parents 9bd2ae6f5e77
children 8e4724b71b67
files client/digitallibrary/relato/astro.xml client/digitallibrary/relato/compare.xml client/digitallibrary/relato/neugebauer.xml client/digitallibrary/relato/picture.xml client/digitallibrary/relato/relato.js client/digitallibrary/relato/relato.xsl client/digitallibrary/relato/type.xml client/digitallibrary/relato/work.xml client/digitallibrary/relato/work_debug.xml
diffstat 9 files changed, 785 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/astro.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset cols="0,100%" border="0" frameborder="0" framespacing="0">
+      <frame name="navigation" src="http://pythia2.unibe.ch:8080/docuserver/digitallibrary/contexto/contexto.jsp?htmlURL=http://www.philoscience.unibe.ch/docuserver/echo/projekte/compago/navigation.html" />
+      <frame name="mainFrame" />
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="page">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mark">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="ref">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="moveTo">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="brightnessContrast">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mirror">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="rotation">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="colors">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrame" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="e-publications" command="navigation.publications()" />
+  </buttons>
+
+</relato>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/compare.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset rows="0,33,*,15%" border="0" frameborder="0" framespacing="0">
+      <frame name="navigation" />
+      <frame name="title" />
+      <frameset cols="50%,50%" border="0" frameborder="0" framespacing="0">
+        <frame name="mainFrameLeft" />
+        <frame name="mainFrameRight" />
+      </frameset>
+      <frameset cols="12%,40%,48%" border="0" frameborder="0" framespacing="0">
+        <frame name="motiv" />
+        <frame name="kriterium" />
+        <frame name="krittext" />
+      </frameset>
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="page">
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="mark">
+    </function>
+    <function name="ref">
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="moveTo">
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="brightnessContrast">
+    </function>
+    <function name="mirror">
+    </function>
+    <function name="rotation">
+    </function>
+    <function name="colors">
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrameLeft" />
+      <validInFrame name="mainFrameRight" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="relation" command="navigation.relation()" />
+    <button name="description" command="navigation.description()" />
+    <button name="new window" command="navigation.newwindow()" />
+  </buttons>
+
+</relato>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/neugebauer.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset cols="0,100%" border="0" frameborder="0" framespacing="0">
+      <frame name="navigation" src="http://pythia2.unibe.ch:8080/docuserver/digitallibrary/contexto/contexto.jsp?htmlURL=http://www.philoscience.unibe.ch/docuserver/echo/projekte/neugebauer/navigation.html" />
+      <frame name="mainFrame" />
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="page">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mark">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="ref">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="moveTo">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="brightnessContrast">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mirror">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="rotation">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="colors">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrame" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="database" command="navigation.database()" />
+  </buttons>
+
+</relato>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/picture.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset cols="0,50%,50%" border="0" frameborder="0" framespacing="0">
+      <frame name="navigation" />
+      <frameset rows="25,*" border="0" frameborder="0" framespacing="0">
+        <frame name="picturelabel" />
+        <frame name="mainFrame" />
+      </frameset>
+      <frameset rows="15%,85%" border="0" frameborder="0" framespacing="0">
+        <frame name="title" />
+        <frame name="text" />
+      </frameset>
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="page">
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mark">
+    </function>
+    <function name="ref">
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="moveTo">
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="brightnessContrast">
+    </function>
+    <function name="mirror">
+    </function>
+    <function name="rotation">
+    </function>
+    <function name="colors">
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrame" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="work" command="navigation.work()" />
+    <button name="type" command="navigation.type()" />
+    <button name="relation" command="navigation.relation()" />
+  </buttons>
+
+</relato>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/relato.js	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,176 @@
+top.name = 'f'
+
+if ( !top.focused )
+  top.focused = '';
+
+
+function identity() {
+  return 'Relato v0.1';
+}
+
+
+function frameSelected() {
+  return top.focused != '';
+}
+
+
+function noFrameSelected() {
+  alert( "No frame activated at the moment - click on the desired frame to activate it!" );
+}
+
+
+function nameOfSelectedFrame() {
+  return top.focused.name;
+}
+
+
+function selectedFrameObject() {
+  return top.focused;
+}
+
+
+function hex_color(dec) {
+  var hex = "#";
+  for (i = 6; i > 0; i--) {
+    var pow = Math.pow(16, i);
+    if (pow < dec) {
+      val = parseInt(dec / pow);
+      dec -= val*pow;
+      if (val > 9) {
+        switch (val) {
+          case (10): hex += 'A'; break;
+          case (11): hex += 'B'; break;
+          case (12): hex += 'C'; break;
+          case (13): hex += 'D'; break;
+          case (14): hex += 'E'; break;
+          case (15): hex += 'F'; break;
+        }
+      } else {
+        hex += val;
+      }
+    } else {
+      hex += "0";
+    }
+  } 
+  return hex;
+}
+
+function init() {
+  // do the initialisation just if it is top-level relato
+  if ( top == window ) {
+    init_rec( top, top.name );
+  }
+  return true;
+}
+
+
+function init_rec( current, name ) {
+  
+  if (current.frames.length > 0) {
+    for ( i=0; i < current.frames.length; i++ ) {
+      if (!current.frames[i].name) {
+        current.frames[i].name = name + i;
+      }
+      current.frames[i].addEventListener( 'click', focusListener, true );
+      current.frames[i].addEventListener( 'unload', unloadListener, true );
+      if (current.frames[i] == selectedFrameObject()) {
+//        var color = current.frames[i].document.bgColor;
+//        if (color.match(/#\d{6}/)) { 
+//          color = parseInt('0x' + color.slice(1)) - parseInt('0x222222');
+//          if (color < 0) {
+//            color = 0;
+//          }
+//          current.frames[i].document.bgColor = hex_color(color);
+//        }
+        current.frames[i].document.bgColor = '#444444';
+      }
+      init_rec( current.frames[i], current.frames[i].name );
+    }
+  }    
+}
+
+
+function focusListener( event ) {
+
+  var active = this;
+  
+  if ( event.ctrlKey ) {
+    active = this.parent;
+  }
+
+  markActiveFrame_rec( top, active );
+
+  top.focused = active;
+
+  // just debug information
+  window.status = top.focused.name;
+}
+
+
+function unloadListener( event ) {
+  setTimeout('init()', 250);
+}
+
+function markActiveFrame_rec(current, active) {
+  
+  if ( current.frames.length > 0 ) {
+    for ( i=0; i < current.frames.length; i++ ) {
+      markActiveFrame_rec( current.frames[i], active );
+    }
+  } else {
+    if ( current.name.indexOf(active.name) == 0 ) {
+//      var color = current.document.bgColor;
+//      if (color.match(/#\d{6}/)) {
+//        color = parseInt('0x' + color.slice(1)) - parseInt('0x222222');
+//        if (color < 0) {
+//          color = 0;
+//        }
+//        current.document.bgColor = hex_color(color);
+//      }
+      current.document.bgColor = '#444444';
+    } else {
+      current.document.bgColor = '#666666';
+    }
+  }
+}
+
+
+function loadFocusedFrame(url) {
+
+  if (frameSelected()) {
+    top.focused.location.href = url;
+    setTimeout( 'top.init()', 1000 );
+  } else {
+    noFrameSelected();
+  }
+}
+
+
+function loadNamedFrame(url, framename) {
+
+  desired = loadNamedFrame_rec(top, framename);
+  if ( desired ) {
+    desired.location.href = url;
+    setTimeout( 'top.init()', 1000 );
+  } else {
+    alert( "Error - a frame with this name does not exist!" );
+  }
+}
+
+function loadNamedFrame_rec(current, framename) {
+
+  if ( current.frames.length > 0 ) {
+    for ( i=0; i < current.frames.length; i++ ) {
+      thisone = loadNamedFrame_rec(current.frames[i], framename);
+      if (thisone) {
+        return thisone;
+      }
+    }
+  } else {
+  	if (current.name == framename) {
+      return current;
+    } else {
+      return null;
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/relato.xsl	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,60 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+  <xsl:output method="xml" indent="yes" encoding="iso-8859-1"
+    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" />
+
+  <!-- the start -->
+  <xsl:template match="relato">
+    <html xmlns="http://www.w3.org/1999/xhtml">
+      <head>
+        <script type="text/javascript">
+          <xsl:apply-templates select="functions" />
+          <xsl:apply-templates select="buttons" />
+        </script>
+        <script type="text/javascript" src="relato/relato.js"></script>
+      </head>
+      <xsl:apply-templates select="frames" />
+    </html>
+  </xsl:template>
+
+  <xsl:template match="frames">
+    <xsl:copy-of select="frameset" />
+  </xsl:template>
+
+  <xsl:template match="functions">
+    <xsl:for-each select="function">
+      function <xsl:value-of select="@name" />() {
+        if (frameSelected()) {
+          <xsl:for-each select="validInFrame">
+            if (nameOfSelectedFrame() == "<xsl:value-of select="@name" />") {
+              id = selectedFrameObject();
+              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]);
+            }
+          </xsl:for-each>
+        } else {
+          <xsl:choose>
+            <xsl:when test="not(@quiet = 'true')">
+              // alert message
+              noFrameSelected();
+            </xsl:when>
+            <xsl:otherwise>
+              // be quiet
+              return false;
+            </xsl:otherwise>
+          </xsl:choose>
+        }
+      }
+    </xsl:for-each>
+  </xsl:template>
+
+  <xsl:template match="buttons">
+    function dynamicButtons() {
+      var btns = '';
+      <xsl:for-each select="button">
+      btns += '#<xsl:value-of select="@name" />|<xsl:value-of select="@command" />';</xsl:for-each>
+      return btns.slice(1);
+    }
+  </xsl:template>
+
+</xsl:stylesheet>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/type.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset cols="0,50%,50%" border="0" frameborder="0" framespacing="0">
+     <frame name="navigation" />
+      <frameset rows="70%,30%" border="0" frameborder="0" framespacing="0">
+        <frame name="mainFrame" />
+        <frame name="links" />
+      </frameset>
+      <frame name="text" />
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="page">
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mark">
+    </function>
+    <function name="ref">
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="moveTo">
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="brightnessContrast">
+    </function>
+    <function name="mirror">
+    </function>
+    <function name="rotation">
+    </function>
+    <function name="colors">
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrame" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="relation" command="navigation.relation()" />
+  </buttons>
+
+</relato>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/work.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset cols="0,50%,50%" border="0" frameborder="0" framespacing="0">
+      <frame name="navigation" />
+      <frameset rows="70%,30%" border="0" frameborder="0" framespacing="0">
+        <frame name="mainFrame" />
+        <frame name="links" />
+      </frameset>
+      <frameset rows="15%,85%" border="0" frameborder="0" framespacing="0">
+        <frame name="title" />
+        <frame name="text" />
+      </frameset>
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="page">
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mark">
+    </function>
+    <function name="ref">
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="moveTo">
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="brightnessContrast">
+    </function>
+    <function name="mirror">
+    </function>
+    <function name="rotation">
+    </function>
+    <function name="colors">
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrame" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="description" command="navigation.description()" />
+    <button name="new window" command="navigation.newwindow()" />
+  </buttons>
+
+</relato>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/digitallibrary/relato/work_debug.xml	Thu Mar 25 11:56:08 2004 +0100
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<relato>
+
+  <frames>
+    <frameset cols="10,50%,50%" border="0" frameborder="0" framespacing="0">
+      <frame name="navigation" />
+      <frameset rows="70%,30%" border="0" frameborder="0" framespacing="0">
+        <frame name="mainFrame" />
+        <frame name="links" />
+      </frameset>
+      <frameset rows="15%,85%" border="0" frameborder="0" framespacing="0">
+        <frame name="title" />
+        <frame name="text" />
+      </frameset>
+      <noframes>
+        In order to use <i>relato</i> you need to have a frame capable browser.
+      </noframes>
+    </frameset>
+  </frames>
+  
+  <functions>
+    <function name="getParameter" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParameters" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="listParametersAsString" quiet="true">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="page">
+    </function>
+    <function name="zoomPoint">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomArea">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="mark">
+    </function>
+    <function name="ref">
+    </function>
+    <function name="zoomOut">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="zoomExtends">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="moveTo">
+    </function>
+    <function name="scale">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="brightnessContrast">
+    </function>
+    <function name="mirror">
+    </function>
+    <function name="rotation">
+    </function>
+    <function name="colors">
+    </function>
+    <function name="pixelByPixel">
+      <validInFrame name="mainFrame" />
+    </function>
+    <function name="originalSize">
+      <validInFrame name="mainFrame" />
+    </function>
+  </functions>
+
+  <buttons>
+    <button name="home" command="navigation.home()" />
+    <button name="description" command="navigation.description()" />
+    <button name="new window" command="navigation.newwindow()" />
+  </buttons>
+
+</relato>