Version 1 (modified by 9 years ago) ( diff ) | ,
---|
Template Engine
Основное назначение - обработка XML/HTML документов для использования в серверных приложениях.
Передача данных из приложения
Для передачи данных из приложения используется механизм Holder-ов. Его необходимо расширить функциями метапрограммирования для обеспечения доступа к структурированной информации. К таковой относятся:
- простые типы, доработок не требуется;
- записи, необходима возможность получения значений отдельных полей, что требует наличия механизма описания их типов и способов получения данных (прямой доступ либо вызов функции);
- коллекции, необходима возможность обхода всех элементов.
Как начальный шаг (и весьма полезный в последующем) можно релизовать перечисленные механизмы для JSON, а потом уже расширять Ada методами описания свойств типов и реализовывать мета-компилятор.
Синтаксис шаблонов
Для конструкций языка шаблонов используется пространство имён http://matreshka.forge.ada-ru.org/template, во всех примерах отображаемое на префикс mtl:
<html xmlns:mtl="http://matreshka.forge.ada-ru.org/template" ...> ...
Для подстановки значений объекта в шаблон используется синтаксис (в последующем можно будет использовать выражение, синтаксис при этом не изменится):
${name}