Hi Magnus
I think this is a bug.
Your schema imports feature.xsd which includes (via a long list of
dependencies) geometryBasic0d1d.xsd which defines the LineStringType
which is the cause of your first error.
The definition looks like this (where I’ve removed some annotations
for readability):
<complexType name="LineStringType">
<complexContent>
<extension base="gml:AbstractCurveType">
<sequence>
<choice>
<choice minOccurs="2" maxOccurs="unbounded">
<element ref="gml:pos"/>
<element ref="gml:pointProperty"/>
<element ref="gml:pointRep">
</element>
<element ref="gml:coord">
</element>
</choice>
<element ref="gml:posList"/>
<element ref="gml:coordinates">
</element>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
I think the problem here is that you have _/both/_ a choice with
minOccurs=”2” of an element referred to as “gml:pos” _/and/_ a
separate element referred to as “gml:posList”. Since you can have more
than 1 ‘pos’ from the choice, XmlBeans (under the –javasource 1.5
flag) generates a method that allows you to get back the list of such
‘pos’s called getPosList(). However there is also an element at the
same level called “posList” so XmlBeans generates a different method
called getPosList() to allow you to get this single element.
These 2 methods both have no arguments and hence they clash.
Unfortunately I don’t know of any “proper” way around this at the
moment. You could edit your schema so that one or the other of the
references is renamed – but you may not have control over the schema.
Equally you could edit both the interface and impl files after they
are generated to rename one of the methods. Or you can remove the
–javasource 1.5 flag – in which case the generated code no longer has
the first of those generated methods in it and there is no clash. But
all of those seem a bit hacky. Hence I’ve raised a JIRA -
http://issues.apache.org/jira/browse/XMLBEANS-225.
Sorry I don’t have better news.
Cheers,
Lawrence
------------------------------------------------------------------------
*From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On Behalf Of
*Magnus Heino
*Sent:* Tuesday, November 15, 2005 11:22 PM
*To:* [email protected]
*Subject:* scomp problem: getPosList() is already defined in
net.opengis.gml.LineStringType
Hi.
A am trying to compile this schema
http://www2.lantmateriet.se/xml/scheman/bryggan/v3.1/g2k_v3.1.xsd
using the xmlbeans 2.1.0 release found here:
http://xmlbeans.apache.org/dist/
But I get these errors. Help please ! :-)
D:\Local\data>scomp -src src -noupa -nopvr -javasource 1.5 -dl g2k.jar
g2k_v3.1.
xsd
Time to build schema type system: 3.156 seconds
Time to generate code: 12.485 seconds
D:\Local\data\src\net\opengis\gml\LineStringType.java:208:
getPosList() is alrea
dy defined in net.opengis.gml.LineStringType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\LineStringSegmentType.java:162:
getPosList() i
s already defined in net.opengis.gml.LineStringSegmentType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\LineStringSegmentTypeImpl.java:504:
getPo
sList() is already defined in
net.opengis.gml.impl.LineStringSegmentTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
D:\Local\data\src\net\opengis\gml\ArcStringType.java:162: getPosList()
is alread
y defined in net.opengis.gml.ArcStringType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\ArcStringTypeImpl.java:506:
getPosList()
is already defined in net.opengis.gml.impl.ArcStringTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
D:\Local\data\src\net\opengis\gml\ArcStringByBulgeType.java:162:
getPosList() is
already defined in net.opengis.gml.ArcStringByBulgeType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\ArcStringByBulgeTypeImpl.java:510:
getPos
List() is already defined in net.opengis.gml.impl.ArcStringByBulgeTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
D:\Local\data\src\net\opengis\gml\GeodesicStringType.java:49:
getPosList() is al
ready defined in net.opengis.gml.GeodesicStringType
java.util.List<net.opengis.gml.DirectPositionType> getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\GeodesicStringTypeImpl.java:109:
getPosLi
st() is already defined in net.opengis.gml.impl.GeodesicStringTypeImpl
public java.util.List<net.opengis.gml.DirectPositionType> getPosList()
^
D:\Local\data\src\net\opengis\gml\CubicSplineType.java:162:
getPosList() is alre
ady defined in net.opengis.gml.CubicSplineType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\CubicSplineTypeImpl.java:510:
getPosList(
) is already defined in net.opengis.gml.impl.CubicSplineTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
D:\Local\data\src\net\opengis\gml\BSplineType.java:162: getPosList()
is already
defined in net.opengis.gml.BSplineType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\BSplineTypeImpl.java:512:
getPosList() is
already defined in net.opengis.gml.impl.BSplineTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
D:\Local\data\src\net\opengis\gml\AbstractGriddedSurfaceType.java:165:
getPosLis
t() is already defined in net.opengis.gml.AbstractGriddedSurfaceType.Row
java.util.List<net.opengis.gml.DirectPositionType> getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\AbstractGriddedSurfaceTypeImpl.java:466:
getPosList() is already defined in
net.opengis.gml.impl.AbstractGriddedSurfaceTy
peImpl.RowImpl
public java.util.List<net.opengis.gml.DirectPositionType> getPosList()
^
D:\Local\data\src\net\opengis\gml\TinType.java:181: getPosList() is
already defi
ned in net.opengis.gml.TinType.ControlPoint
java.util.List<net.opengis.gml.DirectPositionType> getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\TinTypeImpl.java:539:
getPosList() is alr
eady defined in net.opengis.gml.impl.TinTypeImpl.ControlPointImpl
public java.util.List<net.opengis.gml.DirectPositionType> getPosList()
^
D:\Local\data\src\net\opengis\gml\LinearRingType.java:162:
getPosList() is alrea
dy defined in net.opengis.gml.LinearRingType
net.opengis.gml.DirectPositionListType getPosList();
^
D:\Local\data\src\net\opengis\gml\impl\LinearRingTypeImpl.java:504:
getPosList()
is already defined in net.opengis.gml.impl.LinearRingTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
D:\Local\data\src\net\opengis\gml\impl\LineStringTypeImpl.java:659:
getPosList()
is already defined in net.opengis.gml.impl.LineStringTypeImpl
public net.opengis.gml.DirectPositionListType getPosList()
^
Note: * uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
20 errors
BUILD FAILED
D:\Local\data>
--
/Magnus Heino