[홈으로] [게시판]

문제점

xalan 은 한글환경에서 사용하면 appendix 등 A,B,C, ... 로 번호를 붙여야 하는 곳에 ㄱ,ㄴ,ㄷ ... 으로 번호를 붙입니다. 이는 xalan이 xslt 표준을 충실하게 지켜서 생기는 문제(?)입니다.

간단한 임시방편

아래의 해결방법이 너무 번거롭게 느껴진다면 간단한 임시방편이 있습니다. 닥북 XML 문서의 appendix 요소에 label 특성으로 원하는 번호를 직접 지정하면 됩니다.

<appendix label="A">

...

</appendix>

해결방법

먼저 DOCBOOK_HOME/stylesheet/docbook-xsl 안의 모든 xsl 파일에 대해 <xsl:number<xsl:number lang="${numbering.lang}" 으로 바꿉니다. 디렉토리에서 찾아 바꾸기 기능이 있는 에디터를 쓰면 쉽게 할 수 있습니다.

dbk-common.xsl 파일을 열어 아래 내용을 추가합니다.

<xsl:param name="numbering.default.lang" select="'ko'" />

<xsl:param name="numbering.lang">
    <xsl:choose>
        <xsl:when test="//processing-instruction('label.numbering')">
            <xsl:value-of select="//processing-instruction('label.numbering')/@lang" />
        </xsl:when>
        <xsl:when test="//@lang">
            <xsl:value-of select="//@lang" />
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$numbering.default.lang" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:param>

사용하기

아래 방법으로 번호를 붙일 때 사용할 언어를 지정할 수 있습니다. 먼저 나온게 우선순위가 더 높습니다.

label.numbering processing-instruction 설정

docbook 문서의 루트엘리먼트의 바로 아래에 다음처럼 설정합니다.

<article>
    <?label.numbering lang="en" ?>
    <!-- 기타 내용 -->
</article>

루트 엘리먼트에 lang 속성값 사용

<article lang="en">
   <!-- 기타 내용 -->
</article>

스타일시트에 numbering.default.lang 설정

   <xsl:param name="numbering.default.lang" select="'ko'" />

이 값은 개별 docbook 문서에 별도의 설정이 없을 경우 사용되는 기본값입니다.

주의사항

카탈로그가 제대로 설정되지 않아 수정한 스타일시트 대신에 docbook 홈의 스타일시트가 적용되면 제대로 동작하지 않습니다.

제일 위로
최종 수정 일시: 05월 15일(2007년) 09:13 PM 편집 | 정보 | 차이 | 비슷한페이지 | DebugInfo
유용한 페이지들: 분류 분류 | 자유로운 연습장 SandBox | 무작위 페이지들 RandomPages | 인기있는 페이지들 MostPopular