qsos-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qsos-commits] qsos/tools/xslt qsos-sheet.css qsos-xhtml.xsl


From: Raphaël Semeteys
Subject: [Qsos-commits] qsos/tools/xslt qsos-sheet.css qsos-xhtml.xsl
Date: Sat, 29 Apr 2006 23:25:26 +0000

CVSROOT:        /sources/qsos
Module name:    qsos
Branch:         
Changes by:     Raphaël Semeteys <address@hidden>      06/04/29 23:25:26

Modified files:
        tools/xslt     : qsos-sheet.css qsos-xhtml.xsl 

Log message:
        Expand/Collapse feature added

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qsos/qsos/tools/xslt/qsos-sheet.css.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/qsos/qsos/tools/xslt/qsos-xhtml.xsl.diff?tr1=1.12&tr2=1.13&r1=text&r2=text

Patches:
Index: qsos/tools/xslt/qsos-sheet.css
diff -u qsos/tools/xslt/qsos-sheet.css:1.3 qsos/tools/xslt/qsos-sheet.css:1.4
--- qsos/tools/xslt/qsos-sheet.css:1.3  Fri Apr 14 09:46:44 2006
+++ qsos/tools/xslt/qsos-sheet.css      Sat Apr 29 23:25:26 2006
@@ -24,6 +24,18 @@
   list-style: square; 
 }
 
+li.collapsed {
+  list-style-image: url("expand.png");
+}
+
+li.expanded {
+  list-style-image: url("collapse.png");
+}
+
+.expandable {
+  cursor: pointer;
+}
+
 #header {
   border-style: dashed;
 }
Index: qsos/tools/xslt/qsos-xhtml.xsl
diff -u qsos/tools/xslt/qsos-xhtml.xsl:1.12 qsos/tools/xslt/qsos-xhtml.xsl:1.13
--- qsos/tools/xslt/qsos-xhtml.xsl:1.12 Wed Apr 26 21:51:32 2006
+++ qsos/tools/xslt/qsos-xhtml.xsl      Sat Apr 29 23:25:26 2006
@@ -1,144 +1,209 @@
-<xsl:stylesheet version="1.0" 
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
-  xmlns="http://www.w3.org/TR/xhtml1/strict";> 
-  <xsl:template match="/"> 
-    <html> 
-      <head> 
-        <title><xsl:value-of select="document/header/appname" /><xsl:value-of 
select="document/header/release" /></title>
-        <link rel="stylesheet" type="text/css" href="%%CSS_SHEET%%" />
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-      </head> 
-      <body> 
-        <h1><xsl:value-of select="document/header/appname" /><xsl:value-of 
select="document/header/release" /></h1>
-        <xsl:apply-templates select="document" />
-        <small><a href="http://QSOS.org";>the QSOS method</a></small>
-      </body> 
-    </html> 
-  </xsl:template> 
-
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns="http://www.w3.org/TR/xhtml1/strict"; version="1.0">
+  <xsl:template match="/">
+    <html>
+      <head>
+        <title>
+          <xsl:value-of select="document/header/appname"/>
+          <xsl:value-of select="document/header/release"/>
+        </title>
+        <link rel="stylesheet" type="text/css" href="qsos-sheet.css"/>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+        <script>
+       function expand(div) {
+               document.getElementById(div).style.display = "";
+               document.getElementById("lnk_"+div).setAttribute("onclick", 
"collapse('"+div+"')");
+               document.getElementById("list_"+div).setAttribute("class", 
"expanded");
+       }
+   
+       function collapse(div) {
+               document.getElementById(div).style.display = "none";
+               document.getElementById("lnk_"+div).setAttribute("onclick", 
"expand('"+div+"')");
+               document.getElementById("list_"+div).setAttribute("class", 
"collapsed");
+       }
+      </script>
+      </head>
+      <body>
+        <h1>
+          <xsl:value-of select="document/header/appname"/>
+          <xsl:value-of select="document/header/release"/>
+        </h1>
+        <xsl:apply-templates select="document"/>
+        <small>
+          <a href="http://QSOS.org";>the QSOS method</a>
+        </small>
+      </body>
+    </html>
+  </xsl:template>
   <xsl:template match="document">
     <div id="header">
