系统架构
Architecture of system
我是 Java 的新手,我有一个独特的要求。我正在从客户端获取 xml 数据,并且我已经定义了架构。现在,问题是客户端 xml 的元素比我拥有的模式多得多。如何处理?
此外,有些元素的架构与模式中定义的不同,我想将其转换为模式所具有的形式。模式通常用于验证,这听起来不对吗?有人可以给我概述如何用小例子处理问题吗?
XML 模式的目的是描述一组 XML 文档的结构。如果您的客户端发送的 XML 不符合您的架构,则必须满足以下三个条件之一:
客户端错误。如果是这样,您应该拒绝他们的请求,因为它无效。
您的架构不正确。在这种情况下,您应该更正您的架构,以便它准确描述请求中允许的内容。
您的架构完全描述了其他内容。在这种情况下,您应该编写另一个模式,其中 确实 描述了允许的请求。然后,您可能希望将匹配此模式的文档转换为匹配您的新模式的文档 - XSLT 是一个很好的工具,可以做到这一点。
我注意到您也标记了 JAXB - 执行转换的另一种方法是构造两个模式的 JAXB 表示并在代码中自己执行转换。
这有帮助吗?我首先要说的是,您需要弄清楚您的 XML 模式在您的系统中扮演什么角色,这是您在开始编写任何代码之前应该完成的设计任务。
我是 Java 的新手,我有一个独特的要求。我正在从客户端获取 xml 数据,并且我已经定义了架构。现在,问题是客户端 xml 的元素比我拥有的模式多得多。如何处理? 此外,有些元素的架构与模式中定义的不同,我想将其转换为模式所具有的形式。模式通常用于验证,这听起来不对吗?有人可以给我概述如何用小例子处理问题吗?
XML 模式的目的是描述一组 XML 文档的结构。如果您的客户端发送的 XML 不符合您的架构,则必须满足以下三个条件之一:
客户端错误。如果是这样,您应该拒绝他们的请求,因为它无效。
您的架构不正确。在这种情况下,您应该更正您的架构,以便它准确描述请求中允许的内容。
您的架构完全描述了其他内容。在这种情况下,您应该编写另一个模式,其中 确实 描述了允许的请求。然后,您可能希望将匹配此模式的文档转换为匹配您的新模式的文档 - XSLT 是一个很好的工具,可以做到这一点。 我注意到您也标记了 JAXB - 执行转换的另一种方法是构造两个模式的 JAXB 表示并在代码中自己执行转换。
这有帮助吗?我首先要说的是,您需要弄清楚您的 XML 模式在您的系统中扮演什么角色,这是您在开始编写任何代码之前应该完成的设计任务。