본문 바로가기

IT 용어

XHTML이란

반응형

XHTML이란

■ XML + HTML

・XML기반(XML로 작성된) HTML. (HTML4를 XML에 맞게 재정의한 언어)

・Extensible Hypertext Markup Language의 약자

・XML 마크업 언어로 HTML보다 문법이 엄격하다

・모든 주요 브라우저에서 지원한다

 

■ XHTML을 사용하는 이유

・Computer OS, Browser 종류 등에 관계없이

 모든 환경에서 호환되는 웹 표준을 만들기 위해

・HTML의 단점을 보완하기 위해

 - 기존 HTML은 다소 부정확한 코딩이 있어도 무시하고 처리

・HTML에서는 할 수 없는 일을 할 수 있다

 (ex 1) CDATA 섹션 사용

   이 섹션 안의 문자들은 태그로 처리되지 않기 때문에

   따로 이스케이프(escape) 해 줄 필요가 없다

  <![CDATA[ … ]]>

 

 (ex 2) processing-instruction 사용

   XML 문서에 스타일시트를 연결시킬 수 있다

  <?xml-stylesheet type="text/css" href="style.css" media="screen"?>

 

 (ex 3) 다른 XML 이름 영역(namespace)에 있는

   요소(element)들을 포함시킬 수 있다

 (ex 4) &apos;캐릭터 엔티티(character entity)를 사용할 수 있다

 

 

XTHML 문법 규칙

■ XHTML 서식

・구조적 측면

 - XHTML DOCTYPE을 반드시 명시해야 한다

 - <html> 태그의 xmlns 속성을 반드시 명시해야 한다

 - <html>, <head>, <title>, <body> 태그를 반드시 사용해야 한다

 

・요소적 측면

 - 모든 태그는 반드시 닫혀야 한다

 - 모든 태그는 순서대로 닫혀야 한다

 - 모든 요소는 반드시 소문자로 사용되어야 한다

 - XHTML 문서는 반드시 하나의 root 요소를 포함해야 한다

 

・속성적 측면

 - 속성 이름은 반드시 소문자로 사용되어야 한다

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

 - 속성값 생략이 없어졌기 때문에 반드시 속성값을 명시해야 한다

 

■ XHTML과 HTML 차이점

・종료 태그가 없는 빈 태그(empty tag)는

 반드시 끝에 공백과 함께 슬래시(/)를 붙인다

 (HTML은 종료 태그 생략 가능)

  HTML : <hr>

  XHTML: <hr />

 

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

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

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

 

・요소들은 반드시 열린 순서대로 닫힌다

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

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

 

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

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

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

 

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

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

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

 

・모든 속성값은 반드시 따옴표로 감싼다

  HTML : <td rowspan=3>

  XHTML: <td rowspan="3">

 

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

  HTML : <BODY><P>태그 이름 태그 속성</P></BODY>

  XHTML: <body><p>태그 이름 태그 속성</p></body>

 

・XHTML은 반드시 속성값을 명시해야 한다

 (속성에 속성값 생략 불가능)

  HTML : <textarea readonly>읽기만 가능합니다</textarea>

  XHTML: <textarea readonly="readonly">읽기만 가능합니다</textarea>

 

・특수문자를 쓸 때는 Entity Name 또는

 Entity code를 사용해야 한다

 

・XHTML은 '네임 스페이스'라는 것을 꼭 지정해 주어야 한다

 

 

XTHML 요소

 

■ 블록 요소

<h1 /> ~ <h6 />, <p />, <div />등 줄 바꿈이 일어나는 태그들이 해당한다

・대부분의 블록 요소 안에는 텍스트(문자)와 인라인 요소 모두 포함 가능

・대부분의 요소는 같은 형태의 다른 요소를 안에 포함할 수 있다

c(블록 요소 안에 블록 요소, 인라인 요소 안에 인라인 요소)

 

■ 인라인 요소

<strong />, <a />, <span />, <img />등 줄 바꿈이 일어나지 않는 태그들이 해당한다

・인라인 요소는 블록 요소를 포함할 수 없다

・대부분의 요소는 같은 형태의 다른 요소를 안에 포함할 수 있다

 (블록 요소 안에 블록 요소, 인라인 요소 안에 인라인 요소)

 

 

XTHML 리스트

 

■ ol (Order List) - 순차적 목록

<ol>블록 요소

<ol>요소는 블록 요소이며,<li>요소 이외의 다른 요소는 포함할 수 없다

<li>인라인 요소

<li>요소는 블록 요소이며 텍스트, 인라인 요소, 블록 요소를 포함할 수 있다

<ol>
 <li> ~~~~ </li> 
 <li> ~~~~ </li>
 <li> ~~~~ </li>
</ol>

 

■ ul (Unorder List) - 비순차적 목록

<ul>블록 요소

<ul>요소는 블록 요소이며,<li>요소 이외의 다른 요소는 포함할 수 없다

<li>인라인 요소

<li>요소는 블록 요소이며 텍스트, 인라인 요소, 블록 요소를 포함할 수 있다

<ul>
 <li> ~~~~ </li> 
 <li> ~~~~ </li>
 <li> ~~~~ </li>
</ul>

 

■ dl (Definition List) - 정의형 목록

・용어와 설명으로 구성된 목록

<dl> (Definition List)

 - 정의 목록을 나타내는 태그

 - 블록 요소 속성을 가지고 있음

 - 하지만 <dt>, <dd>이외 요소 포함 불가

 - 용어 설명에 적합한 태그

 

<dt> (Definition Term)

 - 정의 용어의 제목을 나타내는 태그

 - 인라인 요소. 인라인 요소와 텍스트를 포함할 수 있음

 - <dl>태그 안에서 사용되며, <dt>는 여러 개가 와도 상관없음

 

<dd> (Definition Description)

 - 정의된 제목에 대한 설명

 - 블록 요소 속성을 가지고 있음

 - <dt>, <dd> 간의 순서 상관없음 (계층으로 보면 dt = dd)

 - 블럭 요소, 인라인 요소

 - 들여 쓰기가 되어 있음

 - <dl>태그 안에서 사용되며, <li>와 같은 성질을 가지고 있음

 

■ HTML → XHTML 문서 변환

1. 첫 줄에 다음 코드를 추가

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

2. xmlns 속성을 추가.

3. 모든 태그 이름을 소문자로 바꿔준다

4. 모든 빈 태그를 닫아준다

5. 모든 속성 이름을 소문자로 바꿔준다

6. 모든 속성값을 따옴표로 감싸준다

 

 

반응형