package jeql.command.io.kml;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import jeql.command.io.xml.XMLParseUtil;
public class DocumentParser {
private XMLStreamReader xmlRdr;
private String[] stopSet = new String[] { "Style", "Folder", "Placemark" };
public DocumentParser(XMLStreamReader xmlRdr) {
this.xmlRdr = xmlRdr;
}
public void parse(DocumentModel model)
throws XMLStreamException
{
while (xmlRdr.hasNext()) {
int event = xmlRdr.getEventType();
if (event == XMLStreamConstants.START_ELEMENT) {
String locName = xmlRdr.getLocalName();
if (locName.equals("name")) {
model.setName(XMLParseUtil.parseValue(xmlRdr)); //, "name"));
}
else if (locName.equals("description")) {
model.setDescription(XMLParseUtil.parseValue(xmlRdr));
}
else if (XMLParseUtil.matches(locName, stopSet))
return;
}
if (! xmlRdr.hasNext())
return;
xmlRdr.next();
}
}
}