]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/www/lambdadelta/xslt/lddl_library.xsl
planned dehyphenation of lambdadelta eventually took place!
[helm.git] / helm / www / lambdadelta / xslt / lddl_library.xsl
diff --git a/helm/www/lambdadelta/xslt/lddl_library.xsl b/helm/www/lambdadelta/xslt/lddl_library.xsl
new file mode 100644 (file)
index 0000000..e69468a
--- /dev/null
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ||M||  This file is part of HELM, an Hypertextual, Electronic        
+    ||A||  Library of Mathematics, developed at the Computer Science     
+    ||T||  Department, University of Bologna, Italy.                     
+    ||I||                                                                
+    ||T||  HELM is free software; you can redistribute it and/or         
+    ||A||  modify it under the terms of the GNU General Public License   
+    \   /  version 2 or (at your option) any later version.              
+     \ /   This software is distributed as is, NO WARRANTY.              
+      V_______________________________________________________________ -->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns:ld="http://lambdadelta.info"
+                              xmlns="http://www.w3.org/1999/xhtml"
+>
+
+<xsl:template name="sp">
+   <xsl:text> </xsl:text>
+</xsl:template>
+
+<xsl:template name="cm">
+   <xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template name="sl">
+   <xsl:text>/</xsl:text>
+</xsl:template>
+
+<xsl:template name="plus">
+   <xsl:text>+</xsl:text>
+</xsl:template>
+
+<xsl:template name="fs">
+   <xsl:text>.&#x200B;</xsl:text>
+</xsl:template>
+
+<xsl:template name="op">
+   <xsl:text>(</xsl:text>
+</xsl:template>
+
+<xsl:template name="cp">
+   <xsl:text>)</xsl:text>
+</xsl:template>
+
+<xsl:template name="ob">
+   <xsl:text>[</xsl:text>
+</xsl:template>
+
+<xsl:template name="cb">
+   <xsl:text>]</xsl:text>
+</xsl:template>
+
+<xsl:template name="oa">
+   <xsl:text>&lt;</xsl:text>
+</xsl:template>
+
+<xsl:template name="ca">
+   <xsl:text>&gt;</xsl:text>
+</xsl:template>
+
+<xsl:template name="cn">
+   <xsl:text>:</xsl:text>
+</xsl:template>
+
+<xsl:template name="eq">
+   <xsl:text>=</xsl:text>
+</xsl:template>
+
+<xsl:template name="qt">
+   <xsl:text>"</xsl:text>
+</xsl:template>
+
+<xsl:template name="idescr">
+   <xsl:text>Informal description: </xsl:text>
+</xsl:template>
+
+<xsl:template name="vpars">
+   <xsl:text>Validation parameters: </xsl:text>
+</xsl:template>
+
+<xsl:template name="shier">
+   <xsl:text>sort hierarchy = </xsl:text>
+</xsl:template>
+
+<xsl:template name="kopts">
+   <xsl:text>kernel options = </xsl:text>
+</xsl:template>
+
+<xsl:template name="multiple">
+   <span class="separator">
+      <xsl:call-template name="cm"/>
+   </span>
+</xsl:template>
+
+<xsl:template name="lambda">
+   <a title="{@mark}">
+      <xsl:choose>
+        <xsl:when test="@level=0">
+           <xsl:text disable-output-escaping="yes">&amp;Pi;</xsl:text>
+            <sup><xsl:value-of select="@level"/></sup>
+        </xsl:when>
+        <xsl:when test="@level=1">
+           <xsl:text disable-output-escaping="yes">&amp;Pi;</xsl:text>
+        </xsl:when>
+        <xsl:when test="@level=2">
+           <xsl:text disable-output-escaping="yes">&amp;lambda;</xsl:text>
+        </xsl:when>
+        <xsl:when test="not(@level)">
+           <xsl:text disable-output-escaping="yes">&amp;lambda;</xsl:text>
+           <sup><xsl:text disable-output-escaping="yes">&amp;infin;</xsl:text></sup>
+        </xsl:when>
+        <xsl:otherwise>
+           <xsl:text disable-output-escaping="yes">&amp;lambda;</xsl:text>
+            <sup><xsl:value-of select="@level"/></sup>
+        </xsl:otherwise>
+      </xsl:choose>
+   </a>
+</xsl:template>
+
+<xsl:template name="delta">
+   <a title="{@mark}">
+      <xsl:text disable-output-escaping="yes">&amp;delta;</xsl:text>
+   </a>
+</xsl:template>
+
+<xsl:template name="chi">
+   <a title="{@mark}">
+      <xsl:text disable-output-escaping="yes">&amp;chi;</xsl:text>
+   </a>
+</xsl:template>
+
+<xsl:template name="position">
+   <xsl:variable name="index">
+      <xsl:value-of select="@position"/>
+      <xsl:if test="@offset != 0">
+         <xsl:call-template name="plus"/>
+        <xsl:value-of select="@offset"/>
+      </xsl:if>
+   </xsl:variable>
+   <a title="{$index}">
+      <xsl:value-of select="@name"/>
+   </a>
+</xsl:template>
+
+<xsl:template name="uri">
+   <xsl:variable name="url">
+      <xsl:value-of select="$baseurl"/>
+      <xsl:value-of select="substring-after(@uri,'ld:')"/>
+      <xsl:text>.html</xsl:text>
+   </xsl:variable>
+   <a href="{$url}" title="{@uri}"><xsl:value-of select="@name"/></a>
+</xsl:template>
+
+<xsl:template name="global">
+   <a title="{@mark}">
+      <xsl:value-of select="@name"/>
+   </a>
+</xsl:template>
+
+<xsl:template name="mk_names">
+   <xsl:param name="names">
+      <xsl:value-of select="normalize-space(@name)"/>
+      <xsl:call-template name="sp"/>
+   </xsl:param>
+   <xsl:param name="sep" select="false()"/>
+   <xsl:if test="$names and $sep">
+      <xsl:call-template name="multiple"/>
+   </xsl:if>
+   <xsl:if test="$names">
+      <span class="lref">
+         <xsl:value-of select="substring-before($names, ' ')"/>
+      </span>
+      <xsl:call-template name="mk_names">
+         <xsl:with-param name="names" select="substring-after($names, ' ')"/>
+         <xsl:with-param name="sep" select="true()"/>
+      </xsl:call-template>
+   </xsl:if>
+</xsl:template>
+
+<xsl:template name="mk_terms">
+   <xsl:for-each select="*">
+      <xsl:apply-templates select="."/>
+      <xsl:if test="(name()='Sort' or name()='LRef' or name()='GRef') and position()!=last()">
+         <xsl:call-template name="multiple"/>
+      </xsl:if>
+   </xsl:for-each>
+</xsl:template>
+
+<xsl:template name="mk_binder">
+   <xsl:param name="sep-seq"/>
+   <xsl:call-template name="ob"/>
+   <xsl:call-template name="mk_binder_rec1">
+      <xsl:with-param name="sep-seq" select="$sep-seq"/>
+   </xsl:call-template>
+   <xsl:call-template name="cb"/>
+</xsl:template>
+
+<xsl:template name="mk_binder_rec1">
+   <xsl:param name="sep-seq"/>
+   <xsl:param name="names">
+      <xsl:value-of select="normalize-space(@name)"/>
+      <xsl:call-template name="sp"/>
+   </xsl:param>
+   <xsl:param name="sep" select="false()"/>
+   <xsl:param name="start" select="true()"/>
+   <xsl:param name="pos" select="1"/>
+   <xsl:choose>
+      <xsl:when test="$start and $pos &lt;= count(*)">
+         <xsl:if test="$names and $sep">
+            <xsl:call-template name="multiple"/>
+         </xsl:if>
+         <span class="lref">
+           <xsl:value-of select="substring-before($names, ' ')"/>
+        </span>
+         <xsl:copy-of select="$sep-seq"/>
+        <xsl:call-template name="mk_binder_rec2">
+            <xsl:with-param name="names" select="substring-after($names, ' ')"/>
+            <xsl:with-param name="pos" select="$pos"/>
+            <xsl:with-param name="sep-seq" select="$sep-seq"/>
+         </xsl:call-template>
+      </xsl:when>
+      <xsl:when test="not($start) and $pos &lt;= count(*)">
+         <xsl:call-template name="mk_binder_rec2">
+            <xsl:with-param name="names" select="$names"/>
+            <xsl:with-param name="pos" select="$pos"/>
+            <xsl:with-param name="sep-seq" select="$sep-seq"/>
+         </xsl:call-template>
+      </xsl:when>
+   </xsl:choose>
+</xsl:template>
+
+<xsl:template name="mk_binder_rec2">
+   <xsl:param name="sep-seq"/>
+   <xsl:param name="names"/>
+   <xsl:param name="pos"/>
+   <xsl:apply-templates select="*[$pos]"/>
+   <xsl:call-template name="mk_binder_rec1">
+      <xsl:with-param name="sep-seq" select="$sep-seq"/>
+      <xsl:with-param name="names" select="$names"/>
+      <xsl:with-param name="sep" select="true()"/>
+      <xsl:with-param name="start" select="name(*[$pos])='Sort' or name(*[$pos])='LRef' or name(*[$pos])='GRef'"/>
+      <xsl:with-param name="pos" select="$pos+1"/>
+   </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="mk_segment">
+   <xsl:param name="path"/>
+   <xsl:param name="name"/>
+   <xsl:variable name="url">
+      <xsl:value-of select="$baseurl"/>
+      <xsl:value-of select="substring-after($path,'ld:')"/>
+   </xsl:variable>
+   <a href="{$url}"><xsl:value-of select="$name"/></a>
+   <xsl:call-template name="sl"/>
+</xsl:template>
+
+<xsl:template name="mk_path">
+   <xsl:param name="rpath" select="@uri"/>
+   <xsl:variable name="newrpath" select="substring-after($rpath,'/')"/>
+   <xsl:choose>
+      <xsl:when test="$newrpath">
+         <xsl:variable name="segment" select="substring-before($rpath,$newrpath)"/>
+         <xsl:call-template name="mk_segment">
+            <xsl:with-param name="path" select="substring-before(@uri,$newrpath)"/>
+            <xsl:with-param name="name" select="substring-before($segment,'/')"/>
+         </xsl:call-template>
+        <xsl:call-template name="mk_path">
+           <xsl:with-param name="rpath" select="$newrpath"/>
+        </xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+         <xsl:variable name="path" select="substring-before(@uri,$rpath)"/>
+        <xsl:value-of select="substring-after(@uri,$path)"/>
+      </xsl:otherwise>
+   </xsl:choose>
+</xsl:template>
+
+<xsl:template name="lddl">
+   <xsl:text disable-output-escaping="yes">&amp;lambda;&amp;delta; Digital Library (LDDL)</xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>