2011-02-08 4 views
0

私はXSL-foを使ってmodspecsのpdf版をdocbookに生成しています。イムは、現在制御するには、このXSLTを使用して変換:XSL FO:ヘッダーとフッターのコンテンツがオーバーランしています

... 
<xsl:param name="footer.rule" select="0"/> 
<xsl:param name="header.rule" select="1"/> 
<xsl:param name="fop.extensions" select="0"/> 
<xsl:param name="fop1.extensions" select="1"/> 

<xsl:template match="node()|@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template name="footer.content"> 
    <xsl:param name="pageclass" select="''"/> 
    <xsl:param name="sequence" select="''"/> 
    <xsl:param name="position" select="''"/> 
    <xsl:param name="gentext-key" select="''"/> 
    <fo:block space-before="12pt" keep-together.within-page="auto"/> 
    <xsl:choose> 
     <xsl:when test="$position = 'left'"> 
      <fo:block>Acme Corp</fo:block> 
      <fo:block><fo:leader leader-pattern="space"/></fo:block> 
     </xsl:when> 
     <xsl:when test="$position = 'right'"> 
      <fo:block>Cool Stuff</fo:block> 
      <fo:block>Page <fo:page-number/> of <fo:page-number-citation ref-id="last-page"/></fo:block> 
     </xsl:when> 
    </xsl:choose> 
</xsl:template> 
<xsl:template name="header.content"> 
    <xsl:param name="pageclass" select="''"/> 
    <xsl:param name="sequence" select="''"/> 
    <xsl:param name="position" select="''"/> 
    <xsl:param name="gentext-key" select="''"/> 
    <xsl:choose> 
     <xsl:when test="$position = 'left'"> 
      <fo:block><fo:inline font-weight="bold"><xsl:value-of select="$app_name"/> - <xsl:value-of select="d:title/text()"/></fo:inline></fo:block> 
      <fo:block> 
       <fo:retrieve-marker retrieve-class-name="section.head.marker" 
        retrieve-position="first-including-carryover" 
        retrieve-boundary="page-sequence"/> 
      </fo:block> 
     </xsl:when> 
     <xsl:when test="$position = 'right'"> 
      <fo:block>Version <xsl:value-of select="$app_version"/></fo:block> 
      <fo:block> Build <xsl:value-of select="$build_number"/></fo:block> 
     </xsl:when> 
    </xsl:choose> 
</xsl:template> 

ヘッダとフッタは罰金アップ表示されますが、何らかの理由(特にmodspecの早期ページ)のために、ページの内容が重複していますヘッダーとフッターの両方。もう重複しないように修正する方法はありますか?

+0

Ace、1)XSLT(目的のFO出力を生成する方法)、2)FO出力を生成する方法、または3)FOが期待されるPDFを生成しない理由についてですか? 1の場合は、実際のFO出力に対するFO出力を表示してください。 2(私はそれがそうだと思います)、なぜあなたのXSLTを見せているのですか?現在のFO出力(ページの内容を含む)の(代表サンプル)を表示してください。 3の場合、使用しているFOプロセッサーを明記してください。 – LarsH

+0

@ LarsH:実際は1)実際には質問です。私はコンテンツのオーバーフローを防ぐようにXSLTを修正できることを願っています。賢明なスクリーンショット私はそれが少し冗長だと思う。現在、ヘッダーで文字化けしている前のページのコンテンツは、現在のページのコンテンツの内容がフッターで文字化けしています。理想的には、以前からの内容。ページがヘッダーの下に表示されると、現在のページのコンテンツはフッターに達すると停止します。 – Ace

+0

これはXSLTに関するものではありません。それが価値あるものであれば、あなたはどんな言語でもFOドキュメントを構築することができますが、あなたはまだそのような**特定のXSL-FO XMLボキャブラリ問題**を持っています –

答えて

関連する問題