Revision 19951
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