Это преобразование :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="title[contains(., '/')]">
<h2>
<xsl:value-of select="substring-before(., '/')"/>
</h2>
<p>
<xsl:value-of select="substring-after(., '/')"/>
</p>
</xsl:template>
<xsl:template match="title">
<h2><xsl:value-of select="."/></h2>
</xsl:template>
</xsl:stylesheet>
при применении к предоставленному документу XML :
<product>
<title>The Maze / Jane Evans</title>
</product>
дает желаемый результат :
<h2>The Maze </h2>
<p> Jane Evans</p>
Обратите внимание, что явный условный код не используется - процессор XSLT сам выполняет эту работу.