Monday, November 28, 2005

GML profiles

Thanks to one of his comments, I read through all of Geo-Web.This blog does a decent job of expaining what the heck GML is. GML itself is one of those things that is too "meta" to be of use to most people, but GML application schemas and profiles defined for particular purposes can be useful. The author tries a lot of analogies to explain what GML is, but it's pretty different from most things.

Think about the specification for SQL- most of us never look at. In fact, we are usually only concerned with the variant of SQL that applies to the database we are using. We might try to write database independent code, but what's a VARCHAR here is a VARCHAR2 there etc. We then define different databases using the DDL (Data Definition Language) aspects of SQL, and you end up with particular columns and tables, etc.

Now, imagine if the specification for SQL was written in XSD. That's the thing about GML that could make your head fall off, it's like a specification for creating XSD, written as an XSD. And by the way, the schema for XSD is also an XSD. This is what makes us not love the XML folks so much.

Ben Galbraith has a great story and presentation on this stuff, here's a recent article on this stuff.