-1
我的示例输入XML如下所示。我需要依次生成llNo
元素,并根据元素值code
对元素进行分组?生成序列号。或在XSLT 2.0中计数器
<voucher>
<ID>1234</ID>
<Type>Voucher</Type>
<Flag>true</Flag>
<Accounts>
<AccId>89</AccId>
<AccCd1>a11</AccCd1>
<category>
<catId>ct11</catId>
<code>IB</code>
<Details>abcd</Details>
</category>
<category>
<catId>ct12</catId>
<code>IB</code>
<Details>cvbn</Details>
</category>
<category>
<catId>ct13</catId>
<code>CB</code>
<Details>asdfg</Details>
</category>
<category>
<catId>ct14</catId>
<code>TV</code>
<Details>asdfg</Details>
</category>
</Accounts>
<Accounts>
<AccId>89</AccId>
<AccCd1>a11</AccCd1>
<category>
<catId>ct15</catId>
<code>IB</code>
<Details>abcd</Details>
</category>
<category>
<catId>ct16</catId>
<code>CB</code>
<Details>cvbn</Details>
</category>
<category>
<catId>ct17</catId>
<code>CB</code>
<Details>asdfg</Details>
</category>
<category>
<catId>ct18</catId>
<code>TV</code>
<Details>asdfg</Details>
</category>
</Accounts>
</voucher>
输出XML应在以下格式
<Voucher>
<ID>1234</ID>
<Type>Voucher</Type>
<Flag>true</Flag>
<Accounts1>
<AccId>89</AccId>
<AccCd1>a11</AccCd1>
<category>
<llNo>1</llNo>
<catId>ct11</catId>
<code>IB</code>
<Details>abcd</Details>
</category>
<category>
<llNo>2</llNo>
<catId>ct12</catId>
<code>IB</code>
<Details>cvbn</Details>
</category>
<category>
<llNo>3</llNo>
<catId>ct15</catId>
<code>IB</code>
<Details>abcd</Details>
</category>
</Accounts1>
<Accounts2>
<AccId>89</AccId>
<AccCd1>a11</AccCd1>
<category>
<llNo>4</llNo>
<catId>ct13</catId>
<code>CB</code>
<Details>asdfg</Details>
</category>
<category>
<llNo>5</llNo>
<catId>ct17</catId>
<code>CB</code>
<Details>asdfg</Details>
</category>
<Accounts2>
<Accounts3>
<AccId>89</AccId>
<AccCd1>a11</AccCd1>
<category>
<llNo>6</llNo>
<catId>ct14</catId>
<code>TV</code>
<Details>asdfg</Details>
</category>
<category>
<llNo>7</llNo>
<catId>ct18</catId>
<code>TV</code>
<Details>asdfg</Details>
</category>
<Accounts3>
</Voucher>
你有什么尝试,你卡在哪里?使用XSLT 2.0 for each-group和position()很容易。 –