Java 将saxon升级到9.5.1.8后出现警告消息

Java 将saxon升级到9.5.1.8后出现警告消息,java,xml,saxon,Java,Xml,Saxon,我们正在将saxon 9.3.0.2升级到saxon ee-9.5.1.8。升级完成后,我们会收到很多警告 net.sf.saxon.trans.XPathException: The source document is in namespace [MY-NAME-SPACE] , but none of the template rules match elements in this namespace at net.sf.saxon.Controller.warning(Cont

我们正在将saxon 9.3.0.2升级到saxon ee-9.5.1.8。升级完成后,我们会收到很多警告

net.sf.saxon.trans.XPathException: The source document is in namespace [MY-NAME-SPACE] , but none of the template rules match elements in this namespace
    at net.sf.saxon.Controller.warning(Controller.java:954)
    at net.sf.saxon.Controller.transformDocument(Controller.java:2081)
    at net.sf.saxon.Controller.transform(Controller.java:1911)
我从xsl中删除了名称空间,但仍然收到此警告
有人知道发生了什么吗?如何删除此警告?

要做的第一件事是确定该警告是否为假警报

这一警告之所以被添加到撒克逊人身上,是因为有大量的人犯了同样的错误(每天大约有一个人问关于StackOverflow的问题,所以天知道只有多少人在默默受苦)。特别是,错误在于有这样一个源文档:

<foo xmlns="http://default.namespace.com/">
  <bar/>
  <baz/>
</foo>
或者从命令行添加
--suppressXltNamespaceCheck:on


这是一个假警报,我希望看到细节,以便我们可以完善检查。我们确实知道,在某些情况下,这些条件是完全合法的,例如,当您的初始源文档是要处理的文件的简单列表时,样式表的所有实际工作都是在处理这些文件;但是我们认为有少量的假警报是值得的,这样可以避免初学者在解决这个简单而常见的问题时感到沮丧。

嗨,Micheal,谢谢你的回答。FeatureKeys.SUPPRESS\u XSLT\u NAMESPACE\u检查是在9.6中添加的。目前我们使用的是9.5,那么你要么升级,要么使用建议的其他解决方法。但是我对我的问题的答案很感兴趣。@MichaelKay我面临着这样的虚惊一场。我有一个
http://www.w3.org/1999/xhtml
名称空间,并且其中包含其他名称空间的元素,这些元素本应转换为
,因此它们最终将与整个文档位于同一名称空间中。其他节点只是身份转换,所以有一个特定的规则,但对于不同的名称空间,因此没有intesections。
<xsl:template match="foo"/>
<xsl:template match="bar"/>
import net.sf.saxon.s9api.Processor;
import net.sf.saxon.s9api.XsltCompiler;

Processor processor = new Processor(configuration);
processor.setConfigurationProperty(FeatureKeys.SUPPRESS_XSLT_NAMESPACE_CHECK, "true");
XsltCompiler xsltCompiler = processor.newXsltCompiler();