modify xslt according to the output xml : I am trying to modify my xslt to get the required output.
Listing the required input xml, output xml and XSLT file
Here is my input xml

    <NewDataSet>
     <Header>
      <BankName>SAMA</BankName>
      <CashCenterName>SAMA Riyadh</CashCenterName>
     </Header>
     <DepositorList>
      <ReferenceNumber>1</ReferenceNumber>
      <DepositList_Id>0</DepositList_Id>
      <PreparedBy>FZE</PreparedBy>
      <TotalContainerCount>2</TotalContainerCount>
      <ExpectedDate>2018-04-19T09:13:10-05:00</ExpectedDate>
      <DeclaredAmount>150000</DeclaredAmount>
      <ContainerList>
        <ContainerNumber>903000033102</ContainerNumber>
        <ContainerList_Id>0</ContainerList_Id>
        <DeclaredAmount>50000</DeclaredAmount>
        <DepositList_Id>0</DepositList_Id>
      </ContainerList>
      <ContainerList>
        <ContainerNumber>903000033103</ContainerNumber>
        <ContainerList_Id>1</ContainerList_Id>
        <DeclaredAmount>100000</DeclaredAmount>
        <DepositList_Id>0</DepositList_Id>
      </ContainerList>
      <ContainerContentList>
        <ContainerContentList_Id>0</ContainerContentList_Id>
        <TotalRecordCount>1</TotalRecordCount>
        <ContainerList_Id>0</ContainerList_Id>
      </ContainerContentList>
    </DepositorList>

The output I am looking for is

    <NewDataSet>
     <Header>
      <BankName>SAMA</BankName>
      <CashCenterName>SAMA Riyadh</CashCenterName>
     </Header>
     <DepositorList>
      <ReferenceNumber>1</ReferenceNumber>
      <DepositList_Id>0</DepositList_Id>
      <PreparedBy>FZE</PreparedBy>
      <TotalContainerCount>2</TotalContainerCount>
      <ExpectedDate>2018-04-19T09:13:10-05:00</ExpectedDate>
      <DeclaredAmount>150000</DeclaredAmount>
      <ContainerList>
        <ContainerNumber>903000033102</ContainerNumber>
        <DeclaredAmount>50000</DeclaredAmount>
        <ContainerContentList>
          <ContainerContentList_Id>0</ContainerContentList_Id>
          <TotalRecordCount>1</TotalRecordCount>
          <ContainerList_Id>0</ContainerList_Id>
        </ContainerContentList>
      </ContainerList>
      <ContainerList>
        <ContainerNumber>903000033103</ContainerNumber>
        <ContainerList_Id>1</ContainerList_Id>
        <DeclaredAmount>100000</DeclaredAmount>
        <DepositList_Id>0</DepositList_Id>
      </ContainerList>
    </DepositorList>

Please suggest the right xslt to get the correct results.
Adding xslt in comment as it was giving error of mostly code
My current XSLT so far

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    	<xsl:output method="xml" indent="yes"/>
    	<xsl:strip-space elements="*"/>

    	<xsl:template match="/NewDataSet">
    		<NewDataSet>
    			<xsl:copy-of select="Header"/>
    			<xsl:for-each select="DepositorList">
    				<DepositorList>
    					<xsl:variable name="DepositList_Id">
    						<xsl:value-of select="DepositList_Id"/>
    					</xsl:variable>
    					<xsl:variable name="ContainerList_Id">
    						<xsl:value-of select="../ContainerList[DepositList_Id=$DepositList_Id]/ContainerList_Id"/>
    					</xsl:variable>
    					<xsl:variable name="ContainerContentList_Id">
    						    <xsl:value-of select="../ContainerContentList[ContainerList_Id=$DepositList_Id]/ContainerList_Id/ontainerContentList_Id"/>
    					</xsl:variable>
    				    					                                <xsl:copy-of select="*"/>
    	              	     <xsl:copy-of select="../ContainerList[DepositList_Id=$DepositList_Id]"/>							   			   
    					     <xsl:copy-of select="../ContainerContentList[ContainerList_Id=$ContainerList_Id]"/>				
    				</DepositorList>
    			</xsl:for-each>
    		</NewDataSet>
    	</xsl:template>
    </xsl:stylesheet>

