tags:

views:

20

answers:

0

Hi, I am trying to convert an XML into another desired format XML through XSL. However, I am not able to apply any proper logic to get that. Please llok into it and suggest something-

Input XML-

<feed xmlns:es="http://ucmservice"&gt;
 <element>
<es:RepositoryDetails>
    <es:Repository Type="DatabaseRepository" />
        <es:ConnetionDetails>
        <es:Param MigrationSetId="439" />
    </es:ConnetionDetails>
</es:RepositoryDetails>
<es:DocProperties>
    <es:UniqueDocId Value="_1_15">
            <es:DocProperty propertyName="EmployeeName">
                <es:PropValues>
                  <es:PropValue>Index</es:PropValue>
                </es:PropValues>
            </es:DocProperty>
            <es:DocProperty propertyName="EmployeeAddress">" +
                      <es:PropValues>
                        <es:PropValue>Gurgaon</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
                <es:DocProperty propertyName="Salary">
                      <es:PropValues>
                        <es:PropValue>15000</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
        </es:UniqueDocId>
    </es:DocProperties>
</element>

<element>
<es:RepositoryDetails>
    <es:Repository Type="DatabaseRepository" />
        <es:ConnetionDetails>
        <es:Param MigrationSetId="439" />
    </es:ConnetionDetails>
</es:RepositoryDetails>
<es:DocProperties>
    <es:UniqueDocId Value="_1_15">
            <es:DocProperty propertyName="EmployeeName">
                <es:PropValues>
                  <es:PropValue>Index1</es:PropValue>
                </es:PropValues>
            </es:DocProperty>
            <es:DocProperty propertyName="EmployeeAddress">" +
                      <es:PropValues>
                        <es:PropValue>Delhi</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
                <es:DocProperty propertyName="Salary">
                      <es:PropValues>
                        <es:PropValue>25000</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
        </es:UniqueDocId>
    </es:DocProperties>
</element>

<element>
<es:RepositoryDetails>
    <es:Repository Type="Trim" />
        <es:ConnetionDetails>
        <es:Param MigrationSetId="439" />
    </es:ConnetionDetails>
</es:RepositoryDetails>
<es:DocProperties>
    <es:UniqueDocId Value="_1_15">
            <es:DocProperty propertyName="EmployeeName">
                <es:PropValues>
                  <es:PropValue>Quality</es:PropValue>
                </es:PropValues>
            </es:DocProperty>
            <es:DocProperty propertyName="EmployeeAddress">" +
                      <es:PropValues>
                        <es:PropValue>Mumbai</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
                <es:DocProperty propertyName="Salary">
                      <es:PropValues>
                        <es:PropValue>20000</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
        </es:UniqueDocId>
    </es:DocProperties>
</element>

<element>
<es:RepositoryDetails>
    <es:Repository Type="DatabaseRepository" />
        <es:ConnetionDetails>
        <es:Param MigrationSetId="439" />
    </es:ConnetionDetails>
</es:RepositoryDetails>
<es:DocProperties>
    <es:UniqueDocId Value="_1_15">
            <es:DocProperty propertyName="EmployeeName">
                <es:PropValues>
                  <es:PropValue>Index</es:PropValue>
                </es:PropValues>
            </es:DocProperty>
            <es:DocProperty propertyName="EmployeeAddress">" +
                      <es:PropValues>
                        <es:PropValue>Gurgaon</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
                <es:DocProperty propertyName="Salary">
                      <es:PropValues>
                        <es:PropValue>21000</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
        </es:UniqueDocId>
    </es:DocProperties>
</element>


<element>
<es:RepositoryDetails>
    <es:Repository Type="Trim" />
        <es:ConnetionDetails>
        <es:Param MigrationSetId="439" />
    </es:ConnetionDetails>
</es:RepositoryDetails>
<es:DocProperties>
    <es:UniqueDocId Value="_1_15">
            <es:DocProperty propertyName="EmployeeName">
                <es:PropValues>
                  <es:PropValue>Index1</es:PropValue>
                </es:PropValues>
            </es:DocProperty>
            <es:DocProperty propertyName="EmployeeAddress">" +
                      <es:PropValues>
                        <es:PropValue>Gurgaon</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
                <es:DocProperty propertyName="Salary">
                      <es:PropValues>
                        <es:PropValue>15000</es:PropValue>
                      </es:PropValues>
                </es:DocProperty>
        </es:UniqueDocId>
    </es:DocProperties>
</element>
</feed>

the XSL I am trying is giving me output as-

<tree>
<item level="0" name="DatabaseRepository">
    <item level="1" name="Index">
        <item level="2" name="Gurgaon"/>
    </item>
</item>
<item level="0" name="DatabaseRepository">
    <item level="1" name="Index">       
        <item level="2" name="Mumbai"/>
    </item>
</item>
<item level="0" name="DatabaseRepository">
    <item level="1" name="Index1">
        <item level="2" name="Delhi"/>
    </item>
</item>
<item level="0" name="Trim">
    <item level="1" name="Quality">
        <item level="0" name="Mumbai"/>
    </item>
</item>
<item level="0" name="Trim">
    <item level="1" name="Index1">
        <item level="0" name="Gurgaon"/>
    </item>
</item>
  </tree>

However the required Output XML is-

<tree>
<item level="0" name="DatabaseRepository">
    <item level="1" name="Index">
        <item level="2" name="Gurgaon"/>
        <item level="2" name="Mumbai"/>
    </item>
    <item level="1" name="Index1">
        <item level="2" name="Delhi"/>
    </item>
</item>
<item level="0" name="Trim">
    <item level="1" name="Quality">
        <item level="0" name="Mumbai"/>
                        </item>
    <item level="1" name="Index1">
        <item level="0" name="Gurgaon"/>
    </item>
</item>
</tree>

Please assist.