You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[QTI] Publish ships malformed or garbled item XML for control characters and non-UTF-8 declarations #6286
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Target branch: unstable
Observed behavior
Legacy input answer containing a character XML 1.0 forbids (U+0000–U+0008, U+000B, U+000C, U+000E–U+001F), e.g. "a\vb":
convert_legacy_assessment_item_to_qti writes it unchanged into map-key and <qti-value> (convert.py#L368-L383); stdlib ElementTree serializes it as-is (base.py#L125-L128).
No sized image: the malformed item ships. rewrite_qti_media_paths returns without parsing (media.py#L69-L70) and nothing validates the legacy path.
Sized image: the parse fails and the question is left out of the package with an error log (archive.py#L299-L306).
Native item declaring a non-UTF-8 encoding, e.g. encoding="ISO-8859-1":
changed the title [-][QTI] A legacy input question with a control character in an answer is published as malformed XML[/-][+][QTI] Publish ships malformed or garbled item XML for control characters and non-UTF-8 declarations[/+]on Oct 16, 2026
Activity
[-][QTI] A legacy input question with a control character in an answer is published as malformed XML[/-][+][QTI] Publish ships malformed or garbled item XML for control characters and non-UTF-8 declarations[/+]