This sounds like a blocker to me, at this point at least. What are the options for applications? Can you use raw xml too (this could be useful if ribbon description is generated in runtime)?
AFAIK, no. The xml must be compiled by UICC.exe, and the binary embedded as resource. You can't really generate stuff at runtime, but the application can hide controls.
Does it use DirectUI thing or something similarly undocumented and unstable?
Sorry, I never heard about DirectUI, so I don't know. But I doubt it since there is no need for any dlls that look directui related. You can make ribbons work on wine by using "propsys.dll, uiribbon.dll, uiribbonres.dll, uxtheme.dll" from win7, and a hack for the built-in user32.
It's undocumented sure, I didn't find any information about it after hours of googling. I don't know if I'd call it unstable though, it works well across windows versions.
Luckily the UICC compiler works under wine (with msxml3 msxml6), so at least compiling is easily. If you want to see an example, I can provide one.
I already began poking around in the binary format, but I'm not very experienced with binary analysis and the ribbon information is fairly complex, too. And reversing an unknown format is always a bunch of work, I guess.
Regards, Fabian Maurer