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] A QTI item with a comment quoting its root tag is published without the node's language #6235
Plan:set_qti_item_language stamps xml:lang on the real <qti-assessment-item> root even when a comment (or other prolog markup) quotes that start tag before it.
Match the root start tag after the prolog
/simplify pass
Assumptions — the issue did not settle these; say so if one is wrong.
PIs and DOCTYPE are skipped as well as comments; if unwanted, the pattern is wider than the issue asks but no test breaks.
A > inside a root attribute value still ends the tag match early ([^>]*); not in scope, and serializers escape it as >. If items carry a raw >, xml:lang lands mid-value.
No match after the prolog returns raw_data unchanged, as today; if a caller expects an error, it needs a separate change.
@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?
Implemented code following the pre-approved plan using test-driven development (red-green-refactor)
Ran the project's full test suite and linter before committing
For UI changes: captured live screenshots to verify rendering
For backend changes: verified with example API/CLI output
Activity
rtibblesbot commentedon Sep 30, 2026
Plan:
set_qti_item_languagestampsxml:langon the real<qti-assessment-item>root even when a comment (or other prolog markup) quotes that start tag before it.Assumptions — the issue did not settle these; say so if one is wrong.
>inside a root attribute value still ends the tag match early ([^>]*); not in scope, and serializers escape it as>. If items carry a raw>,xml:langlands mid-value.raw_dataunchanged, as today; if a caller expects an error, it needs a separate change.@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?
fix: parse QTI items to rewrite them at publish instead of matching r…