Norman Barker wrote:
Hi Norman, we have done it four times now on the geotools side of the fence.
1. SAX handlers that pass control between each other (So Filter passes
control to GML etc...), recursion is used explicitly between the SAX
handlers so not a lot of customization can occur. It streams it is fast,
it scales to GIS sized datasets...
2. DOM traditional tree walk of doom, non streaming, etc...
3. XDO break out the handler section of those SAX handlers into a small
stack computer, allowing the programmer to just focus on the mapping to
Objects.
4. GTXML (name subject to change) rewrite XDO of the above on top of
mainstream technologies with a focus on ease of development (aka code
generators, policy of saying things once - either XMLSchema or Java
Binding, etc...).
You will notice that only the last two solutions are *Schema Aware* and
when they don't have a direct match (on say RoadType) they can walk up
the schema to find a solution they do have a binding for...
If you need more details see some of the write up for the OWS-3 project,
or check out some this article:
- http://udig.refractions.net/confluence/display/OWS3/GTXML+Article
GML is a tough problem, but works wonderfully when you have a good
solution in hand. I may try doing a open source GML workshop at the
confernece formally known as GML Devel Days ... if there is interest.
Jody
Hi,
I am trying to think of a way to write a GML Parser / Generator (in that it generates objects) in a non-code language specific way.
The obvious way is to run a SAX parser and 'spot' objects that I recognise and
create objects from them but this is a little inflexible. Is there a way to
parse the GML Schemas and create mappings in a way that isn't going to blow up
when the GML file gets large?
As this is test code, I don't want to buy any software at the mo'.
Any thoughts, ideas would be appreciated.
Many thanks,
Norman
_______________________________________________
Geowanking mailing list
[email protected]
http://lists.burri.to/mailman/listinfo/geowanking
_______________________________________________
Geowanking mailing list
[email protected]
http://lists.burri.to/mailman/listinfo/geowanking