Ticket #1702: 0001-GPX-Import-Make-the-SAX-Parser-Factory-namespace-aw.patch

File 0001-GPX-Import-Make-the-SAX-Parser-Factory-namespace-aw.patch, 1.9 KB (added by anonymous, 11 years ago)
  • src/org/openstreetmap/josm/io/GpxReader.java

    From 354f6db3c43a7c8fddf82a3dc8e5b2c85cf05289 Mon Sep 17 00:00:00 2001
    From: Michel Marti <mcdmx@users.sf.net>
    Date: Mon, 3 Nov 2008 14:25:38 +0100
    Subject: [PATCH] GPX-Import: Make the SAX Parser Factory namespace aware.
    
    ---
     src/org/openstreetmap/josm/io/GpxReader.java |    9 +++++----
     1 files changed, 5 insertions(+), 4 deletions(-)
    
    diff --git a/src/org/openstreetmap/josm/io/GpxReader.java b/src/org/openstreetmap/josm/io/GpxReader.java
    index 6529672..e5ad95e 100644
    a b public class GpxReader { 
    7777                                parseCoord(atts.getValue("lon")));
    7878                }
    7979
    80                 @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
     80                @Override public void startElement(String namespaceURI, String qName, String rqName, Attributes atts) throws SAXException {
    8181                        switch(currentState) {
    8282                        case init:
    8383                                if (qName.equals("metadata")) {
    public class GpxReader { 
    180180                        }
    181181                }
    182182
    183                 @Override public void endElement(String namespaceURI, String localName, String qName) {
     183                @Override public void endElement(String namespaceURI, String qName, String rqName) {
    184184                        switch (currentState) {
    185185                        case metadata:
    186186                                if (qName.equals("name") || qName.equals("desc") ||
    public class GpxReader { 
    294294                Parser parser = new Parser();
    295295                InputSource inputSource = new InputSource(new InputStreamReader(source, "UTF-8"));
    296296                try {
    297                         SAXParserFactory.newInstance().newSAXParser().parse(inputSource, parser);
    298                         data.storageFile = relativeMarkerPath;
     297                        SAXParserFactory factory = SAXParserFactory.newInstance();
     298                        factory.setNamespaceAware(true);
     299                        factory.newSAXParser().parse(inputSource, parser);
    299300                } catch (ParserConfigurationException e) {
    300301                        e.printStackTrace(); // broken SAXException chaining
    301302                        throw new SAXException(e);