XML Sapiens

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

XML Sapiens — декларативный язык пользовательских интерфейсов веб-приложений. XML Sapiens позволяет подготовить набор объектов, описывающих данные, оформление и функциональность веб-приложения. В дальнейшем эти объекты используются при конструировании веб-приложений.

Язык призван сократить время на разработку и отладку веб-приложений, позволить многократное использование составных объектов приложения.

Язык наследует стиль синтаксиса открытых стандартов XSLT, XInclude, XEXPR. Для практического использования XML Sapiens потребуется процессор языка. В настоящий момент доступна для свободной загрузки версия процессора для языка PHP.

Содержание

Как устроен XML Sapiens

Предполагается, что URI адрес, запрашиваемый пользователем, определяет заданный интерфейс. С этим интерфейсом связан шаблон, задающий структуру, оформление и функциональность интерфейса. Шаблон содержит инструкции XML Sapiens для доставки связанных с интерфейсом данных и функциональности.

Файл:Qc2.gif
XML Sapiens и данные, Дмитрий Шейко. XMLSapiens.org, 2006

XML Sapiens и данные

XML Sapiens включает такое понятие как состояние интерфейса. Это позволяет определить для одного и того же интерфейса приложения различные наборы данных в зависимости от внешних или заданных условий. Допустим, если пользователь авторизован, интерфейс может содержать одни поля содержания, если не авторизован другие. Состояния набора полей содержания интерфейса определяется в отдельном XML-документе. Для того чтобы применить набор достаточно выполнить включение набора для указанного состояния:

<sapi:include href="адрес_файла_набора_полей" parse="fieldset" state="a2" />

Набор полей содержит инструкции доставки данных. Эти инструкции связывают указанный идентификатор данных с типом поля, описанным во внешнем XML-документе.

<sapi:apply name="qc.идентификатор.value" type="тип" href="адрес_описания_типа" />

XML документ типа поля, как и в случае набора полей, может содержать описания типа для различных состояний интерфейса. Если в системе определены состояния «администрирование» и «доставка содержания», то в первом случае данные могут быть представлены в форме запроса содержания, во втором «как есть».

Файл:Ddc2.gif
XML Sapiens и функциональность, Дмитрий Шейко. XMLSapiens.org, 2006

XML Sapiens и функциональность

В базовом шаблоне интерфейса или же в шаблонах, включенных в базовый, посредством указателя может быть определено положение функционального блока. Алгоритм этого блока описан в заданном XML-файле.

<sapi:apply name="ddc.menu.value" href="http://site.com/ddc/menu.xml" />

Файл описания функционального алгоритма (DDC) содержит инструкции анализа условий, аналогично XSLT. Синтаксис DDC также позволяет ссылаться на приложение CMS, которое, согласно переданным параметрам, возвращает поток данных для дальнейшего анализа условий.

..
<sapi:when exp="eq(this_record_id.value,0)">
	<sapi:for-each select="get_infochannel()">
		<sapi:params>
			<sapi:param name="param1">value1</sapi:param>
			<sapi:param name="param2">value2</sapi:param>
		</sapi:params>
		<sapi:ifempty>Records not found</sapi:ifempty>
		<sapi:fallback>infochannel CMS-application error</sapi:fallback>
	<sapi:choose>
	        <sapi:when exp="gt(this.this.entry_name.value,0)">
..

Возможность передачи параметров DDC в шаблоне позволяет многократное использование функциональных сценариев.

<sapi:apply name="ddc.menu.value" href="http://site.com/ddc/menu.xml">
	<sapi:param name="param1">value1</sapi:param>
	<sapi:param name="param2">value2</sapi:param>
</sapi:apply>

См. также

Ссылки

Источник — «http://www.sbup.com/wiki/XML_Sapiens»
Личные инструменты

Served in 0.070 secs.