我正在编写一个XSLT文件,将一些HTML输出到网页上(使用Sitecore CMS).我遇到了以下问题:
<a href="../videos/video.flv" class="videolightbox jackie-hover" data="{width:400,height:200}" title="Title goes here">Text goes here</a>
这会导致以下错误:
Expected token '}', found ':'. {width -->:<-- 400,height:200}
谁能告诉我如何解决这个问题?
谢谢,
B3N
我认为大括号用作在属性内部评估XSLT函数的快捷方式.
它们被称为"属性值模板":
XSLT中的属性值模板是在属性值中以花括号显示的XPath表达式.如果没有这个非常方便的快捷方式,每当我们需要动态计算属性的值时,我们就会被迫使用xsl:attribute指令.
您可以使用{{和转义它们}}.
这会使您的代码段显示为:
<a href="../videos/video.flv" class="videolightbox jackie-hover" data="{{width:400,height:200}}" title="Title goes here">Text goes here</a>
Run Code Online (Sandbox Code Playgroud)