OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [docbook] Adding a new element to docbook

On Fri, Aug 22, 2003 at 10:51:17AM -0500, JABakken@dstsystems.com wrote:
> I'm still working on adding a new element to docbook, and am becoming
> pretty confused. Here's what I've got so far:
> This is mydocbk.dtd:
> <!ENTITY % local.tech.char.class "footer">

This declaration needs to have the 'or' symbol added:

<!ENTITY % local.tech.char.class "|footer">


so that when it is added at the end of %tech.char.class;
it will fit in with the other or'ed elements.

> <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook V4.2//EN">
> %DocBookDTD;

This PUBLIC identifier is for the SGML version of the
DocBook DTD.  Since you are using XML, you need
to use:

"-//OASIS//DTD DocBook XML V4.2//EN"

> <!ELEMENT footer - - ((%para.char.mix;|%para.mix;)+)>

Also, the syntax for XML DTDs does not use "- -"
in element declarations.
Also, for mixed content in XML (mixing #PCDATA and
elements), the number of occurances may not be
constrained (see http://www.w3.org/TR/REC-xml#sec-mixed-content).
That means you must use * rather than + in the declaration.
And you should remove the extra parens, leaving:

<!ELEMENT footer (%para.char.mix;|%para.mix;)*>

> This is my test xml file:
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE book SYSTEM "file:///C:/DocBook/XSLTest/DTD/mydocbk.dtd">
> <book><title>Book Title</title>
> <chapter><title>Using the footer element</title>
> <para>This is only a sample.</para>
> <footer>This is the footer</footer>
> </chapter>
> </book>

So far, you have only added footer to tech.char.class
which is used within paragraphs.  So this file won't
validate against your DTD.  If you want to use
footer as a sibling to para, you need another local 
parameter entity:

<!ENTITY % local.divcomponent.mix "|footer">

This adds footer to the mix of block elements
that can be used in chapter, section, etc.


Bob Stayton                                 400 Encinal Street
Publications Architect                      Santa Cruz, CA  95060
Technical Publications                      voice: (831) 427-7796
The SCO Group                               fax:   (831) 429-1887
                                            email: bobs@sco.com

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]