我只是在学习xsl。我试图连接两个变量的值,并在它们之间加一个连字符。这是我的代码:
<xsl:variable name="checkboxvalue" select="translate(@value, ' ', '')" />
<xsl:variable name="questionname" select="{ancestor::element/attribute::name}"/>
<xsl:variable name="newcheckboxvalue" select="concat($questionname,-,$checkboxvalue)"/>
当我运行使用此.xsl文件的页面时,我明白了 路径表达式中出现意外的标记\“{\”,“路径表达式中的致命错误:意外的标记”,“”
感谢任何帮助。
答案 0 :(得分:1)
您获得的错误是由于第二个变量
<xsl:variable name="questionname" select="{ancestor::element/attribute::name}"/>
这里不允许使用花括号,因为XSLT已经在select
属性中预期了一个表达式。你应该这样做。
<xsl:variable name="questionname" select="ancestor::element/attribute::name" />
或者这......
<xsl:variable name="questionname" select="ancestor::element/@name" />
另外,对于你的第三个语句,你需要在连字符中包含连字符,以对待它是一个字符串
<xsl:variable name="newcheckboxvalue" select="concat($questionname, '-' ,$checkboxvalue)"/>
如果您想了解花括号的使用方法,请阅读Attribute Value Templates。