Ignore:
Timestamp:
2018-11-04T20:51:19+01:00 (5 years ago)
Author:
wiktorn
Message:

Skip unkown tags in WMS Getcapabilities

In Layer definition, if there is any other tag than ones that are interpreted,
move to the end of the tag, as it may be complex tag and affect further parsing.

Closes: #16940

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java

    r14367 r14411  
    461461                if (tagEquals(QN_NAME, reader.getName())) {
    462462                    ret.setName(reader.getElementText());
    463                 }
    464                 if (tagEquals(QN_ABSTRACT, reader.getName())) {
     463                } else if (tagEquals(QN_ABSTRACT, reader.getName())) {
    465464                    ret.setAbstract(GetCapabilitiesParseHelper.getElementTextWithSubtags(reader));
    466                 }
    467                 if (tagEquals(QN_TITLE, reader.getName())) {
     465                } else if (tagEquals(QN_TITLE, reader.getName())) {
    468466                    ret.setTitle(reader.getElementText());
    469                 }
    470                 if (tagEquals(QN_CRS, reader.getName())) {
     467                } else if (tagEquals(QN_CRS, reader.getName())) {
    471468                    ret.addCrs(reader.getElementText());
    472                 }
    473                 if (tagEquals(QN_SRS, reader.getName()) && belowWMS130()) {
     469                } else if (tagEquals(QN_SRS, reader.getName()) && belowWMS130()) {
    474470                    ret.addCrs(reader.getElementText());
    475                 }
    476                 if (tagEquals(QN_STYLE, reader.getName())) {
     471                } else if (tagEquals(QN_STYLE, reader.getName())) {
    477472                    parseAndAddStyle(reader, ret);
    478                 }
    479                 if (tagEquals(QN_LAYER, reader.getName())) {
     473                } else if (tagEquals(QN_LAYER, reader.getName())) {
    480474                    parseLayer(reader, ret);
    481                 }
    482                 if (tagEquals(QN_EX_GEOGRAPHIC_BBOX, reader.getName()) && ret.getBounds() == null) {
     475                } else if (tagEquals(QN_EX_GEOGRAPHIC_BBOX, reader.getName()) && ret.getBounds() == null) {
    483476                    ret.setBounds(parseExGeographic(reader));
    484                 }
    485                 if (tagEquals(QN_BOUNDINGBOX, reader.getName())) {
     477                } else if (tagEquals(QN_BOUNDINGBOX, reader.getName())) {
    486478                    Projection conv;
    487479                    if (belowWMS130()) {
     
    493485                        ret.setBounds(parseBoundingBox(reader, conv));
    494486                    }
    495                 }
    496                 if (tagEquals(QN_LATLONBOUNDINGBOX, reader.getName()) && belowWMS130() && ret.getBounds() == null) {
     487                } else if (tagEquals(QN_LATLONBOUNDINGBOX, reader.getName()) && belowWMS130() && ret.getBounds() == null) {
    497488                    ret.setBounds(parseBoundingBox(reader, null));
     489                } else {
     490                    // unknown tag, move to its end as it may have child elements
     491                    GetCapabilitiesParseHelper.moveReaderToEndCurrentTag(reader);
    498492                }
    499493            }
Note: See TracChangeset for help on using the changeset viewer.