【问题标题】:cXML equivalent in json?json中的cXML等价物?
【发布时间】:2017-03-08 18:22:20
【问题描述】:

我正在创建一个已有 10 年历史的服务的新实现。我们的标准是让我们的服务严格接受 RESTful 格式,最好是子格式。当前实现接受 cXML。这种格式有什么不能移植给儿子的吗?我对 cXML 一点也不熟悉。

【问题讨论】:

  • 您准备好向您的所有贸易伙伴支付费用以重新装备您的新解决方案了吗? CXML 是许多行业中众所周知的格式,尤其是旅行和采购。 1.0.33 版刚刚问世。只是我的 .02,但我希望在询问与您交易 CXML 的人时会告诉您,这对他们来说将是一个沉重的负担,如果他们在没有您补偿的情况下完全这样做可能需要几个月的时间。我们喜欢标准是有充分理由的。
  • 上面的错字...版本 1.2.033。

标签: java xml rest cxml


【解决方案1】:

cXML 只是一个 XML 实现。正如您在官方文档中看到的那样(http://xml.cxml.org/current/cXMLUsersGuide.pdf,第 22 页):

每个 cXML 文档都是基于 XML 文档类型定义 (DTD) 构建的。作为模板, DTD 定义 cXML 文档的内容模型,例如,元素的有效顺序和嵌套,以及 属性的数据类型。

另一方面,json 是无模式和自描述格式。您不需要外部架构或定义来解释 JSON 数据。因此,您无需担心任何可移植性问题。

另外,看看这个: https://github.com/ncbi/DtdAnalyzer/wiki/Auto-generating-XML-to-JSON-conversion-XSLT

这个工具可以帮助你准备你的 JSON 结构在你的情况下应该是什么样子(我没有检查它,输出可能会很乱,但仍然可以给你一些概述)

【讨论】:

  • “您无需担心任何可移植性问题”:是不是有点幼稚?
  • 说实话 - 不,不是 :) XML 是非常严格的格式。它必须直接遵循 DTD 模式。由于这仍然只是 XML,它将仅由特定的标签名称、标签的值和属性组成(值当然可以是简单的值或另一个标签/标签)。考虑到这一点,可以采用 DTD 模式并将其简单地迁移到某个 json fromat。在这种情况下具有挑战性的事情可能是端点的实现,这些端点将以与以前的系统使用 xml 相同的方式使用 json 请求。但这将更加具体。
猜你喜欢
  • 1970-01-01
  • 2019-11-03
  • 1970-01-01
  • 2012-02-26
  • 2020-08-25
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多