gpt4 book ai didi

XSLT 1.0 : how to get print of first non-empty value of two (see inside)

转载 作者:行者123 更新时间:2023-12-01 03:31:09 24 4
gpt4 key购买 nike

我想获取第一个非空值 2 并将其放入文本输入的“值”属性中。所以,我愿意:

<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

最佳答案

如果你使用

<xsl:attribute name="value">
<xsl:value-of select="some/@attr[. != ''] | some/another/@attr"/>
</xsl:attribute>

然后使用 XSLT 1.0 value-of 语义由 some/@attr[ 选择的第一个节点的字符串值。 != ''] |输出一些/另一个/@attr。因此,如果 some/@attr[. != ''] 选择它应该输出的节点,否则 some/another/@attr (因为我认为 some/@attr 被认为在 some/child-element/@attr 按文档顺序)。

关于XSLT 1.0 : how to get print of first non-empty value of two (see inside),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com