2017-12-17 20 views
-1

나는 다음과 같은 구문을 사용하여 부와 장 내 DocBook을 특정 헤더를 설정하려고 섹션을 출력과 같은 특정 헤더를 얻는 방법 : 다음 의 DocBook

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> 
<book> 
    <title>My Guide to Bowling</title> 
    <chapter> 
     <section header="section header"> 
      <title>Buying the right clothes</title> 
      <para>I want to buy some shoes</para> 
     </section> 
    </chapter> 
</book> 

내 XSL에 내가 설정하려면 다음 사용자 정의를하고있는 중이을 오른쪽 헤더 :

<?xml version='1.0'?> 
<xsl:stylesheet 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> 

<xsl:import href="/docbook-xsl-1.79.1/fo/docbook.xsl"/> 

<xsl:template name="header.content"> 
     <xsl:param name="pageclass"/> 
     <xsl:param name="position" select="''"/> 
    <fo:block> 
       <xsl:choose><xsl:when test="$pageclass = 'body'"> 
         <xsl:choose><xsl:when test="$position = 'center'"> 
             <xsl:value-of select="ancestor-or-self::*[@header]/@header"/> 
         </xsl:when></xsl:choose> 
       </xsl:when></xsl:choose> 
    </fo:block> 
</xsl:template> 

</xsl:stylesheet> 

이것은 챕터에서는 작동하지만 섹션에는 적용되지 않습니다. 현재 페이지의 섹션에서 어떻게 작동합니까?

+0

당신이 전체 XML 및 전체 XSL 파일을 사용하여 질문을 수정한다면 도움이 쉬울 것입니다. –

+0

@ O.F. 방금 코드의 전체 버전을 추가했습니다. – nischayn22

답변

0

는 시도이

<xsl:value-of select="ancestor-or-self::*[@header][1]/@header"/> 
+0

답변 해 주셔서 감사합니다. 챕터에서는 작동하지만 섹션에서는 작동하지 않습니다. – nischayn22

+0

@ nischayn22, 전체 입력을 공유하여 분석 할 수 있습니까? param'pageclass'를 통해 전달한 가치도 – Rupesh

+0

이들은 fo를 통과합니다. docbook.sourceforge.net/release/xsl/1.77.0/doc/fo/ – nischayn22