글쓴이: 초보 » 2007-01-29 12:29 am
일단 확장 기능의 버그부터 설명하자면, 확장기능에서 코드 영역에 callout 이미지를
넣을 때 fo:external-graphic 엘리먼트를 만들어 넣습니다. 이때 alt 속성값을 넣는데
fop는 이것을 거부합니다. alt 라는 속성이 fo 표준에 정의되어있는 것인지는 잘모르겠지만
fop 가 거부하기 때문에 이것을 삭제해야 합니다.
그리고 확장기능에서 이미지 파일의 경로를 src 속성으로 지정할 때 스타일시트에 정의된
경로를 그대로 사용하는데 fop는 이렇게 해도 별문제 없지만 xep는 경고 메시지를
출력합니다.(결과물은 올바르게 나옵니다.) 아마도 url(파일경로) 형식으로 하는게
더 올바른 것 같습니다.
수정방법
docbook stylesheet 디렉토리의 extensions\xalan27\src\com\nwalsh\xalan\FormatGraphicCallout.java
파일을 열어 60 ~ 61번째 줄의
- 코드: 모두 선택
imgAttr.addAttribute("", "src", "src", "CDATA",
graphicsPath + num + graphicsExt);
를
- 코드: 모두 선택
imgAttr.addAttribute("", "src", "src", "CDATA",
"url(" + graphicsPath + num + graphicsExt + ")" );
로 바꿉니다. (이건 해도되고 안해도 됩니다.)
그 바로 아래의
- 코드: 모두 선택
imgAttr.addAttribute("", "alt", "alt", "CDATA", label);
를 주석처리합니다.(이건 꼭 해야 합니다.)
컴파일, 사용당연한 이야기지만 xalan 확장 기능을 컴파일하려면 xalan 이 있어야 합니다.
extensions\xalan27\build.xml 파일을 열어
- 코드: 모두 선택
<import file="nbproject/build-impl.xml"/>
위에
- 코드: 모두 선택
<property name="javac.classpath" value="xalan.jar" />
를 추가합니다.
value 값을 실제 xalan.jar 파일이 있는 경로로 바꾸면 됩니다.
extensions\xalan27 디렉토리에서 ant jar 명령을 실행하면 dist 디렉토리에
xalan27.jar 파일이 생성됩니다. 이 파일을 xalan 을 실행할 때 classpath 에 추가한 후
xalan 을 실행하면 확장기능이 동작합니다.
일단 확장 기능의 버그부터 설명하자면, 확장기능에서 코드 영역에 callout 이미지를
넣을 때 fo:external-graphic 엘리먼트를 만들어 넣습니다. 이때 alt 속성값을 넣는데
fop는 이것을 거부합니다. alt 라는 속성이 fo 표준에 정의되어있는 것인지는 잘모르겠지만
fop 가 거부하기 때문에 이것을 삭제해야 합니다.
그리고 확장기능에서 이미지 파일의 경로를 src 속성으로 지정할 때 스타일시트에 정의된
경로를 그대로 사용하는데 fop는 이렇게 해도 별문제 없지만 xep는 경고 메시지를
출력합니다.(결과물은 올바르게 나옵니다.) 아마도 url(파일경로) 형식으로 하는게
더 올바른 것 같습니다.
[b]수정방법[/b]
docbook stylesheet 디렉토리의 extensions\xalan27\src\com\nwalsh\xalan\FormatGraphicCallout.java
파일을 열어 60 ~ 61번째 줄의
[code]imgAttr.addAttribute("", "src", "src", "CDATA",
graphicsPath + num + graphicsExt);[/code]
를
[code]imgAttr.addAttribute("", "src", "src", "CDATA",
"url(" + graphicsPath + num + graphicsExt + ")" ); [/code]
로 바꿉니다. (이건 해도되고 안해도 됩니다.)
그 바로 아래의
[code]imgAttr.addAttribute("", "alt", "alt", "CDATA", label);[/code]
를 주석처리합니다.(이건 꼭 해야 합니다.)
[b]컴파일, 사용[/b]
당연한 이야기지만 xalan 확장 기능을 컴파일하려면 xalan 이 있어야 합니다.
extensions\xalan27\build.xml 파일을 열어
[code]<import file="nbproject/build-impl.xml"/>[/code]
위에
[code]<property name="javac.classpath" value="xalan.jar" />[/code]
를 추가합니다.
value 값을 실제 xalan.jar 파일이 있는 경로로 바꾸면 됩니다.
extensions\xalan27 디렉토리에서 ant jar 명령을 실행하면 dist 디렉토리에
xalan27.jar 파일이 생성됩니다. 이 파일을 xalan 을 실행할 때 classpath 에 추가한 후
xalan 을 실행하면 확장기능이 동작합니다.