Jump to content

Язык атрибутов шаблона

Язык атрибутов шаблона (TAL) — это язык шаблонов, используемый для создания динамических HTML и XML страниц . Его основная цель — упростить сотрудничество между программистами и дизайнерами. Это достигается путем встраивания операторов TAL в действительные теги HTML (или XML), с которыми затем можно работать, используя общие инструменты проектирования.

TAL был создан для Zope , но используется Python и в других проектах на основе .

Атрибуты

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

Используются следующие атрибуты, обычно с префиксом " tal:":

определять
создает локальные переменные, действительные в элементе, несущем атрибут (включая содержащиеся элементы)
состояние
решает, отображать ли тег (и весь содержащийся в нем текст)
повторить
создает переменную цикла и повторяет тег, повторяя последовательность, например, для создания списка выбора или таблицы
содержание
заменяет содержимое тега
заменять
заменяет тег (и, следовательно, не может использоваться вместе с контентом или атрибутами)
атрибуты
заменяет заданные атрибуты (например, используя tal:attributes="name name; id name" атрибутам name и id поля ввода можно установить значение переменной " name")
опустить тег
позволяет опустить начальный и конечный тег и отображать содержимое только в том случае, если данное выражение истинно.
при ошибке
в случае возникновения ошибки этот атрибут работает как тег контента.

Если тег имеет более одного атрибута TAL, они оцениваются в указанном выше (достаточно логичном) порядке.

В случаях, когда нет тега, который мог бы принять атрибуты, можно использовать специальные теги TAL, что делает " tal:" префикс не обязателен. например:

<tal:if   условие =  "контекст/список элементов"  > ... </tal:if> 

приведет к тому, что код внутри tal:if теги, которые будут использоваться всякий раз, когда контекст (независимо от того, какой контекст определяет сервер приложений, например объект) содержит переменную " itemlist" с истинным значением, например список, содержащий хотя бы один элемент. Идентификатор, следующий за двоеточием, является произвольным; он просто должен присутствовать и быть одинаковым для открывающего и закрывающего тега.

Язык атрибутов шаблона расширения макросов (METAL) дополняет TAL, предоставляя макросы , которые позволяют повторно использовать код в файлах шаблонов. Оба были созданы для Zope , но используются Python и в других проектах .

METAL дополняет TAL возможностью повторного использования кода. Это позволяет разработчику определять и использовать макросы, которые, в свою очередь, могут иметь слоты ; при использовании макроса для слота можно указать вариационный контент.

При создании XML- документов необходимо указать пространство имен XML.( xmlns:metal="http://xml.zope.org/namespaces/metal").

МЕТАЛЛИЧЕСКИЕ атрибуты

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

Распознаются следующие атрибуты, обычно требующие „ metal:«префикс:

определение макроса
создает макрос
определить-слот
создает слот внутри макроса
использовать-макрос
использует макрос (обычно задаваемый через выражение пути TALES)
заполнить слот
при использовании макроса заменяет содержимое данного слота по умолчанию
расширение-макрос
начиная с Zope v3: расширяет макрос, сравнимый с созданием подклассов , путем переопределения слотов

Обычно одновременно используется только один из них.

В случаях, когда отсутствует тег, который мог бы принять атрибуты, а также в особых случаях, когда требуется более одного атрибута METAL, можно использовать специальные теги METAL, делая префикс «metal:» необязательным. Например, (нарисовано с Roundup учетом ):

 <  html   metal:define-macro  =  "глазурь"  >  ...  <  metal:myslot   define-slot  =  "необязательная форма"  >  ...  </  html  >    <  html   metal:use-macro  =  "templates/page/macros/icing"  >   <  form   metal:fill-slot  =  "optional-form"   action  =  "."           tal:attributes  =  "контекст/обозначение действия"  >  ...  </  форма  >   </  html  > 

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

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

TAL/TALES/METAL используются в следующих проектах:

Другие реализации

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

Помимо исходной реализации Zope , существуют (не исчерпывающие):

  • ШарпТАЛ

Иди (Взрослея)

[ редактировать ]
  • tal, встроенная реализация TAL, TALES и METAL на Go
  • template-tal , Реализация TAL для NodeJs
  • он стоял
  • Дистальный
  • ДомТал
  • ЗПТ-JS
  • JPT: Java шаблоны страниц
  • JavaZPT
  • ZPT-Java
  • PETAL, Perl язык атрибутов шаблонов
  • Шаблон-TAL
  • PHPTAL
  • Твитал
  • Бисквит
  • zTAL
  • XSLTal, преобразование TAL через XSLT в XSLT

Общий Лисп

[ редактировать ]
  • TALCL: библиотека, реализующая язык шаблонов TAL для Common Lisp.

Подобные реализации

[ редактировать ]
  • ATal – не совсем реализация TAL, но вдохновлена ​​концепциями TAL.
  • Thymeleaf — не реализация TAL, а аналогичный язык «естественных шаблонов».
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e6ae27d657b3af21b9317365cf93da4d__1687404900
URL1:https://arc.ask3.ru/arc/aa/e6/4d/e6ae27d657b3af21b9317365cf93da4d.html
Заголовок, (Title) документа по адресу, URL1:
Template Attribute Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)