设置不带引号的布尔值

时间:2014-09-08 14:02:11

标签: xml xslt xpath boolean

我正在使用xslt来解析XML并生成json结构作为输出。我的json输出中有一个设置需要是一个布尔值,但是无法设置此值并且排除了双引号。

选择内部 - >当 - >否则我想设置真或假。

我得到了输出:

                 "likeTheColor" : "true"

但我想:

                 "likeTheColor" : true

如何将json条目设置为boolean并且不包含双引号。

以下是我创建的xsl的片段:

<xsl:choose>                                                        
  <xsl:when test="starts-with(snx:colorOK, 'none') = 'true'">
     "likeTheColor" : "<xsl:value-of select="translate(false(),'&#34;','')"/>",
  </xsl:when>
  <xsl:otherwise>
     "likeTheColor" : "<xsl:value-of select="translate(true(),'&#34;','')"/>",
  </xsl:otherwise>

</xsl:choose>                               

由于

1 个答案:

答案 0 :(得分:1)

你的真/假值有引号,因为你在它周围加上引号:

 Here --->"<xsl:value-of select="translate(false(),'&#34;','')"/>"<--- And here

你的方法比它需要的方法更复杂。您可以使用以下一行替换帖子中所有九行代码:

"likeTheColor" : <xsl:value-of select="not(starts-with(snx:colorOK, 'none'))" />,