Revision 19951

View differences:

trunk/libraries/libGPE-XML/src/org/gvsig/gpe/xml/stream/Kxml2XmlStreamReader.java
49 49
import java.io.IOException;
50 50
import java.io.InputStream;
51 51

  
52
import javax.xml.namespace.QName;
53

  
52 54
import org.kxml2.io.KXmlParser;
53 55
import org.xmlpull.v1.XmlPullParser;
54 56
import org.xmlpull.v1.XmlPullParserException;
......
93 95
        return parser.getAttributeCount();
94 96
    }
95 97

  
96
    public String getAttributeName(int i) throws XmlStreamException {
97
        return parser.getAttributeName(i);
98
    public QName getAttributeName(int i) throws XmlStreamException {
99
        return new QName(parser.getNamespace(), parser.getAttributeName(i));
98 100
    }
99 101

  
100 102
    public String getAttributeValue(int i) throws XmlStreamException {
......
116 118
     * @return
117 119
     * @see org.gvsig.gpe.xml.stream.IXmlStreamReader#getName()
118 120
     */
119
    public String getName() throws XmlStreamException {
120
        String name = parser.getName();
121
        return name;
121
    public QName getName() throws XmlStreamException {
122
        return new QName(parser.getNamespace(), parser.getName());
122 123
    }
123 124

  
124 125
    public String getText() throws XmlStreamException {
trunk/libraries/libGPE-XML/src/org/gvsig/gpe/xml/stream/StaxXmlStreamReader.java
61 61
        return parser.getAttributeCount();
62 62
    }
63 63

  
64
    public String getAttributeName(int i) throws XmlStreamException {
65
        return parser.getAttributeLocalName(i);
64
    public QName getAttributeName(int i) throws XmlStreamException {
65
        //TODO JORGE: el QName de los atributos no es correcto
66
    	return new QName(parser.getNamespaceURI(),parser.getAttributeName(i).getLocalPart());
66 67
    }
67 68

  
68 69
    public String getAttributeValue(int i) throws XmlStreamException {
......
82 83
     * @return
83 84
     * @see org.gvsig.gpe.xml.stream.IXmlStreamReader#getName()
84 85
     */
85
    public String getName() throws XmlStreamException {
86
    public QName getName() throws XmlStreamException {
86 87
        final int eventType = parser.getEventType();
87 88
        if (eventType != XMLStreamConstants.START_ELEMENT
88 89
                && eventType != XMLStreamConstants.END_ELEMENT) {
89 90
            return null;
90 91
        }
91
        QName name = parser.getName();
92
        String qname = null;
93
        if(name != null){
94
            String prefix = name.getPrefix();
95
            String localName = name.getLocalPart();
96
            if(XMLConstants.DEFAULT_NS_PREFIX.equals(prefix)){
97
                qname = localName;
98
            }else{
99
                qname = prefix + ":" + localName;
100
            }
101
        }
102
        return qname;
92
//        QName name = parser.getName();
93
//        String qname = null;
94
//        if(name != null){
95
//            String prefix = name.getPrefix();
96
//            String localName = name.getLocalPart();
97
//            if(XMLConstants.DEFAULT_NS_PREFIX.equals(prefix)){
98
//                qname = localName;
99
//            }else{
100
//                qname = prefix + ":" + localName;
101
//            }
102
//        }
103
        return parser.getName();
103 104
    }
104 105

  
105 106
    public String getText() throws XmlStreamException {
trunk/libraries/libGPE-XML/src/org/gvsig/gpe/xml/stream/IXmlStreamReader.java
48 48

  
49 49
import java.io.InputStream;
50 50

  
51
import javax.xml.namespace.QName;
52

  
51 53
import org.gvsig.gpe.parser.IGPEContentHandler;
52 54

  
53 55
/**
......
182 184
     */
183 185
    int getAttributeCount() throws XmlStreamException;
184 186

  
185
    String getAttributeName(int i) throws XmlStreamException;
187
    QName getAttributeName(int i) throws XmlStreamException;
186 188

  
187 189
    String getAttributeValue(int i) throws XmlStreamException;
188 190

  
......
193 195
     *         <code>null</code> if the current event is not a START_ELEMENT or END_ELEMENT.
194 196
     * @throws XmlStreamException
195 197
     */
196
    String getName() throws XmlStreamException;
198
    QName getName() throws XmlStreamException;
197 199

  
198 200
    int getEventType() throws XmlStreamException;
199 201

  
trunk/libraries/libGPE-XML/src/org/gvsig/gpe/xml/parser/GPEXmlSchemaDocument.java
7 7
import java.net.URL;
8 8
import java.util.StringTokenizer;
9 9

  
10
import javax.xml.namespace.QName;
11

  
10 12
import org.gvsig.gpe.GPEDefaults;
11 13
import org.gvsig.gpe.parser.GPEErrorHandler;
12 14
import org.gvsig.gpe.xml.stream.IXmlStreamReader;
......
103 105
			parser.next();
104 106
		}
105 107
		for (int i = 0 ; i < parser.getAttributeCount() ; i++){
106
			String attName = parser.getAttributeName(i);
108
			QName attName = parser.getAttributeName(i);
107 109
			String attValue = parser.getAttributeValue(i);
108 110
								
109 111
			//it splits the attributes names at the both sides from ":"
110 112
			//String[] ns = attName.split(":");
111
			String[] ns = org.gvsig.gpe.utils.StringUtils.splitString(attName,":");
113
			String[] ns = org.gvsig.gpe.utils.StringUtils.splitString(attName.getLocalPart(),":");
112 114
			
113 115
			//if is the targetNamespace declaration
114 116
			if ((ns.length == 1) && (ns[0].compareTo(XMLTags.XML_NAMESPACE)==0)){
trunk/libraries/libGPE-XML/src/org/gvsig/gpe/xml/utils/CompareUtils.java
2 2

  
3 3
import java.text.Collator;
4 4

  
5
import javax.xml.namespace.QName;
6

  
5 7
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
6 8
 *
7 9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
......
65 67
	 * @param tagName
66 68
	 * Tag name to compare without namespace
67 69
	 */
68
	public static boolean compareWithOutNamespace(String value, String tagName){		
70
	public static boolean compareWithOutNamespace(QName value, QName tagName){		
69 71
		//THE TAG MUST BE DIFFERENT FROM NULL :P
70 72
		if (value!=null){
71
			value = value.substring(value.indexOf(":") + 1, value.length());
72
			return compareWithNamespace(value, tagName);
73
			return (value.getLocalPart().equals(tagName.getLocalPart()));			
73 74
		}
74 75
		return false;
75 76
	}
......
81 82
	 * @param tagName
82 83
	 * Tag name to compare namespace
83 84
	 */
84
	public static boolean compareWithNamespace(String value, String tagName){	
85
	public static boolean compareWithNamespace(QName value, QName tagName){	
85 86
		if (value != null){
86
			if(value.compareTo(tagName) == 0) 
87
			if(value.equals(tagName)) {
87 88
				return true;
88
			else{
89
				//if we want to compare two tags with match case. We need Collator PRIMARY  
90
				Collator comparador = Collator.getInstance();
91
				comparador.setStrength(Collator.PRIMARY);
92
				// To skip a type error but the tag is equal. 
93
				if(comparador.compare(value, tagName) == 0)
94
					//WARNING HERE WITH AN ADVICE THAT THERE ARE A MISSPRINT
95
					return true;
96
				else 
97
					return false;
98 89
			}
99 90
		}
100
		else
101
			return false;
91
		return false;
92
//			else{
93
//				//if we want to compare two tags with match case. We need Collator PRIMARY  
94
//				Collator comparador = Collator.getInstance();
95
//				comparador.setStrength(Collator.PRIMARY);
96
//				// To skip a type error but the tag is equal. 
97
//				if(comparador.compare(value, tagName) == 0)
98
//					//WARNING HERE WITH AN ADVICE THAT THERE ARE A MISSPRINT
99
//					return true;
100
//				else 
101
//					return false;
102
//			}
103
//		}
104
//		else
105
//			return false;
102 106
	}
103 107
}
104 108

  

Also available in: Unified diff