我有一个Icecast2流的json.xsl文件,看起来像这样:
<xsl:template match="/icestats"><!-- <xsl:param name="callback" /> <xsl:value-of select="$callback" /> -->parseMusic({<xsl:for-each select="source">
"<xsl:value-of select="@mount"/>":
{
"title":"<xsl:if test="artist"><xsl:value-of select="artist" /> - </xsl:if><xsl:value-of select="title" />"
}
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>});
</xsl:template>
这可以正常工作,但是只要流关闭并且不接收任何元数据,“标题”就会说“”:
parseMusic({
"/listen.mp3":
{
"title":"",
}
});
在这种情况下,如何设置默认值(例如“ title”:“很快就会回来”)?
答案 0 :(得分:0)
在XSLT 2.0中,使用
<xsl:value-of select="(title, 'will be back soon')[1]"/>
在XSLT 1.0中,使用xsl:choose
。