httpd-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joshua Slive" <>
Subject RE: dtd for httpd-docs
Date Tue, 05 Mar 2002 22:51:50 GMT

> From: Brad Miller []

> I am trying to catch up with all the suggestions and comments
> that have been
> passing through the list.
> I took little snippets from several different emails and added my comments
> and what I did to the DTD to try to conform.
> I also attached the template. This is a very rough draft and needs more
> refinement. For now this validates and can be used as a template with the
> new dtd attached.

Alright.  I got things working with emacs at least at a basic level and I
played around a little with the DTD.  The results are inline below.

The main things I've done is to introduce two "classes" of tags: inline and
block.  With these, we can allow flexibility in what goes where, without
having to allow everything.

(I've also removed the "authored by" comment.  I'm not trying to take away
credit from Brad for his great work, but it doesn't make much sense for a
document lots of people are editting.)

There is still fine-tuning to be done, but this seems to work in general.

A few questions:

- Does this look right to everyone?

- Where should it go?  manual/style/, manual/mod/, ... ?

- Should we use a PUBLIC or a SYSTEM identifier.  SYSTEM is easier to setup,
because we don't need to much with CATALOGs, but I'm not sure what the
"right thing" is.

As I've mentioned, I really don't know what I'm doing with DTDs, so any
comments will be appreciated.


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

<!ENTITY nbsp "&#160;">

<!ENTITY % inlinetags "em | strong | code | a | br | directive | module">

<!ENTITY % blocktags "p | example | note | table | ul | ol | dl | pre">

<!ENTITY % Block "(%blocktags;)*">

<!ENTITY % Inline "(#PCDATA | %inlinetags;)*">

<!ENTITY % BlockOrInline "(#PCDATA | %inlinetags; | %blocktags;)*">

<!ELEMENT modulesynopsis (name , description, status , sourcefile?,
identifier? , compatibility? , summary? , seealso* , directivesynopsis+)>


<!ELEMENT status (#PCDATA)>

<!ELEMENT identifier (#PCDATA)>

<!ELEMENT sourcefile (#PCDATA)>

<!ELEMENT compatibility %Inline;>

<!ELEMENT description %Inline;>

<!ELEMENT module (#PCDATA)>

<!ELEMENT example (#PCDATA | title | %inlinetags; | %blocktags;)*>

<!ELEMENT seealso %Inline;>

<!ELEMENT a %Inline;>


<!ELEMENT directivesynopsis (name , description , syntax , default? ,
contextlist , override? , compatibility? , usage, seealso*)>

<!ATTLIST directivesynopsis  type CDATA  #IMPLIED >
<!ATTLIST directivesynopsis  location CDATA  #IMPLIED >

<!ELEMENT syntax %Inline;>

<!ELEMENT default (#PCDATA)>

<!ELEMENT contextlist (context+)+>

<!ELEMENT context (#PCDATA)>

<!ELEMENT override (#PCDATA)>

<!ELEMENT note (#PCDATA | title | %inlinetags; | %blocktags;)*>

<!ELEMENT title %Inline;>

<!ELEMENT p %Inline;>

<!ELEMENT ul (li+)>

<!ELEMENT ol (li+)>

<!ELEMENT li %Inline;>

<!ELEMENT strong %Inline;>


<!ELEMENT table (tr)+>

<!ELEMENT tr (td)+>

<!ELEMENT td %BlockOrInline;>

                rowspan CDATA  #IMPLIED
                class   CDATA  #IMPLIED >
<!ELEMENT directive (#PCDATA)>

<!ATTLIST directive  module CDATA  #IMPLIED
                       type   CDATA  #IMPLIED >
<!ELEMENT code %Inline;>

<!ELEMENT dl (dd | dt)+>

<!ELEMENT dt %Inline;>

<!ELEMENT dd %BlockOrInline;>

<!ELEMENT em %Inline;>

<!ELEMENT usage %Block;>

<!ELEMENT summary %Block;>

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message