posted by 내.맘.대.로 2025. 9. 29. 07:47

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

Define the entity or use the numbered entity instead.

 

두 가지 방법 중 하나를 선택할 수 있으며, '번호로 된 엔티티'를 사용하는 것이 훨씬 더 간편하고 안전합니다.


## 방법 1: 번호로 된 엔티티 사용 (권장)

이름으로 된 엔티티(예:  )를 해당하는 숫자 코드(예:  )로 바꾸는 것입니다. 이 방법은 파일 상단에 복잡한 선언을 추가할 필요가 없어 간단하며, 모든 EPUB 버전과 뷰어에서 완벽하게 호환됩니다.

  • 예시:
    •   (이름) →   (번호)
    • © (이름) → © (번호)

## 방법 2: 엔티티 직접 정의 (고급)

XHTML 파일 상단의 DOCTYPE 선언 안에 사용할 엔티티를 직접 정의하는 방법입니다. 코드가 복잡해질 수 있어 꼭 필요한 경우가 아니라면 권장하지 않습니다.

  • 예시 ( 를 직접 정의하는 경우):
  • XML
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
      <!ENTITY nbsp "&#160;">
    ]>
    <html>
      ...
    </html>
    

특별한 이유가 없다면, 첫 번째 방법인 숫자 코드 사용을 적극 권장합니다.

반응형
posted by 내.맘.대.로 2025. 9. 29. 07:45

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

Entity is undeclared.

 

이 오류는 HTML/XHTML 문서에서 **정의(선언)되지 않은 '엔티티(entity)'**를 사용했음을 의미합니다.

'엔티티'는 <(&lt;)나 >(&gt;)처럼 코드에서 특별한 의미를 갖는 문자, 또는 키보드로 입력하기 어려운 특수문자를 표현하기 위한 일종의 약속된 코드(예: &nbsp;, &copy;)입니다.

비밀 암호를 사용하기 전에 친구에게 그 암호의 의미를 미리 알려줘야 하는 것과 같습니다. 🤫 이 오류는 문서 상단에 '이 암호는 이런 뜻이야'라고 정의하지 않은 채, 본문에서 암호(이름 기반 엔티티)를 사용했다는 의미입니다. 특히 엄격한 규칙을 따르는 EPUB 2 (XHTML 1.1)에서 매우 흔하게 발생합니다.


## 해결 방법

두 가지 해결 방법이 있으며, 첫 번째 방법을 강력히 추천합니다.

### 해결 방법 1: 숫자 코드로 대체하기 (권장)

이름으로 된 엔티티 대신, 모든 시스템에서 항상 작동하는 숫자 코드로 바꿔주는 것이 가장 안전하고 확실한 방법입니다. 숫자 코드는 미리 선언할 필요가 없습니다.

  1. 오류가 발생한 이름 기반 엔티티를 찾습니다.
  2. 해당 엔티티를 아래 표와 같이 해당하는 숫자 코드로 교체합니다.
이름 기반 엔티티 (오류 발생 가능) 숫자 코드 (안전) 설명
&nbsp; &#160; 줄바꿈 없는 공백
&copy; &#169; 저작권(Copyright) 기호 ©
&mdash; &#8212; 긴 대시(em-dash) —
&reg; &#174; 등록 상표(Registered) 기호 ®
&bull; &#8226; 글머리기호 •
Sheets로 내보내기

### 해결 방법 2: 엔티티 직접 선언하기 (고급)

파일 상단의 DOCTYPE 선언부에 사용할 엔티티를 직접 정의하는 방법입니다. 구조가 복잡해질 수 있어 권장하지는 않습니다.

  • 수정 예시 (&nbsp;를 직접 선언하는 경우):
  • XML
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" [
      <!ENTITY nbsp "&#160;">
    ]>
    <html>
      ...
    </html>
반응형
posted by 내.맘.대.로 2025. 9. 29. 07:42

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

Namespace "%1$s" is unusual for the prefix "epub".

 

이 오류는 XHTML 파일 상단에 선언된 네임스페이스(namespace) 정보가 잘못되었음을 의미합니다.

네임스페이스는 EPUB의 특정 기능(예: epub:type)을 사용할 때, epub:이라는 접두사가 어떤 규칙 사전을 따라야 하는지 알려주는 '신분증'과 같습니다. epub:이라는 접두사는 EPUB 표준에서 사용하는 특별 예약어이므로, 반드시 공식적으로 지정된 '신분증' 주소와 연결되어야 합니다.

