在 OpenAPI 中,如何定义具有属性和内容的 XML 元素?

In OpenAPI, how to define an XML element with attributes AND content?

我想用 OpenAPI 2.0 (Swagger 2.0) 描述 RESTful 接口的 XML 响应负载。但是,我很难描述 OpenAPI 数据模型中的特定 XML 标记。

我无法让 Swagger UI 以这种形式创建一个适当的示例 XML 标签,在开头和结尾之间有属性 and 内容关闭 XML 个标签:

<Person id="bar">foo</Person>

文档 (here) 仅描述了如何为带有子标签 (type: object) 的标签或带有内容的标签 (type: string) 建模,但不会同时对两者进行建模时间。

我试过了,Swagger 编辑器接受了,没有任何错误或警告:

definitions:
  Person:
    type: string
    example: foo
    properties:
      id:
        type: string
        example: bar
        xml:
          attribute: true

但是会被Swagger渲染UI到下面的例子:

<Person id="bar"></Person>

如您所见,其中没有“foo”内容。

遗憾的是,无法使用 OpenAPI Specification 2.0、3.0 或 3.1

来表示

正在跟踪此问题here,可能会在规范的未来版本中解决。