Page 1 of 1

xhtml 적격성 검사에서 에러 나네요.

Posted: 2005 01 30 22:58 52
by 나그네
http://www.iniz.info/homepage.html

나름대로 xhtml 로 만들어 볼려고 노력하고 있는데요.
검사해 보면 3 곳에서 에러나네요. -_-a

character data is not allowed here

라는 에러가 뜨네요.
UTF-8로 저장했거든요.

문제점을 모르겟어요.

Transitional 으로하면 통과되고 Strict하면 문제가 있으니.. :shock:

조언좀 해주세요.
감사합니다.

제 생각에는

Posted: 2005 01 31 00:14 19
by 박민권
제 생각에는
Iniz.Info 홈페이지<br />
대신에

이렇게 하라는 것 같은데요.
<p>Iniz.Info 홈페이지</p>

아니면 <div>Iniz.Info 홈페이지</div> 등으로 말이죠.

영어가 딸려서 ㅎㅎ

Posted: 2005 01 31 00:41 44
by 빛알갱이
박민권님 말씀이 맞습니다. 그런데, 그 부분은 페이지 제목이니까 제목애 부합하는 의미를 지닌 h1을 쓰시는 게 낫겠네요. XHTML strict에서는 body 바로 아래에 오직 다음 중 하나만 하용된다고 하네요.

"p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del"

참, 그 페이지는 http 헤더에서 UTF-8이라고 주장하지만, 문서 안의 xml 선언에서는 euc-kr이라고 하고 있습니다. 실제 인코딩은 UTF-8이네요. xml 선언문을 바꿔 주십시오. HTTP 헤더가 우선이니까 결국 실제 인코딩과 다른 값을 쓰는 일은 생기지 않지만, xml 선언문에서 맞는 값을 써 주시는 것이 좋겠지요. 그리고, xml 선언문을 이해하지 못 하는 옛 브라우저를 위해서 html 다음에 meta tag으로도 문자 인코딩을 선언해 주세요.

block level 요소와 inline 요소

Posted: 2005 01 31 00:44 30
by 신승식
xhtml 1.0 strict에서는 inline 요소(즉 요소의 전후로 줄바꿈이 일어나지 않는 것들, 예를 들면, strong, 일반 문자열, span, q, img, a 등)가 생뚱맞게 갑자기 출현하지 못하도록 하고 있습니다. 무슨 말이냐면 모든 것은 다 블럭으로 감싸져야 한다는 것입니다. 블럭이란 블럭의 시작과 후에 줄바꿈이 일어나는 것으로서 block level 요소들을 사용해야 합니다. 대표적인 것이 h1, h2, p, table, form, div, blockquote 등입니다.

그렇게 하는 이유는 바로 블럭 단위로 모듈화를 시키기 위해서입니다. 따라서

Code: Select all

<p>어쩌고 저쩌고</p>
와 같이 반드시 문단이나 블럭으로 인라인 요소들을 감싸주어야 합니다.

(물론 이런 요소들의 분류는 절대적인 것은 아닙니다. 부분적으로 시각적인 효과를 고려해 CSS의 display 속성에 inline, block 등의 값을 강제로 지정하면 요소의 성격이 바뀝니다만 논리적인 html을 만들 때 별로 좋은 방법은 아닌 것 같습니다. 그리고 CSS로 설사 성격을 바꾸었다고 해도 html 문서 안에는 원래의 blcok level 요소가 반드시 들어가야 합니다.)


참고하십시오.

Posted: 2005 01 31 10:26 22
by 나그네
그렇군요. ^^

감사합니다. 통과됩니다. :D

Posted: 2005 01 31 11:23 47
by XviD
아실지도 모르겠지만..
현재 보이는 나그네님의 xhtml 마크 이미지 테두리를 안 보이게 하려면
img { border:0; }을 스타일에 집어 넣어도 되고요.

Code: Select all

<style type="text/css">
img { border:0; }
</style>
아니면 이미지 파일에 직접 넣어도 되죠.

Code: Select all

<img style="border:0" src="그림 경로 및 파일명" alt="올바른 XHTML 1.1!" />
스타일(CSS)에 집어넣으면 전체적으로 웹페이지에 영향을 미치고
이미지에 개별적으로 집어넣으면 해당 이미지만 영향을 받죠.

저도 공부중이에요. :oops:

Posted: 2005 01 31 16:21 40
by XviD
에고 또 에러네요.

<h2> 값 하나만 마무리하면 됩니다.

<h2>xhtml<h2>를
다음과 같이 고쳐보세요.

Code: Select all

<h2>xhtml</h2>

만일 XHTML 1.1 검사를 받고 싶다면
!DOCTYPE에서 XHTML 1.0을 XHTML 1.1로 바꾸면 되고요.

그러니까 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">를

이렇게

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
고치면 됩니다.

이로써 W3C XHTML 1.1도 통과입니다. :)

Posted: 2005 01 31 20:15 31
by 나그네
몇개 건드리지도 않았는데.. 문제가 발생했었네요.

바로 고쳤습니다.

img 도 스타일 먹야서 테두리 안 보이게 처리했구요.

내친김에 css 적경성 검사도 받았습니다.
워낙 간단해서 바로 통과네요.