是否将XML元素位置用作URL的一部分?
有没有一种方法可以将XSL中元素的位置用作html中URL的一部分?我想创建一个包含所有章节元素的菜单,其中querystring是位置号,link文本是title属性 这就是我想做的:是否将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: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>