XML和XSL输入的XML输出由合并到一个记录中的所有数据组成

XML和XSL输入的XML输出由合并到一个记录中的所有数据组成,xml,xslt,Xml,Xslt,您好,我已经创建了一个XSL文件,并且有一个创建XML输入的报告,我必须将其转换为另一种类型的XML(输出) XML输入: <?xml version="1.0" encoding="UTF-8"?> <!--Generated by EnterpriseOne Universal Batch Engine--> <R570018A> <Properties> <Version>LU0001</Version> <Ti

您好,我已经创建了一个XSL文件,并且有一个创建XML输入的报告,我必须将其转换为另一种类型的XML(输出)

XML输入:

<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by EnterpriseOne Universal Batch Engine-->
<R570018A>
<Properties>
<Version>LU0001</Version>
<Title>Luxembourg VAT return</Title>
<Machine>PCOJDEDEV04</Machine>
<Environment>DV920</Environment>
<User>ASDF</User>
<Role>*ALL</Role>
<Company>XYZ.LP</Company>
<OneWorldRelease>E920</OneWorldRelease>
<Date>10/29/2019</Date>
<Time>13:58:13</Time>
</Properties>
<PageHeaders>
<Page_Header_S2>
<PageHeaderNumber>1</PageHeaderNumber>
<R570018A_ID1>R570018A</R570018A_ID1>
<Variable_000002_ID2>XYZ.LP</Variable_000002_ID2>
<Variable_000005_ID5>13:58:13</Variable_000005_ID5>
<Variable_000004_ID4>2019-10-29</Variable_000004_ID4>
<Variable_000003_ID3>Luxembourg VAT return</Variable_000003_ID3>
<Variable_000006_ID6>1</Variable_000006_ID6>
<of_ID7>of</of_ID7>
<Page___ID9>Page -</Page___ID9>
</Page_Header_S2>
</PageHeaders>
-<Report_Header_S5>
<AgentMatrNbr_ID2>54564646</AgentMatrNbr_ID2>
<DeclarerMatrNbr_ID7>9879862</DeclarerMatrNbr_ID7>
<Year_PO_ID11>2019</Year_PO_ID11>
<AgentRCSNbr_ID4>5362189</AgentRCSNbr_ID4>
<DeclarerRCSNbr_ID8>8795462525</DeclarerRCSNbr_ID8>
<Period_Number_PO_ID13>10</Period_Number_PO_ID13>
<AgentVATNbr_ID6>988765142</AgentVATNbr_ID6>
<DeclarerVATNbr_ID9>98795668</DeclarerVATNbr_ID9>
</Report_Header_S5>
<UDC___Full_View_of_F0005_for_Transfer_57_LV_Driver_S1>
<Vat_Cross_Ref_57_LV_Print_S3>

<Print_F570018A_S6>
<PageHeaderNumber>1</PageHeaderNumber>
<AccountNumber_ID1>472</AccountNumber_ID1>
<Amount_57LV_ID2>-65071.80</Amount_57LV_ID2>
</Print_F570018A_S6>
<Print_F570018A_S6>
<PageHeaderNumber>1</PageHeaderNumber>
<AccountNumber_ID1>019</AccountNumber_ID1>
<Amount_57LV_ID2>-65071.80</Amount_57LV_ID2>

</Print_F570018A_S6>
<Print_F570018A_S6>
<PageHeaderNumber>1</PageHeaderNumber>
<AccountNumber_ID1>741</AccountNumber_ID1>
<Amount_57LV_ID2>5128.21</Amount_57LV_ID2>
</Print_F570018A_S6>
<Print_F570018A_S6>
<PageHeaderNumber>1</PageHeaderNumber>
<AccountNumber_ID1>742</AccountNumber_ID1>
<Amount_57LV_ID2>871.79</Amount_57LV_ID2>
</Print_F570018A_S6>

</Vat_Cross_Ref_57_LV_Print_S3>
</UDC___Full_View_of_F0005_for_Transfer_57_LV_Driver_S1>
</R570018A>

LU0001
卢森堡增值税申报表
PCOJDEV04
DV920
ASDF
*全部
XYZ.LP
E920
10/29/2019
13:58:13
1.
R570018A
XYZ.LP
13:58:13
2019-10-29
卢森堡增值税申报表
1.
属于
页面-
-
54564646
9879862
2019
5362189
8795462525
10
988765142
98795668
1.
472
-65071.80
1.
019
-65071.80
1.
741
5128.21
1.
742
871.79
XSL输入:

