我刚刚开发了一个旧的Java应用程序,把JRE从1.5切换到1.6。该应用程序使用XSL将XML转换为HTML,在我更改JRE之前,它一直运行良好。
以下是XSL和XML的摘录:
XML
<link href="Uml&#228;ut.txt" target="_blank">
<style tag="text">Umläut.txt</style>
</link>
XSL
<xsl:template match="link">
<xsl:element name="td">
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
<xsl:attribute name="target"><xsl:value-of select="@target"/></xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:element>
</xsl:template>
使用JRE1.5的结果如下
<td><a href="Umläut.txt" target="_blank">
<text>Umläut.txt</text>
</a></td>
JRE 1.6的结果
<td><a href="Uml&#228;ut.txt" target="_blank">
<text>Umläut.txt</text>
</a></td>
有人能解释一下这里出了什么问题吗?为什么1.5转换
&
到
&
1.6不是吗?我能做些什么来纠正这个问题?