/
dbdsssl.dtd
147 lines (125 loc) · 4.48 KB
/
dbdsssl.dtd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!-- ================================================================= -->
<!-- A DTD for DSSSL Programming with DocBook.
Copyright (C) 1998 Norman Walsh
This DTD may be distributed under the same terms as the
Modular DocBook Stylesheets (http://nwalsh.com/docbook/dsssl/)
This DTD is an extension to DocBook that conforms to the DSSSL
architecture. This means that instances of this DTD can be
legal DSSSL stylesheets and (almost) legal DocBook documents
simultaneously.
This DTD as DSSSL:
Instances of this DTD conform to the DSSSL architecture if and
only if they contain a BOOK and that BOOK contains one or more
PROGRAMLISTINGS. An EXTERNAL-SPECIFICATION, if required, must
be provided in the SETINFO element.
This DTD as DocBook:
Instances of this DTD are extensions of DocBook in the following
small ways:
- SETs may consist of only a single BOOK.
- SETINFO may include EXTERNAL-SPECIFICATION.
- EXTERNAL-SPECIFICATION is new.
- BOOK has two additional attributes, DSSSL (#FIXED) and USE to
point to EXTERNAL-SPECIFICATIONs.
- PROGRAMLISTING has an additional attribute, DSSSL (#FIXED).
A typical invocation:
<!DOCTYPE book PUBLIC
"+//IDN nwalsh.com//DTD DocBook DSSSL Architecture V1.0//EN">
-->
<!-- ================================================================= -->
<!-- =================== Declare the DSSSL Architecture ============== -->
<?IS10744 ArcBase DSSSL>
<!NOTATION DSSSL PUBLIC "ISO/IEC 10179:1996//NOTATION
DSSSL Architecture Definition Document//EN"
-- A document architecture conforming to the
Architectural Form Definition Requirements of
ISO/IEC 10744. --
>
<!ATTLIST #NOTATION DSSSL
-- Support attributes for all architectures --
ArcQuant CDATA #FIXED "NAMELEN 64"
ArcDTD CDATA #FIXED "%DSSSLDTD"
ArcDocF NAME #FIXED dsssl-specification
ArcDataF NAME #FIXED dsssl-specification
>
<!ENTITY % DSSSLDTD PUBLIC
"ISO/IEC 10179:1996//DTD DSSSL Architecture//EN"
>
<!-- ============================ Load DocBook ======================= -->
<!ENTITY % set.module "IGNORE">
<!ENTITY % setinfo.module "IGNORE">
<!ENTITY % book.module "IGNORE">
<!ENTITY % programlisting.module "IGNORE">
<!ENTITY % docbook PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
%docbook;
<!-- ============ Adjust DocBook to fit the DSSSL Architecture ======== -->
<!ENTITY % local.set.attrib "">
<!ENTITY % set.role.attrib "%role.attrib;">
<!ELEMENT Set - O ((%div.title.content;)?, SetInfo?, ToC?,
(%book.class;)+, SetIndex?)
+(%ubiq.mix;)>
<!ATTLIST Set
--
FPI: SGML formal public identifier
--
FPI CDATA #IMPLIED
%status.attrib;
%common.attrib;
%set.role.attrib;
%local.set.attrib;
>
<!ENTITY % local.setinfo.attrib "">
<!ENTITY % setinfo.role.attrib "%role.attrib;">
<!ELEMENT SetInfo - - ((Graphic | LegalNotice | ModeSpec | SubjectSet
| KeywordSet | ITermSet | %bibliocomponent.mix;
| external-specification)+)
-(BeginPage)>
<!ATTLIST SetInfo
--
Contents: IDs of the ToC, Books, and SetIndex that comprise
the set, in the order of their appearance
--
Contents IDREFS #IMPLIED
%common.attrib;
%setinfo.role.attrib;
%local.setinfo.attrib;
>
<!ENTITY % local.book.attrib "">
<!ENTITY % book.role.attrib "%role.attrib;">
<!ELEMENT Book - O ((%div.title.content;)?, BookInfo?, Dedication?, ToC?, LoT*,
(Glossary|Bibliography|Preface)*,
(((%chapter.class;)+, Reference*) | Part+
| Reference+ | (%article.class;)+),
(%appendix.class;)*, (Glossary|Bibliography)*,
(%index.class;)*, LoT*, ToC?)
+(%ubiq.mix;)>
<!ATTLIST Book
--
FPI: SGML formal public identifier
--
FPI CDATA #IMPLIED
%label.attrib;
%status.attrib;
%common.attrib;
%book.role.attrib;
%local.book.attrib;
DSSSL NAME #FIXED style-specification
USE IDREFS #IMPLIED
>
<!ENTITY % local.programlisting.attrib "">
<!ENTITY % programlisting.role.attrib "%role.attrib;">
<!ELEMENT ProgramListing - - ((%programlisting.content;)+)>
<!ATTLIST ProgramListing
%width.attrib;
%linespecific.attrib;
%common.attrib;
%programlisting.role.attrib;
%local.programlisting.attrib;
DSSSL NAME #FIXED style-specification-body
>
<!ELEMENT external-specification - o empty>
<!ATTLIST external-specification
ID ID #REQUIRED
Document ENTITY #REQUIRED
SpecId NAME #IMPLIED
>
<!-- ================================================================= -->