← Prev in month ← Prev in thread
Next in thread → Next in month →

Re: [docbook-apps] Hard page break in DocBook 4 document with namespace-awareDocBook XSL stylesheets

From
Sorin Ristache <>
Date
2008-06-13T09:00:17+00:00
ID
Thread
Re: [docbook-apps] Hard page break in DocBook 4 document with namespace-awareDocBook XSL stylesheets
I filed a bug report on SourceForge:

http://sourceforge.net/tracker/index.php?func=detail&aid=1992728&group_id=21935&atid=373747


Regards,
Sorin

http://www.oxygenxml.com


Bob Stayton wrote:
> Hi,
> This turns out to be a deficiency in the handling of non-namespaced 
> documents by the namespace stylesheets.  The same thing occurs when 
> processing a namespaced document with the non-namespace stylesheets.
> 
> In order for the namespace stylesheets to handle a non-namespaced 
> document, it first preprocesses the document to generate an internal 
> copy of the document with the namespace added to all elements.  Then the 
> stylesheet processes that copy, using its templates that match elements 
> in the namespace.  However, the process of generating the copy currently 
> omits processing instructions and comments from the copy.  That's a 
> bug.  If you wouldn't mind, could you please file a bug report on the 
> SourceForge site? Thanks.
> 
> Bob Stayton
> Sagehill Enterprises
> 
> 
> 
> ----- Original Message ----- From: "Sorin Ristache" <>
> To: <>
> Sent: Thursday, June 12, 2008 9:10 AM
> Subject: [docbook-apps] Hard page break in DocBook 4 document with 
> namespace-aware DocBook XSL stylesheets
> 
> 
>> Hello,
>>
>> I want to insert a hard page break in the XSL-FO document obtained 
>> from a simple DocBook XML 4 document containing the processing 
>> instruction
>>
>>   <?hard-pagebreak?>
>>
>> and transformed with the following customization layer:
>>
>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
>> version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
>>      <xsl:import 
>> href="file:///E:/kit/Docbook/docbook-xsl-ns-1.74.0/fo/docbook.xsl"/>
>>
>>     <xsl:template match="processing-instruction('hard-pagebreak')">
>>         <fo:block break-after='page'/>
>>     </xsl:template>
>> </xsl:stylesheet>
>>
>> With the namespace aware version of DocBook XSL my template that 
>> matches on the 'hard-pagebreak' processing instruction is never fired 
>> so the hard page break is not inserted. With the no namespace version 
>> of DocBook XSL the template is fired by the xsl:apply-templates 
>> element on line 350 of docbook/xsl/fo/sections.xsl. This difference 
>> between the namespace aware and no namespace versions is in both 
>> DocBook XSL 1.73.2 and DocBook XSL 1.74.0. Can anyone figure out why 
>> there is this difference between the namespace aware and no namespace 
>> versions or how I could fix/work around it so that I can insert a hard 
>> page break with the namespace aware version?
>>
>> A sample DocBook 4 document for reproducing the problem (the 
>> xsl:apply-templates on line 350 of sections.xsl is inside a template 
>> that matches on sect1 elements):
>>
>>
>> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
>>                          "http://www.docbook.org/xml/4.4/docbookx.dtd">
>> <article>
>>     <title>Article Title</title>
>>     <sect1>
>>         <title>Preface</title>
>>         <para>Testing hard page break</para>
>>     </sect1>
>>     <sect1>
>>         <title>Chapter 1</title>
>>         <para>There is some text in the first paragraph.</para>
>>         <?hard-pagebreak?>
>>         <sect2>
>>             <title>Subchapter 1.1</title>
>>             <para>I want this this subchapter on a new page.</para>
>>         </sect2>
>>     </sect1>
>> </article>
>>
>>
>> Thank you,
>> Sorin
>>
>> http://www.oxygenxml.com
← Prev in month ← Prev in thread
Next in thread → Next in month →