논문에서 저자를 인용하는 것과 비슷합니다. 📚 'Kim(2020)'이라고 짧게 인용(접두사)할 때, 이 'Kim'이 '서울에 사는 김민준'이라는 완전한 정보(네임스페이스)와 일치해야 합니다. 이 오류는 'Kim(2020)'이라고 인용해놓고, 신분증 정보에는 '부산에 사는 박서준'이라고 잘못 연결한 것과 같은 상황입니다.


## 해결 방법

해결 방법은 간단합니다. 잘못된 네임스페이스 주소를 올바른 공식 주소로 바꿔주면 됩니다.

  1. 오류가 발생한 XHTML 파일을 텍스트 편집기에서 엽니다.
  2. 파일의 가장 윗부분에 있는 <html> 태그를 찾습니다.
  3. <html> 태그 안에서 xmlns:epub="..." 속성을 찾습니다.
  4. 따옴표 안의 잘못된 주소(%1$s)를 아래의 올바른 공식 주소로 교체합니다.

epub 접두사의 올바른 네임스페이스 주소:

http://www.idpf.org/2007/ops


## 수정 예시

  • 수정 전 (오류 예시):
  • XML
     
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:epub="http://www.example.com/wrong-epub-namespace">
    
  • 수정 후 (올바른 코드):
  • XML
     
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:epub="http://www.idpf.org/2007/ops">
반응형
posted by 내.맘.대.로 2025. 9. 29. 07:41

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

The DOCTYPE provided is obsolete or irregular and can be removed.

 

 

이 메시지는 수정이 시급한 오류라기보다는, 코드 품질 개선을 위한 제안 또는 경고입니다.

의미는 파일 상단에 선언된 DOCTYPE이 오래된 구식 버전이거나 비표준 형식이어서, 현대적인 EPUB 3(HTML5) 환경에서는 더 이상 필요 없거나 의미가 없으므로 삭제해도 좋다는 뜻입니다.


## "삭제할 수 있다"는 말의 정확한 의미

여기서 '삭제할 수 있다'는 말은 DOCTYPE 선언 자체를 아예 없애라는 뜻이 아닙니다. 📜 이는 매우 중요한 점입니다. EPUB 3 문서는 반드시 <!DOCTYPE html> 선언을 가져야 합니다.

이 메시지의 정확한 의도는 "지금 사용하고 계신 구식의 복잡한 DOCTYPE은 불필요하니 삭제하고, 올바른 최신 DOCTYPE으로 교체하거나 그것만 남겨두라"는 의미입니다.


## 해결 방법

  1. 경고가 발생한 HTML/XHTML 파일을 엽니다.
  2. 파일의 가장 윗부분에서 <!DOCTYPE ...>으로 시작하는 줄을 찾습니다.
  3. 발견된 구식의 길고 복잡한 DOCTYPE 선언을 삭제합니다.
  4. 파일이 EPUB 3 표준을 따른다면, 그 자리에 아래의 간단한 DOCTYPE이 있는지 확인하고, 없다면 추가합니다.

### 수정 예시

  • 수정 전 (경고 발생 예시 - HTML 4.01의 구식 DOCTYPE):
  • XML
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
      ...
    </html>
    
  • 수정 후 (올바른 EPUB 3 DOCTYPE):
  • XML
     
    <!DOCTYPE html>
    <html>
      ...
    </html>
    

결론적으로, EPUB 3 파일에서는 복잡한 구식 DOCTYPE을 제거하고, 오직 <!DOCTYPE html> 선언 하나만 남겨두는 것이 올바른 방법입니다.

반응형
posted by 내.맘.대.로 2025. 9. 29. 07:38

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

Empty or whitespace-only value of attribute ssml:ph.

 

이 오류는 텍스트를 소리 내어 읽어주는 TTS(Text-to-Speech) 기능의 발음을 제어하는 고급 속성인 **ssml:ph**가 비어있다는 의미입니다.

ssml:ph 속성은 **음소(phoneme)**의 약자로, 컴퓨터가 단어를 잘못 읽을 경우를 대비해 정확한 발음 기호를 직접 제공하는 역할을 합니다.

배우의 대본에 어려운 이름 'Aoife' 옆에 '(발음: '이-파')'라고 적어주는 것과 같습니다. 🗣️ 이 오류는 발음 지시를 위한 메모를 붙여놓고, 정작 그 안에 아무 내용도 적지 않은 것과 같은 상황입니다. 속성의 목적 자체가 '발음 정보 제공'인데 그 정보가 비어있으므로 오류가 발생합니다.


## 해결 방법

두 가지 방법 중 하나를 선택할 수 있습니다.

