Revision 53 branches/v1_9_0/libGPE-GML/src/org/gvsig/gpe/gml/parser/v2/features/FeatureMembersTypeBinding.java
FeatureMembersTypeBinding.java | ||
---|---|---|
34 | 34 |
import org.gvsig.gpe.gml.parser.GPEDefaultGmlParser; |
35 | 35 |
import org.gvsig.gpe.gml.utils.GMLObject; |
36 | 36 |
import org.gvsig.gpe.gml.utils.GMLTags; |
37 |
import org.gvsig.gpe.xml.stream.EventType; |
|
37 | 38 |
import org.gvsig.gpe.xml.stream.IXmlStreamReader; |
38 | 39 |
import org.gvsig.gpe.xml.stream.XmlStreamException; |
39 | 40 |
import org.gvsig.gpe.xml.utils.CompareUtils; |
... | ... | |
53 | 54 |
* @throws IOException |
54 | 55 |
*/ |
55 | 56 |
public void parse(IXmlStreamReader parser,GPEDefaultGmlParser handler, Object layer) throws XmlStreamException, IOException { |
57 |
|
|
58 |
parser.require(EventType.START_ELEMENT, GMLTags.GML_FEATUREMEMBERS); |
|
59 |
|
|
56 | 60 |
boolean endFeatureMembers = false; |
57 |
int currentTag;
|
|
61 |
EventType currentTag;
|
|
58 | 62 |
|
59 |
QName tag = parser.getName(); |
|
63 |
QName tag = parser.getElementName();
|
|
60 | 64 |
currentTag = parser.getEventType(); |
61 | 65 |
|
62 | 66 |
while (!endFeatureMembers){ |
63 |
switch(currentTag){ |
|
64 |
case IXmlStreamReader.START_ELEMENT:
|
|
67 |
switch(currentTag.getCode()){
|
|
68 |
case EventType.START_ELEMENT_CODE:
|
|
65 | 69 |
if (!CompareUtils.compareWithNamespace(tag, GMLTags.GML_FEATUREMEMBERS)){ |
66 | 70 |
GMLObject object = (GMLObject)handler.getProfile().getFeatureTypeBinding().parse(parser, handler); |
67 | 71 |
if (object != null){ |
... | ... | |
69 | 73 |
} |
70 | 74 |
} |
71 | 75 |
break; |
72 |
case IXmlStreamReader.END_ELEMENT:
|
|
76 |
case EventType.END_ELEMENT_CODE:
|
|
73 | 77 |
if (CompareUtils.compareWithNamespace(tag,GMLTags.GML_FEATUREMEMBERS)){ |
74 | 78 |
endFeatureMembers = true; |
75 | 79 |
} |
76 | 80 |
break; |
77 |
case IXmlStreamReader.CHARACTERS: |
|
78 |
|
|
79 |
break; |
|
80 | 81 |
} |
81 | 82 |
if (!endFeatureMembers){ |
82 |
currentTag = parser.next(); |
|
83 |
tag = parser.getName(); |
|
83 |
currentTag = parser.nextTag();
|
|
84 |
tag = parser.getElementName();
|
|
84 | 85 |
} |
85 | 86 |
} |
86 | 87 |
} |
Also available in: Unified diff