gpt4 book ai didi

xslt - 已设置属性的 Concat 参数

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

在 XSLT 1.0 中是否可以根据实际 xslt 文档中“先前输出”的另一个值输出一个值?

我似乎找不到合适的表达方式。希望这个例子应该很容易理解。

<xsl:stylesheet>
<xsl:param name="ServerUrl" select="'http://www.myserver.com/'"/>
<xsl:template match="/">
<html>
<body>
<img src="images/image1.jpg">
<xsl:attribute name="src">
<xsl:value-of select="concat($ServerUrl,**Value of current @src**)" />
</xsl:attribute>
</img>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

我想要以下输出:

<html>
<body>
<img src="http://www.myserver.com/images/image1.jpg"></img>
</body>
</html>

我知道乍一看这似乎是错误的,但目的是使 XSLT 尽可能接近原始 HTML,以便于进一步修改。

最佳答案

您想在文字结果元素的属性中使用 XPath 表达式的结果。

在 XSLT 中,“属性值模板”(AVT) 用于此目的。要使用 AVT,您应该用左花括号和右花括号将 XPath 表达式括起来。 AVT 可以与同一属性中的文字文本组合,从而无需使用连接表达式。

因此,对于您的示例,您可以使用:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform>
<xsl:param name="ServerUrl" select="'http://www.myserver.com/'"/>
<xsl:template match="/">
<html>
<body>
<img src="{$ServerUrl}images/image1.jpg"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

关于xslt - 已设置属性的 Concat 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17635332/

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