carsten schlichting: php5 | xsl nicht auf dem server

Hallo

Auf dem server meines providers ist php5 , aber leider kein xsl bzw. xslt.

d.h.:  ich kann nicht so einfach ein xsl-stylesheet auf ein xml anwenden.

Jetzt habe ich dort gefragt, ob sie dieses Modul installieren können.. aber leider geht dies nicht. Alternative müßte ich dann einen teureren account nehmen, d.h. einen eigenen server.

Die meinten dort, dass andere Programmierer xsl-stylesheets mit manuellen scripts anwenden würden...???

Jetzt wollte ich fragen, ob jemand so ein script kennt oder ob es noch eine andere methode als so ..[  $xsl = new XSLTProcessor();  ] gibt.???

..

Grüße
carsten

  1. Hallo,

    Die meinten dort, dass andere Programmierer xsl-stylesheets mit manuellen scripts anwenden würden...???

    Das liest sich für mich wie folgt: "Andere Leute machen die gleiche Aufgabe wie sie XSLT bei Dir macht zu Fuß in PHP direkt."

    Jetzt wollte ich fragen, ob jemand so ein script kennt oder ob es noch eine andere methode als so ..[  $xsl = new XSLTProcessor();  ] gibt.???

    Naja, XSLT 1.0 ist vom Standard her relativ überschaubar, da müsste man mit brauchbarem Aufwand (~ 1 Mannmonat) einen extrem ineffizieten XSLT-1.0-Prozessor in PHP selbst schreiben können. Ich bezweifle aber, dass das jemand schon gmeacht hat - PHP bringt ja normalerweise eine XSL-Erweiterung mit.

    Ansonsten: Kannst Du Programme auf dem Server mit PHP ausführen? In der Regel wird sowas gerne mal für ImageMagick verwendet (um 'convert' o.ä. aufzurufen) - Du könntest dann auch "xsltproc" aufrufen (sofern *das* auf dem Server installiert ist ;-)) und damit Deine XSLs manuell transformieren.

    Wenn Dir das XSLT-Verarbeitungsengine Selbstprogrammieren zu viel Aufwand ist (mir wäre es das) und Du keine Programme ausführen kannst: Verzichte auf XSLT oder wechsele den Provider. Etwas anderes bleibt Dir vmtl. nicht übrig.

    Viele Grüße,
    Christian

    --
    Mein "Weblog" [RSS]
    Using XSLT to create JSON output (Saxon-B 9.0 for Java)
    »I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
                -- Kommentar bei TDWTF
    1. Hallo

      Die meinten dort, dass andere Programmierer xsl-stylesheets mit manuellen scripts anwenden würden...???

      Das liest sich für mich wie folgt: "Andere Leute machen die gleiche Aufgabe wie sie XSLT bei Dir macht zu Fuß in PHP direkt."

      der provider meinte aber, dass es richtig vorgefertigte Klasssen gibt, die ich aber leider bis jetzt noch icht gefunden habe.
      Quasi ein direkt im php-script includierter xslt-prozessor anstatt ein dirkt in Php eingebundener.

      Das problem ist glaube ich, dass nur sehr wenige dieses problem haben. Wenn man in google sucht, findet man immer nur die üblichen xslt vorgehensweisen.

      carsten

      1. Hallo noch einmal

        Der Provider meinte auch: .. " was ist eigentlich so schlimm daran, wenn man das xml im browser zusammensetzen läßt? "

        Im IE und im opera-browser funktioniert das zusammensetzen auch perfekt- nur leider im safari und im Firefox gibt es Probleme - das ist eigentlich der eigentliche Grund dafür, warum ich das xml eher auf dem server zusammensetzen möchte...

        Hat jemand erfahrung darin, was im Firefox und im safari xml-mäßig nicht funktioniert?

        carsten

        1. Hi,

          Der Provider meinte auch: .. " was ist eigentlich so schlimm daran, wenn man das xml im browser zusammensetzen läßt? "

          Dann frag' ihn mal, was eigentlich so schlimm daran wäre, die entsprechenden PHP-Module auf in den Basispaketen zur Verfügung zu stellen :-)

          Beides sind nun mal Anwendungsplatformen, die nicht immer beliebig ausgewechselt werden können.

          Hat jemand erfahrung darin, was im Firefox und im safari xml-mäßig nicht funktioniert?

          Die dürften vermutlich alles auch nur irgendwie relevante in der Hinsicht besser unterstützen, als der IE.

          MfG ChrisB

          --
          Light travels faster than sound - that's why most people appear bright until you hear them speak.
          1. Die dürften vermutlich alles auch nur irgendwie relevante in der Hinsicht besser unterstützen, als der IE.

            leider funktioniert die Seite nur  im ie und im opera aber leider nicht im firefox und im safari

            carsten

            1. dies ist der kopf des xsl:

              <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE xsl:stylesheet SYSTEM "dtd\xsl-10-10_xhtml.dtd">  
                
              <xsl:stylesheet version="1.0"  
              	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
              	<xsl:output encoding="utf-8" indent="yes" media-type="text/html"  
              		method="xml" doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN'  
              		omit-xml-declaration="yes" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ></xsl:output>
              

              und dies ist der kkopf der xml:

              <?xml version="1.0" encoding="UTF-8"?>  
              <!DOCTYPE root SYSTEM "dtd\plus-pol-xhtml.dtd">  
                
                
                
              <?xml-stylesheet type="text/xsl" href="plus_pol.xsl"?>
              

              ??

              carsten

              1. Hi

                ok

                hier das minimalBsp.:

                XSL:

                <?xml version="1.0" encoding="UTF-8" ?>  
                  
                <xsl:stylesheet version="1.0"  
                	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
                	<xsl:output encoding="utf-8" indent="yes" media-type="text/html"  
                		method="xml" doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN'  
                		omit-xml-declaration="no"  
                		doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"  
                		version="1.0"></xsl:output>  
                	<!--body_div--><xsl:template match="/root/HTML_body"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />	  
                <meta http-equiv="imagetoolbar" content="no" />  
                <meta http-equiv="imagetoolbar" content="false" />  
                <meta http-equiv="cache-control" content="cache" />  
                  
                <link rel="shortcut icon" type="image/x-icon" href="favicon16.ico" />  
                <link type="text/css" rel="stylesheet" href="stylesheets_immer.css" />  
                  
                	</head><html>  
                	  
                	<body><div id="div_body" style="display:block;position:fixed;left:0px;top:0px;width: 100%;height: 100%;background-color:#565656;overflow:auto;">  
                	  
                  
                	  
                	</div></body>  
                			  
                			  
                </html>  
                		</xsl:template>  
                		  
                		  
                	</xsl:stylesheet>
                

                XML:

                <?xml version="1.0" encoding="UTF-8"?>  
                <?xml-stylesheet type="text/xsl" href="plus_pol.xsl"?>  
                  
                  
                <root>  
                	<HTML_body >  
                  
                  
                	</HTML_body></root>
                

                CSS:

                html, body 			  
                {  
                overflow:hidden;  
                margin: 0;  
                padding: 0;  
                background-color:#ffffff;  
                }
                

                also wie gesagt..funktioniert im IE und im opera aber leider so nicht im Firefox und safari

                großes ?

                Danke schon einmal.

                carsten

                1. Hi

                  Hier lag der Fehler:

                  »» 	<xsl:output encoding="utf-8" indent="yes" media-type="text/html"  
                  
                  > 		method="xml" doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN'  
                  > 		omit-xml-declaration="no"  
                  > 		doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"  
                  > 		version="1.0">  
                  > </xsl:output>
                  
                  

                  Und zwar hätte ich für method: html angeben müssen...

                  Jetzt funktionierts.

                  Weiß jemand warum das so wichtig ist ?  Kann  man eine normale XHTML Datei nicht auch in ein z.B. <?xml version="1.0" encoding="utf-8"?>
                  einschließen.?

                  carsten

                  1. Hallo,

                    Weiß jemand warum das so wichtig ist ?  Kann  man eine normale XHTML Datei nicht auch in ein z.B. <?xml version="1.0" encoding="utf-8"?>
                    einschließen.?

                    Die Browserinternen XSLt-Prozessoren arbeiten eben unterschiedlich. Bei method="xml" wird FF ein XML-Dokument annehmen und es als solchen behandeln, spricht, dort hat <html>,<body> etc. keine Bedeutung. Bei html dagegen ja.

                    Grüße
                    Thomas

        2. Hallo,

          Der Provider meinte auch: .. " was ist eigentlich so schlimm daran, wenn man das xml im browser zusammensetzen läßt? "

          Nichts ist daran schlimm, außer dem Provider. Wechsle ihn, wenn er PHP5 tatsächlich ohne XSLT anbietet.
          http://www.php.net/manual/en/book.xsl.php

          Grüße
          Thomas