Microsoft XML Core Services (MSXML) 5.0 for Microsoft Office - XSLT Reference

Example 2 of <xsl:if>

Another way to separate the names by commas is to check a name to see if it is the first. In some circumstances this performs better than Example 1 of <xsl:if> , because the last() function requires that the entire set of names be found and counted, while this approach does not.

Note To test this example, you need to use a script. For more information, see Initiate XSLT in a Script.

XML File (names.xml)

Use the names.xml listing in Example 1 of <xsl:if>, but edit the href attribute to point to ifcomma2.xsl.

XSLT File (ifcomma2.xsl)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="namelist/name">
  <xsl:if test="position()!=1">, </xsl:if>
  <xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

Output

This is the formatted output:

Albert, Terrance, Will, Sylvia, Timothy, Gordon, James, Robert, Dan, Sasha

This is the processor output:

<?xml version="1.0" encoding="UTF-16"?>Albert, Terrance, Will, Sylvia, Timothy, Gordon, James, Robert, Dan, Sasha