[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