我在某些xml上运行xsl转换,并且需要能够在几个标签上设置一些默认值(如果它们显示为空)。例如,我的XML已经XSLT在空xml标签中设置默认值
<record>
<name>Bob</name>
<latitude>51.23645</latitude>
<longitude>-0.1254</longitude>
<rank></rank>
</record>
<record>
<name>Chantel</name>
<latitude></latitude>
<longitude></longitude>
<rank>5</rank>
</record>
,我想一些默认设置为输出:
<record>
<name>Bob</name>
<latitude>51.23645</latitude>
<longitude>-0.1254</longitude>
<rank>0</rank>
</record>
<record>
<name>Chantel</name>
<latitude>0.00</latitude>
<longitude>0.00</longitude>
<rank>5</rank>
</record>
我想这将是简单的,但似乎无法破解它。
在此先感谢。
编辑:这就是我想要做的。仍然只是在黑暗中摸索摸索!
<xsl:template match="record">
<xsl:when test="name()='latitude'">
<xsl:element name="latitude">
<xsl:choose>
<xsl:when test="text()=''">
<latitude>0.00</latitude>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="latitude"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:when>
</xsl:template>
你能展示你的XSL'过渡'吗?你在使用参数吗? – 2011-05-20 14:49:09
@empo我刚刚编辑我的帖子,以显示我的(可怜的)尝试写这个过渡... – Willb 2011-05-20 15:48:42