HTML-документация OpenAPI: Как документировать специфику XML?

#documentation #openapi #swagger-codegen

Вопрос:

Если я правильно понимаю документы XML-объектов, должна быть возможность указать, например, какие свойства должны быть атрибутами XML вместо элементов. Есть ли способ сообщить, что генераторы документации хотели swagger-codegen бы записать эту информацию? Например, при создании статического html с

 java -jar swagger-codegen-cli.jar generate -i openapi.yaml -l html2
 

эта информация, кажется, теряется. На самом деле вся документация выглядит как JSON, а не как XML…

Для справки, это пример файла, который я использовал (читатель документации должен видеть, что entity/id это XML-атрибут).:

 openapi: "3.0.0"
info:
  title: CaosDB XML REST API
  description: The XML API of CaosDB, see also https://docs.indiscale.com/caosdb-server
  version: 0.0-poc.1
servers:
  - url: https://demo.indiscale.com
    description: Demo server, will reset its content from time to time.
paths:
  /Entity:
    get:
      summary: Return an Entity.
      description: This is the most direct way to return a single Entity.
      responses:
        '200':
          description: The entity
          content:
            application/xml:
              schema:
                $ref: "#/components/schemas/entity"
components:
  schemas:
    entity:
      type: object
      properties:
        id:
          type: integer
          xml:
            attribute: true
        title:
          type: string
        author: 
          type: string
      xml:
        name: 'xml-book'
 

Комментарии:

1. Похоже на ошибку в коде — github.com/swagger-api/swagger-codegen/issues/4674