Exploiting FrameMaker MIF as XML, Introduction

My O’Reilly colleague Andy Bruno has just written a pair of posts on converting FrameMaker’s MIF (link may be old/die) format into XML (henceforth ‘MX’). I’ll be writing a few posts outlining the ways in which we’ve leveraged MX at O’Reilly.

[Update: Series continues here with getting back into MIF, and reading bookfiles.]


After helping to get DocBook off the ground in the early 90s, the company moved away from DocBook toward FrameMaker in the late 90s. FrameMaker continues to be our standard page layout program today for the core series: Cookbooks, Animal books, and Hacks books. InDesign controls our graphically rich series and we’ve recently started pushing DocBook heavily again thanks to the DocBook-XSL project (see the Rails Cookbook, Unicode Explained, or future Short Cuts for examples using DocBook-XSL).

Getting our corpus of hundreds of past and present FrameMaker titles into a round-trippable XML format was the basis for a huge technological breakthrough in all of O’Reilly’s underlying book production software. Andy was not the first O’Reilly employee to work on two-way converters, but his work came at a time when the entire XML toolchain was finally reaching maturity.


Some examples of what we did with MX (some of which I’ll try to highlight in future posts):

We rewrote every single conversion path (both into FrameMaker and out of it) around MX over the course of a year:

  • Word to Frame (Word 2003 XML)
  • Frame to DocBook (using XSLT2)
  • Frame to Word (for new revisions)
  • DocBook to Frame [partway] (but this was scrapped in favor of DocBook-XSL)
MX allowed us to transform our templates into spec documents describing in detail all of our default styles (this was invaluable writing our DocBook-XSL customization layer)
Data Queries
We built some proof-of-concept data gatherers (much like labs.oreilly.com).

Comments are closed.