fix(docx): sorteer w:rPr-elementen volgens OOXML-schema #2097
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!2097
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/docx-rpr-ordering"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Samenvatting
Follow-up op #2096. De
_rPr-stack hoopte run-properties op in markdown-nest-volgorde, niet in OOXML-schema-volgorde. Bij_code_kwam<w:i/>vóór<w:rStyle>te staan — een overtreding van de ECMA-376CT_RPr-volgorde (rStyle moet eerst). Microsoft Office weigert een .docx met dergelijke schema-overtredingen met "bestand is beschadigd"; LibreOffice is soepeler en opent het wel.Dit verklaart waarom het bestand na de vorige fix (PR #2096) nog steeds niet in Microsoft Office opende: de geneste-
<w:p>-bug was opgelost, maar de rPr-volgorde-overtreding bleef. Het bestand dat de gebruiker op schijf had was bovendien door LibreOffice herschreven (die het OciDeck-bestand kon openen), maar het oorspronkelijke OciDeck-bestand had nog steeds deze schema-overtreding.Oplossing: sorteer de rPr-elementen op schema-rang bij het emitren (
_rPrXml()), zonder de stack zelf te wijzigen (pop heeft de oorspronkelijke volgorde nodig). ODT heeft dit probleem niet: dat gebruikttext:spanmet stijlnamen, geen inline rPr-kind-elementen.Refs #2095.
Testplan
_code_→rStylestaat vóóriinw:rPr2026-09-11_Information_Security_Policy_NEO_NL_v2.0.md: 0 rPr-volgorde-overtredingen (voorheen 1)make checkgroenGenerated with Devin