<xsl:template name="makeURL4embedding">
 <xsl:param name="uri" select="''"/>
 <xsl:param name="type" select="'standalone'"/>
+ <xsl:variable name="uri_after_sharp" select="substring-after($uri,'#')"/>
  <xsl:variable name="cleanuri">
   <xsl:choose>
    <xsl:when test="$uri_after_sharp">
  <xsl:value-of select="$quotedembedkeys"/>
  <xsl:value-of select="$header2"/>
  <xsl:value-of select="$bothheader2"/>
- <xsl:value-of select="$cleanuri"/>&param.CICURI=<xsl:value-of select="$cleanuri"/>&param.type=<xsl:value-of select="$type"/>
+ <xsl:value-of select="$cleanuri"/>&param.CICURI=<xsl:value-of select="$cleanuri"/>&param.type=<xsl:value-of select="$type"/><xsl:value-of select="$sharpsuffix"/>
+</xsl:template>
+
+<!-- makeURL4InnerTypes() maps URIs into URLs              -->
+<!-- The target of the URL is only the processed document -->
+
+<xsl:template name="makeURL4InnerTypes">
+<xsl:param name="uri" select="''"/>
+ <xsl:variable name="cleanuri">
+  <xsl:choose>
+   <xsl:when test="$uri_after_sharp">
+    <xsl:value-of select="substring-before($uri,'#')"/>
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:value-of select="$uri"/>
+   </xsl:otherwise>
+  </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="sharpsuffix">
+  <xsl:choose>
+   <xsl:when test="$uri_after_sharp">%23<xsl:value-of select="$uri_after_sharp"/></xsl:when>
+   <xsl:otherwise></xsl:otherwise>
+  </xsl:choose>
+ </xsl:variable>
+ <xsl:value-of select="$header1"/>d_c&param.getterURL=<xsl:value-of select="$escaped-getterURL"/>&param.CICURI=<xsl:value-of select="$cleanuri"/>&xmluri=<xsl:value-of select="$absPath"/><xsl:value-of select="$cleanuri"/>
  <xsl:value-of select="$sharpsuffix"/>
 </xsl:template>
 
 </xsl:stylesheet> 
+
+
+
 
 <!-- For details, see the HELM World-Wide-Web page,                    -->
 <!-- http://cs.unibo.it/helm/.                                         -->
 
-<xsl:stylesheet version="0.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:stylesheet version="0.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                              xmlns:th="http://www.cs.unibo.it/helm/namespaces/helm-theory">
+
+<xsl:param name="getterURL" select="'http://localhost:8081/'"/>
 
 <xsl:output method="html"/>
 
+<xsl:variable name="absPath"><xsl:value-of select="$getterURL"/>getxml?uri=</xsl:variable>
 
 <xsl:template match="/">
                <html> 
                 <head></head>
                 <body>
-                <xsl:apply-templates select="Theory"/>
+                <xsl:apply-templates/>
                 </body>
                </html>
 </xsl:template>
 
 
-<!-- CIC TERMS -->
-
 
 
-<xsl:template match="MUTIND[string(@uri)='cic:/Coq/Init/Logic/Equality/eq.ind']" mode="search" >
-<!-- <xsl:param name="current_uri" select=""/> -->
-<!-- <h1><xsl:value-of select="string(@uri)"/></h1> -->
-<!-- <xsl:if test="string(@uri)='cic:/Coq/Init/Logic/Equality/eq.ind'"> -->
-  <xsl:value-of select="$current_uri"/><BR/>
-<!-- </xsl:if> -->
-</xsl:template>
-
 <!-- AGGIUNGERE cic: alle uri nei file Theory -->
 
-<xsl:template match="Theory">
-<!-- <xsl:param name="current_uri" select=""/> -->
- <xsl:apply-templates>
-  <xsl:with-param name="current_uri" select="string(@uri)"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="VARIABLE">
-<!-- <xsl:param name="current_uri" select=""/> -->
-<xsl:variable name="found" 
-  select="boolean(document(concat(string($absPath),string($current_uri),"/",string(@uri)))//MUTIND[string(@uri)='cic:/Coq/Init/Logic/Equality/eq.ind'])"/>
-<xsl:if test="$found">
-  <xsl:value-of select="concat(string($current_uri),"/",string(@uri),".xml")"/><BR/>
-</xsl:if>
-
-<!--   <xsl:with-param name="current_uri" select="concat(string($absPath),string($current_uri),"/",string(@uri))"/>
- </xsl:apply-templates> -->
-</xsl:template>
 
-<xsl:template match="DEFINITION">
-<!-- <xsl:param name="current_uri" select=""/> -->
-<!-- <xsl:apply-templates select="document(concat(string($absPath),string($current_uri),"/",string(@uri)))" mode="search">
-  <xsl:with-param name="current_uri" select="concat(string($absPath),string($current_uri),"/",string(@uri))"/>
- </xsl:apply-templates> -->
+<xsl:template match="th:VARIABLE|th:DEFINITION|th:THEOREM|th:AXIOM">
+<xsl:param name="current_uri" select="''"/>
+<xsl:variable name="abs_uri">
+ <xsl:call-template name="build_uri">
+  <xsl:with-param name="first_uri" select="$current_uri"/>
+  <xsl:with-param name="second_uri" select="@uri"/>
+ </xsl:call-template>
+</xsl:variable>
 <xsl:variable name="found" 
