0

我是 Java 新手,我有一个独特的要求。我正在从客户端获取 xml 数据,并且我已经和我一起定义了模式。现在,问题是客户端 xml 的元素比我拥有的模式多得多。如何处理?此外,有些元素的架构与架构中定义的架构不同,我想将其转换为架构所具有的形式。由于模式通常用于验证,这听起来有问题吗?有人可以用小例子给我概述如何处理这个问题吗?

4

1 回答 1

2

XML 模式的目的是描述一组 XML 文档的结构。如果您的客户端发送的 XML 不符合您的架构,则必须满足以下三项之一:

  • 客户端不正确。如果是这样,您应该拒绝他们的请求,因为它是无效的。

  • 您的架构不正确。在这种情况下,您应该更正您的架构,以便它准确描述请求中允许的内容。

  • 您的架构完全描述了其他内容。在这种情况下,您应该编写另一个描述允许请求的模式。然后,您可能希望将与此模式匹配的文档转换为与您的新模式匹配的文档 - XSLT是一个很好的工具,可以完全做到这一点。我注意到您也标记了 JAXB - 执行转换的另一种方法是构建两种模式的 JAXB 表示并自己在代码中执行转换。

这有帮助吗?我首先要说的是,您需要弄清楚您的 XML 模式在您的系统中所扮演的角色,这是您在开始编写任何代码之前应该完成的一项设计任务。

于 2015-07-09T21:04:13.240 回答