xmlhack.ru XML-форумы
Обсуждение XML и связанных с ним технологий

Граф переходов


Автор Сообщение
flax (not time to login)
Гость




[4627] Чт Июл 03, 2003 07:47
Граф переходов
есть много(!!!) окошек-станичек, есть логика переходов между ними, логика не слишком сложная, но древовидная организация переходов.
ПРобовал ли кто-нибудь формализовать такой граф(ориент. граф с петлями) с помощью XML (XLink) и как это лучше делать.
Спасибо.Smile
olpa
Любитель

Зарегистрирован: 23.04.2002
Сообщения: 981
Откуда: Санкт-Петербург
Посетить сайт автора
[4632] Чт Июл 03, 2003 20:36

Я думаю, что такие штуки удобно делать на чём-то типа Пролога. А Пролог затем очень хорошо переписывается на XSLT.
flax (not time to login)
Гость




[4641] Пн Июл 07, 2003 10:45
Пример того, что хочу
Боюсь, что меня не совсем правильно поняли Smile
Необходимо реализовать следующие вещи
1) Хорошое описание страниц с финансовой информацией (связанные таблицы, т.е например, одна таблица содержит фамилии сотрудников, вторая выдает информацию о сотруднике на котором стоит курсор Smile в первой), разные выпадающие списки, кнопочки, в общем, обычный для Application вид. Для каждой таблицы информация дается в виде xml. Оформление каждой таблицы (группы) описывается на xml (XUL). Должно быть описан протокол взаимодействия страницы и сервера, с поддержкой транзакций ( т.е если не дошли данные, то на клиенте не пропали итп). Связи между страницами.

2) Автоматическая генерация кода обработки по пункту 1). т.е создается менеджер, который следит за транзакцией, кто куда должен перейти, как сгенерировать и откуда достать данные

3) Портирование этого всего на Axkit (мы ориентируемся на конфигурацию Stronghold RedHat Enterprice Server + пока не дружим с java Sad Sad )

4) В дальнейшем, создание IDE для быстрой разработки пункта 1)

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




[code]<page name="fin_dial" id="er1234">
<description>There is a financial dialog for view salary list</description>
<!--описываем какие данные и откуда должны прийти для данной страницы -->
<binding stand="plural">
<datа type="xml" shema="local/schema/schema[er1234].xsd" location="local/date/data[er12].xml" shortcut="1"/>
<datа type="xml" shema="local/schema/schema[er1234].xsd" target="WebService" methods="GetListOfWorker" location="http://openSGD.by/financial/list.mono" shortcut="2"/>
<datа type="txt" shema="local/script/schema/schema.pl?type='public'&id='config'" location="http://openSGD.by/financial/config.txt" shortcut="3"/>
</binding>
<vizualization>
<!--описывается для двух таблиц/групп, что первая должна быть построена с помощью xsl преобразования из файлов data[er12].xml и визуализацию иметь в виде XUL[typical].xul со скином chrome[classic].chrome. -->
<bind type="XUL" location="local/view/XUL[typical].xul" chrome="local/skin/chrome[classic].chrome" binder_type="XSL" loc="local/binder/xsl/b[er1].xsl" inputdocument="shortcut[1]" group="1"/>
<bind type="XUL" location="local/view/XUL[typical].xul" chrome="local/skin/chrome[classic].chrome" binder_type="XSL" loc="local/binder/xsl/b[er2].xsl" inputdocument="shortcut[2]" group="2"/>
<bind type="Container/XUL" location="local/view/XUL[container].xul" chrome="local/skin/chrome[classic].chrome" binder_type="XSL" loc="local/binder/xsl/b[cont].xsl" inputdocument="shortcut[3]/>
</vizualization>
<general_enviroment>
<!--для всей страницы описывается важная информация котороый будет оперировать страница на клиенте-->
<session>piwknubi12316823761OUOWERWUIUOIU</session>
<transaction>On</transaction>
</general_enviroment>
<!--описывается конфигурационаая информация, которой будет оперировать группы уже на клиенте -->
<group_enviroment id="1"><data type="xml" loc="local/gr.xml"/><group_enviroment>
<group_enviroment id="2"><data type="xml" loc="local/gr.xml"/><group_enviroment>
<SYSTEM_SPELL>
<!--идет описание в стиле WSDL того, что шлется и что получаем от страницы серверу-->
</SYSTEM_SPELL>
<GROUP_SPELL>
<group id="1" target="2">
<!--идет описание в стиле WSDL того, что шлется и что получает группа 1 и группа 2 -->
</group>
<group id="1" target="SYSTEM">
<!--идет описание в стиле WSDL того, что шлется и что получаем от группы 1 и сервера -->
</group>
<group id="2" target="1">
<!--идет описание в стиле WSDL того, что шлется и что получаем-->
</group>
</GROUP_SPELL>
<Links>
<!--Описание XLink куда от этой страницы и при каких условиях можно пойти -->
</Links>
[code]


PS Данный формат конечно сырой. Однако, я искренне надеюсь, что это вас может заинтересовать. Со своей стороны, если будет получаться, я готов делиться по CNU/LGPL
flax
Аспирант

Зарегистрирован: 31.01.2003
Сообщения: 100
Откуда: Minsk
[4642] Пн Июл 07, 2003 11:07
Комментарии
Ваши мысли по этому вообще, и как описать связи ( так например, всякого рода Forbidden и ошибки должны быть в этом описании)
admin
Администратор

Зарегистрирован: 01.01.2001
Сообщения: 101

Посетить сайт автора
[4647] Пн Июл 07, 2003 21:02

Возникший флейм перенесён сюда:
http://xmlhack.ru/forum/xml/viewtopic.php?t=781
olpa
Любитель

Зарегистрирован: 23.04.2002
Сообщения: 981
Откуда: Санкт-Петербург
Посетить сайт автора
[4648] Пн Июл 07, 2003 21:42

Советую обратить внимание на

TaskGuide Viewer
http://www.alphaworks.ibm.com/tech/taskguideviewer

Цитата:

What is TaskGuide Viewer?

TaskGuide Viewer is an XML-based tool for creating wizards. This wizard-creation tool makes computer tasks easier by breaking complicated tasks into sequential, simple steps that can be performed using a graphical, user-friendly interface.



В своё время мне с его помощью удалось завершить проект со сложной логикой переходов.

Основное, что я хочу вам посоветовать:

  • сразу же разрешите не только описывать переходы с помощью XML, но и позвольте запускать мини-программы для передачи управления с формы на форму
  • создайте хранилище для "переменных сессии"