diff --git a/src/main/resources/md2tei.xsl b/src/main/resources/md2tei.xsl index 79d61bdabfa635d566103fb5ac1118ddee4ef4da..805fa8f66f7e0897c84dc9bdbfb4989f15bdbedf 100644 --- a/src/main/resources/md2tei.xsl +++ b/src/main/resources/md2tei.xsl @@ -14,8 +14,22 @@ <xsl:value-of select="."/> </title> </xsl:for-each> - - <xsl:for-each select=".//md:agent"> + + <xsl:call-template name="convert-authorlike"> + <xsl:with-param name="role">author</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="convert-authorlike"> + <xsl:with-param name="role">sponsor</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="convert-authorlike"> + <xsl:with-param name="role">funder</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="convert-authorlike"> + <xsl:with-param name="role">contributor</xsl:with-param> + <xsl:with-param name="element">principal</xsl:with-param> + </xsl:call-template> + + <xsl:for-each select=".//md:agent[@role != 'author' and @role != 'sponser' and @role != 'funder' and @role != 'principal']"> <respStmt> <resp> <xsl:value-of select="@role"/> @@ -287,7 +301,16 @@ and fill out source information in that edition's metadata.</xsl:comment> </xsl:if> <xsl:value-of select="$source"/> </date> - </xsl:template> + </xsl:template> + <xsl:template name="convert-authorlike"> + <xsl:param name="role"/> + <xsl:param name="element" select="$role"/> + <xsl:for-each select=".//md:generic/md:provided/md:title[@role = $role]"> + <xsl:element name="{$element}"> + <xsl:value-of select="."/> + </xsl:element> + </xsl:for-each> + </xsl:template> </xsl:stylesheet>