Issue: xsl:number returns a NaN value when it matches on a node of the desired value. Expected value is 1.
 
This happens within an intermediate result tree. Is this a logic issue or something else? It repeats matching on the first fnote and then returning NaN. The second match is labeled as 1 and so on correctly. The node is there as I am dumping its output following the number value (see example output).
 
Environment:
java version "1.6.0_03"
saxonb9-0-0-2j
 
Example Intermediate Result Tree Data Structure:
(not actual file)
 
<techTree vendor="Cisco" category="gateway">
   <class name="IP">
      <tech name="IP Address" imo="IIPInterface">
         <tseries column="AS5300" state="Y">
          <fnote>Remark text appears here.</fnote>
         </tseries>
      </tech>
      <tech name="Subnetwork Mask" imo="IIPInterface">
         <tseries column="AS5300" state="Y"/>
      </tech>
 </class>
</techTree>
Example output from xsl:message:
 
Output coming on the following line:
 
Vlan mode (Access, Trunk, 802.1q, Tunnel)
1
Vlan identification, used for untagged received and transmitted frames.
2
User name,&#133;
3
Bound or Not Bound
4
Unknown, STP, RSTP, PVSTP, MST
5
 
 
 
Code:
 
....
<xsl:for-each select="current-group()/tseries">
<xsl:if test="fnote">
             <xsl:message><xsl:number count="//tech/tseries/fnote" level="any" /></xsl:message>
             <xsl:message><xsl:value-of select="fnote"/></xsl:message>
              <sup><xsl:number count="//tech/tseries/fnote" level="any" /></sup>
</xsl:if>
</xsl:for-each>