Hi Mats,

I have concerns about changing the schema to allow sections directly under 
book. If you're looking for a solution in the schema, I think assemblies are 
the way to go.

That said, here is a strategy we've used with xinclude that may be useful. This 
depends on xmllint (there may be other processors that will do this, but 
xmllint works for me, so I haven't investigated further). It may also stretch 
the bounds of the xinclude standard, but if you use xmllint, it works and saves 
you from changing the schema.

If you want to turn that section into a preface, the following will work:

  <preface xml:id="some_id">
    <title>Preface</title>
    <xi:include href="source/somesection.xml"
                
xpointer="xmlns(d=http://docbook.org/ns/docbook)xpointer(/d:section/d:title/following-sibling::*))"/>
  </preface>

If you want to grab the title, too, you can use the following (this just adds a 
statement to grab the title from the included file instead of hard coding it):

  <preface xml:id="app.casestudy-lego">
    <title><xi:include href="source/somesection.xml"
                       
xpointer="xmlns(d=http://docbook.org/ns/docbook)xpointer(/d:section/d:title/text()))"/></title>
    <xi:include href="source/somesection.xml"
                
xpointer="xmlns(d=http://docbook.org/ns/docbook)xpointer(/d:section/d:title/following-sibling::*))"/>
  </preface>

You can, of course do other things. You could completely wrap the section in a 
chapter and just use a simpler xinclude statement that just pulls in the whole 
file. And you can create any element (not just preface) that will parse 
correctly when everything is expanded. And if you want to live really 
dangerously (I'm not recommending this; as the liquor ads advise, "Use 
responsibly"), the stylesheets are more relaxed than the schema when it comes 
to validation. They will sometimes handle things that are invalid, but still 
well formed). I haven't tried this, but they might process a section directly 
under a book element (and they might not:-).

Best regards,
Dick Hamilton
-------
XML Press
XML for Technical Communicators
http://xmlpress.net
[email protected]



On Nov 18, 2014, at 5:48, Mats Broberg <[email protected]> wrote:

> Greetings,
>  
> In DocBook, the “section” element cannot appear directly under “book” or 
> “part”, but must have a “chapter” parent. So what to do if a “section” is 
> reused (as xincludes) between publications and sometimes must appear at the 
> “chapter” level and sometimes at a “section” and even a subsection level?
>  
> “section” is allowed directly under “article”, but “article” seems like the 
> wrong element for a 300+ page publication (such as a manual).
>  
> Best regards,
> Mats


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

Reply via email to