I'm not sure why, but it didn't seem to do anything differently. I'll give you the other code segments around it:
<xsl:template name="process-payer">
<xsl:param name="patient" />
<xsl:param name="payer" />
<xsl:variable name="procedures" select="/rootnode/procedure[payerkey=$payer and patientkey=$patient]" />
<xsl:variable name="procedurecount" select="count($procedures)" />
<xsl:if test="count($procedures) > 0">
<debug><xsl:text>process-payer procedure count is </xsl:text><xsl:value-of select="count($procedures)" /></debug>
<xsl:call-template name="process-procedure-set">
<xsl:with-param name="set">
<xsl:value-of select="$procedures" />
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template name="process-procedure-set">
<xsl:param name="set" />
<debug><xsl:text>passed set is </xsl:text><xsl:value-of select="count($set)" /></debug>
<xsl:variable name="subset">
<xsl:call-template name="get-valid-diagnosis-set">
<xsl:with-param name="procedureset">
<xsl:value-of select="$set" />
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
....
</xsl:template>
---
The issue seems to be that while the first function returns that there are count() values of anywhere from 8 to 20 (which there should be in the test instance I'm running), the called procedure only counts 1. Using exsl:node-set() does not fix this.
Thanks,
Jeff
(
[email protected])
FreeMED Software Foundation
http://freemedsoftware.com/