【发布时间】:2012-02-13 03:28:50
【问题描述】:
以下代码报错:
[1.0-ml] XDMP-UNDVAR: (err:XPST0008) Undefined variable $ename
但是,如果我将 xsl:element 更改为 <xsl:element name="yyyXXX"> 它表明它看到 $ename 的价值,即
<yyyXXX>zzz</yyyXXX>
下面的样式表在 Saxonica 9.x 中运行良好
谢谢。
xquery version "1.0-ml";
xdmp:xslt-eval(
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xdmp="http://marklogic.com/xdmp"
extension-element-prefixes="xdmp"
version="2.0">
<xsl:template match="/">
<xsl:variable name="ename" select="'zzz'"/>
<xsl:element name="yyy{$ename}">
<xsl:value-of select="$ename"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
,document{ <doc/> })
【问题讨论】:
-
应该可以的。您能否在 marklogic.com 上提交一份错误报告以供支持?不幸的是,我想不出解决办法。
-
我使用的是快速版本,我没有支持合同。是的,在我看来也是一个错误。
-
我相信您仍然可以将此错误发送给他们。
-
不是错误。请参阅贾斯汀的回答。 $ename 变量在 XSLT 样式表的构造中进行评估。您需要双花括号来插入文字。