Using ms:node-set node set for xslt version 1.0
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="ms">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="@* | node()">
<!-- declare nodelist Result fragment tree -->
<xsl:variable name="emails">
<email>AndrewSmith@nNextGen.net</email>
<email>BlakeGreen@outlock.com</email>
<email>ClintBeacon@yayWho.com</email>
<email>DarrenTree@notNextGen.net</email>
<email>EdwardReady@outlock.com</email>
<email>Harry@yayWho.com</email>
<email>Jackson@nNextGen.net</email>
<email>Erhard@outlock.com</email>
<email>Johnnie@yayWho.com</email>
<email>Abner@notNextGen.net</email>
<email>Emmit@outlock.com</email>
<email>Alfonse@yayWho.com</email>
</xsl:variable>
<xsl:variable name="emailsNodeSet" select="ms:node-set($emails)" />
<!-- generate a number to pick an email address -->
<xsl:variable name="positionGenerated" select="position()"/>
<xsl:value-of select="$emailsNodeSet/email[$positionGenerated]"/>
</xsl:template>
</xsl:stylesheet>