Я только что работал над старым 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>
1008 * 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>
Результат с использованием jre 1.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 - нет? Что я могу сделать, чтобы исправить это?