3

I have the below XML in place. Want to generate a EXCEL out of it by using XSLT. But I'm new to this and have no idea on how to generate a XLS from XML and how do use it for XSLT.

XML --

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mig:menu-compare xmlns:mig="http://www.com/migration/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www..com/migration">
    <mig:menu-info>
        <mig:menu type="one" name="HCOTA"/>
        <mig:menu type="two" name="RTACOF"/>
    </mig:menu-info>
    <mig:field-details>
        <mig:fields existence="one">
            <mig:field name="taChrgOffMsg.taChrgOffCrit.funcCode">
                <mig:field-type type="one">
                    <mig:group-name>cota</mig:group-name>
                    <mig:page-name>cotacrit</mig:page-name>
                    <mig:control-type>Combo Box</mig:control-type>
                    <mig:ui-field>funcCode</mig:ui-field>
                    <mig:label>FLT000204</mig:label>
                    <mig:mandatory>Y</mig:mandatory>
                </mig:field-type>
            </mig:field>
            <mig:field>
                <mig:field-type type="one">
                    <mig:group-name>cota</mig:group-name>
                    <mig:page-name>cotares</mig:page-name>
                    <mig:control-type>Button</mig:control-type>
                    <mig:ui-field>endMenu</mig:ui-field>
                    <mig:label></mig:label>
                    <mig:mandatory></mig:mandatory>
                </mig:field-type>
            </mig:field>
        </mig:fields>
        <mig:fields existence="both">
            <mig:field name="taChrgOffMsg.taChrgOffCrit.Acct.foracid">
                <mig:field-type type="one">
                    <mig:group-name>cota</mig:group-name>
                    <mig:page-name>cotacrit</mig:page-name>
                    <mig:control-type>Text Field</mig:control-type>
                    <mig:ui-field>acctId</mig:ui-field>
                    <mig:label>FLT000265</mig:label>
                    <mig:mandatory>Y</mig:mandatory>
                </mig:field-type>
                <mig:field-type type="two">
                    <mig:group-name>Rtacof</mig:group-name>
                    <mig:page-name>Rtacof_criteria_form</mig:page-name>
                    <mig:control-type>FinAccountId</mig:control-type>
                    <mig:ui-field>acctId$accountId</mig:ui-field>
                    <mig:label>FLT001251</mig:label>
                    <mig:mandatory>true</mig:mandatory>
                    <mig:section-structure>group1.section1.subSection1.finRow1.finCell1</mig:section-structure>
                </mig:field-type>
            </mig:field>
            <mig:field name="taChrgOffMsg.taChrgOffCrit.chargeOffType">
                <mig:field-type type="one">
                    <mig:group-name>cota</mig:group-name>
                    <mig:page-name>cotacrit</mig:page-name>
                    <mig:control-type>Radio Button</mig:control-type>
                    <mig:ui-field>chargeOffMode</mig:ui-field>
                    <mig:label>FLT0045</mig:label>
                    <mig:mandatory>Y</mig:mandatory>
                </mig:field-type>
                <mig:field-type type="two">
                    <mig:group-name>Rtacof</mig:group-name>
                    <mig:page-name>Rtacof_criteria_form</mig:page-name>
                    <mig:control-type>FinRadioButtonGroup</mig:control-type>
                    <mig:ui-field>chargeMode</mig:ui-field>
                    <mig:label>FLT003817</mig:label>
                    <mig:mandatory>false</mig:mandatory>
                    <mig:section-structure>group1.section1.subSection12.finRow2.finCell4</mig:section-structure>
                </mig:field-type>
            </mig:field>
          </mig:fields>
        <mig:fields existence="ux">
            <mig:field name="taChrgOffMsg.taChrgOffCrit.Acct.acctName">
                <mig:field-type type="two">
                    <mig:group-name>Rtacof</mig:group-name>
                    <mig:page-name>Rtacof_criteria_form</mig:page-name>
                    <mig:control-type>FinAccountId</mig:control-type>
                    <mig:ui-field>acctId$accountNameDesc</mig:ui-field>
                    <mig:label>FLT001251</mig:label>
                    <mig:mandatory>true</mig:mandatory>
                    <mig:section-structure>group1.section1.subSection1.finRow1.finCell1</mig:section-structure>
                </mig:field-type>
            </mig:field>
            <mig:field name="taChrgOffMsg.taChrgOffCrit.Acct.Acct_1.Acct_2.1.acctName_2.1">
                <mig:field-type type="two">
                    <mig:group-name>Rtacof</mig:group-name>
                    <mig:page-name>Rtacof_criteria_form</mig:page-name>
                    <mig:control-type>FinAccountId</mig:control-type>
                    <mig:ui-field>acctId$accountNameDesc_2.1</mig:ui-field>
                    <mig:label>FLT001251</mig:label>
                    <mig:mandatory>true</mig:mandatory>
                    <mig:section-structure>group1.section1.subSection1.finRow1.finCell1</mig:section-structure>
                </mig:field-type>
            </mig:field>
           </mig:fields>
    </mig:field-details>
</mig:menu-compare>

I want the EXCEL with rows - fiedname(Unique), group-name, page-name etc(merge group-name, page-name as 'ONE') and another group-name,page-name etc(merge this as 'TWO')

user3684156
  • 31
  • 1
  • 2
  • 8
  • 4
    At first I recommend to generate an CSV file rather than XLS, as it is plain text and much easier to maintain (and can be imported by Excel); second this is a very broad question (not really a question at all). Have you tried anything you can show us? – Uwe Allner Jun 26 '14 at 09:08
  • Another option is to generate HTML tables, which can also be automatically imported into Excel. You would generate XLS if you need to include styles, colors, formulas and specific Excel data. In that case check these questions: http://stackoverflow.com/questions/23898158/add-excels-sum-to-xlst-result-page/23900634#23900634 and http://stackoverflow.com/questions/24118320/excel-spreadsheet-dynamic-cell-colouring-using-xml-and-xslt/24121880#24121880 – helderdarocha Jun 26 '14 at 15:05

1 Answers1

0

I am making the same research right now, I came across xsl-excel-engine by Pavel Ptacek - I did not try it yet, but looks promising.

Lukáš Rampa
  • 877
  • 1
  • 8
  • 14