### 해결 방법 1: 올바른 발음 기호 제공 (고급)

만약 단어의 발음을 직접 지정하려는 의도가 있었다면, 비어있는 ssml:ph 속성 안에 국제 음성 기호(IPA)나 X-SAMPA 같은 표준 발음 기호를 정확하게 입력해야 합니다. 이는 음성학에 대한 전문 지식이 필요한 고급 작업입니다.

  • 수정 전:
  • XML
     
    <p>Please read <span ssml:ph="">EPUB</span>.</p>
    
  • 수정 후:
  • XML
     
    <p>Please read <span ssml:ph="ˈiːpʌb">EPUB</span>.</p>
    

### 해결 방법 2: 불필요한 속성 삭제 (대부분의 경우 권장)

만약 발음을 직접 제어할 의도가 없었거나 실수로 속성을 추가한 경우, 해당 ssml:ph="..." 속성 자체를 완전히 삭제하는 것이 가장 간단하고 확실한 해결책입니다.

  • 수정 전:
  • XML
     
    <p>단어의 <span ssml:ph="">발음</span>을 지정합니다.</p>
    
  • 수정 후:
  • XML
     
    <p>단어의 발음을 지정합니다.</p>
    

특별히 TTS의 발음을 세밀하게 제어해야 하는 경우가 아니라면, 해결 방법 2를 사용해 불필요한 속성을 삭제하는 것을 권장합니다.

반응형
posted by 내.맘.대.로 2025. 9. 29. 07:37

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

An external reference was found.

 

이 오류는 EPUB 파일 내부의 코드(주로 XHTML 또는 CSS)가 책 바깥에 있는 외부 파일이나 인터넷상의 리소스를 참조(링크)하고 있음을 의미합니다.

EPUB은 인터넷 연결 없이도 모든 내용이 완벽하게 작동해야 하는 '자체 완결형(self-contained)' 패키지여야 합니다. 필요한 모든 이미지, 스타일, 글꼴 등은 반드시 .epub 파일 안에 포함되어야 합니다.

도시락을 쌀 때, 모든 반찬을 도시락 통 안에 넣어야 하는 것과 같습니다. 🍱 이 오류는 도시락 안에 '음료수는 길 건너 편의점에서 사 드세요'라는 메모를 넣어둔 것과 같은 상황입니다.


## 외부 참조가 문제가 되는 이유

  • 오프라인 사용 불가: 인터넷에 연결되어 있지 않으면 외부 이미지가 보이지 않거나 링크가 작동하지 않습니다.
  • 링크 깨짐 (Link Rot): 시간이 지나 참조하던 외부 웹사이트 주소가 바뀌거나 사라지면, 책에 깨진 이미지나 작동하지 않는 링크가 남게 됩니다.
  • 보안 및 개인정보: 외부 서버는 독자가 언제 어디서 책을 읽는지 접속 기록을 통해 알 수 있으며, 악성 코드를 유포하는 경로가 될 수도 있습니다.

## 해결 방법

외부 참조의 종류에 따라 해결 방법이 다릅니다.

### 경우 1: 이미지, CSS, 스크립트 등 필수 파일을 외부에서 가져올 때

이 경우는 반드시 수정해야 합니다.

  1. 파일 다운로드: 웹브라우저를 이용해 코드에 링크된 외부 파일(예: photo.jpg)을 자신의 컴퓨터로 다운로드합니다.
  2. EPUB에 파일 추가: 다운로드한 파일을 EPUB 프로젝트의 적절한 폴더(예: images 폴더)에 추가합니다.
  3. .opf 파일 수정: .opf 파일의 <manifest>에 새로 추가한 파일을 등록합니다.
  4. 경로 수정: HTML 또는 CSS 파일에서 외부 인터넷 주소(절대 경로)를 EPUB 내부의 파일 위치(상대 경로)로 변경합니다.
  • 수정 전:
  • HTML
     
    <img src="https://example.com/images/photo.jpg" alt="예시 사진" />
    
  • 수정 후:
  • HTML
     
    <img src="../images/photo.jpg" alt="예시 사진" />
    

### 경우 2: 본문의 참고용 하이퍼링크 (<a> 태그)

본문 내용에 참고 자료로 외부 웹사이트 링크를 거는 것은 대부분의 경우 허용됩니다. 이 경우 EPUBCheck는 '오류'가 아닌 '경고'나 '알림' 수준으로 외부 링크가 존재함을 알려주는 것일 수 있습니다. 링크가 의도된 것이고 주소가 정확하다면 특별히 수정하지 않아도 괜찮습니다.

반응형