erlug
[Top] [All Lists]

[Erlug] rss, xml, xsl, wtf

To: erlug@xxxxxxxxxxxxxx
Subject: [Erlug] rss, xml, xsl, wtf
From: Luca Busi <luca.busi@xxxxxxxx>
Date: Wed, 20 Sep 2006 18:33:43 +0200
Ciao a tutti, da qualche giorno sto inutilmente tentando di includere in 
un sito un rss della nasa 
(http://spaceresearch.nasa.gov/news/obprnews.rdf).

Premetto che non sono un programmatore e che non ho quasi mai visto php.

Ho provato a creare un xslt per convertirlo in qualcosa di leggibile dal 
browser e, grazie all'aiuto di Enrico Zini, sembra funzionare (la 
conversione). 

I problemi sono: 
se includo lo stylesheet xsl nel file xml del feed così:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 
0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd";> 
<?xml-stylesheet type="text/xsl" href="news_nasa.xsl"?> 
<rss version="0.91"> 
[dati del feed]
</rss> 
 
quando visualizzo la pagina xml nel browser funziona, ma se la includo 
all'interno di un'atra pagina (con un include in php o con i tag 
<object>), l'xsl non viene applicato o mi ritrovo tutto l'xml nella 
pagina.

Allora ho provato a prendere l'rss usando le apposite funzioni php 
(xslt_create 
&Co) come mi suggeriva google, ma il risultato di:

$xsltproc = xslt_create();

è:

Fatal error: Call to undefined function xslt_create() 
in /home/luca/svn/siti_web/prova1/news.php on line 2

cioè non trova xslt_create() nonostante apache e php siano configurati 
bene[1]. credo.

Ho provato anche ad aprire il file con:

$fp = fopen("http://spaceresearch.nasa.gov/news/obprnews.rdf";, 'r');

ottenendo:

Warning: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo 
failed: Temporary failure in name resolution 
in /home/luca/svn/siti_web/prova1/news.php on line 3

Warning: fopen(http://spaceresearch.nasa.gov/news/obprnews.rdf) 
[function.fopen]: failed to open stream: Connection refused 
in /home/luca/svn/siti_web/prova1/news.php on line 3

Se maschero gli / nell indirizzo:

$fp = fopen("http:////spaceresearch.nasa.gov//news//obprnews.rdf";, 'r');

l'errore getaddrinfo scompare, ma rimane il secondo.


Ormai non so più cosa guardare. Qualche hint o link semplici?
Sono graditi anche metodi alternativi.

Luca


[1] Apache mi dice di aver caricato le estensioni xslt:
Apache/2.0.55 (Debian) DAV/2 SVN/1.4.0 mod-xslt/1.3.9 PHP/5.1.6-1 Server 
at localhost Port 80

nel php.ini ho le righe:
extension=xsl.so
safe_mode = off
allow_url_fopen = On

I pacchetti installati:
dpkg -l |grep xsl
ii  kxsldbg             3.5.4-1
ii  libapache2-modxslt  2005072700-1
ii  libmodxslt0         2005072700-1
ii  libxslt1.1          1.1.17-4
ii  php5-xsl            5.1.6-1
ii  xsltproc            1.1.17-4

ho fatto anche "rgrep xsl_create() /*" ma non c'è nulla di buono.

-- 
[mammoz mammox]> [...] fatto un 755 di resolv.conf funziona 
regolarmente.
Dimmi la verita`, non hai fatto 644 perche` oggi circolano solo le
targhe dispari, vero?
        -- AndyCapp

<Prev in Thread] Current Thread [Next in Thread>