2
This is an XML DTD for writing Frequently Asked Questions FAQs.
3
QAML Version 2.4 last modified Oct 6 1999
4
by Justin Higgins (jhiggins@dn.net)
6
and Rick Jelliffe (ricko@gate.sinica.edu.tw)
9
It is based on the QAML 1.0 DTD, with minimal alterations
10
for XML, I18N (internationalization), XLL hypertext linking,
11
style, accessability and tracking. Multi-part answers are
12
supported a little better. Corporate and "look-and-feel"
13
needs are supported better: rights, PICS, logos, advertising
14
sections, corporate addresses.
16
* XML: Documents written using the QAML 1.0 DTD
17
are structurally compatible with this DTD; however, such
18
documents need to be converted into "well-formed" XML:
19
make sure they are fully tagged with start-end tags for
20
every element. If you are not using 7-bit ACSCII or
21
UTF-8, specify the appropriate XML encoding header. If you are
22
not using English, specify the appropriate xml:lang language
23
attributes. Use lower-case element type names.
25
* I18N: All elements with data content, and the top element,
26
may have a language attribute. People may have alternative names
27
in different scripts: e.g., a Chinese name and an English
30
* XLink: All elements may have an ID attribute. A fixed xml:link
31
attribute has been added to link and archive, for housekeeping.
32
(Link is used like HTML's <a> and <img> and <link> element types.
33
Archive points to the official location of the current and
34
precious version of the FAQ, and to translations.)
35
Note that the xml:show attribute is available in this DTD, but
36
may not be available at the user's system. The following
37
link roles are defined by this DTD, but you can add your own:
38
"Text", "Image", "Sound", "Software", "Data", "Interactive"
39
are the base Dublin Core categories for the resource types.
40
A logo is a special XLink: it just points to some icon or logo
41
or picture. (The logo does not represent a clickable hypertext
42
link: it is just for graphical purposes.) The link elements at
43
the start of the head element are intended for similar uses as
44
the HTML link element type: a role "bgimage" is defined by this DTD.
46
* Style: An element "span" is introduced with the same use as in HTML.
47
All elements have a class attribute, which may help better
48
processing in CSS. The following classes are defined by this DTD,
49
but you can add your own:
50
For section elements: "intro" (a preamble), "rights" (copyright),
51
"advert" (for advertising), "info" (for corporate info about the
52
siteowner, subject, product, or sponsor) and "links" (related sites);
53
For p elements: "li" and "pre", with the HTML meanings: there
54
is no provision for nested lists or tables;
55
For span elements: "tt", "em", "i", "b" & "strong", with the HTML meanings;
56
Also: "definition" and "keyword", for indexing
57
For p and span elements: "sent", with the JSML meaning
59
For the span element type: "literal" with the JSML meaning
60
(to be spelled out as letters)-this helps WAI too;
61
For the span element type: "abbr" and "acronym" are also available,
62
(an acronym is pronouncable: NASA), roughly from HTML
63
For the div element type: "ul" and "ol" with the HTML meanings.
64
The div element type is new with QAML 2.1; we found we could
65
not create good HTML lists without it. However, we have not
66
allowed nested lists with it, at this stage.
68
Note: if you use class="pre", also specify xml:space="preserve"
69
to inhibit the stripping of white space by the XML processor.
70
If you are attempting "ASCII art", use
71
<p class="pre" xml:space="preserve" alt="explanatory text">...
72
where the alt attribute holds some explanatory text.
74
Please note that you should not rely on format effects
75
(font, boldness) to convey meaning in these FAQs. The output
76
system of the user may not support them.
78
If you do not put your own numbers in titles, you can signify this
79
by specifying the autonum attribute on a body or section to "yes".
81
* Accessability: QAML has been checked against the W3C WAI guidelines;
82
the link, p & span elements can have an "title" attribute.
83
The span element can have a class="literal", for contractions to be
84
spoken out in individual letters, "abbr" for an abbreviations,
85
and "acronym" for acronyms. The latter two may be marked up with
86
title attribute for better pronunciation. Multiple logos are possible,
87
to allow sound as well as visual logos.
88
Refer /www.w3.org/TR/WD-WAI-PAGEAUTH/
90
* Dublin Core: The mappings to Dublin Core metadata are noted.
91
The Dublin Core type for FAQs is "faq". (The althdr element
92
can be used similar to the HTML meta element, to add arbitrary
95
* Tracking: A data attribute has been added to various elements.
96
Use an ISO 8601 format date: yyyy-mm-dd or yyyymmdd.
97
The archive element can link to previous versions and translations.
98
The maintainer can advise the preferred subject line to be used
99
in emails about the FAQ, using the element type "subject".
100
A version element has been added to element type head
102
* PICS and rights: PICS labels can be added to the header using the
103
label element type. Refer http://www.w3.org/PICS/
104
A text version concerning rights can be given in a section
105
with a class="rights" attribute.
107
* PDA and Wireless Systems: to allow better interaction with PDA and
108
wireless systems, which have very small screen real-estate, the
109
<a> answer element type can take a "gist" attribute: this can have
110
a 1 to 5 word summary of the answer. The PDA would use that for example:
112
A: Barking animal >more>
115
where the ">more>" links to the full answer.
117
QAML Version 1.0 last modified 16 July 1997
118
by Justin Higgins (jhiggins@dn.net)
120
Public identifier for SGML version of QAML Version 1,0:
121
+//ISBN 82-7640-023//DTD Frequently Asked Questions//EN//19940603
123
Public identifier for this XML version:
124
+//IDN faq.org//DTD Frequently Asked Questions 2.3//EN//XML
126
Rights: This DTD is copyright 1994-1999 Justin Higgins and Rick
127
Jelliffe. You can use it freely for any purpose under the terms
128
of the MPL or GPL. Documents created using this DTD are copyright
129
their (human or corporate) authors and maintainers, subject to
130
local law, unless explicitly noted in the FAQ text or markup.
132
Thanks: Eric Luhrs, C.T.Chang, Andy Leighton, David Pawson
134
Notice: ID attributes will soon be made #REQUIRED on section and on
135
qna. Please always use them.
138
<!-- New in version 2.4
139
email not mandatory for authors and contributors
140
block of links allowed at start of head
142
<!-- New in version 2.3
143
Version element added
144
Allow someone to have more than one email address (deprecated)
145
Namespace declaration added
147
<!ELEMENT faq (head, body) >
150
<!ELEMENT a (p | div)+ >
151
<!ELEMENT address (#PCDATA) >
152
<!ELEMENT althdr (type, content) ><!-- DC:DESCRIPTION -->
153
<!ELEMENT archive (#PCDATA) ><!-- DC:IDENTIFIER? -->
154
<!ELEMENT author (logo*, name+, email?) ><!-- DC:CREATOR -->
155
<!ELEMENT body (section+ | qna+) >
156
<!ELEMENT content (#PCDATA) >
157
<!ELEMENT contributor (logo*, name, email?) ><!-- DC:CONTRIBUTOR -->
159
<!ELEMENT email (#PCDATA) >
160
<!ELEMENT head (title, version?, maintain+, hdr*, althdr*, archive*,label*, link*)>
161
<!ELEMENT hdr (type, content) ><!-- DC:DESCRIPTION -->
162
<!ELEMENT label (#PCDATA) >
163
<!ELEMENT link (#PCDATA) >
164
<!ELEMENT logo (#PCDATA) >
165
<!ELEMENT maintain (logo*, name+, email+, subject?, address?) >
166
<!-- DC:AUTHOR or DC:PUBLISHER -->
167
<!ELEMENT name (#PCDATA) >
168
<!ELEMENT p (#PCDATA | link | span)* >
169
<!ELEMENT q (#PCDATA | link | span)* >
170
<!ELEMENT qna (logo*, q, (logo?,topic?,author?,contributor*,a)+)>
171
<!ELEMENT section (logo*, title, (qna+ | q+ | ( p | div | section)+)) >
172
<!ELEMENT span (#PCDATA) >
173
<!ELEMENT subject (#PCDATA) >
174
<!ELEMENT title (#PCDATA) ><!-- DC:TITLE -->
175
<!ELEMENT topic (#PCDATA) ><!-- DC:TITLE -->
176
<!ELEMENT type (#PCDATA) ><!-- DC:SUBJECT -->
177
<!ELEMENT version (#PCDATA) >
178
<!-- Type categories include:
204
Television & Radio -->
207
<!ATTLIST a id ID #IMPLIED
210
xml:lang CDATA #IMPLIED >
211
<!ATTLIST archive href CDATA #REQUIRED
214
xml:link CDATA #FIXED "simple" >
215
<!ATTLIST author id ID #IMPLIED
216
class CDATA #IMPLIED >
217
<!ATTLIST althdr id ID #IMPLIED
219
schema CDATA #IMPLIED >
220
<!ATTLIST div id ID #IMPLIED
222
xml:lang NMTOKEN #IMPLIED >
223
<!ATTLIST body id ID #IMPLIED
225
xml:lang NMTOKEN #IMPLIED
226
autonum ( yes | no ) "no" >
227
<!ATTLIST content id ID #IMPLIED
228
class CDATA #IMPLIED >
229
<!ATTLIST contributor id ID #IMPLIED
230
class CDATA #IMPLIED >
231
<!ATTLIST email id ID #IMPLIED
232
class CDATA #IMPLIED >
233
<!ATTLIST faq id ID #IMPLIED
234
xmlns:html CDATA #FIXED "http://www.w3.org/TR/REC-html40"
236
xml:lang NMTOKEN #IMPLIED
237
date CDATA #IMPLIED ><!-- DC:DATE -->
238
<!ATTLIST head id ID #IMPLIED
239
class CDATA #IMPLIED >
240
<!ATTLIST hdr id ID #IMPLIED
242
schema CDATA #IMPLIED >
243
<!ATTLIST label PICSversion CDATA #IMPLIED >
244
<!ATTLIST link id ID #IMPLIED
246
xml:link CDATA #FIXED "simple"
251
show (embed|replace|new) "new"
252
actuate (auto|user) "user"
253
behavior CDATA #IMPLIED >
259
xml:lang NMTOKEN #IMPLIED
260
xml:link CDATA "simple"
262
actuate (auto|user) "auto" >
263
<!ATTLIST maintain id ID #IMPLIED
264
class CDATA #IMPLIED >
265
<!ATTLIST name id ID #IMPLIED
266
class CDATA #IMPLIED >
267
<!ATTLIST p id ID #IMPLIED
270
xml:lang NMTOKEN #IMPLIED
273
xml:space ( default | preserve ) #IMPLIED >
274
<!ATTLIST q id ID #IMPLIED
276
xml:lang NMTOKEN #IMPLIED >
277
<!ATTLIST qna id ID #IMPLIED
279
xml:lang NMTOKEN #IMPLIED
280
date CDATA #IMPLIED >
281
<!ATTLIST section id ID #IMPLIED
284
xml:lang NMTOKEN #IMPLIED
285
autonum ( yes | no ) "no" >
286
<!ATTLIST span id ID #IMPLIED
289
xml:lang NMTOKEN #IMPLIED >
290
<!ATTLIST title id ID #IMPLIED
292
xml:lang NMTOKEN #IMPLIED >
293
<!ATTLIST topic id ID #IMPLIED
295
xml:lang NMTOKEN #IMPLIED
297
<!ATTLIST type id ID #IMPLIED
298
class CDATA #IMPLIED >
300
<!-- Why use QAML instead of HTML?
301
Because unconstrained HTML is too powerful and loose! -->