Ciao a tutti,
sto cercando di scrivere del codice php che permetta di visualizzare un pezzo alla volta il contenuto di un file xml (un foglio di problemi di matematica). Ho utilizzato simplexml e XSLTprocessor
La struttura del file XML è questa:
<?xml version="1.0" encoding="utf-8"?>
<data>
<problem>
.....
</problem>
<problem>
.....
</problem>
</data>
e queste sono le linee di codice incriminate:
$xml = simplexml_load_file($target_file);
$xsl = new DOMDocument;
$xsl->load('xml2html.xsl');
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
$p=$xml->problem[5];
echo $p->asXML();
echo $proc->transformToXML($p);
Mi aspetterei che la penultima (aggiunta per capire che cosa succede) e l'ultima mostrino lo stesso pezzo di XML (cioè il quinto problema della lista). Invece la penultima lo fa correttamente, mentre l'ultima trasforma e mostra in realtà l'intero documento. Qualcuno mi sa spiegare il perchè??
Se può essere di qualche utilità, aggiungo che il file xml2html.xsl è collaudato e funziona bene in altri contesti.
Grazie!