HTML과 XHTML의 차이


    1. 문법적으로 엄격하게 구성되어 있어야 한다. 
      HTML
      은 종료태그가 없는 것을 허용하였으나 XHTML은 반드시 종료태그를 갖는다. HTML 은 태그의 중첩이 잘못된 것을 허용하였으나 XHTML은 잘못된 중첩을 허용하지 않는다. 잘못된 중첩은 화면표시(렌더링)에 직접적인 영향을 주기도 한다.
    2. 요소와 속성은 소문자로 표기되어야 한다. 
      HTML
      은 요소(=엘리먼트, 태그)와 속성에 대소문자를 함께 사용하는 것을 허용하였으나 XHTML의 마크업 '요소' '속성'들은 반드시 소문자로 표기한다. , 속성의 ‘값’에는 대소문자 혼합 표기가 가능하다. 하지만 대소문자를 명확하게 구분하기 때문에 대문자로 구성된 ‘값’과 소문자로 구성된 ‘값’은 동일하지 않고 확실히 구별된다.
    3. 모든 태그는 종료태그를 갖는다. 
      HTML
      의 경우 <p>, <td> 등의 태그에서 종료태그를 생략하는 것을 허용하였지만 XHTML 의 경우 반드시 닫아야 한다.
    4. 속성 ‘값’들은 항상 따옴표로 감싸주어야 한다. 
      HTML
      의 경우 속성 값들을 따옴표로 감싸지 않는 것을 허용하였지만 XHTML 에서는 반드시 속성 ""은 따옴표 안에 있어야 한다.
    5. 속성과 값의 단축표기를 허용하지 않는다. 
      HTML
      에서는 속성과 속성 값의 단축표기를 허용하였으나 XHTML 에서는 단축표기 하는 것을 허용하지 않는다. <input checked> <input checked="checked"> 와 같이 표기되어야 한다.
    6. 비어있는 태그(종료태그가 없는 태그)도 종료 되어야 한다. 
      HTML
      에서 <br>, <hr> 과 같이 콘텐트를 담지 않는 빈 태그들은 <br />, <hr /> 과 같이 표기하여 시작태그에서 곧 종료됨을 표기해 주어야 한다.
    7. a, applet, frame, iframe, img, map 에서 name 속성은 다음 버전부터 지원하지 않는다. 
      id
      name 을 함께 사용하던 마크업의 name 속성은 모두 id 속성으로 교체되어야 한다. name 속성은 공식적으로 폐기하였지만 여전히 XHTML 1.0 Transitional 버전의 문서까지는 지원하고 있다. 하지만 XHTML 1.0 Strict 버전에서 지원하지 않으며 다음 버전에서는 분명히 폐기된다.

    Posted by 부니기