XML transform of multilevel xml with namespace

I have an XML file with multiple child nodes.
I need to copy a node to another node so as to read to excel as easy task (i need not loop into multiple child nodes).

My sample XML is as below.

<MultiBlock xmlns="x-schema:ConfigFileSchema.xml">
    <Block>
        <BlockDef>
            <BlockName>Block1</BlockName>
            <EntityName>Block1</EntityName>
            <TemplateName>SYSTEM:template1</TemplateName>
        </BlockDef>
        <Parameters>
            <Parameter>
                <ParamName>PARAM1</ParamName>
                <ParamValue>PARAM1VALUE</ParamValue>
            </Parameter>
            <Parameter>
                <ParamName>PARAM2</ParamName>
                <ParamValue>PARAM2VALUE</ParamValue>
            </Parameter>
            ...
            ...
            <Parameter>
                <ParamName>PARAMn</ParamName>
                <ParamValue>PARAMnVALUE</ParamValue>
            </Parameter>
        </Parameters>
        <EmbBlocks>
            <Block>
                <BlockDef>
                    <BlockName>EMBBLOCK1</BlockName>
                    <EntityName>Block1</EntityName>
                    <TemplateName>SYSTEM:template1</TemplateName>
                </BlockDef>
                <Block>
                    <Parameters>
                        <Parameter>
                            <ParamName>PARAM1</ParamName>
                            <ParamValue>PARAM1VALUE</ParamValue>
                        </Parameter>
                        <Parameter>
                            <ParamName>PARAM2</ParamName>
                            <ParamValue>PARAM2VALUE</ParamValue>
                        </Parameter>
                        ...
                        ...
                        <Parameter>
                            <ParamName>PARAMn</ParamName>
                            <ParamValue>PARAMnVALUE</ParamValue>
                        </Parameter>
                    </Parameters>
                </Block>
            </Block>
            ...
            ...
            <Block>...</Block>
        </EmbBlocks>
    </Block>
</MultiBlock>

I want to Copy

  1. BlockName and TemplateNamefrom MultiBlock\Block\BlockDef\BlockName and MultiBlock\Block\BlockDef\TemplateName to MultiBlock\Block\Parameters

  2. Respective BlockName and TemplateNamefrom MultiBlock\Block\EmbBlocks\Block\BlockDef\BlockName and MultiBlock\Block\EmbBlocks\Block\BlockDef\TemplateName to respective MultiBlock\Block\EmbBlocks\Parameters

I have tried atleast copying the BlockName with the XSL below. But output is blank. I am not able to understand what may be wrong. Please guide me.

<?xml version = "1.0" encoding = "UTF-8"?>
<xsl:stylesheet version ="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   
<xsl:template match="/">
    <dataroot>
        <xsl:apply-templates select="@*|node()"/>
    </dataroot>
</xsl:template>

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="/MultiBlock/Block/BlockDef/BlockName">
    <xsl:apply-templates select="@*|node()"/>
</xsl:template>

<xsl:template match="/MultiBlock/Block/Parameters">
    <Parameters>
        <BlockName><xsl:value-of select="../../BlockName"/></BlockName>
        <xsl:apply-templates select="@*|node()"/>
    </Parameters>
</xsl:template>

</xsl:stylesheet>

Thanks for reading :)