<xsl:param name="getterURL" select="''"/>
<xsl:param name="draw_graphURL" select="''"/>
+<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//')"/>
+
<xsl:template match="/">
<html>
<head>
</html>
</xsl:template>
-<xsl:template match="/" mode="makelink">
+<xsl:template name="makelink">
<xsl:param name="name" select="''"/>
<xsl:param name="CICURI" select="''"/>
<xsl:param name="RDFURI" select="''"/>
- <xsl:apply-templates select="*" mode="makelink">
- <xsl:with-param name="name" select="$name"/>
- <xsl:with-param name="CICURI" select="$CICURI"/>
- <xsl:with-param name="RDFURI" select="$RDFURI"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="unresolved" mode="makelink">
- <xsl:param name="name" select="''"/>
- <xsl:param name="CICURI" select="''"/>
- <p>
- Object <xsl:value-of select="$name"/> is never referenced in other objects
- </p>
- <xsl:apply-templates select="." mode="mk_dep_graph">
- <xsl:with-param name="CICURI" select="$CICURI"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="url" mode="makelink">
- <xsl:param name="name" select="''"/>
- <xsl:param name="CICURI" select="''"/>
- <xsl:param name="RDFURI" select="''"/>
- <p>
- <script>
- var RDFURI = "helm:rdf:www.cs.unibo.it/helm/rdf/backward//<xsl:value-of select="$RDFURI"/>";
- var getterURL = "<xsl:value-of select="$getterURL"/>";
+ <xsl:choose>
+ <xsl:when test="document(concat($BaseRDFURLBackward,$RDFURI))/*/*/*">
+ <p>
+ <script>
+ var RDFURI = "helm:rdf:www.cs.unibo.it/helm/rdf/backward//<xsl:value-of select="$RDFURI"/>";
+ var getterURL = "<xsl:value-of select="$getterURL"/>";
<![CDATA[
- var url = setParam(location.href,"keys","meta_theory%2CT1%2CT2%2CL%2CE");
- url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3D" + RDFURI);
- document.write('<a target="theory" href="' + url + '">View the objects depending on it.</a>');
+ var url = setParam(location.href,"keys","meta_theory%2CT1%2CT2%2CL%2CE");
+ url = setParam(url,"xmluri", getterURL + "getxml%3Furi%3D" + RDFURI);
+ document.write('<a target="theory" href="' + url + '">View the objects depending on it.</a>');
]]>
- </script>
- </p>
- <p>
- <script>
- var CICURI = "<xsl:value-of select="$CICURI"/>";
- var RDFURI = "helm:rdf:www.cs.unibo.it/helm/rdf/backward//<xsl:value-of select="$RDFURI"/>";
- var getterURL = "<xsl:value-of select="$getterURL"/>";
- var draw_graphURL = "<xsl:value-of select="$draw_graphURL"/>";
+ </script>
+ </p>
+ <p>
+ <script>
+ var CICURI = "<xsl:value-of select="$CICURI"/>";
+ var RDFURI = "helm:rdf:www.cs.unibo.it/helm/rdf/backward//<xsl:value-of select="$RDFURI"/>";
+ var getterURL = "<xsl:value-of select="$getterURL"/>";
+ var draw_graphURL = "<xsl:value-of select="$draw_graphURL"/>";
<![CDATA[
- var url = setParam(location.href,"keys","MMG");
- url = setParam(url,"xmluri", getterURL + 'getxml%3Furi%3D' + RDFURI);
- url = setParam(url,"param.CICURI",escape(CICURI));
- url = draw_graphURL + 'draw?url=' + escape(url);
- var url2 = setParam(location.href,"keys","MGL,RT");
- url2 = setParam(url2,"xmluri",escape(url));
- document.write('<a target="graph" href="' + url2 + '">View the graph of all the objects depending on this one.</a>');
+ var url = setParam(location.href,"keys","MMG");
+ url = setParam(url,"xmluri", getterURL + 'getxml%3Furi%3D' + RDFURI);
+ url = setParam(url,"param.CICURI",escape(CICURI));
+ url = draw_graphURL + 'draw?url=' + escape(url);
+ var url2 = setParam(location.href,"keys","MGL,RT");
+ url2 = setParam(url2,"xmluri",escape(url));
+ document.write('<a target="graph" href="' + url2 + '">View the graph of all the objects depending on this one.</a>');
]]>
- </script>
- </p>
- <xsl:apply-templates select="." mode="mk_dep_graph">
- <xsl:with-param name="CICURI" select="$CICURI"/>
- <xsl:with-param name="RDFURI" select="$RDFURI"/>
- </xsl:apply-templates>
-</xsl:template>
+ </script>
+ </p>
+ </xsl:when>
+ <xsl:otherwise>
+ <p>
+ Object <xsl:value-of select="$name"/> is never referenced in other objects
+ </p>
+ </xsl:otherwise>
+ </xsl:choose>
-<xsl:template match="*" mode="mk_dep_graph">
- <xsl:param name="CICURI" select="''"/>
- <xsl:param name="RDFURI" select="''"/>
- <p>
- <!-- CSC: Cut & Paster from above ==> create a single javascript function -->
- <script>
- var CICURI = "<xsl:value-of select="$CICURI"/>";
- var RDFURI = "helm:rdf:www.cs.unibo.it/helm/rdf/forward//<xsl:value-of select="$RDFURI"/>";
- var getterURL = "<xsl:value-of select="$getterURL"/>";
- var draw_graphURL = "<xsl:value-of select="$draw_graphURL"/>";
+ <xsl:choose>
+ <xsl:when test="document(concat($BaseRDFURLForward,$RDFURI))/*/*/*">
+ <p>
+ <!-- CSC: Cut & Paster from above ==> create a single javascript function -->
+ <script>
+ var CICURI = "<xsl:value-of select="$CICURI"/>";
+ var RDFURI = "helm:rdf:www.cs.unibo.it/helm/rdf/forward//<xsl:value-of select="$RDFURI"/>";
+ var getterURL = "<xsl:value-of select="$getterURL"/>";
+ var draw_graphURL = "<xsl:value-of select="$draw_graphURL"/>";
<![CDATA[
- var url = setParam(location.href,"keys","MDG");
- url = setParam(url,"xmluri", getterURL + 'getxml%3Furi%3D' + RDFURI);
- url = setParam(url,"param.CICURI",escape(CICURI));
- url = draw_graphURL + 'draw?url=' + escape(url);
- var url2 = setParam(location.href,"keys","MGL,RT");
- url2 = setParam(url2,"xmluri",escape(url));
- document.write('<a target="graph" href="' + url2 + '">View the graph of all the dependencies of this object.</a>');
+ var url = setParam(location.href,"keys","MDG");
+ url = setParam(url,"xmluri", getterURL + 'getxml%3Furi%3D' + RDFURI);
+ url = setParam(url,"param.CICURI",escape(CICURI));
+ url = draw_graphURL + 'draw?url=' + escape(url);
+ var url2 = setParam(location.href,"keys","MGL,RT");
+ url2 = setParam(url2,"xmluri",escape(url));
+ document.write('<a target="graph" href="' + url2 + '">View the graph of all the dependencies of this object.</a>');
]]>
- </script>
- </p>
+ </script>
+ </p>
+ </xsl:when>
+ <xsl:otherwise>
+ <p>
+ Object <xsl:value-of select="$name"/> does not reference any other object
+ </p>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
</xsl:stylesheet>