Hi there,
I've notice some odd behavior in the DocBook xsls: If you import your titlepage 
xsl after importing the main docbook.xsl file, then all the headings for any 
section level are <h1>. However if you import the titlepage xsl first, then the 
headings are <h1>, <h2>, etc as you expect. I've put a minimal demo below. I'm 
mentioning it because the example customization layer here 
http://www.sagehill.net/docbookxsl/TitlePageGraphics.html has the titlepage 
imported after the docbook.xsl file and I've never seen instructions that you 
should import your titlepage before docbook.xsl. Is this by design or a bug?

Given the following test document:

<book>
  <title>Foo</title>
  <chapter>
        <title>Chap</title>     
        <section>
          <title>sect1</title>
          <section>
            <title>sect2</title>
                <section>
                  <title>sect3</title>
                  <section>
                        <title>sect4</title>
                        <para>Foo</para>
                  </section>
                </section>
          </section>
        </section>
  </chapter>
</book>

With the following customization layer:

<xsl:stylesheet
  xmlns="http://www.w3.org/1999/xhtml"; 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  version="1.0">

  <xsl:import 
href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
  <xsl:import 
href="http://docbook.sourceforge.net/release/xsl/current/xhtml/titlepage.xsl"/>

  <!-- indent="yes" is just for the readability of the output and has no effect 
on test. -->
  <xsl:output indent="yes"/>

</xsl:stylesheet>

I get the the following output (notice that all the section headings are <h1> 
(e.g. <h1 class="title"><a id="d0e16"/>sect4</h1>):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
   <head>
      <title>Foo</title>
      <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"/>
   </head>
   <body>
      <div class="book" title="Foo">
         <div class="titlepage">
            <div>
               <div>
                  <h1 class="title">
                     <a id="d0e1"/>Foo</h1>
               </div>
            </div>
            <hr/>
         </div>
         <div class="toc">
            <p>
               <b>Table of Contents</b>
            </p>
            <dl>
               <dt>
                  <span class="chapter">
                     <a href="#d0e4">1. Chap</a>
                  </span>
               </dt>
               <dd>
                  <dl>
                     <dt>
                        <span class="section">
                           <a href="#d0e7">sect1</a>
                        </span>
                     </dt>
                     <dd>
                        <dl>
                           <dt>
                              <span class="section">
                                 <a href="#d0e10">sect2</a>
                              </span>
                           </dt>
                        </dl>
                     </dd>
                  </dl>
               </dd>
            </dl>
         </div>
         <div class="chapter" title="Chapter 1. Chap">
            <div class="titlepage">
               <div>
                  <div>
                     <h1 class="title">
                        <a id="d0e4"/>Chap</h1>
                  </div>
               </div>
            </div>
            <div class="toc">
               <p>
                  <b>Table of Contents</b>
               </p>
               <dl>
                  <dt>
                     <span class="section">
                        <a href="#d0e7">sect1</a>
                     </span>
                  </dt>
                  <dd>
                     <dl>
                        <dt>
                           <span class="section">
                              <a href="#d0e10">sect2</a>
                           </span>
                        </dt>
                     </dl>
                  </dd>
               </dl>
            </div>
            <div class="section" title="sect1">
               <div class="titlepage">
                  <div>
                     <div>
                        <h1 class="title">
                           <a id="d0e7"/>sect1</h1>
                     </div>
                  </div>
               </div>
               <div class="section" title="sect2">
                  <div class="titlepage">
                     <div>
                        <div>
                           <h1 class="title">
                              <a id="d0e10"/>sect2</h1>
                        </div>
                     </div>
                  </div>
                  <div class="section" title="sect3">
                     <div class="titlepage">
                        <div>
                           <div>
                              <h1 class="title">
                                 <a id="d0e13"/>sect3</h1>
                           </div>
                        </div>
                     </div>
                     <div class="section" title="sect4">
                        <div class="titlepage">
                           <div>
                              <div>
                                 <h1 class="title">
                                    <a id="d0e16"/>sect4</h1>
                              </div>
                           </div>
                        </div>
                        <p>Foo</p>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>

However if I reverse the order of the imports like so:

<xsl:stylesheet
  xmlns="http://www.w3.org/1999/xhtml"; 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  version="1.0">

  <xsl:import 
href="http://docbook.sourceforge.net/release/xsl/current/xhtml/titlepage.xsl"/>
  <xsl:import 
href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>

  <!-- indent="yes" is just for the readability of the output and has no effect 
on test. -->
  <xsl:output indent="yes"/>

</xsl:stylesheet>

I get the expected output (notice <h5 class="title"><a 
xmlns:saxon="http://icl.com/saxon"; id="d0e16"/>sect4</h5>):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
   <head>
      <title>Foo</title>
      <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"/>
   </head>
   <body>
      <div class="book" title="Foo">
         <div class="titlepage">
            <div>
               <div>
                  <h1 class="title">
                     <a id="d0e1"/>Foo</h1>
               </div>
            </div>
            <hr/>
         </div>
         <div class="toc">
            <p>
               <b>Table of Contents</b>
            </p>
            <dl>
               <dt>
                  <span class="chapter">
                     <a href="#d0e4">1. Chap</a>
                  </span>
               </dt>
               <dd>
                  <dl>
                     <dt>
                        <span class="section">
                           <a href="#d0e7">sect1</a>
                        </span>
                     </dt>
                     <dd>
                        <dl>
                           <dt>
                              <span class="section">
                                 <a href="#d0e10">sect2</a>
                              </span>
                           </dt>
                        </dl>
                     </dd>
                  </dl>
               </dd>
            </dl>
         </div>
         <div class="chapter" title="Chapter 1. Chap">
            <div class="titlepage">
               <div>
                  <div>
                     <h2 class="title">
                        <a xmlns:saxon="http://icl.com/saxon"; 
id="d0e4"/>Chapter 1. Chap</h2>
                  </div>
               </div>
            </div>
            <div class="toc">
               <p>
                  <b>Table of Contents</b>
               </p>
               <dl>
                  <dt>
                     <span class="section">
                        <a href="#d0e7">sect1</a>
                     </span>
                  </dt>
                  <dd>
                     <dl>
                        <dt>
                           <span class="section">
                              <a href="#d0e10">sect2</a>
                           </span>
                        </dt>
                     </dl>
                  </dd>
               </dl>
            </div>
            <div class="section" title="sect1">
               <div class="titlepage">
                  <div>
                     <div>
                        <h2 class="title" style="clear: both">
                           <a xmlns:saxon="http://icl.com/saxon"; 
id="d0e7"/>sect1</h2>
                     </div>
                  </div>
               </div>
               <div class="section" title="sect2">
                  <div class="titlepage">
                     <div>
                        <div>
                           <h3 class="title">
                              <a xmlns:saxon="http://icl.com/saxon"; 
id="d0e10"/>sect2</h3>
                        </div>
                     </div>
                  </div>
                  <div class="section" title="sect3">
                     <div class="titlepage">
                        <div>
                           <div>
                              <h4 class="title">
                                 <a xmlns:saxon="http://icl.com/saxon"; 
id="d0e13"/>sect3</h4>
                           </div>
                        </div>
                     </div>
                     <div class="section" title="sect4">
                        <div class="titlepage">
                           <div>
                              <div>
                                 <h5 class="title">
                                    <a xmlns:saxon="http://icl.com/saxon"; 
id="d0e16"/>sect4</h5>
                              </div>
                           </div>
                        </div>
                        <p>Foo</p>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>

Thanks,
David

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to