Skip to content

Fix namespace-qualified CCSDS OMM XML parsing (#1669) - #1670

Draft
heathsanchez wants to merge 2 commits into
AVSLab:developfrom
metalogiclabs:feature/bsk-1669--qualified-omm-xml
Draft

heathsanchez wants to merge 2 commits into
AVSLab:developfrom
metalogiclabs:feature/bsk-1669--qualified-omm-xml

Conversation

@heathsanchez

Copy link
Copy Markdown

Description

The OMM XML reader used unqualified ElementTree tag paths, causing valid CCSDS NDM XML with the standard urn:ccsds:schema:ndmxml namespace to produce zero satellite records. This patch accepts both the existing unqualified form and the CCSDS-qualified form, retains segment order and per-record validation positions, and continues to reject unrelated namespaces.

The two commits separate the parser/test fix from additional rejection-boundary tests and the release-note snippet. The change is limited to src/utilities/ommHandling.py, src/tests/test_readOMM.py, and the required release-note snippet.

Verification

  • Added test coverage for qualified record extraction, orbital-element parity with unqualified input, numeric-unit validation, mixed qualified/unqualified segment ordering, foreign-namespace rejection, bare-root rejection, and incomplete-record numbering.
  • Source-native parser/normalizer/public-reader harness: 8/8 focused cases passed; SGP4 orbital propagation was stubbed in this harness.
  • Fresh parser-level check: a qualified record and its units were recovered; a bare <segment> root remained rejected; 200/200 seeded unqualified XML differential cases matched the unmodified parser.
  • Python py_compile and git diff --check succeeded; release-note snippet compilation completed.
  • Pending: full native pytest and actual Basilisk/SGP4 integration. The available local environment lacks pytest, sgp4, and the built Basilisk package. Please keep this PR in draft until repository CI and native tests pass.

Documentation

Adds docs/source/Support/bskReleaseNotesSnippets/1669-omm-xml-namespace.rst to record support for CCSDS namespace-qualified OMM XML.

Future work

Run the native test_readOMM.py and test_readTLE.py suites in Basilisk's supported build/test environment, then review CI and promote from draft once green.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant