powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML в HTML
9 сообщений из 9, страница 1 из 1
XML в HTML
    #37130619
rulik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно я не являюсь программистом, но мне очень понадобилось выполнить его функцию - поэтому как могу, так и по-пальцам расскажу какая есть проблема.
Помогите советом но лучше примером как мне разобрать файл XML в таблицу, которая будет находиться в файле HTML? но с условием, что сама таблица имеет фиксированное количество колонок (например 10), и неограниченное количество рядов. И еще одно условие как мне все это организовать так, чтобы ссылки в таблице били графическими, и все это вот чудо заработало на локальном компе. Если кто поможет - буду очень признателен.
Существует в наличии примерный файл XML
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0"?>
<data>
	<img id="1">
		<title><book1></title>
		<link><"doc/1.html"></link> 
	</img>
	<img id="2">
		<title><book2></title>
		<link><"doc/2.html"></link> 
	</img>

		***********************
		
	<img id="n">
		<title><bookn></title>
		<link><"doc/n.html"></link> 
	</img>
</data>
...
Рейтинг: 0 / 0
XML в HTML
    #37130724
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rulik,

давай подробней.
какое соответствие между твоим ХМЛ и колонками таблицы.
Код: plaintext
<img id="n">
это идентификатор колонки или строки?
...
Рейтинг: 0 / 0
XML в HTML
    #37130781
rulik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anton_Demin,

n - это н-ный элемент в таблице. и как-бы правильно все объяснить... есть например 10 колонок.. рядов - неизвестно. Надо чтобы в каждую ячейку вставлялся элемент типа "картинка", а картинка в свою очередь должна иметь привязку к id="1",следующая картинка к id="2", и так далее пока не кончаться ячейки в ряду (10) - потом картинки идут на второй ряд (все это в зависимости от того, сколько элементов описано в xml).
Спасибо.
...
Рейтинг: 0 / 0
XML в HTML
    #37130802
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rulik,

xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0"?>
<?xml-stylesheet href="q2.xsl" type="text/xsl" ?>	
<data>
	<img id="1">
		<title>book1</title>
		<src>image/ 1 .jpg</src>
		<link>doc/ 1 .html</link> 
	</img>
	<img id="2">
		<title>book2</title>
		<src>image/ 2 .jpg</src>
		<link>doc/ 2 .html</link> 
	</img>
	<img id="3">
		<title>book3</title>
		<src>image/ 3 .jpg</src>
		<link>doc/ 3 .html</link> 
	</img>
</data>

xsl
Код: 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.
27.
28.
29.
30.
<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
	<xsl:output method="html"/>
	<!-- -->
	<xsl:variable name="num_col" select="4"/>
	<!-- -->
	<xsl:template match="/">
		<html>
			<body>
				<table border="1">
					<xsl:apply-templates select="data/img[position() mod $num_col=1]" mode="tr"/>
				</table>
			</body>
		</html>
	</xsl:template>
	<!-- -->
	<xsl:template match="img" mode="tr">
		<tr>
			<xsl:apply-templates select=". | following-sibling::img[position() < $num_col]" mode="td"/>
		</tr>
	</xsl:template>
	<!-- -->
	<xsl:template match="img" mode="td">
		<td>
			<a href="{link}">
				<img alt="{title}" src="{src}"/>
			</a>
		</td>
	</xsl:template>
</xsl:stylesheet>
num_col - количество колонок
...
Рейтинг: 0 / 0
XML в HTML
    #37130830
rulik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
refreg,

Извините - я наверное что-то не так делаю...
Опера мне говорит, что "This document had an invalid XSLT stylesheet. Error message from the XSLT engine:"
а IE " Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей XSL. Исправьте ошибку и затем нажмите кнопку "Обновить" или повторите попытку позднее.


--------------------------------------------------------------------------------

Знак "<" нельзя использовать как значение атрибута. Ошибка при обработке ресурса ''file:///E:/LvivORGRES/Proba/LVIVORGRES/L...

<xsl:apply-templates select=". | following-sibling::img[position() < $num_col]" mode="td"/>
-------------------..."
...
Рейтинг: 0 / 0
XML в HTML
    #37130850
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rulik,

Назови xsl - q2.xsl и положи рядом с xml. Ну, это... ну, да ладно.
...
Рейтинг: 0 / 0
XML в HTML
    #37130866
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0"?>
<data>
	<img id="1">
		<title><book1></title>
		<link><"doc/1.html"></link> 
	</img>
	<img id="2">
		<title><book2></title>
		<link><"doc/2.html"></link> 
	</img>

		***********************
		
	<img id="n">
		<title><bookn></title>
		<link><"doc/n.html"></link> 
	</img>
</data>

так у вас невалидный xml, сначала замените все скобки внутри элементов на & gt; и & lt;
...
Рейтинг: 0 / 0
XML в HTML
    #37130867
rulik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
refreg,

Спасибо Вам за терпение, но я так и сделал - все-таки голова на месте )
я так понимаю, что ругань идет на строчку "<xsl:apply-templates select=". | following-sibling::img[position() < $num_col]" mode="td"/>"
...
Рейтинг: 0 / 0
XML в HTML
    #37131068
rulik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
refreg,

Спасибо тебе огромное - действительно Ваш код работает, и отдельное спасибо Konst_One, он натолкнул на мысль что в строке
Код: plaintext
<xsl:apply-templates select=". | following-sibling::img[position() < $num_col]" mode="td"/>
надо знак поменять с "<" на "& lt;".
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML в HTML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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