Hi Folks,
The format of KML 2.3 documents are specified with a W3C 1.1 XML Schema. XML Schema 1.1 has a powerful feature which KML uses. At the top of the KML schema is this:
<defaultOpenContent mode="interleave">
<any namespace="##other" processContents="lax"/>
</defaultOpenContent>Read as: "KML documents are open. That is, XML elements from any non-KML namespace can be inserted before and after every element in KML documents. Those non-KML elements do not have to validate against any schema."
That makes KML very extensible.
But why?
If I add non-KML stuff in a KML instance, who’s going to understand my stuff? Google Earth? No. Google Maps? No. NASA WorldWind? No.
Only applications that have been custom-coded to understand my stuff will be able to do anything with it. Right? Doesn’t that destroy KML as a global geographic annotation/visualization language since now you’ve got all these non-interoperable dialects floating around?
Thoughts?
/Roger