-1

如何在从 XML 生成 Excel 文件的 XSL 中使用大括号?

我可以使用 Excel 公式完成我想要的,但它需要使用大括号列表,例如:

    =LOOKUP(XXXX, {"NA","NF","NR","O"},{"NA","Completed","NR","Ongoing"}

即使使用括号和逗号的 HTML 指示符,我也无法让 XSL 接受,在第一个大括号之后的第一个逗号上仍然出现错误。

    =LOOKUP(XXXX,{"NA","NF","NR","O"},{"NA","Completed","NR","OngoingNA"})

&123; = {
&#$$; = , (comma)

但是我在第一个命令上收到一个 XML 错误:“预期的令牌 '{' 找到了 ','。

    =LOOKUP(XXXX,{"NA"-->,<--"NF,"NR","O"},{"NA","Completed","NR","Ongoing","NA"})
4

1 回答 1

1

我猜(!)您正在尝试使用包含花括号的属性创建文字结果元素。这是有问题的,因为花括号被解释为属性值模板——即 XSLT 处理器试图评估其中包含的表达式。

为避免这种情况,您必须通过将花括号加倍来转义它们,或者使用xsl:attribute指令将值指定为文本。例如,两者:

<elem attr="=SUM({{1,2}}*{{4,5}})"/>

和:

<elem>
    <xsl:attribute name="attr">=SUM({1,2}*{4,5})</xsl:attribute>
</elem>

将返回相同的结果:

<elem attr="=SUM({1,2}*{4,5})"/>
于 2016-02-14T18:35:20.477 回答