Google Chrome & xml+php
Метки: [без меток]
Генерирую xml страницу, с помощью php. Поскольку спецсимвол <? это начало php кода то заголовок документа вывожу так:
<?echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";?>
IE,Opera,FF нормально эту строку видят, даже Safari на основе которого помоему построен Google Chrome. Но вот в Google Chrome этой строки просто нет. Вопрос, почему он может её выкусывать, как-то понимает что строка отдаётся php? Что можно предпринять в таком случае?
<?echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";?>
IE,Opera,FF нормально эту строку видят, даже Safari на основе которого помоему построен Google Chrome. Но вот в Google Chrome этой строки просто нет. Вопрос, почему он может её выкусывать, как-то понимает что строка отдаётся php? Что можно предпринять в таком случае?
- Что значит «нет»? Где Вы это видите / не видите?
- Чем это Вам мешает?
AMBA[досье]
Вам следует вместо PHP-кода привести результирующий HTML-код.
Вам следует вместо PHP-кода привести результирующий HTML-код.
- Вью сорс никто ещё не отменял.
- Тем что он xml документ как текстовый показывает - кучей текста.
Смотреть на RSS, с учётом того, что браузеры сами его как-то обрабатывают перез показом довольно бессмысленно.
MT[досье]
А как вы думаете каким будет вывод:
<?echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";?>
Наверное таким:
<?xml version="1.0" encoding="windows-1251"?>
Lynn «Кофеман»[досье]
А чем большинство простых пользователей "смотрят" веб-каналы? Как по мне так браузерами, а раз так, то не обращать внимание на отображение в них, сродни "Смотреть на html с учётом того, что браузеры сами его как-то обрабатывают перед показом...".
А чем большинство простых пользователей "смотрят" веб-каналы? Как по мне так браузерами, а раз так, то не обращать внимание на отображение в них, сродни "Смотреть на html с учётом того, что браузеры сами его как-то обрабатывают перед показом...".
RSS-каналы не предназначены для прямого отображения браузерами. Каждый браузер отображает XML как хочет, это нормально. RSS читают при помощи специализированных программ (например, Omea Reader) или онлайн-сервисов (например, Яндекс.Лента).
Что бы xml показывался как xml, нужно отдавать правильный Content-Type.
<?
header('Content-Type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";
?>
Во-первых, XML-декларация является вообще необязательным элементом, с тем же успехом можно и без неё.
Во-вторых, насколько мне известно, нет никаких стандартов на то, как браузер должен отображать произвольный XML, вот он и делает с ним, что ему вздумается. Дайте ему XSLT, который приведёт XML к HTML, который браузер попытается стандартно (в меру своей испорченности) отобразить.
![[logo]](/site/images/logo.jpg)
