У меня есть проблема, когда мне нужно перебрать много строк и отформатировать отдельные элементы в каждой строке, которые соответствуют слову item.
Я могу сделать цикл и выяснить, как применить форматирование.Но моя проблема заключается в следующем: элемент появляется в конце строки, когда я применяю XSLT-преобразование.
Ниже я включил свой код.
Я использую функции XML for-each
, value-of
и if
.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL /Transform">
<xsl:template match="/">
<html>
<body>
<h2>Title</h2>
<xsl:for-each select="song/l">
<p>
<xsl:value-of select="current()"/>
<xsl:if test="verb">
<span style="color:#ff0000">
<i><xsl:value-of select="verb"/></i>
</span>
</xsl:if>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Мой ввод:
<?xml version="1.0" encoding="UTF-8"?>
<song>
<l n="1">The fox <verb>jumps</verb> up high</l>
<l n="2">The frog is greener than a forest.</l>
</song>
То, чего я надеюсь достичь, это:
Например, в такой строке, как
"The Brown fox jumps up high"
Слово jump
помечено как глагол и должно быть другого цвета и выделено курсивом.
Мой код сейчас отображает
"The Brown fox jumps up high. jumps"
Отформатирован правильно.
Мне это нужно дляудерживайте прыжки в той же позиции на линии, что и.
Любая помощь или совет приветствуются.