我有一个简单的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实现。