Solved by Claude Code.
OTT Styles File Numbering Not Working. [SOLVED] - Platform Suse Leap 15.6
All 22 styles ARE imported correctly — but there’s a naming mismatch. LO’s loadStylesFromURL URL-encodes internal names: FCNumberingL1 becomes FC_3a__20_Numbering_20_L1_20__28_1._20_2._20_3.29. The NumberedPara paragraph style still references the old name
FCNumberingL1, so the link breaks.
The fix is to replace loadStylesFromURL with direct odfpy copying in the script, which preserves internal names exactly:
● The root cause is clear — loadStylesFromURL renames internal names with URL encoding, breaking the list style references. I’ll replace it with direct odfpy copying for ODT files, which preserves all names exactly: