]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/on-line/xslt/metadataLib.xsl
Also starting from metadatas it is now possible to select the number
[helm.git] / helm / on-line / xslt / metadataLib.xsl
index 8b0f34e8254998c460a4f895b7342588c5e236f3..ef45c40ea8b0e0fbaaead364aa6c75c21d9b0cb0 100644 (file)
@@ -8,10 +8,40 @@
 <xsl:param name="getterURL" select="''"/>
 <xsl:param name="draw_graphURL" select="''"/>
 
+<!--CSC: code cut & pasted from makeGraphLinks -->
+<xsl:param name="uri_set_size" select="'30'"/>
+<!--CSC: end of cut & paste from makeGraphLinks -->
+
 <xsl:variable name="BaseRDFURL" select="concat($getterURL,'getxml?uri=helm:rdf:www.cs.unibo.it/helm/rdf/')"/>
 <xsl:variable name="BaseRDFURLForward" select="concat($BaseRDFURL,'forward//')"/>
 <xsl:variable name="BaseRDFURLBackward" select="concat($BaseRDFURL,'backward//')"/>
 
+<!-- Next function to quote strings for JavaScript (i.e. ' ==> \' -->
+<xsl:template name="jsquote">
+ <xsl:param name="s" select="''"/>
+ <xsl:param name="news" select="''"/>
+ <xsl:choose>
+  <xsl:when test="$s = ''"><xsl:value-of select="$news"/></xsl:when>
+  <xsl:otherwise>
+   <xsl:variable name="char" select="substring($s,1,1)"/>
+   <xsl:choose>
+    <xsl:when test='$char = "&apos;"'>
+     <xsl:call-template name="jsquote">
+      <xsl:with-param name="s" select="substring($s,2)"/>
+      <xsl:with-param name="news" select='concat($news,"\\\&apos;")'/>
+     </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+     <xsl:call-template name="jsquote">
+      <xsl:with-param name="s" select="substring($s,2)"/>
+      <xsl:with-param name="news" select="concat($news,$char)"/>
+     </xsl:call-template>
+    </xsl:otherwise>
+   </xsl:choose>
+  </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
 <xsl:template match="/">
  <html>
   <head>
 ]]>
    </script>
    <xsl:apply-templates select="*"/>
+   <!--CSC: code almost cut & pasted from makeGraphLinks -->
+   <form name="uri_set_size">
+    Number of nodes to show when following an hyperlink to a graph:
+    <input type="text" onClick="return false" value="{$uri_set_size}" size="2"/> (30 suggested)
+   </form>
+   <!--CSC: end of cut & paste from makeGraphLinks -->
   </body>
  </html>
 </xsl:template>
  <xsl:param name="name" select="''"/>
  <xsl:param name="CICURI" select="''"/>
  <xsl:param name="RDFURI" select="''"/>
+ <xsl:variable name="quotedCICURI">
+  <xsl:call-template name="jsquote">
+   <xsl:with-param name="s" select="$CICURI"/>
+  </xsl:call-template>
+ </xsl:variable>
  <xsl:choose>
   <xsl:when test="document(concat($BaseRDFURLBackward,$RDFURI))/*/*/*">
    <p>
@@ -50,9 +91,8 @@
    </p>
    <p>
     <script>
-     var CICURI = "<xsl:value-of select="$CICURI"/>";
 <![CDATA[
-     document.write('<a target="graph" href="' + mkMetaURL(CICURI,true) + '">View the graph of all the objects depending on this one.</a>');
+     document.write('<a href="" onClick="window.open(mkMetaURL(\']]><xsl:value-of select="$quotedCICURI"/><![CDATA[\'),\'graph\');return false;">View the graph of all the objects depending on this one.</a>');
 ]]>
     </script>
    </p>
    <p>
     <!-- CSC: Cut & Paster from above ==> create a single javascript function -->
     <script>
-     var CICURI = "<xsl:value-of select="$CICURI"/>";
 <![CDATA[
-     document.write('<a target="graph" href="' + mkDepURL(CICURI,true) + '">View the graph of all the dependencies of this object.</a>');
+     document.write('<a href="" onClick="window.open(mkDepURL(\']]><xsl:value-of select="$quotedCICURI"/><![CDATA[\'),\'graph\');return false;">View the graph of all the dependencies of this object.</a>');
 ]]>
     </script>
    </p>