This would be most welcome!
We currently do modular authoring with customized section templates but
without schema validation. Topics might save us from the consistency
maintenance nightmare :)

About the design: you say in #2 that a topic can be for example a task, does
this mean that db.task will be a child of topic? If so, consider that both
topic, task, and procedure elements have a title. Today, with task as child
of section, you get the title three times (by default) - and if you do not
wrap tasks in sections , the tasks are not numbered and you easily get
validation errors when assembling your modular document.

If you implement this, please consider adding the DITA-like "Related
information" block at the end of topics.

Best regards, Bergfrid Skaara

On Sat, Jul 25, 2009 at 6:59 PM, Bob Stayton <[email protected]> wrote:

> The DocBook Technical Committee is considering adding features to DocBook
> to better support modular authoring and assembly of documents.  The
> Committee is developing an assembly structure that lets you point to DocBook
> files and elements, similar in function (but not form) to DITA maps.  A
> process would be run on an assembly to pull the various elements together
> for further processing as a document.
>
> While it would be possible to assemble a document from existing DocBook
> elements, I submitted an additional proposal to add a new <topic> element.
> Such a topic element would be a natural candidate for assembly of modular
> units into larger documents.
>
> A new topic element is needed because no other DocBook
> element meets the needs for authoring standalone units of
> information.  A section element is not appropriate, because
> it implies a "section of something" with a larger context.
> The article element comes closest, but it allows appendix,
> acknowledgements, and colophon children, which are not
> appropriate for a topic.  Also, article currently cannot
> be a child of chapter or appendix.
>
> The design goals of this proposal are:
>
> a. To provide a designated element for authoring
> modular content, each instance of which "stands alone", but
> which also has relationships to other modules.
>
> b. Design the topic element to be very general, so
> that it can be adapted for many types of topics.
>
> c. Make the addition of topic backwards compatible
> with DocBook 5.0.
>
> d. Clearly distinguish topics and sections.
>
>
> Here are is the proposed design for topic:
>
> 1. The content model for topic is identical to that of section.
>
> 2. A topic type is indicated by a CDATA "type" attribute value.
> For example, "task", "reference", "concept", etc.
>
> 3. A topic cannot include topic children.  Allowing a topic
> to contain other topic elements breaks the semantic of
> "standalone unit of information".
>
> 4. A topic can contain section children to subdivide its content
> for clarity and ease of reference.
>
> 5.  A section element cannot contain a topic element.
> Placing a topic inside a section implies the topic
> depends on the section parent for its context.
> It also hopelessly muddles the distinction between
> topic and section.
>
> 6.  Allow topic as a child of book or part. This allows you
> to author groups of topics in a convenient container.
> Such topics could be siblings of chapters and other
> component elements, the way article can be such a sibling.
>
> 7. Allow topic as a child of chapter or appendix, but not
> as a sibling of section.  This also allows you to author
> groups of topics in a convenient container, this time
> grouped into a chapter or appendix.  There is an additional
> constraint, though.  A chapter can contain either section
> children or topic children, but not both.  This is to
> maintain a clear distinction between topics and sections.
>
>
> The Committee would like to allow some experimentation and comment before
> adopting the new element.  I include here a customization of DocBook 5.0
> RelaxNG (compact syntax) to add a topic element as described above.  The
> Committee looks forward to users trying it out and commenting on their
> experiences and ideas.
>
> ------------------ topic customization -------------------------------
> default namespace = "http://docbook.org/ns/docbook";
> namespace db = "http://docbook.org/ns/docbook";
> namespace xlink = "http://www.w3.org/1999/xlink";
> namespace s = "http://www.ascc.net/xml/schematron";
> namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0";
>
>
> include "docbook.rnc" inherit = db {
>
> db.toplevel.sections =
>  ((db.section+, db.simplesect*) | db.simplesect+)
>  | (db.sect1+, db.simplesect*)
>  | db.refentry+
>  | dbx.topic+
>
> }
> dbx.topic =
>   element topic {
>     dbx.topic.attlist,
>     dbx.topic.info,
>     db.recursive.blocks.or.sections,
>     db.navigation.components*
>   }
>
> dbx.topic.type.attribute =
>  attribute type { text }
>
> dbx.topic.attlist = db.section.attlist  & dbx.topic.type.attribute?
> dbx.topic.info = db._info.title.req
>
> -----------------------------------------------------------------------
>
> Bob Stayton
> Sagehill Enterprises
> [email protected]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to