템플릿 특성 언어

Template Attribute Language

TAL(Template Attribute Language)은 동적 HTMLXML 페이지를 생성하는 데 사용되는 템플리트 언어다.프로그래머와 디자이너의 협업을 단순화하는 것이 주요 목표다.이는 TAL 문을 유효한 HTML(또는 XML) 태그 안에 내장함으로써 달성되며, 이 태그는 공통 설계 도구를 사용하여 작업할 수 있다.

TAL은 조페를 위해 만들어졌지만 다른 파이톤 기반 프로젝트에서도 사용된다.

특성

다음 속성이 사용되며, 일반적으로 "로 접두사가 된다.tal:":

정의를 내리다
속성이 있는 요소(포함된 요소 포함)에서 유효한 로컬 변수 생성
조건
태그 렌더링 여부 결정(및 포함된 모든 텍스트)
되풀이하여 말하다
루프 변수를 만들고 시퀀스를 반복하는 태그(예: 선택 목록 또는 테이블 생성)
내용물
태그의 내용을 대체하다
대체하다
태그를 대체하므로 내용 또는 속성과 함께 사용할 수 없음
특성
지정된 속성을 대체한다(예: 을 사용하여).tal:attributes="name name; id name"입력 필드의 이름 및 ID 속성을 변수 " 으로 설정할 수 있음name")
생략 부호를 붙이다
시작 태그와 끝 태그를 생략하고 지정된 식이 참인 경우에만 내용을 렌더링할 수 있다.
당직의
오류가 발생하면 이 속성은 내용 태그와 같이 작동한다.

태그에 둘 이상의 TAL 속성이 있는 경우, 위의 (공정하게 논리적인) 순서에 따라 평가된다.

속성을 스스로 취할 수 있는 태그가 없는 경우, 특수 TAL 태그를 사용할 수 있어 "tal:" 접두사 접두사 선택사항(예::

<tal:if condition="president/list"> ...</탈:if>

그 안에 있는 코드가tal:if컨텍스트(응용프로그램 서버가 컨텍스트를 정의함)에 변수 "를 포함할 때마다 사용할 태그itemlist" 값을 갖는 ". 예를 들어 적어도 하나의 요소를 포함하는 목록.결장을 따르는 식별자는 임의적이다; 그것은 단지 그곳에 있어야 하며, 개폐 태그와 같은 것이어야 한다.

금속

METAL(Macro Expansion Template Attribute Language)은 TAL을 보완하여 템플릿 파일 간에 코드를 재사용할 수 있는 매크로를 제공한다.둘 다 조프를 위해 만들어졌지만 다른 파이썬 프로젝트에서도 사용된다.

METAL은 코드를 재사용할 수 있는 기능으로 TAL을 보완한다.그것은 개발자가 매크로를 정의하고 사용할 수 있게 해주며, 매크로를 사용할 때 슬롯에 대해 가변 콘텐츠를 지정할 수 있다.

XML 문서를 생성할 때 XML 네임스페이스를 지정해야 함(xmlns:metal="http://xml.zope.org/namespaces/metal").

METAL 속성

다음과 같은 속성이 인식되며, 일반적으로 „이 필요하다.metal:" 접두사:

정의를 내리다
매크로를 만들다
정의를 내리다
매크로 내부에 슬롯을 생성
중고품인
매크로 사용(보통 TATES 경로 표현식을 통해 제공)
만두의
매크로 사용 시 지정된 슬롯의 기본 내용 바꾸기
연장선상
Zope v3 이후: 슬롯을 재정의하여 하위 클래싱에 버금가는 매크로를 확장함

보통 한 번에 하나씩만 사용한다.

속성을 취할 수 있도록 스스로를 빌려주는 태그가 없는 경우, 그리고 둘 이상의 METAL 속성이 필요한 특별한 경우, 특별한 METAL 태그를 사용할 수 있어 ,metal:" 접두사를 선택적으로 만들 수 있다.예: (Roundup을 염두에 두고 설치):

 <<html금속:define-macro-macro="빙"> ...<<metal:myslot define-changes="선택형식"> ...</metal metal:use-use-use="use-use="page/macros/icing"><form metal:fill-fil="option-form" action="action context/지정자") ...</형식> </형식>

사용법

TAL/TALES/METAL은 다음 프로젝트에서 사용된다.

기타 구현

원래 Zope 구현 외에 다음과 같은 사항이 있다(완전하지 않음).

파이톤

C#

  • 샤프탈

바둑 (골랑)

  • TAL, TALSE 및 METAL의 고유 바둑 구현인 TAL.

자바스크립트

자바

  • JPT: Java 페이지 템플릿
  • 자바ZPT
  • ZPT-자바

  • PETAL, Perl 템플릿 속성 언어
  • 템플릿-TAL

라쿠

  • 플라워, TAL의 라쿠 구현으로 페탈과 PHPTAL이 일부 연장되어 있다.

PHP

  • PHPTAL
  • 트위탈
  • 비스킷
  • 즈탈

XSL

  • XSLTal, XSLT를 통해 TAL로 변환

커먼 리스프

유사한 구현

  • ATAL – 실제로 TAL을 구현하지는 않지만 TAL 개념에 영감을 받은 제품
  • 백리향 - TAL 구현이 아니라 유사한 "자연 템플릿" 언어

참조

외부 링크