2009-11-20 2 views
4

IE의 XHTML 호환성에 대해 다소 뜨거운 논쟁이 있습니다. 유일한 것은, 그 남자가 조업 중인지 확신 할 수 없다는 것입니다.IE의 XHTML 호환성

본질적으로 IE는 XHTML과 전혀 호환되지 않으며, 정의 된 XHTML doctype이있는 문서는 사용 된 브라우저와 상관없이 content type text/html로 제공 될 때 아무런 의미가 없다고 주장합니다.

나는 이것을 믿지 않으며 근원은 다르게 말한다, 그러나 나는 틀린가?

편집 : IE를 무시하고, XHTML이 HTML 문서에 정의되어있을 때 XHTML이 아니라는 것을 의미합니까? 그 남자가 제안한 것처럼? 현재 나의 이해는 XHTML이 종종 HTML 콘텐츠 유형 내에 포함된다는 것입니다. 즉, 기술적으로 올바른 내용 유형을 사용하지 않으면 XHTML이 HTML이라고 말할 수 있습니다. 하지만 여전히 XHTML 문법이므로 다소 혼란 스럽습니다.

문제의 스레드는 digitalpoint forums에 있습니다.

+1

불행히도, 틀렸어. http://www.howtocreate.co.uk/wrongWithIE/?chapter=XHTML을 참조하십시오 - IE에서 오류를 강제하기 위해 XHTML을 엄격하게 사용하는 데모 (페이지 하단)가 있습니다. – GalacticCowboy

+0

@GalacticCowboy 나는 이것을 이해할 수있다. 그러나 나는 doctype이 XHTML로 설정 될 때 절대적으로 아무런 의미가 없다는 생각에 더 관심이있다. –

+1

@kahrn XHTML 1.0은 구문 일 뿐이며 처리 선언이 아니므로 구문 준수의 의미를 넘어서는 않습니다. –

답변

9

IE는 실제로 application/xhtml+xml 콘텐츠 유형을 지원하지 않지만 다른 브라우저는 HTML을 XML로 처리합니다. text/html이 사용되면 모든 브라우저는 XHTML을 HTML로 처리 할 것이고 IE는 여기서는 전혀 다른 작업을 수행하지 않습니다 (일반적인 단점을 기대하십시오). 여기

자세한 내용 : http://hsivonen.iki.fi/doctype/

+0

IE를 무시하면 XHTML이 HTML 문서에 정의되어있을 때 XHTML이 아니라는 것을 의미합니까? 그 남자가 제안한 것처럼? 내 견해는 그것이 HTML 내에 포함 된 XHTML이라는 것입니다. 이게 맞지 않아? –

+2

예, HTML 문서에 삽입 된 XHTML은 태그 수프로 취급됩니다. – Broam

+0

XHTML은 "XML 구문이있는 HTML"로 간주되어야합니다. 실제 내용 유형은 브라우저에 스트림 처리 방법을 지시합니다. 'application/xhtml + xml'은 XML 파서/렌더러를 트리거합니다. 'text/html'은 HTML 파서/렌더러를 트리거합니다. IE는 무의미하며 항상 HTML로 처리합니다. – BalusC

3

남자는 권리입니다. XHTML을 text/html로 제공 할 때 is는 더 이상 XHTML이 아니지만 재미있는 모양의 HTML입니다. MIME 형식이 핵심입니다.

+0

사실이 아닙니다. XHTML 1.0 사양의 5.1 절을 참조하십시오. –

+2

예, 아니오, 오스틴. 구문은 xhtml이고, spec은 당신이 text/html로 그것을 제공 할 수 있다고 말한다. 그러나 브라우저는 그것을 xhtml과 태그 수프로 인식하지 않을 것이다. – Rob

+1

