Apple’s Keynote XML

Apple’s Keynote file format is, apparently, a zipped directory with a big ole chunk of XML in there. This is, I hoped, good, because then there’s a chance I could extract presentations to S5 and thus use Keynote as a presentation editor. I’d settle for “mostly text” to start, but there’d be no reason not to extract overlays, drawings, and the like. 3rd year project fodder! Furthermore, I could make some variant of the extraction (either way) into part of my MSc class, e.g., an assignment. Cool.

One tiny problem: The format is from HEEEEEEEELLLLLLLLLLLL. Really brutal. There’s no schema and the “documentation” is, as one might say, minimal.

The real puzzler for me is that there’s absolutely no reuse of any standard whatsoever. The draw objects are all some homebrew thing instead of SVG. Heck, the text formating has p and br tags in a custom Apple namespace. Then there is a TON of weird stuff…strange stylesheety stuff. The stylesheety stuff massively overwhelms the content. (And it sure ain’t CSS or XSL-FO.)

Ok, this is a private Apple format and they basically just reflected out some internal structures. But then…er…why use XML? The file is HUGE and it’s filled with nonsense, afaict. Lots of nonsense. I lost the will to extract from this and certain the will to try to generate it. There’s no standards used, so I can’t reuse my tools or knowledge there. I could accept that bending the standards to their purposes might have been…challenging and thus not worth the effort. (Accept, not necessarily believe it!) But I’m rather mystified as to what it buys them.

(ODF wasn’t looking too much better, IMHO. OOXML neither. I find all this quite suggestive.)

(I’m pretty late to this game. While the earlier version had an XML Schema, the current does not have one available. There was a lot of discussion about the graphics. Some brave person did target that version as output using XSLT. I’ll need to examine these careful to see how nice it is. Someone has a converter from SVG to Keynote. Some SVG developers seem focused more on why nto SVG as the whole format rather than why not incorporate SVG inside the Apple format.)