次のような請求書データを使用しています (2 レコード):
<?xml version=1.0" encoding="Windows-1252"?>
<Line>
<SupplierID>Waltons</SupplierID>
<InvoiceID>MOD280229SI</InvoiceID>
<InvoiceDate>20120709</InvoiceDate>
<ItemID>847308</ItemID>
<ColorID>04</ColorID>
<Description>BANTEX Quotation Folder A4 3420</Description>
<MainCategory>FILES FILING</MainCategory>
<SubCategory>Quotation Folders</SubCategory>
<LineNum>17.0000000</LineNum>
<Qty>30.0000000</Qty>
<UnitPriceExclTax>19.2500000</UnitPriceExclTax>
<LineTax>80.8500000</LineTax>
<LinePriceExclTax>577.5000000</LinePriceExclTax>
<ColorName>Blue</ColorName>
<UOM>Ea</UOM>
<Backorder>0.0000000</Backorder>
<INVENTTRANSID>MOD2923560_060</INVENTTRANSID>
</Line>
<Line>
<SupplierID>Waltons</SupplierID>
<InvoiceID>MOD280229SI</InvoiceID>
<InvoiceDate>20120709</InvoiceDate>
<ItemID>847308</ItemID>
<ColorID>06</ColorID>
<Description>BANTEX Quotation Folder A4 3420</Description>
<MainCategory>FILES FILING</MainCategory>
<SubCategory>Quotation Folders</SubCategory>
<LineNum>18.0000000</LineNum>
上記の構造を念頭に置くと、注文は何百ものこれらの行で構成される可能性があります。
これらを請求書のページに印刷していますが、1 ページに収まるのは 18 行だけです。ページのオーバーフロー ルールはすでに機能しています。
私の唯一の問題は、最初のページに最初の 17 を印刷し、次に残高を繰り越すという言葉を印刷し、次のページで残高を繰り越すなどで開始する必要があることです。
XMLを次のように構造化したいと思います
最初の16行は変更なし 16行目以降 残高繰越のみで改行を挿入したい その後、合計17行の空行を挿入したい(最終行は意図的に空欄にしたい) 空行以降Balance Brought Forward を含む別の行を挿入します。この行の後、17 行目以降、さらに 15 行後、データの最後まで同じことを繰り返します。
このようなものを構築する上で、誰かが私を正しい方向に向けることができますか?
これは XSLT 1 または 2 で実行できます。または、VBS の JavaScript で実行することもできます。
私はXMLの構造を制御しています。最初にいくつかの小さな変更を加える必要があるため、サブ要素なしでフラットファイルとして出力しています。次に、これをXMLファイルの残りの部分とマージします。で終わります
行とはレコードを意味するので、上記のXMLは2行あります(2行目はコピーエラーのため不完全です)別の行を挿入することで、完全に新しいXXX要素を追加したいということです
40 行 (要素) で構成される XML から始めるとします。
<Line>
xxx
</Line> x40
私が欲しいものは次のとおりです:
<Line> <!-- x16 lines. from data -->
xxx
</Line>
<Line> - <!-- Inserted -->
<LinePriceExclTax>Balance Carried Forward</LinePriceExclTax>
</Line> - <!-- Inserted -->
<Line></Line>
<Line> - <!-- Inserted -->
<LinePriceExclTax>Balance Brought Forward</LinePriceExclTax>
</Line>
<Line> <!-- x15 lines. From data -->
xxx
</Line>
<Line> <!-- Inserted -->
<LinePriceExclTax>Balance Carried Forward</LinePriceExclTax>
</Line> <!-- Inserted -->
<Line></Line>
<Line> <!-- Inserted -->
<LinePriceExclTax>Balance Brought Forward</LinePriceExclTax>
</Line>
<Line> <!-- x9 lines. from data -->
xxx
</Line>