XSL - "无法编译样式表" 错误,但语法正确。
XSL - "无法编译样式表" 错误,但语法正确。
在Java中执行这个操作时,我遇到了这个错误:
InputStream foo = getClass().getResourceAsStream(XML_TRANSFORM); javax.xml.transform.Transformer transformer = factory.newTransformer(new StreamSource(foo)); // 错误
我无法找出错误在哪里,因为我没有更多的信息,而且因为在线的XML验证器告诉我没有语法错误(比如:https://www.w3schools.com/xml/xml_validator.asp)
XSL - "Can not compile stylesheet" 错误,但语法是正确的
在XSLT中有一个稍微奇怪的规则,即如果你在样式表的顶层有以下代码:
这是有效的(但会被忽略且无用),而如果你有以下代码:
则是无效的(会报错)。
如果处理器没有告诉你错误的位置,那可能是因为你的Java应用程序将系统错误输出流发送到了你看不到的地方。要么在你的应用程序中解决这个问题,要么在从Java应用程序编译样式表之前,尝试使用像oXygen这样的环境来调试你的样式表。由于你的错误表明你对XSLT语言的基础知识不太熟悉,所以你会受益于使用类似oXygen(或Stylus Studio或XML Spy)这样的开发工具。
谢谢你的回复。实际上,我唯一的信息是“ERROR: 'null'”。结果证明,我的InputStream对象是null,因为我的xsl路径是错误的。当我的InputStream正确时,就不会出现你所说的错误。简单地说,转换生成了一个没有<TimeSeriesDoc>标签的文档。