powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Трансформация по условию (XSLT)
3 сообщений из 3, страница 1 из 1
Трансформация по условию (XSLT)
    #33804909
SOS!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходный XML:
Код: plaintext
1.
2.
3.
<a>
  <b> 1 </b>
</a>

Как с помощью XSLT если значение тага <b> равно 1 сгенерить:
Код: plaintext
1.
2.
3.
<c>
  <d>xxx</d>
</c>
а если значение тага <b> равно 2 сгенерить:
Код: plaintext
1.
2.
3.
<c>
  <e>xxx</e>
</c>
Можно ли задать такую условную трансформацию с XSLT?
...
Рейтинг: 0 / 0
Трансформация по условию (XSLT)
    #33805075
beard-electronic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
   <xsl:template match="/a/b">
     <c>
       <xsl:choose>
         <xsl:when test="number(.)=1">
            <d>xxx</d>
         </xsl:when>

         <xsl:otherwise>
            <e>xxx</e>
         </xsl:otherwise>
      </xsl:choose>
     </c>
   </xsl:template>
...
Рейтинг: 0 / 0
Трансформация по условию (XSLT)
    #33805134
beard-electronic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фу ты - не дочитал ...
Вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:template match="/a/b">
     <c>
       <xsl:choose><!--like switch-->
         <xsl:when test="number(.)=1"><!--like case+break-->
            <d>xxx</d>
         </xsl:when>
         <xsl:when test="number(.)=2">
            <e>xxx</e>
         </xsl:when>
         <xsl:otherwise>
            <!--что-нить еще, если первых два условия не сработали. Аналог default в swicth-->
         </xsl:otherwise>
      </xsl:choose>
     </c>
   </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Трансформация по условию (XSLT)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]