[Php-it] dubbio su XSLT

Emiliano Gabrielli (aka AlberT) AlberT at superalbert.it
Fri Jan 5 10:53:19 CET 2007


On Thursday 04 January 2007 19:47, Jonathan Stoppani wrote:
> > ho però un pron con XSLT che vorrei sottoporre, magari mi sto  
> > infiocchettando
> > da solo:
> >
> > - ho un xsl
> > - ho i dati in un xml
> > - ho un .php che (usando la classe) applica xsl al xml
> >
> > il prob mi arriva quando cerco di usare il valore di una var  
> > proveniente da
> > $_GET come metodo per far si che l'XSL possa visualizzare una  
> > "sezione" dei
> > dati contenuti nell'XML piuttosto che un'altra..
> >
> > i dati sono del tipo:
> >
> > <site>
> >   <section name="sec_a">
> >    <content> ... </content>
> >   </section>
> >   <section name="sec_b">
> >    <content> ... </content>
> >   </section>
> >   <section name="sec_c">
> >    <content> ... </content>
> >   </section>
> > <site>
> >
> > vorrei passare da GET ?s=sec_b  .. e poi passare da PHP al XSL  
> > questo valore
> > in modo che poi mi visualizzi solo
> >
> >  <section name="sec_b">
> >    <content> ... </content>
> >   </section>
> >
> > spero di essermi spiegato :-)

>
> In php:
> $xsl->nomeSezione = $_GET['s'];
>
> In xsl:
> <xsl:value-of select="site/section[@name=/nomeSezione]/content"/>
>
> Spero che era quello che intendevi... ;)

Esattamente ... ed avevo provato una soluzione simile prima di postare .. ma 
mi trovo con questo errore :

Warning: XSLTProcessor::importStylesheet() 
[function.XSLTProcessor-importStylesheet]: Invalid expression 
in /var/www/sviluppo/lib/template_xslt.php on line 153

Warning: XSLTProcessor::importStylesheet() 
[function.XSLTProcessor-importStylesheet]: compilation error: 
file /var/www/sviluppo/template/index.xsl line 32 element value-of 
in /var/www/sviluppo/lib/template_xslt.php on line 153

Warning: XSLTProcessor::importStylesheet() 
[function.XSLTProcessor-importStylesheet]: xsl:value-of : could not compile 
select expression 'site/section/[@name=/sezione]/content' 
in /var/www/sviluppo/lib/template_xslt.php on line 153

Warning: XSLTProcessor::transformToXml() 
[function.XSLTProcessor-transformToXml]: No stylesheet associated to this 
object in /var/www/sviluppo/lib/template_xslt.php on line 155

 .. passo da PHP $xsl->sezione = $_GET['s'];


il pezzo di xsl è:

<xsl:template match="/">
<html xml:lang="it" lang="it">
<head>
  <title><xsl:value-of select="//site/name"/></title>
</head>
<body>
  <h1><xsl:value-of select="//site/author"/></h1>
  <h2>mission</h2>
  <p><xsl:value-of select="//site/mission"/></p>
  <xsl:apply-templates select="//site/section" />

</body>
</html>
</xsl:template>

<xsl:template match="//site/section">
<h2><xsl:value-of select="site/section/[@name=/sezione]/content" /></h2>
</xsl:template>


É evidente che toppo qualcosa nella sintassi XSL .. ma non capisco cosa ..

-- 
<?php echo '     Emiliano Gabrielli (aka AlberT)     ',"\n",
'              socio fondatore del GrUSP             ',"\n",
' AlberT_at_SuperAlberT_it   -   www.SuperAlberT.it  ',"\n",
'  IRC:    #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>



More information about the Php-it mailing list