Skip to content

Instantly share code, notes, and snippets.

@vgrem
Created January 8, 2013 07:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vgrem/4482004 to your computer and use it in GitHub Desktop.
Save vgrem/4482004 to your computer and use it in GitHub Desktop.
Split email addresses by delimiter and print values. Additionally insert BR element after 3th element
<xsl:template name="SplitEmailAddresses" ddwrt:ghost="">
<xsl:param name="emailAddresses" select="."/>
<xsl:param name="separator" select="';'"/>
<xsl:param name="counterEmail" select="1"/>
<xsl:if test="($counterEmail mod 4) = 0">
<br/>
</xsl:if>
<xsl:choose>
<xsl:when test="not(contains($emailAddresses, $separator))">
<xsl:value-of select="$emailAddresses" disable-output-escaping="yes" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring-before($emailAddresses, $separator)" disable-output-escaping="yes"/>
<xsl:call-template name="SplitEmailAddresses">
<xsl:with-param name="emailAddresses" select="substring-after($emailAddresses, $separator)"/>
<xsl:with-param name="separator" select="';'"/>
<xsl:with-param name="counterEmail" select="$counterEmail+ 1"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment