Joe Levi:
a cross-discipline, multi-dimensional problem solver who thinks outside the box – but within reality™


I need to apologize for not having written sooner.

It’s a bit of a sad tale, actually. You see, I’m a Microsoft-technologies developer – no, I don’t work for Microsoft, rather, I develop using Microsoft technologies: ASP.NET, MS SQL 2005, Visual Studio 2005, Expressions Suite, etc. I even have a Windows Mobile Phone and MSN Direct Smart Watch.

Here’s the paradox: My ‘blog is run on WordPress (PHP) with MySQL. I feel so dirty!

So I’ve been playing with BlogEngine and SubText; both are ASP.NET blogging engines, and both are pretty decent, especially SubText.

So I installed them, decided on SubText, configured it, and began to look into the best way to migrate my data into the new database and new structure.

I stumbled upon BlogML, the XML markup language devoted to allowing a blog author to archive his/her entire blog (including categories and comments) to a single file, then import into another blogging engine. Sounds great… but it didn’t work so great.

Turns out I’ve got some invalid XML markup in my resultant BlogML file — something the BlogML engine should have caught and escaped, but didn’t.

My import failed… and failed… and failed… not for wont of trying.

Now I’ve got an empty .NET blog just waiting for content, and a full WordPress blog just waiting for a way to transfer its content over.

I’ve resigned myself to the fact that BlogML isn’t quite “there” yet, and until it is I’m somewhat trapped in the WordPress world… Luckily it’s not such a bad world to be stuck in. 😉


You may also like...

2 Responses

  1. Keyvan Nayyeri says:

    Actually your problem is with your exporter to BlogML not BlogML itself. BlogML has a spec like any other markup standard as well as a validator tool. You can simply validate your output against it. We haven’t guaranteed that BlogML works for any XML file.

    I don’t know what’s your exporter tool but if you’ve used Robert McLaw’s exporter then you have to know that his tool is still in Beta and Rob hasn’t confirmed that it works for all cases. BlogML has passed many many tests with several blog engines where their developers have implemented correct export/import tools for them. On the other hand we had some migrations from WordPress to .NET blogging engines using BlogML in the past months. Just search for it to find some blog posts.

    However, I just wanted to tell you that BlogML doesn’t let you to import an invalid file but if you pass the schema to its instance.

    If you have any technical questions about BlogML spec and its .NET API, just drop a line.

  2. Joe says:


    You’re correct, it’s not the specification itself that I’m having problems with, but the WordPress Plugin that isn’t doing all the “heavy lifting” of validating the data that it’s putting to the file.

    For example, it’s letting through post names that are too long for SubText to import (due to database limits on lengths, which I suppose I could modify the field length to work around, but what else might that break).l

    Also, it’s letting square brackets in ([ and ]) which is breaking the rest of the file. Ideally, the plugin would see these and auto-correct for them. Again, not a problem with BlogML per se, rather with the WP Plugin, which is, as you stated, still in beta.

    The concept itself is beautiful, elegant.

    The implementation (on both export and import) is still rough around the edges, but not moreso than I expected.

    Thanks for the feedback and the correction!

Leave a Reply