2010-02-23 17 views
12

Esiste un tipo di documento W3C disponibile con supporto di transizione XHTML 1.0 e supporto RDFa?DTD con RFDa e XHTML 1.0 Supporto transitorio

Sono a conoscenza del DTD XHTML + RDFa 1.0 (http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd) ma questo è XHTML 1.1 che non è compatibile con il mio sito web corrente. Sembra che sia disponibile anche un DTD HTML4 + RDFa 1.0().

Il motivo principale per cui non utilizzo XHTML 1.1 è Internet Explorer, anche se probabilmente potrei servirlo come testo/html per gli utenti di IE se non c'è altro modo.

risposta

10

Non credo che ci sia un DTD del genere, no.

L'HTML sta diventando sempre più frammentato e la creazione di DTD per ogni combinazione possibile non sarà pratica. HTML5 non è basato su SGML e rinuncia in modo efficace ai DTD. In futuro, probabilmente i validatori dovranno cambiare in modo da chiamare le raccolte di componenti come RDFa e ARIA, e indicare nei loro risultati quali collezioni sono necessarie per consentire che ogni particolare mark-up sia conforme.

Sfortunatamente, siamo davvero sul punto di transizione attualmente, quindi non c'è una soluzione pulita al tuo problema. Tuttavia, un certo grado di pragmatismo ti farà fare molto.

Ora, XHTML + RDFa 1.0 può essere definito da DTD come un'estensione di XHTML 1.1, ma in realtà non è XHTML 1.1, né XHTML 1.0 di transizione o rigido, o in realtà qualsiasi cosa diversa da "XHTML + RDFa 1.0 ".

Così puoi adottare un approccio pragmatico al servizio. Considera l'atteggiamento HTML5 a questo. Dice che qualsiasi cosa tu serva come text/html è una serializzazione HTML del modello a oggetti, indipendentemente dal DOCTYPE che dichiari. Questo è in pratica ciò che i browser fanno comunque.

Analogamente, qualsiasi cosa venga pubblicata con un tipo di contenuto XML come application/xhtml + xml è una serializzazione XML. Quelle parti dell'XML che hanno lo spazio dei nomi xhtml costituiscono XHTML.

Quindi, in pratica, è possibile servire XHTML + RDFa 1.0 come testo/html o application/xhtml + xml senza alcuna difficoltà, a condizione che il mark-up soddisfi i requisiti per i documenti poliglotta.

Questo lascia la convalida. Lasciando da parte RDFa, c'è qualche markup che stai utilizzando come conforme XHTML 1.0 Transitional ma non conforme XHTML 1.1? In tal caso, ti preoccupi abbastanza della convalida perfetta per modificarli o per evitare di usare RDFa? Presumibilmente stai utilizzando RDFa per i tuoi utenti, mentre la validazione è essenzialmente uno strumento di convenienza per te stesso.

Ho affrontato una situazione simile di recente, quando ho deciso di aggiungere attributi ARIA alle mie pagine XHTML 1.0. Ho deciso che l'accessibilità ha superato Validity e aggiungerei gli attributi e ho dimenticato che le mie pagine erano valide al 100%.

+0

Lo standard XHTML + RDFa 1.0 richiederà molto lavoro per la conversione dalle attuali pagine di transizione XHTML 1.0, quindi sono piuttosto riluttante a fare questo passo. Sebbene la differenza tra XHTML 1.0 e XHTML 1.1 non sia così grande, è abbastanza per trasformarla in una dolorosa conversione per tutti i modelli. Tuttavia, poiché il punto di validazione qui è in effetti semplicemente per assicurarsi che non vi siano errori reali nelle pagine, sarebbe una soluzione adatta ignorare semplicemente gli errori W3. Non è altro che un fastidio che potrebbe essere risolto facilmente con un piccolo userscript;) – Wolph

1

In realtà, a meno che non si sia interessati all'implementazione DTD, non vi sono quasi differenze tra le varie versioni XHTML e non c'è quasi mai un valido motivo per non utilizzare XHTML 1.1. In che modo il tuo sito web dipende dalla transizione 1.0? Se riesci a far sì che il tuo sito sia valido con 1.0 strict, passare da quello a 1.1 non dovrebbe causare problemi perché essenzialmente l'unica differenza è la DTD modularizzata, che in realtà non ha alcun svantaggio.

Se si sta ancora lottando con il problema filosofico di XHTML MIME, non mi preoccuperei perché concettualmente il tipo di supporto sbagliato con la DTD 1.1 meglio organizzata non è più un crimine che con 1.0.Il motivo per cui RDFa è implementato così com'è è perché l'aggiunta del modulo RDFa alla DTD XHTML 1.1 richiede solo l'aggiunta di poche righe al modulo principale. Farlo alla 1.0 DTD sarebbe più difficile e non così pulito.

Alcune altre cose da considerare sono che la specifica XHTML 1.1 della seconda edizione include un'implementazione dello schema XML. Inoltre, l'ultima bozza di lavoro XHTML + RDFa 1.1 alla fine elimina il requisito (stupido) per la specifica di un doctype del tutto, quindi è possibile utilizzare la convalida solo dello schema. Questo potrebbe funzionare molto bene se si riesce a capire un modo per usare i mimetipi XML/XHTML perché non è richiesta alcuna dichiarazione doctype per ottenere il rendering in modalità standard sui browser che lo supportano (tutti tranne IE8 e sotto).