gpt4 book ai didi

java - XSLT 参数不起作用

转载 作者:行者123 更新时间:2023-12-01 15:40:49 25 4
gpt4 key购买 nike

我正在 Java 中使用 XSLT 转换器。我确定问题出在我输入 XSLT 语法的方式上。

基本上,我必须查看 XML 节点之一中的属性“id”是否相当于一个值,XSL 应该处理一个模板。我需要将此测试值作为 xsl:param 传递。当我在静态值上测试它时,它工作得很酷:

<ul class="levelOneNav">
<xsl:for-each select="level1[@id='sub-page-1']">
<xsl:call-template name="level1"/>
</xsl:for-each>
<div class="clear"></div>
</ul>

测试部分位于上面第二行。 AFAIK 在字符串中放入参数,格式为 <xsl:for-each select="level1[@id='$ContentID']">其中$ContentID xsl:param 声明为 <xsl:param name="ContentID"/>

这就是我要输入的代码

<ul class="levelOneNav">
<xsl:for-each select="level1[@id='$ContentID']">
<xsl:call-template name="level1"/>
</xsl:for-each>
<div class="clear"></div>
</ul>

但它不起作用。我也尝试过使用 <xsl:for-each select="level1[@id='{$ContentID}']">而且它也失败了。

非常感谢任何建议。如果您觉得我应该学习一些东西,请给我链接。感谢您抽出宝贵的时间...

最佳答案

不,“据我所知”你错了。 XSLT 属性 中的某些字符串值当然接受 "{$param}" 语法(注意大括号),但在您的情况下,您所追求的要简单得多:@id=$ContentID

编辑:请注意,“{$param}”适用于XSLT 属性,请参阅示例:

<xsl:element name="{$namespace}:{$elementName}">
<xsl:attribute name="{$attrName}"><xsl:value-of select="$value"/></xsl:attribute>
</xsl:element>

关于java - XSLT 参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058647/

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