docbook2html이 잘 되다가 에러가 나는데 도통 모

닥북 활용에 대한 모든 질문과 답변

docbook2html이 잘 되다가 에러가 나는데 도통 모

전체글글쓴이: intoself » 2005-03-30 6:55 pm

안녕하세요~
닥북을 처음 접해서 이것 저것 해보다...
요 며칠동안 CVS와 연동하는것을 시험하고 있었습니다..

그런데 갑자기.. docbook2thml이 실행이 안되고...
실행이 안된다는 말은 정확하지 않는것 같구요..

암튼 실행하면 Write하는 중에 아래와 같은 오류가 나오면서
html 파일 용량이 모두 0이 되어 버립니다..

무슨 문제인지요...
-----------------------------------------------------
D:\docbook\example>docbook2html example.xml

Writing ar01s01.html for sect1(intro)
xmlOutputBufferFlush: encoder error
xmlOutputBufferFlush: encoder error
Writing ar01s02.html for sect1(taglist)
xmlOutputBufferFlush: encoder error
xmlOutputBufferFlush: encoder error
Writing index.html for article
xmlOutputBufferFlush: encoder error
xmlOutputBufferFlush: encoder error
-------------------------------------------------------------
intoself
 

전체글글쓴이: 류광 » 2005-03-31 2:44 am

저는 겪어보지 못한 오류인데, 아마도 xsltproc이 내부적으로 문서의 인코딩을 UTF-8로 변환하는 과정에서 뭔가 문제가 있는 것 같습니다.

xsltproc의 버그일 수도 있으니 최신 버전을 구해보세요...( http://xmlsoft.org/XSLT/downloads.html )

Win32 환경이시라면, [wiki]MS 윈도용 DocBook 패키지[/wiki]의 갱신과도 관련이 있으니 결과를 알려주시면 고맙겠습니다(xsltproc 버전 번호와 함께요).

그리고 원래의 xml 문서를 올려주시면 제 시스템에서 한 번 시험해 보겠습니다....
류광
사용자
 
전체글: 434
가입일: 2003-12-27 12:02 am

CVSNT와 충돌..

전체글글쓴이: intoself » 2005-04-01 11:52 pm

답변 감사합니다..

제가 이런 저런 부분을 보다가...
설치 했었떤 CVSNT를 삭제하니 에러가 안나더군요..

어딘가에서 XML Buffer를 공유하는것 같은데..
중간에 CVSNT와 충돌로 인해서 그 권한을 docbook2html이 잃어버리는것 같습니다.

자세한 내용은 모르겠으나 그냥 CVS 컴퓨터를 다른곳으로 옮겼습니다..^^
좀더 연구를 해보고 답글달겠습니다..
intoself
 

Path문제인것 같습니다..

전체글글쓴이: lovemine » 2005-04-22 4:37 pm

저도 CVSNT를 사용하는데 동일한 에러가 발생했습니다.
저는 CVSNT를 다른데로 옮기기도 힘들어서..
Path에서 CVSNT 관련 부분을 제거 했더니 에러가 안납니다.
그래서 xsltproc.bat 파일 부분의 PATH 설정을 조금 수정했습니다.

set PATH=%DOCBOOK_HOME%\libxml\%iconv%\lib
set PATH=%PATH%;%DOCBOOK_HOME%\libxml\%libxml%\lib
set PATH=%PATH%;%DOCBOOK_HOME%\libxml\%libxslt%\lib

첫째줄 부분에 있던 %PATH%를 제거해서 기존 시스템 PATH와는
무관하게 돌도록 했습니다.

그럼.
lovemine
 

전체글글쓴이: 류광 » 2005-04-22 5:41 pm

윗분 글을 보고 CVSNT 설치해 봤는데, 역시 PATH가 문제인 것 같습니다. PATH 설정 때문에 xsltproc 처리 과정에서 닥북 패키지에 있는 iconv.dll이 아니라 CVSNT에 있는 iconv.dll이 로드되고, 그게 xstlproc이 요구하는 버전과 다르기 때문에 오류가 생기는 거 같네요.

윗분 말씀처럼 PATH를 조정하면 일단 해결이 되겠구요. 만일 CVS와 닥북 패키지를 한 콘솔 창 안에서 함께 사용해야 하는 상황이라면 닥북의 iconv.dll 관련 디렉터리가 PATH에서 CVSNT보다 더 먼저 나오게 해야 할 것입니다. 제가 알고 있기로 EXE가 DLL을 찾을 때 자신이 있는 현재 디렉터리 -> 시스템 디렉터리 -> PATH에 있는 디렉터리들 순으로 검색을 하니, cvs는 자신(cvs.exe)이 있는 디렉터리에 있는 iconv.dll을 사용할 것이고, xsltproc은 PATH에서 먼저 걸리는 닥북 iconv.dll을 사용할 테니까요.
류광
사용자
 
전체글: 434
가입일: 2003-12-27 12:02 am


다시 돌아감: 질문과 답변

접속 중인 사용자

이 포럼에 접속 중인 사용자: 접속한 회원이 없음 그리고 손님들 8 명

cron