使用格式编号时出现错误-NaN

时间:2019-05-02 14:53:58

标签: xslt-2.0

我必须选择与V0匹配的v1的值,并且(需要输入13位数字,还要删除小数点) 我得到NaN。 请指导。

XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
 xmlns:xs="http://www.w3.org/2001/XMLSchema" >

<xsl:output method="text" encoding="utf-8" />
<xsl:output omit-xml-declaration="yes" />
<xsl:param name="break" select="'&#xA;'" />
<xsl:template match="A">
          <xsl:value-of select="format-number(B[match = V0]/v1 * 100,'0000000000000')"/>
  </xsl:template>

输入:

<A>
<B>
    <match>V0</match>
    <v1>34.56</v1>
</B>
<B>
    <match>V1</match>
    <v1>34.54</v1>
</B>

预期-0000000003456

实际-NaN

1 个答案:

答案 0 :(得分:1)

只需更改

<xsl:value-of select="format-number(B[match = V0]/v1 * 100,'0000000000000')"/>

<xsl:value-of select="format-number(B[match = 'V0']/v1 * 100,'0000000000000')"/>

其余的将跟随。

输出为:

000000003456

您忘记了将元素值放在单引号中。