Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Evi|A|ivE
    Registrato dal
    Jun 2002
    Messaggi
    2,171

    XHTML 1.0 strict o 1.1?

    Ammetto di non essere molto dentro le problematiche di purezza del codice, nel senso che "so" che una pagina xhtml sara pu leggera, corretta e fruibile anche, con l'uso di css, da dispositivi diversi (vedi cellulari e palmari).

    Dovendo scegliere il DTD.. cosa è attualmente piu indicato?

    Ho letto su queste pagine che l'xhtml 1.0 è una forma di transizione, che sfocia nel 1.1 piu "esatto".

    Ma dovendo dichiarare un doctype, su cosa, attualmente, è meglio focalizzarsi? xhtml 1.0 strict o xhtml 1.1?

    magari la domanda è estremamente banale, causa la mia ignoranza in materia, pero mi trovo ad aver fatto siti validati dal validator w3c sia come xhtml 1.0strict che 1.1

    consigli? ^^
    [Disclaimer: le | nel nome non son li per far figo, evito solo di trovarmi spammato il nick nelle millemila pagine del forum in serp ..]

  2. #2
    XHTML 1 Strict è al momento la scelta migliore, perchè XHTML 1.1 andrebbe servito come (parlo di MIME TYPE) application/xml... che alcuni browers non supportano

  3. #3
    scusate l'intrusione, com'è la storia che mi interessa?
    con xhtml 1.1 dovrei mandare un xml(+xsl)?

  4. #4
    Originariamente inviato da mastergiraz
    scusate l'intrusione, com'è la storia che mi interessa?
    con xhtml 1.1 dovrei mandare un xml(+xsl)?
    no devi innanzitutto impotsare uane negoziazione lato server perchè alcuni browsers non supportanto il MIME TYPE application/xml... ai browsers seri devi spedire il MIME TYPE corretto cioè application/xml e usare i CSS come faresti con dei comuni XML

  5. #5
    a proposito, conoscete qualche browser sniffer per riconoscere se il browser in uso supporta xml+xsl?

    grazie

  6. #6
    diciamo subito che il problema maggiore (ma non l'unico) è internet explorer 6, che non sa riconoscere il MIME type application/xhtml+xml (che sarebbe il più indicato per l'xhtml).
    xhtml (qualunque versione) andrebbe dunque servito come application/xhtml+xml , purtroppo a causa di IE6 un buon 80% di navigatori in questo modo avrebbe problemi, quindi il w3c ha deciso che xhtml 1.0 può essere servito come text/html, che è lo stesso che usa il vecchio html, e senza il prologo xml, garantendo in questo modo una ampia compatibilità.
    Al contrario xhtml 1.1 rompe volutamente questa retrocompatibilità e va servito sempre e comunque col MIME type corretto, dando così problemi a IE6 e all'80% abbondante di utenti che lo usa. Per questo motivo attualmente è più consigliato xhtml 1.0.

    Il mime type per xhtml è una questione abbastanza ingarbugliata , comunque è necessaria una negoziazione lato server, e il modo più semplice per farla è usando un linguaggio di scripting lato server, ad esempio il php. Se ti interessa,io uso sta roba qua(me l'hanno suggerita in un altro thread):
    codice:
         if (
    stristr($_SERVER["HTTP_ACCEPT"], "application/xhtml+xml") || 
    stristr($_SERVER["HTTP_USER_AGENT"],"W3C_Validator") ||  
    stristr($_SERVER["HTTP_USER_AGENT"],"Safari")
                   ) 
            {
             header("Content-Type: application/xhtml+xml; charset=iso-8859-15");
             header("Vary: Accept");
             }
         else 
            {
             header("Content-Type: text/html; charset=iso-8859-1");
             header("Vary: Accept");
             }
    in pratica, se il browser accetta application/xhtml+xml, oppure se è safari(che lo accetta anche se non lo dichiara nei request headers), oppure il validatore w3c(che è un caso a parte ), in questi 3 casi gli mando la pagina come xhtml,
    negli altri casi gliela mando come html.

  7. #7
    grazie per la risposta, gentilissimo, ma credo di aver capito poco però :master:

    tipo:
    avrei la pagina index.php che può produrre o un xml
    codice:
    	
    header("Content-type: text/xml"); 
    ...
    echo $xml->saveXML();
    o una pagina xhtml processando l'xml e l'xsl.

    nel primo caso do come header content-type: text/xml
    nel secondo non ho mai dato nessun header.. dovrei?!

    leggendo il tuo post mi sembra di capire che, nel secondo caso, dovrei inserire il tuo codice (per scegliere fra xhtml+xml o text/html). è così?

    domandone:

    • come posso capire se il browser è capace di fare la trasformazione xml-xsl o se devo farla lato server?
      (conoscete uno sfiffer apposta?)
    • cosa succede mandando application/xhtml+xml anzichè text/html?
    • a cosa serve header("Vary: Accept")?



    grazie

  8. #8
    Originariamente inviato da mastergiraz
    • come posso capire se il browser è capace di fare la trasformazione xml-xsl o se devo farla lato server?
      (conoscete uno sfiffer apposta?)
    • cosa succede mandando application/xhtml+xml anzichè text/html?
    • a cosa serve header("Vary: Accept")?
    1) no no: si fa una negoziazione lato server
    2) bè innanzitutto viene controllata la correttezza formale dell'xml...
    3) serve a far passare l'header attraverso i router, se non ricordo male

  9. #9
    mi pare che fra i browser moderni solo Opera non gestisce xslt, una grave pecca...

    se vuoi che il browser tratti la tua pagina come un xml (che sarebbe l'xhtml) allora devi mandare l'header,perchè se non ci pensi tu col php, ci penserà apache in automatico a dare text/html come header ai file .php(a meno che non cambi i settaggi di apache), ma comunque IE6 lo prenderà come text/html. Avevo trovato una pagina utile in cui c'erano tutte le combinazioni possibili di header e le reazioni dei vari browser, se la riesco a ripescare la posto

    [edit]eccola: http://www.w3.org/People/mimasa/test...-types/results
    e c'è anche questa: http://www.w3.org/People/mimasa/test...types/#pi-link

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 © 2025 vBulletin Solutions, Inc. All rights reserved.