我有一个生成XML文件的XSL
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="filename" select="concat('TextTypes','.html')" />
<xsl:result-document method="html" href="{$filename}">
<font name="{$truncatedFont}" size="{$truncatedSize}" style="{@styleOverride}" env="{$env}" lang="{@language}" />
</xsl:result-document>
</xsl:template>
</xsl:stylesheet>
当我运行XSLT时,我收到错误:
ERROR: 'Unsupported XSL element 'http://www.w3.org/1999/XSL/Transform:result-document''
Error during transformation
javax.xml.transform.TransformerException: java.lang.RuntimeException: Unsupported XSL element 'http://www.w3.org/1999/XSL/Transform:result-document'
我已将ny XSLT verision指定为2.0。我很困惑为什么我得到这个错误。请帮忙。
答案 0 :(得分:3)
只有少数XSLT处理器支持XSLT 2.0,我认为Java只有Saxon 9,而IBM的websphere也可以使用IBM的XSLT 2.0处理器,但Oracle中的XSLT处理器分别是SUN JRE和JDK基于Apache Xalan并且仅支持XSLT 1.0。
答案 1 :(得分:0)
看起来您的xslt处理器不支持2.0版。
答案 2 :(得分:0)
这取决于你如何运行XSLT nishMaria。
如果您可以菊花链式连接XSLT,那么您可以多次处理输入文档以生成多个不同的输出文件或生成一个具有所有所需输出的输出文件,然后通过多个XSLT传递此文件,每个XSLT只选择部分输出。