[Gvsig_desarrolladores] Duda con la clase XMLSchemaParser

Alain Tamayo alain_tamayo en yahoo.com
Vie Nov 7 15:04:28 CET 2008


Hola, a continuaci贸n te paso el c贸digo que estoy ejecutando que es muy parecido al que existe en la extensi贸n para WFS. Mientras implementaba la funci贸n parseServiceIdentification todo iba bien, luego cuando termin茅 de implementar parseServiceProvider me empez贸 a dar el problema. Ahora cuando se ejecuta el primer llamado a parser.nextTag() lee el tag Capabilities, pero cuando llamo a  parser.getEventType() salta para el pr贸ximo tag (ServiceIdentification), y cuando ejecuto parser.getName() para comparar con el SERVICE_IDENTIFICATION me la cadena que me devuelve es "Title" que es el siguente tag.

@Override
    public boolean parseCapabilities(File f) {
        int currentTag;
        XMLSchemaParser parser = null;
        parser = new XMLSchemaParser();
        
       try
        {
            parser.setInput(f);
            currentTag = parser.nextTag();
            
            if ( parser.getEventType() != KXmlParser.END_DOCUMENT ) 
            {     
       
                while(currentTag != KXmlParser.END_DOCUMENT)
                {
                switch(currentTag)
                {
                    case KXmlParser.START_TAG:
                        if (parser.getName().compareTo(SOSCapabilitiesTags.SERVICE_IDENTIFICATION)==0){
                            parseServiceIdentification(parser);
                        } 
                        else if (parser.getName().compareTo(SOSCapabilitiesTags.SERVICE_PROVIDER)==0){
                            parseServiceProvider(parser);
                        } 
                        else if (parser.getName().compareTo(SOSCapabilitiesTags.OPERATIONS_METADATA)==0){
                            parseOperationsMetadata(parser);
                        } 
                        else if (parser.getName().compareTo(SOSCapabilitiesTags.CONTENTS)==0){
                            parseContents(parser);
                        } 
                        else if (parser.getName().compareTo(SOSCapabilitiesTags.FILTER_CAPABILITIES)==0){
                            parseFilterCapabilities(parser);
                        } 
                        break;
                    case KXmlParser.END_TAG:                            
                        break;
                    case KXmlParser.TEXT:
                        if (parser.getName()!=null)
                                                     
                        break;
                    }
                    currentTag = parser.next();
                    }
                      
                parser.require(KXmlParser.END_DOCUMENT, null, null);
            }
        }
        catch(XmlPullParserException parser_ex){
            parser_ex.printStackTrace();
            return false;
        }
        catch (IOException ioe) {           
            ioe.printStackTrace();
            return false;
        }
        return true;        
    }








________________________________
De: Jorge Piera <jorge.piera en iver.es>
Para: Lista de Desarrolladores de gvSIG <gvsig_desarrolladores en runas.cap.gva.es>
Enviado: viernes, 7 de noviembre, 2008 14:49:32
Asunto: Re: [Gvsig_desarrolladores] Duda con la clase XMLSchemaParser

Hola Alain.

驴Si antes te funcionaba y ahora ya no te funciona es que algo has tocado, no? Los m茅todos que comentas son m茅todos para consultar el estado en el que se encuentra el puntero del parser, no m茅todos que lo hagan avanzar. Lo que dices a priori no es posible pero si aportas m谩s informaci贸n es posible que te podamos ayudar algo m谩s.

Un saludo.

Jorge.

