我有一个XML与记录,一些记录相互关联,因此,我想在输出中将它们组合在一起。XSL分组输出
XML:
<Records>
<Record id="1" group="10" />
<Record id="2" group="20" />
<Record id="3" group="20" />
<Record id="4" group="20" />
</Records>
目前,我显示
<span>1</span><span>2</span><span>3</span><span>4</span>
我想什么显示为(基于具有同一组记录)
<span>1</span><span>2-4</span>
我有使用preceding-sibling::Record/@group
来查看分组是否在迭代之间改变s但我正在努力弄清楚如何实现我需要的2-4
分组。
这里是我到目前为止,有一些评论穿插来说明什么,我要做的:如果你的节点八方通将是连续
<xsl:for-each select="Records/Record">
<xsl:if test="@group != preceding-sibling::Record/@group">
<!-- obviously here we need 2-4...somehow? -->
<span><xsl:value-of="@id" /></span>
</xsl:if>
</xsl:for-each>
你使用XSLT 2.0处理器等撒克逊9或AltovaXML,这样就可以利用的xsl':换每个组选择=“录制”组相邻=“@基”>'? – 2012-07-13 10:54:35
不幸的是,它只是XSLT 1 - 我用它来浏览器渲染 – Chris 2012-07-13 10:56:54
看看你是否可以自己调整http://stackoverflow.com/questions/11451989/xsl-count-continuous-nodes/11456109#11456109你的需求,如果不是说我相信后来有人能帮上忙。 – 2012-07-13 11:04:15