![]() ![]() |
Sie sind hier: ZWikiSeiten > DTMLobject DTMLobjectBegriffserkl�rung Namen der Seite: Vielleicht doch lieber DTMLObject?, ich war mir da bei ein paar Seiten unschl�ssig - FloK �bersetzt von http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html#c37ac15c11c10 DTMLObjects? sind die vorrangigen SeitenVorlagen? von Zope. DTML steht f�r DocumentTemplateMarkupLanguage?. Diese Sprache besteht aus einem Set von Befehlen zur Seitenerstellung und hat die Syntax von [SGML]?, bekannt durch den Gebrauch der Sprache [HTML]?. Die Befehle k�nnen in PlainText? eingebettet werden und werden unver�ndert in die erzeugte Seite �bernommen. Der wichtigste Inhalt eines DTMLObjects? ist ein DocumentTemplate? (SeitenVorlage?). Wenn das Objekt gerendert wird, werden die DTMLBefehle? im Template ausgef�hrt. Jeder Befehl erzeugt Text und dieser wird anstatt dem orginalen Befehl ins Template eingesetzt. Wenn alle Befehle ausgef�hrt sind wird der resultierende Text als gerendertes Ergebnis zur�ckgegeben. Je nach Kontext kann dies zum Beispiel als Antwortseite auf einen WebRequest? oder als Teil eines umfassenderen Prozesses genutzt werden. Die DocumentTemplate? Befehle werden im NameLookupContext? (Kontext der Bezeichnersuche, NameSpace?) ausgef�hrt. Dabei werden die ObjectNames? (ObjektBezeichner?) in den Befehlen nach konkreten Objekten aufgel�st. Die beiden verschiedenen DTMLObject?-Typen DTMLMethod und DTMLDocument gehen verschiedene Wege um ihren NamesRaum?(NameSpace?) f�r die Ausf�hrung des DocumentTemplate?-s zu erstellen. Eine DTMLMethod verwendet im Grunde den Kontext des Aufrufs unver�ndert, ein DTMLDocument stellt sich selbst an oberste Stelle des Kontexts. Daraus ergibt sich, da� das DocumentTemplate? einer DTMLMethod die Methode nicht sieht, sondern direkt auf den AufrufKontext? schaut. (besseres Wort fuer sieht, schaut?) Das Template verh�lt sich also wie eine Methode des AufrufKontext?-es. (Daher hat die Klasse ihren Namen.) Das Template eines DMTLDocument?-s arbeitet im Gegensatz dazu vorrangig mit diesem DocumentObject?. Der AufrufKontext? wird nur dann relevant, wenn das Objekt (bzw. die AcquisitionAncestors?(Vorfahren von denen geerbt wird) den Namen nicht aufl�sen kann. Es gibt auch noch einen weiteren Unterschied zwischen DTMLDocument und DTMLMethod: Ersteres ist ein PropertyManager, letzteres nicht, da auf die PRoperties? sowieso nicht zugegriffen werden kann (letzter Satz richtig?) DTMLDocument erbt von DTMLMethod. Beide Klassen haben die selben Methoden um auf das DocumentTemplate? zuzugreifen, es zu ver�ndern und auszuf�hren. Die COnstructor?-s hei�en [manage_addDTMLDocument]? and [manage_addDTMLMethod]?. FlorianKonnertz, 2003/03/18 10:57 CET (via web): |