[HTML] HTML과 XHTML

2022. 9. 18. 21:16·Language/HTML
728x90

XHTML(EXtensible HTML)

XHTML은 EXtensible HTML을 의미한다.

XHTML은 HTML과 거의 비슷하지만, 문법의 적용이 조금 더 엄격한 특징을 가지고 있다.

 

웹 콘텐츠는 기존의 PC 위주의 환경에서 벗어나 여러 다양한 플랫폼에서 더욱 많이 이용되고 있다.

따라서 부정확한 HTML 문법을 지원하는 데 필요한 자원이 부족한 환경이 점차 생겨나기 시작한다.

XHTML 문서는 하나의 XML 문서로서 문법적으로 정확하므로, 표준 XML 라이브러리를 이용한 자동화된 처리가 가능해진다.

XHTML에서의 변경 사항

문서의 구조적 측면

  • XHTML DOCTYPE을 반드시 명시해야 한다.
  • <html>태그의 xmlns 속성을 반드시 명시해야 한다.
  • <html>, <head>, <title>, <body>태그를 반드시 사용해야 한다.

문서의 요소적 측면

  • 모든 태그는 반드시 닫혀야 한다.
  • 모든 태그는 순서대로 닫혀야 한다.
  • 모든 요소는 반드시 소문자로 사용되어야 한다.
  • XHTML 문서는 반드시 하나의 root 요소를 포함해야 한다.

문서의 속성적 측면

  • 속성 이름은 반드시 소문자로 사용되어야 한다.
  • 속성값은 반드시 따옴표로 감싸야 한다.
  • 속성값 생략이 없어졌기 때문에 반드시 속성값을 명시해야 한다.

HTML과 XHTML의 차이점

다음 예제들은 HTML과 XHTML의 차이점을 보여준다.

 

1. 종료 태그가 없는 빈 태그(empty tag)는 반드시 끝에 공백과 함께 슬래시(/)를 붙여야 한다.

HTML  : <hr>
XHTML : <hr />

 

2. 비어있지 않은 요소는 반드시 종료 태그를 가져야 한다.

HTML  : <p>첫 번째 문장</p><p>두 번째 문장
XHTML : <p>첫 번째 문장</p><p>두 번째 문장</p>

 

3. 요소들은 반드시 열린 순서대로 닫혀야 한다.

HTML  : <em><p>This is some text.</em></p>
XHTML : <em><p>This is some text.</p></em>

 

4. <img>태그에는 반드시 alt 속성이 기술되어야 한다.

HTML  : <img src="alternative.png" />
XHTML : <img src="alternative.png" alt="explanation" />

 

5. 모든 텍스트(text)는 반드시 태그로 감싸야 한다.

HTML  : <body>본문에 사용되는 텍스트 단락</body>
XHTML : <body><p>본문에 사용되는 텍스트 단락</p></body>

 

6. 속성값은 반드시 따옴표로 감싸야 한다.

HTML  : <td rowspan=3>
XHTML : <td rowspan="3">

 

7. 태그 이름이나 속성 이름에는 반드시 소문자만을 사용해야 한다.

HTML  : <BODY><P>태그 이름과 태그 속성은</P></BODY>
XHTML : <body><p>반드시 소문자만을 사용한다.</p></body>

 

8. 속성값 생략이 없어졌으므로, 반드시 속성값을 명시해야 한다.

HTML  : <textarea readonly>읽기만 가능하다.</textarea>
XHTML : <textarea readonly="readonly">읽기만 가능하다.</textarea>

'Language > HTML' 카테고리의 다른 글

[HTML] semantic element  (0) 2022.09.19
[HTML] HTML5  (0) 2022.09.18
[HTML] HTML과 JavaScript  (0) 2022.09.18
[HTML] HTML과 CSS  (0) 2022.09.18
[HTML] input 요소의 속성  (0) 2022.09.18
'Language/HTML' 카테고리의 다른 글
  • [HTML] semantic element
  • [HTML] HTML5
  • [HTML] HTML과 JavaScript
  • [HTML] HTML과 CSS
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MySQL
    변수
    web
    array
    파이썬
    CSS
    Java
    객체
    object
    react
    HTML
    event
    JavaScript
    TypeScript
    제어문
    타입스크립트
    자바스크립트
    next.js
    Python
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[HTML] HTML과 XHTML
상단으로

티스토리툴바