it's an irritating technical challenge, because microsoft's format is so very different to opendocument (or xhtml or anything remotely narrative or document-based)
compare:
Code:
<w:p>
<w:r>
<w:t>This is a </w:t>
</w:r>
<w:r>
<w:rPr>
<w:b />
</w:rPr>
<w:t>very basic</w:t>
</w:r>
<w:r>
<w:t> document </w:t>
</w:r>
<w:r>
<w:rPr>
<w:i />
</w:rPr>
<w:t>with some</w:t>
</w:r>
<w:r>
<w:t> formatting, and a </w:t>
</w:r>
<w:hyperlink w:rel="rId4" w:history="1">
<w:r>
<w:rPr>
<w:rStyle w:val="Hyperlink" />
</w:rPr>
<w:t>hyperlink</w:t>
</w:r>
</w:hyperlink>
</w:p>
in microsoftese, or
Code:
<text:p text:style-name="Standard">
This is a <text:span text:style-name="T1">very basic
</text:span> document <text:span text:style-name="T2">
with some</text:span> formatting, and a <text:a
xlink:type="simple" xlink:href="http://example.com">
hyperlink</text:a>
</text:p>
in opendocument or
Code:
<p>
This is a <i>very basic</i> document
<b>with some</b> formatting, and a
<a href="http://example.com">hyperlink</a>
</p>
in xhtml.
microsoft use non-mixed-format formatting of their data, which is great for things like data files. the rest use mixed-format, which is great for things like word processor documents.