Java and Office documents via XML, XSL-FO

Couple of interesting items related to Interop with Java and Office docs.

1st, MSDN article on saving MS-Word into XSL-FO. Oleg commented on it very favorably. In essence, you can use MS-Word as an XSL-FO designer. That's a huge step forward.

2nd, an old, but new to me, article on using Java to generate WordProcessingML. I picked this up from John R. Durant, which I found while surfing my new favorite XML-related page... which is...

3rd, TopXml's blog aggregator. High signal-to-noise ratio there.

So. what does it all mean? Well, item 2 stands on its own. That's a nice capability. In any Java app, you can generate a document that conforms to the published XML schema for MS-Office docs, produce Office docs (reports, memos, whatever), and then ship them via a webservice to a client, where they can be consumed - printed, viewed, whatever. In this scenario, there is no use of Office on the server side. It's Just XML, so it could be done on any any modern platform. [ Do mainframes speak XML? Can I write a CICS TP that generates an XML document? Hmm, I don't think I would want to do that. . . ]

2ndly, combining item 1 and 2 means that, if I for some reason don't want to use WordML, I could run the output through the RenderX XSL sheet mentioned in item 1, and generate an XSL-FO doc. 

There is a license for the WordProcessingML stuff, but it is available free of charge. I don't know the license for the RenderX stylesheet but it is available for download at the MSDN article in question. Cool possibilities. . . 

Ok, sure you could have been using Apache FOP as well, but ... it is really a pain to design XSL-FO docs manually, or programmatically starting from nothing. This combo allows you to use Word as the visual forms designer during development, then at runtime, use any XML-aware platform (like Java) to fill in blanks in the XML template foc, and transform to XSL-FO. This is a big step forward.