XMLbySQL

VisualER

OpenByText

WebDBView

 

 

 

Архитектура

XMLbySQL является процессором выполняющим команды хранящиеся в XML-файлах в папке приложения и возвращающим результат выполнения команд пользователю. Выбор выполняемого командного файла происходит через переменную с именем "page". По умолчанию переменной "page" присвоено значение "index".

Перед выполнением команды к ней может быть применена XSL-трансформация из указанного в команде файла, в трансформацию в качестве параметров передаются все переменные текущей веб-сессии пользователя.

К результату выполнения так же может быть применена XSL-трансформация для получения удобного для просмотра документа.

Пример рабочего цикла

  • пользователь набирает в строке адреса браузера http://myserver/myapp/default.aspx?page=test
  • веб-сервер читает команды из файла test.xml в папке веб-приложения
    • если в узле <binding /> командного файла указан XSL шаблон преобразования то сервер загружает его и производит трансформацию команд
  • сервер выполняет команды из командного файла
  • отдаёт полученый результат пользователю
    • если в узле <style /> командного файла указан XSL-шаблон и в атрибуте transform указано server то сервер преобразует результат по шаблону и отдаёт пользователю, если указан атрибут mime то этот mime-тип указывается в хедере
    • если в атрибуте transform указано noserver то результат отдаётся пользователю в формате XML с указанием стиля <?xml-stylesheet type="text/xsl" href="XSL-шаблон" ?>
    • если узел <style /> отсутствует то результат отдаётся в формате XML

Переменные веб-сессии

В трансформации команд перед выполнением используются следующие типы переменных (в порядке убывания приоритета):

  • переменные из GET-запроса
  • переменные из POST-запроса
  • переменные сохранённые в Cookies
  • переменные уровня приложения (т.е. хранящиеся в appSettings/add key=... файла web.config в папке приложения)
  • переменные из предидущих сессий

Т.е. при обработке test.xml вызванного из формы

<form method="post" action="default.aspx?page=test&anyText=test2">
<input name="anyText" type="text" id="anyText" value="test1">
</form>

переменной anyText будет присвоено значение test2 а не test1 т.к. приоритет переменных переданных методом GET выше чем переданных методом POST

для передачи и получения переменных в преобразование используется стандартный XSLT механизм. Все переменные сохраняются на сервере в течении сессии.

Типы выполняемых команд

Командами могут быть запросы к базам данных, получение сведений о файловой системе, отправка писем.

Более подробно описаны на стр. Типы команд

 

 

 

   
sss1024@mail.ru  

                          Найти: на

 

Сайт создан в системе uCoz