Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
最快的JavaXSD验证库_Java_Xml_Xsd - Fatal编程技术网

最快的JavaXSD验证库

最快的JavaXSD验证库,java,xml,xsd,Java,Xml,Xsd,我需要验证大的拓扑XML文件,它的性能很差。 最小的文件(20MB)花了大约8秒来验证,最大的文件(400MB)花了一个多小时(在单元测试结束之前停止了测试) 立即使用XMLSpy和一个简单的.NET单元测试(使用core XDocument类)进行了尝试,验证时间不到500毫秒 我在java中测试了不同的验证方法(Sax、Dom、Dom4J、XOM等等),对速度的影响最小。 但是,一旦我删除XSD中的unique和keyRef约束,它的验证速度就和XMLSPY/.NET一样快 我在谷歌上搜索了

我需要验证大的拓扑XML文件,它的性能很差。 最小的文件(20MB)花了大约8秒来验证,最大的文件(400MB)花了一个多小时(在单元测试结束之前停止了测试)

立即使用XMLSpy和一个简单的.NET单元测试(使用core XDocument类)进行了尝试,验证时间不到500毫秒

我在java中测试了不同的验证方法(Sax、Dom、Dom4J、XOM等等),对速度的影响最小。 但是,一旦我删除XSD中的unique和keyRef约束,它的验证速度就和XMLSPY/.NET一样快

我在谷歌上搜索了很多关于糟糕的XSD验证的话题:或者

那么,在Java中使用XSD验证是否有机会获得良好的性能呢? Saxon EE是否有可能得到更好的实现


谢谢

很有趣。只是好奇:是否可以选择将巨大的XML文件拆分为较小的文件,以便加快验证速度?或者说,由于XML文件和模式的特殊性,从技术上讲这是不可能的?使用的是什么版本的Saxon?我记得,我有过类似的经历,所以我把它作为bug提交了。它是由Saxonica解决的。不,由于keyRef约束,不可能分割XML文件。而且我还没有尝试使用saxon。我想知道底层的xsd验证是否使用与普通java相同的引擎,或者他们是否开发了它们的引擎。举个例子,XMLSpy有时将可用性/性能置于一致性之上。只是好奇:是否可以选择将巨大的XML文件拆分为较小的文件,以便加快验证速度?或者说,由于XML文件和模式的特殊性,从技术上讲这是不可能的?使用的是什么版本的Saxon?我记得,我有过类似的经历,所以我把它作为bug提交了。它是由Saxonica解决的。不,由于keyRef约束,不可能分割XML文件。而且我还没有尝试使用saxon。我想知道底层的xsd验证是否使用与普通java相同的引擎,或者他们是否开发了它们的引擎。举个例子,XMLSpy有时将可用性/性能置于一致性之上。