bedingtes XSLT möglich?
Gunnar Bittersmann
- xsl
0 Ludger0 Thomas Meinike
Hi,
Wie bekommt man XML-Dateien (RSS, FOAF, ...) in einer menschenlesbaren Form angezeigt?
Mit CSS ist das ja kein Problem. Das W3C macht es in http://w3.org/2000/08/w3c-synd/home.rss so. Browser interpretieren CSS, RSS-Reader ignorieren es.
Aber geht das auch mit XSLT? Über content negotiation? Wenn ein Agent text/html (application/xhtml+xml) anfordert, soll transformiert werden, ansonsten nicht?
Oder muss in solchen Fällen die Transformation statt in XSLT doch mit PHP o.ä. erfolgen?
Gruß,
Gunnar
Hi,
Wie bekommt man XML-Dateien (RSS, FOAF, ...) in einer menschenlesbaren Form angezeigt?
XML-Dateien sind bereits menschenlesbar. Ein echtes Leistungsmerkmal, wie ich finde. Nun zum Rest Deines Beitrags...
Aber geht das auch mit XSLT?
XML wird von XSLT bspw. in XHTML transformiert, klar.
Über content negotiation?
Hey, DOS Attacken gegen Content?
Wenn ein Agent text/html (application/xhtml+xml) anfordert, soll transformiert werden, ansonsten nicht?
Auch manche Browser koennen die XSLTransformation. Da koennte man tatsaechlich zwischen client- und serverseitiger Transformation unterscheiden. Clientseitige Transformation bedingt manchmal deutlich weniger traffic.
Oder muss in solchen Fällen die Transformation statt in XSLT doch mit PHP o.ä. erfolgen?
Noee.
Gruss,
Ludger
Hallo,
Aber geht das auch mit XSLT? Über content negotiation? Wenn ein Agent text/html (application/xhtml+xml) anfordert, soll transformiert werden, ansonsten nicht?
Auch wenn der Client XML/XHTML-faehig ist, sagt das noch nichts ueber seine XSLT-Faehigkeit aus.
Oder muss in solchen Fällen die Transformation statt in XSLT doch mit PHP o.ä. erfolgen?
Nicht unbedingt "statt", sondern ggf. auch mit XSLT und PHP.
Clientseitige XSL-Transformationen halte ich eigentlich nur sinnvoll fuer Intranets mit einheitlicher Ausstattung oder (vor allem) fuer Test- und Uebungszwecke). Produktive "ont-the-fly"-Verarbeitung von XML in andere Zielformate ist nach wie vor etwas fuer die Serverseite.
MfG, Thomas
Hi Thomas,
Auch wenn der Client XML/XHTML-faehig ist, sagt das noch nichts ueber seine XSLT-Faehigkeit aus.
Also XSLT für sich allein läuft immer auf dem Client?
Haste vielleicht einen Link „serverseitiges XSLT für Dummies“?
Danke,
Gunnar
Hallo,
Also XSLT für sich allein läuft immer auf dem Client?
XSLT laeuft nicht fuer sich allein -- es bedarf der Anwendung eines XSLT-Prozessors und der _kann_ auch im Client verfuegbar sein, aber darauf ist eben kein Verlass.
Natuerlich kann man auch lokal Dokumente umwandeln und das Ergebnis dann hochladen.
Haste vielleicht einen Link „serverseitiges XSLT für Dummies“?
So direkt nicht, denn formal passiert dort auch "nicht mehr" als das Prozessieren von XML mit XSL zu einem Ausgabeformat. Skriptsprachen delegieren das mit wenigen Codezeilen an entsprechende Module/Bibliotheken. Das Ergebnis (HTML, SVG usw.) wird dann an den Client ausgeliefert.
MfG, Thomas
Hi,
Haste vielleicht einen Link „serverseitiges XSLT für Dummies“?
http://de.selfhtml.org/xml/darstellung/index.htm fuer den Einstieg?
Gruss,
ludger
Ludger,
Wenn du öfter hier im Forum wärst, wüsstest du, dass ich mich in SELFHTML ganz gut auskenne. >;->
Gunnar
Hi,
Wenn du öfter hier im Forum wärst, wüsstest du, dass ich mich in SELFHTML ganz gut auskenne. >;->
warum stellst Du dann Fragen wie:
Also XSLT für sich allein läuft immer auf dem Client?
Haste vielleicht einen Link „serverseitiges XSLT für Dummies“?
Noch ein Link wegen der Starrkoepfigkeit: http://de.selfhtml.org/xml/darstellung/xslgrundlagen.htm
Tss, tss...
Gruss,
Ludger
Ludger,
Noch ein Link wegen der Starrkoepfigkeit: http://de.selfhtml.org/xml/darstellung/xslgrundlagen.htm
Ja, hab ich auch schon mal gelesen. Aber so richtig schlau, wie XSLT und PHP zusammenwirken, werd ich daraus auch nicht.
Gunnar
Hallo,
Ja, hab ich auch schon mal gelesen. Aber so richtig schlau, wie XSLT und PHP zusammenwirken, werd ich daraus auch nicht.
Zuisammenwirken tun sie eigentlich gar nicht. Wie Thomas Sagte, delegiert PHP diese Aufgaben en einem XSLT-Prozessor, entweder an Sablotorn http://www.php.net/manual/en/ref.xslt.php oder libxslt http://www.php.net/manual/en/ref.xsl.php
Grüße
Thomas
Danke, Thomas.
Wann lohnt es denn eigentlich, ein XSLT-Stylesheet zu schreiben, und nicht gleich die Transformation in PHP zu implementieren?
Gunnar
Hi,
Wann lohnt es denn eigentlich, ein XSLT-Stylesheet zu schreiben, und nicht gleich die Transformation in PHP zu implementieren?
"immer", faellt mir da so auf die Schnelle ein, hauptsaechlich auch weil Du mit PHP auch eine Routine mit den XML-Daten und mit dem XSLT-Script parametriesieren muesstest.
BWT - ich wuerde mal den Download (die ersten drei Monate fuer ""Evaluationszwecke") des aktuellen XMLSpy empfehlen und da mal den Stylsheet Designer hochkommen lassen und schauen was so passiert. (So zu sagen das M$ Frontpage fuer XML)
Gruss,
Ludger
Hallo,
Wann lohnt es denn eigentlich, ein XSLT-Stylesheet zu schreiben, und nicht gleich die Transformation in PHP zu implementieren?
Immer. ;-)
Wenn du die Transfomation direkt in PHP imlementieren willst, muss du eigene PHP/HTML-Templates schreiben in denen du mit DOM und PHP die entsprechende Knoten in deinem XML ansteuerst und wenn du zusätzliche Funktionalitäten brauchst muss du dafür auch eigene Routinen in PHP schreiben, auch wenn du dabei vielleicht auf die PHP-XPath-Funktionen zurückgreifen kannst.
Das ist viel zu fähleranfällig und umständlich.
Es ist wirklich einfacher die Transformation einem Prozessor zu überlassen, als das man selbst einen Transformer schreibt.
PHP hat dabei nur die Rolle die ensprechende Dateien (XML/XSL) aufzurufen, die Transformation auszulösen und das Ergebnis an den Server/Browser zu senden.
Grüße
Thomas
Danke Jungs,
Gunnar
Hi,
[...] fähleranfällig [..]
hey, Schreibfeheler des Monats fuer mich. Da sieht man mal Deine undeutsche Herkunft ganz klar. Tschechen wuerden so einen Mist normalerweise auch machen. ;-)
Lustigerweise werden 'e' und 'ä' in der Deutschen Sprache gleich ausgesprochen, wenn das 'e' "kurz" ausgesprochen wird. Nach Studium einiger Sprachen amuesiert mich die Deutsche rechtschreibung immer wieder. Andere sind uns da, aehh, weit voraus.
Gruss,
Ludger
Hallo,
[...] fähleranfällig [..]
hey, Schreibfeheler des Monats fuer mich.
Ich hatte schon bessere. ;-)
Da sieht man mal Deine undeutsche Herkunft ganz klar.
Das ist eine gewagte Aussage in diesem Forum. ;-)
Grüße
Thomas
Hallo,
Aber so richtig schlau, wie XSLT und PHP zusammenwirken, werd ich daraus auch nicht.
Bei der genannten Umwandlung des RSS-Feeds dieses Forums ist entsprechender PHP-Code dabei (Download-Link).
MfG, Thomas
Hi,
Ich bin noch nicht weiter. Bei
$xsltref = xslt_create();
bekomme ich den Fehler
Call to undefined function: xslt_create()
Auf dem Server läuft PHP 4.2.1; xslt_create() sollte laut http://www.php.net/manual/de/function.xslt-create.php schon ab 4.0.3 verfügbar sein...
Gruß,
Gunnar
$xsltref = xslt_create();
Call to undefined function: xslt_create()Auf dem Server läuft PHP 4.2.1; xslt_create() sollte laut http://www.php.net/manual/de/function.xslt-create.php schon ab 4.0.3 verfügbar sein...
Es muss aber auch einkompiliert/aktiviert sein, und es muss die sablotron-Bibliothek vorhanden sein.
Unter welchem System willst du es denn laufen lassen?
dedlfix,
Es muss aber auch einkompiliert/aktiviert sein, und es muss die sablotron-Bibliothek vorhanden sein.
Hab ich wohl keine Chance, das zu tun?
Unter welchem System willst du es denn laufen lassen?
Die Domain wird gehostet von Keyweb AG. (Paket Profi XL)
Gunnar
Hallo,
Es muss aber auch einkompiliert/aktiviert sein, und es muss die sablotron-Bibliothek vorhanden sein.
Hab ich wohl keine Chance, das zu tun?
Wenn ein <? phpinfo(); ?> Sablotron nicht auflistet, wohl kaum, es sei denn du kannst deinen Provider überzeugen.
Unter welchem System willst du es denn laufen lassen?
Die Domain wird gehostet von Keyweb AG. (Paket Profi XL)
Leider sagt das wirklich nichts aus, denn ein "hosted auf Keymachine Markenwebservern" ist ohne nähere Angaben nichts von Wert.
Wenn man die Dedicated Maschinen so anschaut, dürten zwar auch die Shared unter Linux laufen, aber die sind mal grad so im mittelmäßigem PC-Bereich.
Grüße
Thomas