Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Работа с XML / 20 сообщений из 20, страница 1 из 1
26.06.2005, 00:33
    #33135078
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
Экспериментальный топик с целью выяснения спроса.
Причина появления -
http://www.sql.ru/forum/actualthread.aspx?tid=191762
...
Рейтинг: 0 / 0
27.06.2005, 07:47
    #33135490
Наблюдатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
Есть исходный XML-документ:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<Info>
  <Users>
    <User name="manager">
       <Result status="1" money="10"/>
    </User>
    <User name="developer">
       <Result status="2" money="20"/>
    </User>
  </Users>
</Info>
На выходе необходимо получить html-код, который содержит таблицу с колонками "Имя пользователя", "Статус", "Сумма на счету".

Суть проблемы: конвертацию нужно выполнить с помощью xslt-файла, т.е. меня интересует конкретное содержимое xslt-файла. Кто что может подсказать?
...
Рейтинг: 0 / 0
27.06.2005, 09:58
    #33135599
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
2Cat2

Почему в Проектировании БД, а не отдельный форум про XML?

2Наблюдатель

Как я понял, может быть такой XML:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="UTF-8"?>
<Info>
	<Users>
		<User name="manager">
			<Result status="1" money="10"/>
			<Result status="0" money="20"/>
		</User>
		<User name="developer">
			<Result status="2" money="20"/>
		</User>
	</Users>
</Info>

Для такого случая прилагаю XSLT шаблон:

Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2004/07/xpath-functions"
xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes">
	<xsl:output encoding="windows-1251"/>
	<xsl:template match="/">
		<html>
			<body>
				<table>
					<tr>
						<td>
							<strong>Имя пользователя</strong>
						</td>
						<td>
							<strong>Статус</strong>
						</td>
						<td>
							<strong>Сумма на счету</strong>
						</td>
					</tr>
					<xsl:apply-templates select="//Users/User/Result"/>
				</table>
			</body>
		</html>
	</xsl:template>
	<xsl:template match="Users/User/Result">
		<tr>
			<td>
				<xsl:value-of select="../@name"/>
			</td>
			<td>
				<xsl:value-of select="@status"/>
			</td>
			<td>
				<xsl:value-of select="@money"/>
			</td>
		</tr>
	</xsl:template>
</xsl:stylesheet>


С уважением,
Мартин Рахманов
http://jimmers.russia.webmatrixhosting.net/
...
Рейтинг: 0 / 0
27.06.2005, 11:32
    #33135817
Наблюдатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
Мартин, теперь немного стало понятнее, спасибо!

А вообще есть возможность написания мини-функций в xslt? Например я захочу просумировать значения поля MONEY, и если оно например равно 100, то вывести другим шрифтом. Тут вопрос не к html, а к самим возможностям xslt-документов.
...
Рейтинг: 0 / 0
27.06.2005, 11:56
    #33135887
Наблюдатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
Тут Glory упоминал о несовместимости софта по работе с XML. И у меня возник вопрос - а если я захочу использовать xslt-документ не в виндах, а в линуксе: насколько полно линуксовые парсеры поддерживают xslt? Может кто имеет такой опыт?
...
Рейтинг: 0 / 0
27.06.2005, 12:18
    #33135956
XML user
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
есть документ
<LIST>
<ASSET>
<description>Описание</description>
<cost>10000</cost>
<branch>1</branch>
<queue>NEW</queue>
</ASSET>
<ASSET>
<description>Описание2</description>
<cost>20000</cost>
<branch>1</branch>
<queue>POST</queue>
</ASSET>
<ASSET>
<description>Описание3</description>
<cost>30000</cost>
<branch>2</branch>
<queue>NEW</queue>
</ASSET>
</LIST>

Нужно отобразить так

Description Cost
Описание 10000
Итого по очереди NEW - 10 000
Описание2 20000
Итого по очереди POST - 20 000
Итого по филиалу 1 - 30 000
Описание3 30000
Итого по очереди NEW - 30 000
Итого по филиалу 2 - 30 000

т.е нужно подвести итого по филиалу, а в филиале по очереди. Схему XML документа можно менять!.

Спасибо.
...
Рейтинг: 0 / 0
27.06.2005, 15:12
    #33136526
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
НаблюдательМартин, теперь немного стало понятнее, спасибо!

А вообще есть возможность написания мини-функций в xslt? Например я захочу просумировать значения поля MONEY, и если оно например равно 100, то вывести другим шрифтом. Тут вопрос не к html, а к самим возможностям xslt-документов.

НаблюдательТут Glory упоминал о несовместимости софта по работе с XML. И у меня возник вопрос - а если я захочу использовать xslt-документ не в виндах, а в линуксе: насколько полно линуксовые парсеры поддерживают xslt? Может кто имеет такой опыт?

