Ciao a tutti!
Sono abbastanza nuovo del forum,per cui perdonatemi se non sono chiaro o mi pongo in maniera sbagliata.
Vi spiego la questione qual'è: ho un file xml che viene trasformato tramite xsl. La trasformazione avviene da una .asp.
Questo file xsl in output produce del codice html e una serie di stringhe in formato xsl. Un'altra pagina .asp prende un altro xml, ci attacca la trasformata xsl che ho ricevuto in output dalla precedente e spara a video il risultato in html.
Tutto questo giro funziona correttamente e mi permette di salvare in un file xsl il risultato della prima trasformata (che generalmente produrra output diversi una volta al mese) e risparmiare ad ogni caricamento di pagina una trasformata, includendo il file xsl prodotto e richiamando poi il template in esso contenuto.
Il problema sta nell'interpretazione dell'output della prima trasformata; per intenderci (scusatemi se sbaglio a inserire il codice):
<CODE>
<xsl:variable name="buildclassname">
<xsl:variable name="newclassname">
</xsl:variable>
<xsl:variable name="closeclassname">
</xsl:variable>
</xsl:variable>
<xsl:variable name="buildwhen">
<xsl:choose>
<xsl:when test="<xsl:value-of select="translate($nome, ' ', '')"/>=$DefaultVisibleDiv>
sftestomenuon
</xsl:variable>
<xsl:variable name="closewhen">
</xsl:when>
<xsltherwise>
testomenu
</xsltherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="printclassname">$newclassname</xsl:variable>
<xsl:value-of select="$buildwhen"/>
<xsl:value-of select="$closewhen"/>
<td class="$printclassname" align="center" valign="middle" id="{translate($nome, ' ', '')}" width="{$CellsSize}" height="23" onClick="showSub('{translate($nome, ' ', '')}', '{translate(concat('div', $nome), ' ', '')}'); return false;">
<xsl:value-of select="$nome"/>
</td>
</CODE>
Effettivamente in output ho il mio xsl:choose ben formato, il problema sta nel fatto che nella seconda trasformata non viene interpretato come xsl ma come semplice stringa.
Altri pezzi di xsl vengono aggiunti dalla prima asp (sempre in formato stringa), questi però vengono correttamente interpretati come codice xsl.
Cosa sbaglio??
Mi rendo conto di non essere stato magari molto chiaro; sono pronto a rispondere ad ogni eventuale domanda.
Grazie mille