+<?xml version="1.0"?>
+
+<!--******************************************************************-->
+<!-- XSLT version 0.1 generating metadata content of pointers -->
+<!-- (backward and forward) -->
+<!-- First draft: May 24 2002, Irene Schena -->
+<!--******************************************************************-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:h="http://www.cs.unibo.it/helm/schemas/schema-helm#"
+ xmlns:hth="http://www.cs.unibo.it/helm/schemas/schema-helmth#">
+
+<xsl:output method="text"/>
+
+<xsl:param name="path"/>
+
+<xsl:template match="/">
+ <xsl:apply-templates select="*"/>
+ <xsl:apply-templates select="document(concat('backward/',$path))/rdf:RDF/h:Object/*"/>
+</xsl:template>
+
+<!-- to skip blanks -->
+<xsl:template match="*">
+ <xsl:apply-templates select="*"/>
+</xsl:template>
+
+<xsl:template match="h:Object">
+ <xsl:value-of select="@rdf:about"/>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="*"/>
+</xsl:template>
+
+<xsl:template match="h:refObj|h:backPointer">
+ <xsl:choose>
+ <xsl:when test="name(.)='h:refObj'">
+ <xsl:text>F|</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>B|</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="h:position/@rdf:resource"/>
+ <xsl:text>|</xsl:text>
+ <xsl:value-of select="h:occurrence/h:Object/@rdf:about"/>
+ <xsl:text>|</xsl:text>
+ <xsl:choose>
+ <xsl:when test="h:depth">
+ <xsl:value-of select="h:depth"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>null</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text>
+</xsl:text>
+</xsl:template>
+
+</xsl:stylesheet>