XML - статьи

         

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


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

<sapi:apply name="ddc.menu.value" href="адрес_сценария" />

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

<sapi version="2.0" xmlns:sapi="http://www.xmlsapiens.org/spec/sapi.dtd"> <sapi:ddc name="sample"> <sapi:choose> <sapi:when exp="eq(this_record_id.value,0)"> <sapi:for-each select="cms_application()" name="enum"> <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>CMS-application error</sapi:fallback> <sapi:choose> <sapi:when exp="gt(this.this.переменная_из_потока_данных.value,0)"> <sapi:code> Sample code, &this.this.переменная_из_потока_данных.value; </sapi:code> </sapi:when> </sapi:choose> <sapi:when> </sapi:choose> </sapi:ddc> </sapi>

При запросе функционального сценария допускается указание параметров запроса, позволяет многократное использование функциональных сценариев.

<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>

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

Язык существует более года, а недавно была опубликована вторая версия языка. Это внушает надежду на то, что язык будет и далее развиваться и использоваться. На сегодня на базе этого языка функционируют всего несколько CMS. Однако если это число увеличится, обмен функциональными решениями между разработчиками, использующими различные CMS может стать обычным делом.

См. Рис.2

Информация об авторе

, ведущий программист Red Graphic Systems

Занят разработкой программного обеспечения с 1987 года. Начиная с 1998 года опубликовал более 50 технических статей в специализированных изданиях. С 2001 года разрабатывает архитектурные решения и инструментальные средства для управления содержанием (Content Management, CMF, ECM).



Содержание раздела