Saya menjalankan forum yang melayani halaman-halamannya sebagai XHTML + MathML + SVG; sepenuhnya:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd">
Menggunakan plugin MathPlayer, pengguna Internet Explorer dapat menggunakan situs ini. Namun, kadang-kadang seseorang menggunakan forum dari IE dan tidak dapat menginstal MathPlayer (mungkin mereka berada di mesin publik di suatu tempat). Kemudian IE (setidaknya 6 & 7) mengeluh tentang XHTML dan menawarkan hanya untuk mengunduh file.
Saya membaca di situs w3c bagaimana menyiasatinya menggunakan transformasi XSL ( http://www.w3.org/MarkUp/2004/xhtml-faq#ie ). Ketika saya menempatkan ini pada tempatnya, saya menemukan bahwa Chrome sekarang mengeluh sangat tentang entitas yang tidak terdefinisi (yang spesifik
tetapi pengujian menunjukkan bahwa itu tidak relevan).
Anehnya, saya bisa menyelesaikan ini dengan secara manual mendeklarasikan entitas di DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" [
<!ENTITY nbsp " ">
]>
tapi saya lebih suka tidak melakukan ini untuk keseluruhan entitas yang mungkin. Saya mengatakan "aneh" karena XHTML + MathML + SVG dtd, sejauh yang saya bisa lihat, menyatakan entitas ini. Jadi, entah bagaimana, ini terlewatkan.
Apakah ada cara untuk mengatasi masalah ini? Bisakah saya melayani XHTML-with-entitas ke IE?
Dalam hal ini penting, halaman dihasilkan oleh skrip php dan dilayani melalui apache, jadi jika ada metode yang dapat diandalkan mengendus browser dan memodifikasi awal dokumen (jadi hanya mengirim <?xml-stylesheet ...>
bit ke IE) maka itu akan menjadi alternatif yang bisa diterima.
(Saya harap saya memiliki situs SE yang tepat ... tolong beri tahu saya jika saya berada di tempat yang salah. Lakukan dengan tag.)