3.3. HTML로의 변환

DocBook 문서는 아마 html 형식의 문서로 변환되는 경우가 가장 많을 것입니다. html 파일로 변환된 문서는 웹 브라우저로 간편히 볼 수 있습니다.

html로의 변환 방법은 이미 앞서 보여진 예에 나타난 것과 같습니다.


> jade -t sgml -d c:\docbook\html\docbook.dsl test.sgml

html 문서란 HTML DTD를 사용하는 sgml 문서입니다. 따라서 문서의 형식은 sgml로 해야합니다. 대신 스타일시트는 html 디렉토리에 있는 것을 사용합니다.

KLDP 스타일시트를 사용한다면 다음과 같이 해야 합니다. [1]


> jade -t sgml -i html -d kldp.dsl#html article.sgml

HTML로 변환하기 전에 SP_ENCODING 환경 변수가 제대로 설정되어 있는지 확인해야 합니다. 이 변수가 제대로 설정되어 있지 않으면 스타일시트의 한글 지역화로부터 삽입되는 한글들이 제대로 출력되지 않습니다. 즉, '차례' '다음' '이전' 등의 한글 지역화가 &#ddddd; 형식의 특수문자 실체요소 형식으로 표현되어 lynx나 w3m 등의 텍스트 브라우저에서 문제를 일으킵니다.

보통, 출력될 html 문서의 파일명을 특별히 지정할 필요가 있을 것입니다. 이때는 book article chapter section 기초요소의 여는 태그뒤에 다음과 같은 태그를 덧붙여 주면 됩니다.

       <book lang=ko><?dbhtml filename="MyBook.html">

KLDP 스타일시트에서는 각 기초요소의 id 속성이 파일이름이 되도록 되어 있으므로 굳이 ?dbhtml 형식을 사용할 필요는 없습니다. [2]

주석

[1]

KLDP 스타일시트는 Modular DocBook 스타일시트에 기반하고 있으므로 그 위치를 정확히 알려주어야 합니다. kldp.dsl을 열어서 다음과 같은 부분을 자신에 맞게 수정하여 스타일시트의 위치를 알려줍니다.

<!ENTITY % print "IGNORE">
<!ENTITY docbook.dsl SYSTEM 
"/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl" 
CDATA dsssl>
]]>
<!ENTITY % print "INCLUDE">
<![%print;[
<!ENTITY docbook.dsl SYSTEM 
"/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/print/docbook.dsl" 
CDATA dsssl>
]]>

여기서 '/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl' 부분과 '/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/print/docbook.dsl' 부분을 자신의 시스템에 설치된 Modular DocBook 스타일시트의 경로에 맞게 수정합니다.

[2]

KLDP 스타일시트에 대해서는 열린 글짓기 홈페이지를 참고하세요.