Disambiguating markup
I ran into somebody else’s rant (not sure where, sorry) ’lowing as how XML would never catch on because wiki markup was really all you needed, and could be converted to whatever you like anyway.
Nice idea, but it won’t work. Human expression is a mite more complex than that, even on the text-only, affect-flattened Internet.
I am going to tell a story on myself to demonstrate my point, borrowing Liz Lawley’s blog for a moment.
In college, I picked up the very bad habit of emoting inside asterisks. I *grin*ned and *groan*ed my way through many years of email and Usenet postings. I also, of course, used asterisks for emphasis—who didn’t?
As I understand matters, wiki markup uses asterisks for emphasis only. Translators of wiki markup to HTML turn asterisk-delimited words bold. (Microsoft Word can be tweaked into doing this also, incidentally.)
Imagine my surprise when I used asterisks in a comment on Liz’s blog (which I can’t bloody find, unfortunately—the comment, not the blog!) both for emphasis and to delimit a *grin*, only to find my grin a bit bolder than I had intended, and shorn of its asterisks.
Ambiguity in action. Hey, is that the Andrea Doria?
The “wiki markup is enough!” cry is simply one more variant on the One True DTD theory of markup, about which I have pontificated before. The reality is that no markup language suffices for all texts, all people, and all situations. Keep trying to invent it, by all means, as it’ll keep you off the streets; just be ready to fail.
Eventually, any closed set of markup will run into edge cases and ambiguities it just can’t handle. That’s why XML- and SGML-defined markup sets are open—not in the sense of “open standards,” though they’re that too, but in the sense of extensible, open to revision and augmentation. Open-ended.
And that’s why XML and SGML exist to begin with, and why no closed tagset created with XML and SGML will ever completely replace them.