점점 더 많은 웹 사이트에서 XHTML의 사용은 HTML4를 매우 빠른 속도로 대체합니다. 그러나 일부 주류 브라우저는 현재 XHTML을 지원하지 않으며 일부 웹 페이지 제조업체는 XHTML과 HTML4의 차이점을 이해하지 못하므로 웹 개발에서 XHTML이 느려집니다.
XHTML은 HTML이 아닌 XML입니다현재 XHTML에 대한 주요 오해 중 하나는 HTML의 또 다른 버전이라는 것입니다. 이러한 오해를 일으키는 한 가지 사실은 Microsoft Internet Explorer가 권장 애플리케이션/xhtml+xml 형식이 아닌 MIME 형식의 텍스트/html로 XHTML 만 지원한다는 것입니다.
XHTML 페이지가 텍스트/html의 MIME 형식으로 구문 분석되면 HTML 페이지와 차이가 없으며 MIME 형식의 텍스트/XML 또는 응용 프로그램/XHTML+XML로 구문 분석되면 엄격한 XML 쓰기 및 표시 규칙을 준수합니다.
올바른 XHTML 형식은 XML 프로그램이며 다음과 같은 엄격한 규칙을 따라야합니다. 1. 문자 <및 & & & & & & & & & & & & & & & & & & & & & &는 cdata tag (<! [cdata [...]>)에 포함되지 않으면 xhtml 문서 내용에 표시되지 않습니다. 2. 주석 레이블 (<! --...->)에는 두 개의 연속 수평 막대 (-)를 포함 할 수 없습니다. 3. 주석 태그에 포함 된 내용 (<! --...->)은 무시됩니다. 스타일 및 스크립트 내용 문제내부 내부 스타일 및 스크립트 태그는 XHTML이 XML 형식으로 구문 분석되면 (HTML 형식이 아닌) 다른 차이를 유발합니다.
JavaScript에는 XHTML에 존재할 수없는 문자가 포함되어 있습니다 JavaScript의 일부 특수 문자는 XHTML의 CDATA 태그 외부에 존재할 수없는 문자입니다.<스크립트 유형 = 텍스트/JavaScript>
var i = 0;
while (++ i <10) {
// ...
}
</스크립트>
참고 : 위의 샘플 코드는 xhtml 또는 xml < 에서 허용되는 태그를 사용하지 않기 때문에 양호한 XHTML 형식이 아닙니다.
스타일 및 스크립트 내용으로 주석을 사용하십시오HTML에 익숙한 저자는 일반적으로 주석 태그에 스타일과 스크립트 태그 컨텐츠를 배치하면 브라우저에서 이러한 내용을 숨길 수 있지만 일부 브라우저는 이해할 수 없습니다.
<스타일 유형 = 텍스트/CSS>
<!-
바디 {배경색 : 파란색; 색상 : 노란;}
->
</스타일>
<스크립트 유형 = 텍스트/JavaScript>
<!-
var i = 0;
var sum = 0;
for (i = 0; i <10; ++ i)
{
합계 += i;
}
경고 ( 'sum =' + sum);
//->
</스크립트>
위의 예는 브라우저의 댓글 태그에서 내용을 무시하는 방법을 보여줍니다. 동시에이 예제는 텍스트/XML 형식의 브라우저 내용과 응용 프로그램/XHTML+XML 형식의 차이를 보여줍니다.
모질라 1.1+ / 오페라 7
CSS가 적용되지 않으며 JavaScript가 실행되지 않습니다
Netscape 7.0x / Mozilla 1.0.x
CSS를 적용하지 않고 JavaScript를 실행합니다
인터넷 익스플로러 5.5+
문서가 표시되지 않습니다. (참조 : https://developer.mozilla.org/ta ... _in_xhtml_documents)
스타일과 JavaScript에는 두 개의 연속 수평 막대가 포함되어 있습니다 (-)XHTML 페이지의 JavaScript에서 처리하기 위해 댓글 태그를 사용하는 경우 또 다른 문제가 발생합니다.
<스크립트 유형 = 텍스트/JavaScript>
<!-
var i;
var sum = 0;
for (i = 10; i> 0; --i)
{
합계 += i;
}
//->
</스크립트>
주석 대신 cdata를 사용하십시오스크립트 태그 내부의 내용을 CDATA 블록에 넣으면 주석에서 두 개의 연속 막대 문제를 처리 할 수 있지만 XML을 이해할 수 없기 때문에 일부 버전의 브라우저에서는 지원되지 않습니다. 다행스럽게도 JavaScript의 댓글 작성자를 사용하여 호환성을 달성하여 CDATA 블록에 주석 할 수 있습니다.
<스크립트 유형 = 텍스트/JavaScript>
// <! [cdata [
var i = 0;
while (++ i <10)
{
// ...
}
//]]>
</스크립트>
권장 XHTML 및 HTML 호환성 처리 방법XHTML 페이지에서 스타일과 스크립트를 직접 쓰지 마십시오. 좋은 대안은 외부 파일을 사용하여 XHTML에 소개하기 전에 CSS 및 JavaScript를 작성하는 것입니다.
이 권장 솔루션은 매우 좋아 보입니다. 어쨌든 적어도 향후 몇 년 동안 페이지를 텍스트/html에서 application/xhtml+xml로 변경합니다.