OpenIDM has the ability to use XML files as external resources but unfortunately the OpenICF XML Connector is unable to handle child tags as following :

<identity>
    <firstname>John</firstname>
    <lastname>Smith</lastname>
    <address>
        <zipcode>1000</zipcode>
        <street>1rst street</street>
        <city>Simcity</city>
    </address>
</identity>
<identity>...</identity>
<identity>...</identity>

In other words, you can't have nested attributes in OpenIDM . Obviously, the first solution we could think of is to manipulate the whole address content as a single string value but it wouldn't work, because OpenIDM will automatically escape any special character (<, /, >...). So, a workaround could be building the XML file in two steps :

- We start concatenating, in OpenIDM, the child values before storing the obtained string under the parent tag and generate the XML file :

<identity>
    <firstname>John</firstname>
    <lastname>Smith</lastname>
    <address>1000-1rst street-Simcity</address>
</identity>
<identity>...</identity>
<identity>...</identity>

- And then, we simply write a little script in our favorite language to parse the concatenated values and construct the child tags.

Meanwhile, we hope that this lack will be fixed soon.