Skip to content

Latest commit

 

History

History
 
 

IS24-XML

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenEstate-IO-IS24-XML 1.5

OpenEstate-IO-IS24-XML is a Java library to read and write real estate data in the IS24-XML format (revision 189438), that was used by immobilienscout24.de until 2014.

Warning

IS24-XML is outdated and not used by immobilienscout24.de anymore. We're still supporting this format for compatibility with older real estate software.

IS24-XML was replaced by a REST webservice in 2014. You can access this webservice from your Java application with OpenEstate-IS24-REST.

Features

How to use

Download the latest release from GitHub. The provided archive contains all required files (compiled libraries, dependencies, source code and documentations).

Alternatively you can integrate the library from Maven Central Repository into your Maven project. Just add the following dependency to your projects pom.xml:

<dependency>
  <groupId>org.openestate.io</groupId>
  <artifactId>OpenEstate-IO-IS24-XML</artifactId>
  <version>1.5</version>
</dependency>

You can find further information in the project wiki. Some example classes for this format are available in the Examples module.

Specifications

The specifications for this format are placed in the specs folder.

Modifications to the original specification

In order to improve the generated Java classes, we've made the following modifications to the original is24immotransfer.xsd:

  • replaced

    <xs:element name="Anbieter">
      <xs:complexType>
        <xs:complexContent>
          <xs:extension base="AnbieterTyp">
            <xs:sequence>
              <xs:choice maxOccurs="unbounded">
                <xs:element ref="VirtuelleImmobilie" minOccurs="0"/>
                <xs:element ref="Immobilie" minOccurs="0"/>
              </xs:choice>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
    </xs:element>

    with

    <xs:element name="Anbieter">
      <xs:complexType>
        <xs:complexContent>
          <xs:extension base="AnbieterTyp">
            <xs:sequence>
              <xs:element ref="VirtuelleImmobilie" minOccurs="0" maxOccurs="unbounded"/>
              <xs:element ref="Immobilie" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
    </xs:element>

Dependencies

Notes about JDK versions below 11

JAXB is bundled with JDK 8, was disabled / deprecated in JDK 9 & 10 and finally removed in JDK 11. Therefore, we're providing JAXB as an explicit dependency. See also "JAXB on Java 9, 10, 11 and beyond".

It is recommended to use this library with JDK 11 as it should work out of the box. In case you're using JDK 8, you might need to follow one of these steps documented at "JAXB Release Documentation":

JavaSE comes with JAXB 2.x API/implementation in rt.jar. Each version of JavaSE (6, 7, 8, ...) contains different version of JAXB 2.x API. Therefore, if you want to use different version of JAXB API/implementation than the one present in your version of JDK, you are required to override a portion of rt.jar with the new API. There are several ways to achieve this:

  1. Place the jakarta.xml.bind-api-X.Y.Z.jar into $JRE_HOME/lib/endorsed. Do not put other JAXB jars into the endorsed directory. This essentially makes your JRE to "JRE X + JAXB 2.y". This would affect any other applications that use this JRE, and it's easy. On the other hand, in various scenarios you may not be able to alter the JRE.

  2. Use the system property java.endorsed.dirs when you launch your application, and have it point to the directory which contains the jakarta.xml.bind-api-X.Y.Z.jar only. The directory must not contain any other jaxb artifacts. This allows you to use different version of JAXB for different applications.

See the endorsed directory mechanism for more details.

All provided dependencies should work with JDK 8. If compatibility problems occur, you might replace them with an earlier version.

Changelog

Take a look at CHANGELOG.md for the full changelog.

License

This library is licensed under the terms of Apache License, Version 2.0. Take a look at LICENSE.txt for the license text.

Further information