无法通过java解析“WD-xsl”

时间:2014-06-03 13:15:07

标签: xslt

我正在使用Transformer.transformer将xsl应用于xml

当我使用以下命名空间时,未检测到它。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> 

启动 错误:&#39;输入文档不是样式表(XSL命名空间未在根元素中声明)。&#39; 致命错误:&#39;无法编译样式表&#39;

当我使用以下命名空间时,它未被检测到但无法完全编译,因为它无法检测到少量元素。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

错误:&#39;第864行:不支持的XSL元素&#39; eval&#39;。&#39; 致命错误:&#39;无法编译样式表&#39; javax.xml.transform.TransformerConfigurationException:无法编译样式表

1 个答案:

答案 0 :(得分:2)

命名空间http://www.w3.org/TR/WD-xsl是指在1999年XSLT 1.0成为推荐之前存在的工作草案。只有旧版本的Microsoft MSXML在Windows上支持它,最后一个是MSXML 3.0。不要期望在Java世界中获得支持。我不认为有直接的方法来使用在Java世界中为MSXML编写的样式表,您需要检查它使用的XSLT 1.0之外的哪些功能并检查XSLT 1.0(如Saxon 6.5或Xalan 2.7)处理器在扩展的帮助下支持它,或者你是否可以使用像Saxon 9.5这样的XSLT 2.0或3.0处理器,它支持类似的特性作为XSLT 2.0中的新部件或3.0或至少作为{{3} }。