Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Includere xml+xslt in php

    Ciao,
    magari ne avete già parlato (io però ho trovato argomentazioni solo riguardo Sablotron):
    ho la necessità di includere in una pagina php una trasformazione xml>xslt.

    Nello specifico ho un XML che viene trasformato in una tabella HTML da un foglio di stile XSLT. Io vorrei far comparire questa tabella nel bel mezzo della pagina PHP!
    Se la tabella fosse una pagina HTML scriverei l'istruzione php
    include("tabella.html"); ma volendo includere il risultato della trasformazione dell'XML mi verrebbe da scrivere
    readfile("pippo.xml"); che non mi da il risultato atteso (uso readfile per non avere problemi con <? ?>).
    Ho fatto varie prove e ho notato che il web server non chiama il file XSLT a meno che non siano presenti altri istruzioni php. Probabilmente occorre intervenire lato server ma vi chiedo se esiste un modo per far processare XML+XSLT dal browser.

    Io penso che sia fondamentale l'integrazione di php con xml+xslt anche perchè non potendo fare uso dei frame non vedo a cosa possa servire xslt!!! Tra l'altro il problema diventa assai complesso se nella pagina php si ha la necessità di includere più di un xml.

    Grazie a tutti spero che il problema sia chiaro e lo riteniate importante.

  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    includi il file via url invece che via path, in pratica ti comporterai come un client qualsiasi e il server avvierà i processi normali compreso quello di trasformazione.
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  3. #3
    [supersaibal]Originariamente inviato da chris
    includi il file via url invece che via path, in pratica ti comporterai come un client qualsiasi e il server avvierà i processi normali compreso quello di trasformazione. [/supersaibal]
    Non funziona. Se uso include, reafile o file_get_contents e punto all'XML con URL completo (http://) nemmeno lo carica. Se lascio il path locale riesco almeno a vedere l'XML tuttavia senza che esso venga trasformato dall'XSLT.

  4. #4
    [supersaibal]Originariamente inviato da Diego++
    Non funziona. Se uso include, reafile o file_get_contents e punto all'XML con URL completo (http://) nemmeno lo carica. Se lascio il path locale riesco almeno a vedere l'XML tuttavia senza che esso venga trasformato dall'XSLT. [/supersaibal]

  5. #5
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    ...

    crea il file xml e xslt
    poi per lavorare con il processore xslt ecco il codice.

    codice:
    $dom=new domDocument();
    $dom->load("php.file.xsl");
    $proc=new xsltprocessor;
    $xsl=$proc->importStylesheet($dom);
    
    $xml=new domDocument();
    $xml->load("php.file.xml");
    
    $string=$proc->transformToXml($xml);
    echo $string;
    C/C++

  6. #6

    Re: ...

    [supersaibal]Originariamente inviato da C232
    crea il file xml e xslt
    poi per lavorare con il processore xslt ecco il codice.

    codice:
    $dom=new domDocument();
    $dom->load("php.file.xsl");
    $proc=new xsltprocessor;
    $xsl=$proc->importStylesheet($dom);
    
    $xml=new domDocument();
    $xml->load("php.file.xml");
    
    $string=$proc->transformToXml($xml);
    echo $string;
    [/supersaibal]
    Grazie per la risposta ma non funziona: dice "Cannot instantiate non-existent class".
    Va installato qualche modulo aggiuntivo lato server?

  7. #7
    Utente di HTML.it L'avatar di C232
    Registrato dal
    Dec 2004
    Messaggi
    303

    ...

    si, in php.ini troverai qualcosa del genere ;extension=php_xsl.dll levagli il punto e virgola davanti in modo da settarlo su on...
    C/C++

  8. #8
    Grazie ancora, comunque alla fine ho scelto di creare il sito in PHP+XML+XSLT senza il supporto del server per quanto riguarda la trasformazione XSLT.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.