В настоящее время работает над проектом, в котором xsd были предоставлены для обмена данными. Доступны xsd isotc211 . Как можно видеть, есть несколько из них, и меня интересует генерация классов для /gmd/metadataEntity.xsd, которая, в свою очередь, имеет зависимости от других xsds и так далее.
Проблема в том, что существует много повторений имен для элементов и атрибутов, и было бы очень долго избавляться от них, и в конце я даже не уверен, сработает ли это. у меня есть это до сих пор ..
<jxb:bindings version="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" >
<jxb:bindings schemaLocation="geometryPrimitives.xsd" node="/xsd:schema">
<jxb:schemaBindings>
<jxb:package name="net.opengis.gml"/>
<jxb:nameXmlTransform>
<jxb:elementName suffix="Element"/>
</jxb:nameXmlTransform>
</jxb:schemaBindings>
<jxb:bindings
node="//xsd:group[@name='PointGrid']/xsd:sequence/xsd:element[@name='rows']">
<jxb:property name="rowsElement"/>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>`
преобразование namexml должно было помочь позаботиться о присвоении имен элементам и атрибутам, но у меня все еще много похожих имен в xsd. есть ли способ обойти это?
Например, элементы теперь генерируются с использованием суффикса. поэтому я получаю net.open.gml.SecondDefiningParameterElement уже используется.
когда что-то подобное существует в одном из xsd
<element name="secondDefiningParameter"><complexType>
<sequence>
<element ref="gml:SecondDefiningParameter"/>
</sequence>
</complexType>
</element>
и в том же xsd
<element name="SecondDefiningParameter">
<complexType>
<choice>
<element name="inverseFlattening" type="gml:MeasureType"/>
<element name="semiMinorAxis" type="gml:LengthType"/>
<element name="isSphere">
<simpleType>
<restriction base="string">
<enumeration value="sphere"/>
</restriction>
</simpleType>
</element>
</choice>
</complexType>
</element>