XHTML로 업그레이드하는 방법

어떻게 웹사이트를 XHTML로 업그레이드 할 수 있을까요?

사이트를 HTML에서 XHTML로 변환하려면, 먼저 몇 장에서 설명한 XHTML 문법 규칙을 이해해야 합니다.

특정 단계를 설명하겠습니다.

파일 타입 선언 추가

아래의 파일 타입 선언을 각 페이지의 첫 번째 줄에 추가하세요:

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

주의:이 사이트 (codew3c)는 엄격한 DTD를 사용합니다. 그러나 전환적인 DTD를 사용하는 것도 좋은 선택입니다. 왜냐하면 많은 초보 개발자들에게 엄격한 DTD는 ' 너무 엄격하다 ' 느껴질 수 있기 때문입니다.

파일 유형 선언에 대한 조언

页面가 올바른 XHTML로 검증되기를 원한다면, 페이지에 파일 유형 선언이 포함되어야 합니다.

파일 유형 선언에 따라 파일 유형이 다르므로, 새로운 브라우저는 문서를 다르게 처리할 수 있습니다. 브라우저가 파일 유형 선언을 읽으면, 그 문서를 적절한 방식으로 처리합니다. DOCTYPE가 없으면, 문서가 완전히 다른 방식으로 표시될 수 있습니다.

소문자 태그와 속성 이름

XHTML은 대소문자를 구분하며, XHTML은 대문자 HTML 태그와 속성 이름을 받아들이지 않기 때문에, 모든 대문자 태그를 소문자로 변경하는 간단한 검색 및 대체 명령을 수행할 수 있습니다. 속성 이름에도 동일한 처리를 해야 합니다. 우리의 웹사이트에서는 소문자를 사용하고 있기 때문에, 대체 기능은 거의 사용되지 않습니다.

모든 속성에 인용부호를 추가하세요

W3C XHTML 1.0 표준에서 모든 속성 값이 인용부호로 감싸져야 하므로, 이러한 세부 사항을 이전에 주의하지 않았다면, 웹사이트를 페이지별로 확인해야 합니다. 이는 시간이 많이 걸리는 작업이므로, 속성 값에 인용부호를 추가하는 것을 잊지 마세요.

공백 태그: <hr> , <br> 및 <img>

XHTML에서는 공백 태그(Empty tags)를 사용할 수 없습니다. <hr>와 <br> 태그는 <hr />와 <br />로 대체해야 합니다.

이렇게 하면 새로운 문제가 발생합니다. Netscape는 <br/> 태그를 오해합니다. 원인은 불명확하지만, <br/>로 변경하면 문제가 해결됩니다. 이 점을 인식한 후, 태그를 변경하기 위해 다시 검색 및 대체 기능을 사용해야 합니다.

그 외의 일부 태그(예: <img> 태그)도 위와 같은 문제를 겪을 수 있습니다. <img>를 닫는 쌍태그 대신, 태그의 끝에 / >를 추가하세요.

웹사이트 검증

모든 이상을 마친 후, 다음 링크를 사용하여 모든 수정된 페이지를 공식 W3C DTD에 따라 검증하세요: XHTML��정기다음으로, 몇 가지 오류가 발견될 수 있습니다. 이러한 오류를 하나씩(수동으로) 수정합니다. 우리의 경험에 따르면, 가장 쉽게 발생하는 오류는 목록에서 </li> 태그가 누락된 것입니다.

전환 도구(예: TIDY)를 사용해야 할까요? 예, TIDY를 사용할 수 있었습니다.

Dave Raggett의 HTML TIDYHTML 코드를 정리하는 무료 도구입니다. 특별한 HTML 코드 편집기와 변환 도구로 생성된, 읽기 어려운 HTML 코드를 처리하는 데 TIDY는 매우 좋은 성과를 거두고 있습니다. 또한, 웹사이트에서 더 많은 노력이 필요한 부분을 발견하여 장애인에게 더 나은 웹 사용성을 제공할 수 있도록 도와줍니다.

Tidy를 사용하지 않은 이유는 무엇인가요? 이 웹사이트를 만들기 시작할 때, 우리는 XHTML에 매우 익숙해졌습니다. 그때 우리는 소문자 태그와 속성에 쌍따옴표를 사용하는 것을 알고 있었습니다. 따라서 웹사이트 테스트 중에 우리는 단순히 W3C의 XHTML��정기를 통해 테스트하고 몇 가지 오류를 수정했습니다. 더 중요한 것은, 우리는 Tidy 스타일의 HTML 코드를 작성하는 것에 대한 많은 지식을 습득했습니다.

课外阅读

XHTML를 사용하여 페이지를 구조화하는 것에 대한 더 깊은 이해를 원하시면,《XHTML 구조화》。