OpenImmo/src/main/java/org/openestate/io/openimmo/converters/OpenImmo_1_2_4.java
protected void upgradeSonstigeElements(Document doc) throws JaxenException {
        List nodes = XmlUtils.newXPath(
                "/io:openimmo/io:anbieter/io:immobilie/io:objektkategorie/io:objektart/io:sonstige[@sonstige_typ]",
                doc).selectNodes(doc);
        for (Object item : nodes) {
            Element node = (Element) item;
            String value = StringUtils.trimToNull(node.getAttribute("sonstige_typ"));
            if ("GARAGEN".equalsIgnoreCase(value) || "PARKFLACHE".equalsIgnoreCase(value)) {
                Element parentNode = (Element) node.getParentNode();
                parentNode.removeChild(node);

                Element newNode = doc.createElementNS(StringUtils.EMPTY, "parken");
                newNode.setAttribute("parken_typ", "STELLPLATZ");
                parentNode.appendChild(newNode);
            }
        }
    }
protected void upgradeSonstigeElements(Document doc) throws JaxenException {
        List nodes = XmlUtils.newXPath(
                "/io:openimmo/io:anbieter/io:immobilie/io:objektkategorie/io:objektart/io:sonstige[@sonstige_typ]",
                doc).selectNodes(doc);
        for (Object item : nodes) {
            Element node = (Element) item;
            String value = StringUtils.trimToNull(node.getAttribute("sonstige_typ"));
            if ("GARAGEN".equalsIgnoreCase(value) || "PARKFLACHE".equalsIgnoreCase(value)) {
                Element parentNode = (Element) node.getParentNode();
                parentNode.removeChild(node);

                Element newNode = doc.createElementNS(StringUtils.EMPTY, "parken");
                newNode.setAttribute("parken_typ", "STELLPLATZ");
                parentNode.appendChild(newNode);
            }
        }
    }
Upgrade &lt;sonstige&gt; elements to OpenImmo 1.2.4.
<p>
The options "GARAGEN", "PARKFLACHE" for the "sonstige_typ" attribute of
&lt;sonstige&gt; elements were removed with OpenImmo 1.2.4.
<p>
For any occurence of these values the corresponding &lt;sonstige&gt;
element is replaced with a &lt;parken&gt; element.

@param doc OpenImmo document in version 1.2.3
@throws JaxenException if xpath evaluation failed