Source code for ccsds_ndm.models.ndmxml1.ndmxml_1_0_oem_2_0

"""This file was generated by xsdata, v26.1, on 2026-02-18 00:40:52

Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""

from __future__ import annotations

from dataclasses import dataclass, field

from ccsds_ndm.models.ndmxml1.ndmxml_1_0_navwg_common import (
    NdmHeader,
    OemCovarianceMatrixType,
    StateVectorAccType,
)

__NAMESPACE__ = "urn:ccsds:recommendation:navigation:schema:ndmxml"


[docs] @dataclass(kw_only=True) class OemMetadata: class Meta: name = "oemMetadata" comment: list[str] = field( default_factory=list, metadata={ "name": "COMMENT", "type": "Element", "namespace": "", }, ) object_name: str = field( metadata={ "name": "OBJECT_NAME", "type": "Element", "namespace": "", "required": True, } ) object_id: str = field( metadata={ "name": "OBJECT_ID", "type": "Element", "namespace": "", "required": True, } ) center_name: str = field( metadata={ "name": "CENTER_NAME", "type": "Element", "namespace": "", "required": True, } ) ref_frame: str = field( metadata={ "name": "REF_FRAME", "type": "Element", "namespace": "", "required": True, } ) ref_frame_epoch: None | str = field( default=None, metadata={ "name": "REF_FRAME_EPOCH", "type": "Element", "namespace": "", "pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?", }, ) time_system: str = field( metadata={ "name": "TIME_SYSTEM", "type": "Element", "namespace": "", "required": True, } ) start_time: str = field( metadata={ "name": "START_TIME", "type": "Element", "namespace": "", "required": True, "pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?", } ) useable_start_time: None | str = field( default=None, metadata={ "name": "USEABLE_START_TIME", "type": "Element", "namespace": "", "pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?", }, ) useable_stop_time: None | str = field( default=None, metadata={ "name": "USEABLE_STOP_TIME", "type": "Element", "namespace": "", "pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?", }, ) stop_time: str = field( metadata={ "name": "STOP_TIME", "type": "Element", "namespace": "", "required": True, "pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?", } ) interpolation: None | str = field( default=None, metadata={ "name": "INTERPOLATION", "type": "Element", "namespace": "", }, ) interpolation_degree: None | int = field( default=None, metadata={ "name": "INTERPOLATION_DEGREE", "type": "Element", "namespace": "", }, )
[docs] @dataclass(kw_only=True) class OemData: class Meta: name = "oemData" comment: list[str] = field( default_factory=list, metadata={ "name": "COMMENT", "type": "Element", "namespace": "", }, ) state_vector: list[StateVectorAccType] = field( default_factory=list, metadata={ "name": "stateVector", "type": "Element", "namespace": "", "min_occurs": 1, }, ) covariance_matrix: list[OemCovarianceMatrixType] = field( default_factory=list, metadata={ "name": "covarianceMatrix", "type": "Element", "namespace": "", }, )
[docs] @dataclass(kw_only=True) class OemSegment: class Meta: name = "oemSegment" metadata: OemMetadata = field( metadata={ "type": "Element", "namespace": "", "required": True, } ) data: OemData = field( metadata={ "type": "Element", "namespace": "", "required": True, } )
[docs] @dataclass(kw_only=True) class OemBody: class Meta: name = "oemBody" segment: list[OemSegment] = field( default_factory=list, metadata={ "type": "Element", "namespace": "", "min_occurs": 1, }, )
[docs] @dataclass(kw_only=True) class OemType: class Meta: name = "oemType" header: NdmHeader = field( metadata={ "type": "Element", "namespace": "", "required": True, } ) body: OemBody = field( metadata={ "type": "Element", "namespace": "", "required": True, } ) id: str = field( init=False, default="CCSDS_OEM_VERS", metadata={ "type": "Attribute", "required": True, }, ) version: str = field( init=False, default="2.0", metadata={ "type": "Attribute", "required": True, }, )