XML和XSL输入的XML输出由合并到一个记录中的所有数据组成
您好,我已经创建了一个XSL文件,并且有一个创建XML输入的报告,我必须将其转换为另一种类型的XML(输出) 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
<?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
请发布一个可复制的示例,而不是代码片段-请参阅:。编辑代码片段以包含整个文件。