]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/mowgli/home/xsl/xhtml-content.xsl
* non-html stuff that was installed in html/members/contract is now
[helm.git] / helm / mowgli / home / xsl / xhtml-content.xsl
index 924f7e825b84e0699875eeb66fe146df677f15c1..128c1de03ae3bbceef9a783babf6279154d4421d 100644 (file)
@@ -11,6 +11,7 @@
 <xsl:param name="path_to_top" select="'.'"/>
 <xsl:param name="current-date"/>
 <xsl:param name="make_header" select="true()"/>
+<xsl:param name="use_frames" select="'yes'"/>
 
 <!--CSC: The following mess is due to a bug of xsltproc w.r.t. patterns
          precedence: the less general pattern is sometimes applied ;-( -->
@@ -25,6 +26,7 @@
    <link rel="stylesheet" href="{$path_to_top}/../style/mowgli.css" type="text/css"/>
   </head>
   <body>
+   <xsl:variable name="body">
     <xsl:if test="$make_header">
      <xsl:call-template name="head">
       <xsl:with-param name="path_to_top" select="$path_to_top"/>
     <xsl:call-template name="foot">
      <xsl:with-param name="path_to_top" select="$path_to_top"/>
     </xsl:call-template>
+   </xsl:variable>
+   <xsl:choose>
+    <xsl:when test="$use_frames = 'yes'">
+     <xsl:copy-of select="$body"/>
+    </xsl:when>
+    <xsl:otherwise>
+     <table>
+      <tr>
+       <td nowrap="true" valign="top">
+        <xsl:apply-templates mode="menu" select="document('../templates/menu.xml')/*/*[2]/*"/>
+       </td>
+       <td width="5%">&#x0A0;</td>
+       <td valign="top">
+        <xsl:copy-of select="$body"/>
+       </td>
+      </tr>
+     </table>
+    </xsl:otherwise>
+   </xsl:choose>
   </body>
  </html>
 </xsl:template>
 <xsl:template match="mowgli:date">
  <xsl:copy-of select="$current-date"/>
 </xsl:template>
+
+<xsl:template name="a_menu">
+ <xsl:copy>
+  <xsl:choose>
+   <xsl:when test="starts-with(@href,'/') or
+                   starts-with(@href,'http://') or
+                   starts-with(@href,'mailto:')">
+    <xsl:copy-of select="@href"/>
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:attribute name="href">
+     <xsl:value-of select="$path_to_top"/>
+     <xsl:text>/</xsl:text>
+     <xsl:value-of select="@href"/>
+    </xsl:attribute>
+   </xsl:otherwise>
+  </xsl:choose>
+  <xsl:value-of select="text()"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template mode="menu" match="*|text()|@*">
+ <xsl:choose>
+  <xsl:when test="name(.) = 'a'">
+   <xsl:call-template name="a_menu"/>
+  </xsl:when>
+  <xsl:otherwise>
+   <xsl:copy>
+    <xsl:apply-templates mode="menu" select="*|text()|@*"/>
+   </xsl:copy>
+  </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
 </xsl:stylesheet>