Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как вывести атрибуты в данной структуре / 4 сообщений из 4, страница 1 из 1
23.02.2011, 11:06
    #37131835
Gambit_d.s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести атрибуты в данной структуре
Есть такая часть xml документа:

<Model>
<name>
Accord
</name>
<Vipusk year="1989-1993">
</Vipusk>
<Vipusk year="1993-1997">
</Vipusk>
<Vipusk year="1997-2002">
</Vipusk>
<Vipusk year="2002-2008">
</Vipusk>
<Vipusk year="2008">
</Vipusk>
<name>
Civic
</name>
<Vipusk year="1987-1991">
</Vipusk>
<Vipusk year="1991-1995">
</Vipusk>
<Vipusk year="1995-2000">
</Vipusk>
<Vipusk year="2009">
</Vipusk>
<name>
CR-V
</name>
<Vipusk year="1995-2001">
</Vipusk>
<Vipusk year="2001-2006">
</Vipusk>
<Vipusk year="2006-2010">
</Vipusk>
</Model>

Нужно написать xsl, который будет выводить <name> только тех у кого <Vipusk> больше 3-х
...
Рейтинг: 0 / 0
23.02.2011, 11:51
    #37131890
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести атрибуты в данной структуре
Gambit_d.s,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:template match="/">
		<root>
			<xsl:apply-templates select="/Model/name"/>
		</root>
	</xsl:template>
	<!-- -->
	<xsl:template match="name">
		<xsl:if test="count(following-sibling::Vipusk[preceding-sibling::name[1]=current()]) > 3">
			<name>
				<xsl:value-of select="text()"/>
			</name>
		</xsl:if>
	</xsl:template>
</xsl:stylesheet>

Похожая проблема: Можно ли создать такой XPath запрос?
...
Рейтинг: 0 / 0
23.02.2011, 12:10
    #37131914
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести атрибуты в данной структуре
Не учел, что значения name может совпадать. Так надежнее:
Код: plaintext
test="count(following-sibling::Vipusk[generate-id(preceding-sibling::name[1])=generate-id(current())]) > 3"
...
Рейтинг: 0 / 0
23.02.2011, 14:52
    #37132196
Gambit_d.s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вывести атрибуты в данной структуре
refreg,

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


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