1 <!-- ================================================================= -->
2 <!-- A DTD for DSSSL Programming with DocBook.
4 Copyright (C) 1998 Norman Walsh
5 This DTD may be distributed under the same terms as the
6 Modular DocBook Stylesheets (http://nwalsh.com/docbook/dsssl/)
8 This DTD is an extension to DocBook that conforms to the DSSSL
9 architecture. This means that instances of this DTD can be
10 legal DSSSL stylesheets and (almost) legal DocBook documents
15 Instances of this DTD conform to the DSSSL architecture if and
16 only if they contain a BOOK and that BOOK contains one or more
17 PROGRAMLISTINGS. An EXTERNAL-SPECIFICATION, if required, must
18 be provided in the SETINFO element.
22 Instances of this DTD are extensions of DocBook in the following
25 - SETs may consist of only a single BOOK.
26 - SETINFO may include EXTERNAL-SPECIFICATION.
27 - EXTERNAL-SPECIFICATION is new.
28 - BOOK has two additional attributes, DSSSL (#FIXED) and USE to
29 point to EXTERNAL-SPECIFICATIONs.
30 - PROGRAMLISTING has an additional attribute, DSSSL (#FIXED).
34 "+//IDN nwalsh.com//DTD DocBook DSSSL Architecture V1.0//EN">
36 <!-- ================================================================= -->
38 <!-- =================== Declare the DSSSL Architecture ============== -->
40 <?IS10744 ArcBase DSSSL>
41 <!NOTATION DSSSL PUBLIC "ISO/IEC 10179:1996//NOTATION
42 DSSSL Architecture Definition Document//EN"
43 -- A document architecture conforming to the
44 Architectural Form Definition Requirements of
48 <!ATTLIST #NOTATION DSSSL
49 -- Support attributes for all architectures --
50 ArcQuant CDATA #FIXED "NAMELEN 64"
51 ArcDTD CDATA #FIXED "%DSSSLDTD"
52 ArcDocF NAME #FIXED dsssl-specification
53 ArcDataF NAME #FIXED dsssl-specification
56 <!ENTITY % DSSSLDTD PUBLIC
57 "ISO/IEC 10179:1996//DTD DSSSL Architecture//EN"
60 <!-- ============================ Load DocBook ======================= -->
62 <!ENTITY % set.module "IGNORE">
63 <!ENTITY % setinfo.module "IGNORE">
64 <!ENTITY % book.module "IGNORE">
65 <!ENTITY % programlisting.module "IGNORE">
67 <!ENTITY % docbook PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
70 <!-- ============ Adjust DocBook to fit the DSSSL Architecture ======== -->
72 <!ENTITY % local.set.attrib "">
73 <!ENTITY % set.role.attrib "%role.attrib;">
74 <!ELEMENT Set - O ((%div.title.content;)?, SetInfo?, ToC?,
75 (%book.class;)+, SetIndex?)
79 FPI: SGML formal public identifier
88 <!ENTITY % local.setinfo.attrib "">
89 <!ENTITY % setinfo.role.attrib "%role.attrib;">
90 <!ELEMENT SetInfo - - ((Graphic | LegalNotice | ModeSpec | SubjectSet
91 | KeywordSet | ITermSet | %bibliocomponent.mix;
92 | external-specification)+)
96 Contents: IDs of the ToC, Books, and SetIndex that comprise
97 the set, in the order of their appearance
99 Contents IDREFS #IMPLIED
101 %setinfo.role.attrib;
102 %local.setinfo.attrib;
105 <!ENTITY % local.book.attrib "">
106 <!ENTITY % book.role.attrib "%role.attrib;">
107 <!ELEMENT Book - O ((%div.title.content;)?, BookInfo?, Dedication?, ToC?, LoT*,
108 (Glossary|Bibliography|Preface)*,
109 (((%chapter.class;)+, Reference*) | Part+
110 | Reference+ | (%article.class;)+),
111 (%appendix.class;)*, (Glossary|Bibliography)*,
112 (%index.class;)*, LoT*, ToC?)
116 FPI: SGML formal public identifier
124 DSSSL NAME #FIXED style-specification
128 <!ENTITY % local.programlisting.attrib "">
129 <!ENTITY % programlisting.role.attrib "%role.attrib;">
130 <!ELEMENT ProgramListing - - ((%programlisting.content;)+)>
131 <!ATTLIST ProgramListing
133 %linespecific.attrib;
135 %programlisting.role.attrib;
136 %local.programlisting.attrib;
137 DSSSL NAME #FIXED style-specification-body
140 <!ELEMENT external-specification - o empty>
141 <!ATTLIST external-specification
143 Document ENTITY #REQUIRED
147 <!-- ================================================================= -->