-    <h2>Information</h2>
-      <xsl:apply-templates select="header" />
+      <h2>Information</h2>
+      <xsl:apply-templates select="header"/>
     </div>
-    <xsl:apply-templates select="section" />
+    <ul>
+      <xsl:apply-templates select="section"/>
+    </ul>
   </xsl:template>
-
   <xsl:template match="header">
     <ul>
-      <xsl:apply-templates select="dates" />
-      <li><strong>Language: </strong> <xsl:value-of select="language" /></li>
-      <li><strong>Application: </strong> <xsl:value-of select="appname" /></li>
-      <li><strong>Release: </strong> <xsl:value-of select="release" /></li>
-      <li><strong>License: </strong> <xsl:value-of select="licensedesc" /></li>
-      <li><strong>Url: </strong> <a href="{url}"><xsl:value-of select="url" 
/></a></li>
-      <li><strong>Desc: </strong> <xsl:value-of select="desc" /></li>
-
+      <xsl:apply-templates select="dates"/>
+      <li>
+        <strong>Language: </strong>
+        <xsl:value-of select="language"/>
+      </li>
+      <li>
+        <strong>Application: </strong>
+        <xsl:value-of select="appname"/>
+      </li>
+      <li>
+        <strong>Release: </strong>
+        <xsl:value-of select="release"/>
+      </li>
+      <li>
+        <strong>License: </strong>
+        <xsl:value-of select="licensedesc"/>
+      </li>
+      <li>
+        <strong>Url: </strong>
+        <a href="{url}">
+          <xsl:value-of select="url"/>
+        </a>
+      </li>
+      <li>
+        <strong>Desc: </strong>
+        <xsl:value-of select="desc"/>
+      </li>
       <xsl:if test="demo != ''">
-      <li><strong>Demo: </strong> <xsl:value-of select="demo" /></li>
+        <li>
+          <strong>Demo: </strong>
+          <xsl:value-of select="demo"/>
+        </li>
       </xsl:if>
-
-      <xsl:apply-templates select="authors" />
+      <xsl:apply-templates select="authors"/>
       <p>
         You can access to the sheet change log on <a 
href="http://cvs.savannah.nongnu.org/viewcvs/qsos/sheet/?root=qsos";>the CVS</a>.
       </p>
     </ul>
   </xsl:template>
-
   <xsl:template match="authors">
-    <li><strong>Authors of this sheet: </strong> <xsl:apply-templates 
select="author" />
+    <li>
+      <strong>Authors of this sheet: </strong>
+      <xsl:apply-templates select="author"/>
     </li>
   </xsl:template>
   <xsl:template match="author">
-    <a href="mailto:{email}";><xsl:apply-templates select="name" /> </a>  
+    <a href="mailto:{email}";>
+      <xsl:apply-templates select="name"/>
+    </a>
   </xsl:template>
-
   <xsl:template match="dates">
-    <li><strong>Sheet created the </strong> <xsl:apply-templates 
select="creation" /></li>
-
+    <li>
+      <strong>Sheet created the </strong>
+      <xsl:apply-templates select="creation"/>
+    </li>
     <xsl:if test="validation != ''">
-    <li><strong>Sheet validation the </strong> <xsl:apply-templates 
select="validation" /></li>
+      <li>
+        <strong>Sheet validation the </strong>
+        <xsl:apply-templates select="validation"/>
+      </li>
     </xsl:if>
-
   </xsl:template>
-
   <xsl:template match="section">
-    <div class="section" id="address@hidden">
-      <h2><xsl:value-of select="@title" /></h2>
-      <xsl:value-of select="desc" />
-      <ul>
-        <xsl:apply-templates select="element" />
-      </ul>
-    </div>
+    <li id="address@hidden" class="expanded">
+      <div id="address@hidden" onclick="collapse('address@hidden');" 
class="expandable">
+        <h2>
+          <xsl:value-of select="@title"/>
+        </h2>
+      </div>
+      <div class="section" id="address@hidden">
+        <xsl:value-of select="desc"/>
+        <ul>
+          <xsl:apply-templates select="element"/>
+        </ul>
+      </div>
+    </li>
   </xsl:template>
-
   <xsl:template match="element">
