Tôi điều hành một diễn đàn phục vụ các trang của nó là XHTML + MathML + SVG; đầy đủ:
<!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">
Sử dụng plugin MathPlayer, người dùng Internet Explorer có thể sử dụng trang web này. Tuy nhiên, đôi khi ai đó đang sử dụng diễn đàn từ IE và không thể cài đặt MathPlayer (có thể họ đang ở trên một máy công cộng ở đâu đó). Sau đó IE (ít nhất là 6 & 7) phàn nàn về XHTML và cung cấp chỉ để tải xuống tệp.
Tôi đã đọc trên trang w3c cách khắc phục điều này bằng cách sử dụng chuyển đổi XSL ( http://www.w3.org/MarkUp/2004/xhtml-faq#ie ). Khi tôi đặt vấn đề này, tôi thấy rằng Chrome hiện đang phàn nàn rất nhiều về các thực thể không xác định (cụ thể là
nhưng các thử nghiệm cho thấy điều đó không liên quan).
Thật kỳ lạ, tôi có thể làm tròn điều này bằng cách khai báo thủ công các thực thể trong 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 " ">
]>
nhưng tôi không muốn làm điều này cho toàn bộ gam của các thực thể có thể. Tôi nói "kỳ quái" bởi vì dHTML XHTML + MathML + SVG, theo như tôi có thể thấy, khai báo các thực thể này. Vì vậy, bằng cách nào đó những điều này đang bị bỏ lỡ.
Có cách nào xung quanh vấn đề này? Tôi có thể phục vụ XHTML-with-entity cho IE không?
Trong trường hợp có vấn đề, các trang được tạo bởi tập lệnh php và được phân phát qua apache, vì vậy nếu có một phương pháp đáng tin cậy để đánh hơi trình duyệt và sửa đổi phần đầu của tài liệu (vì vậy chỉ gửi <?xml-stylesheet ...>
bit đến IE) thì đó sẽ là một thay thế chấp nhận được.
(Tôi hy vọng tôi có trang web SE phù hợp ... vui lòng cho tôi biết nếu tôi ở sai vị trí. Ditto với các thẻ.)