Alain Tamayo escribi贸:
> Hola a todos,
> 
> Estoy intentando procesar un archivo devuelto de un servidor SOS al invocar la operaci贸n GetCapabilities. Para esto estoy intentando uitlizar la clase XMLSchemaParser. Cuando comenc茅 a uitlizarla funcionaba de maravilla, pero ahora cada vez que ejecuto alguno de los m茅todos getEventType o getName me pasa a  la pr贸xima etiqueta como si se hubiera ejecutado un NextTag. 驴Alquien tiene idea de como resolver este problema?
> 
> Saludos
> 
> Alain
> 
> ------------------------------------------------------------------------
> *De:* jose Diez Pastor <namberwuan en hotmail.com>
> *Para:* gvsig_desarrolladores en runas.cap.gva.es
> *Enviado:* jueves, 6 de noviembre, 2008 20:25:37
> *Asunto:* [Gvsig_desarrolladores] Problema a帽adiendo una leyenda de valores unicos por codigo.
> 
> Hola a todos, mi intencion es que teniendo una capa vectorial, cambiar el color de algunos elementos, tendiendo en cuenta el valor de su campo ID, el problema es que no consigo hacerlo correctamente y la capa desaparece.
> 
> Me he fijado un poco como lo hace gvSIG, debugeando desde eclipse pero seguramente se me este olvidando algo, o lo este haciendo mal.
> 
> Estoy haciendo esto, el Color c es el nuevo color que le quiero poner al elemento y String i es el valor del campo.
> 
> 
> private void setColorItem(FLayer layer, Color c, String i) {           ClassifiableVectorial aux = (ClassifiableVectorial) layer;
>         VectorialUniqueValueLegend uvLegend=null;
>         Legend legend = null;
>                try {
>             uvLegend = LegendFactory.
> createVectorialUniqueValueLegend(aux.getShapeType());
>         } catch (DriverException e1) {
>             // TODO Auto-generated catch block
>             e1.printStackTrace();
>         }
>                             FSymbol symbol = new FSymbol(4);    // el simbolo que tendra el elemento que quiero cambiar
>         FSymbol defaultSymbol = (FSymbol) aux.getLegend().getDefaultSymbol();   //default, el que ya tenia la capa.
>         float line=1; //ancho borde
>         symbol.setShapeVisible(true);
>         symbol.setOutlined(true);          symbol.setOutlineColor(c);
>         symbol.setColor(c);
>         symbol.setStroke(new BasicStroke(line, BasicStroke.CAP_ROUND,BasicStroke.JOIN_ROUND));
>                uvLegend.setFieldName("ID");   //quiero discriminar utilizando el campo de nombre ID
>         uvLegend.addSymbol(i, symbol);
>                uvLegend.setDefaultSymbol(defaultSymbol);
>         uvLegend.useDefaultSymbol(true);
>                legend = (Legend)uvLegend;
>         VectorialLegend l =(VectorialLegend)legend;
>         l.setLabelField(null);
>                       try {
>             aux.setLegend((VectorialLegend)legend);         //aux era la capa sobre la que se aplica la leyenda.
>         } catch (FieldNotFoundException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         } catch (DriverException e) {
>             // TODO Auto-generated catch block
>             e.printStackTrace();
>         }
>         FLyrVect lyrVect = (FLyrVect) layer;          lyrVect.createSpatialIndex();
>         layer.getMapContext().callLegendChanged();
>            }
> 
> 
> ------------------------------------------------------------------------
> Descubre durante 3 meses gratis la protecci贸n total de One Care <http://www.vivelive.com/onecare/>
> 
> ------------------------------------------------------------------------
> 
> Premios MTV 2008
> 隆En exclusiva! Fotos, nominados, videos, y mucho m谩s!br>Mira aqu铆 http://mtvla.yahoo.com/
> ------------------------------------------------------------------------
> 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>   ------------------------------------------------------------------------
> 
> 
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com Version: 8.0.175 / Virus Database: 270.9.0/1772 - Release Date: 06/11/2008 20:23
> 
>  


Este mensaje y sus archivos son confidenciales. No est谩 permitida su reproducci贸n o distribuci贸n sin la autorizaci贸n expresa de "IVER Tecnolog铆as de la Informaci贸n". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor b贸rrelo e inf贸rmenos por esta misma v铆a.


_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores



      ____________________________________________________________________________________
Premios MTV 2008隆En exclusiva! Fotos, nominados, videos, y mucho m谩s! Mira aqu铆 http://mtvla.yahoo.com/
------------ pr髕ima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20081107/647209d0/attachment.htm


M醩 informaci髇 sobre la lista de distribuci髇 gvSIG_desarrolladores