О PHP и типе содержимого xHTML5
Поэтому, читая в W3C, я мог добавить директиву XML в начале моего файла, например так:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
Но мой файл должен быть динамическим, и поэтому я использовал расширение.php. Конечно я могу echo '<?xml version="1.0" encoding="UTF-8" ?>';
до DOCTYPE, но тип содержимого остается text/html
и если я изменю его в моих заголовках PHP на application/xhtml+xml, cahrset=UTF-8
Мне предлагается загрузить файл. Я знаю, я мог бы просто использовать text/html
Тип содержимого, но я хочу иметь по крайней мере действительный xHTML (и CSS). Я всегда следовал стандартам и привык к этому. Я не начну писать недействительный HTML/xHTML.
РЕДАКТИРОВАТЬ:
Вот код:
header('Content-Type: application/xhtml+xml; charset=UTF-8');
РЕДАКТИРОВАТЬ 2:
<!-- ... -->
<noscript>
<link href="./no-java-script.css.php" rel="stylesheet" type="text/css" media="all" />
<meta http-equiv="refresh" content="0; url=/no-javascript.aspx" />
</noscript>
<!-- ... -->
<noscript>
<div onload="return false;" class="no-script"><p>Sorry, your browser does not support JavaScript! Click <a href="/no-javascript.aspx" hreflang="en-US" class="show">here</a> if it doesn't redirect you automatically.</p></div>
</noscript>
<!-- ... -->
2 ответа
Посмотрите на этот документ:
http://www.webstandards.org/learn/articles/askw3c/sep2003/
Но некоторые браузеры не знают о application/xhtml+xml.
Действительно, и это одна из самых больших текущих проблем с принятием нового типа MIME, тем более что Internet Explorer его не распознает (по крайней мере, для любой версии до 6.x в Windows и Mac OS). Конечно, это общая проблема с внедрением новых технологий, и она обычно улучшается с течением времени.
Так что да, мы должны использовать application/xhtml+xml
через несколько лет. В настоящее время это плохая идея, потому что не все широко используемые браузеры поддерживают ее.
Итак, мой совет: использовать в течение следующих 5 лет text/html
, Хорошо, что поддержка Xp закончилась. Когда-нибудь, возможно, наступит день, последняя версия IE 6 вышла;)
Это правда, что вы должны echo
строка объявления XML в PHP, когда значение php.ini short_open_tag
является on
или же 1
(который является стандартным и довольно распространенным). Итак, с этим все в порядке.
Что касается заголовка: application/xhtml+xml
MIME-тип может быть правильным, но (как вы уже видели), некоторые браузеры не настроены для обработки этого типа сами, поэтому они предлагают его скачать. Существует множество дискуссий о том, как справиться с этим, см., Например, http://www.webstandards.org/learn/articles/askw3c/sep2003/ или введите "xhtml mime type" в свою любимую поисковую систему.