将图元拆分为多个部分



我想把文本分成几个部分:

源XML:

<data>
<p>hello</p>
<p>nice</p>
<p>BREAK</p>
<p>world</p>
</data>

我半成功的尝试:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" >
<xsl:output indent="yes"/>
<xsl:template match="data">
<xsl:for-each-group select="p" group-starting-with=".[. = 'BREAK']">
<chapter>
<xsl:copy-of select="current-group()"/>
</chapter>
</xsl:for-each-group>
</xsl:template>

</xsl:stylesheet>

我想要得到的结果(片段(:

<chapter>
<p>hello</p>
<p>nice</p>
</chapter>
<chapter>
<p>world</p>
</chapter>

相反,我得到了

<chapter>
<p>hello</p>
<p>nice</p>
</chapter>
<chapter>
<p>BREAK</p>
<p>world</p>
</chapter>

(仍包含<p>BREAK</p>(

我的问题是:有没有一种简单的方法可以去除<p>BREAK</p>元素?

您可以轻松选择<xsl:copy-of select="current-group()[not(. = 'BREAK')]"/>

相关内容

  • 没有找到相关文章

最新更新