[Scusate la lunghezza ma vi spiego quello che vorrei ottenere perchè magari sto proprio sbagliando metodo (sono le prime volte che uso xml/xslt). ]
Allora... ho un file XML che contiene informazioni su un certo argomento che viene diviso in sottosezioni.
Le sottosezioni di tipo A sono quelle importanti, quelle di tipo B sono approfondimenti.
Vorrei fare una cosa di questo tipo: il contenuto delle sottosezioni importanti viene visualizzato interamente, invece per gli approfondimenti ho solo il titolo e cliccandoci sopra si vede tutto.
Per fare questo vorrei mettere un div per ogni sottosezione e modificarlo utilizzando innerHTML.
La parte da visualizzare (che alla fine è codice html) viene messa nella variabile appr, il problema è che i tag vengono sostituiti da cose tipo '
' che mi incasinano tutto e quindi ricevo l'errore 'costante string senza terminazione'.
Come risolvo?
Il codice è questo:
--- XML ---
--- XSLT ---codice:<sezione> <sottosez id="5" tipo="A"> <titolo>Registri</titolo> <para>Sono locazioni di memoria interne alla CPU e come tali molto veloci.</para> <para>Poiché i registri compendiano tutto lo stato dell’elaborazione di un certo processo</para> <para> <ul>[*]salvando in memoria tutto il contenuto dei registri è possibile accantonare un processo per passare a svolgerne un altro[*]ripristinando dalla memoria il contenuto di tutti i registri è possibile ripristinare lo stato di un processo accantonatoriprendendone l’esecuzione come se nulla fosse accaduto. Questo consente al sistema operativo di eseguire più compiti allo stesso tempo[/list]</para> </sottosez> </sezione>
codice:<xsl:template name="sottosezlink"> <table width="{$width}" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="titolosottosez"> <div id="approfondimento{@id}"> <xsl:variable name="appr"><xsl:call-template name="approfondimento"><xsl:with-param name="idapp" select="@id"/></xsl:call-template></xsl:variable> <xsl:value-of select="titolo"/> </div> </td> </tr> <tr><td height="20"></td></tr> </table> </xsl:template> <xsl:template name="approfondimento"> <xsl:param name="idapp"/> <xsl:for-each select="/sezione/sottosez"> <xsl:if test="@id=$idapp"> <xsl:call-template name="sottoseztesto"></xsl:call-template> </xsl:if> </xsl:for-each> </xsl:template>![]()
![]()


Rispondi quotando
