XML mapping and importing

0
Hello, I've just started using Mendix and want to make a Database of persons from an exsisting XML file. I have tried to follow the tutorial and managed to make a (correct?) XMLtoDomain_Mapping. My problem is that in the old database every person consists of 2 (sperate??) entity's. In my case 'Contact' and 'Personalia' so I made 2 entities in my domain model en linked their attributes with the attributes of the XSD file I managed to create from the XML file. I want to know how my UMLDomainModel should look like so that 1 person consists of a Contact-tab and a Personalia-tab which are unique for that one person. Note that both Contact and Personalia wear an identical attribute (ID) so they can be linked. After that I wonder how to get my microflow to import the XML File I have. XSD: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeformdefault="unqualified" elementformdefault="qualified" version="1.0"> <xsd:element name="joepie"> <xsd:complextype> <xsd:sequence> <xsd:element maxoccurs="unbounded" name="fis_contact"> <xsd:complextype> <xsd:sequence> <xsd:element name="ID" type="xsd:int"/> <xsd:element name="straat" type="xsd:string"/> <xsd:element name="postcode" type="xsd:string"/> <xsd:element name="plaats" type="xsd:string"/> <xsd:element name="land" type="xsd:string"/> <xsd:element name="telnr" type="xsd:string"/> <xsd:element name="gsmnr" type="xsd:int"/> <xsd:element name="email" type="xsd:string"/> <xsd:element name="skype" type="xsd:string"/> <xsd:element name="gtalk" type="xsd:string"/> <xsd:element name="voipbuster" type="xsd:string"/> <xsd:element name="msn" type="xsd:string"/> <xsd:element name="homepage" type="xsd:string"/> <xsd:element name="overig" type="xsd:string"/> <xsd:element name="lat" type="xsd:decimal"/> <xsd:element name="lng" type="xsd:decimal"/> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element maxoccurs="unbounded" name="fis_personalia"> <xsd:complextype> <xsd:sequence> <xsd:element name="ID" type="xsd:int"/> <xsd:element name="titelsvoor" type="xsd:string"/> <xsd:element name="voorletters" type="xsd:string"/> <xsd:element name="roepnaam" type="xsd:string"/> <xsd:element name="tussenvoegsels" type="xsd:string"/> <xsd:element name="achternaam" type="xsd:string"/> <xsd:element name="titelsachter" type="xsd:string"/> <xsd:element name="geb_datum" type="xsd:dateTime"/> <xsd:element name="ovl_datum" type="xsd:string"/> <xsd:element name="foto" type="xsd:string"/> <xsd:element name="status" type="xsd:int"/> <xsd:element name="verenigingsjaar" type="xsd:int"/> <xsd:element name="member" type="xsd:string"/> <xsd:element name="fellow" type="xsd:string"/> <xsd:element name="flickrtag" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema>
asked
2 answers
1

If you want to link the two entities, you need to use the "find by microflow" option for at least one of the entities. In this microflow, you can search for the other entity and set the relationship.

The two elements are at the same level in the xml structure, so you can't set the relationship directly in the mapping.

As to your other question (how do I import the xml file in a microflow), you need to upload the xml file as a FileDocument first. Then, you can import it in a microflow by using the "Import XML" activity.

answered
0

My XSD:

<xsd:schema attributeformdefault="unqualified" elementformdefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="joepie"> <xsd:complextype> <xsd:sequence> <xsd:element maxoccurs="unbounded" name="fis_contact"> <xsd:complextype> <xsd:sequence> <xsd:element name="ID" type="xsd:int"/> <xsd:element name="straat" type="xsd:string"/> <xsd:element name="postcode" type="xsd:string"/> <xsd:element name="plaats" type="xsd:string"/> <xsd:element name="land" type="xsd:string"/> <xsd:element name="telnr" type="xsd:string"/> <xsd:element name="gsmnr" type="xsd:int"/> <xsd:element name="email" type="xsd:string"/> <xsd:element name="skype" type="xsd:string"/> <xsd:element name="gtalk" type="xsd:string"/> <xsd:element name="voipbuster" type="xsd:string"/> <xsd:element name="msn" type="xsd:string"/> <xsd:element name="homepage" type="xsd:string"/> <xsd:element name="overig" type="xsd:string"/> <xsd:element name="lat" type="xsd:decimal"/> <xsd:element name="lng" type="xsd:decimal"/> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element maxoccurs="unbounded" name="fis_personalia"> <xsd:complextype> <xsd:sequence> <xsd:element name="ID" type="xsd:int"/> <xsd:element name="titelsvoor" type="xsd:string"/> <xsd:element name="voorletters" type="xsd:string"/> <xsd:element name="roepnaam" type="xsd:string"/> <xsd:element name="tussenvoegsels" type="xsd:string"/> <xsd:element name="achternaam" type="xsd:string"/> <xsd:element name="titelsachter" type="xsd:string"/> <xsd:element name="geb_datum" type="xsd:dateTime"/> <xsd:element name="ovl_datum" type="xsd:string"/> <xsd:element name="foto" type="xsd:string"/> <xsd:element name="status" type="xsd:int"/> <xsd:element name="verenigingsjaar" type="xsd:int"/> <xsd:element name="member" type="xsd:string"/> <xsd:element name="fellow" type="xsd:string"/> <xsd:element name="flickrtag" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema>

answered