DocBook DTD는 http://www.docbook.org/sgml/4.1/docbk41.zip에서 받을 수 있습니다. 실행파일이나 라이브러리가 아니기 때문에 Linux와 Windows 모두 같은 파일을 사용합니다. 이를 받은 후 임의의 디렉토리에 풉니다. 앞으로 이 디렉토리를 %DOCBK41%[1]으로 표기합니다.
ISO entity set은 www.oasis-open.org/cover/ISOEnts.zip에서 받을 수 있습니다. 이를 %DOCBK41% 안에 풉니다. 그러면 ISOpub, ISOtech, ISOnum 같이 확장자 없이 이름이 ISO<entity>인 파일들이 풀립니다. %DOCBK41%docbook.cat을 보시면 마지막에 ISO entity sets 설정 부분이 있는데 이름이 iso-<entity>.gml 형식인 것을 알 수 있습니다. 따라서 이 docbook.cat을 고쳐서 ISO<entity> 형식으로 만들거나 ISO<entity> 형태인 파일들의 이름을 ISO-<entity>.gml 형태로 바꿔줍니다. 전자가 쉽겠죠? :)
Stylesheet은 Normal Walsh의 Modular DocBook Stylesheet을 사용합니다. http://sourceforge.net/projects/docbook에서 직접 받을 수 있고 이 글을 쓰는 시점에서 최신 버전은 1.72입니다. 이 파일을 풀면 docbook이라는 디렉토리가 만들어지고 그 안에 파일들이 풀립니다. 이 docbook이라는 디렉토리는 %NWALSH%라 하겠습니다.
jade는 stylesheet을 이용하여 DocBook 문서를 html, rtf 등의 문서로 변환해 주는 대표적인 tool입니다. http://www.jclark.com/jade/#getting에 가시면 최신 버전을 받을 수 있습니다. 받은 파일을 적당한 디렉토리에 풉니다. 이 디렉토리는 %JADE%라 하겠습니다.
catalog file들의 위치를 지정해 주는 SGML_CATALOG_FILES라는 환경 변수를 설정해 줘야 합니다.
bash$ export SGML_CATALOG_FILES=$DOCBK41\docbook.cat;$JADE\catalog |
tcsh$ setenv SGML_CATALOG_FILES $DOCBK41\docbook.cat;$JADE\catalog |
command prompt 상에서
C:\>set SGML_CATALOG_FILE=%DOCBK41%\docbook.cat;%JADE%\catalog |
이제, 다음과 같이 하면 됩니다. html로 변환할 때
C:\>%JADE%\jade -t sgml -d %NWALSH%\html\docbook.dsl filename.sgml |
C:\>%JADE%\jade -t rtf -d %NWALSH%\print\docbook.dsl filename.sgml |
C:\>%JADE%\jade -t tex -d %NWALSH%\print\docbook.dsl filename.sgml |
http://docs.kldp.org/Stuff/kldp.dsl을 받아서 아무 디렉토리에다 복사합니다. 이 디렉토리는 %KLDP%라 하겠습니다. kldp.dsl을 열어서
/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl |
%NWALSH%/html/docbook.dsl |
/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/print/docbook.dsl |
%NWALSH%/print/docbook.dsl |
이후 jade를 쓸 때는
C:\>%JADE%\jade -t sgml -i html -d %KLDP%\kldp.dsl#html filename.sgml C:\>%JADE%\jade -t rtf -d %KLDP%\kldp.dsl#print filename.sgml |
[1] | Windows계열은 환경 변수를 %NAME%으로 표기하며 대소문자 구분이 없습니다. *inx에서는 물론 $NAME 형태이며 대소문자를 구분합니다. |
[2] | 번역본은 저자 동의를 얻어서 추가하겠습니다. |