Ciao Diego e grazie.
Rimetto ora le mani sul progetto, che avveo dovuto rimandare causa incombenze più prossime...
Ho optato per la tua soluzione n.2, ovvero php che passa un il POST all'XML dove è usato come <filtro> e quindi arriva all'XSLT, che agisce di conseguenza.
Sto ancora facendo prove preliminari, ma ho un problema.
Il codice php non funzione nè nelle pagine XML nè nelle pagine XSLT.
Ho inserito dei semplici echo, ma il browser non riceve le informazioni.ù
TI metto le prime righe di codice delle pagine, così vedi cosa intendo.
Inizio di inf.dev.xml:
codice:
<inferno>
<filtro>FILTRO: <?php
echo "Filtro passsato in php";
?>-</filtro>
<canto>
<n>1</n>
<passo>
<vv>1</vv>
<dante>
<v>Nel mezzo del cammin di nostra vita</v>
</dante>
<carson>
<v>Halfway through the story of my life</v>
</carson>
<nota>
<n>Carson introduce story</n>
</nota>
</passo>
ecc.
inf-dev.xslt completo:
codice:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<head>
<title>Inferno: comparazione</title>
<link rel="stylesheet" title="main" href="stile-inf.css" type="text/css" />
</head>
<body>
<div id="container">
<h1>Inferno</h1>
<xsl:value-of select="inferno/filtro"/>
<xsl:for-each select="inferno/canto">
<div class="cant">
<h2>
Canto <xsl:value-of select="n"/>
</h2>
<xsl:for-each select="passo">
<div class="pass">
<xsl:value-of select="../n"/>, <xsl:value-of select="vv"/>
<table border="0" width="100%">
<tr>
<td width = "50%">
<xsl:for-each select="dante/v">
<xsl:value-of select="."/>
</xsl:for-each>
</td>
<td>
<xsl:for-each select="carson/v">
<xsl:value-of select="."/>
</xsl:for-each>
</td>
</tr>
</table>
<div class="note">
<xsl:for-each select="nota">
- <xsl:value-of select="."/>
</xsl:for-each>
</div>
</div>
</xsl:for-each>
</div>
</xsl:for-each>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
L'output è
INFERNO
FILTRO: -
CANTO 1
ecc..
insomma, il php non lo vede...
Grazie per ogni suggerimento...
Davide