Avatar billede decrypto Nybegynder
22. april 2003 - 14:38 Der er 6 kommentarer og
1 løsning

XSLT Serverside i PHP

Jeg sidder her og forsøger at transformere et xml dokument serverside. Men har nogle problemer. Findes der ikke et script, der blot skal vide hvilken xsl fil og hvilket xml dokument den skal transformere, og skrive outputtet ud.

Håber det er et nemt spørgsmål.
 
Lige nu ser min kode således ud:
--------------------- Kode -----------------------------------------------
function transform($xslFileName){
    // the files
    $xmlfile = "news.xml";
    $xslfile = $xslFileName;
   
    // create the XSLT processor
    $xslthandler = xslt_create() or die("Houston, we have a problem. No XSLT handler available. Mission aborted.");
   
    // process the two files to get the desired output
    xslt_run($xslthandler, $xslfile, $xmlfile);
   
    // get and print the result
    echo xslt_fetch_result($xslthandler);
   
    // free the resources occupied by the handlers
    xslt_free($xslthandler);
}

--------------------- Kode -----------------------------------------------

Den fejl jeg får er:

Fatal error: Call to undefined function: xslt_create() in /.public_html/xml/multinews.php on line 9
 
Der er vel ikke noget om at installere Sablotron eller noget i den retning. Kan man ikke transformere et xml dokument med xsl uden brug af add on's på apache serveren????

/dEcRyPt0
Avatar billede Slettet bruger
22. april 2003 - 15:01 #1
Nej der er ikke mulighed for at transfomere uden Sablotron... og jeg skulle hilse at sige, at det kan være en killer at installere på en windows platform...
Avatar billede decrypto Nybegynder
22. april 2003 - 15:54 #2
Er der ingen derude, der kan opklare det her. Der må vel være en vej ud. Man kan ihvretfald transformere serverside med ASP på en IIS. Hvorfor skulle man så ikke kunne det med PHP og Apache?????
Avatar billede tazly Nybegynder
23. april 2003 - 12:29 #3
Du kan osse ret nemt med J2EE... men PHP??
Avatar billede decrypto Nybegynder
23. april 2003 - 16:32 #4
Hmmm, Aaaaaaj det kan vel ikke være rigtigt at man ikke skulle kunne transformere et xml dokument serverside i PHP sammen med Apache server. Hvad går der galt, har alle sammen haft Sablotron installeret på serveren, de steder jeg har fundet eksempler på serverside transforation??????????????????????????????

Håber der er flere eksperter derude, der kan hjælpe en der prøver at konvertere til 'open source' istedet for det imperio- kapitalistiske MS

/dEcRyPt0
Avatar billede Slettet bruger
23. april 2003 - 17:28 #5
Hvad med expat?? ---> http://www.php.net/manual/en/ref.xml.php
Eventuelt kan du nok finde en commandline parser og så bruge exec()
Avatar billede decrypto Nybegynder
02. maj 2003 - 13:09 #6
Jeg prøver....
Avatar billede smirnoff Nybegynder
04. november 2003 - 16:28 #7
jeg har selv installeret sablotron på en linux og det fungerer fint...

xslt_create kræver det er sablotron (så vidt jeg husker) .. siden du får den fejl er det ikke kompileret ind i den PHP du kører ... hvad siger en phpinfo()

du kunne
Du kunne også prøve nedenstående - det virker fint så længe du har libxml-2.4.14/libxslt-1.0.18. eller højere  - vær dog opmærksom på det er "EXPERIMENTAL" som det står skrevet over det hele :) 

(se http://dk.php.net/manual/en/ref.domxml.php)


<?php

$xmldoc = domxml_open_file("dom.xml");
$xsldoc  = domxml_xslt_stylesheet_file ("dom.xsl");
$result  = $xsldoc->process($xmldoc);
print $result->dump_mem();

?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester