Mailinglisten-Archive |
Hallo Sebastian und Lutz, > Lutz Zetzsche schrieb: >>genau! Das ist auch noch ein interessanter Punkt. Sollte man nicht direkt >>XSLT anstatt einer Template Engine verwenden? Immerhin hätte man damit >>eine weltweit standardisierte Templatesprache, die nicht an PHP gebunden >>ist, wie es die von Smarty z.B. ist. da gibt es diverse Nachteile. Ein Vorteil von Templates ist ja normalerweise, dass PHPler und HTMLler sich nicht ins Gehege kommen. Da XSLT aber schon (fast) als Programmiersprache bezeichnet werden kann, die zu sehr komplexen Dokumenten führen kann, verliert ein Nicht-Programmierer hier schneller den Durchblick als bei PHP-HTML-Mischcode. Ein extremes Beispiel für die HTML-Darstellung eines FOAF-Dokuments: http://xml.mfd-consult.dk/foaf/explorer/explorer.xsl Um solche "Templates" schreiben zu können, ist schon einiges an Wissen notwendig. Selbst einfachere Beispiele, hier etwas von mir aus 2003, werden schnell kompliziert, wenn z.B. noch etwas JavaScript mit rein soll: http://www.media-palette.de/xml-demo/helgoland/02doppel.xml Hier das XSLT-Stylesheet dazu: http://www.media-palette.de/xml-demo/programm/quizdoppel.xsl Sebastian Mendel wrote: > ja, aber auch die DOM-Dokumente müssen ja erstellt/ausgegeben werden, > dies muss ja auch mittels einer Template-Engine und/oder PHP geschehen > ... ist also nur eine weitere Schicht bzw. Unterteilung des VIEWS in > Daten und Aussehen Hier stellt sich nun die Frage, ob es einen Unterschied macht, die Daten an eine Templateklasse oder an eine XML-Writer-Klasse (o.ä.) weiterzureichen - Nur der Vollständigkeit halber (für die, die es nicht wissen oder sich ins Archiv verirren): Für die Umwandlung von XML per XSLT gibt es Sablotron, als PHP-Erweiterung. (Ist wohl inzwischen auch Standard.) Außerdem besteht die Möglichkeit (wenn man sie hat ;-) ) XML-Dokumente direkt durch den Apachen mit XALAN http://xml.apache.org/#xalan auszugeben. Der Haupthinderungsgrund ist aus meiner Sicht die Unhandlichkeit und Unlesbarkeit von XSLT. Viele Grüße Peter
php::bar PHP Wiki - Listenarchive