使用通用Java工具/api导航XSD和XML文件

使用通用Java工具/api导航XSD和XML文件,java,xml,xpath,xsd,Java,Xml,Xpath,Xsd,浏览XSD和XML文件的最佳方式是什么?我想知道XSD和XML在输入元素的上面或下面是否都有相同的元素。 有可能吗?如果是,请提供一个很好的教程,因为我找不到任何使用XPath导航XSD的教程。在源代码级别处理XML模式文档一点也不容易,因为有许多不同的方法可以编写相同的模式-例如,使用属性组、模型组、扩展和限制,因此,除非您知道您正在处理XSD的一个受限子集,否则我不会推荐它 Xerces提供了一个API来访问“编译”模式模型,这可能是一种前进的方向。Saxon还提供了一个选项,可以将编译后的

浏览XSD和XML文件的最佳方式是什么?我想知道XSD和XML在输入元素的上面或下面是否都有相同的元素。
有可能吗?如果是,请提供一个很好的教程,因为我找不到任何使用XPath导航XSD的教程。

在源代码级别处理XML模式文档一点也不容易,因为有许多不同的方法可以编写相同的模式-例如,使用属性组、模型组、扩展和限制,因此,除非您知道您正在处理XSD的一个受限子集,否则我不会推荐它


Xerces提供了一个API来访问“编译”模式模型,这可能是一种前进的方向。Saxon还提供了一个选项,可以将编译后的模式模型导出为XML,如果您想要基于XML的表示,这比原始XSD文件更容易处理。

您的问题不清楚。XSD是描述XML结构的XML。XSD文件看起来与它所描述的XML非常不同,因此并行导航它们没有意义。@JimGarrison实际上我有一个已定义的标准XSD,我正在基于XSD生成请求XML,但如果元素的顺序与XSD不符,我的接口系统将不接受xml请求。这就是为什么我必须比较XSD和XSD之间的元素顺序。您必须发布XSD和xml,并说明它与您想要的有什么不同。还包括如何从XSD生成XML。您的任务与使用XSD的简单XML验证有何不同?非常同意@biziclop:您正在进行GN验证,如果您希望能够报告验证错误,那么您最好选择一个解析器和一个解析方法,然后在解析器文档中搜索验证错误是如何报告的以及如何通过编程处理的。