위키를 보고.. Eclipse로 작성하시는 분이 계시

자유 게시판

위키를 보고.. Eclipse로 작성하시는 분이 계시

전체글글쓴이: herblover » 2004-07-27 4:15 pm

안녕하세요.
Kenny 라고 합니다. ^^;;;
저는.. 아직 DocBook을 제대로 쓰진 못하지만... 간단한 Article 같은 것 만들때에 조금씩 적용해 보려고 하고 있습니다.
Java 개발자 이다 보니 eclipse를 주로 쓰게 되는데요. 위키를 보니 XMLBuddy를 쓰시는 분이 계신가 보네요. ^^

제가 사용하는 간단한 팁이 있는데, 특별히 어느 곳에 올려야 할지 몰라서 여기 올립니다.

이클립스3.0 이상으로 DocBook을 작성하시면, XML->HTML변환을 간단하게 할 수 있는 방법이 있습니다. (PDF변환이나, 이런 것들도 가능할걸로 보이지만. 그쪽은 안해봐서... ^^;; )

1. JDK 1.4 이상에서는 Crimson과 Xalan이 기본 패키지에 포함되어 있습니다. 따라서 별도의 패키지 설치는 필요 없겠네요. 자바 프로젝트를 생성해 주세요. (런타임을 쓰기 위함입니다.)
2. 원하시는 디렉토리 구조를 만드시고, DocBook DTD를 이용한 XML을 작성합니다. (평소에 쓰시는 플러그인이나 에디터로)
3. DocBook xslt 파일을 프로젝트 루트 밑의 xsls라는 디렉토리에 복사합니다.
4. build.xml 파일을 만듭니다. (위치는... 큰 상관은 없지만, 전 보통 해당 프로젝트의 root에 만듭니다.)
-- Build.xml 내용 --
<project name="KennyArticles" default="build" basedir=".">
<target name="process" depends="clean">
<xslt style="xsls/dbk-html.xsl" destdir="build/Article" extension=".html">
<include name="**/*.xml"/>
<exclude name="build.xml"/>
</xslt>
</target>
<target name="build" depends="process">
</target>
</project>

대충 이런 식으로 될 겁니다. 표준 Ant Build파일의 xslt 태스크를 이용한 겁니다.
혹시, 디렉토리 내의 다른 파일들을 제외하고 변환하시고 싶으시면 exclude 태그를 이용하시면 됩니다.
5. Window->Show View->Ant를 클릭하시면 퍼스펙티브에 Ant View가 추가 됩니다. 이곳에 Build.xml 을 추가 합니다. (Ant View의 첫번째 아이콘을 클릭하시면 추가하실 수 있습니다.)
6. 끝입니다! Ant View에 추가된 파일을 클릭하시고, 플레이 버튼을 누르시면, 프로젝트 루트 밑의 build 라는 디렉토리가 생기며, XML파일이 들어 있던 구조와 같은 구조로 html이 생성 됩니다.
7. dbk-html-chunk.xsl 을 사용하고 싶으시면, build.xml 의 dbk-html.xsl 부분을 변경해 주시면 됩니다. 비슷한 방법으로 PDF도 가능할 것으로 보이는데.. 아직 테스트는 못해봤네요.

혹시 몰라서 파일도 첨부합니다. ^^
첨부파일
build.xml
DocBook 변환용 ant build 파일입니다.
(358 Byte) 2214 번째 다운로드
"···사람이. 왜 마음이 병드는지 아나?"
"···? 괴···, 괴롭기···때문에?"
"아니. 마음이 고통스러운데 그 마음을 아무도 알아주지 않아서야. 그때-, 사람은 병들어."
herblover
사용자
 
전체글: 2
가입일: 2004-07-27 3:56 pm
사는 곳: 서울

전체글글쓴이: 류광 » 2004-07-29 5:29 pm

팁 고맙습니다. 위키에 간단히 정리를 하면 좋겠네요.

지금 build.xml 안에서 카탈로그 설정 하는 부분을 시험해 보고 있는데 잘 안 되네요. <xmlcatalog> 자체로는 퍼블릭 ID만 설정할 수 있는가 봅니다. 외부 카탈로그 파일을 지정하는 게 가능한 것 같은데 경로 설정하는 걸 잘 몰라서 헤매고 있습니다... 잘 되면 글을 올릴게요...
류광
사용자
 
전체글: 438
가입일: 2003-12-27 12:02 am

전체글글쓴이: 류광 » 2004-07-29 5:35 pm

일단 [wiki]EclipsePlatform[/wiki] 에 링크를 걸어 두었습니다.
류광
사용자
 
전체글: 438
가입일: 2003-12-27 12:02 am

xmlcatalog 에도 로컬 경로 지정이 가능할 겁니

전체글글쓴이: herblover » 2004-07-30 1:39 pm

제가 지금 쓰고 있는게.. 이클립스 3.0 버젼이라..
2.1.2 대의 ANT버전이 얼마인지 모르겠네요. 3.0에서는 ANT 1.6.1이 들어 있는걸로 알고 있습니다.
Ant Manual을 참고해 보시면..

http://ant.apache.org/manual/CoreTypes/xmlcatalog.html

<xmlcatalog>
<dtd
publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
location="/home/dion/downloads/docbook/docbookx.dtd"/>
</xmlcatalog>

이런식으로 설정하게 되어 있네요.
(음? 그러고 보니까... 저것도 닥북이네요. ^^)
이런식으로 해 주실때, 예를 들자면.
제 build.xml 기준으로..
process 태스크 부분을 이런식으로 바꿔 주시면 되겠네요.

<xmlcatalog id="docbookDtds">
<dtd
publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
location="/home/dion/downloads/docbook/docbookx.dtd"/>
</xmlcatalog>
<xslt style="xsls/dbk-html.xsl" destdir="build/Article" extension=".html">
<xmlcatalog refid="docbookDtds"/>
<include name="**/*.xml"/>
<exclude name="build.xml"/>
</xslt>

제가 올린 build.xml 을 이용하신다면, basedir="." 으로 되어 있기 때문에, 아마 build.xml 이 있는 디렉토리가 기준점이 될 겁니다.
"···사람이. 왜 마음이 병드는지 아나?"
"···? 괴···, 괴롭기···때문에?"
"아니. 마음이 고통스러운데 그 마음을 아무도 알아주지 않아서야. 그때-, 사람은 병들어."
herblover
사용자
 
전체글: 2
가입일: 2004-07-27 3:56 pm
사는 곳: 서울

전체글글쓴이: 류광 » 2004-07-30 4:06 pm

예 퍼블릭 ID가 있는 DTD는 그렇게 해결할 수 있는데요, 시스템 ID(URI)를 로컬 경로로 바꾸는 게 문제입니다.

예를 들어 Win32용 모음집의 dbk-html.xsl은 <xsl:import href="http://docbook.sourceforge.net/.... /docbook.xsl" />이 있는데, dtd/catalog.xml에 그 URL을 로컬의 경로로 바꿔주는 항목이 있기 때문에 매번 그 주소에서 스타일시트를 다운로드하지는 않습니다.

ant의 xmlcatalog에는 URL을 로컬 경로로 매핑하는 수단이 없는 것 같아요. catalogpath라는 것으로 기존의 카탈로그 XML 파일을 지정하는 게 유일한 방법 같은데... 어제 한 두번 해 보고 안 되어서 말았습니다. ant의 해당 문서화와 조금 다른 것 같기도 하구요...
류광
사용자
 
전체글: 438
가입일: 2003-12-27 12:02 am


다시 돌아감: 자유 게시판

접속 중인 사용자

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

cron