Fix getting booktitles with multiple : and /
diff --git a/xslt/epub2i5.xsl b/xslt/epub2i5.xsl
index 2eff8cd..bf8e9fb 100644
--- a/xslt/epub2i5.xsl
+++ b/xslt/epub2i5.xsl
@@ -78,7 +78,14 @@
<xsl:variable name="title-with-subtitles">
<xsl:choose>
<xsl:when test="contains(($dnbBookdata//dc:title)[1],':')">
- <xsl:value-of select="normalize-space(substring-before(substring-before(($dnbBookdata//dc:title)[1], '/'), ':'))"/>
+ <xsl:choose>
+ <xsl:when test="matches(($dnbBookdata//dc:title)[1], '.*/.*:.*/')">
+ <xsl:value-of select="normalize-space(substring-before(($dnbBookdata//dc:title)[1], ':'))"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="normalize-space(substring-before(substring-before(($dnbBookdata//dc:title)[1], '/'), ':'))"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space(substring-before(($dnbBookdata//dc:title)[1], '/'))"/>