Я работаю в XSLT 2.0 и испытываю проблемы с наматыванием тегов на части строки.Вот что у меня есть:
<dc:subject>Red
Green
Blue
</dc:subject>
и желаемый результат:
<subject>
<topic>Red</topic>
<topic>Green</topic>
<topic>Blue</topic>
</subject>
Я знаю, что могу использовать substring-before()
, чтобы захватить что-нибудь перед разделителем, но я не знаюкак использовать его рекурсивно, чтобы получить каждый экземпляр перед разделителем;с другой стороны, так как я нахожусь в 2.0, я могу использовать replace()
, чтобы поразить все вхождения, но он не примет угловую скобку, поэтому я не могу просто сказать, чтобы обернуть каждое вхождение в теги <topic>
.Что мне здесь не хватает?
<xsl:value-of select="replace(dc:subject, '.*
','????')"/>
или
<xsl:value-of select="substring-before(dc:subject, '
')"/>
Спасибо!