@Kornushenkov

Как разобрать строку в XSLT по разделителю?

Доброго времени суток!
Есть XML документ с выгрузкой товаров. В каждой карточке есть тег в котором указан размер в виде Ширина/Высота/Длина как через XSLT разбить его по разделителю / и записать значения в отдельные новые теги.

Из:
<cart>
...
...
...
<dimensions>15.2/44/13.5</dimensions>
...
</cart>


Сделать так:
<cart>
...
...
...
<width>15.2</width>
<height>44</height>
<length>13.5</length>
...
</cart>


Заранее благодарен.
  • Вопрос задан
  • 590 просмотров
Решения вопроса 1
@Roman-Fov
XML
<cart>
	<dimensions>15.2/44/13.5</dimensions>
</cart>


XSLt
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:template match="/cart">
		<div>
			<xsl:text>Ширина: </xsl:text>
			<xsl:value-of select="substring-before(dimensions, '/')"/>
		</div>
		<div>
			<xsl:text>Высота:</xsl:text>
			<xsl:value-of select="substring-before(substring-after(dimensions, '/'), '/')"/>
		</div>
		<div>
			<xsl:text>Глубина:</xsl:text>
			<xsl:value-of select="substring-after(substring-after(dimensions, '/'), '/')"/>
		</div>
	</xsl:template>
</xsl:stylesheet>


Result
<div>Ширина: 15.2</div>
<div>Высота:44</div>
<div>Глубина:13.5</div>


Оно?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@overdd
Более кошерно будет использовать функцию tokenize
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект