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], '/'))"/>