There's many ways to do this. Since RTF, for example, is just simple text, you could write your XSLT to output the necessary lines (actually, XSLT can also output binary files, but this gets much more difficult). You can find the RTF specifications on Microsoft's site, as well as other places if you try googling. To create Word docs, you could do a number of things. You could use the Office PIAs (primary interop assemblies, which is recommended as opposed to making your own interop assemblies) to load the HTML document into word and then save it back out as a Word Document or an RTF document, all without showing the Word UI (it's still started, but not visible until you call Show on the application). Also, Word 2000, XP, and 2003 all support XHTML - an XML document with the default namespace resembling HTML. You could always generate this instead of HTML (which doesn't necessarily conform to XML standards - nor does it have to in some cases). Word 2003 also has a well-defined schema for Word Documents that is also published on MSDN[^]. Finally, in referene to this and your previous question, there's products out there that can save reports (if you're doing any sort of reporting) to many common formats, such as HTML, PDF, and RTF. Crystal Reports for VS.NET comes with VS.NET and is installed by default. The runtime and your report definitions can be distributed freely so long as you have a valid license for VS.NET, have registered Crystal Reports for VS.NET, and are shipping as part of a Windows Forms application (ASP.NET application have additional restrictions and typically require additional runtime licenses). A cheaper alternative is ActiveReports from Data Dynamics[^].
Microsoft MVP, Visual C# My Articles