Either I'm not understanding your requirements or your code is vastly
more complicated than needed (or both)
i think you just want
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="event_template">
<xsl:variable name="x"
select="tokenize(@sp_mand_doctypes,'\s*,\s*')"/>
<xsl:for-each select="event">
For event <xsl:value-of select="position()"/>
list is: <xsl:value-of
select="$x[not(.=current()/document_type/@sp_document_type)]"
separator=","/>
<xsl:text> count </xsl:text>
<xsl:value-of
select="count($x[not(.=current()/document_type/@sp_document_type)])"/>
additional docs: <xsl:value-of
select="document_type/@sp_document_type[not(.=$x)]"
separator=","/>
<xsl:text> count </xsl:text>
<xsl:value-of select="count(document_type/@sp_document_type[not(.=$x)])"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
which makes
$ saxon9 list.xml list.xsl
<?xml version="1.0" encoding="UTF-8"?>
For event 1
list is: PSC Minutes,Internal Approval,Rationale,Trade
Instructions,IPS count 5
additional docs: count 0
For event 2
list is: PSC Minutes,Internal Approval,Trade Instructions,IPS count 4
additional docs: count 0
For event 3
list is: PSC Minutes,Internal Approval,Rationale,Trade
Instructions,IPS,Final Client Models count 6
additional docs: Analyst count 1
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________