-    <li>
-      
-      <div class="element" id="address@hidden">
-        
-       <strong><xsl:value-of select="@title" /></strong>
-       
-       <xsl:if test="desc0">
-       <ul type="desclist">
-                <xsl:if test="score = '0'">    
-                       <li> <strong><xsl:value-of select="desc0" /></strong>  
</li>
-                       <li> <xsl:value-of select="desc1" /> </li>
-                       <li> <xsl:value-of select="desc2" /> </li>
-                       </xsl:if>
-               <xsl:if test="score = '1'">     
-                       <li> <xsl:value-of select="desc0" /> </li>
-                       <li> <strong><xsl:value-of select="desc1" /></strong>  
</li>
-                       <li> <xsl:value-of select="desc2" /> </li>
-               </xsl:if>
-               <xsl:if test="score = '2'">     
-                       <li> <xsl:value-of select="desc0" /> </li>
-                       <li> <xsl:value-of select="desc1" /> </li>
-                       <li> <strong><xsl:value-of select="desc2" /></strong>  
</li>
-               </xsl:if>
-               <xsl:if test="score = ''">      
-                       <li> <xsl:value-of select="desc0" /> </li>
-                       <li> <xsl:value-of select="desc1" /> </li>
-                       <li> <xsl:value-of select="desc2" /> </li>
-               </xsl:if>
-                       
-       </ul>
-       </xsl:if>       
-       
-       
-       <xsl:if test="comment !=''">
-               <ul>
-                       <div class="comments"><xsl:value-of 
select="comment"/></div>
-               </ul>
-       </xsl:if>       
-       
-       
-       
-       <xsl:if test="score != ''">
-               <div class="score">Score : <xsl:value-of select="score" 
/>/2</div>
-       
-       </xsl:if>
-       <xsl:if test="score = ''">
-               <div class="todo">Not evaluated</div> 
-       </xsl:if>
-       
-       
-       
-       
-       
-       
+    <li id="address@hidden" class="expanded">
+      <div id="address@hidden" onclick="collapse('address@hidden');" 
class="expandable">
+        <strong>
+          <xsl:value-of select="@title"/>
+        </strong>
       </div>
-        
-       <xsl:if test="element">
+      <div class="element" id="address@hidden">
+        <xsl:if test="desc0">
+          <ul type="desclist">
+            <xsl:if test="score = '0'">
+              <li>
+                <strong>
+                  <xsl:value-of select="desc0"/>
+                </strong>
+              </li>
+              <li>
+                <xsl:value-of select="desc1"/>
+              </li>
+              <li>
+                <xsl:value-of select="desc2"/>
+              </li>
+            </xsl:if>
+            <xsl:if test="score = '1'">
+              <li>
+                <xsl:value-of select="desc0"/>
+              </li>
+              <li>
+                <strong>
+                  <xsl:value-of select="desc1"/>
+                </strong>
+              </li>
+              <li>
+                <xsl:value-of select="desc2"/>
+              </li>
+            </xsl:if>
+            <xsl:if test="score = '2'">
+              <li>
+                <xsl:value-of select="desc0"/>
+              </li>
+              <li>
+                <xsl:value-of select="desc1"/>
+              </li>
+              <li>
+                <strong>
+                  <xsl:value-of select="desc2"/>
+                </strong>
+              </li>
+            </xsl:if>
+            <xsl:if test="score = ''">
+              <li>
+                <xsl:value-of select="desc0"/>
+              </li>
+              <li>
+                <xsl:value-of select="desc1"/>
+              </li>
+              <li>
+                <xsl:value-of select="desc2"/>
+              </li>
+            </xsl:if>
+          </ul>
+        </xsl:if>
+        <xsl:if test="comment !=''">
+          <ul>
+            <div class="comments">
+              <xsl:value-of select="comment"/>
+            </div>
+          </ul>
+        </xsl:if>
+        <xsl:if test="score != ''">
+          <div class="score">Score : <xsl:value-of select="score"/>/2</div>
+        </xsl:if>
+        <xsl:if test="score = ''">
+          <div class="todo">Not evaluated</div>
+        </xsl:if>
+        <xsl:if test="element">
           <ul>
-            <xsl:apply-templates select="element" />
+            <xsl:apply-templates select="element"/>
           </ul>
         </xsl:if>
+      </div>
     </li>
   </xsl:template>
-
-
-
-
-
 </xsl:stylesheet>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]