Visualizzazione dei risultati da 1 a 9 su 9

Discussione: XSL vs XHTML

  1. #1

    XSL vs XHTML

    è possibile rimpiazzare uno file XSL con uno XHTML? perchè? ma soprattutto qual'è la differenza se a quanto ho capito la loro funzione è simile se non identica.
    Aiutare altre persone non vuol dire sostituire i motori di ricerca (lxp6)

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non sono proprio la persona piu` indicata a dare queste info, dato che conosco poco l'argomento, ma qualcosa posso dirti e dato che nessuno ti ha risposto ci provo. Spero di non dire troppe stupidaggini.

    XML ha necessita` di un corrispondente file XSL che decodifica i tag utilizzati. XHTML, invece, e` un sottoinsieme di XML in cui il file e` gia` predefinito e conosciuto al browser (viene specificato nella prima riga del file, quella che inizia con <!DOCTYPE ... ).

    Quindi XHTML viene riconosciuto da tutti i browser, mentre XML viene reso correttamente solo dal browser IE6 (al momento).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    grazie per il post. quindi potrei rimpiazzre xml+xsl con un documento unico xhtml? il problema è che io voglio i miei dati (li file xml) separati dal codice per la visualizzazione.
    Aiutare altre persone non vuol dire sostituire i motori di ricerca (lxp6)

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Normalmente si ritiene che XHTML + CSS operi una separazione importante fra dati e contenuti, ma non completa.
    Ora senza filosofeggiare, credo sia possibile, mediante opportuni CSS separare completamente contenuto e formattazione anche con XHTML, purche` non si usino CSS interni ai tag.

    Quindi se vuoi IMPEDIRE a chi modifica il file XHTML di intervenire sulla formattazione, non ti va bene XHTML, dato che uno puo` sempre inserire il CSS dentro il file e questo sovrascrive il CSS esterno, mentre se vuoi semplicemente SEPARARE i due file, allora e` un'ottima soluzione.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    si ok, io sono sempre stato abituato a fare i css esterni proprio per quei motivi che hai citato tu, ma il fatto è che questa volta il file xml è usato come un database, non voglio avere un file xhtml con tabelle e altro. voglio semplicemente avere un database xml e un altro file che mi visualizzi il tutto. per questo avevo usato xsl ma il problema è che è visualizzabile solo con ie (o almeno io non riesco a fare il parsing dagli altri browser) e tra le altre cose ie non mi visualizza il tutto se metto il <!doctype gne [ ... ]> nella dtd. insomma è un bel casino
    grazie, ciao.
    Aiutare altre persone non vuol dire sostituire i motori di ricerca (lxp6)

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Che mi risulti IE6 e` l'unico browser (attualmente in uso) che implementa correttamente XML.

    Quindi per la compatibilita` devi fare il parsing sul server (ma per questo non so aiutarti).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    oltre ad ie anche mozilla (e di conseguenza netscape 7) interpretano (abbastanza) correttamente xml e xsl.

    purtroppo però per ora la soluzione migliore è il parsing sul server. per questo ti consiglio di utilizzare asp o php. per asp ottimi articoli si trovano su www.aspitalia.com. un buon esempio può essere questo:

    file xml:
    codice:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="xstyle.xsl"?>
    <news>
    	<post>
    		<titolo>Yahoo! abbandona MapQuest</titolo>
    		<data>08/03/2002</data>
    		<testo>
    		Yahoo! stringe la cinghia. Il portale che detta le tendenze sull'e-business model, ora rinuncia anche al servizio di cartografia di Aol Time-Warner. 
    		Il sito di Santa Clara ripiega su un software messo a punto, appositamente, dai propri ricercatori abbandonando il noto programma <link href="http://www.mapquest.com">MapQuest</link>.
    	      Le pagine per la ricerca dei percorsi stradali e geografici hanno attirato sul portale fondato da Koogle 11,2 milioni di navigatori.
    		</testo>
    	</post>
    </news>
    file xsl:
    codice:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
    <xsl:output method="html" indent="yes" 
        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" />
    
    <xsl:template match="/">
    
    <html  xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <title>X-blog</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" title="main" href="mainstyle.css" type="text/css" />
    </head>
    <body>
    <div id="sezprinc">
    <div id="testata">[img]xblog.gif[/img]</div>
    <div id="menu">
    
    
    home page - about - archivi
    - contatti -------------------- e-m@il me</p>
    </div>
    <div id="contenuto">
    <div id="navigazione">
    <h1>sezione 1</h1>
    
    
    link 1</p>
    
    
    link 2</p>
    
    
    link 3</p>
    <h1>sezione 2</h1>
    
    
    link 1</p>
    
    
    link 2</p>
    
    
    link 3</p>
    </div>
    
    <div id="post">
    <xsl:for-each select="news/post">
    	<xsl:sort data-type="text" select="data" order="descending"/>
    <h1><xsl:value-of select="titolo" /></h1>
    <h2><xsl:value-of select="data"/></h2>
    
    
    <xsl:apply-templates select="testo"/></p>	
    </xsl:for-each>
    </div>
    </div>
    </div>
    </body>
    
    </html>
    
    </xsl:template>
    <xsl:template match="link">
         <xsl:element name="a">
           <xsl:attribute name="href">
            <xsl:value-of select="@href"/>
           </xsl:attribute>
            <xsl:apply-templates/>
         </xsl:element>
      </xsl:template>
    
    </xsl:stylesheet>
    file asp:
    codice:
    <%
     Dim objXML
     Dim objXSL
    
     set objXML = Server.CreateObject("Microsoft.XMLDOM")
     objXML.async = false 
     set objXSL = Server.CreateObject("Microsoft.XMLDOM")
     objXSL.async = false
     
     objXML.load (Server.MapPath("news.xml"))
     objXSL.load(Server.MapPath("xstyle.xsl")) 
     Response.Write(objXML.transformNode(objXSL))
    %>
    su php non ti so aiutare...

    ciao ciao
    www.minifloppy.it - Dove ASP, XML, XSLT si incontrano...

    Io arrivo sempre tardi in ufficio, ma cerco di rimediare andando via presto

  8. #8
    mozilla (e derivati), konqueror e opera si rifiutano di interpretare il lavoro che ho fatto (è nel thread "DTD esterni e explorer 5.5, XML e Netscape" se volete posto anche xml e dtd). se tento di modificare quei file non li interpreta nemmeno ie ma gli altri mi danno almeno qualche errore. ma se proprio devo usare un linguaggio server side tanto vale fare a meno di fare l'xsl e fare diretto tutto in php o equivalenti. o no?
    grazie a tutti!
    Aiutare altre persone non vuol dire sostituire i motori di ricerca (lxp6)

  9. #9
    strano... a me mozilla visualizza tutto correttamente... boh!

    x quanto riguarda lo script server-side: se hai già pronto il file xsl mi sembra più conveniente il metodo che ti ho soggerito io, ti risparmi un bel po' di lavoro ; se invece devi creare tutto per la prima volta ti consiglio di gestire il file xml tramite php/asp.

    ciao ciao
    www.minifloppy.it - Dove ASP, XML, XSLT si incontrano...

    Io arrivo sempre tardi in ufficio, ma cerco di rimediare andando via presto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.