@Rob - 브라우저는 HTML 4.01, XHTML 1.0 또는 XHTML 1.1인지 여부에 관계없이 HTML로 인식합니다. 그래서 그것이 태그 수프라면 doctype을 준수한다면 여전히 유효한 XHTML이 될 것입니다. XHTML이 XML로 처리되도록 요구하려면 XHTML 1.0 대신 XHTML 1.1을 사용하십시오. 그렇지 않으면 명세에 기록되지 않은 사항을 추측하고 있으므로 사용자가 잘못한 것이지 사용자가 주장하는 사람이 아닙니다. –

0

BalusC가 정확합니다. 더 중요한 것은 당신이 주장하는 사람은 XHTML이 XML이어야한다고 가정하고 있습니다. 이것은 거짓입니다. XHTML 1.0은 XML 구문과 호환되는 HTML 구문이지만 SGML 직렬화는 선택적으로 5.1 절에 따라 XML로 처리 될 수 있습니다. 그러나 XHTML 1.1은 XML로 처리해야합니다.

XHTML 1.0은 SGML과 XML 구문 (심지어 XHTML 1.0 strict) 사이의 전환점으로 작성됩니다. XHTML 1.0의 다양한 유형은 모두 과도기적이며 처리 방법에 관계없이 XML 구문에 대한 적합성 정도를 나타냅니다.

0

다른 사람이 맞습니다. 당신은 잘못. IE는 application/xhtml + xml을 지원하지 않습니다. IE는 다른 브라우저처럼 텍스트/HTML로 제공 될 때이를 "태그 수프"로 취급합니다.

+0

IE 무시, XHTML이 HTML 문서에 정의되어있을 때 XHTML이 아닌 것을 여전히 의미합니까? 그 남자가 제안한 것처럼? –

+1

XHTML의 구문이지만 브라우저가 그런 식으로 읽을 수 없으므로 문구를 찾아내는 것이 까다로울 수 있습니다. 브라우저가 브라우저에서 처리하는 방식 때문에 "깨진 HTML"이라고 부르는 브라우저도 있습니다. – Rob

+1

XHTML은 구문이며 처리 스키마가 아닙니다. 태그 수프 (tag soup)라고 부르는 SGML 형식으로 제공 될 수 있으며 여전히 유효합니다. XML로 처리되는지 여부는 구문의 유효성과 관련이 없습니다. XML로 처리해야하는 XHTML 양식을 사용하려면 XHTML 1.0 대신 XHTML 1.1을 사용하십시오. –

1

나는이 질문에 수행하지만, 추측 :

IE는 IE가 XHTML 콘텐츠를 구문 분석하지 않습니다

가 XHTML로 text/html 역할을 전혀 XHTML 호환성이 없습니다. (HTML로 구문 분석합니다.)

불행히도 웹 페이지로 application/xhtml+xml으로 게재되는 XHTML 콘텐츠는 표시되지 않으며 다른 XML 콘텐츠 (예 : prettified source)를 표시하는 것처럼 표시합니다.

XHTML 1.0 사양에 따라 이전 브라우저 (예 : IE)와의 호환성을 위해 text/html으로 제공 할 수 있습니다. 따라서 IE는 XHTML 1.0 사양과 호환됩니다. 그러나 XHTML을 XML로 파싱하지 않는다면 많은 사람들이 논쟁 한 것처럼 요점은 무엇입니까?

정의 된 XHTML의 문서 타입으로 문서

이 콘텐츠 형식 text/html과 역할을 절대적으로 아무 의미에 관계없이 브라우저의

그는 "수단"에 의해 무엇을 의미하는지 따라 달라집니다 사용. 그것은 여전히 ​​HTML이기 때문에 그와 관련된 모든 의미가 있습니다. 그리고 말했듯이 XHTML 문법으로 작성 되었기 때문에 내용은 여전히 ​​XHTML입니다. 그러나 mimetype 때문에 XML로 구문 분석되지 않으므로 XML에서는 그렇지 않으므로 XHTML이 아닙니다.

(실제적인 의미가 궁금하신 분은 클럽에 가입하십시오.)