FML: Fiction Markup Language

By Deane Barker on January 16, 2004

When is someone going to come up with Fiction Markup Language — an XML spec solely for annotating fiction? For example:

Take perhaps the greatest novel ever written: Ian Fleming’s 1953 classic “Casino Royale.” Let’s break this down from a big chunk of text to make up something more usable.

Obviously, you could mark the chapters and section numbers, but let’s go further into the actual content of the narrative. Begin by surrounding all spoken text with tags. For example:

<quote>My name is Bond, James Bond</quote>

Perhaps you can have another attribute for “target” to identify to whom he’s speaking. Then I could do an XPath query to find everything James Bond said to Vesper Lynd in the entire book.

And how about locations? Surround passages with their physical location, like the casino floor, Bond’s hotel room, etc. (where appropriate — wouldn’t work in all situations). I could then use XPath to find all the unique locations in the book (this would be great for the globe-hopping James Bond novels).

Identify “action” passages and mark them. How about the death of a character? Mark them so I can immediately find out where Le Chiffre was killed and read how it happened.

Introductions of characters are another thing. Mark the first appearance of each character so if I can’t remember who someone is, I can go back and find where they first appeared and who they are.

I’m reading Tom Clancy’s “Politika” right now, and I can hardly keep track of everyone. It’d be handy to be able to print a “report” showing who everyone is. (A good ebook client implementation of this would know what page the reader was on and not report anything past that page as to not spoil anything.)

Maybe mark the beginning and ending of pages as they appeared in the original publication. And have some way for an expert to insert commentary about the text.

James Bond novels are one thing, but imagine if someone did this for, say, “War and Peace”. It would be like Cliffs Notes embedded in the text of the book.

There’s unexplored potential here. I can’t be the first person to think of this. (And another question: is this just an attempt to completely suck the soul right out of fiction? Should we just leave it the hell alone?)

What Links Here


  1. So, get on it! You’ve already begun fleshing out the different elements; document them, break things down even further if possible, and present it to the world.

  2. So, let’s say I wanted to propose a spec for “Fiction Markup Language.” How would I do it and give it the stamp of “officialness”? Does anyone know? Do you submit specs to the…XML Governing Authority or something?

    I’ve always wanted to do James Bond Markup Language (JBML) as well.

  3. It looks like you started thinking about this a while ago. Have you gotten anywhere with it? I have thought about this for a long time as well. You mention the idea of noting the death of a character–this could belong to a more general plot tag structure: Then Bob had to…

    I think it’s a fantastic idea and since it’s mostly invisible to the reader I don’t think it causes any harm to fiction. It would make all kinds of new research and literary criticism possible though. Imagine asking a computer to look through a database of fiction and find all the instances where someone got killed while handling an orange.

    I just wish I knew more about how to start a specification. I would love to start it.

  4. I think having an XML spec intended for narrative text. I’m working on a 4 part story, for the last 3 parts I plan on writing purely as XML, such that the story/world can be experienced through many mediums in a non-linear fashion. The other I’d simply like to be able to do with a markup language so that I can keep it in version control, technically i could keep a doc file in vcs but the changesets will be meaningless, not human readable. If you know of any similar solutions I’d be very interested. Other options for me would be using Rest/Markup but I haven’t been able to find a good editor that would either work as a WYSIWYS or atleast a side-by-side preview. You can reply back here or contact my on bitbucket(check url).

Comments are closed. If you have something you really want to say, tweet @gadgetopia.