<?xml version="1.0" encoding="windows-1252" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <all xmlns="http://www.w3.org/2001/XMLSchema"/>
  <xsl:template match="/"><!-- Root template -->
 - <eCDFDeclarations xmlns="http://www.ctie.etat.lu/2011/ecdf">
   <FileReference>"UMKBJLX20181003T17180101"</FileReference>
   <eCDFFileVersion>1.1</eCDFFileVersion>
   <Interface>CMUL8</Interface>
   -<Agent>
    <MatrNbr>
    <xsl:value-of select="/R570018A/Report_Header_S5/AgentMatrNbr_ID2"/>
    </MatrNbr>
    <RCSNbr>
    <xsl:value-of select="/R570018A/Report_Header_S5/AgentRCSNbr_ID4"/>
    </RCSNbr>
    <VATNbr>
    <xsl:value-of select="/R570018A/Report_Header_S5/AgentVATNbr_ID6"/>
    </VATNbr>
    </Agent>

    -<Declarations>

    -<Declarer>
     <MatrNbr>
     <xsl:value-of select="/R570018A/Report_Header_S5/DeclarerMatrNbr_ID7"/>
     </MatrNbr>
     <RCSNbr>
     <xsl:value-of select="/R570018A/Report_Header_S5/DeclarerRCSNbr_ID8"/>
     </RCSNbr>
     <VATNbr>
     <xsl:value-of select="/R570018A/Report_Header_S5/DeclarerVATNbr_ID9"/>
     </VATNbr>

     -<Declaration language="FR" model="1" type="TVA_DECM">
      <Year>
      <xsl:value-of select="/R570018A/Report_Header_S5/Year_PO_ID11"/>
      </Year>
      <Period>
      <xsl:value-of select="/R570018A/Report_Header_S5/Period_Number_PO_ID13"/>
      </Period>

      -<FormData>

        -<NumericField id="{/R570018A/UDC___Full_View_of_F0005_for_Transfer_57_LV_Driver_S1/Vat_Cross_Ref_57_LV_Print_S3/Print_F570018A_S6/AccountNumber_ID1}"> 
        <xsl:value-of select="/R570018A/UDC___Full_View_of_F0005_for_Transfer_57_LV_Driver_S1/Vat_Cross_Ref_57_LV_Print_S3/Print_F570018A_S6/Amount_57LV_ID2"/> 
        </NumericField>

       </FormData>
      </Declaration>
     </Declarer>
    </Declarations>


  </eCDFDeclarations>
  </xsl:template>
</xsl:stylesheet>


- 
“UMKBJLX20181003T17180101”
1.1
CMUL8
-
-
-
-
-
- 
获得的产出:

 - <eCDFDeclarations xmlns="http://www.ctie.etat.lu/2011/ecdf">
   <FileReference>"UMKBJLX20181003T17180101"</FileReference>
   <eCDFFileVersion>1.1</eCDFFileVersion>
   <Interface>CMUL8</Interface>
   -<Agent>
      <MatrNbr>54564646</MatrNbr>
      <RCSNbr>5362189</RCSNbr>
      <VATNbr>988765142</VATNbr>
   </Agent>

    -<Declarations>

    -<Declarer>
         <MatrNbr>9879862</MatrNbr>
         <RCSNbr>8795462525</RCSNbr>
         <VATNbr>98795668</VATNbr>

     -<Declaration language="FR" model="1" type="TVA_DECM">
            <Year>2019</Year>
            <Period>10</Period>

      -<FormData>

        -<NumericField id="472 019 741 742">-65071.80 -65071.80 5128.21 871.79</NumericField>
            </FormData>
         </Declaration>
      </Declarer>
   </Declarations>
</eCDFDeclarations>
<?xml version="1.0" encoding="utf-8"?>
<eCDFDeclarations xmlns="http://www.ctie.etat.lu/2011/ecdf">
  <FileReference>UMKBJLX20181003T17180101</FileReference>
  <eCDFFileVersion>1.1</eCDFFileVersion>
  <Interface>CMUL8</Interface>
  <Agent>
    <MatrNbr>54564646</MatrNbr>
    <RCSNbr>5362189</RCSNbr>
    <VATNbr>988765142</VATNbr>
  </Agent>
  <Declarations>
    <Declarer>
      <MatrNbr>9879862</MatrNbr>
      <RCSNbr>8795462525</RCSNbr>
      <VATNbr>98795668</VATNbr>

      <Declaration language="FR" model="1" type="TVA_DECM">
        <Year>2019</Year>
        <Period>10</Period>
        <FormData>
          <NumericField id="472">-65071,80</NumericField>
          <NumericField id="019">-65071,80</NumericField>
          <NumericField id="741">5128,21</NumericField>
          <NumericField id="742">871,79</NumericField>

 </FormData>
      </Declaration>
    </Declarer>
  </Declarations>
</eCDFDeclarations>
-
“UMKBJLX20181003T17180101”
1.1
CMUL8
-
54564646
5362189
988765142
-
-
9879862
8795462525
98795668
-
2019
10
-
--65071.80 -65071.80 5128.21 871.79
预期产出:

 - <eCDFDeclarations xmlns="http://www.ctie.etat.lu/2011/ecdf">
   <FileReference>"UMKBJLX20181003T17180101"</FileReference>
   <eCDFFileVersion>1.1</eCDFFileVersion>
   <Interface>CMUL8</Interface>
   -<Agent>
      <MatrNbr>54564646</MatrNbr>
      <RCSNbr>5362189</RCSNbr>
      <VATNbr>988765142</VATNbr>
   </Agent>

    -<Declarations>

    -<Declarer>
         <MatrNbr>9879862</MatrNbr>
         <RCSNbr>8795462525</RCSNbr>
         <VATNbr>98795668</VATNbr>

     -<Declaration language="FR" model="1" type="TVA_DECM">
            <Year>2019</Year>
            <Period>10</Period>

      -<FormData>

        -<NumericField id="472 019 741 742">-65071.80 -65071.80 5128.21 871.79</NumericField>
            </FormData>
         </Declaration>
      </Declarer>
   </Declarations>
