【发布时间】:2012-12-20 09:45:18
【问题描述】:
我想转换这个 xml 片段
<Sets>
<Set id="category.product.typeA.item1"/>
<Set id="category.product.typeB.item2"/>
<Set id="category.product.typeC.item3"/>
<Set id="category.product.typeA.item2"/>
<Set id="category.product.typeA.item3"/>
<Set id="category.service.typeA.item1"/>
<Set id="category.service.typeA.item2"/>
<Set id="category.product.typeA.item4"/>
<Set id="category.product.typeA.item5"/>
</Sets>
进入以下 xml 片段:
<Category id="category.product">
<Group id="category.product.typeA">
<Set id="category.product.typeA.item1"/>
<Set id="category.product.typeA.item2"/>
<Set id="category.product.typeA.item3"/>
<Set id="category.product.typeA.item4"/>
<Set id="category.product.typeA.item5"/>
</Group>
<Group id="category.product.typeB">
<Set id="category.product.typeB.item2"/>
</Group>
<Group id="category.product.typeC">
<Set id="category.product.typeC.item3"/>
</Group>
</Category>
<Category id="category.service">
<Group id="category.service.typeA">
<Set id="category.service.typeA.item1"/>
<Set id="category.service.typeA.item2"/>
</Group>
</Category>
基本上,我想根据属性值将元素分成不同的组。
所以,属性值匹配的元素: category.product.typeA.* 应该放在一组 category.product.typeB.* 应该放在另一个组中
如果属性的值与 category.product.* 匹配,则该组应归入一个类别,如果属性的值与 category.service.* 匹配,则应将其归入另一个类别。
我已经努力使用“starts-with”和“for-each-group”,但我无法将元素的分组和属性的通配符匹配放在一起,希望能提供任何帮助。
【问题讨论】:
标签: xslt