-<?xml version="1.0"?>
-
-<!-- Copyright (C) 2000, HELM Team -->
-<!-- -->
-<!-- This file is part of HELM, an Hypertextual, Electronic -->
-<!-- Library of Mathematics, developed at the Computer Science -->
-<!-- Department, University of Bologna, Italy. -->
-<!-- -->
-<!-- HELM is free software; you can redistribute it and/or -->
-<!-- modify it under the terms of the GNU General Public License -->
-<!-- as published by the Free Software Foundation; either version 2 -->
-<!-- of the License, or (at your option) any later version. -->
-<!-- -->
-<!-- HELM is distributed in the hope that it will be useful, -->
-<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
-<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
-<!-- GNU General Public License for more details. -->
-<!-- -->
-<!-- You should have received a copy of the GNU General Public License -->
-<!-- along with HELM; if not, write to the Free Software -->
-<!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, -->
-<!-- MA 02111-1307, USA. -->
-<!-- -->
-<!-- For details, see the HELM World-Wide-Web page, -->
-<!-- http://cs.unibo.it/helm/. -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:m="http://www.w3.org/1998/Math/MathML"
- xmlns:helm="http://www.cs.unibo.it/helm"
- xmlns:xlink="http://www.w3.org/1999/xlink">
-
-<!--***********************************************************************-->
-<!-- From MathML presentation or HTML to themselves with links -->
-<!-- HELM Group: Asperti, Padovani, Sacerdoti, Schena -->
-<!-- First draft: March 16 2001, Irene Schena -->
-<!--***********************************************************************-->
-
-<xsl:import href="links_library.xsl"/>
-
-<xsl:key name="id" use="@id" match="m:*"/>
-
-<xsl:template match = "m:semantics">
- <xsl:apply-templates select="*[1]" mode="semantics"/>
-</xsl:template>
-
-<!-- Discharging content markup mantaining the linking info (helm:xref and
-xlink:href) -->
-<xsl:template match = "*" mode="semantics">
- <xsl:copy>
- <xsl:copy-of select="@*"/>
- <xsl:if test="@xref">
- <xsl:variable name="cnode" select="key('id',@xref)"/>
- <xsl:if test="$cnode/@definitionURL">
- <xsl:attribute name="xlink:href">
- <xsl:call-template name="makeURL"><xsl:with-param name="uri" select="$cnode/@definitionURL"/></xsl:call-template>
- </xsl:attribute>
- <!-- xlink:show='other' requires the exact modality to be -->
- <!-- specified in non-xlink markup. The point is that the -->
- <!-- element is already MathML ==> we can't add other -->
- <!-- markup without introducing another new namespace. -->
- <!-- So, for now no markup is used. -->
- <xsl:attribute name="xlink:show">other</xsl:attribute>
- </xsl:if>
- <xsl:if test="$cnode/@helm:xref">
- <xsl:attribute name="helm:xref">
- <xsl:value-of select="$cnode/@helm:xref"/>
- </xsl:attribute>
- </xsl:if>
- </xsl:if>
- <xsl:apply-templates mode="semantics"/>
- </xsl:copy>
-</xsl:template>
-
-<!-- _top to refresh the whole frameset (avoids the matrioska effect ;-) -->
-<!-- a[@href] doesn't match with every anchor elements!!! -->
-<xsl:template match="*[@href]">
- <xsl:copy>
- <xsl:copy-of select="@*"/>
- <xsl:choose>
- <xsl:when test="starts-with(@href,"cic:")">
- <xsl:attribute name="href">
- <xsl:call-template name="makeURL">
- <xsl:with-param name="uri" select="@href"/>
- </xsl:call-template>
- </xsl:attribute>
- <xsl:attribute name="target">cic</xsl:attribute>
- </xsl:when>
- <xsl:when test="starts-with(@href,"theory:")">
- <xsl:attribute name="href">
- <xsl:call-template name="makeTheoryURL">
- <xsl:with-param name="uri" select="@href"/>
- </xsl:call-template>
- </xsl:attribute>
- <xsl:attribute name="target">theory</xsl:attribute>
- </xsl:when>
- <xsl:when test="starts-with(@href,"#")">
- <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
- <xsl:if test="@target">
- <xsl:attribute name="target"><xsl:value-of select="@target"/></xsl:attribute>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
- <xsl:attribute name="target">_blank</xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:apply-templates/>
- </xsl:copy>
-</xsl:template>
-
-<xsl:template match = "/|*">
- <xsl:copy>
- <xsl:copy-of select="@*"/>
- <xsl:apply-templates/>
- </xsl:copy>
-</xsl:template>
-
-</xsl:stylesheet>