powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xslt преобразование
5 сообщений из 5, страница 1 из 1
xslt преобразование
    #37121107
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть есть такой xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<Root>
  <Name>Тест</Name>
  <HomeURL></HomeURL>
  <BaseURL></BaseURL>
  <BaseThumbURL></BaseThumbURL>
  <Groups>
    <Group ID="1" URL="http://19716667_116281579">Группа  1 </Group>
    <Group ID="2" URL="http://19716667_125465282">Группа  2 </Group>
  </Groups>
  <Images>
    <Image>
      <GroupID> 1 </GroupID>
      <ThumbSize> 4664 </ThumbSize>
      <ThumbURL> 125465282 /m_4f109c0d.jpg</ThumbURL>
    </Image>
    <Image>
      <GroupID> 2 </GroupID>
      <ThumbSize> 4501 </ThumbSize>
      <ThumbURL>/ 125465282 /m_cd7151db.jpg</ThumbURL>
    </Image>
    <Image>
      <GroupID> 1 </GroupID>
      <ThumbSize> 4040 </ThumbSize>
      <ThumbURL> 125465282 /m_a350a181.jpg</ThumbURL>
    </Image>
  <Images>
</Root>

XSL:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
	<xsl:template match="/Root">
		<html>
		<head>
		<title>Альбом «<xsl:value-of select="Name" />»</title>
		<link rel="stylesheet" type="text/css" href="style.css" />
		</head>
		<body>
			<xsl:apply-templates select="Images/Image" />
		</body>
		</html>
	</xsl:template>
	<xsl:template match="/Root/Images/Image">
			<xsl:attribute name="href"><xsl:value-of select="/Root/BaseURL" /><xsl:value-of select="URL" /></xsl:attribute>
			<img width="100" height="50" border="0">
				<xsl:attribute name="src"><xsl:value-of select="/Root/BaseThumbURL" /><xsl:value-of select="ThumbURL" /></xsl:attribute>
			</img>
	</xsl:template>
</xsl:stylesheet>

В итоге получаю HTML, в котором вижу:
Картинка1 Картинка2 Картинка3

А хотелось бы видеть:
Группа1
=========
КартинкаГруппы1 КартинкаГруппы2 КартинкаГруппы3...
Группа2
=========
КартинкаГруппы1 КартинкаГруппы2 КартинкаГруппы3...

Как такое можно реализовать?
...
Рейтинг: 0 / 0
xslt преобразование
    #37121173
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__,

Проблема в группировке? Разберись с простым примером: Группировка и сортировка годов .
...
Рейтинг: 0 / 0
xslt преобразование
    #37121298
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refreg,
Что то не очень понятно как можно увязать
<Group ID="1" URL=" http://19716667_116281579">Группа 1</Group>
и <Image>
<GroupID>1</GroupID>
<ThumbSize>4664</ThumbSize>
<ThumbURL>125465282/m_4f109c0d.jpg</ThumbURL>
</Image>
<Image>
<GroupID>1</GroupID>
<ThumbSize>4040</ThumbSize>
<ThumbURL>125465282/m_a350a181.jpg</ThumbURL>
</Image>


А затем
<Group ID="2" URL=" http://19716667_125465282">Группа 2</Group>
и
<Image>
<GroupID>2</GroupID>
<ThumbSize>4501</ThumbSize>
<ThumbURL>/125465282/m_cd7151db.jpg</ThumbURL>
</Image>
...
Рейтинг: 0 / 0
xslt преобразование
    #37121439
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__,

В html, надеюсь, сам раскрасишь...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:key match="/Root/Images/Image" name="ImageGroup" use="GroupID"/>
	<!-- -->
	<xsl:template match="/">
		<html_body>
			<xsl:for-each select="/Root/Groups/Group">
				<h1>
					<xsl:value-of select="text()"/>
				</h1>
				<itemGROUP>
					<xsl:for-each select="key('ImageGroup',@ID)">
						<itemIMAGE>
							<xsl:copy-of select="."/>
						</itemIMAGE>
					</xsl:for-each>
				</itemGROUP>
			</xsl:for-each>
		</html_body>
	</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
xslt преобразование
    #37121577
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refreg,

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


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