В XSLT шаблон можно встроить скрипт, например, JScript. Но это расширение Microsoft, оно не будет работать на Linux платформе, так как на ней не работает прасер от Microsoft. Подробнее про это - см. документацию Microsoft на <msxsl:script>.

НО: для простейшего анализа значений на больше-меньше вроде бы возможностей самого XSLT должно хватить. Я предлагаю описать вашу проблему полностью - что именно требуется.
...
Рейтинг: 0 / 0
27.06.2005, 15:29
    #33136565
Наблюдатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
jimmers, расширю свой вопрос из начала этого топика:
. . .
На выходе необходимо получить html-код, который содержит таблицу с колонками "Имя пользователя", "Статус", "Сумма на счету". В конце вывести строку итого, в которой будет выведена сумма по колонке MONEY. Если эта сумма равна 100, то вывести красным цветом .

А так в общем понятно, и пока изучаю msdn
...
Рейтинг: 0 / 0
27.06.2005, 16:15
    #33136702
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
имхо задачу можно (и нуна) решать через xslt например с цветом можно разобраться через http://www.w3schools.com/xsl/xsl_if.asp
...
Рейтинг: 0 / 0
28.06.2005, 09:52
    #33137463
Наблюдатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
...
Рейтинг: 0 / 0
04.07.2005, 16:04
    #33148359
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
...
Рейтинг: 0 / 0
17.08.2005, 14:21
    #33220666
хм...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
добрый день.
Существует множества xml файлов, описывающих конфигурацию объектов.
Общий вид:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<?xml version="1.0" encoding="windows-1251"?>
<Object1>
	<Param1>Param1Value</Param1>
	<Param2>Param2Value</Param2>
	<Param3>
		<ChildParam3>ChildParam2Value</ChildParam3>
	<Param3/>
...
</Object1>
Теоретически, иерархия может быть неограниченной вложенности, названия объектов и параметров могут быть разнообразными
Есть желание написать один xslt файл, который преобразовывал документ в html-формат, содержащий список, т.е.:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<ul>
	<li>Param1 = Param1Value</li>
	<li>Param2= Param2Value</li>
	<li>Param3:
		<ul>
			<li>ChildParam3 = ChildParam2Value</li>
		</ul>
	</li>
</ul>
Идея, думаю понятна.
Если кто поможет, буду примного благодарен
...
Рейтинг: 0 / 0
17.08.2005, 15:38
    #33220941
хм...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
а вообще, есть возможность прочитать наименование узлов?
т.е. как вытянуть строки "Param1", "Param2" и т.д.?
...
Рейтинг: 0 / 0
17.08.2005, 16:07
    #33221062
хм...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
хм...а вообще, есть возможность прочитать наименование узлов?
т.е. как вытянуть строки "Param1", "Param2" и т.д.?отвечу сам:
<xsl:value-of select="local-name()"/>

Остается проблема с построением иерархии
...
Рейтинг: 0 / 0
22.08.2005, 02:24
    #33227030
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
НаблюдательМартин, теперь немного стало понятнее, спасибо!

А вообще есть возможность написания мини-функций в xslt? Например я захочу просумировать значения поля MONEY, и если оно например равно 100, то вывести другим шрифтом. Тут вопрос не к html, а к самим возможностям xslt-документов.
Это вопрос не XSLT, а конкретого процессора. Например, saxon позволяет делать функции расширения на java и вызывать их из xslt.
...
Рейтинг: 0 / 0
22.08.2005, 10:26
    #33227246
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
авторЭто вопрос не XSLT, а конкретого процессора
Не факт. В xslt есть if, choose, for-each, есть переменные, так что зачастую вполне реально обойтись ими.
...
Рейтинг: 0 / 0
22.08.2005, 10:42
    #33227293
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
тут где-то ссылка на статью была
http://newsletter.narod.ru/sql_pages/sql_jul_2005.htm

мне кажется тем кто такие вопросы задаёт надо сначала её прочитать


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
22.08.2005, 11:38
    #33227459
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
для тех, кто не вкурсе возможностей xslt http://xmlhack.ru/books/xslt/xsltbook.html [Готовые решения]
...
Рейтинг: 0 / 0
23.08.2005, 13:55
    #33229984
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
Naug авторЭто вопрос не XSLT, а конкретого процессора
Не факт. В xslt есть if, choose, for-each, есть переменные, так что зачастую вполне реально обойтись ими.

Да, спасибо, что поправили. Что-то я , видимо спросонья, не то сморозил. Конечно можно все в xslt обработать.
...
Рейтинг: 0 / 0
24.08.2005, 19:11
    #33232719
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с XML
Может кто подскажет, думаю там дело не столько в яве сколько в парсере или коде xml/xsd

/topic/210367#1814902
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Работа с XML / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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