如何重新组合 xml 主从格式
How can I regroup xml master and detail format
要求
我如何使用 xsl 修复以下 xml 报告,它输出这个
current report output
desire out应该如下图所示
desire report output
描述:
我正在使用 xsl 转换来格式化 xml,其中包含供应商、凭证和发票信息,但是每个信息都有 Master/detail 关系。请看一下并建议如何获得所需的输出。
提前致谢。
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="LIST_G_VENDOR">
<body>
<h2>Vendor Details</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Vendor Name</th>
<th>Vendor Number</th>
<th>Voucher Number</th>
<th>Inv Type Number</th>
<th>Inv Number</th>
</tr>
<xsl:for-each select="G_VENDOR">
<tr>
<td>
<xsl:value-of select="C_VENDOR_NAME" />
</td>
<td>
<xsl:value-of select="C_VENDOR_NUMBER" />
</td>
<xsl:for-each select="LIST_G_DETAIL/G_DETAIL">
<td>
<xsl:value-of select="C_VOUCHER_NUMBER" />
</td>
<td>
<xsl:value-of select="C_INVOICE_TYPE" />
</td>
<td>
<xsl:value-of select="C_INVOICE_NUMBER" />
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</body>
</xsl:template>
</xsl:stylesheet>
输入XML
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="iar.xsl" ?>
<APXINAGE>
<LIST_G_PRMBRK>
<G_PRMBRK>
<C_PRIMARY_BRK_REAL>3 PL SOL</C_PRIMARY_BRK_REAL>
<C_PRIMARY_BRK>3 PL SOL</C_PRIMARY_BRK>
<LIST_G_VENDOR>
<G_VENDOR>
<C_VENDOR_NUMBER>10000012</C_VENDOR_NUMBER>
<C_VENDOR_NAME>3 PL SOL</C_VENDOR_NAME>
<LIST_G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23103</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>09-AUG-17</C_DUE_DATE>
<C_INVOICE_NUMBER>test2</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>113677</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>20000</C_AMT_DUE_REMAINING>
</G_DETAIL>
</LIST_G_DETAIL>
<C_SUM_V_DUE_REMAINING>20000</C_SUM_V_DUE_REMAINING>
<C_PER_V_INV_AMT_4>100</C_PER_V_INV_AMT_4>
</G_VENDOR>
</LIST_G_VENDOR>
<C_PER_INV_DUE_AMT_4>100</C_PER_INV_DUE_AMT_4>
<C_SUM_INV_DUE_AMT_4_F> 20,000.00 </C_SUM_INV_DUE_AMT_4_F>
</G_PRMBRK>
<G_PRMBRK>
<C_PRIMARY_BRK_REAL>7 STAR</C_PRIMARY_BRK_REAL>
<C_PRIMARY_BRK>7 STAR</C_PRIMARY_BRK>
<LIST_G_VENDOR>
<G_VENDOR>
<C_VENDOR_NAME_BRK>7 STAR</C_VENDOR_NAME_BRK>
<C_VENDOR_ID>1008</C_VENDOR_ID>
<C_VENDOR_SITE_CODE_BRK>Faisalabad</C_VENDOR_SITE_CODE_BRK>
<C_VENDOR_SITE_CODE>Faisalabad</C_VENDOR_SITE_CODE>
<C_VENDOR_NUMBER>10000009</C_VENDOR_NUMBER>
<C_CONTACT_SITE_ID>10</C_CONTACT_SITE_ID>
<C_VENDOR_NAME>7 STAR</C_VENDOR_NAME>
<C_VENDOR_CITY>Faisalabad</C_VENDOR_CITY>
<C_VENDOR_STATE>
</C_VENDOR_STATE>
<C_SHORT_VENDOR_NAME>7 STAR</C_SHORT_VENDOR_NAME>
<C_ADDRESS_ID>10</C_ADDRESS_ID>
<C_CONTACT_LINE></C_CONTACT_LINE>
<LIST_G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>1177</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>15-NOV-16</C_DUE_DATE>
<C_INVOICE_NUMBER>test</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>33170</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>20000</C_AMT_DUE_REMAINING>
</G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23079</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>18-MAY-17</C_DUE_DATE>
<C_INVOICE_NUMBER>Test3</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>104677</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>9000</C_AMT_DUE_REMAINING>
</G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23108</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>29-AUG-17</C_DUE_DATE>
<C_INVOICE_NUMBER>testesc2</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>118676</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>3000000</C_AMT_DUE_REMAINING>
</G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23109</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>29-AUG-17</C_DUE_DATE>
<C_INVOICE_NUMBER>testesc6</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>118677</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>490000</C_AMT_DUE_REMAINING>
</G_DETAIL>
</LIST_G_DETAIL>
<C_SUM_V_DUE_REMAINING>7519000</C_SUM_V_DUE_REMAINING>
<C_SUM_V_DUE_REMAINING_F> 7,519,000.00 </C_SUM_V_DUE_REMAINING_F>
<C_SUM_V_INV_AMT_1>0</C_SUM_V_INV_AMT_1>
<C_SUM_V_INV_AMT_1_F> 0.00 </C_SUM_V_INV_AMT_1_F>
<C_SUM_V_INV_AMT_2>0</C_SUM_V_INV_AMT_2>
<C_SUM_V_INV_AMT_2_F> 0.00 </C_SUM_V_INV_AMT_2_F>
<C_SUM_V_INV_AMT_3>0</C_SUM_V_INV_AMT_3>
<C_SUM_V_INV_AMT_3_F> 0.00 </C_SUM_V_INV_AMT_3_F>
<C_SUM_V_INV_AMT_4>7519000</C_SUM_V_INV_AMT_4>
<C_SUM_V_INV_AMT_4_F> 7,519,000.00 </C_SUM_V_INV_AMT_4_F>
<C_PER_V_INV_AMT_1>0</C_PER_V_INV_AMT_1>
<C_PER_V_INV_AMT_2>0</C_PER_V_INV_AMT_2>
<C_PER_V_INV_AMT_3>0</C_PER_V_INV_AMT_3>
<C_SUM_V_DATA_CONVERTED>0</C_SUM_V_DATA_CONVERTED>
<C_PER_V_INV_AMT_4>100</C_PER_V_INV_AMT_4>
<C_V_DATA_CONVERTED>
</C_V_DATA_CONVERTED>
</G_VENDOR>
</LIST_G_VENDOR>
<C_SUM_AMT_ORIGINAL>7520000</C_SUM_AMT_ORIGINAL>
<C_SUM_AMT_REMAINING>7519000</C_SUM_AMT_REMAINING>
<C_SUM_AMT_REMAINING_F> 7,519,000.00 </C_SUM_AMT_REMAINING_F>
<C_SUM_INV_DUE_AMT_1>0</C_SUM_INV_DUE_AMT_1>
<C_SUM_DATA_CONVERTED>0</C_SUM_DATA_CONVERTED>
<C_PER_INV_DUE_AMT_1>0</C_PER_INV_DUE_AMT_1>
<C_PGBRK_DATA_CONVERTED>
</C_PGBRK_DATA_CONVERTED>
<C_SUM_INV_DUE_AMT_1_F> 0.00 </C_SUM_INV_DUE_AMT_1_F>
<C_SUM_INV_DUE_AMT_2>0</C_SUM_INV_DUE_AMT_2>
<C_PER_INV_DUE_AMT_2>0</C_PER_INV_DUE_AMT_2>
<C_SUM_INV_DUE_AMT_2_F> 0.00 </C_SUM_INV_DUE_AMT_2_F>
<C_SUM_INV_DUE_AMT_3>0</C_SUM_INV_DUE_AMT_3>
<C_PER_INV_DUE_AMT_3>0</C_PER_INV_DUE_AMT_3>
<C_SUM_INV_DUE_AMT_3_F> 0.00 </C_SUM_INV_DUE_AMT_3_F>
<C_SUM_INV_DUE_AMT_4>7519000</C_SUM_INV_DUE_AMT_4>
<C_PER_INV_DUE_AMT_4>100</C_PER_INV_DUE_AMT_4>
<C_SUM_INV_DUE_AMT_4_F> 7,519,000.00 </C_SUM_INV_DUE_AMT_4_F>
</G_PRMBRK>
</LIST_G_PRMBRK>
</APXINAGE>
请按如下方式修改 XSLT 代码。您需要在遍历详细信息时使用 ../../
访问母版。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="LIST_G_PRMBRK">
<body>
<h2>Vendor Details</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Vendor Name</th>
<th>Vendor Number</th>
<th>Voucher Number</th>
<th>Inv Type Number</th>
<th>Inv Number</th>
</tr>
<xsl:for-each select="G_PRMBRK/LIST_G_VENDOR/G_VENDOR/LIST_G_DETAIL/G_DETAIL">
<tr>
<td><xsl:value-of select="../../C_VENDOR_NAME" /></td>
<td><xsl:value-of select="../../C_VENDOR_NUMBER" /></td>
<td><xsl:value-of select="C_VOUCHER_NUMBER" /></td>
<td><xsl:value-of select="C_INVOICE_TYPE" /></td>
<td><xsl:value-of select="C_INVOICE_NUMBER" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</xsl:template>
</xsl:stylesheet>
输出
<body>
<h2>Vendor Details</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Vendor Name</th>
<th>Vendor Number</th>
<th>Voucher Number</th>
<th>Inv Type Number</th>
<th>Inv Number</th>
</tr>
<tr>
<td>3 PL SOL</td>
<td>10000012</td>
<td>23103</td>
<td>STANDARD</td>
<td>test2</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>1177</td>
<td>STANDARD</td>
<td>test</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>23079</td>
<td>STANDARD</td>
<td>Test3</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>23108</td>
<td>STANDARD</td>
<td>testesc2</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>23109</td>
<td>STANDARD</td>
<td>testesc6</td>
</tr>
</table>
</body>
要求
我如何使用 xsl 修复以下 xml 报告,它输出这个
current report output
desire out应该如下图所示
desire report output
描述:
我正在使用 xsl 转换来格式化 xml,其中包含供应商、凭证和发票信息,但是每个信息都有 Master/detail 关系。请看一下并建议如何获得所需的输出。
提前致谢。
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="LIST_G_VENDOR">
<body>
<h2>Vendor Details</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Vendor Name</th>
<th>Vendor Number</th>
<th>Voucher Number</th>
<th>Inv Type Number</th>
<th>Inv Number</th>
</tr>
<xsl:for-each select="G_VENDOR">
<tr>
<td>
<xsl:value-of select="C_VENDOR_NAME" />
</td>
<td>
<xsl:value-of select="C_VENDOR_NUMBER" />
</td>
<xsl:for-each select="LIST_G_DETAIL/G_DETAIL">
<td>
<xsl:value-of select="C_VOUCHER_NUMBER" />
</td>
<td>
<xsl:value-of select="C_INVOICE_TYPE" />
</td>
<td>
<xsl:value-of select="C_INVOICE_NUMBER" />
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</body>
</xsl:template>
</xsl:stylesheet>
输入XML
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="iar.xsl" ?>
<APXINAGE>
<LIST_G_PRMBRK>
<G_PRMBRK>
<C_PRIMARY_BRK_REAL>3 PL SOL</C_PRIMARY_BRK_REAL>
<C_PRIMARY_BRK>3 PL SOL</C_PRIMARY_BRK>
<LIST_G_VENDOR>
<G_VENDOR>
<C_VENDOR_NUMBER>10000012</C_VENDOR_NUMBER>
<C_VENDOR_NAME>3 PL SOL</C_VENDOR_NAME>
<LIST_G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23103</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>09-AUG-17</C_DUE_DATE>
<C_INVOICE_NUMBER>test2</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>113677</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>20000</C_AMT_DUE_REMAINING>
</G_DETAIL>
</LIST_G_DETAIL>
<C_SUM_V_DUE_REMAINING>20000</C_SUM_V_DUE_REMAINING>
<C_PER_V_INV_AMT_4>100</C_PER_V_INV_AMT_4>
</G_VENDOR>
</LIST_G_VENDOR>
<C_PER_INV_DUE_AMT_4>100</C_PER_INV_DUE_AMT_4>
<C_SUM_INV_DUE_AMT_4_F> 20,000.00 </C_SUM_INV_DUE_AMT_4_F>
</G_PRMBRK>
<G_PRMBRK>
<C_PRIMARY_BRK_REAL>7 STAR</C_PRIMARY_BRK_REAL>
<C_PRIMARY_BRK>7 STAR</C_PRIMARY_BRK>
<LIST_G_VENDOR>
<G_VENDOR>
<C_VENDOR_NAME_BRK>7 STAR</C_VENDOR_NAME_BRK>
<C_VENDOR_ID>1008</C_VENDOR_ID>
<C_VENDOR_SITE_CODE_BRK>Faisalabad</C_VENDOR_SITE_CODE_BRK>
<C_VENDOR_SITE_CODE>Faisalabad</C_VENDOR_SITE_CODE>
<C_VENDOR_NUMBER>10000009</C_VENDOR_NUMBER>
<C_CONTACT_SITE_ID>10</C_CONTACT_SITE_ID>
<C_VENDOR_NAME>7 STAR</C_VENDOR_NAME>
<C_VENDOR_CITY>Faisalabad</C_VENDOR_CITY>
<C_VENDOR_STATE>
</C_VENDOR_STATE>
<C_SHORT_VENDOR_NAME>7 STAR</C_SHORT_VENDOR_NAME>
<C_ADDRESS_ID>10</C_ADDRESS_ID>
<C_CONTACT_LINE></C_CONTACT_LINE>
<LIST_G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>1177</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>15-NOV-16</C_DUE_DATE>
<C_INVOICE_NUMBER>test</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>33170</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>20000</C_AMT_DUE_REMAINING>
</G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23079</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>18-MAY-17</C_DUE_DATE>
<C_INVOICE_NUMBER>Test3</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>104677</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>9000</C_AMT_DUE_REMAINING>
</G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23108</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>29-AUG-17</C_DUE_DATE>
<C_INVOICE_NUMBER>testesc2</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>118676</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>3000000</C_AMT_DUE_REMAINING>
</G_DETAIL>
<G_DETAIL>
<C_VOUCHER_NUMBER>23109</C_VOUCHER_NUMBER>
<C_INVOICE_TYPE>STANDARD</C_INVOICE_TYPE>
<C_DUE_DATE>29-AUG-17</C_DUE_DATE>
<C_INVOICE_NUMBER>testesc6</C_INVOICE_NUMBER>
<C_REFERENCE_NUMBER>1</C_REFERENCE_NUMBER>
<C_PAYMENT_SCHED_ID>118677</C_PAYMENT_SCHED_ID>
<C_AMT_DUE_REMAINING>490000</C_AMT_DUE_REMAINING>
</G_DETAIL>
</LIST_G_DETAIL>
<C_SUM_V_DUE_REMAINING>7519000</C_SUM_V_DUE_REMAINING>
<C_SUM_V_DUE_REMAINING_F> 7,519,000.00 </C_SUM_V_DUE_REMAINING_F>
<C_SUM_V_INV_AMT_1>0</C_SUM_V_INV_AMT_1>
<C_SUM_V_INV_AMT_1_F> 0.00 </C_SUM_V_INV_AMT_1_F>
<C_SUM_V_INV_AMT_2>0</C_SUM_V_INV_AMT_2>
<C_SUM_V_INV_AMT_2_F> 0.00 </C_SUM_V_INV_AMT_2_F>
<C_SUM_V_INV_AMT_3>0</C_SUM_V_INV_AMT_3>
<C_SUM_V_INV_AMT_3_F> 0.00 </C_SUM_V_INV_AMT_3_F>
<C_SUM_V_INV_AMT_4>7519000</C_SUM_V_INV_AMT_4>
<C_SUM_V_INV_AMT_4_F> 7,519,000.00 </C_SUM_V_INV_AMT_4_F>
<C_PER_V_INV_AMT_1>0</C_PER_V_INV_AMT_1>
<C_PER_V_INV_AMT_2>0</C_PER_V_INV_AMT_2>
<C_PER_V_INV_AMT_3>0</C_PER_V_INV_AMT_3>
<C_SUM_V_DATA_CONVERTED>0</C_SUM_V_DATA_CONVERTED>
<C_PER_V_INV_AMT_4>100</C_PER_V_INV_AMT_4>
<C_V_DATA_CONVERTED>
</C_V_DATA_CONVERTED>
</G_VENDOR>
</LIST_G_VENDOR>
<C_SUM_AMT_ORIGINAL>7520000</C_SUM_AMT_ORIGINAL>
<C_SUM_AMT_REMAINING>7519000</C_SUM_AMT_REMAINING>
<C_SUM_AMT_REMAINING_F> 7,519,000.00 </C_SUM_AMT_REMAINING_F>
<C_SUM_INV_DUE_AMT_1>0</C_SUM_INV_DUE_AMT_1>
<C_SUM_DATA_CONVERTED>0</C_SUM_DATA_CONVERTED>
<C_PER_INV_DUE_AMT_1>0</C_PER_INV_DUE_AMT_1>
<C_PGBRK_DATA_CONVERTED>
</C_PGBRK_DATA_CONVERTED>
<C_SUM_INV_DUE_AMT_1_F> 0.00 </C_SUM_INV_DUE_AMT_1_F>
<C_SUM_INV_DUE_AMT_2>0</C_SUM_INV_DUE_AMT_2>
<C_PER_INV_DUE_AMT_2>0</C_PER_INV_DUE_AMT_2>
<C_SUM_INV_DUE_AMT_2_F> 0.00 </C_SUM_INV_DUE_AMT_2_F>
<C_SUM_INV_DUE_AMT_3>0</C_SUM_INV_DUE_AMT_3>
<C_PER_INV_DUE_AMT_3>0</C_PER_INV_DUE_AMT_3>
<C_SUM_INV_DUE_AMT_3_F> 0.00 </C_SUM_INV_DUE_AMT_3_F>
<C_SUM_INV_DUE_AMT_4>7519000</C_SUM_INV_DUE_AMT_4>
<C_PER_INV_DUE_AMT_4>100</C_PER_INV_DUE_AMT_4>
<C_SUM_INV_DUE_AMT_4_F> 7,519,000.00 </C_SUM_INV_DUE_AMT_4_F>
</G_PRMBRK>
</LIST_G_PRMBRK>
</APXINAGE>
请按如下方式修改 XSLT 代码。您需要在遍历详细信息时使用 ../../
访问母版。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="LIST_G_PRMBRK">
<body>
<h2>Vendor Details</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Vendor Name</th>
<th>Vendor Number</th>
<th>Voucher Number</th>
<th>Inv Type Number</th>
<th>Inv Number</th>
</tr>
<xsl:for-each select="G_PRMBRK/LIST_G_VENDOR/G_VENDOR/LIST_G_DETAIL/G_DETAIL">
<tr>
<td><xsl:value-of select="../../C_VENDOR_NAME" /></td>
<td><xsl:value-of select="../../C_VENDOR_NUMBER" /></td>
<td><xsl:value-of select="C_VOUCHER_NUMBER" /></td>
<td><xsl:value-of select="C_INVOICE_TYPE" /></td>
<td><xsl:value-of select="C_INVOICE_NUMBER" /></td>
</tr>
</xsl:for-each>
</table>
</body>
</xsl:template>
</xsl:stylesheet>
输出
<body>
<h2>Vendor Details</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Vendor Name</th>
<th>Vendor Number</th>
<th>Voucher Number</th>
<th>Inv Type Number</th>
<th>Inv Number</th>
</tr>
<tr>
<td>3 PL SOL</td>
<td>10000012</td>
<td>23103</td>
<td>STANDARD</td>
<td>test2</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>1177</td>
<td>STANDARD</td>
<td>test</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>23079</td>
<td>STANDARD</td>
<td>Test3</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>23108</td>
<td>STANDARD</td>
<td>testesc2</td>
</tr>
<tr>
<td>7 STAR</td>
<td>10000009</td>
<td>23109</td>
<td>STANDARD</td>
<td>testesc6</td>
</tr>
</table>
</body>