-  select="boolean(document(concat(string($absPath),string($current_uri),"/",string(@uri)))//MUTIND[string(@uri)='cic:/Coq/Init/Logic/Equality/eq.ind'])"/>
+  select="boolean(document(concat($absPath,$abs_uri))//MUTIND[string(@uri)='cic:/Coq/Init/Logic/Equality/eq.ind'])"/>
 <xsl:if test="$found">
-  <xsl:value-of select="concat(string($current_uri),"/",string(@uri),".xml")"/><BR/>
+  <xsl:value-of select="$abs_uri"/><BR/>
 </xsl:if>
 </xsl:template>
 
-<xsl:template match="THEOREM">
-<!-- <xsl:param name="current_uri" select=""/> -->
-<!-- <xsl:apply-templates select="document(concat(string($absPath),string($current_uri),"/",string(@uri)))" mode="search">
-  <xsl:with-param name="current_uri" select="concat(string($absPath),string($current_uri),"/",string(@uri))"/>
- </xsl:apply-templates> -->
-<xsl:variable name="found" 
-  select="boolean(document(concat(string($absPath),string($current_uri),"/",string(@uri)))//MUTIND[string(@uri)='cic:/Coq/Init/Logic/Equality/eq.ind'])"/>
-<xsl:if test="$found">
-  <xsl:value-of select="concat(string($current_uri),"/",string(@uri),".xml")"/><BR/>
-</xsl:if>
+<xsl:template match="th:SECTION">
+<xsl:param name="current_uri" select="''"/>
+<h1><xsl:value-of select="$current_uri"/></h1>
+ <xsl:apply-templates>
+  <xsl:with-param name="current_uri">
+   <xsl:call-template name="build_uri">
+    <xsl:with-param name="first_uri" select="$current_uri"/>
+    <xsl:with-param name="second_uri" select="@uri"/>
+   </xsl:call-template>
+  </xsl:with-param> 
+ </xsl:apply-templates>
 </xsl:template>
 
-
-<xsl:template match="SECTION">
-<!-- <xsl:param name="current_uri" select=""/> -->
+<xsl:template match="*">
+<xsl:param name="current_uri" select="''"/>
  <xsl:apply-templates>
-  <xsl:with-param name="current_uri" select="concat($current_uri,"/",string(@uri))"/>
+  <xsl:with-param name="current_uri" select="$current_uri"/>
  </xsl:apply-templates>
+</xsl:template>
 
+<xsl:template match="text()">
+</xsl:template>
+
+<xsl:template name="build_uri">
+ <xsl:param name="first_uri" select="''"/>
+ <xsl:param name="second_uri" select="''"/>
+ <xsl:choose>
+  <xsl:when test="starts-with($second_uri,'cic:')">
+   <xsl:value-of select="$second_uri"/>
+  </xsl:when>
+  <xsl:otherwise>
+   <xsl:value-of select="concat($first_uri,'/',$second_uri)"/>
+  </xsl:otherwise>
+ </xsl:choose>
 </xsl:template>
 
 </xsl:stylesheet>
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 <!--******************************************************************-->
 
 <xsl:import href="annotatedcont.xsl"/>
+<xsl:import href="links_library.xsl"/>
 
 <xsl:param name="getterURL" select="'http://localhost:8081/'"/>
+<xsl:param name="processorURL" select="'http://localhost:8080/helm/servlet/uwobo/'"/>
 <xsl:param name="naturalLanguage" select="'yes'"/>
 <xsl:param name="annotations" select="'no'"/>
 <xsl:param name="CICURI" select="''"/>
 
 <xsl:variable name="absPath"><xsl:value-of select="$getterURL"/>getxml?uri=</xsl:variable>
 
+<xsl:variable name="InnerTypesUri"><xsl:value-of select="concat($CICURI,'.types')"/></xsl:variable>
+
+<xsl:variable name="InnerTypesUrl"><xsl:call-template name="makeURL4InnerTypes"><xsl:with-param name="uri" select="$InnerTypesUri"/></xsl:call-template></xsl:variable>
+
 <!-- WARNING: Using lazy evaluation: $CICURI.* may not exist, but -->
 <!-- document() is called only by need!!!                         -->
-<xsl:variable name="InnerTypes" select="document(concat($absPath,$CICURI,'.types'))"/>
-<xsl:variable name="CICAnnotations" select="document(concat($absPath,$CICURI,'.ann'))"/>
+<!-- <xsl:variable name="InnerTypes" select="document(concat($absPath,$CICURI,'.types'))"/> -->
+<xsl:variable name="InnerTypes" select="document($InnerTypesUrl)"/> 
+<xsl:variable name="CICAnnotations" select="document(concat($absPath,$CICURI,'.ann'))"/> 
 
 <xsl:include href="headercontent.xsl"/>
 <xsl:include href="proofs.xsl"/>