下面提到的XSLT代码在java1.5中工作正常但在java1.6中失败。我在java1.6
中看不到任何图像有人可以为此提供解决方案吗?
<xsl:template match="item" mode="item-image">
<xsl:param name="moduleParams"/>
<xsl:call-template name="aBuilder">
<xsl:with-param name="linkContent">
<xsl:apply-templates select="images" mode="item">
<xsl:with-param name="moduleParams" select="$moduleParams"/>
</xsl:apply-templates>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="images" mode="item">
<xsl:param name="moduleParams"/>
<!-- SOME OTHER CODE GOES HERE -->
<xsl:apply-templates select="img" mode="item-image"/>
</xsl:template>
<xsl:template match="img" mode="item-image">
<xsl:variable name="class">
<xsl:text>dummyclass</xsl:text>
</xsl:variable>
<span class="{$class}">
<img src="{@src}" width="{@width}" height="{@height}"/>
</span>
</xsl:template>
结果HTML
<span>
<img>
</span>
预期HTML
<span class="dummyclass">
<img src="dummysrc" width="dummywidth" height="dummyheight"/>
</span>
为什么在使用java1.6时,span和image元素属性不会出现?但是当我使用java1.5时,它工作正常。
提前致谢
答案 0 :(得分:1)
我对这类问题的常见怀疑是它是JDK 1.6中的XML解析器 - 它有一些非常奇怪的错误,没有人似乎对修复它们感兴趣。因此,从JDK解析器切换到Apache Xerces可能比从Xalan切换到Saxon更有可能解决它 - 但这只是猜测。