Возможное решение
Я загрузил два файла, чтобы вы могли увидеть это в действии:
- В виде файла HTML: попробуйте, заголовки
text/html
.
- В файле XML попробуйте, заголовки -
text/html
.
первый будет работать во всех браузерах. Второй не сработает в IE (и будет работать в других), потому что он игнорирует заголовки сервера. Причина: *.xml
окончание части имени файла. Это неправильное поведение IE, но нам придется с этим разобраться. Если ваше имя файла заканчивается на xml или ваш сервер отправляет его как application / xml, измените эти настройки.
Фон
Идентификатор ресурса, на который вы ссылаетесь, не является идентификатором ресурса. Это уникальный идентификатор, так сказать заполнитель. Он никогда не предназначался для загрузки в случаях обслуживания HTML (независимо от того, был ли это XHTML, как в этом случае). Это некорректный IE.
В сообщении, на которое вы ссылаетесь, предполагается, что они могут отключить ресурс. DTD все еще в сети < / em>. С другими стандартами они использовали разные подходы, когда ресурс не находится в сети в том же месте, что и идентификатор (та же проблема, с которой люди сталкиваются с пространствами имен: это не ресурс, это идентификатор).
Это не ужас XML, а просто странное поведение IE. Для работы с IE и XHTML вы должны использовать text/xml
как MIME-тип. Если вы запустите его локально, вы можете получить эту ошибку. Попробуйте подать его по-другому.
ПРИМЕЧАНИЕ: прежде чем вы спросите: в спецификации XML указано, что DTD не следует загружать, а следует рассматривать как уникальный идентификатор. Только для проверки XML загрузка ресурса хороша, но стандарт говорит, что идентификатор ресурса и фактический ресурс не обязательно должны совпадать.
person
Abel
schedule
15.10.2009