* The collection class where the results of the XML parsing will be placed

+

−

* An element dictionary that prevents the need for string comparison everywere

+

−

To implement a new XML parser you need to

−

#compile an element dictionary of all of the available tags in the namespace

−

#implement a tag handler for each of these elements

−

#register that tag handler with the GeoParser

−

==== Implementing a tag handler ====

+

;[[/GeoDataParsing|Parsing GeoData]]

−

Each tag handler is called when the relevant XML tag is reached by the GeoParser ( which knows what tags to call by its registered tag list ). Each tag can access the stack data structure of the GeoParser as well as the Collection Data Structure of the GeoParser. This allows the tag handler to access items from the stack and allows root elements of the XML to add themselves to the collection data structure.

+

;[[/GeoDataWriter|Writing GeoData]]

Revision as of 23:10, 14 August 2010

GeoData Overview

The Marble Framework has got two major design goals:

The Marble Framework should build strongly on Qt-API principles and Qt design concepts.

The map data should be handled using classes that are modelled after the KML OGC standard.

The KML standard itself describes the properties of a data model for maps:

GeoData holds the data model that is internally used for any geographic information which should be rendered. It deals whith the data only, drawing is performed elsewhere.

A model representation of a document is built through parsing of files and creating a GeoDataDocument with GeoDataObject representing its data.
The Geodata objects are all modeled after the Google KML files as defined in the KML documentation.