我會做這樣的:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:param name="value" select="0"/>
<xsl:strip-space elements="*"/>
<xsl:output indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="root">
<xsl:copy>
<xsl:apply-templates select="item[not(. = $value)][position() mod 2 = 1]" mode="group"/>
</xsl:copy>
</xsl:template>
<xsl:template match="item" mode="group">
<div>
<xsl:apply-templates select=". | following-sibling::item[not(. = $value)][1]"/>
</div>
</xsl:template>
</xsl:stylesheet>
與輸入是
<root>
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>0</item>
<item>6</item>
</root>
,那麼你得到的結果
<root>
<div>
<item>1</item>
<item>2</item>
</div>
<div>
<item>3</item>
<item>6</item>
</div>
</root>
如果你也想改造item
到i
元素簡單地添加模板
<xsl:template match="item">
<i>
<xsl:apply-templates/>
</i>
</xsl:template>
在樣式表。
你到目前爲止嘗試過什麼?這個網站有助於解決問題,它不是「給我codez」。 –
我寫了我的問題。我可以分別完成這兩項任務,但不能在一起。我不認爲這會幫助你。 – tylik
我的意思是,向我們展示您迄今爲止嘗試使用的xslt,這不起作用。如果你還沒有,那麼我們不會爲你做你的工作/工作。 –