[Gvsig_desarrolladores] Problemas exportación a GML

Fernando González fergonco en gmail.com
Mar Ago 16 09:31:07 CEST 2011


Hola, os describo unos problemas que me he encontrado al exportar a
GML. Son todos relacionados con XML, por lo que es posible que se dé
al exportar a otros formatos basados en XML:

1) Los atributos schemaLocation sirven de poco. Se supone que es una
"pista" sobre dónde encontrar los esquemas, pero la pista no ayuda
mucho que digamos. Por ejemplo, en el gml generado está:

xsi:schemaLocation="http://www.gvsig.org/cit cit.xsd"

y ni el esquema exportado se llama "cit.xsd" ni tiene que estar en el
mismo directorio que el fichero gml. Parece que se pone a piñón fijo.

Luego, en el schema, al importar el schema de GML se podría poner la
URL completa:

<xs:import namespace="http://www.opengis.net/gml"
schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd" />

en lugar de:

<xs:import namespace="http://www.opengis.net/gml" schemaLocation="feature.xsd"/>

Esto es importante para que los editores accedan a dichos esquemas y
puedan resolver los tipos de datos que se usan. Además, en el caso de
GML, no sé de qué otra manera que con el schemaLocation se puede saber
la versión del estándar que se está utilizando.

2) El elemento exportado no está definido en el esquema. En el esquema
se define un elemento output:

<xs:element name="output" type="cit:output_Type"
substitutionGroup="gml:_Feature"/>

pero la salida no tiene ningún elemento output. El elemento raíz tiene
el mismo nombre que la capa de la cual se exportó el GML.

3) Cuando se genera el XML sin el schema, los nombres de los elementos
siguen estando cualificados y sigue habiendo un atributo
schemaLocation, como si realmente hubiera un esquema. Cuando el
usuario selecciona este caso es posible que sea mejor no usar nombres
cualificados, o al menos no especificar el "schemaLocation" del
esquema que no se ha generado.


Un saludo.


Más información sobre la lista de distribución gvSIG_desarrolladores