Kyero/src/main/java/org/openestate/io/kyero/converters/Kyero_3.java
protected void downgradeNewBuildElements(Document doc) throws JaxenException {
        List nodes = XmlUtils.newXPath(
                "/io:root/io:property/io:new_build",
                doc).selectNodes(doc);
        for (Object item : nodes) {
            Element node = (Element) item;
            Element parentNode = (Element) node.getParentNode();
            String value = StringUtils.trimToNull(node.getTextContent());
            if ("1".equals(value)) {
                Element priceFreqNode = (Element) XmlUtils.newXPath("io:price_freq", doc)
                        .selectSingleNode(parentNode);
                if (priceFreqNode == null) {
                    priceFreqNode = doc.createElementNS(KyeroUtils.NAMESPACE, "price_freq");
                    priceFreqNode.setTextContent("new_build");
                    parentNode.appendChild(priceFreqNode);
                } else if ("sale".equalsIgnoreCase(priceFreqNode.getTextContent())) {
                    priceFreqNode.setTextContent("new_build");
                }
            }
            parentNode.removeChild(node);
        }
    }
protected void downgradeNewBuildElements(Document doc) throws JaxenException {
        List nodes = XmlUtils.newXPath(
                "/io:root/io:property/io:new_build",
                doc).selectNodes(doc);
        for (Object item : nodes) {
            Element node = (Element) item;
            Element parentNode = (Element) node.getParentNode();
            String value = StringUtils.trimToNull(node.getTextContent());
            if ("1".equals(value)) {
                Element priceFreqNode = (Element) XmlUtils.newXPath("io:price_freq", doc)
                        .selectSingleNode(parentNode);
                if (priceFreqNode == null) {
                    priceFreqNode = doc.createElementNS(KyeroUtils.NAMESPACE, "price_freq");
                    priceFreqNode.setTextContent("new_build");
                    parentNode.appendChild(priceFreqNode);
                } else if ("sale".equalsIgnoreCase(priceFreqNode.getTextContent())) {
                    priceFreqNode.setTextContent("new_build");
                }
            }
            parentNode.removeChild(node);
        }
    }
protected void downgradeNewBuildElements ( Document doc ) throws JaxenException { List nodes = XmlUtils . newXPath ( "/io:root/io:property/io:new_build" , doc ) . selectNodes ( doc ) ; for ( Object item : nodes ) { Element node = ( Element ) item ; Element parentNode = ( Element ) node . getParentNode ( ) ; String value = StringUtils . trimToNull ( node . getTextContent ( ) ) ; if ( "1" . equals ( value ) ) { Element priceFreqNode = ( Element ) XmlUtils . newXPath ( "io:price_freq" , doc ) . selectSingleNode ( parentNode ) ; if ( priceFreqNode == null ) { priceFreqNode = doc . createElementNS ( KyeroUtils . NAMESPACE , "price_freq" ) ; priceFreqNode . setTextContent ( "new_build" ) ; parentNode . appendChild ( priceFreqNode ) ; } else if ( "sale" . equalsIgnoreCase ( priceFreqNode . getTextContent ( ) ) ) { priceFreqNode . setTextContent ( "new_build" ) ; } } parentNode . removeChild ( node ) ; } }
Downgrade &lt;new_build&gt; elements to Kyero 2.1.
<p>
The &lt;new_build&gt; elements are not available in version 2.1. Instead
the value "new_build" is used in the &lt;price_freq&gt; element.
<p>
Any &lt;new_build&gt; elements are removed. If its value is set to "1",
then &lt;price_freq&gt;sale&lt;/price_freq&gt; is converted to
&lt;price_freq&gt;new_build&lt;/price_freq&gt;,

@param doc Kyero document in version 3
@throws JaxenException if xpath evaluation failed
Downgrade &lt ; new_build&gt ; elements to Kyero 2 . 1 . <p > The &lt ; new_build&gt ; elements are not available in version 2 . 1 . Instead the value new_build is used in the &lt ; price_freq&gt ; element . <p > Any &lt ; new_build&gt ; elements are removed . If its value is set to 1 then &lt ; price_freq&gt ; sale&lt ; / price_freq&gt ; is converted to &lt ; price_freq&gt ; new_build&lt ; / price_freq&gt ;