Newsgroup: it.comp.www.php
Titolo: Call to undefined function xslt_create()

Ciao a tutti,
utilizzo php5, mysql e apache su una Debian.
Devo convertire un file xml in un altro file xml utilizzando una
trasformazione XSLT.
A tal fine, ho scaricato php5-xsl e ho avviato phpinfo() per
verificare l'estensione. L'output visualizzato è il seguente:
----
XSL	enabled
libxslt Version	1.1.19
libxslt compiled against libxml Version	2.6.27
EXSLT	enabled
libexslt Version	1.1.19
----
Scrivo così due righe di codice per effettuare la trasformazione, ma
alla chiamare xslt_create(), il browser visualizza:
Fatal error: Call to undefined function xslt_create()
Qualcuno sa dirmi perchè?
Ho installato anche  i pacchetti sablotron ed expat ma non sono
riuscito nel mio intento.
Grazie anticipatamente

> Qualcuno sa dirmi perchč?
ce l'hai questa riga in php.ini?
extension=xsl.so

 extension=xsl.so
non l'avevo.
l'ho aggiunta in /etc/php5/apache2/php.ini, ho riavviato apache con /
etc/init.d/apache2 restart , ho eseguito nuovamente lo script, ma
l'errore è rimasto quello!!
Qualche altro suggerimento??'
GRAZIE!


dimenticavo...
il file xsl.so si trova in /usr/lib/php5/20060613+lfs/
ho quindi settato in php.ini la extension_dir a tale percorso, ho
riavviato apache e non è servito a nulla
ho, allora, settato extension = /usr/lib/php5/20060613+lfs/xsl.so, ho
riavviato apache, ma nemmeno questo è servito a nulla
Sto impazzendo....

Qualcuno sa dirmi perchè?
Perche' xslt_create() fa parte delle funzioni XSLT, non delle funzioni
XSL:
	Note: This extension is different than the sablotron extension
 	distributed with versions of PHP prior to PHP 4.1.0, currently
	only the new XSLT extension in PHP 4.1.0 is supported. If you need
	support for the old extension, please ask your questions on the
	PHP mailing lists. 
	Note: This extension has been moved to the >> PECL repository and
	is no longer bundled with PHP as of PHP 5.0.0.
	Note: If you need xslt support with PHP 5 you can use the XSL
	extension.
Quindi, o converti il tuo codice perche' usi XSL (anziche' XSLT) oppure ti
devi installare il pacchetto PECL:
http://cvs.php.net/viewvc.cgi/pecl/xslt/
...come vedi la funzione che cerchi e' definita qui (riga 85)
http://cvs.php.net/viewvc.cgi/pecl/xslt/sablot.c?revision=1.75&view=markup
Leonardo
-- 
IN NO EVENT SHALL MICROSOFT [] BE LIABLE FOR [] FAILURE TO MEET ANY DUTY
INCLUDING OF GOOD FAITH OR OF REASONABLE CARE, FOR NEGLIGENCE [] EVEN IN
THE EVENT OF [] BREACH OF CONTRACT OR BREACH OF WARRANTY OF MICROSOFT...
                              -- EULA di Windows Media VCM 9, articolo 8

 devi installare il pacchetto PECL:
hai perfettamente ragione.
Avevo già provato le funzioni XSL fornite con php5 e la trasformazione
va a buon fine eccetto quando, nel file xsl, richiamo dei metodi
java!!!
Ho provato a chiamare la sqrt di java.lang.Math nel file xsl e non
funziona!
Ho provato gli stessi file con saxon (un altro processore XSLT
richiamato da linea di comando) e funziona al 100%
Capisco che ci stiamo, forse, allontanando sempre più da php, ma se
potessi ancora aiutarmi....
GRAZIE
ps
intanto provo ad installare il pacchetto pecl così vedo se almeno ho
qualcosa di funzionante a prescidere da ciò che viene fornito in
bundle con php5

potessi ancora aiutarmi....
Ti posso aiutare a riavvicinarti al PHP. Forse.
 
http://sourceforge.net/projects/xslt2processor/


        
http://sourceforge.net/projects/xslt2processor/
Grazie ancora per il tuo prezioso aiuto.
Domani testerò questa classe con la speranza di uscire "dal tunnel"
Cmq se ti va ti faccio sapere ;-)
ps
eventualmente provo anche una libreria Php-Java-Bridge che, a quanto
pare, consente, da php, la chiamata verso funzioni Java