EPUB 제작의 기초/EPUBCheck 오류

"i"요소는 여기에 사용할 수 없습니다.

내.맘.대.로 2024. 9. 2. 11:14
EPUB 전자책을 제대로 공부하고 싶은 분들은 처음부터 읽어보세요. 실력을 끌어 올리려면 제대로 개념을 알아야 합니다.
"아몰랑" 난 대충 만들래. 제대로 된거 관심 없어. 대충 엉터리로 만들어도 돼. 라는 분들은 제일 끝부분만 읽으면 됩니다.

 

EPUBCheck 오류 내용

 

"i" 요소는 여기에 사용할 수 없습니다 ; end-tag 요소 또는 "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" 또는 "ul" (with xmlns:ns="http://www.w3.org/2000/svg") 요소이(가) 예상됨 파일을 분석하는 동안 "오류"가 발견되었습니다.

 

Col: 10: ERROR(RSC-005): "p" 요소는 여기에 사용할 수 없습니다 ; end-tag 요소, text 또는 "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" 또는 "var" (with xmlns:ns="http://www.w3.org/2000/svg") 요소이(가) 예상됨 파일을 분석하는 동안 "오류"가 발견되었습니다.

 

EPUB 전자책을 편집하면서 가장 많이 보는 오류 메시지 중 하나일거예요.이 오류는 특정 태그 또는 요소를 잘못된 위치에 사용했을 때 표시됩니다.

 

이 오류를 이해하려면 태그의 기본 속성 중 하나인 "인라인 태그"와 "블럭 태그"에 대해 공부해야 합니다.더 정확히 이해를 하려면 HTML 구조를 이해하고, 섹션 루트, 콘텐츠 섹션, 텍스트 콘텐츠, 인라인 텍스트 등의 태그 별 구성과 역할을 알아야 하지만 간단히 "인라인 태그"와 "블럭 태그" 정도의 개념만 알아도 됩니다.

 

인라인과 블럭 요소는 CSS에서 콘텐츠(텍스트)를 어떻게 배치하는지를 정의하는 display 속성이지만 HTML 태그는 기본 값으로 인라인과 블럭 속성을 부여받습니다.

 

전자책 편집 할 때 가장 많이 쓰는 태그인 p, div, 제목 태그(h1 ~ h6) 등은 블럭 태그입니다. 블럭 태그는 새로운 행으로 시작하며 태그 하나 당 하나 씩 세로로 배치가 됩니다. 

 

문단 내에서 특정 글자를 꾸밀 때 사용하는 태그인 i, b, sup, sub, span 같은 태그는 인라인 태그입니다. 블럭 태그처럼 행갈이를 하지 않고 한 줄에 표시됩니다.

 

여기부터 중요!!!

블럭 태그는 인라인 태그를 대신해 사용 할 수 없습니다.div 같은 예외적인 태그가 있긴 하지만 p, h1 ~ h6 같은 블럭 태그는 다른 블럭 태그를 포함할 수 없고, 블럭 태그 안에 사용할 수도 없습니다.

 

<h1> 블럭 태그 안에 <p>다른 블럭 태그를</p> 사용할 수 없습니다.</h1>

이렇게 h1태그 안에 p태그를 쓸 수 없다는 의미입니다. 이렇게 쓰면 h1 태그 안에 p 태그가 올수 없기 때문에 아래 같은 오류가 표시됩니다.

 

Col: 10: ERROR(RSC-005): "p" 요소는 여기에 사용할 수 없습니다 ;

 

 해결 방법은 간단합니다. 

p 태그를 h1 태그 바깥으로 빼거나 p 태그를 span 같은 인라인 태그인로 수정하면 되지요.

 

반대로 인라인 태그는 반드시 블럭 태그 안에 포함되어야 합니다.

 

<i>블럭 태그 없이 인라인 태그를 사용할 수 없습니다.</i>

 

이렇게 블럭 태그 없이 인라인 태그를 쓰면 아래와 같은 오류가 표시됩니다.

 

"i" 요소는 여기에 사용할 수 없습니다

 

b, sup, sub 같은 인라인 태그는 모두 블럭 태그 안쪽에 사용해야 합니다.

이 오류를 수정하려면 인라인 태그 바깥쪽에 블럭태그를 감싸주면 됩니다.

 

<p> <i>블럭 태그 없이 인라인 태그를 사용할 수 없습니다.</i> </p>

오류 메시지 뒤에 나오는 설명은 이 오류를 수정하는 방법을 알려줍니다.

"address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" 또는 "ul" (with xmlns:ns="http://www.w3.org/2000/svg") 요소이(가) 예상됨

 

<i> 태그를 감쌀 수 있는 블럭 태그 목록이에요.

p 뿐 아니라 address, blockquote, div, h1 ~ h6 등의 요소가 i 태그를 사용할 때 필요하다는 의미지요.

 

반응형