Для генерации документов по шаблонам важной задачей является сокращение количества шаблонов. Чем меньше шаблонов, тем легче их поддерживать, вносить в них изменения. Этого можно достичь, если шаблоны будут полиморфны, т.е. будут содержать в себе избыточность. В зависимости от параметров генерации лишние части во время генерации документа будут удаляться и в результате останутся только те части, которые требуются. Разметим, например, текст шаблона следующим образом:
<part:1>Текст части 1.</part:1>
Постоянно присутствующий текст. <part:2>Текст части 2.</part:2>
Передадим генератору в параметрах, что надо удалить <part:1> (или оставить <part:2>). В результате получим:
Постоянно присутствующий текст. Текст части 2.
Для логической операци И (не удалять, если выбраны <part:1> и <part:3>) разметка может быть следующей:
<part:1><part:3>Текст части 1.</part:3></part:1>
Постоянно присутствующий текст. <part:2>Текст части 2.</part:2>
Для логической операци ИЛИ (удалять, если выбраны <part:1> или <part:3>) разметка может быть следующей:
<part:1>||<part:3>Текст части 1.</part:3></part:1>
Постоянно присутствующий текст. <part:2>Текст части 2.</part:2>
Перечислим достоинства и недостатки данного способа разметки шаблонов.
Достоинства:
— в одном шаблоне может содержаться множество тематически связанных документов.
— разметка достаточна простая и может быть выполнена сотрудниками, не связанными с ИТ. При наличии хорошего инструмента для разработки шаблонов выполнить подобную разметку сможет сотрудник, компетентный в предметной области, и ему не нужно будет работать с некомпетентным в предмете посредником из ИТ.
— есть возможность получить из всего списка полей для заполнения информацией, содержащихся в шаблоне, список полей, которые останутся после удаления лишних фрагментов из шаблона.
Недостатки:
— разметка без специального инструмента разработчика плохо читается.
— размеры шаблонов становятся очень большими, что может привести к снижению скорости генерации, если не предпринять специальных мер.
Для борьбы с большими размерами шаблонов можно применить способ разбивки шаблона на части, где части хранятся отдельно от шаблона и вставляются в него только при наличии параметров, переданных генератору. Это значительно сокращает размеры шаблона, а значит и время генерации. Разбивка шаблона на части осуществляется автоматически средой разработки шаблонов при наличии в шаблоне специальной разметки, в которой указывается в каких случаях часть должна вставляться в основной шаблон.
<part:1>Текст части 1.</part:1>
Постоянно присутствующий текст. <part:2>Текст части 2.</part:2>
Передадим генератору в параметрах, что надо удалить <part:1> (или оставить <part:2>). В результате получим:
Постоянно присутствующий текст. Текст части 2.
Для логической операци И (не удалять, если выбраны <part:1> и <part:3>) разметка может быть следующей:
<part:1><part:3>Текст части 1.</part:3></part:1>
Постоянно присутствующий текст. <part:2>Текст части 2.</part:2>
Для логической операци ИЛИ (удалять, если выбраны <part:1> или <part:3>) разметка может быть следующей:
<part:1>||<part:3>Текст части 1.</part:3></part:1>
Постоянно присутствующий текст. <part:2>Текст части 2.</part:2>
Перечислим достоинства и недостатки данного способа разметки шаблонов.
Достоинства:
— в одном шаблоне может содержаться множество тематически связанных документов.
— разметка достаточна простая и может быть выполнена сотрудниками, не связанными с ИТ. При наличии хорошего инструмента для разработки шаблонов выполнить подобную разметку сможет сотрудник, компетентный в предметной области, и ему не нужно будет работать с некомпетентным в предмете посредником из ИТ.
— есть возможность получить из всего списка полей для заполнения информацией, содержащихся в шаблоне, список полей, которые останутся после удаления лишних фрагментов из шаблона.
Недостатки:
— разметка без специального инструмента разработчика плохо читается.
— размеры шаблонов становятся очень большими, что может привести к снижению скорости генерации, если не предпринять специальных мер.
Для борьбы с большими размерами шаблонов можно применить способ разбивки шаблона на части, где части хранятся отдельно от шаблона и вставляются в него только при наличии параметров, переданных генератору. Это значительно сокращает размеры шаблона, а значит и время генерации. Разбивка шаблона на части осуществляется автоматически средой разработки шаблонов при наличии в шаблоне специальной разметки, в которой указывается в каких случаях часть должна вставляться в основной шаблон.
Поделиться с друзьями
x893
Для какой цели написан сей опус?
basilbasilbasil
как сделать свой hellosign с подписями и шаблонами ))
x893
Как то уж слишком примитивно.
Всё равно что описывать веточки для добычи огня.