Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将XML元素位置用作URL的一部分?_Xml_Xslt - Fatal编程技术网

是否将XML元素位置用作URL的一部分?

是否将XML元素位置用作URL的一部分?,xml,xslt,Xml,Xslt,有没有一种方法可以将XSL中元素的位置用作html中URL的一部分?我想创建一个包含所有章节元素的菜单,其中querystring是位置号,link文本是title属性 这就是我想做的: <xsl:for-each select="chapter"> <a href='default.php?chapter='><xsl:value-of select="position()-1" />'><xsl:value-of select="cur

有没有一种方法可以将XSL中元素的位置用作html中URL的一部分?我想创建一个包含所有章节元素的菜单,其中querystring是位置号,link文本是title属性

这就是我想做的:

<xsl:for-each select="chapter">
    <a href='default.php?chapter='><xsl:value-of select="position()-1" />'><xsl:value-of select="current()/@title"/></a><br>
    </xsl:for-each>


这给出了一个错误,但我认为它说明了我想要实现的目标。

您需要使用“属性值模板”:



在literal结果元素的属性中,大括号中的任何内容都被视为要求值的XPath表达式,而不是文本片段。如果要在属性值中使用文字大括号,则必须将其加倍(样式表中的
在输出中产生

请发布一个示例XML输入。请发布您得到的错误。IMHO,显式
xsl:attribute
元素更适合初学者。非常感谢!工作完美,解释得很好@user3016153我添加了另一个答案来填补空白,在这种情况下,属性值模板可能是一种方法,并且不太难找到。但选择从来都没有坏处。
<a href="default.php?chapter={position()-1}">
  <xsl:value-of select="current()/@title"/>
</a><br>