![]() |
|
Модераторы: diadiavova |
![]()
|
|
| davidoffpk |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2010 Репутация: 1 Всего: 1 |
Есть файл следующего вида, отражающий доходы и расходы человека по месяцам:
Проблема заключается в том, что отрицательной разницы за месяц формально быть не может. Нужно скомпенсировать отрицательные разницы за счет доходов в те месяца, где разница положительная. То есть если разница в 3-м месяце "-4", то нужно вместо отрицательного числа (-4) поставить "0" и вычесть "4" из доходов первого и второго месяца, чтобы разница там оставалась неотрицательной. Должно быть например так:
Помогите придумать xslt преобразование, плиз! Это сообщение отредактировал(а) davidoffpk - 1.3.2010, 12:09 |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 2 Всего: 161 |
тебе не кажется, что "вычисление" и "расчет" выходят за пределы понятия трансофрмация? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
А если она отрицательная уже в первом месяце, или, например, доходов предшествующих месяцев недостаточно для компенсации? Вообще-то я думаю, что XSLT - не подходит для решения подобных задач, может и возможно решить задачу с помощью XSLT, но решение будет неоправданно сложным. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| davidoffpk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2010 Репутация: 1 Всего: 1 |
Такого быть не может. В файл попадают лишь те люди, отрицательную разницу которых можно скомпенсировать. Да вот и мне уже тоже кажется, что слишком сложно)) Просто тогда наверное нужно: 1)либо обрабатывать xml, скажем, С/С++, а я не знаком с этими методами... 2)либо обрабатывать xml просто как текстовый документ, что в силу объема тоже не очень просто. Потеряется структура. 3)либо импортировать xml в MS Access или Excel. Я в программировании новичок. Посоветуйте, как бы вы решали эту задачу? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Исключительно при помощи какого-нибудь, известного мне, языка программирования общего назначения. Хотя, если это недоступно, то возможно вариант тоже прокатит. Единственная оговорка: в XML имена элементов не могут содержать пробелов, так что на элементы типа
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 2 Всего: 161 |
Откуда берутся такие XML? Этот XML not wellformated, его XSLем не возьмешь по всякому. разобрал бы xml ораклом, обработал бы данные, собрал бы новую xml. думаю, обошелся бы одним запросом. Вам чем нибудь помог этот мой ответ? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| davidoffpk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2010 Репутация: 1 Всего: 1 |
Такую XML я написал быстренько от руки и забыл про пробелы. В реальном XML структура значительно сложнее. С ораклом я пока не общался, да и SQL знаю пока весьма и весьма посредственно. Я пробовал импортировать все в Access, но там теряется структура документа из-за того, что она сложнее чем я описал в примере. Придется вручную разбивать это по таблицам, потому я и хотел обойтись возможностями только xslt. Если не сложно, напишите подробнее про обработку ораклом и про этот волшебный запрос) Я ближайшее время буду изучать оракл и может мне это поможет. Заранее спасибо! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 2 Всего: 161 |
Мне не настолько сложно написать этот запрос, насколько Вам сложно будет его понять. Как бы там ни было, спасибо за интересную задачу. Не смотря, на то, что такая задача интересна может быть лишь задротам вроде меня, да LKhiger. Что интересного в этой задаче? Мне впервые довелось одновременно использовать регекспы, xml и модель. Решение получилось исключительно декларативное, ни одного итерационного оператора. В реальной жизне, с реальными задачами, таку хрень практически не встретишь.
Это сообщение отредактировал(а) Zloxa - 1.3.2010, 15:54 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| davidoffpk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2010 Репутация: 1 Всего: 1 |
Что правда, то правда... Но все же спасибо за потраченное время и силы. Может мне это и поможет) |
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |