What you will probably need to do is create an intermediate schema with two record types and two maps. The first map is shown below.
This results in the below XML.
<ElementList>
<ElementRoot>
<ID>1</ID>
<Name>test1</Name>
</ElementRoot>
<ElementRoot>
<ID>2</ID>
<Name>test2</Name>
</ElementRoot>
<Element>
<ID>10</ID>
<SuperID>1</SuperID>
<Name>test10</Name>
</Element>
<Element>
<ID>20</ID>
<SuperID>1</SuperID>
<Name>test20</Name>
</Element>
<Element>
<ID>30</ID>
<SuperID>2</SuperID>
<Name>test30</Name>
</Element>
<Element>
<ID>40</ID>
<SuperID>2</SuperID>
<Name>test40</Name>
</Element>
</ElementList>
Then this is easily mapped
Resulting in
<ElementList>
<Element>
<ID>1</ID>
<Name>test1</Name>
</Element>
<Element>
<ID>2</ID>
<Name>test2</Name>
</Element>
<Element>
<ID>10</ID>
<SuperID>1</SuperID>
<Name>test10</Name>
</Element>
<Element>
<ID>20</ID>
<SuperID>1</SuperID>
<Name>test20</Name>
</Element>
<Element>
<ID>30</ID>
<SuperID>2</SuperID>
<Name>test30</Name>
</Element>
<Element>
<ID>40</ID>
<SuperID>2</SuperID>
<Name>test40</Name>
</Element>
</ElementList>
Note: The other option would of course be to do it via Custom XSLT.