The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Wiki question: database or XML

I'm thinking about revamping the wiki software I wrote as a C#/ASP.NET learning exercise, and making into something a bit more robust -- it'll still be a learning exercise, I've no plans to do anything professional with the software but increase my .NET skills.  However, the storage method has me pondering.

I want to either store the data as an MDB file or as a series of XML files.  The pros of XML -- XPath, XSLT, etc. -- are alluring, but an MDB has never done me wrong before.  Does anyone have any advice when deciding between the two?

Andrew Burton Send private email
Wednesday, February 02, 2005
If it's a learning exerience why not get familiar with the system.xml namespace? ;-)
Mark Jerde Send private email
Wednesday, February 02, 2005
How about a shim library that lets you swap out the back end?  Make it work with a database and with XML.
Aaron F Stanton Send private email
Wednesday, February 02, 2005
Which do you want to learn the most about?
son of parnas
Wednesday, February 02, 2005
oh! oh!  I know!

Store it *AS* XML *IN* a database!

Twice the learning experience, twice the fun!
Flamebait Sr.
Wednesday, February 02, 2005
Or how about an XML document that uses a mime-encoded database?
Aaron F Stanton Send private email
Wednesday, February 02, 2005
If you're into .NET, you could try IXPathNavigable or something to make your DB look like XML.

I'm thinking of writing a simple CMS meself 'cos the ones out there don't do what I want. I'm think of (horrors) dumping all the articles into one giant XML file and just use XSL to compose pages. This'll allow me to write the content in a text editor and not dick around with a CMS interface.
Glen Low Send private email
Thursday, February 03, 2005
I just store the wiki markup in a file.

When I want the HTML to send to a user, I pipe it through a perl script called "markup2html".

I don't understand why you'd want to store it as XML at all -- the text in a wiki is sort of intended to be unstructured text with some meaning to bits of it if you feel like it.
Katie Lucas
Thursday, February 03, 2005
My use was more related to CMS rather than wikis. With XML and XSL you could do things like get the first paras of all your documents and put them up on a page, or inserting ads in random spots, or do semantic markup which could result in sophisicated replacements (think macros, glossaries, distinguishing internal from external links etc.).

It's the beauty of having a fully navigable object model (XML) paired with a programmable navigator (XSL). The ease of parsing XML has lead to the rapid development of XSL and similar technologies.

And the nice thing is that is all standard and documentable and verifiable through schemas, if that is your desire.
Glen Low Send private email
Thursday, February 03, 2005
Yep, XML is information interchange format, not a storage format. It is too verbose for storage.
Friday, February 11, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz