48 messaggi dal 20 giugno 2003
Ciao, tramite una pagine .Net 2.0 in c#, carico l'xml e xsl come segue:

string xmlPath = 'pagina xml';
string xslPath = 'pagina xsl';

XPathDocument doc = new XPathDocument(xmlPath);
XslTransform transform = new XslTransform();
transform.Load(xslPath);
XmlTextWriter wr = new XmlTextWriter(Response.Output);
transform.Transform(doc, null, wr); 


Alla fine il risultato è la pagina formattata come nell'xsl. Il mio problema è che se passo tramite l'xml un dato con già presente la formattazione come ad esempio:

<news>
   <titolo>titolo news</titolo>
   <descrizione>Descrizione <b><b>grassetto</b></b></descrizione>
</news>



non mi vengono passati i comandi formattazione. Potete darmi una dritta?

Grazie mille
637 messaggi dal 12 agosto 2005
Potrebbe postare anche il foglio XSL (se non è troppo grande)? Così ad occhio, direi che XSL ignora i tag X/HTML, in quanto probabilmente non previsti nel suo XSL. La scrittura <b></b> è tutti gli effetti un elemento XML e se non viene specificato "cosa farne", l'engine XSL lo ignora. Non può essere infatti considerato testo.

Se non ho capito male il suo caso, le converrebbe inserire i contenuti con formattazione in un blocco CDATA:

<news>
<titolo>titolo news</titolo>
<descrizione><![CDATA[Descrizione <b>grassetto</b>]]></descrizione>
</news>


In questo modo il contenuto di descrizione non verrà esaminato e sarà copiato direttamente.
48 messaggi dal 20 giugno 2003
Allora, l'XSL è così

<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml"/>  
  <xsl:template match="/">
    <html>
      <head>
        <title>:: Homepage ::</title>
      </head>
      <script type="text/javascript" language="JavScript">
        var scrollercontent=new Array()
        <xsl:for-each select="home/news/item">
          scrollercontent[<xsl:value-of select="position()-1"/>]='<table cellpadding="0" cellspacing="0" border="0" >
            <tr>
              <td>
                <img>
                  <xsl:attribute name="src">
                    img_news/<xsl:value-of select="img"/>
                  </xsl:attribute>
                </img>
              </td>
              <td class="Tabella">
                <b>
                  <xsl:value-of select="pubdata"/>
                </b>
                <br/>
                <xsl:value-of select="title"/>
              </td>
            </tr>
          </table>'
        </xsl:for-each>
      </script>
      <script src="JavaScript/homepage.js" type="text/javascript"></script>
      <link href="App_Themes/TS01/default.css" rel="stylesheet" type="text/css"/>
      <body>
        <table cellpadding="0" cellspacing="0" border="0" style="background-color:#000000; width:100%">
          
          <tr>
            <td style="width:1px; vertical-align:middle">
              <img src="App_Themes/TS01/IMG/News_Home.jpg"/>
            </td>
            <td>
              <div  style="background-color:#000000;">
                
                <script src="JavaScript/homepage_news.js" type="text/javascript"></script>
              </div>
            </td>
          </tr>
        </table>

        ........


       </body>
    </html>

  </xsl:template>
</xsl:stylesheet>



mentre l'XML è così:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<home>
  <news>
    <item>
      <title>Quinta &lt;b&gt;ed ultim&lt;/b&gt;a della news</title>
      <link>dhkshfkjdsh</link>
      <pubdata>23 nov 2006 09:00</pubdata>
      <description>sfdsf sf </description>
      <img>aaaa.jpg</img>
    </item>
    <item>
      <title>Quarta ed penultima della news</title>
      <link>dhkshfkjdsh</link>
      <pubdata>23 nov 2006 09:00</pubdata>
      <description>sfdsf sf </description>
      <img>black.jpg</img>
    </item>
  </news>
  <tabs>
    <item>
      <id>2</id>
      <Posizione>0</Posizione>
      <Titolo>Primo</Titolo>
      <Descrizione>
        hj  <img src="img_news/aaaa.jpg"/> <br/>fg sf[br/]jj fjgsfjsg fj</Descrizione>
      <Visibile>1</Visibile>
    </item>
  </tabs>
</home>
48 messaggi dal 20 giugno 2003
Ho già provato con
<CDATA>
, ma presso a poco succede che l'XML passa per intero quello che c'è all'interno del CDATA; se all'interno c'è ad esempio il simbolo < viene passato "&lt;". Il problema che poi non so come convertire dall'XSL al ASP.NET (C#) il valore "&lt;"...

Grazie per la risposta
Modificato da Shiba il 27 novembre 2006 09.14 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.