powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Работа с XML
20 сообщений из 20, страница 1 из 1
Работа с XML
    #33135078
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Экспериментальный топик с целью выяснения спроса.
Причина появления -
http://www.sql.ru/forum/actualthread.aspx?tid=191762
...
Рейтинг: 0 / 0
Работа с XML
    #33135490
Наблюдатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть исходный 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
Работа с XML
    #33135599
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Работа с XML
    #33135817
Наблюдатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мартин, теперь немного стало понятнее, спасибо!

А вообще есть возможность написания мини-функций в xslt? Например я захочу просумировать значения поля MONEY, и если оно например равно 100, то вывести другим шрифтом. Тут вопрос не к html, а к самим возможностям xslt-документов.
...
Рейтинг: 0 / 0
Работа с XML
    #33135887
Наблюдатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут Glory упоминал о несовместимости софта по работе с XML. И у меня возник вопрос - а если я захочу использовать xslt-документ не в виндах, а в линуксе: насколько полно линуксовые парсеры поддерживают xslt? Может кто имеет такой опыт?
...
Рейтинг: 0 / 0
Работа с XML
    #33135956
XML user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть документ
<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
Работа с XML
    #33136526
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НаблюдательМартин, теперь немного стало понятнее, спасибо!

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

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

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

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

А так в общем понятно, и пока изучаю msdn
...
Рейтинг: 0 / 0
Работа с XML
    #33136702
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо задачу можно (и нуна) решать через xslt например с цветом можно разобраться через http://www.w3schools.com/xsl/xsl_if.asp
...
Рейтинг: 0 / 0
Работа с XML
    #33137463
Наблюдатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с XML
    #33148359
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с XML
    #33220666
хм...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день.
Существует множества 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
Работа с XML
    #33220941
хм...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще, есть возможность прочитать наименование узлов?
т.е. как вытянуть строки "Param1", "Param2" и т.д.?
...
Рейтинг: 0 / 0
Работа с XML
    #33221062
хм...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм...а вообще, есть возможность прочитать наименование узлов?
т.е. как вытянуть строки "Param1", "Param2" и т.д.?отвечу сам:
<xsl:value-of select="local-name()"/>

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

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

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


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

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

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


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