I have some XML Files with following flat structure:
<managedObject class="MGW" version="U5.0EP2" distName="PLMN-PLMN/MGW-219454" id="192614000001726941">
<list name="mgwOptions">
<p>M3UA Interface (No 50035)</p>
</list>
<p name="name">MGW_A</p>
</managedObject>
<managedObject class="ATM" version="U5.0EP2" distName="PLMN-PLMN/MGW-219454/ATM-1" id="192614000003145148">
<p name="lastSuccessfulUploadTimeStamp">21/07/15 01:32:40</p>
</managedObject>
<managedObject class="IFPG" version="A10TOP" distName="PLMN-PLMN/MGW-219454/ATM-1/IFPG-0" id="192614000003415034">
<p name="prSectionSdhExchangeTerminalIndex">1</p>
<p name="protectionSwitchingMode">REV</p>
<p name="protocolVariant">MSP</p>
<p name="switchingDirection">WO</p>
<p name="waitToRestoreTime">300</p>
<p name="woSectionSdhExchangeTerminalIndex">0</p>
</managedObject>
<managedObject class="IFPG" version="A10TOP" distName="PLMN-PLMN/MGW-219454/ATM-1/IFPG-1" id="192614000003415035">
<p name="prSectionSdhExchangeTerminalIndex">3</p>
<p name="protectionSwitchingMode">REV</p>
<p name="protocolVariant">MSP</p>
<p name="switchingDirection">WO</p>
<p name="waitToRestoreTime">300</p>
<p name="woSectionSdhExchangeTerminalIndex">2</p>
</managedObject>
I want to transform with XSL in a more treelike structure according to the distName and class attributes of managedObjects elements. Something like:
<?xml version="1.0"?>
<managedObject class="MGW" version="U5.0EP2" distName="PLMN-PLMN/MGW-219454" id="192614000001726941">
<list name="mgwOptions">
<p>M3UA Interface (No 50035)</p>
</list>
<p name="name">MGW_A</p>
<managedObject class="ATM" version="U5.0EP2" distName="PLMN-PLMN/MGW-219454/ATM-1" id="192614000003145148">
<p name="lastSuccessfulUploadTimeStamp">21/07/15 01:32:40</p>
<managedObject class="IFPG" version="A10TOP" distName="PLMN-PLMN/MGW-219454/ATM-1/IFPG-0" id="192614000003415034">
<p name="prSectionSdhExchangeTerminalIndex">1</p>
<p name="protectionSwitchingMode">REV</p>
<p name="protocolVariant">MSP</p>
<p name="switchingDirection">WO</p>
<p name="waitToRestoreTime">300</p>
<p name="woSectionSdhExchangeTerminalIndex">0</p>
</managedObject>
<managedObject class="IFPG" version="A10TOP" distName="PLMN-PLMN/MGW-219454/ATM-1/IFPG-1" id="192614000003415035">
<p name="prSectionSdhExchangeTerminalIndex">3</p>
<p name="protectionSwitchingMode">REV</p>
<p name="protocolVariant">MSP</p>
<p name="switchingDirection">WO</p>
<p name="waitToRestoreTime">300</p>
<p name="woSectionSdhExchangeTerminalIndex">2</p>
</managedObject>
</managedObject>
</managedObject>
Is something like that generical and simple solveable? my files consists of approxemately 100,000 managed objects which have a different class and different distName paths.