我想获得两个的第一个非空值并将其放入文本输入的“值”属性中。所以,我这样做:
<input type="text">
<xsl:attribute name="value">
<xsl:choose>
<xsl:when test="some/@attr != ''">
<xsl:value-of select="some/@attr" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="some/another/@attr" /> <!-- always non-empty, so get it -->
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</input>
问题是:有没有办法用更少的代码行?..也许,像那样:<input type="text" value="some/@attr or some/another/@attr" />
或者什么?..就像在 Perl 中:my $val = 0 || 5;
在此先感谢您的帮助
UPD XSLT 1.0