NotesToRefs.xsl

This is a stylesheet from the Croatiae auctores Latini TEI XML collection. For publishing under PhiloLogic, the TEI XML should conform to PhiloLogic specifications; this stylesheet reformats notes in the text, adding (empty) ref elements, creating attributes both for ref and note as required, and moving all note elements to a separate div in the back.

 

               <xsl:apply-templates select="@*|node"/> <xsl:element namespace="http://www.tei-c.org/ns/1.0" name="back"> <xsl:element name="div" namespace="http://www.tei-c.org/ns/1.0"> <xsl:attribute name="type">notes</xsl:attribute> <xsl:element name="head" namespace="http://www.tei-c.org/ns/1.0"> <xsl:text>Notae</xsl:text> </xsl:element> <xsl:element name="pb" namespace="http://www.tei-c.org/ns/1.0"> <xsl:attribute name="n">nts</xsl:attribute> </xsl:element> <xsl:for-each select="//tei:note"> <xsl:call-template name="scribnot"/> </xsl:for-each> </xsl:element> </xsl:element> </xsl:copy> </xsl:otherwise> </xsl:choose> </xsl:template>  <xsl:element name="ref" namespace="http://www.tei-c.org/ns/1.0"> <xsl:attribute name="type">nota</xsl:attribute> <xsl:attribute name="xml:id"> <xsl:text>r</xsl:text> <xsl:value-of select="generate-id(.)"/> </xsl:attribute> <xsl:attribute name="target"> <xsl:text>n</xsl:text> <xsl:value-of select="generate-id(.)"/> </xsl:attribute> <xsl:attribute name="n"> <xsl:number/> </xsl:attribute> </xsl:element> </xsl:template>   <xsl:apply-templates select="@*|node"/> <xsl:element name="div" namespace="http://www.tei-c.org/ns/1.0"> <xsl:attribute name="type">notes</xsl:attribute> <xsl:element name="head" namespace="http://www.tei-c.org/ns/1.0"> <xsl:text>Notae</xsl:text> </xsl:element> <xsl:for-each select="//tei:note"> <xsl:call-template name="scribnot"/> </xsl:for-each> </xsl:element> </xsl:copy> </xsl:template>   <xsl:attribute name="place">foot</xsl:attribute> <xsl:attribute name="xml:id"> <xsl:text>n</xsl:text> <xsl:value-of select="generate-id(.)"/> </xsl:attribute> <xsl:attribute name="target"> <xsl:text>r</xsl:text> <xsl:value-of select="generate-id(.)"/> </xsl:attribute> <xsl:apply-templates select="@*|node"/> </xsl:copy><xsl:text> </xsl:text> </xsl:template> </xsl:stylesheet>