powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите с XSLT-преобразованием
2 сообщений из 2, страница 1 из 1
Помогите с XSLT-преобразованием
    #39488690
Himmel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой xml:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='test.xsl'?>

<service>

	<request-types>
		<type id="1" caption="value 1"/>
		<type id="2" caption="value 2"/>
		<type id="3" caption="value 3"/>
		<type id="4" caption="value 4"/>
		<type id="5" caption="value 5"/>
	</request-types>
	
	<requests>
		<request type="3" client-name="client 1">some text 1</request>
		<request type="4" client-name="client 2">some text 2</request>
		<request type="3" client-name="client 3">some text 3</request>
		<request type="4" client-name="client 4">some text 4</request>
		<request type="4" client-name="client 5">some text 5</request>
		<request type="5" client-name="client 6">some text 6</request>
	</requests>
	
</service>



На выходе с помощью XSLT-преобразования надо получить такой xml:

Код: xml
1.
2.
3.
4.
5.
6.
7.
<request-stats>
	<request type-caption="value 1" count="0"/>
	<request type-caption="value 2" count="0"/>
	<request type-caption="value 3" count="2"/>
	<request type-caption="value 4" count="3"/>
	<request type-caption="value 5" count="1"/>
</request-stats>
...
Рейтинг: 0 / 0
Помогите с XSLT-преобразованием
    #39488736
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="key" match="service/requests/request/@type" use="."/>

<xsl:template match="/">
  <request-stats>
  <xsl:for-each select="service/request-types/type">

    <xsl:variable name="caption" select="@caption"/>
    <xsl:variable name="count" select="count(key('key', @id))"/>
    <request type-caption="{$caption}" count="{$count}"/>

  </xsl:for-each>
  </request-stats>
</xsl:template>

</xsl:stylesheet>
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите с XSLT-преобразованием
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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