В XSL 1.0 я провел поиск и обнаружил похожие элементы вокруг группировки, но я думаю, что это немного отличается. Извинения, если это уже было покрыто, я не смог найти ответ
Вход
<?xml version="1.0"?>
<xmldoc>
<section paragraphMarker="true">Part 1. </section>
<section paragraphMarker="false">Part 2. </section>
<section paragraphMarker="false">Part 3. </section>
<section paragraphMarker="true">Part 4. </section>
<section paragraphMarker="true">Part 5. </section>
<section paragraphMarker="false">Part 6. </section>
</xmldoc>
Желаемый вывод
<p>Part 1. Part 2. Part 3.</p>
<p>Part 4. </p>
<p>Part 5. Part 6. </p>
Я пробовал следующее: -
<xsl:key name="sectionsWithParagraphMarker"
match="section[@paragraphMarker='true']" use="."/>
<xsl:template match="/">
<xsl:for-each select=
"/xmldoc/section[generate-id()
=
generate-id(key('sectionsWithParagraphMarker',.)[1])]">
<p>
<xsl:apply-templates select="."/>
<xsl:apply-templates select="./following-sibling::node()
[count(. | /xmldoc/section[@paragraphMarker='true'][1]/
preceding-sibling::node())
=
count(/xmldoc/section[@paragraphMarker='true'][1]/
preceding-sibling::node())
]"/>
</p>
</xsl:for-each>
</xsl:template>
<xsl:template match="section">
<xsl:select value-of="."/>
</xsl:template>
Это не работает, и я застрял с ним.Он выбирает слишком много узлов 'section' для всех групп.Любая помощь будет принята с благодарностью!