以下代码验证输入(即12012016为12.01.2016),
<xsl:template name="handleDate">
<xsl:param name="input"/>
<xsl:value-of select="substring($input, 9, 2)" />
<xsl:text>.</xsl:text><xsl:value-of select="substring($input, 6, 2)" />
<xsl:text>.</xsl:text><xsl:value-of select="substring($input, 1, 4)" />
</xsl:template>
但是每当一个日期为空(未填充)时,结果我在输出中只得到2个点(..),当我尝试在其他系统中导入它时出现错误,因为(..)不是有效日期。 我尝试了这个,但仍然无效:
<xsl:template name="handleDate">
<xsl:param name="input"/>
<xsl:choose>
<xsl:when test="input!= ''">
<xsl:value-of select="substring($input, 9, 2)" />
<xsl:text>.</xsl:text><xsl:value-of select="substring($input, 6, 2)" />
<xsl:text>.</xsl:text><xsl:value-of select="substring($input, 1, 4)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select=" '' " />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:call-template name="handleDate">
<xsl:with-param name="input" select="Field[@guid='123']/@xmlConvertedValue" />
</xsl:call-template>
输入是例如:
name; date; name2
输出应该是:
test1 ;; test2(如果日期为空白)
答案 0 :(得分:2)
在var NavLink = React.createClass({
contextTypes: {
router: React.PropTypes.object
},
render() {
return (
<Link {...this.props}></Link>
);
}
});
表达式中,您忘记了变量和参数名称的test
前缀:
$
因此,此处<xsl:when test="input!= ''">
被评估为元素名称而不是变量或参数的名称。你需要的是:
input
试试并告诉我们它是怎么回事。