powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как с помощью XPath сделать inner join
2 сообщений из 2, страница 1 из 1
Как с помощью XPath сделать inner join
    #37228948
BPK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть документ:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<root>
	<users>
		...........
		<user>
			<id>masha</id>
			<pic> 12432 .jpg</pic>
		</user>
		...........
		<user>
			<id>serj</id>
			<pic> 109868 .jpg</pic>
		</user>
		...........
	<users>
	..................
	<comments>
		<comment user="masha" date="20.12.2010 15:35">
			<text>Ля-ля-ля</text>
			<comment user="serj" date="20.12.2010 16:10">
				<text>Ты права!</text>
			</comment>
		</comment>
	</comments>
</root>

С помощью XSLT-шаблона обрабатываю блок комментариев comments. Напротив каждого коммента хочу иметь юзерпик. Получается так:

Код: plaintext
1.
2.
3.
4.
<xsl:template match="comment">
	..................................
	<img src="files/{/*/users/user[id='значение']/pic}" />
	..................................
</xsl:template>
Где в "значение" надо подставить текущее /comments/comment/@user

Как это сделать?
...
Рейтинг: 0 / 0
Как с помощью XPath сделать inner join
    #37229015
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BPK,

Код: plaintext
1.
<xsl:variable name="cur_comm" select="@user"/>
<img src="files/{/*/users/user[id=$cur_comm]/pic}"/>
или
Код: plaintext
<img src="files/{/*/users/user[id=current()/@user]/pic}"/>
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как с помощью XPath сделать inner join
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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