变量XSLT中的循环变量/参数引用

时间:2014-11-06 22:49:46

标签: java xml xslt

我有一个简单的XML:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="form.xsl"?>
<x>
    <y>Hello</y>
</x>

form.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:output encoding="UTF-8" method="xml" indent="yes"/>
<xsl:variable name="topLevel">
        <xsl:variable name="inner" select="'Hi'" />
        <xsl:value-of select="$inner"/>
</xsl:variable>

<xsl:template match="/" >
    <xsl:value-of select="$topLevel" />
</xsl:template>


</xsl:stylesheet>

我正在使用JRE 1.8,,当我使用javax.xml.transform.Transformer转换XML时,我在topLevel变量上得到一个循环引用错误。

Circular variable/parameter reference in '[variable(topLevel)]

我发现已经存在与此相关的问题:JIRA,但我不确定是否已修复此问题。

提供了各种解决方法,但未提供解决方案。

注意:我没有包含任何第三方jar并使用默认的Transformer实现。

0 个答案:

没有答案