gpt4 book ai didi

xslt - 使用 XSL 根据 if 条件设置变量值

转载 作者:行者123 更新时间:2023-12-02 00:34:20 26 4
gpt4 key购买 nike

我有一个基本条件,检查变量是否为空以及是否将变量设置为特定值,如下所示。

<xsl:variable name="PIC" select="avatar"/>

<xsl:choose>
<xsl:when test="avatar !=''">
<xsl:variable name="PIC" select="avatar"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="PIC" select="'placeholder.jpg'"/>
</xsl:otherwise>
</xsl:choose>

基本上 var PIC 设置为 avatar 返回的任何内容。然后进行测试以检查它是否不为空并分配给 var PIC,如果它为空,则将值 placeholder.jpg 添加到 var PIC 相反。

现在由于某种原因我不断收到以下警告

没有后续同级指令的变量无效

关于我在这里做错了什么有什么想法吗?

最佳答案

变量在 XSLT 中是不可变的,一旦设置就无法更改。 xsl:choose 中的变量声明只是当前 block 范围内的新声明。 (据说它们“隐藏”了初始变量)。

你需要做的是......

<xsl:variable name="PIC">
<xsl:choose>
<xsl:when test="avatar !=''">
<xsl:value-of select="avatar"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'placeholder.jpg'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

关于xslt - 使用 XSL 根据 if 条件设置变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38483035/

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