i’ve been working on a content management system for the last two years, while at the same time i’ve been studying xml.  at the beginning of the project, there was little hope of using xml because i simply didn’t know enough.  half way through, i was ready to begin using it, so i started to employ a few xml fragments – most of them stored in a mysql database.  but the main uses of xml which i wanted to try, i couldn’t.  we couldn’t even rely on xslt or xpath.  all my xml was very basic.

i was pretty frustrated about this.  but we should never let frustration stand in the way of doing something.

i kept building the system without xml, at least on the surface.  instead, i made sure that our whole system was xhtml compliant.  and since xhtml is xml, i was halfway there.

the final step i took towards xml came when i started to pay more attention to the URI.  i’ve always appreciated URIs, in as much as i could understand them.  i knew they were powerful.  but now i understand why, because the CMS i’ve been working on has (for the most part) a clear URI, which means i can reference every page and essentially every action.  also every object within the system has a URI, and now that i’ve been thinking about it, when i refer to every object, i use that URI.  what this does is reinforce every object, so that i can always refer to it, regardless of the content of that object.

which means, one of these i can simply change the backend storage system to xml and there i am, working with xml.

this idea also is what is behind ‘open systems design’ which i have talked about before.