従うべきxmlがサプライヤーごとに複数の行と1つのxmlに複数のサプライヤーで取り込まれるように、翻訳ファイルを調整する方法を一生理解できないので、誰か助けてください。つまり、ファイルを ERP システムに取り込む必要があります。これにより、xml 内のサプライヤーごとに新しい発注書が作成されますが、それに応じて注文明細がサプライヤーごとにグループ化されます (たとえば、サプライヤー A には xml とサプライヤーに複数の行があります)。 Bには複数の明細があります。Aに属するすべての明細は、AとBの同じ発注書に含まれている必要があります)
xml のサンプルを次に示します。
<rows>
<row>
<SUPPLIER>LIY0001</SUPPLIER>
<DESTWHS>A4</DESTWHS>
<RELEASE_DATE>2013-02-14</RELEASE_DATE>
<DUE_DATE>2013-05-13</DUE_DATE>
<ITEM>5021616</ITEM>
<QTY>528</QTY>
<LINE_ITEM_NO>1</LINE_ITEM_NO>
<CUST_PO_NO>LIY0001-2013-02-14</CUST_PO_NO>
<PURCHASEPRICE>5.25</PURCHASEPRICE>
</row>
<row>
<SUPPLIER>LIY0001</SUPPLIER>
<DESTWHS>A4</DESTWHS>
<RELEASE_DATE>2013-02-14</RELEASE_DATE>
<DUE_DATE>2013-05-13</DUE_DATE>
<ITEM>5021816</ITEM>
<QTY>222</QTY>
<LINE_ITEM_NO>2</LINE_ITEM_NO>
<CUST_PO_NO>LIY0001-2013-02-14</CUST_PO_NO>
<PURCHASEPRICE>5.90</PURCHASEPRICE>
</row>
<row>
<SUPPLIER>WOR0001</SUPPLIER>
<DESTWHS>A4</DESTWHS>
<RELEASE_DATE>2013-02-14</RELEASE_DATE>
<DUE_DATE>2013-05-13</DUE_DATE>
<ITEM>650616</ITEM>
<QTY>129</QTY>
<LINE_ITEM_NO>9</LINE_ITEM_NO>
<CUST_PO_NO>WOR0001-2013-02-14</CUST_PO_NO>
<PURCHASEPRICE>4.46</PURCHASEPRICE>
</row>
<row>
<row>
<SUPPLIER>WOR0001</SUPPLIER>
<DESTWHS>A4</DESTWHS>
<RELEASE_DATE>2013-02-14</RELEASE_DATE>
<DUE_DATE>2013-05-13</DUE_DATE>
<ITEM>650610</ITEM>
<QTY>129</QTY>
<LINE_ITEM_NO>3</LINE_ITEM_NO>
<CUST_PO_NO>WOR0001-2013-02-14</CUST_PO_NO>
<PURCHASEPRICE>3.5</PURCHASEPRICE>
</row>
<row>
</rows>
作成した翻訳ファイルは次のとおりです。
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="Windows-1252" omit-xml-declaration="yes" />
<xsl:template match="/">
<PostPurchaseOrders>
<Orders>
<OrderHeader>
<xsl:for-each select = "rows/row">
<CustomerPoNumber><xsl:value-of select="CUST_PO_NO"/></CustomerPoNumber>
<Supplier><xsl:value-of select="SUPPLIER"/></Supplier>
<OrderDate><xsl:value-of select="RELEASE_DATE"/></OrderDate>
<DueDate><xsl:value-of select="DUE_DATE"/></DueDate>
<Warehouse><xsl:value-of select="DESTWHS"/></Warehouse>
</xsl:for-each>
</OrderHeader>
<OrderDetails>
<xsl:for-each select = "rows/row">
<StockLine>
<PurchaseOrderLine><xsl:value-of select="LINE_ITEM_NO"/></PurchaseOrderLine>
<StockCode><xsl:value-of select="ITEM"/></StockCode>
<Warehouse><xsl:value-of select="DESTWHS"/></Warehouse>
<OrderQty><xsl:value-of select="QTY"/></OrderQty>
<Price><xsl:value-of select="PURCHASEPRICE"/></Price>
</StockLine>
</xsl:for-each>
</OrderDetails>
</Orders>
<PostPurchaseOrders>
</xsl:template>
</xsl:stylesheet>
変換ファイルをループなどに変更して、各サプライヤーの 1 つの注文書に多くの行を含める方法についてのヘルプをいただければ幸いです。
ありがとう
アップデート
ERP システム用に xml を変換する必要があるのは次のとおりです。
<PostPurchaseOrder>
<Orders>
<OrderHeader>
<Supplier>LIY0001</Supplier>
<CustomerPoNumber>example po</CustomerPoNumber>
<OrderDate>2013-02-03</OrderDate>
<Warehouse>A1</Warehouse>
</OrderHeader>
<OrderDetails>
<StockLine>
<PurchaseOrderLine>1</PurchaseOrderLine>
<StockCode>12022</StockCode>
<OrderQty>10</OrderQty>
</StockLine>
<StockLine>
<PurchaseOrderLine>2</PurchaseOrderLine>
<StockCode>15014</StockCode>
<OrderQty>15</OrderQty>
</StockLine>
</OrderDetails>
</Orders>
</PostPurchaseOrders>