</eCDFDeclarations>
<?xml version="1.0" encoding="utf-8"?>
<eCDFDeclarations xmlns="http://www.ctie.etat.lu/2011/ecdf">
  <FileReference>UMKBJLX20181003T17180101</FileReference>
  <eCDFFileVersion>1.1</eCDFFileVersion>
  <Interface>CMUL8</Interface>
  <Agent>
    <MatrNbr>54564646</MatrNbr>
    <RCSNbr>5362189</RCSNbr>
    <VATNbr>988765142</VATNbr>
  </Agent>
  <Declarations>
    <Declarer>
      <MatrNbr>9879862</MatrNbr>
      <RCSNbr>8795462525</RCSNbr>
      <VATNbr>98795668</VATNbr>

      <Declaration language="FR" model="1" type="TVA_DECM">
        <Year>2019</Year>
        <Period>10</Period>
        <FormData>
          <NumericField id="472">-65071,80</NumericField>
          <NumericField id="019">-65071,80</NumericField>
          <NumericField id="741">5128,21</NumericField>
          <NumericField id="742">871,79</NumericField>

 </FormData>
      </Declaration>
    </Declarer>
  </Declarations>
</eCDFDeclarations>

UMKBJLX20181003T17180101
1.1
CMUL8
54564646
5362189
988765142
9879862
8795462525
98795668
2019
10
-65071,80
-65071,80
5128,21
871,79
我的问题是所有数字字段ID和金额打印在同一行,而不是下一行。
我对使用XSL输入非常陌生,您能告诉我应该如何编辑XSL输入文件吗?

请尝试以下XSLT。我在顶部添加了
xsl:output
元素,以生成一个prolog和一个循环,用于在所讨论的片段中重复值

XSLT:

<?xml version="1.0" encoding="windows-1252"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes" method="xml" omit-xml-declaration="no" encoding="utf-8"/>

    <all xmlns="http://www.w3.org/2001/XMLSchema"/>

    <xsl:template match="/">
        <!-- Root template -->
        <eCDFDeclarations xmlns="http://www.ctie.etat.lu/2011/ecdf">
            <FileReference>"UMKBJLX20181003T17180101"</FileReference>
            <eCDFFileVersion>1.1</eCDFFileVersion>
            <Interface>CMUL8</Interface>
            <Agent>
                <MatrNbr>
                    <xsl:value-of select="/R570018A/Report_Header_S5/AgentMatrNbr_ID2"/>
                </MatrNbr>
                <RCSNbr>
                    <xsl:value-of select="/R570018A/Report_Header_S5/AgentRCSNbr_ID4"/>
                </RCSNbr>
                <VATNbr>
                    <xsl:value-of select="/R570018A/Report_Header_S5/AgentVATNbr_ID6"/>
                </VATNbr>
            </Agent>

            <Declarations>

                <Declarer>
                    <MatrNbr>
                        <xsl:value-of select="/R570018A/Report_Header_S5/DeclarerMatrNbr_ID7"/>
                    </MatrNbr>
                    <RCSNbr>
                        <xsl:value-of select="/R570018A/Report_Header_S5/DeclarerRCSNbr_ID8"/>
                    </RCSNbr>
                    <VATNbr>
                        <xsl:value-of select="/R570018A/Report_Header_S5/DeclarerVATNbr_ID9"/>
                    </VATNbr>

                    <Declaration language="FR" model="1" type="TVA_DECM">
                        <Year>
                            <xsl:value-of select="/R570018A/Report_Header_S5/Year_PO_ID11"/>
                        </Year>
                        <Period>
                            <xsl:value-of select="/R570018A/Report_Header_S5/Period_Number_PO_ID13"/>
                        </Period>

                        <FormData>
                            <xsl:for-each select="R570018A/UDC___Full_View_of_F0005_for_Transfer_57_LV_Driver_S1/Vat_Cross_Ref_57_LV_Print_S3/Print_F570018A_S6">
                                <NumericField id="{AccountNumber_ID1}">
                                    <xsl:value-of select="Amount_57LV_ID2"/>
                                </NumericField>
                            </xsl:for-each>
                        </FormData>
                    </Declaration>
                </Declarer>
            </Declarations>
        </eCDFDeclarations>
    </xsl:template>
</xsl:stylesheet>

“UMKBJLX20181003T17180101”
1.1
CMUL8

请发布一个可复制的示例,而不是代码片段-请参阅:。编辑代码片段以包含整个文件。