From: James M. <j.m...@ge...> - 2002-09-19 08:48:43
|
Hi all. I was doing some tests on reading OS MasterMap last night and I was getting null pointer exceptions in the GML parser. I tracked it down to a small block in the head of the MasterMap file which holds the query extent as a snippet of gml. The snippet of GML is not part of a feature and so its coordinates have no parent context object. The null is thrown when the coordinates are constructed and added to the parent as there is no contextHandler at that point. I think I can see a way to hack a fix by checking if there is no context, but is this the right way to do it? I have just checked the OS schema and it seems that the query result information extends FeatureCollection so I guess if we were parsing Schemas this would not be a problem. (I have included a snipped at the end, or you can see the whole schema at http://www.ordsvy.gov.uk/xml/schema/v2/OSQueryResult.xsd) Are there any SAX tools which can help us with this, or would we have to be using DOM? Is this perhaps why the gml4j code is more complex than we thought it needed to be? Any suggestions on the best way forward? James <complexType name="FeatureCollectionType"> <complexContent> <extension base="gml:AbstractFeatureCollectionType"> <sequence> <element name="queryTime" type="timeInstant" minOccurs="1" maxOccurs="1" /> <element name="queryExtent" type="gml:GeometryPropertyType" minOccurs="0" maxOccurs="1" /> <element name="queryChangeSinceDate" type="date" minOccurs="0" maxOccurs="1" /> <element ref="osgb:_featureMember" minOccurs="0" maxOccurs="unbounded" /> <element name="boundedBy" type="gml:BoundingShapeType" minOccurs="0" maxOccurs="1" /> </sequence> </extension> </complexContent> </complexType> -- James Macgill Center for Computational Geography http://www.ccg.leeds.ac.uk Spell Checker (c) Creative Spelling inc (aka my dyslexic brain) http://www.geotools.org a client side java mapping toolkit. |
From: Aleksandar M. <ami...@ga...> - 2002-09-19 20:09:07
|
Hey, I've accidentally come across "Is this perhaps why the gml4j code is more complex than we thought it needed to be?". It's true, GML4J requires a whole document. It shouldn't be that way. In the mean time, I've made it independent of DOM and the constraint for it to be a whole document. So, now there is a GML object factory that generates GML structures from DOM document fragments. One can add other factories (e.g. to work with SAX). The only catch: This code has not been released. It passed some initial tests, but I haven't had time to test it thoroughly. Also, I've had problems defining the scope. I will probably have to restrict the API to read-only access, cause write access is not trivial to add. On another note, it might be worthwhile splitting GML4J in two parts: the schema parser and the GML-related part. Has anyone heard of a schema parser API, something like .NET System.Xml.Schema API, which is pretty good (sorry MS haters). It'a pitty that lots of development efforts goes into something that's not even GML, but pure XML schema processing. I've recently created a prototype of a GML schema parser in C#. Believe me, System.Xml.Schema API in .NET made my job much easier. Wish we had something like that in Java. Anyway, I hope to make an interim release sometime soon. Ciao, Alex > -----Original Message----- > From: geo...@li... > [mailto:geo...@li...]On Behalf Of James > Macgill > Sent: Thursday, September 19, 2002 1:45 AM > To: geo...@li... > Subject: [Geotools-devel] [bug] gml snippets outside of features fail > > > Hi all. > > I was doing some tests on reading OS MasterMap last night and I > was getting > null pointer exceptions in the GML parser. > > I tracked it down to a small block in the head of the MasterMap > file which > holds the query extent as a snippet of gml. The snippet of GML > is not part > of a feature and so its coordinates have no parent context object. > > The null is thrown when the coordinates are constructed and added to the > parent as there is no contextHandler at that point. > > I think I can see a way to hack a fix by checking if there is no context, > but is this the right way to do it? I have just checked the OS > schema and > it seems that the query result information extends FeatureCollection so I > guess if we were parsing Schemas this would not be a problem. > > (I have included a snipped at the end, or you can see the whole schema at > http://www.ordsvy.gov.uk/xml/schema/v2/OSQueryResult.xsd) > > Are there any SAX tools which can help us with this, or would we > have to be > using DOM? Is this perhaps why the gml4j code is more complex than we > thought it needed to be? > > Any suggestions on the best way forward? > > James > > <complexType name="FeatureCollectionType"> > <complexContent> > <extension base="gml:AbstractFeatureCollectionType"> > <sequence> > <element name="queryTime" type="timeInstant" minOccurs="1" > maxOccurs="1" /> > <element name="queryExtent" type="gml:GeometryPropertyType" minOccurs="0" > maxOccurs="1" /> > <element name="queryChangeSinceDate" type="date" minOccurs="0" > maxOccurs="1" /> > <element ref="osgb:_featureMember" minOccurs="0" maxOccurs="unbounded" /> > <element name="boundedBy" type="gml:BoundingShapeType" minOccurs="0" > maxOccurs="1" /> > </sequence> > </extension> > </complexContent> > </complexType> > > > -- > James Macgill > Center for Computational Geography http://www.ccg.leeds.ac.uk > Spell Checker (c) Creative Spelling inc (aka my dyslexic brain) > http://www.geotools.org a client side java mapping toolkit. > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Geotools-devel mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-devel > > |
From: James M. <j.m...@ge...> - 2002-09-25 14:57:26
|
At 21:15 19/09/2002, you wrote: >Hey >On another note, it might be worthwhile splitting GML4J in two parts: the >schema parser and the GML-related part. Has anyone heard of a schema parser >API, something like .NET System.Xml.Schema API, which is pretty good (sorry >MS haters). I'd be very interested in seeing the schema part of GML4J being made available separately. Our SAX based GML parsing is ok at the moment but we have nothing for parsing the Schema information. I've been looking round for a while now and I can't find anything like System.Xml.Schema for Java. >Anyway, I hope to make an interim release sometime soon. Great, keep us posted. James -- James Macgill Center for Computational Geography http://www.ccg.leeds.ac.uk Spell Checker (c) Creative Spelling inc (aka my dyslexic brain) http://www.geotools.org a client side java mapping toolkit. |
From: Aleksandar M. <ami...@ga...> - 2002-09-26 00:46:47
|
A friend told me about an XML Schema API at the Eclipse web site: http://www.eclipse.org/xsd/ Alex > -----Original Message----- > From: geo...@li... > [mailto:geo...@li...]On Behalf Of James > Macgill > Sent: Wednesday, September 25, 2002 7:53 AM > To: geo...@li... > Subject: RE: [Geotools-devel] [bug] gml snippets outside of features > fail > > > At 21:15 19/09/2002, you wrote: > >Hey > > >On another note, it might be worthwhile splitting GML4J in two parts: the > >schema parser and the GML-related part. Has anyone heard of a > schema parser > >API, something like .NET System.Xml.Schema API, which is pretty > good (sorry > >MS haters). > > I'd be very interested in seeing the schema part of GML4J being made > available separately. Our SAX based GML parsing is ok at the > moment but we > have nothing for parsing the Schema information. I've been looking round > for a while now and I can't find anything like System.Xml.Schema for Java. > > >Anyway, I hope to make an interim release sometime soon. > > Great, keep us posted. > > James > > -- > James Macgill > Center for Computational Geography http://www.ccg.leeds.ac.uk > Spell Checker (c) Creative Spelling inc (aka my dyslexic brain) > http://www.geotools.org a client side java mapping toolkit. > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Geotools-devel mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-devel > > |