Template Attribute LanguageDie Template Attribute Language (TAL, sinngemäß übersetzt: „Attributbasierte Schablonensprache“) ist eine Templatesprache zur Generierung von HTML- und XML- (und damit auch XHTML-) Seiten. Sie verfolgt das Ziel, die Zusammenarbeit von Designern und Programmierern zu erleichtern, indem sowohl die Templates als auch die Ergebnisseiten gültige Dokumente ihrer Auszeichnungssprache sind. Die Templates können deshalb mit Designwerkzeugen bearbeitet werden, die von TAL nichts wissen, aber die ihnen unbekannten Attribute unbehelligt lassen. Die TAL entstand im Rahmen des Web-Anwendungsservers Zope; dort wird in der Regel von Zope Page Templates gesprochen. TAL abstrahiert völlig von der eingesetzten Programmiersprache; lediglich die eingesetzte Sprache für die Ausdrucksauswertung (in der Regel TALES) kann implementierungsabhängig sprachspezifische Ausdrücke erlauben, meist in Python. ÜberblickTAL-Templates werden erstellt als Ergebnisdokumente, bei denen die variablen Inhalte durch spezielle Attribute übersteuert werden; Programmcode außerhalb von Elementen, wie z. B. in PHP oder JSP, ist nicht nötig. Im folgenden Beispiel würde das Element <h1 tal:content="string:Eine völlig andere Überschrift">
Für den Designer sichtbare Überschrift
</h1>
von einem üblichen HTML-Editor als <h1>
Für den Designer sichtbare Überschrift
</h1>
behandelt, während die Anwendung des Templates durch den Application-Server <h1>
Eine völlig andere Überschrift
</h1>
ergibt. Die Angabe eines konstanten Strings ist natürlich ein in der Praxis eher vernachlässigbarer Fall; die möglichen Attributwerte werden von der TAL Expression Syntax (TALES) definiert. So können in den vorhandenen Python-Implementierungen beispielsweise Python-Ausdrücke verwendet werden. Wenn XML-Dokumente generiert werden sollen, ist es wichtig, den XML-Namespace einzutragen ( MakrosMit Hilfe der METAL (Macro Expansion TAL) ist es möglich, Code über Template-Grenzen hinweg wiederzuverwenden. InternationalisierungMit Hilfe der AttributeEs werden folgende Attribute erkannt, denen im Normalfall das Präfix
Wenn ein Element mehrere TAL-Attribute hat, werden diese (unabhängig von der Reihenfolge ihrer Notierung) in der oben angegebenen (logisch naheliegenden) Reihenfolge ausgewertet; die Reihenfolge der Variablen-Definitionen innerhalb eines „define“-Attributs ist hingegen signifikant, sodass eine Variable in späteren Zuweisungen in demselben define-Attribut verwendet werden kann. Wenn es kein Element gibt, das sich als Träger der TAL-Attribute anbietet, können auch spezielle TAL-Tags verwendet werden; in diesem Fall ist das Präfix <tal:if condition="context/itemlist">
...
</tal:if>
Der Code innerhalb des VerwendungTAL/TALES/METAL werden von folgenden Projekten verwendet:
Andere ImplementierungenNeben der ursprünglichen Zope-Implementierung gibt es (ohne Anspruch auf Vollständigkeit) die nachfolgend aufgeführten: Java
JavaScript
Perl
PHP
Python
XSL
Siehe auchLiteratur
Weblinks
|
Portal di Ensiklopedia Dunia