Заранее извиняюсь, если этот вопрос действительно прост, но я не могу найти способ обойти эту проблему.
Мне нужен способ объединить функцию substring-before и substring-after вxsl, поэтому у меня есть начальная и конечная точки в элементе описания RSS-канала.
В каждом теге описания я хочу извлечь все из «Первичного заголовка» и далее, но остановиться, как только он достигнет первого *Тег 1005 *.
Я попробовал следующий xsl без особого успеха
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="channel">
<xsl:for-each select="item">
<xsl:value-of select=substring-after(description, 'Primary Title:' />
<xsl:value-of select=substring-before(description, '<b>' />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Ниже приведен XML, с которым я сейчас работаю.
<rss version="2.0">
<channel>
<item>
<title>Article_110224_081057</title>
<description>
<![CDATA[<div><b>Description:</b>This is my description<b>Primary Title:</b>This is my primary title<b>Second Title:</b>This is my second title title </div>
]]>
</description>
</item>
<item>
<title>Article_110224_081057</title>
<description>
<![CDATA[<div><b>Description:</b>This is my description<b>Other Title:</b>This is my other title<b>Second Title:</b>This is my second title titleb<b>Primary Title:</b>This is my primary title<b> more text </div>
]]>
</description>
</item>
</channel>
</rss>