Jump to content

Процессор шаблонов

(Перенаправлено с языка шаблонов )
Диаграмма, иллюстрирующая все основные элементы и процесс обработки шаблонизатора.

Процессор шаблонов (также известный как механизм шаблонов или анализатор шаблонов ) — это программное обеспечение, предназначенное для объединения шаблонов с данными (определенными моделью данных ) для создания результирующих документов или программ . [1] [2] [3] Язык, на котором написаны шаблоны, известен как язык шаблонов или язык шаблонов . Для целей этой статьи результирующим документом является любой вид форматированного вывода, включая документы , веб-страницы или исходный код (при генерации исходного кода ), целиком или по фрагментам. Механизм шаблонов обычно включается как часть системы веб-шаблонов или среды приложения , а также может использоваться в качестве препроцессора или фильтра .

Типичные особенности

[ редактировать ]

Механизмы шаблонов обычно включают в себя функции, общие для большинства языков программирования высокого уровня , с упором на функции обработки обычного текста .

К таким функциям относятся:

Встроенные шаблонизаторы

[ редактировать ]

Хотя процессоры шаблонов обычно представляют собой отдельную часть программного обеспечения, используемую как часть системы или платформы, простые языки шаблонов обычно включаются в функции обработки строк языков программирования общего назначения и в программы обработки текста, особенно текстовые редакторы или текстовые процессоры. . Языки шаблонов, как правило, представляют собой простые языки только подстановки, в отличие от более сложных средств полноценных процессоров шаблонов, но могут содержать некоторую логику.

Простые примеры включают строки формата печати printf , встречающиеся во многих языках программирования, и фрагменты , встречающиеся во многих текстовых редакторах и редакторах исходного кода . В текстовых процессорах шаблоны являются общей функцией, а автоматическое заполнение шаблонов часто называют слиянием почты .

Наглядным примером взаимодополняемости синтаксического анализа и шаблонизации является s (замена) в текстовом процессоре sed , возникающая в результате поиска и замены в текстовом редакторе ed . Команды замены имеют вид s/regexp/replacement/, где regexp регулярное выражение для анализа входных данных и replacement — это простой шаблон для вывода: литеральный текст или строка формата, содержащая символы & для «всего совпадения» или специальных escape-последовательностей \1 через \9 для n- го подвыражения. Например, s/(cat|dog)s?/\1s/g заменяет все вхождения слов «cat» или «dog» на «cats» или «dogs», не дублируя существующую букву «s»: (cat|dog) является первым (и единственным) подвыражением в регулярном выражении, и \1 в строке формата подставляет это в вывод.

Элементы системы

[ редактировать ]

Все системы обработки шаблонов состоят как минимум из следующих основных элементов:

  • связанная модель данных ;
  • один или несколько исходных шаблонов ;
  • процессор или механизм шаблонов ;
  • генерируется вывод в виде итоговых документов .

Модель данных

[ редактировать ]

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

Исходный шаблон

[ редактировать ]

Исходные шаблоны традиционно указываются:

  • согласно уже существующему языку программирования;
  • согласно специально определенному языку шаблонов;
  • в соответствии с особенностями программного обеспечения хостинга; или
  • согласно гибридной комбинации некоторых или всех из вышеперечисленных.

Шаблонизатор

[ редактировать ]

Шаблонизатор отвечает за:

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

Итоговые документы

[ редактировать ]

Они могут состоять из всего документа или его фрагмента.

Использование

[ редактировать ]

Обработка шаблонов используется в различных контекстах для разных целей. Конкретная цель обычно зависит от программного приложения используемого или механизма шаблонов. Однако гибкость систем обработки шаблонов часто позволяет использовать их нетрадиционно для целей, изначально не предусмотренных первоначальными дизайнерами.

Шаблонизатор

[ редактировать ]

Механизм шаблонов — это особый вид модуля обработки шаблонов, который обладает всеми основными функциями современного языка программирования . Термин «машина шаблонов» возник как обобщенное описание языков программирования, основной или исключительной целью которых была обработка шаблонов и данных для вывода текста. Использование этого термина особенно применимо к веб-разработке с использованием системы веб-шаблонов , а также к другим контекстам. [4]

Генерация документов

[ редактировать ]

Платформы создания документов обычно используют обработку шаблонов в качестве центральной модели для создания документов.

Генерация исходного кода

[ редактировать ]

Инструменты генерации исходного кода поддерживают генерацию исходного кода (в виде результирующих документов) из абстрактных моделей данных (например, UML, реляционных данных, специализированных корпоративных хранилищ данных) для конкретных областей приложений, конкретных организаций или для упрощения производственного процесса для компьютера. программисты .

Функциональность программного обеспечения

[ редактировать ]

Механизм веб -шаблонов обрабатывает веб-шаблоны и исходные данные (обычно из реляционной базы данных ) для создания одной или нескольких выходных веб-страниц или фрагментов страниц. Обычно он включается как часть системы веб-шаблонов или среды приложения . В настоящее время программное обеспечение для обработки шаблонов чаще всего используется в контексте разработки для Интернета .

Сравнение

[ редактировать ]

XSLT — это модель обработки шаблонов, разработанная W3C . Он предназначен в первую очередь для преобразования данных XML веб-документы или другой вывод).

Такие языки программирования, как Perl , Python , PHP , Ruby , C# , Java и Go , поддерживают обработку шаблонов либо изначально, либо через дополнительные библиотеки и модули. Страницы Java-сервера , [5] Активные страницы сервера , [6] Genshi (для Python) и eRuby — примеры механизмов шаблонов, разработанных специально для разработки веб-приложений.

Более того, обработка шаблонов иногда включается как дополнительная функция таких программных пакетов, как текстовые редакторы , IDE и системы управления реляционными базами данных .

Преимущества использования шаблонизаторов

[ редактировать ]
  • поощряет организацию исходного кода в функционально отдельные уровни (см., например, MVC ).
  • повышает производительность за счет сокращения ненужного воспроизводства усилий
  • улучшает командную работу, позволяя разделить работу на основе набора навыков (например, художественных и технических)

См. также

[ редактировать ]
  1. ^ Нимейер, Патрик (2002). Изучение Java . Севастополь: О'Рейли. ISBN  0-596-00285-8 .
  2. ^ Манолеску, Драгош (2006). Языки шаблонов проектирования программ 5 . Чтение: Аддисон-Уэсли Профессионал. ISBN  0-321-32194-4 .
  3. ^ Фаулер, Мартин (2003). Шаблоны архитектуры корпоративных приложений . Бостон: Аддисон-Уэсли. ISBN  0-321-12742-0 .
  4. ^ (см., например, Velocity, TemplateToolkit, Freemarker).
  5. ^ JavaServer Pages — это технология, выпущенная Sun для использования с языком программирования Java. «Технология JavaServer Pages» . 10 октября 2006 г. Проверено 10 октября 2006 г.
  6. ^ ASP 1.0 изначально был выпущен для использования с Microsoft VBScript и JScript.Это было расширение Microsoft IIS.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b74d88b774392bff64ad18579d85405a__1707886440
URL1:https://arc.ask3.ru/arc/aa/b7/5a/b74d88b774392bff64ad18579d85405a.html
Заголовок, (Title) документа по адресу, URL1:
Template processor - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)