blob: 60309983e3038b75ca9efb3fc92004f56bcd7bd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
from __future__ import annotations
from dataclasses import dataclass
from litestar.openapi.spec.base import BaseSchemaObject
__all__ = ("XML",)
@dataclass()
class XML(BaseSchemaObject):
"""A metadata object that allows for more fine-tuned XML model definitions.
When using arrays, XML element names are *not* inferred (for singular/plural forms) and the ``name`` property SHOULD
be used to add that information. See examples for expected behavior.
"""
name: str | None = None
"""
Replaces the name of the element/attribute used for the described schema property. When defined within ``items``, it
will affect the name of the individual XML elements within the list. When defined alongside ``type`` being ``array``
(outside the ``items``), it will affect the wrapping element and only if ``wrapped`` is ``True``. If ``wrapped`` is
``False``, it will be ignored.
"""
namespace: str | None = None
"""The URI of the namespace definition. Value MUST be in the form of an absolute URI."""
prefix: str | None = None
"""The prefix to be used for the
`xmlName <https://spec.openapis.org/oas/v3.1.0#xmlName>`_
"""
attribute: bool = False
"""Declares whether the property definition translates to an attribute instead of an element. Default value is
``False``.
"""
wrapped: bool = False
"""
MAY be used only for an array definition. Signifies whether the array is wrapped (for example,
``<books><book/><book/></books>``) or unwrapped (``<book/><book/>``). Default value is ``False``. The definition
takes effect only when defined alongside ``type`` being ``array`` (outside the ``items``).
"""
|