måste denna "<?xml version="1.0" encoding="UTF-8"?>" tagg finnas med i ett xhtml dokument och i så fall ska den ligga över eller under doctypen? MSIE förändrar min site beroende på vart jag har den.
måste man ha <?xml version="1.0" ...
7 svar · 315 visningar · startad av maqe
Nej.
En XML-deklaration är valbar i XML 1.0, men om den är med så måste den ligga allra allra först i dokumentet. Inte ens ett mellanslag får vara före den. Ligger den inte först är dokumentet inte välformat.
I XML kan man ange vilken character encoding man använder med XML-deklarationen. Men man kan också ange den med en HTTP Content-Type header. Om man inte anger någon encoding så är det UTF-8. (Om vi bortser från text/xml.)
I HTML kan man, bortsett från med en HTTP header, ange charset med ett META-element. Om du använder den, bör den ligga först i HEAD.
När du serverar XHTML som text/html tolkar webbläsaren din kod som HTML, när du serverar det som application/xhtml+xml tolkar webbläsaren det som XML. :)
Du ska inte ha med den, av den anledningen att IE inte klarar av att läsa den. Ifall du har med den så tolkar inte IE sidan som xhtml.
Guffa skrev:
Du ska inte ha med den, av den anledningen att IE inte klarar av att läsa den. Ifall du har med den så tolkar inte IE sidan som xhtml.
Nej. IE tolkar sidan som xhtml i quirks-mode och inte i standards-mode.
mv icaaq
IE vet inte vad XHTML är för nåt, så om det visas "normalt" tolkar IE sidan som HTML. Ett annat scenario är att IE visar DOM-trädet.
IE har också en bugg som gör att vad som helst före DOCTYPE-deklarationen utlöser Quirks mode.
I HTML är det faktiskt ingen XML-deklaration, utan det är en meningslös processinstruktion. :)
icaaq skrev:
Nej. IE tolkar sidan som xhtml i quirks-mode och inte i standards-mode.
Förtydligar - IE hanterar i princip alltså xhtml-kod som "HTML med lite fel i" om man skickar den som text/html - oavsett om man har med <?xml?>-deklarationen eller ej...
Huruvida det blir "quirks" eller "standards" mode om man utelämnar <?xml?> är, som sagt, egentligen ett separat problem (relaterat till s.k. "doctype switching") och här hanterar t.ex. Mozillorna och MSIE valet mellan de olika moderna lite olika beroende på om <?xml?>-deklarationen är med eller ej, inledande mellanslag, utseendet på <!DOCTYPE och så vidare... Läs mer om det t.ex. här
Lyssna på zcorpan - han har örnkoll på detaljerna :)
tackar för svaren, verkar vara komplicerat att göra rätt :)