2010-03-07 3 views
1

내 마지막 회사는 자신의 특정 목적을 위해"독점"HTML 태그 독점적으로 4.01 DOCTYPE을 사용 4.01

<pp:foo attrOne="something" attrTwo="something else"/> 

의 형태로 독점 태그의 사용을 기반으로 몇 가지 새로운 기능을 추가하기로 결정했다. aspx 페이지. 처음에는 이러한 독점적 태그가 자동으로 닫힐 때 문서의 나머지 부분이 해당 요소의 하위 요소로 해석 될 수 있다고 생각할 때까지 많은 자바가 파기되었습니다. (나는 편안 어떤 경우에도 4.01 독점 태그를 사용하여 생각하지 않았지만, 그 결정이 내 급여 등급 이상으로 만들어 졌다고 추가해야합니다.)

내 직감에 기초

, 나는 그들이

로 변경 제안
<pp:foo attrOne="something" attrTwo="something else"></pp:foo> 

그리고 모든 깨진 자바 스크립트 DOM 조작이 다시 정상적으로 돌아 왔습니다. 나는 어디에서나 이런 종류의 행동에 대한 언급을 찾을 수 없었고, 그것을 고치는 것은 내 운이 좋은 추측이었다. 제 질문은 누군가가 왜 이것이되어야하는지 구체적으로 알고 있습니까?

답변

3

HTML 4.01은 첫 번째 예에서와 같이 자동 마감 태그를 지원하지 않으므로이 문제가 발생했습니다.

+1

참조 http://www.w3.org/TR/html4/intro/sgmltut.html 3.2.1 요소 – Pindatjuh

+1

감사합니다. 되돌아 보면 이것은 명백하게 보입니다 만, 때로는 내부를 바라 보면서 우리는 나무 숲을 볼 수 없습니다. – Robusto

3

W3C html validator 다소 설명의 제공 : <는 FOO는 />하는 것은 가 문서의 DOCTYPE에 따라 적어도 2 개 개의 상이한 방식으로 해석 될 수

시퀀스.
HTML 4.01 Strict의 경우 '/'는 < FOO ( 이 암시 된 '>'태그)를 종료합니다. 많은 브라우저가 이런 식으로 해석하지 않기 때문에
그러나, 심지어 HTML 4.01 엄격한 DOCTYPE의 존재 , 그것은 그것을 완전히 순수한 HTML 문서의 및 예비 그 에 대해 단독으로 사용을하지 않도록하는 것이 가장 좋습니다 XHTML로 작성되었습니다.

관련 문제