我想做一個XSL轉換,其中我想要組類似的東西。如何使用XSLT對處於同一級別的XML數據進行分組?
但隨着像「鑰匙」方法「產生-ID」我不能夠實現這一目標。
我把源和低於預期的格式。
我也看看this。所以思想與爲了簡化同樣的例子的
來源:
<Root><!-- yes, I know I don't need a 'Root' element! Legacy code... -->
<Plans>
<Planner id="1">
<Plan AreaID="1"></Plan>
<Part ID="9122" Name="foo" />
<Part ID="9126" Name="bar" />
<Plan AreaID="1"></Plan>
<Part ID="8650" Name="baz" />
<Plan AreaID="2"></Plan>
<Part ID="215" Name="quux" />
<Plan AreaID="1" ></Plan>
<Part ID="7350" Name="meh" />
</Planner>
<Planner id="2">
<Plan AreaID="1"></Plan>
<Part ID="9122" Name="foo" />
<Part ID="9126" Name="bar" />
<Plan AreaID="1"></Plan>
<Part ID="8650" Name="baz" />
<Plan AreaID="2"></Plan>
<Part ID="215" Name="quux" />
<Plan AreaID="1" ></Plan>
<Part ID="7350" Name="meh" />
</Planner>
</Plans>
</Root>
預計:
<Root><!-- yes, I know I don't need a 'Root' element! Legacy code... -->
<Plans>
<Planner id="1">
<Plan AreaID="1"></Plan>
<Part ID="9122" Name="foo" />
<Part ID="9126" Name="bar" />
<Part ID="8650" Name="baz" />
<Part ID="7350" Name="meh" />
<Plan AreaID="2"></Plan>
<Part ID="215" Name="quux" />
</Planner>
<Planner id="2">
<Plan AreaID="1"></Plan>
<Part ID="9122" Name="foo" />
<Part ID="9126" Name="bar" />
<Part ID="8650" Name="baz" />
<Part ID="7350" Name="meh" />
<Plan AreaID="2"></Plan>
<Part ID="215" Name="quux" />
</Planner>
</Plans>
</Root>
在我的情況下,由於規劃和部分處於同一水平,我沒有能集團根據我想要做的理想計劃。
到分組(和許多其他)問題的解決方案依賴於是否使用XSLT 1.0或XSLT 2.0。請隨時說出您正在使用的是哪個版本。 –