Обработчик шаблонов - Template processor
А обработчик шаблонов (также известный как шаблонизатор или же парсер шаблонов) является программного обеспечения предназначен для объединения шаблонов с модель данных оформить итоговые документы.[1][2][3] Язык, на котором написаны шаблоны, известен как язык шаблона или же язык шаблонов. Для целей этой статьи результирующий документ - это любой форматированный вывод, включая документы, веб-страница, или же исходный код (в генерация исходного кода ) целиком или по частям. Механизм шаблонов обычно входит в состав система веб-шаблонов или же рамки приложения, а также может использоваться как препроцессор или же фильтр.
Типичные особенности
Механизмы шаблонов обычно включают функции, общие для большинства высокоуровневых языки программирования, с упором на особенности обработки простой текст.
К таким функциям относятся:
- переменные и функции
- замена текста
- включение файла (или включение )
- условная оценка и петли
Встроенные механизмы шаблонов
Хотя процессоры шаблонов обычно представляют собой отдельную часть программного обеспечения, используемую как часть системы или фреймворка, простые языки шаблонов обычно включаются в функции обработки строк в языки программирования общего назначения, а также в программах обработки текста, особенно текстовые редакторы или же текстовые процессоры. Языки шаблонов, как правило, представляют собой простые языки с заменой, в отличие от более сложных средств в полнофункциональных процессорах шаблонов, но могут содержать некоторую логику.
Простые примеры включают строки формата печати, встречается во многих языках программирования, и фрагменты, можно найти в ряде текстовых редакторов и редакторы исходного кода. В текстовых процессорах шаблоны являются обычным явлением, а автоматическое заполнение шаблонов часто называют слияние почты.
Наглядный пример взаимодополняемости разбор а шаблоны - это s
(заменить) команду в sed текстовый процессор, полученный в результате поиска и замены в ред Текстовый редактор. Команды замены имеют вид s / регулярное выражение / замена /
, куда регулярное выражение
это регулярное выражение, для синтаксического анализа ввода и замена
простой шаблон для вывода, либо буквальный текст, либо строка формата, содержащая символы &
для «всего матча» или специального escape-последовательности 1
через 9
для п-ое подвыражение. Например, с / (кошка | собака) с? / 1 с / г
заменяет все слова «кошка» или «собака» на «кошки» или «собаки» без дублирования существующих «s»: (кошка | собака)
это первое (и единственное) подвыражение в регулярном выражении, и 1
в строке формата подставляет это в вывод.
Системные элементы
Все системы обработки шаблонов состоят как минимум из следующих основных элементов:
- связанный модель данных;
- один или больше исходные шаблоны;
- процессор или шаблонизатор;
- сгенерированный вывод в виде итоговые документы.
Модель данных
Это может быть реляционная база данных, исходный файл, например XML, альтернативный формат база данных плоских файлов, а электронная таблица или любой из других различных источников предварительно отформатированных данных. Некоторые системы обработки шаблонов ограничены в типах данных, которые можно использовать. Другие предназначены для максимальной гибкости и допускают множество различных типов данных.
Исходный шаблон
Исходные шаблоны традиционно указываются:
- в соответствии с уже существующим языком программирования;
- согласно специально определенному языку шаблонов;
- в соответствии с особенностями программного приложения хостинга; или же
- в соответствии с гибридной комбинацией некоторых или всего вышеперечисленного.
Шаблонизатор
Механизм шаблонов отвечает за:
- подключение к модели данных;
- обработка кода, указанного в исходных шаблонах; и
- направление вывода на конкретный трубопровод, текстовый файл, или же транслировать.
Кроме того, некоторые механизмы шаблонов допускают дополнительные параметры конфигурации.
Итоговые документы
Они могут состоять из всего документа или его фрагмента.
Использует
Обработка шаблонов используется в разных контекстах для разных целей. Конкретная цель обычно зависит от программное приложение или используемый шаблонизатор. Однако гибкость систем обработки шаблонов часто позволяет нетрадиционное использование для целей, изначально не предназначенных первоначальными разработчиками.
Шаблонизатор
Механизм шаблонов - это особый вид модуля обработки шаблонов, который демонстрирует все основные функции современного язык программирования. Период, термин шаблонизатор развился как обобщенное описание языков программирования, основной или исключительной целью которых была обработка шаблонов и данных для вывода текста. Использование этого термина в первую очередь применяется к Веб-разработка используя система веб-шаблонов, и это также применимо к другим контекстам.[4]
Генерация документа
Структуры создания документов обычно используют обработку шаблонов в качестве центральной модели для создания документов.
Генерация исходного кода
Инструменты генерации исходного кода поддерживают генерацию исходный код (в качестве результирующих документов) из абстрактных моделей данных (например, UML, реляционные данные, хранилища корпоративных данных для конкретных предметных областей) для конкретных доменов приложений, конкретных организаций или для упрощения производственного процесса для программисты.
Функциональность программного обеспечения
А сеть шаблонизатор обрабатывает веб-шаблоны и исходные данные (обычно из реляционная база данных ) для создания одного или нескольких выходных данных веб-страница или фрагменты страницы. Обычно он входит в состав система веб-шаблонов или же рамки приложения. В настоящее время программное обеспечение для обработки шаблонов наиболее часто используется в контексте разработки для сеть.
Сравнение
XSLT модель обработки шаблонов, разработанная W3C. Он предназначен в первую очередь для преобразований на XML данные (в веб-документы или другой выход).
Языки программирования Такие как Perl, Python, PHP, Рубин, C #, и Ява поддержка обработки шаблонов либо изначально, либо с помощью дополнительных библиотек и модулей. JavaServer Pages,[5] Активные серверные страницы,[6] Генши (для Python) и eRuby являются примерами шаблонизаторов, специально разработанных для разработки веб-приложений.
Более того, обработка шаблонов иногда включается как вспомогательная функция программных пакетов, таких как текстовые редакторы, Иды и системы управления реляционными базами данных.
Преимущества использования шаблонизаторов
- поощряет организацию исходного кода на отдельные уровни (см., например, MVC )
- повышает производительность за счет сокращения ненужного воспроизводства усилий
- улучшает командную работу, позволяя разделить работу на основе набора навыков (например, художественные и технические)
Смотрите также
- Автоматизация документов
- Документальное моделирование
- Предметно-ориентированный язык программирования
- Глоссарий терминов операционных систем § Шаблоны
- Интернационализация и локализация
- Компоновка двигателей
- Макро (информатика)
Рекомендации
- ^ Нимейер, Патрик (2002). Изучение Java. Севастополь: О'Рейли. ISBN 0-596-00285-8.
- ^ Манолеску, Драгош (2006). Шаблонные языки разработки программ 5. Читает: Addison-Wesley Professional. ISBN 0-321-32194-4.
- ^ Фаулер, Мартин (2003). Паттерны архитектуры корпоративных приложений. Бостон: Эддисон-Уэсли. ISBN 0-321-12742-0.
- ^ (см., например, Velocity, TemplateToolkit, Freemarker).
- ^ JavaServer Pages - это технология, выпущенная Sun для использования с языком программирования Java.«Технология JavaServer Pages». 2006-10-10. Получено 2006-10-10.
- ^ Первоначально ASP 1.0 был выпущен для использования с Microsoft VBScript и JScript. Это было расширение Microsoft IIS.