Repository navigation
Description
Describe the bug
satOmm2elem() accepts unqualified CCSDS OMM XML but reports no OMM records when the same elements use the CCSDS namespace-qualified form. The XML parser searches for literal segment and child tag names; ElementTree represents qualified tags as {namespace}segment.
CCSDS 505.0-B-2 (2021), §4.3.4–4.3.6, explicitly allows both elementFormDefault="qualified" and "unqualified" and shows ndm:-qualified message elements:
https://www.nasa.gov/wp-content/uploads/2017/12/ccsds_xml_specifications_for_navigation_data_messages.pdf
Minimal reproduction
Using develop at 016955fba0117ac52eb58f91121668556dcca290:
from Basilisk.utilities.ommHandling import _parseOmmXml
unqualified = (
'<omm><body><segment><metadata><OBJECT_NAME>ISS</OBJECT_NAME>'
'</metadata></segment></body></omm>'
)
qualified = (
'<ndm:omm xmlns:ndm="urn:ccsds:schema:ndmxml">'
'<ndm:body><ndm:segment><ndm:metadata>'
'<ndm:OBJECT_NAME>ISS</ndm:OBJECT_NAME>'
'</ndm:metadata></ndm:segment></ndm:body></ndm:omm>'
)
print(len(_parseOmmXml(unqualified))) # 1
print(len(_parseOmmXml(qualified))) # 0, expected 1This minimal example isolates the parser. A separate comparison used all 21 fields from the repository's src/tests/test_readOMM.py ISS fixture: unqualified XML recognized 1 record and all 21 fields; equivalently qualified XML recognized 0 records. Consequently, the public satOmm2elem() path raises found no OMM records before field validation or propagation for the qualified input.
Expected behavior
Both CCSDS-permitted XML representations should produce the same parsed fields and subsequent orbit processing. Malformed or unsupported OMM data should retain existing rejection behavior.
Suggested narrow scope
Handle unqualified and CCSDS namespace-qualified segment, metadata, data, meanElements, tleParameters, and field tags; add a regression for the qualified equivalent of the existing 21-field fixture. No XML parser replacement or new dependency is necessary.
This is a deterministic parser-boundary reproduction. Full Basilisk/SGP4 integration and CI have not been run for a patch yet; no spacecraft operational impact is claimed.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsNo status
Activity
fix: handle namespace-qualified CCSDS OMM XML (AVSLab#1669)