Java 系统架构

Java 系统架构,java,xml,jaxb,woodstox,Java,Xml,Jaxb,Woodstox,我是Java的新手,我有一个独特的需求。我正在从客户端获取xml数据,并且已经和我一起定义了模式。现在,问题是客户端xml的元素比模式多得多。如何处理? 此外,还有一些元素的体系结构与模式中定义的不同,我想将其转换为模式的形式。由于模式通常是用于验证的,所以它听起来是错误的吗?有人能给我一个如何用小例子处理这个问题的概述吗?XML模式的目的是描述一组XML文档的结构。如果您的客户机发送的XML不符合您的模式,则必须满足以下三个条件之一: 客户不正确。如果是这样,您应该拒绝他们的请求,因为请求无

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

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

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

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

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


这有用吗?首先,我要说的是,您需要确定XML模式在系统中扮演的角色,这是您在开始编写任何代码之前应该完成的设计任务。

是的,这很有帮助。它的第三个角色非常适合。正如许多人所说,我之所以标记jaxb和woodstox以转换为java对象,其速度要比使用xslt快得多。不过我不是100%确定,你能让我给你进一步的指导吗?