/*
*
* * Copyright (C) 2012 Ignacio Gonzalez Sainz
* *
* * Holy Week Guide: An android application with the itineraries, images and all information of the brotherhoods Spain's holy week
* *
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
* * You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
* *
* * Ignacio Gonzalez Sainz
* * Cádiz (Spain)
* * ignacio.glez.s@gmail.com
* *
*
*/
package com.ignaciogs.semanasanta.map;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class NavigationSaxHandler extends DefaultHandler {
// ===========================================================
// Fields
// ===========================================================
private boolean in_coordinatestag = false;
private boolean inLineString = false;
private StringBuffer buffer;
// ===========================================================
// Getter & Setter
// ===========================================================
public String getParsedData() {
return buffer.toString().trim();
}
// ===========================================================
// Methods
// ===========================================================
@Override
public void startDocument() throws SAXException {
}
@Override
public void endDocument() throws SAXException {
// Nothing to do
}
@Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
if (localName.equals("LineString")) {
inLineString = true;
} else if (localName.equals("coordinates") && inLineString) {
buffer = new StringBuffer();
this.in_coordinatestag = true;
}
}
@Override
public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
if (localName.equals("coordinates")) {
this.in_coordinatestag = false;
} else if (localName.equals("LineString")) {
inLineString = false;
}
}
@Override
public void characters(char ch[], int start, int length) {
if(this.in_coordinatestag && inLineString){
buffer.append(ch, start, length);
}
}
}