Frederik Ramm wrote: > Does > > http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5/DTD > > not work? > > You're right about the change files though, I don't know if there's > anything for that. Then again, while it is very easy to validate your > application's output against a DTD, it is quite difficult to validate > the input side - whether or not your application will really be able to > process any document allowed by the DTD! > Are you referring to the change files currently used by osmosis and intended to be used for bulk uploads in 0.6? If so, the intent was that each create/modify/delete element has an almost identical structure to the root osm element in a normal osm file. I've never written a DTD file before, I must be odd because I've only ever used Xml Schema ;-) In the Xml Schema case you can define a complex type representing a set of way/node/relation elements whose definition can be re-used in the definition of osm/create/modify/delete element types (The relationship between Complex Types and Elements has parallels to the relationship between OO Classes and Objects). I don't know if DTD has such a concept of re-use.
I've been meaning to create a schema for a long time but never got around to it, it didn't seem like a very high priority. If people hate Schema that much then I guess a DTD should be created for change files instead. One nice thing about creating a schema is that it becomes easier to use code generation tools for xml serialisation and deserialisation. With either DTD or Schema it should be possible to define an open ended structure allowing for new element types and attributes to be added without breaking existing tools. The definition just defines a structure for those elements we know about at a point in time. Hmm, I don't think I've added anything useful to this discussion. I'll be quiet now :-) _______________________________________________ dev mailing list [email protected] http://lists.openstreetmap.org/listinfo/dev

