Häufig gestellte Frage zu Zope Page Templates
Häufig gestellte Frage zu Zope Page Templates
Frage 1: Was sind Page Templates (ZPT)?
Bei VisionStatement findet sich ein Überblick.
Frage 2: Ersetzen Page Templates DTML?
ZPT ist eine Alternative zu DTML und kann einen großen Teil wenn nicht sogar den kompletten Gebrauch von DTML für eine bestimmte Anwendergruppe ersetzen. Sollten Sie PresentationDesigner sein, werden Sie ZPT nützlicher als DTML empfinden.
Frage 3: Ist DTML überholt?
Wir ermutigen Entwickler bei neuen Projekten zu prüfen, ob ZPT in Frage kommt. Hier bei DC werden wir ZPT verwenden, wo immer es in Frage kommt. Aber wie auch immer, wenn DTML besser paßt, ....
Frage 4: Kann ich ZPT verwenden, ohne mich mit XML auszukennen?
Ja, man kann ZPT ohne jede XML-Vorkenntnisse verwenden. Die Attribut-Sprache von ZPT wurde so entworfen, daß sie mit der XML-Grammatik kompatibel ist, aber das bedeutet nur, daß sie einfach und gut definiert ist.
Frage 4ax: Warum also überhaupt XML?
Wenn sich das Web in Richtung XHTML entwickelt (vorrausgesetzt, Sie glauben daran), dann wird XML das allgemein zugrunde liegenden Markup-Format sein. Es bietet eine hohe Flexibilität durch die Verwendung von Namensräumen, so daß wir innerhalb der Strukturen von XML alles erledigen können, was wir mit DTML tun wollten. Außerdem erwarten wir, daß es mehr HTML-Editoren geben wird die XML unterstützen, als solche, die DTML unterstützen.
Frage 4bx: Warum ist man auf das Arbeiten mit Attribute eingeschränkt?
Eigene Elemente definieren wäre sicher eine Möglichkeit. Unglücklicherweise erwarten wir, das die meisten HTML-Editoren eher weiterhin mit reinem HTML arbeiten, als beliebiges XML zu unterstützen. Die Definition einer eigenen Elementmenge (durch eine DTD oder ein Schema) erfordert eine Menge Verarbeitungsaufwand seitens des Editors, um irgendwas nützliches mit der Markupsprache anzufangen. Ein Teil der Kernidee von ZPT ist, den PresentationDesigner zu erlauben, sich eher auf die Darstellung (also HTML) zu konzentrieren als auf neudefinierte Elemente, die sich im Editor nicht vernünftig visualisieren lassen.
Frage 5: Benötigt ZPT XHTML?
ZPT arbeitet mit gewöhnlichem HTML. Das ZPT-Markup besteht in den Attributen der HTML-Tags. Stört sich der verwendete HTML-Editor nicht an unbekannten Attributen, kommt er auch mit Page Templates zurecht.
Frage 6: Was ist XHTML (kurze Antwort, bitte)?
Informell gesehen ist XHTML einfach HTML mit
einer strengeren Syntax und Semantik. Ein paar Regeln sind zum
Beispiel, das alle Tags geschlossen werden müssen, oder das jedes
Attribut der Syntax attributName=“wert immer in
Anführungszeichen“ folgen muß. Außerdem dürfen bestimmte
Elemente bestimmte andere Elemente nicht als Kinder enthalten.
Das ist es im Großen und Ganzen (wir entschuldigen uns bei allen
XML-Verfechtern).
Frage 7: Mein bevorzugter Editor kann nur einfaches HTML. Kann ich damit ZPT verwenden?
Ja, da gibt es mehrere Möglichkeiten. Die beste ist, einen Editor zu verwenden der XML unterstützt (was einfach bedeutet, daß es keine Probleme mit eigenen Elementen oder Namensräumen gibt). Wenn Ihr Editor mit Code wie dem untenstehenden klarkommt, dann können Sie wahrscheinlich ZPT verwenden:
<span tal:define=“x str:1“ />
Sie können jedoch auch einfach ein Werkzeug wie HTML Tidy verwenden, um Ihr HTML in XHTML zu konvertieren (was von ZPT bedingungslos verstanden wird). Der einzige Seiteneffekt ist, daß die Ausgabe nicht mehr Ihrem originalen HTML-Code entspricht! Dies ist keine optimale Lösung.
Frage 8: Welche HTML-Editoren arbeiten gut mit ZPT?
Wir sind noch dabei, eine Liste zusammenzustellen, aber auf kommerzieller Seite arbeiten sowohl GoLive als auch Dreamweaver 4 gut mit ZPT. Frühere Versionen von Amaya arbeiten im HTML-Modus ebenfalls gut.
Frage 9: Wie verwendet man einen HTML-Editor am besten mit ZPT?
Ein Ziel von ZPT ist die nahtlose Integration in Ihren bisherigen Estellungsprozeß. Im Moment bedeutet dies entweder die Verwendung des HTML-Editor-Formulars (Igitt!), oder die Verwendung eines HTML-Editors der mit WebDAV oder FTP arbeiten kann. Da ZPT erwartet, daß die zu bearbeitenden Quellen aus Zope ausgelesen werden, ist dies der natürlichste Weg zu arbeiten: Zope enthält die anerkannten Quellen.
Frage 10: Warum spricht man bei ZPT über TAL und METAL als nicht Zope-spezifisch?
Wir dachten diese Ideen sind so großartig, daß wir sie nicht für uns behalten wollten. Natürlich glauben wir, daß wir die absolut beste Implementierung der Spezifikationen haben, aber wir wollten auch sicherstellen, daß die Spezifikationen so allgemein sind, daß jeder, der diese Idee stiehlt (jede gute Idee sollte gestohlen werden!), nicht eine total abweichende Implementierung hat. Wir brauchen Annäherung, nicht Auseinanderentwicklung.
Frage 11: Bedeutet dies, daß TAL und METAL einem Gremium wie dem W3C zur Standardisierung vorgeschlagen werden soll?
Im Augenblick gibt es keine derartigen Bestrebungen. Im Gegensatz zu vielen anderen Standardvorschlägen wollten wir zuerst eine funktionierende Implementierung haben.
Frage 12: Wie führe ich die Tests aus? Funktionieren die Beispiele alle?
Die Datei ‚TAL README.txt’ beschreibt, wie man die Testumgebung für TAL laufen läßt. Haben Sie ‚expat’ nicht installiert, werden die XML-Beispiele fehlschlagen. Die ZPT-Tests können durch das Ausführen von ‚run.py’ im Testverzeichnis durchgeführt werden.
Frage 13: Funktioniert Acquisition mit den Pfadausdrücken aus TALES?
Pfadausdrücke wie zum Beispiel
„here/master_page/macros/copyright“ müssen immer mit
einer Standardvariablen anfangen (in diesem Fall
„here“). Jeder Abschnitt des Pfads zieht Vorteile
aus der Acquistion, wenn das angesprochene Objekt dies
unterstützt; „master_page“ könnte von „here“
acquiriert worden sein. Hier liegt ein Unterschied zu
DTML, wo jeder Name in einer großen, mannigfaltigen
Menge von Orten gesucht wird, von denen viele Acquisition
unterstützen.
Frage 14: Wie schreibe ich Kommentare, die in der Darstellung der Seite nicht angezeigt werden?
Verwenden sie tal:replace=“nothing“ oder
tal:condition=“nothing“ wie folgt:
<span tal:replace=“nothing“>A
Comment</span>
<span tal:replace=”nothing”><!- - A Commented
Comment - -></span>
Frage 15: Wenn ich tal:attributes verwende um das src-
oder das href-Attribut zu setzen, werden meine Kaufmannsunds
(’&’) in & s
verwandelt! Wie kann ich das Verhindern?
Das können und sollen Sie nicht! Dem Standard entsprechend ist escapen absolut korrekt. Es funktioniert auch mit jedem Browser, den wir ausprobiert haben.






