내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.
종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.
한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다. 자세한 내용은 여기로: https://www.epubguide.net/notice/309오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.
링크(팝업) 주석, 또는 내부 링크를 연결한 책에서 이런 오류가 생길 수 있습니다.
인디자인 같은 조판 프로그램에서 EPUB으로 추출한 후 파일을 합치거나 해도 이런 오류가 생길 수 있지요.
Col: 18: ERROR(RSC-005): Duplicate "IDname" 파일을 분석하는 동안 "오류"가 발견되었습니다.
이 오류는 HTML의 ID 생성 규칙을 알아야 해결 할 수 있습니다.
ID는 프래그먼트 식별자를 이용해 다른 위치를 가리키기 위한 고유 식별자입니다.
말이 어렵지요?
프래그먼트 식별자는 URL 또는 소스의 경로(파일 위치 표시할 때 src="../path/file.xhtml"로 쓰는)를 지정할 때 사용하는 규칙이에요. html 파일은 수백 줄 이상 내용이 들어갈 때가 많습니다. 링크를 걸면서 특정 위치, 예를 들어 특정 소제목이나 본문 중간 어디쯤에 있는 단어나 이미지를 가리키고 싶을 때 쓰는 것이지요.
홈페이지 주소라면 이렇게 표시합니다.
https://example.com/content.html#fragmentID
EPUB에서 내부 링크를 걸었다면 이렇게 되지요.
<a href="../Content/Conteht.xhtml#fragmentID">
경로 뒤에 붙은 #fragmentID를 프래그먼트 식별자라고 합니다.
그리고 프래그먼트 식별자가 가리키는 곳에 고유 식별자, ID가 있습니다.
'고유'란 단어의 뜻을 아시지요? 국어시간이 아니니 설명은 넘어가고...
고유식별자는 HTML 태그에 id="fragmentID" 처럼 붙입니다.
<p id="fragmentID ">.....</p>
만약 content.xhtml 파일에 fragmentID가 두개라면 어떻게 될까요?
<p id="fragmentID">여기에 링크를 걸어야 합니다.</p>
....
<p>id="fragmentID">여기에도 링크를 걸어야 합니다.</p>
이렇게 되어 있다면 <a href="../Content/Conteht.xhtml#fragmentID">이 링크는 어디로 이동할까요?
같은 파일 안에 동일한 ID가 두개 이상 있을 경우 링크로 연결을 할 수 없습니다. 둘 중 어디를 가리키는지 확인할 수 없으니까요.
그래서 같은 파일 안에 ID 이름은 반드시 하나만 존재해야 합니다.
fragmentID01, fragmentID02, fragmentID03...이렇게요.
그런데 편집을 하다 몇 번까지 만들었는지 잊고 같은 ID를 썼다면
fragmentID01, fragmentID02, fragmentID03, fragmentID03, fragmentID04
EPUBCheck가
Duplicate "fragmentID03" 파일을 분석하는 동안 "오류"가 발견되었습니다.
Duplicate "fragmentID03" 파일을 분석하는 동안 "오류"가 발견되었습니다.
라는 오류를 표시합니다.
이 오류는 항상 2개 이상 표시가 됩니다. fragmentID03이 최소 2개가 있는데 둘 중 어느 ID가 제대로 된 값인지 EPUBCheck는 알 수 없거든요. 그래서 두개(혹은 그 이상) 위치를 모두 오류메시지에 표시를 합니다.
수정 방법은 간단합니다. ID 이름을 바꾸면 돼요.
단, ID 이름을 바꾼 후 프래그먼트 식별자의 ID도 함께 수정을 해 줘야돼요.
그렇지 않으면 Col: 37: ERROR(RSC-012): Fragment 식별자가 정의되지 않았습니다.라는 오류가 표시되거든요.이 오류는 다음 글에서 설명하겠습니다.
'EPUB 제작의 기초 > EPUBCheck 오류' 카테고리의 다른 글
"ruby" 요소는 어디에도 사용할 수 없습니다. (0) | 2024.09.10 |
---|---|
Fragment 식별자가 정의되지 않았습니다. (0) | 2024.09.09 |
파일명 "***"에 공백이 포함되어 있습니다. 구형 판독 시스템과 상호 운용성 문제가 발생할 수 있습니다. (0) | 2024.09.06 |
EPUB 파일에 포함되지 않은 "***" 리소스를 사용하였습니다. (0) | 2024.09.03 |
"i"요소는 여기에 사용할 수 없습니다. (0) | 2024.09.02 |