One might think that the problem with XML has something to do with size or the cost of XML processing. While these are indeed issues, they are issues that tme and Moore's law make increasingly unimportant. On the other hand there is an issue with XML that will not be resolved by new technology. The problem is the simplicity and low level nature of XML. This was well stated in a Geotec Paper presented by Milan Trninic on why people believe GML is complex. He looked at the origins of complexity in XML – and in a sense found them in its simplicity.
It is easy to write XML. Just a few synatical rules and in moments anyone can be creating their own XML encoding of just about anything. This is a strength – but it is also a weakness. It means we can have XML's for anything – and we do. Geography Markup Language of course – but also Keyhole Markup Language, WorldWind Markup Language, Transportation Markup Language, Justice Markup Language, Mars Rover Markup Language – my Dogs Markup Language. In fact – all we need to do is take any decent schema editor and with a small amount of work we have a new something-ML.
This is a problem. If we proliferate markup languages for applications we can readily re-enter the world of Babel we were trying to escape. To solve this problem requires us to think in a more global fashion – meaning to build on work that has already been established. In many ways one could say that this is the program of GML. GML is not an end use language. It does not define all of the concrete things that area needed to describe transportation systems, nor geo-enabled web feeds- nor nautical charting. GML provides two things – a constant fixed encoding structure (the so called object-prperty-value) rule and a set of primitives – from whcih you can construct other XML languages for vertical domains. Many application communities have understood this and are building their applicaton language on GML from Mning and Mineral exploration (XMML) to geoRSS (geoRSS GML) and aeronautical information sytsem (AIXMLGML).