XHTML 태그 의 자동 닫 기 쓰기 나 쁜 점 분석

XML 관련 개발 에 익숙 하 다 면 이러한 쓰기 에 익숙 할 것 입 니 다.XML 에 하위 노드 가 없 는 모든 요 소 를 이렇게 쓸 수 있다 고 생각 합 니 다.그러면 XHTML 에 내용 이 없 는 태그 도 이렇게 쓸 수 있 습 니 다.XHTML 에 서 는 이론 적 으로 모든 탭 을 자동 으로 닫 는 방법 으로 쓸 수 있 지만 브 라 우 저 호환성 은 새로운 문 제 를 가 져 왔 습 니 다.그것 은 IE 가 일부 탭 의 자동 닫 기 쓰기 방법 을 정확하게 식별 하지 못 하 는 것 입 니 다.
다음 XHTML 코드 를 입력 하고 IE 에서 찾 아 보 세 요.<p>hello <script type="text/javascript" /> world</p>.앞의 hello 만 볼 수 있 고 뒤의 World 가 보이 지 않 는 다 는 것 을 알 게 될 것 입 니 다.이 일 은 설명 할 수 없 을 것 입 니 다.많은 사람들 이 이 문 제 를 겪 었 고 몇 시간 이 걸 려 도 합 리 적 인 해석 을 찾 지 못 했 을 것 이다.
해석 은 다른 유사 한 코드 에서 유래 한 것 이다.<p>hello <textarea /> world</p>.IE 에서 그 표시 효 과 를 보면 합 리 적 인 해석 을 얻 을 수 있 습 니까?우 리 는 앞의 hello 가 정상적으로 표시 되 는 것 을 볼 수 있 고 뒤의 World 는 textarea 에 표 시 됩 니 다.이것 은 IE 가 textarea 태그 가 자동 으로 닫 힌 것 을 정확하게 식별 하지 않 고 닫 히 지 않 았 을 때 뒤의 내용 을 textarea 내부 의 내용 으로 인식 한 다 는 것 을 증명 합 니 다.
이때 우 리 는 앞의 코드 가 왜 뒤의 월 드 를 볼 수 없 는 지 알 게 되 었 다.왜냐하면 그것 은 script 의 일부분 으로 인식 되 었 기 때문이다.이것 은 우리 가 XHTML 을 사용 할 때 XML 처럼 자동 으로 닫 힌 쓰기 방법 을 마음대로 사용 할 수 없다 는 것 을 설명 한다.닫 을 필요 가 없 었 던 소수의 탭 만 자동 으로 닫 힌 쓰기 방법 을 사용 할 수 있 고,다른 탭 은 아무런 내용 이 없 더 라 도 쌍 으로 닫 는 쓰기 방법 을 사용 하 는 것 이 가장 좋다.
마지막 으로 여러분 께 말씀 드 려 야 할 것 은 사실 지혜 롭 지 못 한 parser 는 IE 뿐만 아니 라 parser 의 엄밀 하지 못 해서 발생 하 는 문제 에 부 딪 힐 수 있 습 니 다.그래서 우 리 는 XHTML 을 쓸 때 오래된 HTML 이 계승 하 는 습관 을 따라 야 합 니 다.마치 진짜 XML 처럼 기준 에 부합된다 고 생각 하고 마음대로 써 서 는 안 됩 니 다.안 믿 어?그럼 다시 시도 해 보 세 요:<p>hello <br></br> world</p>,IE 와 Opera 의 디 스 플레이 효과 에 주의 하 세 요.
Update:일부 독자 들 은 제 가 든 예 가 XHTML 규범 에 부합 되 지 않 는 다 고 생각 합 니 다.그러면 먼저 XHTML 규범 을 읽 으 세 요.Empty Elements 1 절의 중국어 번역 은 다음 과 같다.'빈 요 소 는 끝 표시 가 있어 야 하거나/>로 끝나 야 한다.예 를 들 어
또는
이다."HTML 호환성 표준 을 참고 하여 HTML 4 브 라 우 저 를 뒤로 호 환 할 수 있 도록 하 는 정 보 를 얻 으 십시오."이 를 통 해 알 수 있 듯 이 규범 에서 도
와 같은 예 를 제시 했다.이 는

의 표기 법 이 XHTML 규범 에 부합 되 고 HTML 4 기준 을 호 환 하지 않 았 다 는 것 을 설명 한다.그렇다면 과연 XHTML 은 HTML 4 를 호 환 할 수 있 을 까?Compatibility Issues 절 을 살 펴 보 겠 습 니 다.중국어 번역 은 다음 과 같 습 니 다."XHTML 1.0 문서 에 기 존의 브 라 우 저 를 호 환 하 라 고 요구 하 지 는 않 았 지만 실천 에 서 는 어렵 지 않 습 니 다."따라서 XHTML 은 문서 가 아래로 호 환 되 어야 한 다 는 규정 이 없습니다.제 가 제시 한 예 는 모두 합 법 적 인 XHTML 문서 단편 입 니 다.완전한 XHTML 에 나타 날 때 도 모두 W3C Markup Validation Service 의 검증 을 통과 할 수 있 습 니 다.
Update again:사실 제 가 이 글 을 쓴 목적 은 XHTML 규범 에 만 부합 된다 는 것 을 강조 하기 위해 서가 아니 라 XHTML 에 부합 되 는 동시에 HTML 4 를 호 환 하면 된다 는 것 을 강조 하 는 것 이 아니 라 호 환 이 필요 한 상황 을 더 고려 해 야 합 니 다.예 를 들 어 CMS 에서 사용자 가 HTML 을 제출 할 수 있 도록 합 니 다.제출 한 HTML 은 SgmlReader 또는 다른 방법 으로 XHTML 로 포맷 되 거나 다른 XML 처리 도 할 수 있 습 니 다.이 럴 때 사용자 가 제출 한

좋은 웹페이지 즐겨찾기