gpt4 book ai didi

xml -/.. xpath在xsl模板中的作用

转载 作者:行者123 更新时间:2023-12-03 17:00:29 26 4
gpt4 key购买 nike

看一下这个xsl模板:

<xsl:template match="root">
<xsl:param name="bla" select="/.." />

<ha>
<xsl:value-of select="$bla" />
</ha>
</xsl:template>


“ select =“ / ..”部分不会引发异常(对我来说,正确的xpath是../),但是什么也不做。

为什么要定义这样的参数?

如果我不通过参数“ bla”执行模板,则“ ha”为空,否则将包含通过的值。

谢谢

最佳答案

“ select =“ / ..”部分不会引发异常(对我来说,右边
xpath是../),但不执行任何操作。

为什么要定义这样的参数?


这在XSLT 1.0中很有用,以指示xsl:paramxsl:variable的类型是节点集。

然后,XSLT处理器将不会在表达式上产生错误,例如:

$bla | $myNodeSet


相反,如果仅定义参数而没有提供任何默认值,则上面的表达式会产生错误-像这样:

“表达式必须计算为节点集”

轻松验证:

试试这个(可以):

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<xsl:param name="blah" select="/.."/>

<xsl:copy-of select=". | $blah"/>
</xsl:template>
</xsl:stylesheet>


这(导致错误):

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<xsl:param name="blah"/>

<xsl:copy-of select=". | $blah"/>
</xsl:template>
</xsl:stylesheet>

关于xml -/.. xpath在xsl模板中的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9267477/

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