[Gvsig_desarrolladores] WFS jaxb request SUPORT

Carlos Sánchez Periñán sanchez_carper en gva.es
Jue Ago 30 14:18:25 CEST 2007


Hola Cristian:

Cristian Rinaldi escribió:
> Gente de la lista, como andan. No se si esta es la lista adecuada, 
> creo que no, pero bueno abro el debate aquí. La situación es la 
> siguiente: Estamos implementando un API que de soporte al servicio de 
> WFS utilizando el API de Geotools, es decir algo muy parecido a lo que 
> ya se hace con WMS.
> Lo que queremos hacer es tomar los schemas del OPEN GIS y aplicando 
> JAXB generar las clases correspondiente para manipular cualquier 
> versión. El problema es que la version esta acoplada en los 
> getCapabilities, es decir uno se entera de la versión solo cuando pide 
> un getCapabilities.
> Eso obliga a parsear el documento, "hasta que se encuentre un string 
> version", ya que el posicionamiento del atributo o elemento es 
> desconocido, porque justamente no sabemos con que versión estamos 
> trabajando.
> La necesidad de saber con que version se está trabajando de ante mano 
> es necesario para que cuando se utiliza JAXB se realize el Unmarshall 
> con el paquete de clases correspondiente.
> Lo que no entiendo y pregunto en base a mi ignorancia, es porque no se 
> ha previsto en el standart un request getVersion(), y que el servidor 
> devuelva un XML con las versiones soportadas. De esta manera la 
> implementacion seria mucho mas prolija.
> Dejo la inquietud, si alguno sabe algo por favor no dude en responder.
>

Estoy trabajando con las especificaciones del OGC, y los schemas que se 
generan a partir de algunas de ellas en XML.
Como en vuestro caso, implementar un API existente es complicado, las 
clases que generamos a partir de la especificación, terminamos 
adaptándolas a un proyecto concreto y separándonos de la especificación.
No se si habrás visto el proyecto de Geo API 
http://docs.codehaus.org/display/GEO/Home, es un proyecto para 
estandarizar las implementaciones que se estan realizando de las 
especificaciones del OGC por todo el mundo e implementadas las 
interfaces para el lenguaje Java. Ya está bastante completa y 
actualizada y quizá os sirva para implementar vuestro servicio de WFS.
Tiene clases para la gran mayoria de componentes que se encuentran en 
las especificaciones del OGC que van saliendo.

El API ademáscontiene métodos getVersion(), pero claro, la 
implementación por mi experiencia implica comenzar a parsear los 
ficheros XML hasta que se encuentra el atributo "version" en la cabecera 
(si es que existe, cosa que no es obligatoria).

> Otra cosa, no les parece absurdo que en los estandares ( schemas xml ) 
> del OPEN GIS existen nombres de elementos y tipos de datos que 
> comienzan con "_" (guiones bajos), mi pregunta es ¿En que lenguaje de 
> programación una clase comienza con "_"? Esto va a que cuando se 
> aplica JAXB a estos schemas los guiones bajos son eliminados y 
> comienzan a aparecer los conflictos de nombres entre clases.
    Los estandares (schemas xml) tienen nombres de elementos que 
empiezan por "_"(guiones bajos) para representas elementos no usables 
directamente, es decir abstractos, por tanto no pueden traducirse por 
clases normales. Estas tipos y elementos abstractos, representan las 
clases abstractas de obligada sustitución por esquemas locales a una 
aplicación u otros de la especificación que describen elementos menos 
generales. Por ejemplo <_Feature> es abstracto y ha de ser sustituido 
por una otra etiqueta con otro o el mismo nombre sin la "_" como por 
ejemplo <FeatureMember> más especifica que extiende de la clase general 
abstracta. Por tanto en un fichero XML transmitido por el servicio WFS 
jamás nos aparecerá una etiqueta con "_", aunque sí lo podrá hacer en un 
esquema "*.xsd"  como substitutionGroup o extension.
> Saludos a todos Cristian.
>
> -- 
> www.juglar.org <http://www.juglar.org>
> "El Java User Group del Litoral Argentino"
>
> @Saludos( mappedBy="GNR" )
> public String saludo(){
>   return new String( "Chinese Democracy" );
> }
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>   
Espero haberte ayudado en algo.
Un saludo.

-- 
 
-----------------------------------------------
Carlos Sánchez Periñán
Equipo de desarrollo gvSIG
Consellería de Infraestructuras y Transporte
Valencia - Spain
-----------------------------------------------



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