1 namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
2 namespace ctrl = "http://nwalsh.com/xmlns/schema-control/"
3 default namespace db = "http://docbook.org/ns/docbook"
4 namespace html = "http://www.w3.org/1999/xhtml"
5 namespace mml = "http://www.w3.org/1998/Math/MathML"
6 namespace rng = "http://relaxng.org/ns/structure/1.0"
7 namespace s = "http://www.ascc.net/xml/schematron"
8 namespace svg = "http://www.w3.org/2000/svg"
9 namespace xi = "http://www.w3.org/2001/XInclude"
10 namespace xlink = "http://www.w3.org/1999/xlink"
14 uri = "http://relaxng.org/ns/compatibility/annotations/1.0"
16 s:ns [ prefix = "ctrl" uri = "http://nwalsh.com/xmlns/schema-control/" ]
17 s:ns [ prefix = "db" uri = "http://docbook.org/ns/docbook" ]
21 "http://sourceforge.net/projects/docbook/defguide/schema/extra-markup"
23 s:ns [ prefix = "html" uri = "http://www.w3.org/1999/xhtml" ]
24 s:ns [ prefix = "mml" uri = "http://www.w3.org/1998/Math/MathML" ]
25 s:ns [ prefix = "rng" uri = "http://relaxng.org/ns/structure/1.0" ]
26 s:ns [ prefix = "s" uri = "http://www.ascc.net/xml/schematron" ]
27 s:ns [ prefix = "svg" uri = "http://www.w3.org/2000/svg" ]
28 s:ns [ prefix = "xi" uri = "http://www.w3.org/2001/XInclude" ]
29 s:ns [ prefix = "xlink" uri = "http://www.w3.org/1999/xlink" ]
32 # See http://docbook.org/ns/docbook
38 | db.navigation.components
41 | (db.sect1 | db.sect2 | db.sect3 | db.sect4 | db.sect5)
42 | (db.refentry | db.refsection)
43 | (db.refsect1 | db.refsect2 | db.refsect3)
48 ## Any attribute including in any attribute in any namespace.
52 ## Any element from almost any namespace
53 element * - (db:* | html:*) {
54 (db._any.attribute | text | db._any)*
59 ## Designates the computer or chip architecture to which the element applies
60 attribute arch { text }
61 db.audience.attribute =
63 ## Designates the intended audience to which the element applies, for example, system administrators, programmers, or new users.
64 attribute audience { text }
65 db.condition.attribute =
67 ## provides a standard place for application-specific effectivity
68 attribute condition { text }
69 db.conformance.attribute =
71 ## Indicates standards conformance characteristics of the element
72 attribute conformance { text }
75 ## Indicates the operating system to which the element is applicable
77 db.revision.attribute =
79 ## Indicates the editorial revision to which the element belongs
80 attribute revision { text }
81 db.security.attribute =
83 ## Indicates something about the security level associated with the element to which it applies
84 attribute security { text }
85 db.userlevel.attribute =
87 ## Indicates the level of user experience for which the element applies
88 attribute userlevel { text }
91 ## Indicates the computer vendor to which the element applies.
92 attribute vendor { text }
93 db.wordsize.attribute =
95 ## Indicates the word size (width in bits) of the computer architecture to which the element applies
96 attribute wordsize { text }
97 db.effectivity.attributes =
99 & db.audience.attribute?
100 & db.condition.attribute?
101 & db.conformance.attribute?
103 & db.revision.attribute?
104 & db.security.attribute?
105 & db.userlevel.attribute?
106 & db.vendor.attribute?
107 & db.wordsize.attribute?
108 db.endterm.attribute =
110 ## Points to the element whose content is to be used as the text of the link
111 attribute endterm { xsd:IDREF }
112 db.linkend.attribute =
114 ## Points to an internal link target by identifying the value of its xml:id attribute
115 attribute linkend { xsd:IDREF }
116 db.linkends.attribute =
118 ## Points to one or more internal link targets by identifying the value of their xml:id attributes
119 attribute linkends { xsd:IDREFS }
120 db.xlink.href.attribute =
122 ## Identifies a link target with a URI
123 attribute xlink:href { xsd:anyURI }
124 db.xlink.type.attribute =
126 ## Identifies the XLink link type
127 attribute xlink:type {
129 ## An XLink simple link
132 db.xlink.role.attribute =
134 ## Identifies the XLink role of the link
135 attribute xlink:role { xsd:anyURI }
136 db.xlink.arcrole.attribute =
138 ## Identifies the XLink arcrole of the link
139 attribute xlink:arcrole { xsd:anyURI }
140 db.xlink.title.attribute =
142 ## Identifies the XLink title of the link
143 attribute xlink:title { text }?
144 db.xlink.show.enumeration =
146 ## An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context.
149 ## An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded.
152 ## An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource.
155 ## The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior.
158 ## The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.
160 db.xlink.show.attribute =
162 ## Identifies the XLink show behavior of the link
163 attribute xlink:show { db.xlink.show.enumeration }
164 db.xlink.actuate.enumeration =
166 ## An application should traverse to the ending resource immediately on loading the starting resource.
169 ## An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal.
172 ## The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior.
175 ## The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.
177 db.xlink.actuate.attribute =
179 ## Identifies the XLink actuate behavior of the link
180 attribute xlink:actuate { db.xlink.actuate.enumeration }
182 db.xlink.href.attribute
183 & db.xlink.type.attribute?
184 & db.xlink.role.attribute?
185 & db.xlink.arcrole.attribute?
186 & db.xlink.title.attribute?
187 & db.xlink.show.attribute?
188 & db.xlink.actuate.attribute?
189 db.xml.id.attribute =
191 ## Identifies the unique ID value of the element
192 attribute xml:id { xsd:ID }
193 db.version.attribute =
195 ## Specifies the DocBook version of the element and its descendants
196 attribute version { text }
197 db.xml.lang.attribute =
199 ## Specifies the natural language of the element and its descendants
200 attribute xml:lang { text }
201 db.xml.base.attribute =
203 ## Specifies the base URI of the element and its descendants
204 attribute xml:base { xsd:anyURI }
207 ## Provides the name or similar semantic identifier assigned to the content in some previous markup scheme
208 attribute remap { text }
209 db.xreflabel.attribute =
211 ## Provides the text that is to be generated for a cross reference to the element
212 attribute xreflabel { text }
213 db.xrefstyle.attribute =
215 ## Specifies a keyword or keywords identifying additional style information
216 attribute xrefstyle { text }
217 db.revisionflag.enumeration =
219 ## The element has been changed.
222 ## The element is new (has been added to the document).
225 ## The element has been deleted.
228 ## Explicitly turns off revision markup for this element.
230 db.revisionflag.attribute =
232 ## Identifies the revision status of the element
233 attribute revisionflag { db.revisionflag.enumeration }
236 ## Left-to-right text
239 ## Right-to-left text
242 ## Left-to-right override
245 ## Right-to-left override
249 ## Identifies the direction of text in an element
250 attribute dir { db.dir.enumeration }
251 db.common.base.attributes =
252 db.version.attribute?
253 & db.xml.lang.attribute?
254 & db.xml.base.attribute?
255 & db.remap.attribute?
256 & db.xreflabel.attribute?
257 & db.revisionflag.attribute?
259 & db.effectivity.attributes
260 db.common.attributes =
262 & db.common.base.attributes
263 & db.annotations.attribute?
264 db.common.idreq.attributes =
266 & db.common.base.attributes
267 & db.annotations.attribute?
268 db.common.linking.attributes =
269 (db.linkend.attribute | db.href.attributes)?
270 db.common.req.linking.attributes =
271 db.linkend.attribute | db.href.attributes
272 db.common.data.attributes =
274 ## Specifies the format of the data
275 attribute format { text }?,
277 ## Indentifies the location of the data by URI
278 attribute fileref { xsd:anyURI }
280 ## Identifies the location of the data by external identifier (entity name)
281 attribute entityref { xsd:ENTITY })
282 db.verbatim.continuation.enumeration =
284 ## Line numbering continues from the immediately preceding element with the same name.
287 ## Line numbering restarts (begins at 1, usually).
289 db.verbatim.continuation.attribute =
291 ## Determines whether line numbering continues from the previous element or restarts.
292 attribute continuation { db.verbatim.continuation.enumeration }
293 db.verbatim.linenumbering.enumeration =
295 ## Lines are numbered.
298 ## Lines are not numbered.
300 db.verbatim.linenumbering.attribute =
302 ## Determines whether lines are numbered.
303 attribute linenumbering { db.verbatim.linenumbering.enumeration }
304 db.verbatim.startinglinenumber.attribute =
306 ## Specifies the initial line number.
307 attribute startinglinenumber { xsd:integer }
308 db.verbatim.language.attribute =
310 ## Identifies the language (i.e. programming language) of the verbatim content.
311 attribute language { text }
312 db.verbatim.xml.space.attribute =
314 ## Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not.
315 attribute xml:space {
317 ## Whitespace must be preserved.
320 db.verbatim.attributes =
321 db.verbatim.continuation.attribute?
322 & db.verbatim.linenumbering.attribute?
323 & db.verbatim.startinglinenumber.attribute?
324 & db.verbatim.language.attribute?
325 & db.verbatim.xml.space.attribute?
328 ## Specifies an identifying string for presentation purposes
329 attribute label { text }
330 db.width.characters.attribute =
332 ## Specifies the width (in characters) of the element
333 attribute width { xsd:nonNegativeInteger }
334 db.spacing.enumeration =
336 ## The spacing should be "compact".
339 ## The spacing should be "normal".
341 db.spacing.attribute =
343 ## Specifies (a hint about) the spacing of the content
344 attribute spacing { db.spacing.enumeration }
345 db.pgwide.enumeration =
347 ## The element should be rendered in the current text flow (with the flow column width).
350 ## The element should be rendered across the full text page.
352 db.pgwide.attribute =
354 ## Indicates if the element is rendered across the column or the page
355 attribute pgwide { db.pgwide.enumeration }
356 db.language.attribute =
358 ## Identifies the language (i.e. programming language) of the content.
359 attribute language { text }
360 db.performance.enumeration =
362 ## The content describes an optional step or steps.
365 ## The content describes a required step or steps.
367 db.performance.attribute =
369 ## Specifies if the content is required or optional.
370 attribute performance { db.performance.enumeration }
371 db.floatstyle.attribute =
373 ## Specifies style information to be used when rendering the float
374 attribute floatstyle { text }
377 ## Specifies the width of the element
378 attribute width { text }
381 ## Specifies the depth of the element
382 attribute depth { text }
383 db.contentwidth.attribute =
385 ## Specifies the width of the content rectangle
386 attribute contentwidth { text }
387 db.contentdepth.attribute =
389 ## Specifies the depth of the content rectangle
390 attribute contentdepth { text }
391 db.scalefit.enumeration =
393 ## False (do not scale-to-fit; anamorphic scaling may occur)
396 ## True (scale-to-fit; anamorphic scaling is forbidden)
400 ## Specifies the scaling factor
401 attribute scale { xsd:positiveInteger }
402 db.halign.enumeration =
404 ## Centered horizontally
407 ## Aligned horizontally on the specified character
410 ## Fully justified (left and right margins or edges)
418 db.valign.enumeration =
420 ## Aligned on the bottom of the region
423 ## Centered vertically
426 ## Aligned on the top of the region
428 db.biblio.class.enumeration =
430 ## A document object identifier.
433 ## An international standard book number.
436 ## An international standard technical report number (ISO 10444).
439 ## An international standard serial number.
442 ## A Library of Congress reference number.
445 ## A publication number (an internal number or possibly organizational standard).
448 ## A Uniform Resource Identifier
450 db.biblio.class-enum.attribute =
452 ## Identifies the kind of bibliographic identifier
453 attribute class { db.biblio.class.enumeration }?
454 db.biblio.class-other.attribute =
456 ## Identifies the nature of the non-standard bibliographic identifier
457 attribute otherclass { xsd:NMTOKEN }
458 db.biblio.class-other.attributes =
460 ## Identifies the kind of bibliographic identifier
463 ## Indicates that the identifier is some 'other' kind.
466 & db.biblio.class-other.attribute
467 db.biblio.class.attribute =
468 db.biblio.class-enum.attribute | db.biblio.class-other.attributes
470 (db.inlinemediaobject
478 db._text = (text | db.ubiq.inlines | db._phrase | db.replaceable)*
479 db._title = db.title? & db.titleabbrev? & db.subtitle?
480 db._title.req = db.title & db.titleabbrev? & db.subtitle?
481 db._title.only = db.title? & db.titleabbrev?
482 db._title.onlyreq = db.title & db.titleabbrev?
483 db._info = (db._title, db.titleforbidden.info?) | db.info?
485 (db._title.req, db.titleforbidden.info?) | db.titlereq.info
486 db._info.title.only =
487 (db._title.only, db.titleforbidden.info?) | db.titleonly.info
488 db._info.title.onlyreq =
489 (db._title.onlyreq, db.titleforbidden.info?) | db.titleonlyreq.info
490 db._info.title.forbidden = db.titleforbidden.info?
496 | db.extension.inlines)
499 db.publishing.inlines
501 | db.bibliography.inlines
503 | db.indexing.inlines
510 | db.keyboard.inlines
512 | db.programming.inlines
514 db.technical.inlines =
515 (db.replaceable | db.package | db.parameter)
518 | (db.systemitem | db.option | db.optional | db.property)
526 db.bibliography.inlines =
538 db.publishing.inlines =
551 | db.glossary.inlines
553 db.graphic.inlines = db.inlinemediaobject
554 db.indexing.inlines = notAllowed | db.indexterm
556 (db.xref | db.link | db.olink | db.anchor) | db.biblioref
557 db.extension.inlines = notAllowed
562 | db.publishing.blocks
564 | db.technical.blocks
571 | db.admonition.blocks
572 db.para.blocks = db.anchor | db.para | db.formalpara | db.simpara
574 (db.nopara.blocks | db.para.blocks | db.extension.blocks)
577 db.formal.blocks = (db.example | db.figure | db.table) | db.equation
579 (db.informalexample | db.informalfigure | db.informaltable)
580 | db.informalequation
581 db.publishing.blocks =
582 db.sidebar | db.blockquote | db.address | db.epigraph
583 db.graphic.blocks = db.mediaobject | db.screenshot
584 db.technical.blocks =
587 | (db.productionset | db.constraintdef)
601 (db.screen | db.literallayout)
602 | (db.programlistingco | db.screenco)
603 | (db.programlisting | db.synopsis)
604 db.extension.blocks = notAllowed
605 db.info.extension = db._any
645 | (db.bibliomisc | db.bibliomset | db.bibliorelation | db.biblioset)
647 | (db.productname | db.productnumber)
649 db.bibliographic.elements =
651 | db.publishing.inlines
662 db.title.role.attribute = attribute role { text }
664 db.title.role.attribute?
665 & db.common.attributes
666 & db.common.linking.attributes
669 ## The text of the title of a section of a document or of a formal block-level element
670 element title { db.title.attlist, db.all.inlines* }
673 db.titleabbrev.role.attribute = attribute role { text }
674 db.titleabbrev.attlist =
675 db.titleabbrev.role.attribute?
676 & db.common.attributes
677 & db.common.linking.attributes
680 ## The abbreviation of a title
681 element titleabbrev { db.titleabbrev.attlist, db.all.inlines* }
684 db.subtitle.role.attribute = attribute role { text }
685 db.subtitle.attlist =
686 db.subtitle.role.attribute?
687 & db.common.attributes
688 & db.common.linking.attributes
691 ## The subtitle of a document
692 element subtitle { db.subtitle.attlist, db.all.inlines* }
695 db.info.role.attribute = attribute role { text }
696 db.info.attlist = db.info.role.attribute? & db.common.attributes
699 ## A wrapper for information about a component or other block
700 element info { db.info.attlist, (db._title & db.info.elements*) }
703 db.titlereq.info.role.attribute = attribute role { text }
704 db.titlereq.info.attlist =
705 db.titlereq.info.role.attribute? & db.common.attributes
708 ## A wrapper for information about a component or other block with a required title
710 db.titlereq.info.attlist, (db._title.req & db.info.elements*)
714 db.titleonly.info.role.attribute = attribute role { text }
715 db.titleonly.info.attlist =
716 db.titleonly.info.role.attribute? & db.common.attributes
719 ## A wrapper for information about a component or other block with only a title
721 db.titleonly.info.attlist, (db._title.only & db.info.elements*)
725 db.titleonlyreq.info.role.attribute = attribute role { text }
726 db.titleonlyreq.info.attlist =
727 db.titleonlyreq.info.role.attribute? & db.common.attributes
728 db.titleonlyreq.info =
730 ## A wrapper for information about a component or other block with only a required title
732 db.titleonlyreq.info.attlist,
733 (db._title.onlyreq & db.info.elements*)
737 db.titleforbidden.info.role.attribute = attribute role { text }
738 db.titleforbidden.info.attlist =
739 db.titleforbidden.info.role.attribute? & db.common.attributes
740 db.titleforbidden.info =
742 ## A wrapper for information about a component or other block without a title
743 element info { db.titleforbidden.info.attlist, db.info.elements* }
746 db.subjectset.role.attribute = attribute role { text }
747 db.subjectset.scheme.attribute =
749 ## Identifies the controlled vocabulary used by this set's terms
750 attribute scheme { xsd:NMTOKEN }
751 db.subjectset.attlist =
752 db.subjectset.role.attribute?
753 & db.common.attributes
754 & db.common.linking.attributes
755 & db.subjectset.scheme.attribute?
758 ## A set of terms describing the subject matter of a document
759 element subjectset { db.subjectset.attlist, db.subject+ }
762 db.subject.role.attribute = attribute role { text }
763 db.subject.weight.attribute =
765 ## Specifies a ranking for this subject relative to other subjects in the same set
766 attribute weight { text }
768 db.subject.role.attribute?
769 & db.common.attributes
770 & db.common.linking.attributes
771 & db.subject.weight.attribute?
774 ## One of a group of terms describing the subject matter of a document
775 element subject { db.subject.attlist, db.subjectterm+ }
778 db.subjectterm.role.attribute = attribute role { text }
779 db.subjectterm.attlist =
780 db.subjectterm.role.attribute?
781 & db.common.attributes
782 & db.common.linking.attributes
785 ## A term in a group of terms describing the subject matter of a document
786 element subjectterm { db.subjectterm.attlist, text }
789 db.keywordset.role.attribute = attribute role { text }
790 db.keywordset.attlist =
791 db.keywordset.role.attribute?
792 & db.common.attributes
793 & db.common.linking.attributes
796 ## A set of keywords describing the content of a document
797 element keywordset { db.keywordset.attlist, db.keyword+ }
800 db.keyword.role.attribute = attribute role { text }
802 db.keyword.role.attribute?
803 & db.common.attributes
804 & db.common.linking.attributes
807 ## One of a set of keywords describing the content of a document
808 element keyword { db.keyword.attlist, text }
810 db.table.choice = notAllowed | db.cals.table | db.html.table
811 db.informaltable.choice =
812 notAllowed | db.cals.informaltable | db.html.informaltable
813 db.table = db.table.choice
814 db.informaltable = db.informaltable.choice
816 db.procedure.role.attribute = attribute role { text }
817 db.procedure.attlist =
818 db.procedure.role.attribute?
819 & db.common.attributes
820 & db.common.linking.attributes
821 db.procedure.info = db._info.title.only
824 ## A list of operations to be performed in a well-defined sequence
826 db.procedure.attlist, db.procedure.info, db.all.blocks*, db.step+
830 db.step.role.attribute = attribute role { text }
832 db.step.role.attribute?
833 & db.common.attributes
834 & db.common.linking.attributes
835 & db.performance.attribute?
836 db.step.info = db._info.title.only
838 # This content model is blocks*, step|stepalternatives, blocks* but
839 # expressed this way it avoids UPA issues in XSD and DTD versions
842 ## A unit of action in a procedure
847 ((db.substeps | db.stepalternatives), db.all.blocks*)?)
848 | ((db.substeps | db.stepalternatives), db.all.blocks*))
852 db.stepalternatives.role.attribute = attribute role { text }
853 db.stepalternatives.attlist =
854 db.stepalternatives.role.attribute?
855 & db.common.attributes
856 & db.common.linking.attributes
857 & db.performance.attribute?
858 db.stepalternatives.info = db._info.title.forbidden
859 db.stepalternatives =
861 ## Alternative steps in a procedure
862 element stepalternatives {
863 db.stepalternatives.attlist, db.stepalternatives.info, db.step+
867 db.substeps.role.attribute = attribute role { text }
868 db.substeps.attlist =
869 db.substeps.role.attribute?
870 & db.common.attributes
871 & db.common.linking.attributes
872 & db.performance.attribute?
875 ## A wrapper for steps that occur within steps in a procedure
876 element substeps { db.substeps.attlist, db.step+ }
879 db.sidebar.role.attribute = attribute role { text }
881 db.sidebar.role.attribute?
882 & db.common.attributes
883 & db.common.linking.attributes
884 db.sidebar.info = db._info.title.only
887 ## A portion of a document that is isolated from the main narrative flow
890 name = "Element exclusion"
894 context = "db:sidebar"
898 test = "not(.//db:sidebar)"
899 "sidebar must not occur in the descendants of sidebar"
909 db.sidebar.attlist, db.sidebar.info, db.all.blocks+
913 db.abstract.role.attribute = attribute role { text }
914 db.abstract.attlist =
915 db.abstract.role.attribute?
916 & db.common.attributes
917 & db.common.linking.attributes
918 db.abstract.info = db._info.title.only
923 db.abstract.attlist, db.abstract.info, db.para.blocks+
927 db.personblurb.role.attribute = attribute role { text }
928 db.personblurb.attlist =
929 db.personblurb.role.attribute?
930 & db.common.attributes
931 & db.common.linking.attributes
932 db.personblurb.info = db._info.title.only
935 ## A short description or note about a person
936 element personblurb {
937 db.personblurb.attlist, db.personblurb.info, db.para.blocks+
941 db.blockquote.role.attribute = attribute role { text }
942 db.blockquote.attlist =
943 db.blockquote.role.attribute?
944 & db.common.attributes
945 & db.common.linking.attributes
946 db.blockquote.info = db._info.title.only
949 ## A quotation set off from the main text
951 db.blockquote.attlist,
958 db.attribution.role.attribute = attribute role { text }
959 db.attribution.attlist =
960 db.attribution.role.attribute?
961 & db.common.attributes
962 & db.common.linking.attributes
965 ## The source of a block quote or epigraph
966 element attribution {
967 db.attribution.attlist,
976 db.bridgehead.renderas.enumeration =
978 ## Render as a first-level section
981 ## Render as a second-level section
984 ## Render as a third-level section
987 ## Render as a fourth-level section
990 ## Render as a fifth-level section
992 db.bridgehead.renderas-enum.attribute =
994 ## Indicates how the bridge head should be rendered
995 attribute renderas { db.bridgehead.renderas.enumeration }?
996 db.bridgehead.renderas-other.attribute =
998 ## Identifies the nature of the non-standard rendering
999 attribute otherrenderas { xsd:NMTOKEN }
1000 db.bridgehead.renderas-other.attributes =
1002 ## Indicates how the bridge head should be rendered
1003 attribute renderas {
1005 ## Identifies a non-standard rendering
1008 & db.bridgehead.renderas-other.attribute
1009 db.bridgehead.renderas.attribute =
1010 db.bridgehead.renderas-enum.attribute
1011 | db.bridgehead.renderas-other.attributes
1012 db.bridgehead.role.attribute = attribute role { text }
1013 db.bridgehead.attlist =
1014 db.bridgehead.role.attribute?
1015 & db.common.attributes
1016 & db.common.linking.attributes
1017 & db.bridgehead.renderas.attribute?
1020 ## A free-floating heading
1021 element bridgehead { db.bridgehead.attlist, db.all.inlines* }
1024 db.remark.role.attribute = attribute role { text }
1026 db.remark.role.attribute?
1027 & db.common.attributes
1028 & db.common.linking.attributes
1031 ## A remark (or comment) intended for presentation in a draft manuscript
1032 element remark { db.remark.attlist, db._text }
1035 db.epigraph.role.attribute = attribute role { text }
1036 db.epigraph.attlist =
1037 db.epigraph.role.attribute?
1038 & db.common.attributes
1039 & db.common.linking.attributes
1040 db.epigraph.info = db._info.title.forbidden
1043 ## A short inscription at the beginning of a document or component
1045 db.epigraph.attlist,
1048 (db.para.blocks | db.literallayout)+
1052 db.footnote.role.attribute = attribute role { text }
1053 db.footnote.label.attribute =
1055 ## Identifies the desired footnote mark
1056 attribute label { xsd:NMTOKEN }
1057 db.footnote.attlist =
1058 db.footnote.role.attribute?
1059 & db.common.attributes
1060 & db.common.linking.attributes
1061 & db.footnote.label.attribute?
1067 name = "Element exclusion"
1071 context = "db:footnote"
1075 test = "not(.//db:footnote)"
1076 "footnote must not occur in the descendants of footnote"
1085 name = "Element exclusion"
1089 context = "db:footnote"
1093 test = "not(.//db:example)"
1094 "example must not occur in the descendants of footnote"
1103 name = "Element exclusion"
1107 context = "db:footnote"
1111 test = "not(.//db:figure)"
1112 "figure must not occur in the descendants of footnote"
1121 name = "Element exclusion"
1125 context = "db:footnote"
1129 test = "not(.//db:table)"
1130 "table must not occur in the descendants of footnote"
1139 name = "Element exclusion"
1143 context = "db:footnote"
1147 test = "not(.//db:equation)"
1148 "equation must not occur in the descendants of footnote"
1157 name = "Element exclusion"
1161 context = "db:footnote"
1165 test = "not(.//db:indexterm)"
1166 "indexterm must not occur in the descendants of footnote"
1175 name = "Element exclusion"
1179 context = "db:footnote"
1183 test = "not(.//db:sidebar)"
1184 "sidebar must not occur in the descendants of footnote"
1193 name = "Element exclusion"
1197 context = "db:footnote"
1201 test = "not(.//db:task)"
1202 "task must not occur in the descendants of footnote"
1211 name = "Element exclusion"
1215 context = "db:footnote"
1219 test = "not(.//db:epigraph)"
1220 "epigraph must not occur in the descendants of footnote"
1229 name = "Element exclusion"
1233 context = "db:footnote"
1237 test = "not(.//db:caution)"
1238 "caution must not occur in the descendants of footnote"
1247 name = "Element exclusion"
1251 context = "db:footnote"
1255 test = "not(.//db:important)"
1256 "important must not occur in the descendants of footnote"
1265 name = "Element exclusion"
1269 context = "db:footnote"
1273 test = "not(.//db:note)"
1274 "note must not occur in the descendants of footnote"
1283 name = "Element exclusion"
1287 context = "db:footnote"
1291 test = "not(.//db:tip)"
1292 "tip must not occur in the descendants of footnote"
1301 name = "Element exclusion"
1305 context = "db:footnote"
1309 test = "not(.//db:warning)"
1310 "warning must not occur in the descendants of footnote"
1319 element footnote { db.footnote.attlist, db.all.blocks+ }
1322 db.formalpara.role.attribute = attribute role { text }
1323 db.formalpara.attlist =
1324 db.formalpara.role.attribute?
1325 & db.common.attributes
1326 & db.common.linking.attributes
1327 db.formalpara.info = db._info.title.onlyreq
1330 ## A paragraph with a title
1331 element formalpara {
1332 db.formalpara.attlist,
1334 db.indexing.inlines*,
1339 db.para.role.attribute = attribute role { text }
1341 db.para.role.attribute?
1342 & db.common.attributes
1343 & db.common.linking.attributes
1344 db.para.info = db._info.title.forbidden
1350 name = "Root must have version"
1354 context = "/db:para"
1359 "The root element must have a version attribute."
1371 (db.all.inlines | db.nopara.blocks)*
1375 db.simpara.role.attribute = attribute role { text }
1376 db.simpara.attlist =
1377 db.simpara.role.attribute?
1378 & db.common.attributes
1379 & db.common.linking.attributes
1380 db.simpara.info = db._info.title.forbidden
1383 ## A paragraph that contains only text and inline markup, no block elements
1385 db.simpara.attlist, db.simpara.info, db.all.inlines*
1389 db.itemizedlist.role.attribute = attribute role { text }
1390 db.itemizedlist.mark.attribute =
1392 ## Identifies the type of mark to be used on items in this list
1393 attribute mark { xsd:NMTOKEN }
1394 db.itemizedlist.attlist =
1395 db.itemizedlist.role.attribute?
1396 & db.common.attributes
1397 & db.common.linking.attributes
1398 & db.spacing.attribute?
1399 & db.itemizedlist.mark.attribute?
1400 db.itemizedlist.info = db._info.title.only
1403 ## A list in which each entry is marked with a bullet or other dingbat
1404 element itemizedlist {
1405 db.itemizedlist.attlist,
1406 db.itemizedlist.info,
1412 db.orderedlist.role.attribute = attribute role { text }
1413 db.orderedlist.continuation.enumeration =
1415 ## Specifies that numbering should begin where the preceding list left off
1418 ## Specifies that numbering should begin again at 1
1420 db.orderedlist.continuation.attribute =
1422 ## Indicates how list numbering should begin relative to the immediately preceding list
1423 attribute continuation { db.orderedlist.continuation.enumeration }
1424 db.orderedlist.startingnumber.attribute =
1426 ## Specifies the initial line number.
1427 attribute startingnumber { xsd:integer }
1428 db.orderedlist.inheritnum.enumeration =
1430 ## Specifies that numbering should ignore list nesting
1433 ## Specifies that numbering should inherit from outer-level lists
1435 db.orderedlist.inheritnum.attribute =
1437 ## Indicates whether or not item numbering should be influenced by list nesting
1438 attribute inheritnum { db.orderedlist.inheritnum.enumeration }
1439 db.orderedlist.numeration.enumeration =
1441 ## Specifies Arabic numeration (1, 2, 3, …)
1444 ## Specifies upper-case alphabetic numeration (A, B, C, …)
1447 ## Specifies lower-case alphabetic numeration (a, b, c, …)
1450 ## Specifies upper-case Roman numeration (I, II, III, …)
1453 ## Specifies lower-case Roman numeration (i, ii, iii …)
1455 db.orderedlist.numeration.attribute =
1457 ## Indicates the desired numeration
1458 attribute numeration { db.orderedlist.numeration.enumeration }
1459 db.orderedlist.attlist =
1460 db.orderedlist.role.attribute?
1461 & db.common.attributes
1462 & db.common.linking.attributes
1463 & db.spacing.attribute?
1464 & (db.orderedlist.continuation.attribute
1465 | db.orderedlist.startingnumber.attribute)?
1466 & db.orderedlist.inheritnum.attribute?
1467 & db.orderedlist.numeration.attribute?
1468 db.orderedlist.info = db._info.title.only
1471 ## A list in which each entry is marked with a sequentially incremented label
1472 element orderedlist {
1473 db.orderedlist.attlist,
1474 db.orderedlist.info,
1480 db.listitem.role.attribute = attribute role { text }
1481 db.listitem.override.attribute =
1483 ## Specifies the keyword for the type of mark that should be used on this
1484 ## item, instead of the mark that would be used by default
1485 attribute override { xsd:NMTOKEN }
1486 db.listitem.attlist =
1487 db.listitem.role.attribute?
1488 & db.common.attributes
1489 & db.common.linking.attributes
1490 & db.listitem.override.attribute?
1493 ## A wrapper for the elements of a list item
1494 element listitem { db.listitem.attlist, db.all.blocks+ }
1497 db.segmentedlist.role.attribute = attribute role { text }
1498 db.segmentedlist.attlist =
1499 db.segmentedlist.role.attribute?
1500 & db.common.attributes
1501 & db.common.linking.attributes
1502 db.segmentedlist.info = db._info.title.only
1505 ## A segmented list, a list of sets of elements
1506 element segmentedlist {
1507 db.segmentedlist.attlist,
1508 db.segmentedlist.info,
1514 db.segtitle.role.attribute = attribute role { text }
1515 db.segtitle.attlist =
1516 db.segtitle.role.attribute?
1517 & db.common.attributes
1518 & db.common.linking.attributes
1521 ## The title of an element of a list item in a segmented list
1522 element segtitle { db.segtitle.attlist, db.all.inlines* }
1525 db.seglistitem.role.attribute = attribute role { text }
1526 db.seglistitem.attlist =
1527 db.seglistitem.role.attribute?
1528 & db.common.attributes
1529 & db.common.linking.attributes
1532 ## A list item in a segmented list
1535 name = "Cardinality of segments and titles"
1539 context = "db:seglistitem"
1543 test = "count(db:seg) = count(../db:segtitle)"
1544 "The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist"
1553 element seglistitem { db.seglistitem.attlist, db.seg+ }
1556 db.seg.role.attribute = attribute role { text }
1558 db.seg.role.attribute?
1559 & db.common.attributes
1560 & db.common.linking.attributes
1563 ## An element of a list item in a segmented list
1564 element seg { db.seg.attlist, db.all.inlines* }
1567 db.simplelist.role.attribute = attribute role { text }
1568 db.simplelist.type.enumeration =
1570 ## A tabular presentation in row-major order.
1573 ## A tabular presentation in column-major order.
1576 ## An inline presentation, usually a comma-delimited list.
1578 db.simplelist.type.attribute =
1580 ## Specifies the type of list presentation.
1581 [ a:defaultValue = "vert" ]
1582 attribute type { db.simplelist.type.enumeration }
1583 db.simplelist.columns.attribute =
1585 ## Specifies the number of columns for horizontal or vertical presentation
1586 attribute columns { xsd:integer }
1587 db.simplelist.attlist =
1588 db.simplelist.role.attribute?
1589 & db.common.attributes
1590 & db.common.linking.attributes
1591 & db.simplelist.type.attribute?
1592 & db.simplelist.columns.attribute?
1595 ## An undecorated list of single words or short phrases
1596 element simplelist { db.simplelist.attlist, db.member+ }
1599 db.member.role.attribute = attribute role { text }
1601 db.member.role.attribute?
1602 & db.common.attributes
1603 & db.common.linking.attributes
1606 ## An element of a simple list
1607 element member { db.member.attlist, db.all.inlines* }
1610 db.variablelist.role.attribute = attribute role { text }
1611 db.variablelist.termlength.attribute =
1613 ## Indicates a length beyond which the presentation system may consider a term too long and select an alternate presentation for that term, item, or list
1614 attribute termlength { text }
1615 db.variablelist.attlist =
1616 db.variablelist.role.attribute?
1617 & db.common.attributes
1618 & db.common.linking.attributes
1619 & db.spacing.attribute?
1620 & db.variablelist.termlength.attribute?
1621 db.variablelist.info = db._info.title.only
1624 ## A list in which each entry is composed of a set of one or more terms and an associated description
1625 element variablelist {
1626 db.variablelist.attlist,
1627 db.variablelist.info,
1633 db.varlistentry.role.attribute = attribute role { text }
1634 db.varlistentry.attlist =
1635 db.varlistentry.role.attribute?
1636 & db.common.attributes
1637 & db.common.linking.attributes
1640 ## A wrapper for a set of terms and the associated description in a variable list
1641 element varlistentry {
1642 db.varlistentry.attlist, db.term+, db.listitem
1646 db.term.role.attribute = attribute role { text }
1648 db.term.role.attribute?
1649 & db.common.attributes
1650 & db.common.linking.attributes
1653 ## The word or phrase being defined or described in a variable list
1654 element term { db.term.attlist, db.all.inlines* }
1657 db.example.role.attribute = attribute role { text }
1658 db.example.label.attribute = db.label.attribute
1659 db.example.width.attribute = db.width.characters.attribute
1660 db.example.pgwide.attribute = db.pgwide.attribute
1661 db.example.floatstyle.attribute = db.floatstyle.attribute
1662 db.example.attlist =
1663 db.example.role.attribute?
1664 & db.common.attributes
1665 & db.common.linking.attributes
1666 & db.example.label.attribute?
1667 & db.example.floatstyle.attribute?
1668 & (db.example.width.attribute | db.example.pgwide.attribute)?
1669 db.example.info = db._info.title.onlyreq
1672 ## A formal example, with a title
1675 name = "Element exclusion"
1679 context = "db:example"
1683 test = "not(.//db:example)"
1684 "example must not occur in the descendants of example"
1693 name = "Element exclusion"
1697 context = "db:example"
1701 test = "not(.//db:figure)"
1702 "figure must not occur in the descendants of example"
1711 name = "Element exclusion"
1715 context = "db:example"
1719 test = "not(.//db:table)"
1720 "table must not occur in the descendants of example"
1729 name = "Element exclusion"
1733 context = "db:example"
1737 test = "not(.//db:equation)"
1738 "equation must not occur in the descendants of example"
1747 name = "Element exclusion"
1751 context = "db:example"
1755 test = "not(.//db:caution)"
1756 "caution must not occur in the descendants of example"
1765 name = "Element exclusion"
1769 context = "db:example"
1773 test = "not(.//db:important)"
1774 "important must not occur in the descendants of example"
1783 name = "Element exclusion"
1787 context = "db:example"
1791 test = "not(.//db:note)"
1792 "note must not occur in the descendants of example"
1801 name = "Element exclusion"
1805 context = "db:example"
1809 test = "not(.//db:tip)"
1810 "tip must not occur in the descendants of example"
1819 name = "Element exclusion"
1823 context = "db:example"
1827 test = "not(.//db:warning)"
1828 "warning must not occur in the descendants of example"
1838 db.example.attlist, db.example.info, db.all.blocks+, db.caption?
1842 db.informalexample.role.attribute = attribute role { text }
1843 db.informalexample.width.attribute = db.width.characters.attribute
1844 db.informalexample.floatstyle.attribute = db.floatstyle.attribute
1845 db.informalexample.attlist =
1846 db.informalexample.role.attribute?
1847 & db.common.attributes
1848 & db.common.linking.attributes
1849 & db.informalexample.floatstyle.attribute?
1850 & db.informalexample.width.attribute?
1851 db.informalexample.info = db._info.title.forbidden
1852 db.informalexample =
1854 ## A displayed example without a title
1855 element informalexample {
1856 db.informalexample.attlist,
1857 db.informalexample.info,
1862 db.verbatim.inlines = (db.all.inlines | db.lineannotation) | db.co
1863 db.verbatim.contentmodel =
1864 db._info.title.forbidden, (db.textobject | db.verbatim.inlines*)
1866 db.literallayout.role.attribute = attribute role { text }
1867 db.literallayout.class.enumeration =
1869 ## The literal layout should be formatted with a monospaced font
1872 ## The literal layout should be formatted with the current font
1874 db.literallayout.class.attribute =
1876 ## Specifies the class of literal layout
1877 attribute class { db.literallayout.class.enumeration }
1878 db.literallayout.attlist =
1879 db.literallayout.role.attribute?
1880 & db.common.attributes
1881 & db.common.linking.attributes
1882 & db.verbatim.attributes
1883 & db.literallayout.class.attribute?
1886 ## A block of text in which line breaks and white space are to be reproduced faithfully
1887 element literallayout {
1888 db.literallayout.attlist, db.verbatim.contentmodel
1892 db.screen.role.attribute = attribute role { text }
1893 db.screen.width.attribute = db.width.characters.attribute
1895 db.screen.role.attribute?
1896 & db.common.attributes
1897 & db.common.linking.attributes
1898 & db.verbatim.attributes
1899 & db.screen.width.attribute?
1902 ## Text that a user sees or might see on a computer screen
1903 element screen { db.screen.attlist, db.verbatim.contentmodel }
1906 db.screenshot.role.attribute = attribute role { text }
1907 db.screenshot.attlist =
1908 db.screenshot.role.attribute?
1909 & db.common.attributes
1910 & db.common.linking.attributes
1911 db.screenshot.info = db._info
1914 ## A representation of what the user sees or might see on a computer screen
1915 element screenshot {
1916 db.screenshot.attlist, db.screenshot.info, db.mediaobject
1920 db.figure.role.attribute = attribute role { text }
1921 db.figure.label.attribute = db.label.attribute
1922 db.figure.pgwide.attribute = db.pgwide.attribute
1923 db.figure.floatstyle.attribute = db.floatstyle.attribute
1925 db.figure.role.attribute?
1926 & db.common.attributes
1927 & db.common.linking.attributes
1928 & db.figure.label.attribute?
1929 & db.figure.pgwide.attribute?
1930 & db.figure.floatstyle.attribute?
1931 db.figure.info = db._info.title.onlyreq
1934 ## A formal figure, generally an illustration, with a title
1937 name = "Element exclusion"
1941 context = "db:figure"
1945 test = "not(.//db:example)"
1946 "example must not occur in the descendants of figure"
1955 name = "Element exclusion"
1959 context = "db:figure"
1963 test = "not(.//db:figure)"
1964 "figure must not occur in the descendants of figure"
1973 name = "Element exclusion"
1977 context = "db:figure"
1981 test = "not(.//db:table)"
1982 "table must not occur in the descendants of figure"
1991 name = "Element exclusion"
1995 context = "db:figure"
1999 test = "not(.//db:equation)"
2000 "equation must not occur in the descendants of figure"
2009 name = "Element exclusion"
2013 context = "db:figure"
2017 test = "not(.//db:caution)"
2018 "caution must not occur in the descendants of figure"
2027 name = "Element exclusion"
2031 context = "db:figure"
2035 test = "not(.//db:important)"
2036 "important must not occur in the descendants of figure"
2045 name = "Element exclusion"
2049 context = "db:figure"
2053 test = "not(.//db:note)"
2054 "note must not occur in the descendants of figure"
2063 name = "Element exclusion"
2067 context = "db:figure"
2071 test = "not(.//db:tip)"
2072 "tip must not occur in the descendants of figure"
2081 name = "Element exclusion"
2085 context = "db:figure"
2089 test = "not(.//db:warning)"
2090 "warning must not occur in the descendants of figure"
2100 db.figure.attlist, db.figure.info, db.all.blocks+, db.caption?
2104 db.informalfigure.role.attribute = attribute role { text }
2105 db.informalfigure.label.attribute = db.label.attribute
2106 db.informalfigure.pgwide.attribute = db.pgwide.attribute
2107 db.informalfigure.floatstyle.attribute = db.floatstyle.attribute
2108 db.informalfigure.attlist =
2109 db.informalfigure.role.attribute?
2110 & db.common.attributes
2111 & db.common.linking.attributes
2112 & db.informalfigure.label.attribute?
2113 & db.informalfigure.pgwide.attribute?
2114 & db.informalfigure.floatstyle.attribute?
2115 db.informalfigure.info = db._info.title.forbidden
2118 ## A untitled figure
2119 element informalfigure {
2120 db.informalfigure.attlist,
2121 db.informalfigure.info,
2126 db.mediaobject.content =
2127 (db.videoobject | db.audioobject | db.imageobject | db.textobject)
2130 db.mediaobject.role.attribute = attribute role { text }
2131 db.mediaobject.attlist =
2132 db.mediaobject.role.attribute?
2133 & db.common.attributes
2134 & db.common.linking.attributes
2135 db.mediaobject.info = db._info.title.forbidden
2138 ## A displayed media object (video, audio, image, etc.)
2139 element mediaobject {
2140 db.mediaobject.attlist,
2141 db.mediaobject.info,
2143 db.mediaobject.content+,
2148 db.inlinemediaobject.role.attribute = attribute role { text }
2149 db.inlinemediaobject.attlist =
2150 db.inlinemediaobject.role.attribute?
2151 & db.common.attributes
2152 & db.common.linking.attributes
2153 db.inlinemediaobject.info = db._info.title.forbidden
2154 db.inlinemediaobject =
2156 ## An inline media object (video, audio, image, and so on)
2157 element inlinemediaobject {
2158 db.inlinemediaobject.attlist,
2159 db.inlinemediaobject.info,
2161 db.mediaobject.content+
2165 db.videoobject.role.attribute = attribute role { text }
2166 db.videoobject.attlist =
2167 db.videoobject.role.attribute?
2168 & db.common.attributes
2169 & db.common.linking.attributes
2170 db.videoobject.info = db._info.title.forbidden
2173 ## A wrapper for video data and its associated meta-information
2174 element videoobject {
2175 db.videoobject.attlist, db.videoobject.info, db.videodata
2179 db.audioobject.role.attribute = attribute role { text }
2180 db.audioobject.attlist =
2181 db.audioobject.role.attribute?
2182 & db.common.attributes
2183 & db.common.linking.attributes
2184 db.audioobject.info = db._info.title.forbidden
2187 ## A wrapper for audio data and its associated meta-information
2188 element audioobject {
2189 db.audioobject.attlist, db.audioobject.info, db.audiodata
2192 db.imageobject.content =
2193 db.imagedata | db.imagedata.mathml | db.imagedata.svg
2195 db.imageobject.role.attribute = attribute role { text }
2196 db.imageobject.attlist =
2197 db.imageobject.role.attribute?
2198 & db.common.attributes
2199 & db.common.linking.attributes
2200 db.imageobject.info = db._info.title.forbidden
2203 ## A wrapper for image data and its associated meta-information
2204 element imageobject {
2205 db.imageobject.attlist,
2206 db.imageobject.info,
2207 db.imageobject.content
2211 db.textobject.role.attribute = attribute role { text }
2212 db.textobject.attlist =
2213 db.textobject.role.attribute?
2214 & db.common.attributes
2215 & db.common.linking.attributes
2216 db.textobject.info = db._info.title.forbidden
2219 ## A wrapper for a text description of an object and its associated meta-information
2220 element textobject {
2221 db.textobject.attlist,
2223 (db.phrase | db.textdata | db.all.blocks+)
2227 db.videodata.role.attribute = attribute role { text }
2228 db.videodata.align.enumeration = db.halign.enumeration
2229 db.videodata.align.attribute =
2231 ## Specifies the (horizontal) alignment of the video data
2232 attribute align { db.videodata.align.enumeration }
2233 db.videodata.valign.enumeration = db.valign.enumeration
2234 db.videodata.valign.attribute =
2236 ## Specifies the vertical alignment of the video data
2237 attribute valign { db.videodata.valign.enumeration }
2238 db.videodata.width.attribute = db.width.attribute
2239 db.videodata.depth.attribute = db.depth.attribute
2240 db.videodata.contentwidth.attribute = db.contentwidth.attribute
2241 db.videodata.contentdepth.attribute = db.contentdepth.attribute
2242 db.videodata.scalefit.enumeration = db.scalefit.enumeration
2243 db.videodata.scalefit.attribute =
2245 ## Determines if anamorphic scaling is forbidden
2246 attribute scalefit { db.videodata.scalefit.enumeration }
2247 db.videodata.scale.attribute = db.scale.attribute
2248 db.videodata.attlist =
2249 db.videodata.role.attribute?
2250 & db.common.attributes
2251 & db.common.data.attributes
2252 & db.videodata.align.attribute?
2253 & db.videodata.valign.attribute?
2254 & db.videodata.width.attribute?
2255 & db.videodata.contentwidth.attribute?
2256 & db.videodata.scalefit.attribute?
2257 & db.videodata.scale.attribute?
2258 & db.videodata.depth.attribute?
2259 & db.videodata.contentdepth.attribute?
2260 db.videodata.info = db._info.title.forbidden
2263 ## Pointer to external video data
2264 element videodata { db.videodata.attlist, db.videodata.info }
2267 db.audiodata.role.attribute = attribute role { text }
2268 db.audiodata.attlist =
2269 db.audiodata.role.attribute?
2270 & db.common.attributes
2271 & db.common.data.attributes
2272 db.audiodata.info = db._info.title.forbidden
2275 ## Pointer to external audio data
2276 element audiodata { db.audiodata.attlist, db.audiodata.info }
2279 db.imagedata.role.attribute = attribute role { text }
2280 db.imagedata.align.enumeration = db.halign.enumeration
2281 db.imagedata.align.attribute =
2283 ## Specifies the (horizontal) alignment of the image data
2284 attribute align { db.imagedata.align.enumeration }
2285 db.imagedata.valign.enumeration = db.valign.enumeration
2286 db.imagedata.valign.attribute =
2288 ## Specifies the vertical alignment of the image data
2289 attribute valign { db.imagedata.valign.enumeration }
2290 db.imagedata.width.attribute = db.width.attribute
2291 db.imagedata.depth.attribute = db.depth.attribute
2292 db.imagedata.contentwidth.attribute = db.contentwidth.attribute
2293 db.imagedata.contentdepth.attribute = db.contentdepth.attribute
2294 db.imagedata.scalefit.enumeration = db.scalefit.enumeration
2295 db.imagedata.scalefit.attribute =
2297 ## Determines if anamorphic scaling is forbidden
2298 attribute scalefit { db.imagedata.scalefit.enumeration }
2299 db.imagedata.scale.attribute = db.scale.attribute
2300 db.imagedata.attlist =
2301 db.imagedata.role.attribute?
2302 & db.common.attributes
2303 & db.common.data.attributes
2304 & db.imagedata.align.attribute?
2305 & db.imagedata.valign.attribute?
2306 & db.imagedata.width.attribute?
2307 & db.imagedata.contentwidth.attribute?
2308 & db.imagedata.scalefit.attribute?
2309 & db.imagedata.scale.attribute?
2310 & db.imagedata.depth.attribute?
2311 & db.imagedata.contentdepth.attribute?
2312 db.imagedata.info = db._info.title.forbidden
2315 ## Pointer to external image data
2316 element imagedata { db.imagedata.attlist, db.imagedata.info }
2319 db.textdata.role.attribute = attribute role { text }
2320 db.textdata.encoding.attribute =
2322 ## Identifies the encoding of the text in the external file
2323 attribute encoding { text }
2324 db.textdata.attlist =
2325 db.textdata.role.attribute?
2326 & db.common.attributes
2327 & db.common.data.attributes
2328 & db.textdata.encoding.attribute?
2329 db.textdata.info = db._info.title.forbidden
2332 ## Pointer to external text data
2333 element textdata { db.textdata.attlist, db.textdata.info }
2336 db.caption.role.attribute = attribute role { text }
2337 db.caption.attlist =
2338 db.caption.role.attribute?
2339 & db.common.attributes
2340 & db.common.linking.attributes
2341 db.caption.info = db._info.title.forbidden
2347 name = "Element exclusion"
2351 context = "db:caption"
2355 test = "not(.//db:example)"
2356 "example must not occur in the descendants of caption"
2365 name = "Element exclusion"
2369 context = "db:caption"
2373 test = "not(.//db:figure)"
2374 "figure must not occur in the descendants of caption"
2383 name = "Element exclusion"
2387 context = "db:caption"
2391 test = "not(.//db:table)"
2392 "table must not occur in the descendants of caption"
2401 name = "Element exclusion"
2405 context = "db:caption"
2409 test = "not(.//db:equation)"
2410 "equation must not occur in the descendants of caption"
2419 name = "Element exclusion"
2423 context = "db:caption"
2427 test = "not(.//db:sidebar)"
2428 "sidebar must not occur in the descendants of caption"
2437 name = "Element exclusion"
2441 context = "db:caption"
2445 test = "not(.//db:task)"
2446 "task must not occur in the descendants of caption"
2455 name = "Element exclusion"
2459 context = "db:caption"
2463 test = "not(.//db:caution)"
2464 "caution must not occur in the descendants of caption"
2473 name = "Element exclusion"
2477 context = "db:caption"
2481 test = "not(.//db:important)"
2482 "important must not occur in the descendants of caption"
2491 name = "Element exclusion"
2495 context = "db:caption"
2499 test = "not(.//db:note)"
2500 "note must not occur in the descendants of caption"
2509 name = "Element exclusion"
2513 context = "db:caption"
2517 test = "not(.//db:tip)"
2518 "tip must not occur in the descendants of caption"
2527 name = "Element exclusion"
2531 context = "db:caption"
2535 test = "not(.//db:warning)"
2536 "warning must not occur in the descendants of caption"
2546 db.caption.attlist, db.caption.info, db.all.blocks+
2550 db.address.role.attribute = attribute role { text }
2551 db.address.attlist =
2552 db.address.role.attribute?
2553 & db.common.attributes
2554 & db.common.linking.attributes
2555 & db.verbatim.attributes
2558 ## A real-world address, generally a postal address
2577 db.street.role.attribute = attribute role { text }
2579 db.street.role.attribute?
2580 & db.common.attributes
2581 & db.common.linking.attributes
2584 ## A street address in an address
2585 element street { db.street.attlist, db._text }
2588 db.pob.role.attribute = attribute role { text }
2590 db.pob.role.attribute?
2591 & db.common.attributes
2592 & db.common.linking.attributes
2595 ## A post office box in an address
2596 element pob { db.pob.attlist, db._text }
2599 db.postcode.role.attribute = attribute role { text }
2600 db.postcode.attlist =
2601 db.postcode.role.attribute?
2602 & db.common.attributes
2603 & db.common.linking.attributes
2606 ## A postal code in an address
2607 element postcode { db.postcode.attlist, db._text }
2610 db.city.role.attribute = attribute role { text }
2612 db.city.role.attribute?
2613 & db.common.attributes
2614 & db.common.linking.attributes
2617 ## The name of a city in an address
2618 element city { db.city.attlist, db._text }
2621 db.state.role.attribute = attribute role { text }
2623 db.state.role.attribute?
2624 & db.common.attributes
2625 & db.common.linking.attributes
2628 ## A state or province in an address
2629 element state { db.state.attlist, db._text }
2632 db.country.role.attribute = attribute role { text }
2633 db.country.attlist =
2634 db.country.role.attribute?
2635 & db.common.attributes
2636 & db.common.linking.attributes
2639 ## The name of a country
2640 element country { db.country.attlist, db._text }
2643 db.phone.role.attribute = attribute role { text }
2645 db.phone.role.attribute?
2646 & db.common.attributes
2647 & db.common.linking.attributes
2650 ## A telephone number
2651 element phone { db.phone.attlist, db._text }
2654 db.fax.role.attribute = attribute role { text }
2656 db.fax.role.attribute?
2657 & db.common.attributes
2658 & db.common.linking.attributes
2662 element fax { db.fax.attlist, db._text }
2665 db.otheraddr.role.attribute = attribute role { text }
2666 db.otheraddr.attlist =
2667 db.otheraddr.role.attribute?
2668 & db.common.attributes
2669 & db.common.linking.attributes
2672 ## Uncategorized information in address
2673 element otheraddr { db.otheraddr.attlist, db._text }
2676 db.affiliation.role.attribute = attribute role { text }
2677 db.affiliation.attlist =
2678 db.affiliation.role.attribute?
2679 & db.common.attributes
2680 & db.common.linking.attributes
2683 ## The institutional affiliation of an individual
2684 element affiliation {
2685 db.affiliation.attlist,
2688 (db.org? | (db.orgname?, db.orgdiv*, db.address*))
2692 db.shortaffil.role.attribute = attribute role { text }
2693 db.shortaffil.attlist =
2694 db.shortaffil.role.attribute?
2695 & db.common.attributes
2696 & db.common.linking.attributes
2699 ## A brief description of an affiliation
2700 element shortaffil { db.shortaffil.attlist, db._text }
2703 db.jobtitle.role.attribute = attribute role { text }
2704 db.jobtitle.attlist =
2705 db.jobtitle.role.attribute?
2706 & db.common.attributes
2707 & db.common.linking.attributes
2710 ## The title of an individual in an organization
2711 element jobtitle { db.jobtitle.attlist, db._text }
2714 db.orgname.class.enumeration =
2722 ## An informal organization
2725 ## A non-profit organization
2727 db.orgname.class-enum.attribute =
2729 ## Specifies the nature of the organization
2730 attribute class { db.orgname.class.enumeration }
2731 db.orgname.class-other.attributes =
2733 ## Specifies the nature of the organization
2736 ## Indicates a non-standard organization class
2740 ## Identifies the non-standard nature of the organization
2741 attribute otherclass { text }
2742 db.orgname.class.attribute =
2743 db.orgname.class-enum.attribute | db.orgname.class-other.attributes
2744 db.orgname.role.attribute = attribute role { text }
2745 db.orgname.attlist =
2746 db.orgname.role.attribute?
2747 & db.common.attributes
2748 & db.common.linking.attributes
2749 & db.orgname.class.attribute?
2752 ## The name of an organization
2753 element orgname { db.orgname.attlist, db._text }
2756 db.orgdiv.role.attribute = attribute role { text }
2758 db.orgdiv.role.attribute?
2759 & db.common.attributes
2760 & db.common.linking.attributes
2763 ## A division of an organization
2764 element orgdiv { db.orgdiv.attlist, db.all.inlines* }
2767 db.artpagenums.role.attribute = attribute role { text }
2768 db.artpagenums.attlist =
2769 db.artpagenums.role.attribute?
2770 & db.common.attributes
2771 & db.common.linking.attributes
2774 ## The page numbers of an article as published
2775 element artpagenums { db.artpagenums.attlist, db._text }
2778 db.personname.role.attribute = attribute role { text }
2779 db.personname.attlist =
2780 db.personname.role.attribute?
2781 & db.common.attributes
2782 & db.common.linking.attributes
2785 ## The personal name of an individual
2786 element personname {
2787 db.personname.attlist,
2796 db.person.author.contentmodel =
2804 db.org.author.contentmodel =
2812 db.credit.contentmodel =
2813 db.person.author.contentmodel | db.org.author.contentmodel
2815 db.author.role.attribute = attribute role { text }
2817 db.author.role.attribute?
2818 & db.common.attributes
2819 & db.common.linking.attributes
2822 ## The name of an individual author
2823 element author { db.author.attlist, db.credit.contentmodel }
2826 db.authorgroup.role.attribute = attribute role { text }
2827 db.authorgroup.attlist =
2828 db.authorgroup.role.attribute?
2829 & db.common.attributes
2830 & db.common.linking.attributes
2833 ## Wrapper for author information when a document has multiple authors or collabarators
2834 element authorgroup {
2835 db.authorgroup.attlist, (db.author | db.editor | db.othercredit)+
2839 db.collab.role.attribute = attribute role { text }
2841 db.collab.role.attribute?
2842 & db.common.attributes
2843 & db.common.linking.attributes
2846 ## Identifies a collaborator
2849 (db.person | db.personname | db.org | db.orgname)+,
2854 db.authorinitials.role.attribute = attribute role { text }
2855 db.authorinitials.attlist =
2856 db.authorinitials.role.attribute?
2857 & db.common.attributes
2858 & db.common.linking.attributes
2861 ## The initials or other short identifier for an author
2862 element authorinitials { db.authorinitials.attlist, db._text }
2865 db.person.role.attribute = attribute role { text }
2867 db.person.role.attribute?
2868 & db.common.attributes
2869 & db.common.linking.attributes
2872 ## A person and associated metadata
2884 db.org.role.attribute = attribute role { text }
2886 db.org.role.attribute?
2887 & db.common.attributes
2888 & db.common.linking.attributes
2891 ## An organization and associated metadata
2895 (db.address | db.affiliation | db.email | db.uri | db.orgdiv)*
2899 db.confgroup.role.attribute = attribute role { text }
2900 db.confgroup.attlist =
2901 db.confgroup.role.attribute?
2902 & db.common.attributes
2903 & db.common.linking.attributes
2906 ## A wrapper for document meta-information about a conference
2908 db.confgroup.attlist,
2917 db.confdates.role.attribute = attribute role { text }
2918 db.confdates.attlist =
2919 db.confdates.role.attribute?
2920 & db.common.attributes
2921 & db.common.linking.attributes
2924 ## The dates of a conference for which a document was written
2925 element confdates { db.confdates.attlist, db._text }
2928 db.conftitle.role.attribute = attribute role { text }
2929 db.conftitle.attlist =
2930 db.conftitle.role.attribute?
2931 & db.common.attributes
2932 & db.common.linking.attributes
2935 ## The title of a conference for which a document was written
2936 element conftitle { db.conftitle.attlist, db._text }
2939 db.confnum.role.attribute = attribute role { text }
2940 db.confnum.attlist =
2941 db.confnum.role.attribute?
2942 & db.common.attributes
2943 & db.common.linking.attributes
2946 ## An identifier, frequently numerical, associated with a conference for which a document was written
2947 element confnum { db.confnum.attlist, db._text }
2950 db.confsponsor.role.attribute = attribute role { text }
2951 db.confsponsor.attlist =
2952 db.confsponsor.role.attribute?
2953 & db.common.attributes
2954 & db.common.linking.attributes
2957 ## The sponsor of a conference for which a document was written
2958 element confsponsor { db.confsponsor.attlist, db._text }
2961 db.contractnum.role.attribute = attribute role { text }
2962 db.contractnum.attlist =
2963 db.contractnum.role.attribute?
2964 & db.common.attributes
2965 & db.common.linking.attributes
2968 ## The contract number of a document
2969 element contractnum { db.contractnum.attlist, db._text }
2972 db.contractsponsor.role.attribute = attribute role { text }
2973 db.contractsponsor.attlist =
2974 db.contractsponsor.role.attribute?
2975 & db.common.attributes
2976 & db.common.linking.attributes
2977 db.contractsponsor =
2979 ## The sponsor of a contract
2980 element contractsponsor { db.contractsponsor.attlist, db._text }
2983 db.copyright.role.attribute = attribute role { text }
2984 db.copyright.attlist =
2985 db.copyright.role.attribute?
2986 & db.common.attributes
2987 & db.common.linking.attributes
2990 ## Copyright information about a document
2991 element copyright { db.copyright.attlist, db.year+, db.holder* }
2994 db.year.role.attribute = attribute role { text }
2996 db.year.role.attribute?
2997 & db.common.attributes
2998 & db.common.linking.attributes
3001 ## The year of publication of a document
3002 element year { db.year.attlist, db._text }
3005 db.holder.role.attribute = attribute role { text }
3007 db.holder.role.attribute?
3008 & db.common.attributes
3009 & db.common.linking.attributes
3012 ## The name of the individual or organization that holds a copyright
3013 element holder { db.holder.attlist, db._text }
3015 db.cover.contentmodel =
3017 | db.extension.blocks
3019 | db.informal.blocks
3020 | db.publishing.blocks
3022 | db.technical.blocks
3023 | db.verbatim.blocks
3027 | db.synopsis.blocks
3029 db.cover.role.attribute = attribute role { text }
3031 db.cover.role.attribute?
3032 & db.common.attributes
3033 & db.common.linking.attributes
3036 ## Additional content for the cover of a publication
3037 element cover { db.cover.attlist, db.cover.contentmodel+ }
3039 db.date.contentmodel =
3040 xsd:date | xsd:dateTime | xsd:gYearMonth | xsd:gYear | text
3042 db.date.role.attribute = attribute role { text }
3044 db.date.role.attribute?
3045 & db.common.attributes
3046 & db.common.linking.attributes
3049 ## The date of publication or revision of a document
3050 element date { db.date.attlist, db.date.contentmodel }
3053 db.edition.role.attribute = attribute role { text }
3054 db.edition.attlist =
3055 db.edition.role.attribute?
3056 & db.common.attributes
3057 & db.common.linking.attributes
3060 ## The name or number of an edition of a document
3061 element edition { db.edition.attlist, db._text }
3064 db.editor.role.attribute = attribute role { text }
3066 db.editor.role.attribute?
3067 & db.common.attributes
3068 & db.common.linking.attributes
3071 ## The name of the editor of a document
3072 element editor { db.editor.attlist, db.credit.contentmodel }
3075 db.biblioid.role.attribute = attribute role { text }
3076 db.biblioid.attlist =
3077 db.biblioid.role.attribute?
3078 & db.common.attributes
3079 & db.common.linking.attributes
3080 & db.biblio.class.attribute
3083 ## An identifier for a document
3084 element biblioid { db.biblioid.attlist, db._text }
3087 db.citebiblioid.role.attribute = attribute role { text }
3088 db.citebiblioid.attlist =
3089 db.citebiblioid.role.attribute?
3090 & db.common.attributes
3091 & db.common.linking.attributes
3092 & db.biblio.class.attribute
3095 ## A citation of a bibliographic identifier
3096 element citebiblioid { db.citebiblioid.attlist, db._text }
3099 db.bibliosource.role.attribute = attribute role { text }
3100 db.bibliosource.attlist =
3101 db.bibliosource.role.attribute?
3102 & db.common.attributes
3103 & db.common.linking.attributes
3104 & db.biblio.class.attribute
3107 ## The source of a document
3108 element bibliosource { db.bibliosource.attlist, db._text }
3111 db.bibliorelation.type.enumeration =
3113 ## The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format
3116 ## The described resource includes the referenced resource either physically or logically
3119 ## The described resource has a version, edition, or adaptation, namely, the referenced resource
3122 ## The described resource is the same intellectual content of the referenced resource, but presented in another format
3125 ## The described resource is a physical or logical part of the referenced resource
3128 ## The described resource is referenced, cited, or otherwise pointed to by the referenced resource
3131 ## The described resource is supplanted, displaced, or superceded by the referenced resource
3134 ## The described resource is required by the referenced resource, either physically or logically
3137 ## The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format
3140 ## The described resource references, cites, or otherwise points to the referenced resource
3143 ## The described resource supplants, displaces, or supersedes the referenced resource
3146 ## The described resource requires the referenced resource to support its function, delivery, or coherence of content
3148 db.bibliorelation.type-enum.attribute =
3150 ## Identifies the type of relationship
3151 attribute type { db.bibliorelation.type.enumeration }?
3152 db.bibliorelation.type-other.attributes =
3154 ## Identifies the type of relationship
3157 ## The described resource has a non-standard relationship with the referenced resource
3161 ## A keyword that identififes the type of the non-standard relationship
3162 attribute othertype { xsd:NMTOKEN }
3163 db.bibliorelation.type.attribute =
3164 db.bibliorelation.type-enum.attribute
3165 | db.bibliorelation.type-other.attributes
3166 db.bibliorelation.role.attribute = attribute role { text }
3167 db.bibliorelation.attlist =
3168 db.bibliorelation.role.attribute?
3169 & db.common.attributes
3170 & db.common.linking.attributes
3171 & db.biblio.class.attribute
3172 & db.bibliorelation.type.attribute
3175 ## The relationship of a document to another
3176 element bibliorelation { db.bibliorelation.attlist, db._text }
3179 db.bibliocoverage.spacial.enumeration =
3181 ## The DCMI Point identifies a point in space using its geographic coordinates
3184 ## ISO 3166 Codes for the representation of names of countries
3187 ## The DCMI Box identifies a region of space using its geographic limits
3190 ## The Getty Thesaurus of Geographic Names
3192 db.bibliocoverage.spatial-enum.attribute =
3194 ## Specifies the type of spatial coverage
3195 attribute spatial { db.bibliocoverage.spacial.enumeration }?
3196 db.bibliocoverage.spatial-other.attributes =
3198 ## Specifies the type of spatial coverage
3201 ## Identifies a non-standard type of coverage
3205 ## A keyword that identifies the type of non-standard coverage
3206 attribute otherspatial { xsd:NMTOKEN }
3207 db.bibliocoverage.spatial.attribute =
3208 db.bibliocoverage.spatial-enum.attribute
3209 | db.bibliocoverage.spatial-other.attributes
3210 db.bibliocoverage.temporal.enumeration =
3212 ## A specification of the limits of a time interval
3215 ## W3C Encoding rules for dates and times—a profile based on ISO 8601
3217 db.bibliocoverage.temporal-enum.attribute =
3219 ## Specifies the type of temporal coverage
3220 attribute temporal { db.bibliocoverage.temporal.enumeration }?
3221 db.bibliocoverage.temporal-other.attributes =
3223 ## Specifies the type of temporal coverage
3224 attribute temporal {
3226 ## Specifies a non-standard type of coverage
3230 ## A keyword that identifies the type of non-standard coverage
3231 attribute othertemporal { xsd:NMTOKEN }
3232 db.bibliocoverage.temporal.attribute =
3233 db.bibliocoverage.temporal-enum.attribute
3234 | db.bibliocoverage.temporal-other.attributes
3235 db.bibliocoverage.coverage.attrib =
3236 db.bibliocoverage.spatial.attribute
3237 & db.bibliocoverage.temporal.attribute
3238 db.bibliocoverage.role.attribute = attribute role { text }
3239 db.bibliocoverage.attlist =
3240 db.bibliocoverage.role.attribute?
3241 & db.common.attributes
3242 & db.common.linking.attributes
3243 & db.bibliocoverage.coverage.attrib
3246 ## The spatial or temporal coverage of a document
3247 element bibliocoverage { db.bibliocoverage.attlist, db._text }
3250 db.legalnotice.role.attribute = attribute role { text }
3251 db.legalnotice.attlist =
3252 db.legalnotice.role.attribute?
3253 & db.common.attributes
3254 & db.common.linking.attributes
3255 db.legalnotice.info = db._info.title.only
3258 ## A statement of legal obligations or requirements
3259 element legalnotice {
3260 db.legalnotice.attlist, db.legalnotice.info, db.all.blocks+
3264 db.othercredit.class.enumeration =
3269 ## A graphic designer
3272 ## Some other contributor
3275 ## A production editor
3278 ## A technical editor
3283 db.othercredit.class-enum.attribute =
3285 ## Identifies the nature of the contributor
3286 attribute class { db.othercredit.class.enumeration }?
3287 db.othercredit.class-other.attribute =
3289 ## Identifies the nature of the non-standard contribution
3290 attribute otherclass { xsd:NMTOKEN }
3291 db.othercredit.class-other.attributes =
3293 ## Identifies the nature of the contributor
3296 ## Identifies a non-standard contribution
3299 & db.othercredit.class-other.attribute
3300 db.othercredit.class.attribute =
3301 db.othercredit.class-enum.attribute
3302 | db.othercredit.class-other.attributes
3303 db.othercredit.role.attribute = attribute role { text }
3304 db.othercredit.attlist =
3305 db.othercredit.role.attribute?
3306 & db.common.attributes
3307 & db.common.linking.attributes
3308 & db.othercredit.class.attribute
3311 ## A person or entity, other than an author or editor, credited in a document
3312 element othercredit {
3313 db.othercredit.attlist, db.credit.contentmodel
3317 db.pagenums.role.attribute = attribute role { text }
3318 db.pagenums.attlist =
3319 db.pagenums.role.attribute?
3320 & db.common.attributes
3321 & db.common.linking.attributes
3324 ## The numbers of the pages in a book, for use in a bibliographic entry
3325 element pagenums { db.pagenums.attlist, db._text }
3328 db.contrib.role.attribute = attribute role { text }
3329 db.contrib.attlist =
3330 db.contrib.role.attribute?
3331 & db.common.attributes
3332 & db.common.linking.attributes
3335 ## A summary of the contributions made to a document by a credited source
3336 element contrib { db.contrib.attlist, db._text }
3339 db.honorific.role.attribute = attribute role { text }
3340 db.honorific.attlist =
3341 db.honorific.role.attribute?
3342 & db.common.attributes
3343 & db.common.linking.attributes
3346 ## The title of a person
3347 element honorific { db.honorific.attlist, db._text }
3350 db.firstname.role.attribute = attribute role { text }
3351 db.firstname.attlist =
3352 db.firstname.role.attribute?
3353 & db.common.attributes
3354 & db.common.linking.attributes
3357 ## The first name of a person
3358 element firstname { db.firstname.attlist, db._text }
3361 db.surname.role.attribute = attribute role { text }
3362 db.surname.attlist =
3363 db.surname.role.attribute?
3364 & db.common.attributes
3365 & db.common.linking.attributes
3368 ## A family name; in western cultures the last name
3369 element surname { db.surname.attlist, db._text }
3372 db.lineage.role.attribute = attribute role { text }
3373 db.lineage.attlist =
3374 db.lineage.role.attribute?
3375 & db.common.attributes
3376 & db.common.linking.attributes
3379 ## The portion of a person's name indicating a relationship to ancestors
3380 element lineage { db.lineage.attlist, db._text }
3383 db.othername.role.attribute = attribute role { text }
3384 db.othername.attlist =
3385 db.othername.role.attribute?
3386 & db.common.attributes
3387 & db.common.linking.attributes
3390 ## A component of a persons name that is not a first name, surname, or lineage
3391 element othername { db.othername.attlist, db._text }
3394 db.printhistory.role.attribute = attribute role { text }
3395 db.printhistory.attlist =
3396 db.printhistory.role.attribute?
3397 & db.common.attributes
3398 & db.common.linking.attributes
3401 ## The printing history of a document
3402 element printhistory { db.printhistory.attlist, db.para.blocks+ }
3405 db.pubdate.role.attribute = attribute role { text }
3406 db.pubdate.attlist =
3407 db.pubdate.role.attribute?
3408 & db.common.attributes
3409 & db.common.linking.attributes
3412 ## The date of publication of a document
3413 element pubdate { db.pubdate.attlist, db.date.contentmodel }
3416 db.publisher.role.attribute = attribute role { text }
3417 db.publisher.attlist =
3418 db.publisher.role.attribute?
3419 & db.common.attributes
3420 & db.common.linking.attributes
3423 ## The publisher of a document
3425 db.publisher.attlist, db.publishername, db.address*
3429 db.publishername.role.attribute = attribute role { text }
3430 db.publishername.attlist =
3431 db.publishername.role.attribute?
3432 & db.common.attributes
3433 & db.common.linking.attributes
3436 ## The name of the publisher of a document
3437 element publishername { db.publishername.attlist, db._text }
3440 db.releaseinfo.role.attribute = attribute role { text }
3441 db.releaseinfo.attlist =
3442 db.releaseinfo.role.attribute?
3443 & db.common.attributes
3444 & db.common.linking.attributes
3447 ## Information about a particular release of a document
3448 element releaseinfo { db.releaseinfo.attlist, db._text }
3451 db.revhistory.role.attribute = attribute role { text }
3452 db.revhistory.attlist =
3453 db.revhistory.role.attribute?
3454 & db.common.attributes
3455 & db.common.linking.attributes
3456 db.revhistory.info = db._info.title.only
3459 ## A history of the revisions to a document
3460 element revhistory {
3461 db.revhistory.attlist, db.revhistory.info, db.revision+
3465 db.revision.role.attribute = attribute role { text }
3466 db.revision.attlist =
3467 db.revision.role.attribute?
3468 & db.common.attributes
3469 & db.common.linking.attributes
3472 ## An entry describing a single revision in the history of the revisions to a document
3474 db.revision.attlist,
3477 (db.authorinitials | db.author)*,
3478 (db.revremark | db.revdescription)?
3482 db.revnumber.role.attribute = attribute role { text }
3483 db.revnumber.attlist =
3484 db.revnumber.role.attribute?
3485 & db.common.attributes
3486 & db.common.linking.attributes
3489 ## A document revision number
3490 element revnumber { db.revnumber.attlist, db._text }
3493 db.revremark.role.attribute = attribute role { text }
3494 db.revremark.attlist =
3495 db.revremark.role.attribute?
3496 & db.common.attributes
3497 & db.common.linking.attributes
3500 ## A description of a revision to a document
3501 element revremark { db.revremark.attlist, db._text }
3504 db.revdescription.role.attribute = attribute role { text }
3505 db.revdescription.attlist =
3506 db.revdescription.role.attribute?
3507 & db.common.attributes
3508 & db.common.linking.attributes
3511 ## A extended description of a revision to a document
3512 element revdescription { db.revdescription.attlist, db.all.blocks* }
3515 db.seriesvolnums.role.attribute = attribute role { text }
3516 db.seriesvolnums.attlist =
3517 db.seriesvolnums.role.attribute?
3518 & db.common.attributes
3519 & db.common.linking.attributes
3522 ## Numbers of the volumes in a series of books
3523 element seriesvolnums { db.seriesvolnums.attlist, db._text }
3526 db.volumenum.role.attribute = attribute role { text }
3527 db.volumenum.attlist =
3528 db.volumenum.role.attribute?
3529 & db.common.attributes
3530 & db.common.linking.attributes
3533 ## The volume number of a document in a set (as of books in a set or articles in a journal)
3534 element volumenum { db.volumenum.attlist, db._text }
3537 db.issuenum.role.attribute = attribute role { text }
3538 db.issuenum.attlist =
3539 db.issuenum.role.attribute?
3540 & db.common.attributes
3541 & db.common.linking.attributes
3544 ## The number of an issue of a journal
3545 element issuenum { db.issuenum.attlist, db._text }
3548 db.package.role.attribute = attribute role { text }
3549 db.package.attlist =
3550 db.package.role.attribute?
3551 & db.common.attributes
3552 & db.common.linking.attributes
3555 ## A software or application package
3556 element package { db.package.attlist, db._text }
3559 db.email.role.attribute = attribute role { text }
3561 db.email.role.attribute?
3562 & db.common.attributes
3563 & db.common.linking.attributes
3567 element email { db.email.attlist, db._text }
3570 db.lineannotation.role.attribute = attribute role { text }
3571 db.lineannotation.attlist =
3572 db.lineannotation.role.attribute?
3573 & db.common.attributes
3574 & db.common.linking.attributes
3577 ## A comment on a line in a verbatim listing
3578 element lineannotation { db.lineannotation.attlist, db._text }
3581 db.parameter.class.enumeration =
3591 db.parameter.class.attribute =
3593 ## Identifies the class of parameter
3594 attribute class { db.parameter.class.enumeration }
3595 db.parameter.role.attribute = attribute role { text }
3596 db.parameter.attlist =
3597 db.parameter.role.attribute?
3598 & db.common.attributes
3599 & db.common.linking.attributes
3600 & db.parameter.class.attribute?
3603 ## A value or a symbolic reference to a value
3604 element parameter { db.parameter.attlist, db._text }
3606 db.replaceable.inlines = db._text | db.co
3608 db.replaceable.class.enumeration =
3621 db.replaceable.class.attribute =
3623 ## Identifies the nature of the replaceable text
3624 attribute class { db.replaceable.class.enumeration }
3625 db.replaceable.role.attribute = attribute role { text }
3626 db.replaceable.attlist =
3627 db.replaceable.role.attribute?
3628 & db.common.attributes
3629 & db.common.linking.attributes
3630 & db.replaceable.class.attribute?
3633 ## Content that may or must be replaced by the user
3634 element replaceable {
3635 db.replaceable.attlist, db.replaceable.inlines*
3639 db.uri.type.attribute =
3641 ## Identifies the type of URI specified
3642 attribute type { text }?
3643 db.uri.role.attribute = attribute role { text }
3645 db.uri.role.attribute?
3646 & db.common.attributes
3647 & db.common.linking.attributes
3648 & db.uri.type.attribute
3651 ## A Uniform Resource Identifier
3652 element uri { db.uri.attlist, db._text }
3655 db.abbrev.role.attribute = attribute role { text }
3657 db.abbrev.role.attribute?
3658 & db.common.attributes
3659 & db.common.linking.attributes
3662 ## An abbreviation, especially one followed by a period
3665 (db._text | db.superscript | db.subscript | db.trademark)*
3669 db.acronym.role.attribute = attribute role { text }
3670 db.acronym.attlist =
3671 db.acronym.role.attribute?
3672 & db.common.attributes
3673 & db.common.linking.attributes
3676 ## An often pronounceable word made from the initial (or selected) letters of a name or phrase
3679 (db._text | db.superscript | db.subscript | db.trademark)*
3683 db.citation.role.attribute = attribute role { text }
3684 db.citation.attlist =
3685 db.citation.role.attribute?
3686 & db.common.attributes
3687 & db.common.linking.attributes
3690 ## An inline bibliographic reference to another published work
3691 element citation { db.citation.attlist, db.all.inlines* }
3694 db.citerefentry.role.attribute = attribute role { text }
3695 db.citerefentry.attlist =
3696 db.citerefentry.role.attribute?
3697 & db.common.attributes
3698 & db.common.linking.attributes
3701 ## A citation to a reference page
3702 element citerefentry {
3703 db.citerefentry.attlist, db.refentrytitle, db.manvolnum?
3707 db.refentrytitle.role.attribute = attribute role { text }
3708 db.refentrytitle.attlist =
3709 db.refentrytitle.role.attribute?
3710 & db.common.attributes
3711 & db.common.linking.attributes
3714 ## The title of a reference page
3715 element refentrytitle { db.refentrytitle.attlist, db.all.inlines* }
3718 db.manvolnum.role.attribute = attribute role { text }
3719 db.manvolnum.attlist =
3720 db.manvolnum.role.attribute?
3721 & db.common.attributes
3722 & db.common.linking.attributes
3725 ## A reference volume number
3726 element manvolnum { db.manvolnum.attlist, db._text }
3729 db.citetitle.pubwork.enumeration =
3734 ## A bulletin board system
3743 ## A chapter (as of a book)
3761 ## A posting to a newsgroup
3764 ## A part (as of a book)
3767 ## A reference entry
3770 ## A section (as of a book or article)
3776 ## A set (as of books)
3784 db.citetitle.pubwork.attribute =
3786 ## Identifies the nature of the publication being cited
3787 attribute pubwork { db.citetitle.pubwork.enumeration }
3788 db.citetitle.role.attribute = attribute role { text }
3789 db.citetitle.attlist =
3790 db.citetitle.role.attribute?
3791 & db.common.attributes
3792 & db.common.linking.attributes
3793 & db.citetitle.pubwork.attribute?
3796 ## The title of a cited work
3797 element citetitle { db.citetitle.attlist, db.all.inlines* }
3800 db.emphasis.role.attribute = attribute role { text }
3801 db.emphasis.attlist =
3802 db.emphasis.role.attribute?
3803 & db.common.attributes
3804 & db.common.linking.attributes
3808 element emphasis { db.emphasis.attlist, db.all.inlines* }
3813 ## A limited span of emphasized text
3814 element emphasis { db.emphasis.attlist, (db._text | db._emphasis)* }
3817 db.foreignphrase.role.attribute = attribute role { text }
3818 db.foreignphrase.attlist =
3819 db.foreignphrase.role.attribute?
3820 & db.common.attributes
3821 & db.common.linking.attributes
3824 ## A word or phrase in a language other than the primary language of the document
3825 element foreignphrase {
3826 db.foreignphrase.attlist, (text | db.general.inlines)*
3830 db.phrase.role.attribute = attribute role { text }
3832 db.phrase.role.attribute?
3833 & db.common.attributes
3834 & db.common.linking.attributes
3838 element phrase { db.phrase.attlist, db.all.inlines* }
3843 ## A limited span of text
3844 element phrase { db.phrase.attlist, db._text }
3847 db.quote.role.attribute = attribute role { text }
3849 db.quote.role.attribute?
3850 & db.common.attributes
3851 & db.common.linking.attributes
3854 ## An inline quotation
3855 element quote { db.quote.attlist, db.all.inlines* }
3858 db.subscript.role.attribute = attribute role { text }
3859 db.subscript.attlist =
3860 db.subscript.role.attribute?
3861 & db.common.attributes
3862 & db.common.linking.attributes
3865 ## A subscript (as in H2
3866 ## O, the molecular formula for water)
3867 element subscript { db.subscript.attlist, db._text }
3870 db.superscript.role.attribute = attribute role { text }
3871 db.superscript.attlist =
3872 db.superscript.role.attribute?
3873 & db.common.attributes
3874 & db.common.linking.attributes
3877 ## A superscript (as in x^2, the mathematical notation for x multiplied by itself)
3878 element superscript { db.superscript.attlist, db._text }
3881 db.trademark.class.enumeration =
3886 ## A registered copyright
3894 db.trademark.class.attribute =
3896 ## Identifies the class of trade mark
3897 attribute class { db.trademark.class.enumeration }
3898 db.trademark.role.attribute = attribute role { text }
3899 db.trademark.attlist =
3900 db.trademark.role.attribute?
3901 & db.common.attributes
3902 & db.common.linking.attributes
3903 & db.trademark.class.attribute?
3907 element trademark { db.trademark.attlist, db._text }
3910 db.wordasword.role.attribute = attribute role { text }
3911 db.wordasword.attlist =
3912 db.wordasword.role.attribute?
3913 & db.common.attributes
3914 & db.common.linking.attributes
3917 ## A word meant specifically as a word and not representing anything else
3918 element wordasword { db.wordasword.attlist, db._text }
3921 db.footnoteref.role.attribute = attribute role { text }
3922 db.footnoteref.label.attribute = db.label.attribute
3923 db.footnoteref.attlist =
3924 db.footnoteref.role.attribute?
3925 & db.common.attributes
3926 & db.linkend.attribute
3927 & db.footnoteref.label.attribute?
3930 ## A cross reference to a footnote (a footnote mark)
3933 name = "Footnote reference type constraint"
3937 context = "db:footnoteref"
3942 "local-name(//*[@xml:id=current()/@linkend]) = 'footnote' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"
3943 "@linkend on footnoteref must point to a footnote."
3952 element footnoteref { db.footnoteref.attlist, empty }
3955 db.xref.role.attribute = attribute role { text }
3956 db.xref.xrefstyle.attribute = db.xrefstyle.attribute
3957 db.xref.endterm.attribute = db.endterm.attribute
3959 db.xref.role.attribute?
3960 & db.common.attributes
3961 & db.common.req.linking.attributes
3962 & db.xref.xrefstyle.attribute?
3963 & db.xref.endterm.attribute?
3966 ## A cross reference to another part of the document
3967 element xref { db.xref.attlist, empty }
3970 db.link.role.attribute = attribute role { text }
3971 db.link.xrefstyle.attribute = db.xrefstyle.attribute
3972 db.link.endterm.attribute = db.endterm.attribute
3974 db.link.role.attribute?
3975 & db.common.attributes
3976 & db.common.req.linking.attributes
3977 & db.link.xrefstyle.attribute?
3978 & db.link.endterm.attribute?
3982 element link { db.link.attlist, db.all.inlines* }
3985 db.olink.role.attribute = attribute role { text }
3986 db.olink.xrefstyle.attribute = db.xrefstyle.attribute
3987 db.olink.localinfo.attribute =
3989 ## Holds additional information that may be used by the applicatoin when resolving the link
3990 attribute localinfo { text }
3991 db.olink.targetdoc.attribute =
3993 ## Specifies the URI of the document in which the link target appears
3994 attribute targetdoc { xsd:anyURI }
3995 db.olink.targetptr.attribute =
3997 ## Specifies the location of the link target in the document
3998 attribute targetptr { text }
3999 db.olink.type.attribute =
4001 ## Identifies application-specific customization of the link behavior
4002 attribute type { text }
4004 db.common.attributes
4005 & db.olink.targetdoc.attribute?
4006 & db.olink.role.attribute?
4007 & db.olink.xrefstyle.attribute?
4008 & db.olink.localinfo.attribute?
4009 & db.olink.targetptr.attribute?
4010 & db.olink.type.attribute?
4013 ## A link that addresses its target indirectly
4014 element olink { db.olink.attlist, db.all.inlines* }
4017 db.anchor.role.attribute = attribute role { text }
4019 db.anchor.role.attribute? & db.common.idreq.attributes
4022 ## A spot in the document
4023 element anchor { db.anchor.attlist, empty }
4026 db.alt.role.attribute = attribute role { text }
4027 db.alt.attlist = db.alt.role.attribute? & db.common.attributes
4030 ## A text-only annotation, often used for accessibility
4031 element alt { db.alt.attlist, (text | db.inlinemediaobject)* }
4033 db.status.attribute =
4035 ## Identifies the editorial or publication status of the element on which it occurs
4036 attribute status { text }
4037 db.toplevel.sections =
4038 ((db.section+, db.simplesect*) | db.simplesect+)
4039 | (db.sect1+, db.simplesect*)
4041 | ((db.section | db.xi.include)+ | (db.simplesect | db.xi.include)+)
4042 | (db.refentry | db.xi.include)+
4043 | (db.refsect1 | db.xi.include)+
4044 | (db.sect1 | db.xi.include)+
4045 db.toplevel.blocks.or.sections =
4046 (db.all.blocks+, db.toplevel.sections?) | db.toplevel.sections
4047 db.recursive.sections =
4048 ((db.section+, db.simplesect*) | db.simplesect+)
4050 | ((db.section | db.xi.include)+ | (db.simplesect | db.xi.include)+)
4051 | (db.refentry | db.xi.include)+
4052 | (db.refsect1 | db.xi.include)+
4053 db.recursive.blocks.or.sections =
4054 (db.all.blocks+, db.recursive.sections?) | db.recursive.sections
4055 db.divisions = db.part | db.reference | db.xi.include
4058 | db.acknowledgements
4065 db.navigation.components =
4066 notAllowed | db.glossary | db.bibliography | db.index | db.toc
4067 db.component.contentmodel =
4068 db.navigation.components*,
4069 db.toplevel.blocks.or.sections,
4070 db.navigation.components*
4071 db.setindex.components = notAllowed | db.setindex
4072 db.toc.components = notAllowed | db.toc
4073 db.set.components = db.set | db.book
4075 db.set.status.attribute = db.status.attribute
4076 db.set.role.attribute = attribute role { text }
4078 db.set.role.attribute?
4079 & db.common.attributes
4080 & db.common.linking.attributes
4081 & db.label.attribute?
4082 & db.set.status.attribute?
4083 db.set.info = db._info.title.req
4086 ## A collection of books
4089 name = "Root must have version"
4098 "The root element must have a version attribute."
4112 db.setindex.components?
4116 db.book.status.attribute = db.status.attribute
4117 db.book.role.attribute = attribute role { text }
4119 db.book.role.attribute?
4120 & db.common.attributes
4121 & db.common.linking.attributes
4122 & db.label.attribute?
4123 & db.book.status.attribute?
4124 db.book.info = db._info
4130 name = "Root must have version"
4134 context = "/db:book"
4139 "The root element must have a version attribute."
4151 (db.navigation.components | db.components | db.divisions)*
4155 db.dedication.status.attribute = db.status.attribute
4156 db.dedication.role.attribute = attribute role { text }
4157 db.dedication.attlist =
4158 db.dedication.role.attribute?
4159 & db.common.attributes
4160 & db.common.linking.attributes
4161 & db.label.attribute?
4162 & db.dedication.status.attribute?
4163 db.dedication.info = db._info
4166 ## The dedication of a book or other component
4169 name = "Root must have version"
4173 context = "/db:dedication"
4178 "The root element must have a version attribute."
4187 element dedication {
4188 db.dedication.attlist, db.dedication.info, db.all.blocks+
4192 db.acknowledgements.status.attribute = db.status.attribute
4193 db.acknowledgements.role.attribute = attribute role { text }
4194 db.acknowledgements.attlist =
4195 db.acknowledgements.role.attribute?
4196 & db.common.attributes
4197 & db.common.linking.attributes
4198 & db.label.attribute?
4199 & db.acknowledgements.status.attribute?
4200 db.acknowledgements.info = db._info
4201 db.acknowledgements =
4203 ## Acknowledgements of a book or other component
4206 name = "Root must have version"
4210 context = "/db:acknowledgements"
4215 "The root element must have a version attribute."
4224 element acknowledgements {
4225 db.acknowledgements.attlist,
4226 db.acknowledgements.info,
4231 db.colophon.status.attribute = db.status.attribute
4232 db.colophon.role.attribute = attribute role { text }
4233 db.colophon.attlist =
4234 db.colophon.role.attribute?
4235 & db.common.attributes
4236 & db.common.linking.attributes
4237 & db.label.attribute?
4238 & db.colophon.status.attribute?
4239 db.colophon.info = db._info
4242 ## Text at the back of a book describing facts about its production
4245 name = "Root must have version"
4249 context = "/db:colophon"
4254 "The root element must have a version attribute."
4264 db.colophon.attlist, db.colophon.info, db.all.blocks+
4268 db.appendix.status.attribute = db.status.attribute
4269 db.appendix.role.attribute = attribute role { text }
4270 db.appendix.attlist =
4271 db.appendix.role.attribute?
4272 & db.common.attributes
4273 & db.common.linking.attributes
4274 & db.label.attribute?
4275 & db.appendix.status.attribute?
4276 db.appendix.info = db._info.title.req
4279 ## An appendix in a Book or Article
4282 name = "Root must have version"
4286 context = "/db:appendix"
4291 "The root element must have a version attribute."
4301 db.appendix.attlist, db.appendix.info, db.component.contentmodel
4305 db.chapter.status.attribute = db.status.attribute
4306 db.chapter.role.attribute = attribute role { text }
4307 db.chapter.attlist =
4308 db.chapter.role.attribute?
4309 & db.common.attributes
4310 & db.common.linking.attributes
4311 & db.label.attribute?
4312 & db.chapter.status.attribute?
4313 db.chapter.info = db._info.title.req
4316 ## A chapter, as of a book
4319 name = "Root must have version"
4323 context = "/db:chapter"
4328 "The root element must have a version attribute."
4338 db.chapter.attlist, db.chapter.info, db.component.contentmodel
4341 db.part.components =
4342 (db.navigation.components | db.components)
4343 | (db.refentry | db.reference)
4346 db.part.status.attribute = db.status.attribute
4347 db.part.role.attribute = attribute role { text }
4349 db.part.role.attribute?
4350 & db.common.attributes
4351 & db.common.linking.attributes
4352 & db.label.attribute?
4353 & db.part.status.attribute?
4354 db.part.info = db._info.title.req
4357 ## A division in a book
4360 name = "Root must have version"
4364 context = "/db:part"
4369 "The root element must have a version attribute."
4379 db.part.attlist, db.part.info, db.partintro?, db.part.components+
4383 db.preface.status.attribute = db.status.attribute
4384 db.preface.role.attribute = attribute role { text }
4385 db.preface.attlist =
4386 db.preface.role.attribute?
4387 & db.common.attributes
4388 & db.common.linking.attributes
4389 & db.label.attribute?
4390 & db.preface.status.attribute?
4391 db.preface.info = db._info.title.req
4394 ## Introductory matter preceding the first chapter of a book
4397 name = "Root must have version"
4401 context = "/db:preface"
4406 "The root element must have a version attribute."
4416 db.preface.attlist, db.preface.info, db.component.contentmodel
4420 db.partintro.status.attribute = db.status.attribute
4421 db.partintro.role.attribute = attribute role { text }
4422 db.partintro.attlist =
4423 db.partintro.role.attribute?
4424 & db.common.attributes
4425 & db.common.linking.attributes
4426 & db.label.attribute?
4427 & db.partintro.status.attribute?
4428 db.partintro.info = db._info
4431 ## An introduction to the contents of a part
4433 db.partintro.attlist,
4435 db.toplevel.blocks.or.sections
4439 db.section.status.attribute = db.status.attribute
4440 db.section.role.attribute = attribute role { text }
4441 db.section.attlist =
4442 db.section.role.attribute?
4443 & db.common.attributes
4444 & db.common.linking.attributes
4445 & db.label.attribute?
4446 & db.section.status.attribute?
4447 db.section.info = db._info.title.req
4450 ## A recursive section
4453 name = "Root must have version"
4457 context = "/db:section"
4462 "The root element must have a version attribute."
4474 db.recursive.blocks.or.sections,
4475 db.navigation.components*
4479 db.simplesect.status.attribute = db.status.attribute
4480 db.simplesect.role.attribute = attribute role { text }
4481 db.simplesect.attlist =
4482 db.simplesect.role.attribute?
4483 & db.common.attributes
4484 & db.common.linking.attributes
4485 & db.label.attribute?
4486 & db.simplesect.status.attribute?
4487 db.simplesect.info = db._info.title.req
4490 ## A section of a document with no subdivisions
4491 element simplesect {
4492 db.simplesect.attlist, db.simplesect.info, db.all.blocks+
4495 db.article.components = db.toplevel.sections
4497 db.article.status.attribute = db.status.attribute
4498 db.article.class.enumeration =
4500 ## A collection of frequently asked questions.
4503 ## An article in a journal or other periodical.
4506 ## A description of a product.
4512 ## A technical report.
4517 db.article.class.attribute =
4519 ## Identifies the nature of the article
4520 attribute class { db.article.class.enumeration }
4521 db.article.role.attribute = attribute role { text }
4522 db.article.attlist =
4523 db.article.role.attribute?
4524 & db.common.attributes
4525 & db.common.linking.attributes
4526 & db.label.attribute?
4527 & db.article.status.attribute?
4528 & db.article.class.attribute?
4529 db.article.info = db._info.title.req
4535 name = "Root must have version"
4539 context = "/db:article"
4544 "The root element must have a version attribute."
4556 (db.navigation.components
4558 | db.acknowledgements
4560 ((db.all.blocks+, db.article.components?)
4561 | db.article.components),
4562 (db.navigation.components
4564 | db.acknowledgements
4568 db.annotations.attribute =
4570 ## Identifies one or more annotations that apply to this element
4571 attribute annotations { text }
4573 db.annotation.role.attribute = attribute role { text }
4574 db.annotation.annotates.attribute =
4576 ## Identifies one ore more elements to which this annotation applies
4577 attribute annotates { text }
4578 db.annotation.attlist =
4579 db.annotation.role.attribute?
4580 & db.annotation.annotates.attribute?
4581 & db.common.attributes
4582 db.annotation.info = db._info.title.only
4588 name = "Element exclusion"
4592 context = "db:annotation"
4596 test = "not(.//db:annotation)"
4597 "annotation must not occur in the descendants of annotation"
4606 element annotation {
4607 db.annotation.attlist, db.annotation.info, db.all.blocks+
4610 db.xlink.from.attribute =
4612 ## Specifies the XLink traversal-from
4613 attribute xlink:from { xsd:NMTOKEN }?
4614 db.xlink.label.attribute =
4616 ## Specifies the XLink label
4617 attribute xlink:label { xsd:NMTOKEN }?
4618 db.xlink.to.attribute =
4620 ## Specifies the XLink traversal-to
4621 attribute xlink:to { xsd:NMTOKEN }?
4623 db.extendedlink.role.attribute = attribute role { text }
4624 db.extendedlink.attlist =
4625 db.extendedlink.role.attribute?
4626 & db.common.attributes
4628 ## Identifies the XLink link type
4629 [ a:defaultValue = "extended" ]
4630 attribute xlink:type {
4632 ## An XLink extended link
4635 & db.xlink.role.attribute?
4636 & db.xlink.title.attribute?
4639 ## An XLink extended link
4640 element extendedlink {
4641 db.extendedlink.attlist, (db.locator | db.arc)+
4645 db.locator.role.attribute = attribute role { text }
4646 db.locator.attlist =
4647 db.locator.role.attribute?
4648 & db.common.attributes
4650 ## Identifies the XLink link type
4651 [ a:defaultValue = "locator" ]
4652 attribute xlink:type {
4654 ## An XLink locator link
4657 & db.xlink.href.attribute
4658 & db.xlink.role.attribute?
4659 & db.xlink.title.attribute?
4660 & db.xlink.label.attribute?
4663 ## An XLink locator in an extendedlink
4664 element locator { db.locator.attlist, empty }
4667 db.arc.role.attribute = attribute role { text }
4669 db.arc.role.attribute?
4670 & db.common.attributes
4672 ## Identifies the XLink link type
4673 [ a:defaultValue = "arc" ]
4674 attribute xlink:type {
4676 ## An XLink arc link
4679 & db.xlink.arcrole.attribute?
4680 & db.xlink.title.attribute?
4681 & db.xlink.show.attribute?
4682 & db.xlink.actuate.attribute?
4683 & db.xlink.from.attribute?
4684 & db.xlink.to.attribute?
4687 ## An XLink arc in an extendedlink
4688 element arc { db.arc.attlist, empty }
4691 ((db.sect2+, db.simplesect*) | db.simplesect+)
4692 | (db.sect2 | db.xi.include)+
4694 db.sect1.status.attribute = db.status.attribute
4695 db.sect1.role.attribute = attribute role { text }
4697 db.sect1.role.attribute?
4698 & db.common.attributes
4699 & db.common.linking.attributes
4700 & db.label.attribute?
4701 & db.sect1.status.attribute?
4702 db.sect1.info = db._info.title.req
4705 ## A top-level section of document
4708 name = "Root must have version"
4712 context = "/db:sect1"
4717 "The root element must have a version attribute."
4729 ((db.all.blocks+, db.sect1.sections?) | db.sect1.sections),
4730 db.navigation.components*
4734 ((db.sect3+, db.simplesect*) | db.simplesect+)
4735 | (db.sect3 | db.xi.include)+
4737 db.sect2.status.attribute = db.status.attribute
4738 db.sect2.role.attribute = attribute role { text }
4740 db.sect2.role.attribute?
4741 & db.common.attributes
4742 & db.common.linking.attributes
4743 & db.label.attribute?
4744 & db.sect2.status.attribute?
4745 db.sect2.info = db._info.title.req
4748 ## A subsection within a Sect1
4751 name = "Root must have version"
4755 context = "/db:sect2"
4760 "The root element must have a version attribute."
4772 ((db.all.blocks+, db.sect2.sections?) | db.sect2.sections),
4773 db.navigation.components*
4777 ((db.sect4+, db.simplesect*) | db.simplesect+)
4778 | (db.sect4 | db.xi.include)+
4780 db.sect3.status.attribute = db.status.attribute
4781 db.sect3.role.attribute = attribute role { text }
4783 db.sect3.role.attribute?
4784 & db.common.attributes
4785 & db.common.linking.attributes
4786 & db.label.attribute?
4787 & db.sect3.status.attribute?
4788 db.sect3.info = db._info.title.req
4791 ## A subsection within a Sect2
4794 name = "Root must have version"
4798 context = "/db:sect3"
4803 "The root element must have a version attribute."
4815 ((db.all.blocks+, db.sect3.sections?) | db.sect3.sections),
4816 db.navigation.components*
4820 ((db.sect5+, db.simplesect*) | db.simplesect+)
4821 | (db.sect5 | db.xi.include)+
4823 db.sect4.status.attribute = db.status.attribute
4824 db.sect4.role.attribute = attribute role { text }
4826 db.sect4.role.attribute?
4827 & db.common.attributes
4828 & db.common.linking.attributes
4829 & db.label.attribute?
4830 & db.sect4.status.attribute?
4831 db.sect4.info = db._info.title.req
4834 ## A subsection within a Sect3
4837 name = "Root must have version"
4841 context = "/db:sect4"
4846 "The root element must have a version attribute."
4858 ((db.all.blocks+, db.sect4.sections?) | db.sect4.sections),
4859 db.navigation.components*
4862 db.sect5.sections = db.simplesect+ | (db.simplesect | db.xi.include)+
4864 db.sect5.status.attribute = db.status.attribute
4865 db.sect5.role.attribute = attribute role { text }
4867 db.sect5.role.attribute?
4868 & db.common.attributes
4869 & db.common.linking.attributes
4870 & db.label.attribute?
4871 & db.sect5.status.attribute?
4872 db.sect5.info = db._info.title.req
4875 ## A subsection within a Sect4
4878 name = "Root must have version"
4882 context = "/db:sect5"
4887 "The root element must have a version attribute."
4899 ((db.all.blocks+, db.sect5.sections?) | db.sect5.sections),
4900 db.navigation.components*
4903 db.toplevel.refsection =
4906 | (db.refentry | db.xi.include)+
4907 | (db.refsect1 | db.xi.include)+
4908 db.secondlevel.refsection =
4911 | (db.refentry | db.xi.include)+
4912 | (db.refsect2 | db.xi.include)+
4913 db.reference.components = db.refentry | db.xi.include
4915 db.reference.role.attribute = attribute role { text }
4916 db.reference.attlist =
4917 db.reference.role.attribute?
4918 & db.common.attributes
4919 & db.common.linking.attributes
4920 & db.status.attribute?
4921 & db.label.attribute?
4922 db.reference.info = db._info.title.req
4925 ## A collection of reference entries
4928 name = "Root must have version"
4932 context = "/db:reference"
4937 "The root element must have a version attribute."
4947 db.reference.attlist,
4950 db.reference.components+
4954 db.refentry.role.attribute = attribute role { text }
4955 db.refentry.attlist =
4956 db.refentry.role.attribute?
4957 & db.common.attributes
4958 & db.common.linking.attributes
4959 & db.status.attribute?
4960 & db.label.attribute?
4961 db.refentry.info = db._info.title.forbidden
4964 ## A reference page (originally a UNIX man-style reference page)
4967 name = "Root must have version"
4971 context = "/db:refentry"
4976 "The root element must have a version attribute."
4986 db.refentry.attlist,
4992 db.toplevel.refsection
4996 db.refmeta.role.attribute = attribute role { text }
4997 db.refmeta.attlist =
4998 db.refmeta.role.attribute?
4999 & db.common.attributes
5000 & db.common.linking.attributes
5003 ## Meta-information for a reference entry
5013 db.refmiscinfo.class.enumeration =
5015 ## The name of the software product or component to which this topic applies
5018 ## The version of the software product or component to which this topic applies
5021 ## The section title of the reference page (e.g., User Commands)
5024 ## The section title of the reference page (believed synonymous with "manual" but in wide use)
5027 ## The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use)
5029 db.refmiscinfo.class-enum.attribute =
5031 ## Identifies the kind of miscellaneous information
5032 attribute class { db.refmiscinfo.class.enumeration }?
5033 db.refmiscinfo.class-other.attribute =
5035 ## Identifies the nature of non-standard miscellaneous information
5036 attribute otherclass { text }
5037 db.refmiscinfo.class-other.attributes =
5039 ## Identifies the kind of miscellaneious information
5042 ## Indicates that the information is some 'other' kind.
5045 & db.refmiscinfo.class-other.attribute
5046 db.refmiscinfo.class.attribute =
5047 db.refmiscinfo.class-enum.attribute
5048 | db.refmiscinfo.class-other.attributes
5050 db.refmiscinfo.role.attribute = attribute role { text }
5051 db.refmiscinfo.attlist =
5052 db.refmiscinfo.role.attribute?
5053 & db.common.attributes
5054 & db.common.linking.attributes
5055 & db.refmiscinfo.class.attribute?
5058 ## Meta-information for a reference entry other than the title and volume number
5059 element refmiscinfo { db.refmiscinfo.attlist, db._text }
5062 db.refnamediv.role.attribute = attribute role { text }
5063 db.refnamediv.attlist =
5064 db.refnamediv.role.attribute?
5065 & db.common.attributes
5066 & db.common.linking.attributes
5069 ## The name, purpose, and classification of a reference page
5070 element refnamediv {
5071 db.refnamediv.attlist,
5079 db.refdescriptor.role.attribute = attribute role { text }
5080 db.refdescriptor.attlist =
5081 db.refdescriptor.role.attribute?
5082 & db.common.attributes
5083 & db.common.linking.attributes
5086 ## A description of the topic of a reference page
5087 element refdescriptor { db.refdescriptor.attlist, db.all.inlines* }
5090 db.refname.role.attribute = attribute role { text }
5091 db.refname.attlist =
5092 db.refname.role.attribute?
5093 & db.common.attributes
5094 & db.common.linking.attributes
5097 ## The name of (one of) the subject(s) of a reference page
5098 element refname { db.refname.attlist, db.all.inlines* }
5101 db.refpurpose.role.attribute = attribute role { text }
5102 db.refpurpose.attlist =
5103 db.refpurpose.role.attribute?
5104 & db.common.attributes
5105 & db.common.linking.attributes
5108 ## A short (one sentence) synopsis of the topic of a reference page
5109 element refpurpose { db.refpurpose.attlist, db.all.inlines* }
5112 db.refclass.role.attribute = attribute role { text }
5113 db.refclass.attlist =
5114 db.refclass.role.attribute?
5115 & db.common.attributes
5116 & db.common.linking.attributes
5119 ## The scope or other indication of applicability of a reference entry
5120 element refclass { db.refclass.attlist, (text | db.application)* }
5123 db.refsynopsisdiv.role.attribute = attribute role { text }
5124 db.refsynopsisdiv.attlist =
5125 db.refsynopsisdiv.role.attribute?
5126 & db.common.attributes
5127 & db.common.linking.attributes
5128 db.refsynopsisdiv.info = db._info
5131 ## A syntactic synopsis of the subject of the reference page
5132 element refsynopsisdiv {
5133 db.refsynopsisdiv.attlist,
5134 db.refsynopsisdiv.info,
5135 ((db.all.blocks+, db.secondlevel.refsection?)
5136 | db.secondlevel.refsection)
5140 db.refsection.role.attribute = attribute role { text }
5141 db.refsection.attlist =
5142 db.refsection.role.attribute?
5143 & db.common.attributes
5144 & db.common.linking.attributes
5145 & db.status.attribute?
5146 & db.label.attribute?
5147 db.refsection.info = db._info.title.req
5150 ## A recursive section in a refentry
5153 name = "Root must have version"
5157 context = "/db:refsection"
5162 "The root element must have a version attribute."
5171 element refsection {
5172 db.refsection.attlist,
5174 ((db.all.blocks+, db.refsection*) | db.refsection+)
5177 db.refsect1.sections = db.refsect2+
5179 db.refsect1.status.attribute = db.status.attribute
5180 db.refsect1.role.attribute = attribute role { text }
5181 db.refsect1.attlist =
5182 db.refsect1.role.attribute?
5183 & db.common.attributes
5184 & db.common.linking.attributes
5185 & db.label.attribute?
5186 & db.refsect1.status.attribute?
5187 db.refsect1.info = db._info.title.req
5190 ## A major subsection of a reference entry
5193 name = "Root must have version"
5197 context = "/db:refsect1"
5202 "The root element must have a version attribute."
5212 db.refsect1.attlist,
5214 ((db.all.blocks+, db.refsect1.sections?) | db.refsect1.sections)
5217 db.refsect2.sections = db.refsect3+
5219 db.refsect2.status.attribute = db.status.attribute
5220 db.refsect2.role.attribute = attribute role { text }
5221 db.refsect2.attlist =
5222 db.refsect2.role.attribute?
5223 & db.common.attributes
5224 & db.common.linking.attributes
5225 & db.label.attribute?
5226 & db.refsect2.status.attribute?
5227 db.refsect2.info = db._info.title.req
5230 ## A subsection of a refsect1
5233 name = "Root must have version"
5237 context = "/db:refsect2"
5242 "The root element must have a version attribute."
5252 db.refsect2.attlist,
5254 ((db.all.blocks+, db.refsect2.sections?) | db.refsect2.sections)
5258 db.refsect3.status.attribute = db.status.attribute
5259 db.refsect3.role.attribute = attribute role { text }
5260 db.refsect3.attlist =
5261 db.refsect3.role.attribute?
5262 & db.common.attributes
5263 & db.common.linking.attributes
5264 & db.label.attribute?
5265 & db.refsect3.status.attribute?
5266 db.refsect3.info = db._info.title.req
5269 ## A subsection of a refsect2
5272 name = "Root must have version"
5276 context = "/db:refsect3"
5281 "The root element must have a version attribute."
5291 db.refsect3.attlist, db.refsect3.info, db.all.blocks+
5294 db.glossary.inlines = db.firstterm | db.glossterm
5295 db.baseform.attribute =
5297 ## Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form.
5298 attribute baseform { text }?
5300 db.glosslist.role.attribute = attribute role { text }
5301 db.glosslist.attlist =
5302 db.glosslist.role.attribute?
5303 & db.common.attributes
5304 & db.common.linking.attributes
5305 db.glosslist.info = db._info.title.only
5308 ## A wrapper for a list of glossary entries
5310 db.glosslist.attlist,
5317 db.glossentry.role.attribute = attribute role { text }
5318 db.glossentry.sortas.attribute =
5320 ## Specifies the string by which the element's content is to be sorted; if unspecified, the content is used
5321 attribute sortas { text }
5322 db.glossentry.attlist =
5323 db.glossentry.role.attribute?
5324 & db.common.attributes
5325 & db.common.linking.attributes
5326 & db.glossentry.sortas.attribute?
5329 ## An entry in a Glossary or GlossList
5330 element glossentry {
5331 db.glossentry.attlist,
5336 (db.glosssee | db.glossdef+)
5340 db.glossdef.role.attribute = attribute role { text }
5341 db.glossdef.subject.attribute =
5343 ## Specifies a list of keywords for the definition
5344 attribute subject { text }
5345 db.glossdef.attlist =
5346 db.glossdef.role.attribute?
5347 & db.common.attributes
5348 & db.common.linking.attributes
5349 & db.glossdef.subject.attribute?
5352 ## A definition in a GlossEntry
5354 db.glossdef.attlist, db.all.blocks+, db.glossseealso*
5358 db.glosssee.role.attribute = attribute role { text }
5359 db.glosssee.otherterm.attribute =
5361 ## Identifies the other term
5362 attribute otherterm { xsd:IDREF }
5363 db.glosssee.attlist =
5364 db.glosssee.role.attribute?
5365 & db.common.attributes
5366 & db.common.linking.attributes
5367 & db.glosssee.otherterm.attribute?
5370 ## A cross-reference from one glossentry
5374 name = "Glosssary 'see' type constraint"
5378 context = "db:glosssee[@otherterm]"
5383 "local-name(//*[@xml:id=current()/@otherterm]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@otherterm]) = 'http://docbook.org/ns/docbook'"
5384 "@otherterm on glosssee must point to a glossentry."
5393 element glosssee { db.glosssee.attlist, db.all.inlines* }
5396 db.glossseealso.role.attribute = attribute role { text }
5397 db.glossseealso.otherterm.attribute =
5399 ## Identifies the other term
5400 attribute otherterm { xsd:IDREF }
5401 db.glossseealso.attlist =
5402 db.glossseealso.role.attribute?
5403 & db.common.attributes
5404 & db.common.linking.attributes
5405 & db.glossseealso.otherterm.attribute?
5408 ## A cross-reference from one GlossEntry to another
5411 name = "Glossary 'seealso' type constraint"
5415 context = "db:glossseealso[@otherterm]"
5420 "local-name(//*[@xml:id=current()/@otherterm]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@otherterm]) = 'http://docbook.org/ns/docbook'"
5421 "@otherterm on glossseealso must point to a glossentry."
5430 element glossseealso { db.glossseealso.attlist, db.all.inlines* }
5433 db.firstterm.role.attribute = attribute role { text }
5434 db.firstterm.attlist =
5435 db.firstterm.role.attribute?
5436 & db.common.attributes
5437 & db.common.linking.attributes
5438 & db.baseform.attribute
5441 ## The first occurrence of a term
5444 name = "Glossary 'firstterm' type constraint"
5448 context = "db:firstterm[@linkend]"
5453 "local-name(//*[@xml:id=current()/@linkend]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"
5454 "@linkend on firstterm must point to a glossentry."
5463 element firstterm { db.firstterm.attlist, db.all.inlines* }
5466 db.glossterm.role.attribute = attribute role { text }
5467 db.glossterm.attlist =
5468 db.glossterm.role.attribute?
5469 & db.common.attributes
5470 & db.common.linking.attributes
5471 & db.baseform.attribute
5477 name = "Glossary 'glossterm' type constraint"
5481 context = "db:glossterm[@linkend]"
5486 "local-name(//*[@xml:id=current()/@linkend]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"
5487 "@linkend on glossterm must point to a glossentry."
5496 element glossterm { db.glossterm.attlist, db.all.inlines* }
5499 db.glossary.status.attribute = db.status.attribute
5500 db.glossary.role.attribute = attribute role { text }
5501 db.glossary.attlist =
5502 db.glossary.role.attribute?
5503 & db.common.attributes
5504 & db.common.linking.attributes
5505 & db.label.attribute?
5506 & db.glossary.status.attribute?
5507 db.glossary.info = db._info
5513 name = "Root must have version"
5517 context = "/db:glossary"
5522 "The root element must have a version attribute."
5532 db.glossary.attlist,
5535 (db.glossdiv* | db.glossentry*),
5540 db.glossdiv.status.attribute = db.status.attribute
5541 db.glossdiv.role.attribute = attribute role { text }
5542 db.glossdiv.attlist =
5543 db.glossdiv.role.attribute?
5544 & db.common.attributes
5545 & db.common.linking.attributes
5546 & db.label.attribute?
5547 & db.glossdiv.status.attribute?
5548 db.glossdiv.info = db._info.title.req
5551 ## A division in a Glossary
5553 db.glossdiv.attlist,
5560 db.termdef.role.attribute = attribute role { text }
5561 db.termdef.attlist =
5562 db.termdef.role.attribute?
5563 & db.glossentry.sortas.attribute?
5564 & db.common.attributes
5565 & db.common.linking.attributes
5566 & db.baseform.attribute
5569 ## An inline definition of a term
5572 name = "Glossary term definition constraint"
5576 context = "db:termdef"
5580 test = "count(db:firstterm) = 1"
5581 "A termdef must contain exactly one firstterm"
5590 element termdef { db.termdef.attlist, db.all.inlines* }
5592 db.relation.attribute =
5594 ## Identifies the relationship between the bibliographic elemnts
5595 attribute relation { text }
5597 db.biblioentry.role.attribute = attribute role { text }
5598 db.biblioentry.attlist =
5599 db.biblioentry.role.attribute?
5600 & db.common.attributes
5601 & db.common.linking.attributes
5604 ## An entry in a Bibliography
5605 element biblioentry {
5606 db.biblioentry.attlist, db.bibliographic.elements+
5610 db.bibliomixed.role.attribute = attribute role { text }
5611 db.bibliomixed.attlist =
5612 db.bibliomixed.role.attribute?
5613 & db.common.attributes
5614 & db.common.linking.attributes
5617 ## An entry in a Bibliography
5618 element bibliomixed {
5619 db.bibliomixed.attlist, (text | db.bibliographic.elements)*
5623 db.biblioset.relation.attribute = db.relation.attribute
5624 db.biblioset.role.attribute = attribute role { text }
5625 db.biblioset.attlist =
5626 db.biblioset.role.attribute?
5627 & db.common.attributes
5628 & db.common.linking.attributes
5629 & db.biblioset.relation.attribute?
5632 ## A raw container for related bibliographic information
5634 db.biblioset.attlist, db.bibliographic.elements+
5638 db.bibliomset.relation.attribute = db.relation.attribute
5639 db.bibliomset.role.attribute = attribute role { text }
5640 db.bibliomset.attlist =
5641 db.bibliomset.role.attribute?
5642 & db.common.attributes
5643 & db.common.linking.attributes
5644 & db.bibliomset.relation.attribute?
5647 ## A cooked container for related bibliographic information
5648 element bibliomset {
5649 db.bibliomset.attlist, (db._text | db.bibliographic.elements)*
5653 db.bibliomisc.role.attribute = attribute role { text }
5654 db.bibliomisc.attlist =
5655 db.bibliomisc.role.attribute?
5656 & db.common.attributes
5657 & db.common.linking.attributes
5660 ## Untyped bibliographic information
5661 element bibliomisc { db.bibliomisc.attlist, db._text }
5664 db.bibliography.status.attrib = db.status.attribute
5665 db.bibliography.role.attribute = attribute role { text }
5666 db.bibliography.attlist =
5667 db.bibliography.role.attribute?
5668 & db.common.attributes
5669 & db.common.linking.attributes
5670 & db.label.attribute?
5671 & db.bibliography.status.attrib?
5672 db.bibliography.info = db._info
5678 name = "Root must have version"
5682 context = "/db:bibliography"
5687 "The root element must have a version attribute."
5696 element bibliography {
5697 db.bibliography.attlist,
5698 db.bibliography.info,
5700 (db.bibliodiv+ | (db.biblioentry | db.bibliomixed)+)
5704 db.bibliodiv.status.attrib = db.status.attribute
5705 db.bibliodiv.role.attribute = attribute role { text }
5706 db.bibliodiv.attlist =
5707 db.bibliodiv.role.attribute?
5708 & db.common.attributes
5709 & db.common.linking.attributes
5710 & db.label.attribute?
5711 & db.bibliodiv.status.attrib?
5712 db.bibliodiv.info = db._info.title.req
5715 ## A section of a Bibliography
5717 db.bibliodiv.attlist,
5720 (db.biblioentry | db.bibliomixed)+
5724 db.bibliolist.role.attribute = attribute role { text }
5725 db.bibliolist.attlist =
5726 db.bibliolist.role.attribute?
5727 & db.common.attributes
5728 & db.common.linking.attributes
5729 db.bibliolist.info = db._info.title.only
5732 ## A wrapper for a list of bibliography entries
5733 element bibliolist {
5734 db.bibliolist.attlist,
5735 db.bibliolist.info?,
5737 (db.biblioentry | db.bibliomixed)+
5741 db.biblioref.role.attribute = attribute role { text }
5742 db.biblioref.xrefstyle.attribute = db.xrefstyle.attribute
5743 db.biblioref.endterm.attribute = db.endterm.attribute
5744 db.biblioref.units.attribute =
5746 ## The units (for example, pages) used to identify the beginning and ending of a reference.
5747 attribute units { xsd:token }
5748 db.biblioref.begin.attribute =
5750 ## Identifies the beginning of a reference; the location within the work that is being referenced.
5751 attribute begin { xsd:token }
5752 db.biblioref.end.attribute =
5754 ## Identifies the end of a reference.
5755 attribute end { xsd:token }
5756 db.biblioref.attlist =
5757 db.biblioref.role.attribute?
5758 & db.common.attributes
5759 & db.common.req.linking.attributes
5760 & db.biblioref.xrefstyle.attribute?
5761 & db.biblioref.endterm.attribute?
5762 & db.biblioref.units.attribute?
5763 & db.biblioref.begin.attribute?
5764 & db.biblioref.end.attribute?
5767 ## A cross-reference to a bibliographic entry
5768 element biblioref { db.biblioref.attlist, empty }
5770 db.significance.enumeration =
5777 db.significance.attribute =
5779 ## Specifies the significance of the term
5780 attribute significance { db.significance.enumeration }
5783 ## Specifies the IDs of the elements to which this term applies
5784 attribute zone { xsd:IDREFS }
5785 db.indexterm.pagenum.attribute =
5787 ## Indicates the page on which this index term occurs in some version of the printed document
5788 attribute pagenum { text }
5789 db.scope.enumeration =
5794 ## The global index (as for a combined index of a set of box)
5797 ## The local index (the index for this document only)
5799 db.scope.attribute =
5801 ## Specifies the scope of the index term
5802 attribute scope { db.scope.enumeration }
5803 db.sortas.attribute =
5805 ## Specifies the string by which the term is to be sorted; if unspecified, the term content is used
5806 attribute sortas { text }
5807 db.index.type.attribute =
5809 ## Specifies the target index for this term
5810 attribute type { text }
5812 db.itermset.role.attribute = attribute role { text }
5813 db.itermset.attlist =
5814 db.itermset.role.attribute?
5815 & db.common.attributes
5816 & db.common.linking.attributes
5819 ## A set of index terms in the meta-information of a document
5820 element itermset { db.itermset.attlist, db.indexterm.singular+ }
5822 db.indexterm.contentmodel =
5825 ((db.tertiary, (db.see | db.seealso+)?)
5831 db.indexterm.singular.role.attribute = attribute role { text }
5832 db.indexterm.singular.class.attribute =
5834 ## Identifies the class of index term
5837 ## A singular index term
5840 db.indexterm.singular.attlist =
5841 db.indexterm.singular.role.attribute?
5842 & db.common.attributes
5843 & db.common.linking.attributes
5844 & db.significance.attribute?
5845 & db.zone.attribute?
5846 & db.indexterm.pagenum.attribute?
5847 & db.scope.attribute?
5848 & db.index.type.attribute?
5849 & db.indexterm.singular.class.attribute?
5850 db.indexterm.singular =
5852 ## A wrapper for an indexed term
5854 db.indexterm.singular.attlist, db.indexterm.contentmodel
5858 db.indexterm.startofrange.role.attribute = attribute role { text }
5859 db.indexterm.startofrange.class.attribute =
5861 ## Identifies the class of index term
5864 ## The start of a range
5867 db.indexterm.startofrange.attlist =
5868 db.indexterm.startofrange.role.attribute?
5869 & db.common.attributes
5870 & db.common.linking.attributes
5871 & db.significance.attribute?
5872 & db.zone.attribute?
5873 & db.indexterm.pagenum.attribute?
5874 & db.scope.attribute?
5875 & db.index.type.attribute?
5876 & db.indexterm.startofrange.class.attribute
5877 db.indexterm.startofrange =
5879 ## A wrapper for an indexed term that covers a range
5881 db.indexterm.startofrange.attlist, db.indexterm.contentmodel
5885 db.indexterm.endofrange.role.attribute = attribute role { text }
5886 db.indexterm.endofrange.class.attribute =
5888 ## Identifies the class of index term
5891 ## The end of a range
5894 db.indexterm.endofrange.startref.attribute =
5896 ## Points to the start of the range
5897 attribute startref { xsd:IDREF }
5898 db.indexterm.endofrange.attlist =
5899 db.indexterm.endofrange.role.attribute?
5900 & db.common.attributes
5901 & db.common.linking.attributes
5902 & db.indexterm.endofrange.class.attribute
5903 & db.indexterm.endofrange.startref.attribute
5904 db.indexterm.endofrange =
5906 ## Identifies the end of a range associated with an indexed term
5907 element indexterm { db.indexterm.endofrange.attlist, empty }
5911 db.indexterm.singular
5912 | db.indexterm.startofrange
5913 | db.indexterm.endofrange
5916 db.primary.role.attribute = attribute role { text }
5917 db.primary.attlist =
5918 db.primary.role.attribute?
5919 & db.common.attributes
5920 & db.common.linking.attributes
5921 & db.sortas.attribute?
5924 ## The primary word or phrase under which an index term should be sorted
5925 element primary { db.primary.attlist, db.all.inlines* }
5928 db.secondary.role.attribute = attribute role { text }
5929 db.secondary.attlist =
5930 db.secondary.role.attribute?
5931 & db.common.attributes
5932 & db.common.linking.attributes
5933 & db.sortas.attribute?
5936 ## A secondary word or phrase in an index term
5937 element secondary { db.secondary.attlist, db.all.inlines* }
5940 db.tertiary.role.attribute = attribute role { text }
5941 db.tertiary.attlist =
5942 db.tertiary.role.attribute?
5943 & db.common.attributes
5944 & db.common.linking.attributes
5945 & db.sortas.attribute?
5948 ## A tertiary word or phrase in an index term
5949 element tertiary { db.tertiary.attlist, db.all.inlines* }
5952 db.see.role.attribute = attribute role { text }
5954 db.see.role.attribute?
5955 & db.common.attributes
5956 & db.common.linking.attributes
5959 ## Part of an index term directing the reader instead to another entry in the index
5960 element see { db.see.attlist, db.all.inlines* }
5963 db.seealso.role.attribute = attribute role { text }
5964 db.seealso.attlist =
5965 db.seealso.role.attribute?
5966 & db.common.attributes
5967 & db.common.linking.attributes
5970 ## Part of an index term directing the reader also to another entry in the index
5971 element seealso { db.seealso.attlist, db.all.inlines* }
5974 db.index.status.attribute = db.status.attribute
5975 db.index.role.attribute = attribute role { text }
5977 db.index.role.attribute?
5978 & db.common.attributes
5979 & db.common.linking.attributes
5980 & db.label.attribute?
5981 & db.index.status.attribute?
5982 & db.index.type.attribute?
5983 db.index.info = db._info
5985 # Yes, db.indexdiv* and db.indexentry*; that way an <index/> is valid.
5986 # Authors can use an empty index to indicate where a generated index should
5990 ## An index to a book or part of a book
5993 name = "Root must have version"
5997 context = "/db:index"
6002 "The root element must have a version attribute."
6015 (db.indexdiv* | db.indexentry* | db.segmentedlist)
6019 db.setindex.status.attribute = db.status.attribute
6020 db.setindex.role.attribute = attribute role { text }
6021 db.setindex.attlist =
6022 db.setindex.role.attribute?
6023 & db.common.attributes
6024 & db.common.linking.attributes
6025 & db.label.attribute?
6026 & db.setindex.status.attribute?
6027 & db.index.type.attribute?
6028 db.setindex.info = db._info
6031 ## An index to a set of books
6034 name = "Root must have version"
6038 context = "/db:setindex"
6043 "The root element must have a version attribute."
6053 db.setindex.attlist,
6056 (db.indexdiv* | db.indexentry*)
6060 db.indexdiv.status.attribute = db.status.attribute
6061 db.indexdiv.role.attribute = attribute role { text }
6062 db.indexdiv.attlist =
6063 db.indexdiv.role.attribute?
6064 & db.common.attributes
6065 & db.common.linking.attributes
6066 & db.label.attribute?
6067 & db.indexdiv.status.attribute?
6068 db.indexdiv.info = db._info.title.req
6071 ## A division in an index
6073 db.indexdiv.attlist,
6076 (db.indexentry+ | db.segmentedlist)
6080 db.indexentry.role.attribute = attribute role { text }
6081 db.indexentry.attlist =
6082 db.indexentry.role.attribute?
6083 & db.common.attributes
6084 & db.common.linking.attributes
6087 ## An entry in an index
6088 element indexentry {
6089 db.indexentry.attlist,
6091 (db.seeie | db.seealsoie)*,
6092 (db.secondaryie, (db.seeie | db.seealsoie | db.tertiaryie)*)*
6096 db.primaryie.role.attribute = attribute role { text }
6097 db.primaryie.attlist =
6098 db.primaryie.role.attribute?
6099 & db.common.attributes
6100 & db.linkends.attribute?
6103 ## A primary term in an index entry, not in the text
6104 element primaryie { db.primaryie.attlist, db.all.inlines* }
6107 db.secondaryie.role.attribute = attribute role { text }
6108 db.secondaryie.attlist =
6109 db.secondaryie.role.attribute?
6110 & db.common.attributes
6111 & db.linkends.attribute?
6114 ## A secondary term in an index entry, rather than in the text
6115 element secondaryie { db.secondaryie.attlist, db.all.inlines* }
6118 db.tertiaryie.role.attribute = attribute role { text }
6119 db.tertiaryie.attlist =
6120 db.tertiaryie.role.attribute?
6121 & db.common.attributes
6122 & db.linkends.attribute?
6125 ## A tertiary term in an index entry, rather than in the text
6126 element tertiaryie { db.tertiaryie.attlist, db.all.inlines* }
6129 db.seeie.role.attribute = attribute role { text }
6131 db.seeie.role.attribute?
6132 & db.common.attributes
6133 & db.linkend.attribute?
6137 ## entry in an index, rather than in the text
6138 element seeie { db.seeie.attlist, db.all.inlines* }
6141 db.seealsoie.role.attribute = attribute role { text }
6142 db.seealsoie.attlist =
6143 db.seealsoie.role.attribute?
6144 & db.common.attributes
6145 & db.linkends.attribute?
6149 ## entry in an index, rather than in the text
6150 element seealsoie { db.seealsoie.attlist, db.all.inlines* }
6152 db.toc.pagenum.attribute =
6154 ## Indicates the page on which this element occurs in some version of the printed document
6155 attribute pagenum { text }
6157 db.toc.role.attribute = attribute role { text }
6159 db.toc.role.attribute?
6160 & db.common.attributes
6161 & db.common.linking.attributes
6162 db.toc.info = db._info.title.only
6165 ## A table of contents
6168 name = "Root must have version"
6177 "The root element must have a version attribute."
6190 (db.tocdiv | db.tocentry)*
6194 db.tocdiv.role.attribute = attribute role { text }
6195 db.tocdiv.pagenum.attribute = db.toc.pagenum.attribute
6197 db.tocdiv.role.attribute?
6198 & db.common.attributes
6199 & db.tocdiv.pagenum.attribute?
6200 & db.linkend.attribute?
6201 db.tocdiv.info = db._info
6204 ## A division in a table of contents
6209 (db.tocdiv | db.tocentry)+
6213 db.tocentry.role.attribute = attribute role { text }
6214 db.tocentry.pagenum.attribute = db.toc.pagenum.attribute
6215 db.tocentry.attlist =
6216 db.tocentry.role.attribute?
6217 & db.common.attributes
6218 & db.tocentry.pagenum.attribute?
6219 & db.linkend.attribute?
6222 ## A component title in a table of contents
6223 element tocentry { db.tocentry.attlist, db.all.inlines* }
6225 db.task.info = db._info.title.req
6227 db.task.role.attribute = attribute role { text }
6229 db.task.role.attribute?
6230 & db.common.attributes
6231 & db.common.linking.attributes
6234 ## A task to be completed
6239 db.taskprerequisites?,
6246 db.tasksummary.role.attribute = attribute role { text }
6247 db.tasksummary.attlist =
6248 db.tasksummary.role.attribute?
6249 & db.common.attributes
6250 & db.common.linking.attributes
6251 db.tasksummary.info = db._info.title.only
6254 ## A summary of a task
6255 element tasksummary {
6256 db.tasksummary.attlist, db.tasksummary.info, db.all.blocks+
6260 db.taskprerequisites.role.attribute = attribute role { text }
6261 db.taskprerequisites.attlist =
6262 db.taskprerequisites.role.attribute?
6263 & db.common.attributes
6264 & db.common.linking.attributes
6265 db.taskprerequisites.info = db._info.title.only
6266 db.taskprerequisites =
6268 ## The prerequisites for a task
6269 element taskprerequisites {
6270 db.taskprerequisites.attlist,
6271 db.taskprerequisites.info,
6276 db.taskrelated.role.attribute = attribute role { text }
6277 db.taskrelated.attlist =
6278 db.taskrelated.role.attribute?
6279 & db.common.attributes
6280 & db.common.linking.attributes
6281 db.taskrelated.info = db._info.title.only
6284 ## Information related to a task
6285 element taskrelated {
6286 db.taskrelated.attlist, db.taskrelated.info, db.all.blocks+
6289 db.area.units.enumeration =
6291 ## Coordinates expressed as a pair of CALS graphic coordinates.
6294 ## Coordinates expressed as a line and column.
6297 ## Coordinates expressed as a pair of lines and columns.
6300 ## Coordinates expressed as a line range.
6302 db.area.units-enum.attribute =
6304 ## Identifies the units used in the coords attribute The default units vary according to the type of callout specified: calspair
6305 ## for graphics and linecolumn
6306 ## for line-oriented elements.
6307 attribute units { db.area.units.enumeration }?
6308 db.area.units-other.attributes =
6310 ## Indicates that non-standard units are used for this area
6311 ## . In this case otherunits
6312 ## must be specified.
6315 ## Coordinates expressed in some non-standard units.
6319 ## Identifies the units used in the coords
6320 ## attribute when the units
6321 ## attribute is other
6322 ## . This attribute is forbidden otherwise.
6323 attribute otherunits { xsd:NMTOKEN }
6324 db.area.units.attribute =
6325 db.area.units-enum.attribute | db.area.units-other.attributes
6327 db.calloutlist.role.attribute = attribute role { text }
6328 db.calloutlist.attlist =
6329 db.calloutlist.role.attribute?
6330 & db.common.attributes
6331 & db.common.linking.attributes
6332 db.calloutlist.info = db._info.title.only
6335 ## A list of callout
6337 element calloutlist {
6338 db.calloutlist.attlist,
6339 db.calloutlist.info,
6345 db.callout.role.attribute = attribute role { text }
6346 db.callout.arearefs.attribute =
6348 ## Identifies the areas described by this callout.
6349 attribute arearefs { xsd:IDREFS }
6350 db.callout.attlist =
6351 db.callout.role.attribute?
6352 & db.common.attributes
6353 & db.callout.arearefs.attribute
6357 ## description of a marked Area
6358 element callout { db.callout.attlist, db.all.blocks+ }
6361 db.programlistingco.role.attribute = attribute role { text }
6362 db.programlistingco.attlist =
6363 db.programlistingco.role.attribute?
6364 & db.common.attributes
6365 & db.common.linking.attributes
6366 db.programlistingco.info = db._info.title.forbidden
6367 db.programlistingco =
6369 ## A program listing with associated areas used in callouts
6370 element programlistingco {
6371 db.programlistingco.attlist,
6372 db.programlistingco.info,
6379 db.areaspec.role.attribute = attribute role { text }
6380 db.areaspec.attlist =
6381 db.areaspec.role.attribute?
6382 & db.common.attributes
6383 & db.common.linking.attributes
6384 & db.area.units.attribute
6387 ## A collection of regions in a graphic or code example
6388 element areaspec { db.areaspec.attlist, (db.area | db.areaset)+ }
6391 db.area.role.attribute = attribute role { text }
6392 db.area.linkends.attribute =
6394 ## Point to the callout
6395 ## s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.)
6396 attribute linkends { xsd:IDREFS }
6397 db.area.label.attribute =
6399 ## Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute.
6400 attribute label { text }
6401 db.area.coords.attribute =
6403 ## Provides the coordinates of the area. The coordinates must be interpreted using the units
6405 attribute coords { text }
6407 db.area.role.attribute?
6408 & db.common.idreq.attributes
6409 & db.area.units.attribute
6410 & (db.area.linkends.attribute | db.href.attributes)?
6411 & db.area.label.attribute?
6412 & db.area.coords.attribute
6415 ## A region defined for a Callout in a graphic or code example
6416 element area { db.area.attlist, db.alt? }
6419 # The only difference is that xml:id is optional
6420 db.area.inareaset.attlist =
6421 db.area.role.attribute?
6422 & db.common.attributes
6423 & db.area.units.attribute
6424 & (db.area.linkends.attribute | db.href.attributes)?
6425 & db.area.label.attribute?
6426 & db.area.coords.attribute
6429 ## A region defined for a Callout in a graphic or code example
6430 element area { db.area.inareaset.attlist, db.alt? }
6433 db.areaset.role.attribute = attribute role { text }
6434 db.areaset.linkends.attribute = db.linkends.attribute
6435 db.areaset.label.attribute = db.label.attribute
6436 db.areaset.attlist =
6437 db.areaset.role.attribute?
6438 & db.common.idreq.attributes
6439 & db.area.units.attribute
6440 & (db.areaset.linkends.attribute | db.href.attributes)?
6441 & db.areaset.label.attribute?
6444 ## A set of related areas in a graphic or code example
6445 element areaset { db.areaset.attlist, db.area.inareaset+ }
6448 db.screenco.role.attribute = attribute role { text }
6449 db.screenco.attlist =
6450 db.screenco.role.attribute?
6451 & db.common.attributes
6452 & db.common.linking.attributes
6453 db.screenco.info = db._info.title.forbidden
6456 ## A screen with associated areas used in callouts
6458 db.screenco.attlist,
6466 db.imageobjectco.role.attribute = attribute role { text }
6467 db.imageobjectco.attlist =
6468 db.imageobjectco.role.attribute?
6469 & db.common.attributes
6470 & db.common.linking.attributes
6471 db.imageobjectco.info = db._info.title.forbidden
6474 ## A wrapper for an image object with callouts
6475 element imageobjectco {
6476 db.imageobjectco.attlist,
6477 db.imageobjectco.info,
6484 db.co.role.attribute = attribute role { text }
6485 db.co.linkends.attribute = db.linkends.attribute
6486 db.co.label.attribute = db.label.attribute
6488 db.co.role.attribute?
6489 & db.common.idreq.attributes
6490 & db.co.linkends.attribute?
6491 & db.co.label.attribute?
6494 ## The location of a callout embedded in text
6495 element co { db.co.attlist, empty }
6498 db.coref.role.attribute = attribute role { text }
6499 db.coref.label.attribute = db.label.attribute
6501 db.coref.role.attribute?
6502 & db.common.attributes
6503 & db.linkend.attribute
6504 & db.coref.label.attribute?
6507 ## A cross reference to a co
6508 element coref { db.coref.attlist, empty }
6511 db.productionset.role.attribute = attribute role { text }
6512 db.productionset.attlist =
6513 db.productionset.role.attribute?
6514 & db.common.attributes
6515 & db.common.linking.attributes
6516 db.productionset.info = db._info.title.only
6519 ## A set of EBNF productions
6520 element productionset {
6521 db.productionset.attlist,
6522 db.productionset.info,
6523 (db.production | db.productionrecap)+
6527 db.production.role.attribute = attribute role { text }
6528 db.production.attlist =
6529 db.production.role.attribute?
6530 & db.common.idreq.attributes
6531 & db.common.linking.attributes
6534 ## A production in a set of EBNF productions
6535 element production {
6536 db.production.attlist, db.lhs, db.rhs, db.constraint*
6540 db.lhs.role.attribute = attribute role { text }
6542 db.lhs.role.attribute?
6543 & db.common.attributes
6544 & db.common.linking.attributes
6547 ## The left-hand side of an EBNF production
6548 element lhs { db.lhs.attlist, text }
6551 db.rhs.role.attribute = attribute role { text }
6553 db.rhs.role.attribute?
6554 & db.common.attributes
6555 & db.common.linking.attributes
6558 ## The right-hand side of an EBNF production
6561 (text | db.nonterminal | db.lineannotation | db.sbr)*
6565 db.nonterminal.role.attribute = attribute role { text }
6566 db.nonterminal.def.attribute =
6568 ## Specifies a URI that points to a production
6569 ## where the nonterminal
6571 attribute def { xsd:anyURI }
6572 db.nonterminal.attlist =
6573 db.nonterminal.role.attribute?
6574 & db.common.attributes
6575 & db.common.linking.attributes
6576 & db.nonterminal.def.attribute
6579 ## A non-terminal in an EBNF production
6580 element nonterminal { db.nonterminal.attlist, text }
6583 db.constraint.role.attribute = attribute role { text }
6584 db.constraint.attlist =
6585 db.constraint.role.attribute?
6586 & db.common.attributes
6587 & db.common.req.linking.attributes
6590 ## A constraint in an EBNF production
6591 element constraint { db.constraint.attlist, empty }
6594 db.productionrecap.role.attribute = attribute role { text }
6595 db.productionrecap.attlist =
6596 db.productionrecap.role.attribute?
6597 & db.common.attributes
6598 & db.common.req.linking.attributes
6599 db.productionrecap =
6601 ## A cross-reference to an EBNF production
6602 element productionrecap { db.productionrecap.attlist, empty }
6605 db.constraintdef.role.attribute = attribute role { text }
6606 db.constraintdef.attlist =
6607 db.constraintdef.role.attribute?
6608 & db.common.attributes
6609 & db.common.linking.attributes
6610 db.constraintdef.info = db._info.title.only
6613 ## The definition of a constraint in an EBNF production
6614 element constraintdef {
6615 db.constraintdef.attlist, db.constraintdef.info, db.all.blocks+
6620 ## Specifies the alignment character when align
6623 attribute char { text }
6624 db.charoff.attribute =
6626 ## Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in char
6631 xsd:decimal { minExclusive = "0" maxExclusive = "100" }
6633 db.frame.attribute =
6635 ## Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table.
6638 ## Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.
6641 ## Frame only the bottom of the table.
6644 ## Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well.
6647 ## Frame the left and right sides of the table.
6650 ## Frame the top of the table.
6653 ## Frame the top and bottom of the table.
6656 db.colsep.attribute =
6658 ## Specifies the presence or absence of the column separator
6661 ## No column separator rule.
6664 ## Provide a column separator rule on the right
6667 db.rowsep.attribute =
6669 ## Specifies the presence or absence of the row separator
6672 ## No row separator rule.
6675 ## Provide a row separator rule below
6678 db.orient.attribute =
6680 ## Specifies the orientation of the table
6683 ## 90 degrees counter-clockwise from the rest of the text flow.
6686 ## The same orientation as the rest of the text flow.
6689 db.tabstyle.attribute =
6691 ## Specifies the table style
6692 attribute tabstyle { text }
6693 db.rowheader.attribute =
6695 ## Indicates whether or not the entries in the first column should be considered row headers
6696 attribute rowheader {
6698 ## Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers).
6701 ## Indicates that entries in the first column have no special significance with respect to column headers.
6704 db.align.attribute =
6706 ## Specifies the horizontal alignment of text in an entry.
6712 ## Aligned on a particular character.
6715 ## Left and right justified.
6724 db.valign.attribute =
6726 ## Specifies the vertical alignment of text in an entry.
6729 ## Aligned on the bottom of the entry.
6732 ## Aligned in the middle.
6735 ## Aligned at the top of the entry.
6738 db.specify-col-by-colname.attributes =
6740 ## Specifies a column specification by name.
6741 attribute colname { text }
6742 db.specify-col-by-namest.attributes =
6744 ## Specifies a starting column by name.
6745 attribute namest { text }
6746 db.specify-span-by-spanspec.attributes =
6748 ## Specifies a span by name.
6749 attribute spanname { text }
6750 db.specify-span-directly.attributes =
6752 ## Specifies a starting column by name.
6753 attribute namest { text }
6755 ## Specifies an ending column by name.
6756 attribute nameend { text }
6757 db.column-spec.attributes =
6758 db.specify-col-by-colname.attributes
6759 | db.specify-col-by-namest.attributes
6760 | db.specify-span-by-spanspec.attributes
6761 | db.specify-span-directly.attributes
6762 db.colname.attribute =
6764 ## Provides a name for a column specification.
6765 attribute colname { text }
6766 db.spanname.attribute =
6768 ## Provides a name for a span specification.
6769 attribute spanname { text }
6771 db.tgroup.role.attribute = attribute role { text }
6772 db.tgroup.tgroupstyle.attribute =
6774 ## Additional style information for downstream processing; typically the name of a style.
6775 attribute tgroupstyle { text }
6776 db.tgroup.cols.attribute =
6778 ## The number of columns in the table. Must be an integer greater than zero.
6779 attribute cols { xsd:positiveInteger }
6781 db.tgroup.role.attribute?
6782 & db.common.attributes
6783 & db.common.linking.attributes
6784 & db.char.attribute?
6785 & db.charoff.attribute?
6786 & db.tgroup.tgroupstyle.attribute?
6787 & db.tgroup.cols.attribute
6788 & db.colsep.attribute?
6789 & db.rowsep.attribute?
6790 & db.align.attribute?
6793 ## A wrapper for the main content of a table, or part of a table
6804 db.colspec.role.attribute = attribute role { text }
6805 db.colspec.colnum.attribute =
6807 ## The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one.
6808 attribute colnum { xsd:positiveInteger }
6809 db.colspec.colwidth.attribute =
6811 ## Specifies the width of the column.
6812 attribute colwidth { text }
6813 db.colspec.attlist =
6814 db.colspec.role.attribute?
6815 & db.common.attributes
6816 & db.common.linking.attributes
6817 & db.colspec.colnum.attribute?
6818 & db.char.attribute?
6819 & db.colsep.attribute?
6820 & db.colspec.colwidth.attribute?
6821 & db.charoff.attribute?
6822 & db.colname.attribute?
6823 & db.rowsep.attribute?
6824 & db.align.attribute?
6827 ## Specifications for a column in a table
6828 element colspec { db.colspec.attlist, empty }
6831 db.spanspec.role.attribute = attribute role { text }
6832 db.spanspec.namest.attribute =
6834 ## Specifies a starting column by name.
6835 attribute namest { text }
6836 db.spanspec.nameend.attribute =
6838 ## Specifies an ending column by name.
6839 attribute nameend { text }
6840 db.spanspec.attlist =
6841 db.spanspec.role.attribute?
6842 & db.common.attributes
6843 & db.common.linking.attributes
6844 & db.spanname.attribute
6845 & db.spanspec.namest.attribute
6846 & db.spanspec.nameend.attribute
6847 & db.char.attribute?
6848 & db.colsep.attribute?
6849 & db.charoff.attribute?
6850 & db.rowsep.attribute?
6851 & db.align.attribute?
6854 ## Formatting information for a spanned column in a table
6855 element spanspec { db.spanspec.attlist, empty }
6858 db.cals.thead.role.attribute = attribute role { text }
6859 db.cals.thead.attlist =
6860 db.cals.thead.role.attribute?
6861 & db.common.attributes
6862 & db.common.linking.attributes
6863 & db.valign.attribute?
6866 ## A table header consisting of one or more rows
6867 element thead { db.cals.thead.attlist, db.colspec*, db.row+ }
6870 db.cals.tfoot.role.attribute = attribute role { text }
6871 db.cals.tfoot.attlist =
6872 db.cals.tfoot.role.attribute?
6873 & db.common.attributes
6874 & db.common.linking.attributes
6875 & db.valign.attribute?
6878 ## A table footer consisting of one or more rows
6879 element tfoot { db.cals.tfoot.attlist, db.colspec*, db.row+ }
6882 db.cals.tbody.role.attribute = attribute role { text }
6883 db.cals.tbody.attlist =
6884 db.cals.tbody.role.attribute?
6885 & db.common.attributes
6886 & db.common.linking.attributes
6887 & db.valign.attribute?
6890 ## A wrapper for the rows of a table or informal table
6891 element tbody { db.cals.tbody.attlist, db.row+ }
6894 db.row.role.attribute = attribute role { text }
6896 db.row.role.attribute?
6897 & db.common.attributes
6898 & db.common.linking.attributes
6899 & db.rowsep.attribute?
6900 & db.valign.attribute?
6904 element row { db.row.attlist, (db.entry | db.entrytbl)+ }
6907 db.entry.role.attribute = attribute role { text }
6908 db.entry.morerows.attribute =
6910 ## Specifies the number of additional rows which this entry occupies. Defaults to zero.
6911 attribute morerows { xsd:integer }
6912 db.entry.rotate.attribute =
6914 ## Specifies the rotation of this entry. A value of 1 (true) rotates the cell 90 degrees counter-clockwise. A value of 0 (false) leaves the cell unrotated.
6917 ## Do not rotate the cell.
6920 ## Rotate the cell 90 degrees counter-clockwise.
6924 db.entry.role.attribute?
6925 & db.common.attributes
6926 & db.common.linking.attributes
6927 & db.valign.attribute?
6928 & db.char.attribute?
6929 & db.colsep.attribute?
6930 & db.charoff.attribute?
6931 & db.entry.morerows.attribute?
6932 & db.column-spec.attributes?
6933 & db.rowsep.attribute?
6934 & db.entry.rotate.attribute?
6935 & db.align.attribute?
6938 ## A cell in a table
6940 db.entry.attlist, (db.all.inlines* | db.all.blocks*)
6944 db.entrytbl.role.attribute = attribute role { text }
6945 db.entrytbl.tgroupstyle.attribute =
6947 ## Additional style information for downstream processing; typically the name of a style.
6948 attribute tgroupstyle { text }
6949 db.entrytbl.cols.attribute =
6951 ## The number of columns in the entry table. Must be an integer greater than zero.
6952 attribute cols { xsd:positiveInteger }
6953 db.entrytbl.attlist =
6954 db.entrytbl.role.attribute?
6955 & db.common.attributes
6956 & db.common.linking.attributes
6957 & db.char.attribute?
6958 & db.charoff.attribute?
6959 & db.column-spec.attributes?
6960 & db.entrytbl.tgroupstyle.attribute?
6961 & db.entrytbl.cols.attribute?
6962 & db.colsep.attribute?
6963 & db.rowsep.attribute?
6964 & db.align.attribute?
6967 ## A subtable appearing in place of an Entry in a table
6969 db.entrytbl.attlist,
6972 db.cals.entrytbl.thead?,
6973 db.cals.entrytbl.tbody
6977 db.cals.entrytbl.thead.role.attribute = attribute role { text }
6978 db.cals.entrytbl.thead.attlist =
6979 db.cals.entrytbl.thead.role.attribute?
6980 & db.common.attributes
6981 & db.common.linking.attributes
6982 & db.valign.attribute?
6983 db.cals.entrytbl.thead =
6985 ## A table header consisting of one or more rows
6987 db.cals.entrytbl.thead.attlist, db.colspec*, db.entrytbl.row+
6991 db.cals.entrytbl.tbody.role.attribute = attribute role { text }
6992 db.cals.entrytbl.tbody.attlist =
6993 db.cals.entrytbl.tbody.role.attribute?
6994 & db.common.attributes
6995 & db.common.linking.attributes
6996 & db.valign.attribute?
6997 db.cals.entrytbl.tbody =
6999 ## A wrapper for the rows of a table or informal table
7000 element tbody { db.cals.entrytbl.tbody.attlist, db.entrytbl.row+ }
7003 db.entrytbl.row.role.attribute = attribute role { text }
7004 db.entrytbl.row.attlist =
7005 db.entrytbl.row.role.attribute?
7006 & db.common.attributes
7007 & db.common.linking.attributes
7008 & db.rowsep.attribute?
7009 & db.valign.attribute?
7013 element row { db.entrytbl.row.attlist, db.entry+ }
7016 db.cals.table.role.attribute = attribute role { text }
7017 db.cals.table.label.attribute = db.label.attribute
7018 db.cals.table.attlist =
7019 db.cals.table.role.attribute?
7020 & db.cals.table.label.attribute?
7021 & db.common.attributes
7022 & db.common.linking.attributes
7023 & db.tabstyle.attribute?
7024 & db.floatstyle.attribute?
7025 & db.orient.attribute?
7026 & db.colsep.attribute?
7027 & db.rowsep.attribute?
7028 & db.frame.attribute?
7029 & db.pgwide.attribute?
7031 ## Indicates if the short or long title should be used in a List of Tables
7032 attribute shortentry {
7034 ## Indicates that the full title should be used.
7037 ## Indicates that the short short title (titleabbrev) should be used.
7041 ## Indicates if the table should appear in a List of Tables
7042 attribute tocentry {
7044 ## Indicates that the table should not occur in the List of Tables.
7047 ## Indicates that the table should appear in the List of Tables.
7050 & db.rowheader.attribute?
7051 db.cals.table.info = db._info.title.onlyreq
7054 ## A formal table in a document
7057 name = "Element exclusion"
7061 context = "db:table"
7065 test = "not(.//db:example)"
7066 "example must not occur in the descendants of table"
7075 name = "Element exclusion"
7079 context = "db:table"
7083 test = "not(.//db:figure)"
7084 "figure must not occur in the descendants of table"
7093 name = "Element exclusion"
7097 context = "db:table"
7101 test = "not(.//db:equation)"
7102 "equation must not occur in the descendants of table"
7111 name = "Element exclusion"
7115 context = "db:table"
7119 test = "not(.//db:informaltable)"
7120 "informaltable must not occur in the descendants of table"
7129 name = "Element exclusion"
7133 context = "db:table"
7137 test = "not(.//db:caution)"
7138 "caution must not occur in the descendants of table"
7147 name = "Element exclusion"
7151 context = "db:table"
7155 test = "not(.//db:important)"
7156 "important must not occur in the descendants of table"
7165 name = "Element exclusion"
7169 context = "db:table"
7173 test = "not(.//db:note)"
7174 "note must not occur in the descendants of table"
7183 name = "Element exclusion"
7187 context = "db:table"
7191 test = "not(.//db:tip)"
7192 "tip must not occur in the descendants of table"
7201 name = "Element exclusion"
7205 context = "db:table"
7209 test = "not(.//db:warning)"
7210 "warning must not occur in the descendants of table"
7220 db.cals.table.attlist,
7222 (db.alt? & db.indexing.inlines* & db.textobject*),
7223 (db.mediaobject+ | db.tgroup+),
7228 db.cals.informaltable.role.attribute = attribute role { text }
7229 db.cals.informaltable.attlist =
7230 db.cals.informaltable.role.attribute?
7231 & db.common.attributes
7232 & db.common.linking.attributes
7233 & db.tabstyle.attribute?
7234 & db.floatstyle.attribute?
7235 & db.orient.attribute?
7236 & db.colsep.attribute?
7237 & db.rowsep.attribute?
7238 & db.frame.attribute?
7239 & db.pgwide.attribute?
7240 & db.rowheader.attribute?
7241 db.cals.informaltable.info = db._info.title.forbidden
7242 db.cals.informaltable =
7244 ## A table without a title
7245 element informaltable {
7246 db.cals.informaltable.attlist,
7247 db.cals.informaltable.info,
7248 (db.alt? & db.indexing.inlines* & db.textobject*),
7249 (db.mediaobject+ | db.tgroup+),
7255 ## This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters.
7256 attribute class { text }?
7258 ## This attribute specifies style information for the current element.
7259 attribute style { text }?
7261 ## This attribute offers advisory information about the element for which it is set.
7262 attribute title { text }?
7265 ## This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown.
7266 attribute lang { text }?
7269 ## Occurs when the pointing device button is clicked over an element.
7270 attribute onclick { text }?
7272 ## Occurs when the pointing device button is double clicked over an element.
7273 attribute ondblclick { text }?
7275 ## Occurs when the pointing device button is pressed over an element.
7276 attribute onmousedown { text }?
7278 ## Occurs when the pointing device button is released over an element.
7279 attribute onmouseup { text }?
7281 ## Occurs when the pointing device is moved onto an element.
7282 attribute onmouseover { text }?
7284 ## Occurs when the pointing device is moved while it is over an element.
7285 attribute onmousemove { text }?
7287 ## Occurs when the pointing device is moved away from an element.
7288 attribute onmouseout { text }?
7290 ## Occurs when a key is pressed and released over an element.
7291 attribute onkeypress { text }?
7293 ## Occurs when a key is pressed down over an element.
7294 attribute onkeydown { text }?
7296 ## Occurs when a key is released over an element.
7297 attribute onkeyup { text }?
7299 db.common.attributes
7303 db.html.cellhalign =
7305 ## Specifies the alignment of data and the justification of text in a cell.
7308 ## Left-flush data/Left-justify text. This is the default value for table data.
7311 ## Center data/Center-justify text. This is the default value for table headers.
7314 ## Right-flush data/Right-justify text.
7317 ## Double-justify text.
7320 ## Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified.
7324 ## This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute.
7325 attribute char { text }?
7327 ## When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute.
7330 | xsd:string { pattern = "[0-9]+%" }
7332 db.html.cellvalign =
7334 ## Specifies the vertical position of data within a cell.
7337 ## Cell data is flush with the top of the cell.
7340 ## Cell data is centered vertically within the cell. This is the default value.
7343 ## Cell data is flush with the bottom of the cell.
7346 ## All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells.
7349 db.html.table.attributes =
7351 ## Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille.
7352 attribute summary { text }?
7354 ## Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent.
7357 | xsd:string { pattern = "[0-9]+%" }
7360 ## Specifies the width (in pixels only) of the frame around a table.
7361 attribute border { xsd:nonNegativeInteger }?
7363 ## Specifies which sides of the frame surrounding a table will be visible.
7366 ## No sides. This is the default value.
7369 ## The top side only.
7372 ## The bottom side only.
7375 ## The top and bottom sides only.
7378 ## The left-hand side only.
7381 ## The right-hand side only.
7384 ## The right and left sides only.
7394 ## Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent.
7397 ## No rules. This is the default value.
7400 ## Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only.
7403 ## Rules will appear between rows only.
7406 ## Rules will appear between columns only.
7409 ## Rules will appear between all rows and columns.
7413 ## Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells.
7414 attribute cellspacing {
7416 | xsd:string { pattern = "[0-9]+%" }
7419 ## Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space.
7420 attribute cellpadding {
7422 | xsd:string { pattern = "[0-9]+%" }
7424 db.html.tablecell.attributes =
7426 ## Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content.
7427 attribute abbr { text }?
7429 ## This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details.
7430 attribute axis { text }?
7432 ## Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets.
7433 attribute headers { text }?
7435 ## Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables.
7438 ## The current cell provides header information for the rest of the row that contains it
7441 ## The current cell provides header information for the rest of the column that contains it.
7444 ## The header cell provides header information for the rest of the row group that contains it.
7447 ## The header cell provides header information for the rest of the column group that contains it.
7451 ## Specifies the number of rows spanned by the current cell. The default value of this attribute is one (1
7452 ## ). The value zero (0
7453 ## ) means that the cell spans all rows from the current row to the last row of the table section (thead
7456 ## ) in which the cell is defined.
7457 attribute rowspan { xsd:nonNegativeInteger }?
7459 ## Specifies the number of columns spanned by the current cell. The default value of this attribute is one (1
7460 ## ). The value zero (0
7461 ## ) means that the cell spans all columns from the current column to the last column of the column group (colgroup
7462 ## ) in which the cell is defined.
7463 attribute colspan { xsd:nonNegativeInteger }?
7464 db.html.table.info = db._info.title.forbidden
7465 db.html.table.model =
7466 db.html.table.info?,
7468 (db.html.col* | db.html.colgroup*),
7471 (db.html.tbody+ | db.html.tr+)
7472 db.html.informaltable.info = db._info.title.forbidden
7473 db.html.informaltable.model =
7474 db.html.informaltable.info?,
7475 (db.html.col* | db.html.colgroup*),
7478 (db.html.tbody+ | db.html.tr+)
7480 db.html.table.role.attribute = attribute role { text }
7481 db.html.table.label.attribute = db.label.attribute
7482 db.html.table.attlist =
7484 & db.html.table.attributes
7485 & db.html.table.role.attribute?
7486 & db.html.table.label.attribute?
7487 & db.orient.attribute?
7488 & db.pgwide.attribute?
7489 & db.tabstyle.attribute?
7490 & db.floatstyle.attribute?
7493 ## A formal (captioned) HTML table in a document
7496 name = "Element exclusion"
7500 context = "db:table"
7504 test = "not(.//db:example)"
7505 "example must not occur in the descendants of table"
7514 name = "Element exclusion"
7518 context = "db:table"
7522 test = "not(.//db:figure)"
7523 "figure must not occur in the descendants of table"
7532 name = "Element exclusion"
7536 context = "db:table"
7540 test = "not(.//db:equation)"
7541 "equation must not occur in the descendants of table"
7550 name = "Element exclusion"
7554 context = "db:table"
7558 test = "not(.//db:informaltable)"
7559 "informaltable must not occur in the descendants of table"
7568 name = "Element exclusion"
7572 context = "db:table"
7576 test = "not(.//db:caution)"
7577 "caution must not occur in the descendants of table"
7586 name = "Element exclusion"
7590 context = "db:table"
7594 test = "not(.//db:important)"
7595 "important must not occur in the descendants of table"
7604 name = "Element exclusion"
7608 context = "db:table"
7612 test = "not(.//db:note)"
7613 "note must not occur in the descendants of table"
7622 name = "Element exclusion"
7626 context = "db:table"
7630 test = "not(.//db:tip)"
7631 "tip must not occur in the descendants of table"
7640 name = "Element exclusion"
7644 context = "db:table"
7648 test = "not(.//db:warning)"
7649 "warning must not occur in the descendants of table"
7658 element table { db.html.table.attlist, db.html.table.model }
7661 db.html.informaltable.attlist =
7662 db.html.attrs & db.html.table.attributes
7663 db.html.informaltable =
7665 ## An HTML table without a title
7666 element informaltable {
7667 db.html.informaltable.attlist, db.html.informaltable.model
7671 db.html.caption.attlist = db.html.attrs
7674 ## An HTML table caption
7677 name = "Element exclusion"
7681 context = "db:caption"
7685 test = "not(.//db:example)"
7686 "example must not occur in the descendants of caption"
7695 name = "Element exclusion"
7699 context = "db:caption"
7703 test = "not(.//db:figure)"
7704 "figure must not occur in the descendants of caption"
7713 name = "Element exclusion"
7717 context = "db:caption"
7721 test = "not(.//db:table)"
7722 "table must not occur in the descendants of caption"
7731 name = "Element exclusion"
7735 context = "db:caption"
7739 test = "not(.//db:equation)"
7740 "equation must not occur in the descendants of caption"
7749 name = "Element exclusion"
7753 context = "db:caption"
7757 test = "not(.//db:sidebar)"
7758 "sidebar must not occur in the descendants of caption"
7767 name = "Element exclusion"
7771 context = "db:caption"
7775 test = "not(.//db:task)"
7776 "task must not occur in the descendants of caption"
7785 name = "Element exclusion"
7789 context = "db:caption"
7793 test = "not(.//db:caution)"
7794 "caution must not occur in the descendants of caption"
7803 name = "Element exclusion"
7807 context = "db:caption"
7811 test = "not(.//db:important)"
7812 "important must not occur in the descendants of caption"
7821 name = "Element exclusion"
7825 context = "db:caption"
7829 test = "not(.//db:note)"
7830 "note must not occur in the descendants of caption"
7839 name = "Element exclusion"
7843 context = "db:caption"
7847 test = "not(.//db:tip)"
7848 "tip must not occur in the descendants of caption"
7857 name = "Element exclusion"
7861 context = "db:caption"
7865 test = "not(.//db:warning)"
7866 "warning must not occur in the descendants of caption"
7875 element caption { db.html.caption.attlist, db.all.inlines* }
7878 db.html.col.attlist =
7881 ## This attribute, whose value must be an integer > 0, specifies the number of columns spanned
7884 ## element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current col
7885 ## element shares its attributes with the next N-1 columns.
7886 attribute span { xsd:nonNegativeInteger }?
7888 ## Specifies a default width for each column spanned by the current col
7889 ## element. It has the same meaning as the width
7890 ## attribute for the colgroup
7891 ## element and overrides it.
7892 attribute width { text }?
7893 & db.html.cellhalign
7894 & db.html.cellvalign
7897 ## Specifications for a column in an HTML table
7898 element col { db.html.col.attlist, empty }
7901 db.html.colgroup.attlist =
7904 ## This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each colgroup
7905 ## defines a column group containing one column. If the span attribute is set to N > 0, the current colgroup
7906 ## element defines a column group containing N columns. User agents must ignore this attribute if the colgroup
7907 ## element contains one or more col
7909 attribute span { xsd:nonNegativeInteger }?
7911 ## This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form 0*
7912 ## (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying 0*
7913 ## will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a col
7915 attribute width { text }?
7916 & db.html.cellhalign
7917 & db.html.cellvalign
7920 ## A group of columns in an HTML table
7921 element colgroup { db.html.colgroup.attlist, db.html.col* }
7924 db.html.thead.attlist =
7925 db.html.attrs & db.html.cellhalign & db.html.cellvalign
7928 ## A table header consisting of one or more rows in an HTML table
7929 element thead { db.html.thead.attlist, db.html.tr+ }
7932 db.html.tfoot.attlist =
7933 db.html.attrs & db.html.cellhalign & db.html.cellvalign
7936 ## A table footer consisting of one or more rows in an HTML table
7937 element tfoot { db.html.tfoot.attlist, db.html.tr+ }
7940 db.html.tbody.attlist =
7941 db.html.attrs & db.html.cellhalign & db.html.cellvalign
7944 ## A wrapper for the rows of an HTML table or informal HTML table
7945 element tbody { db.html.tbody.attlist, db.html.tr+ }
7948 db.html.tr.attlist =
7949 db.html.attrs & db.html.cellhalign & db.html.cellvalign
7952 ## A row in an HTML table
7953 element tr { db.html.tr.attlist, (db.html.th | db.html.td)+ }
7956 db.html.th.attlist =
7958 & db.html.tablecell.attributes
7959 & db.html.cellhalign
7960 & db.html.cellvalign
7963 ## A table header entry in an HTML table
7965 db.html.th.attlist, (db.all.inlines* | db.all.blocks*)
7969 db.html.td.attlist =
7971 & db.html.tablecell.attributes
7972 & db.html.cellhalign
7973 & db.html.cellvalign
7976 ## A table entry in an HTML table
7978 db.html.td.attlist, (db.all.inlines* | db.all.blocks*)
7982 db.msgset.role.attribute = attribute role { text }
7984 db.msgset.role.attribute?
7985 & db.common.attributes
7986 & db.common.linking.attributes
7987 db.msgset.info = db._info.title.only
7990 ## A detailed set of messages, usually error messages
7994 (db.msgentry+ | db.simplemsgentry+)
7998 db.msgentry.role.attribute = attribute role { text }
7999 db.msgentry.attlist =
8000 db.msgentry.role.attribute?
8001 & db.common.attributes
8002 & db.common.linking.attributes
8005 ## A wrapper for an entry in a message set
8007 db.msgentry.attlist, db.msg+, db.msginfo?, db.msgexplan*
8011 db.simplemsgentry.role.attribute = attribute role { text }
8012 db.simplemsgentry.msgaud.attribute =
8014 ## The audience to which the message relevant
8015 attribute msgaud { text }
8016 db.simplemsgentry.msgorig.attribute =
8018 ## The origin of the message
8019 attribute msgorig { text }
8020 db.simplemsgentry.msglevel.attribute =
8022 ## The level of importance or severity of a message
8023 attribute msglevel { text }
8024 db.simplemsgentry.attlist =
8025 db.simplemsgentry.role.attribute?
8026 & db.common.attributes
8027 & db.common.linking.attributes
8028 & db.simplemsgentry.msgaud.attribute?
8029 & db.simplemsgentry.msgorig.attribute?
8030 & db.simplemsgentry.msglevel.attribute?
8033 ## A wrapper for a simpler entry in a message set
8034 element simplemsgentry {
8035 db.simplemsgentry.attlist, db.msgtext, db.msgexplan+
8039 db.msg.role.attribute = attribute role { text }
8041 db.msg.role.attribute?
8042 & db.common.attributes
8043 & db.common.linking.attributes
8044 db.msg.info = db._info.title.only
8047 ## A message in a message set
8049 db.msg.attlist, db.msg.info, db.msgmain, (db.msgsub | db.msgrel)*
8053 db.msgmain.role.attribute = attribute role { text }
8054 db.msgmain.attlist =
8055 db.msgmain.role.attribute?
8056 & db.common.attributes
8057 & db.common.linking.attributes
8058 db.msgmain.info = db._info.title.only
8061 ## The primary component of a message in a message set
8062 element msgmain { db.msgmain.attlist, db.msgmain.info, db.msgtext }
8065 db.msgsub.role.attribute = attribute role { text }
8067 db.msgsub.role.attribute?
8068 & db.common.attributes
8069 & db.common.linking.attributes
8070 db.msgsub.info = db._info.title.only
8073 ## A subcomponent of a message in a message set
8074 element msgsub { db.msgsub.attlist, db.msgsub.info, db.msgtext }
8077 db.msgrel.role.attribute = attribute role { text }
8079 db.msgrel.role.attribute?
8080 & db.common.attributes
8081 & db.common.linking.attributes
8082 db.msgrel.info = db._info.title.only
8085 ## A related component of a message in a message set
8086 element msgrel { db.msgrel.attlist, db.msgrel.info, db.msgtext }
8089 db.msgtext.role.attribute = attribute role { text }
8090 db.msgtext.attlist =
8091 db.msgtext.role.attribute?
8092 & db.common.attributes
8093 & db.common.linking.attributes
8096 ## The actual text of a message component in a message set
8097 element msgtext { db.msgtext.attlist, db.all.blocks+ }
8100 db.msginfo.role.attribute = attribute role { text }
8101 db.msginfo.attlist =
8102 db.msginfo.role.attribute?
8103 & db.common.attributes
8104 & db.common.linking.attributes
8107 ## Information about a message in a message set
8109 db.msginfo.attlist, (db.msglevel | db.msgorig | db.msgaud)*
8113 db.msglevel.role.attribute = attribute role { text }
8114 db.msglevel.attlist =
8115 db.msglevel.role.attribute?
8116 & db.common.attributes
8117 & db.common.linking.attributes
8120 ## The level of importance or severity of a message in a message set
8121 element msglevel { db.msglevel.attlist, db._text }
8124 db.msgorig.role.attribute = attribute role { text }
8125 db.msgorig.attlist =
8126 db.msgorig.role.attribute?
8127 & db.common.attributes
8128 & db.common.linking.attributes
8131 ## The origin of a message in a message set
8132 element msgorig { db.msgorig.attlist, db._text }
8135 db.msgaud.role.attribute = attribute role { text }
8137 db.msgaud.role.attribute?
8138 & db.common.attributes
8139 & db.common.linking.attributes
8142 ## The audience to which a message in a message set is relevant
8143 element msgaud { db.msgaud.attlist, db._text }
8146 db.msgexplan.role.attribute = attribute role { text }
8147 db.msgexplan.attlist =
8148 db.msgexplan.role.attribute?
8149 & db.common.attributes
8150 & db.common.linking.attributes
8151 db.msgexplan.info = db._info.title.only
8154 ## Explanatory material relating to a message in a message set
8156 db.msgexplan.attlist, db.msgexplan.info, db.all.blocks+
8160 db.qandaset.role.attribute = attribute role { text }
8161 db.qandaset.defaultlabel.enumeration =
8169 ## "Q:" and "A:" labels
8171 db.qandaset.defaultlabel.attribute =
8173 ## Specifies the default labelling
8174 attribute defaultlabel { db.qandaset.defaultlabel.enumeration }
8175 db.qandaset.attlist =
8176 db.qandaset.role.attribute?
8177 & db.common.attributes
8178 & db.common.linking.attributes
8179 & db.qandaset.defaultlabel.attribute?
8180 db.qandaset.info = db._info.title.only
8183 ## A question-and-answer set
8185 db.qandaset.attlist,
8188 (db.qandadiv+ | db.qandaentry+)
8192 db.qandadiv.role.attribute = attribute role { text }
8193 db.qandadiv.attlist =
8194 db.qandadiv.role.attribute?
8195 & db.common.attributes
8196 & db.common.linking.attributes
8197 db.qandadiv.info = db._info.title.only
8200 ## A titled division in a QandASet
8202 db.qandadiv.attlist,
8205 (db.qandadiv+ | db.qandaentry+)
8209 db.qandaentry.role.attribute = attribute role { text }
8210 db.qandaentry.attlist =
8211 db.qandaentry.role.attribute?
8212 & db.common.attributes
8213 & db.common.linking.attributes
8214 db.qandaentry.info = db._info.title.only
8217 ## A question/answer set within a QandASet
8218 element qandaentry {
8219 db.qandaentry.attlist, db.qandaentry.info, db.question, db.answer*
8223 db.question.role.attribute = attribute role { text }
8224 db.question.attlist =
8225 db.question.role.attribute?
8226 & db.common.attributes
8227 & db.common.linking.attributes
8230 ## A question in a QandASet
8231 element question { db.question.attlist, db.label?, db.all.blocks+ }
8234 db.answer.role.attribute = attribute role { text }
8236 db.answer.role.attribute?
8237 & db.common.attributes
8238 & db.common.linking.attributes
8241 ## An answer to a question posed in a QandASet
8242 element answer { db.answer.attlist, db.label?, db.all.blocks+ }
8245 db.label.role.attribute = attribute role { text }
8247 db.label.role.attribute?
8248 & db.common.attributes
8249 & db.common.linking.attributes
8252 ## A label on a Question or Answer
8253 element label { db.label.attlist, db._text }
8255 db.math.inlines = db.inlineequation
8256 db.equation.content = (db.mediaobject+ | db.mathphrase+) | db._any.mml+
8257 db.inlineequation.content =
8258 (db.inlinemediaobject+ | db.mathphrase+) | db._any.mml+
8260 db.equation.role.attribute = attribute role { text }
8261 db.equation.label.attribute = db.label.attribute
8262 db.equation.attlist =
8263 db.equation.role.attribute?
8264 & db.common.attributes
8265 & db.common.linking.attributes
8266 & db.equation.label.attribute?
8267 & db.pgwide.attribute?
8268 & db.floatstyle.attribute?
8269 db.equation.info = db._info.title.only
8272 ## A displayed mathematical equation
8275 name = "Element exclusion"
8279 context = "db:equation"
8283 test = "not(.//db:example)"
8284 "example must not occur in the descendants of equation"
8293 name = "Element exclusion"
8297 context = "db:equation"
8301 test = "not(.//db:figure)"
8302 "figure must not occur in the descendants of equation"
8311 name = "Element exclusion"
8315 context = "db:equation"
8319 test = "not(.//db:table)"
8320 "table must not occur in the descendants of equation"
8329 name = "Element exclusion"
8333 context = "db:equation"
8337 test = "not(.//db:equation)"
8338 "equation must not occur in the descendants of equation"
8347 name = "Element exclusion"
8351 context = "db:equation"
8355 test = "not(.//db:caution)"
8356 "caution must not occur in the descendants of equation"
8365 name = "Element exclusion"
8369 context = "db:equation"
8373 test = "not(.//db:important)"
8374 "important must not occur in the descendants of equation"
8383 name = "Element exclusion"
8387 context = "db:equation"
8391 test = "not(.//db:note)"
8392 "note must not occur in the descendants of equation"
8401 name = "Element exclusion"
8405 context = "db:equation"
8409 test = "not(.//db:tip)"
8410 "tip must not occur in the descendants of equation"
8419 name = "Element exclusion"
8423 context = "db:equation"
8427 test = "not(.//db:warning)"
8428 "warning must not occur in the descendants of equation"
8438 db.equation.attlist,
8441 db.equation.content,
8446 db.informalequation.role.attribute = attribute role { text }
8447 db.informalequation.attlist =
8448 db.informalequation.role.attribute?
8449 & db.common.attributes
8450 & db.common.linking.attributes
8451 db.informalequation.info = db._info.title.forbidden
8452 db.informalequation =
8454 ## A displayed mathematical equation without a title
8455 element informalequation {
8456 db.informalequation.attlist,
8457 db.informalequation.info,
8459 db.equation.content,
8464 db.inlineequation.role.attribute = attribute role { text }
8465 db.inlineequation.attlist =
8466 db.inlineequation.role.attribute?
8467 & db.common.attributes
8468 & db.common.linking.attributes
8471 ## A mathematical equation or expression occurring inline
8472 element inlineequation {
8473 db.inlineequation.attlist, db.alt?, db.inlineequation.content
8477 db.mathphrase.role.attribute = attribute role { text }
8478 db.mathphrase.attlist =
8479 db.mathphrase.role.attribute?
8480 & db.common.attributes
8481 & db.common.linking.attributes
8484 ## A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup
8485 element mathphrase {
8486 db.mathphrase.attlist,
8487 (db._text | db.ubiq.inlines | db._emphasis)*
8491 db.imagedata.mathml.role.attribute = attribute role { text }
8492 db.imagedata.mathml.attlist =
8493 db.imagedata.mathml.role.attribute?
8494 & db.common.attributes
8496 ## Specifies that the format of the data is MathML
8499 ## Specifies MathML.
8502 & db.imagedata.align.attribute?
8503 & db.imagedata.valign.attribute?
8504 & db.imagedata.width.attribute?
8505 & db.imagedata.contentwidth.attribute?
8506 & db.imagedata.scalefit.attribute?
8507 & db.imagedata.scale.attribute?
8508 & db.imagedata.depth.attribute?
8509 & db.imagedata.contentdepth.attribute?
8510 db.imagedata.mathml.info = db._info.title.forbidden
8511 db.imagedata.mathml =
8513 ## A MathML expression in a media object
8515 db.imagedata.mathml.attlist,
8516 db.imagedata.mathml.info,
8523 ## Any element from the MathML namespace
8524 element mml:* { (db._any.attribute | text | db._any)* }
8527 db.imagedata.svg.role.attribute = attribute role { text }
8528 db.imagedata.svg.attlist =
8529 db.imagedata.svg.role.attribute?
8530 & db.common.attributes
8532 ## Specifies that the format of the data is SVG
8538 & db.imagedata.align.attribute?
8539 & db.imagedata.valign.attribute?
8540 & db.imagedata.width.attribute?
8541 & db.imagedata.contentwidth.attribute?
8542 & db.imagedata.scalefit.attribute?
8543 & db.imagedata.scale.attribute?
8544 & db.imagedata.depth.attribute?
8545 & db.imagedata.contentdepth.attribute?
8546 db.imagedata.svg.info = db._info.title.forbidden
8549 ## An SVG drawing in a media object
8551 db.imagedata.svg.attlist, db.imagedata.svg.info, db._any.svg+
8557 ## Any element from the SVG namespace
8558 element svg:* { (db._any.attribute | text | db._any)* }
8571 db.markup.role.attribute = attribute role { text }
8573 db.markup.role.attribute?
8574 & db.common.attributes
8575 & db.common.linking.attributes
8578 ## A string of formatting markup in text that is to be represented literally
8579 element markup { db.markup.attlist, db._text }
8582 db.tag.role.attribute = attribute role { text }
8583 db.tag.class.enumeration =
8588 ## An attribute value
8594 ## An empty element tag
8603 ## The local name part of a qualified name
8609 ## A numeric character reference
8612 ## A parameter entity
8615 ## A processing instruction
8618 ## The prefix part of a qualified name
8627 ## An XML processing instruction
8629 db.tag.class.attribute =
8631 ## Identifies the nature of the tag content
8632 attribute class { db.tag.class.enumeration }
8633 db.tag.namespace.attribute =
8635 ## Identifies the namespace of the tag content
8636 attribute namespace { xsd:anyURI }
8638 db.tag.role.attribute?
8639 & db.common.attributes
8640 & db.common.linking.attributes
8641 & db.tag.class.attribute?
8642 & db.tag.namespace.attribute?
8645 ## A component of XML (or SGML) markup
8646 element tag { db.tag.attlist, db._text }
8649 db.symbol.class.attribute =
8651 ## Identifies the class of symbol
8654 ## The value is a limit of some kind
8657 db.symbol.role.attribute = attribute role { text }
8659 db.symbol.role.attribute?
8660 & db.common.attributes
8661 & db.common.linking.attributes
8662 & db.symbol.class.attribute?
8665 ## A name that is replaced by a value before processing
8666 element symbol { db.symbol.attlist, db._text }
8669 db.token.role.attribute = attribute role { text }
8671 db.token.role.attribute?
8672 & db.common.attributes
8673 & db.common.linking.attributes
8676 ## A unit of information
8677 element token { db.token.attlist, db._text }
8680 db.literal.role.attribute = attribute role { text }
8681 db.literal.attlist =
8682 db.literal.role.attribute?
8683 & db.common.attributes
8684 & db.common.linking.attributes
8687 ## Inline text that is some literal value
8688 element literal { db.literal.attlist, db._text }
8691 code.language.attribute =
8693 ## Identifies the (computer) language of the code fragment
8694 attribute language { text }
8695 db.code.role.attribute = attribute role { text }
8697 db.code.role.attribute?
8698 & db.common.attributes
8699 & db.common.linking.attributes
8700 & code.language.attribute?
8703 ## An inline code fragment
8705 db.code.attlist, (db.programming.inlines | db._text)*
8709 db.constant.class.attribute =
8711 ## Identifies the class of constant
8714 ## The value is a limit of some kind
8717 db.constant.role.attribute = attribute role { text }
8718 db.constant.attlist =
8719 db.constant.role.attribute?
8720 & db.common.attributes
8721 & db.common.linking.attributes
8722 & db.constant.class.attribute?
8725 ## A programming or system constant
8726 element constant { db.constant.attlist, db._text }
8729 db.productname.role.attribute = attribute role { text }
8730 db.productname.class.enumeration =
8732 ## A name with a copyright
8735 ## A name with a registered copyright
8738 ## A name of a service
8741 ## A name which is trademarked
8743 db.productname.class.attribute =
8745 ## Specifies the class of product name
8746 attribute class { db.productname.class.enumeration }
8747 db.productname.attlist =
8748 db.productname.role.attribute?
8749 & db.common.attributes
8750 & db.common.linking.attributes
8751 & db.productname.class.attribute?
8754 ## The formal name of a product
8755 element productname { db.productname.attlist, db._text }
8758 db.productnumber.role.attribute = attribute role { text }
8759 db.productnumber.attlist =
8760 db.productnumber.role.attribute?
8761 & db.common.attributes
8762 & db.common.linking.attributes
8765 ## A number assigned to a product
8766 element productnumber { db.productnumber.attlist, db._text }
8769 db.database.class.enumeration =
8771 ## An alternate or secondary key
8792 ## The first or primary key
8795 ## An alternate or secondary key
8804 ## A (stored) procedure
8813 ## The secondary key
8824 db.database.class.attribute =
8826 ## Identifies the class of database artifact
8827 attribute class { db.database.class.enumeration }
8828 db.database.role.attribute = attribute role { text }
8829 db.database.attlist =
8830 db.database.role.attribute?
8831 & db.common.attributes
8832 & db.common.linking.attributes
8833 & db.database.class.attribute?
8836 ## The name of a database, or part of a database
8837 element database { db.database.attlist, db._text }
8840 db.application.class.enumeration =
8842 ## A hardware application
8845 ## A software application
8847 db.application.class.attribute =
8849 ## Identifies the class of application
8850 attribute class { db.application.class.enumeration }
8851 db.application.role.attribute = attribute role { text }
8852 db.application.attlist =
8853 db.application.role.attribute?
8854 & db.common.attributes
8855 & db.common.linking.attributes
8856 & db.application.class.attribute?
8859 ## The name of a software program
8860 element application { db.application.attlist, db._text }
8863 db.hardware.role.attribute = attribute role { text }
8864 db.hardware.attlist =
8865 db.hardware.role.attribute?
8866 & db.common.attributes
8867 & db.common.linking.attributes
8870 ## A physical part of a computer system
8871 element hardware { db.hardware.attlist, db._text }
8883 db.guibutton.role.attribute = attribute role { text }
8884 db.guibutton.attlist =
8885 db.guibutton.role.attribute?
8886 & db.common.attributes
8887 & db.common.linking.attributes
8890 ## The text on a button in a GUI
8892 db.guibutton.attlist,
8893 (db._text | db.accel | db.superscript | db.subscript)*
8897 db.guiicon.role.attribute = attribute role { text }
8898 db.guiicon.attlist =
8899 db.guiicon.role.attribute?
8900 & db.common.attributes
8901 & db.common.linking.attributes
8904 ## Graphic and/or text appearing as a icon in a GUI
8907 (db._text | db.accel | db.superscript | db.subscript)*
8911 db.guilabel.role.attribute = attribute role { text }
8912 db.guilabel.attlist =
8913 db.guilabel.role.attribute?
8914 & db.common.attributes
8915 & db.common.linking.attributes
8918 ## The text of a label in a GUI
8920 db.guilabel.attlist,
8921 (db._text | db.accel | db.superscript | db.subscript)*
8925 db.guimenu.role.attribute = attribute role { text }
8926 db.guimenu.attlist =
8927 db.guimenu.role.attribute?
8928 & db.common.attributes
8929 & db.common.linking.attributes
8932 ## The name of a menu in a GUI
8935 (db._text | db.accel | db.superscript | db.subscript)*
8939 db.guimenuitem.role.attribute = attribute role { text }
8940 db.guimenuitem.attlist =
8941 db.guimenuitem.role.attribute?
8942 & db.common.attributes
8943 & db.common.linking.attributes
8946 ## The name of a terminal menu item in a GUI
8947 element guimenuitem {
8948 db.guimenuitem.attlist,
8949 (db._text | db.accel | db.superscript | db.subscript)*
8953 db.guisubmenu.role.attribute = attribute role { text }
8954 db.guisubmenu.attlist =
8955 db.guisubmenu.role.attribute?
8956 & db.common.attributes
8957 & db.common.linking.attributes
8960 ## The name of a submenu in a GUI
8961 element guisubmenu {
8962 db.guisubmenu.attlist,
8963 (db._text | db.accel | db.superscript | db.subscript)*
8967 db.menuchoice.role.attribute = attribute role { text }
8968 db.menuchoice.attlist =
8969 db.menuchoice.role.attribute?
8970 & db.common.attributes
8971 & db.common.linking.attributes
8974 ## A selection or series of selections from a menu
8975 element menuchoice {
8976 db.menuchoice.attlist,
8987 db.mousebutton.role.attribute = attribute role { text }
8988 db.mousebutton.attlist =
8989 db.mousebutton.role.attribute?
8990 & db.common.attributes
8991 & db.common.linking.attributes
8994 ## The conventional name of a mouse button
8995 element mousebutton { db.mousebutton.attlist, db._text }
8997 db.keyboard.inlines =
9005 db.keycap.function.enumeration =
9010 ## The "Backspace" key
9013 ## The "Command" key
9016 ## The "Control" key
9028 ## The "Enter" or "Return" key
9049 ## The page down key
9069 db.keycap.function-enum.attribute =
9071 ## Identifies the function key
9072 attribute function { db.keycap.function.enumeration }?
9073 db.keycap.function-other.attributes =
9075 ## Identifies the function key
9076 attribute function {
9078 ## Indicates a non-standard function key
9082 ## Specifies a keyword that identifies the non-standard key
9083 attribute otherfunction { text }
9084 db.keycap.function.attrib =
9085 db.keycap.function-enum.attribute
9086 | db.keycap.function-other.attributes
9087 db.keycap.role.attribute = attribute role { text }
9089 db.keycap.role.attribute?
9090 & db.common.attributes
9091 & db.common.linking.attributes
9092 & db.keycap.function.attrib
9095 ## The text printed on a key on a keyboard
9096 element keycap { db.keycap.attlist, db._text }
9099 db.keycode.role.attribute = attribute role { text }
9100 db.keycode.attlist =
9101 db.keycode.role.attribute?
9102 & db.common.attributes
9103 & db.common.linking.attributes
9106 ## The internal, frequently numeric, identifier for a key on a keyboard
9107 element keycode { db.keycode.attlist, db._text }
9109 db.keycombination.contentmodel =
9110 (db.keycap | db.keycombo | db.keysym) | db.mousebutton
9112 db.keycombo.action.enumeration =
9114 ## A (single) mouse click.
9117 ## A double mouse click.
9120 ## A mouse or key press.
9123 ## Sequential clicks or presses.
9126 ## Simultaneous clicks or presses.
9128 db.keycombo.action-enum.attribute =
9130 ## Identifies the nature of the action taken. If keycombo
9131 ## contains more than one element, simul
9132 ## is the default, otherwise there is no default.
9133 attribute action { db.keycombo.action.enumeration }?
9134 db.keycombo.action-other.attributes =
9136 ## Identifies the nature of the action taken
9139 ## Indicates a non-standard action
9143 ## Identifies the non-standard action in some unspecified way.
9144 attribute otheraction { text }
9145 db.keycombo.action.attrib =
9146 db.keycombo.action-enum.attribute
9147 | db.keycombo.action-other.attributes
9148 db.keycombo.role.attribute = attribute role { text }
9149 db.keycombo.attlist =
9150 db.keycombo.role.attribute?
9151 & db.common.attributes
9152 & db.common.linking.attributes
9153 & db.keycombo.action.attrib
9156 ## A combination of input actions
9158 db.keycombo.attlist, db.keycombination.contentmodel+
9162 db.keysym.role.attribute = attribute role { text }
9164 db.keysym.role.attribute?
9165 & db.common.attributes
9166 & db.common.linking.attributes
9169 ## The symbolic name of a key on a keyboard
9170 element keysym { db.keysym.attlist, db._text }
9173 db.accel.role.attribute = attribute role { text }
9175 db.accel.role.attribute?
9176 & db.common.attributes
9177 & db.common.linking.attributes
9180 ## A graphical user interface (GUI) keyboard shortcut
9181 element accel { db.accel.attlist, db._text }
9184 db.shortcut.action.attrib = db.keycombo.action.attrib
9185 db.shortcut.role.attribute = attribute role { text }
9186 db.shortcut.attlist =
9187 db.shortcut.role.attribute?
9188 & db.common.attributes
9189 & db.common.linking.attributes
9190 & db.shortcut.action.attrib
9193 ## A key combination for an action that is also accessible through a menu
9195 db.shortcut.attlist, db.keycombination.contentmodel+
9205 db.computeroutput.inlines =
9206 (text | db.ubiq.inlines | db.os.inlines | db.technical.inlines)
9209 db.userinput.inlines =
9210 (text | db.ubiq.inlines | db.os.inlines | db.technical.inlines)
9214 | db.keyboard.inlines
9215 db.prompt.inlines = db._text | db.co
9217 db.prompt.role.attribute = attribute role { text }
9219 db.prompt.role.attribute?
9220 & db.common.attributes
9221 & db.common.linking.attributes
9224 ## A character or string indicating the start of an input field in a computer display
9225 element prompt { db.prompt.attlist, db.prompt.inlines* }
9228 db.envar.role.attribute = attribute role { text }
9230 db.envar.role.attribute?
9231 & db.common.attributes
9232 & db.common.linking.attributes
9235 ## A software environment variable
9236 element envar { db.envar.attlist, db._text }
9239 db.filename.class.enumeration =
9247 ## A filename extension
9250 ## A header file (as for a programming language)
9256 ## A partition (as of a hard disk)
9261 db.filename.class.attribute =
9263 ## Identifies the class of filename
9264 attribute class { db.filename.class.enumeration }
9265 db.filename.path.attribute =
9267 ## Specifies the path of the filename
9268 attribute path { text }
9269 db.filename.role.attribute = attribute role { text }
9270 db.filename.attlist =
9271 db.filename.role.attribute?
9272 & db.common.attributes
9273 & db.common.linking.attributes
9274 & db.filename.path.attribute?
9275 & db.filename.class.attribute?
9278 ## The name of a file
9279 element filename { db.filename.attlist, db._text }
9282 db.command.role.attribute = attribute role { text }
9283 db.command.attlist =
9284 db.command.role.attribute?
9285 & db.common.attributes
9286 & db.common.linking.attributes
9289 ## The name of an executable program or other software command
9290 element command { db.command.attlist, db._text }
9293 db.computeroutput.role.attribute = attribute role { text }
9294 db.computeroutput.attlist =
9295 db.computeroutput.role.attribute?
9296 & db.common.attributes
9297 & db.common.linking.attributes
9300 ## Data, generally text, displayed or presented by a computer
9301 element computeroutput {
9302 db.computeroutput.attlist, db.computeroutput.inlines*
9306 db.userinput.role.attribute = attribute role { text }
9307 db.userinput.attlist =
9308 db.userinput.role.attribute?
9309 & db.common.attributes
9310 & db.common.linking.attributes
9313 ## Data entered by the user
9314 element userinput { db.userinput.attlist, db.userinput.inlines* }
9317 db.cmdsynopsis.role.attribute = attribute role { text }
9318 db.cmdsynopsis.sepchar.attribute =
9320 ## Specifies the character that should separate the command and its top-level arguments
9321 attribute sepchar { text }
9322 db.cmdsynopsis.cmdlength.attribute =
9324 ## Indicates the displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line
9325 attribute cmdlength { text }
9326 db.cmdsynopsis.label.attribute = db.label.attribute
9327 db.cmdsynopsis.attlist =
9328 db.cmdsynopsis.role.attribute?
9329 & db.common.attributes
9330 & db.common.linking.attributes
9331 & db.cmdsynopsis.sepchar.attribute?
9332 & db.cmdsynopsis.cmdlength.attribute?
9333 & db.cmdsynopsis.label.attribute?
9334 db.cmdsynopsis.info = db._info.title.forbidden
9337 ## A syntax summary for a software command
9338 element cmdsynopsis {
9339 db.cmdsynopsis.attlist,
9340 db.cmdsynopsis.info,
9341 (db.command | db.arg | db.group | db.sbr)+,
9345 db.rep.enumeration =
9347 ## Can not be repeated.
9354 ## Indicates whether or not repetition is possible.
9355 [ a:defaultValue = "norepeat" ] attribute rep { db.rep.enumeration }
9356 db.choice.enumeration =
9358 ## Formatted to indicate that it is optional.
9361 ## Formatted without indication.
9364 ## Formatted to indicate that it is required.
9366 db.choice.opt.attribute =
9368 ## Indicates optionality.
9369 [ a:defaultValue = "opt" ] attribute choice { db.choice.enumeration }
9370 db.choice.req.attribute =
9372 ## Indicates optionality.
9373 [ a:defaultValue = "req" ] attribute choice { db.choice.enumeration }
9375 db.arg.role.attribute = attribute role { text }
9376 db.arg.rep.attribute = db.rep.attribute
9377 db.arg.choice.attribute = db.choice.opt.attribute
9379 db.arg.role.attribute?
9380 & db.common.attributes
9381 & db.common.linking.attributes
9382 & db.arg.rep.attribute?
9383 & db.arg.choice.attribute?
9386 ## An argument in a CmdSynopsis
9393 | db.synopfragmentref
9398 db.group.role.attribute = attribute role { text }
9399 db.group.rep.attribute = db.rep.attribute
9400 db.group.choice.attribute = db.choice.opt.attribute
9402 db.group.role.attribute?
9403 & db.common.attributes
9404 & db.common.linking.attributes
9405 & db.group.rep.attribute?
9406 & db.group.choice.attribute?
9409 ## A group of elements in a CmdSynopsis
9415 | db.synopfragmentref
9421 db.sbr.role.attribute = attribute role { text }
9422 db.sbr.attlist = db.sbr.role.attribute? & db.common.attributes
9425 ## An explicit line break in a command synopsis
9426 element sbr { db.sbr.attlist, empty }
9429 db.synopfragment.role.attribute = attribute role { text }
9430 db.synopfragment.attlist =
9431 db.synopfragment.role.attribute?
9432 & db.common.attributes
9433 & db.common.linking.attributes
9436 ## A portion of a CmdSynopsis broken out from the main body of the synopsis
9437 element synopfragment {
9438 db.synopfragment.attlist, (db.arg | db.group)+
9442 db.synopfragmentref.role.attribute = attribute role { text }
9443 db.synopfragmentref.attlist =
9444 db.synopfragmentref.role.attribute?
9445 & db.common.attributes
9446 & db.linkend.attribute
9447 db.synopfragmentref =
9449 ## A reference to a fragment of a command synopsis
9452 name = "Synopsis fragment type constraint"
9456 context = "db:synopfragmentref"
9461 "local-name(//*[@xml:id=current()/@linkend]) = 'synopfragment' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"
9462 "@linkend on synopfragmentref must point to a synopfragment."
9471 element synopfragmentref { db.synopfragmentref.attlist, text }
9473 db.programming.inlines =
9486 db.oo.inlines = db.ooclass | db.ooexception | db.oointerface
9487 db.synopsis.blocks =
9491 | db.constructorsynopsis
9492 | db.destructorsynopsis
9496 db.synopsis.role.attribute = attribute role { text }
9497 db.synopsis.label.attribute = db.label.attribute
9498 db.synopsis.attlist =
9499 db.synopsis.role.attribute?
9500 & db.common.attributes
9501 & db.common.linking.attributes
9502 & db.verbatim.attributes
9503 & db.synopsis.label.attribute?
9506 ## A general-purpose element for representing the syntax of commands or functions
9507 element synopsis { db.synopsis.attlist, db.verbatim.contentmodel }
9510 db.funcsynopsis.role.attribute = attribute role { text }
9511 db.funcsynopsis.attlist =
9512 db.funcsynopsis.role.attribute?
9513 & db.common.attributes
9514 & db.common.linking.attributes
9515 & db.language.attribute?
9516 db.funcsynopsis.info = db._info.title.forbidden
9519 ## The syntax summary for a function definition
9520 element funcsynopsis {
9521 db.funcsynopsis.attlist,
9522 db.funcsynopsis.info,
9523 (db.funcsynopsisinfo | db.funcprototype)+
9527 db.funcsynopsisinfo.role.attribute = attribute role { text }
9528 db.funcsynopsisinfo.attlist =
9529 db.funcsynopsisinfo.role.attribute?
9530 & db.common.attributes
9531 & db.common.linking.attributes
9532 & db.verbatim.attributes
9533 db.funcsynopsisinfo =
9535 ## Information supplementing the FuncDefs of a FuncSynopsis
9536 element funcsynopsisinfo {
9537 db.funcsynopsisinfo.attlist, db.verbatim.contentmodel
9541 db.funcprototype.role.attribute = attribute role { text }
9542 db.funcprototype.attlist =
9543 db.funcprototype.role.attribute?
9544 & db.common.attributes
9545 & db.common.linking.attributes
9548 ## The prototype of a function
9549 element funcprototype {
9550 db.funcprototype.attlist,
9553 (db.void | db.varargs | (db.paramdef+, db.varargs?)),
9558 db.funcdef.role.attribute = attribute role { text }
9559 db.funcdef.attlist =
9560 db.funcdef.role.attribute?
9561 & db.common.attributes
9562 & db.common.linking.attributes
9565 ## A function (subroutine) name and its return type
9567 db.funcdef.attlist, (db._text | db.type | db.function)*
9571 db.function.role.attribute = attribute role { text }
9572 db.function.attlist =
9573 db.function.role.attribute?
9574 & db.common.attributes
9575 & db.common.linking.attributes
9578 ## The name of a function or subroutine, as in a programming language
9579 element function { db.function.attlist, db._text }
9582 db.void.role.attribute = attribute role { text }
9584 db.void.role.attribute?
9585 & db.common.attributes
9586 & db.common.linking.attributes
9589 ## An empty element in a function synopsis indicating that the function in question takes no arguments
9590 element void { db.void.attlist, empty }
9593 db.varargs.role.attribute = attribute role { text }
9594 db.varargs.attlist =
9595 db.varargs.role.attribute?
9596 & db.common.attributes
9597 & db.common.linking.attributes
9600 ## An empty element in a function synopsis indicating a variable number of arguments
9601 element varargs { db.varargs.attlist, empty }
9604 db.paramdef.role.attribute = attribute role { text }
9605 db.paramdef.choice.enumeration =
9607 ## Formatted to indicate that it is optional.
9610 ## Formatted to indicate that it is required.
9612 db.paramdef.choice.attribute =
9614 ## Indicates optionality.
9615 [ a:defaultValue = "opt" ]
9616 attribute choice { db.paramdef.choice.enumeration }
9617 db.paramdef.attlist =
9618 db.paramdef.role.attribute?
9619 & db.common.attributes
9620 & db.common.linking.attributes
9621 & db.paramdef.choice.attribute?
9624 ## Information about a function parameter in a programming language
9626 db.paramdef.attlist,
9635 db.funcparams.role.attribute = attribute role { text }
9636 db.funcparams.attlist =
9637 db.funcparams.role.attribute?
9638 & db.common.attributes
9639 & db.common.linking.attributes
9642 ## Parameters for a function referenced through a function pointer in a synopsis
9643 element funcparams { db.funcparams.attlist, db._text }
9646 db.classsynopsis.role.attribute = attribute role { text }
9647 db.classsynopsis.class.enumeration =
9649 ## This is the synopsis of a class
9652 ## This is the synopsis of an interface
9654 db.classsynopsis.class.attribute =
9656 ## Specifies the nature of the synopsis
9657 attribute class { db.classsynopsis.class.enumeration }
9658 db.classsynopsis.attlist =
9659 db.classsynopsis.role.attribute?
9660 & db.common.attributes
9661 & db.common.linking.attributes
9662 & db.language.attribute?
9663 & db.classsynopsis.class.attribute?
9666 ## The syntax summary for a class definition
9667 element classsynopsis {
9668 db.classsynopsis.attlist,
9670 (db.classsynopsisinfo
9672 | db.constructorsynopsis
9673 | db.destructorsynopsis
9674 | db.fieldsynopsis)*
9678 db.classsynopsisinfo.role.attribute = attribute role { text }
9679 db.classsynopsisinfo.attlist =
9680 db.classsynopsisinfo.role.attribute?
9681 & db.common.attributes
9682 & db.common.linking.attributes
9683 & db.verbatim.attributes
9684 db.classsynopsisinfo =
9686 ## Information supplementing the contents of a ClassSynopsis
9687 element classsynopsisinfo {
9688 db.classsynopsisinfo.attlist, db.verbatim.contentmodel
9692 db.ooclass.role.attribute = attribute role { text }
9693 db.ooclass.attlist =
9694 db.ooclass.role.attribute?
9695 & db.common.attributes
9696 & db.common.linking.attributes
9699 ## A class in an object-oriented programming language
9701 db.ooclass.attlist, (db.package | db.modifier)*, db.classname
9705 db.oointerface.role.attribute = attribute role { text }
9706 db.oointerface.attlist =
9707 db.oointerface.role.attribute?
9708 & db.common.attributes
9709 & db.common.linking.attributes
9712 ## An interface in an object-oriented programming language
9713 element oointerface {
9714 db.oointerface.attlist,
9715 (db.package | db.modifier)*,
9720 db.ooexception.role.attribute = attribute role { text }
9721 db.ooexception.attlist =
9722 db.ooexception.role.attribute?
9723 & db.common.attributes
9724 & db.common.linking.attributes
9727 ## An exception in an object-oriented programming language
9728 element ooexception {
9729 db.ooexception.attlist,
9730 (db.package | db.modifier)*,
9734 db.modifier.xml.space.attribute =
9736 ## Can be used to indicate that whitespace in the modifier should be preserved (for multi-line annotations, for example).
9737 attribute xml:space {
9739 ## Extra whitespace and line breaks must be preserved.
9741 # Ideally the definition of xml:space used on modifier would be
9742 # different from the definition used on the verbatim elements. The
9743 # verbatim elements forbid the use of xml:space="default" which
9744 # wouldn't be a problem on modifier. But doing that causes the
9745 # generated XSD schemas to be broken so I'm just reusing the existing
9746 # definition for now. It won't be backwards incompatible to fix this
9747 # problem in the future.
9748 # | ## Extra whitespace and line breaks are not preserved.
9755 db.modifier.role.attribute = attribute role { text }
9756 db.modifier.attlist =
9757 db.modifier.xml.space.attribute?
9758 & db.modifier.role.attribute?
9759 & db.common.attributes
9760 & db.common.linking.attributes
9763 ## Modifiers in a synopsis
9764 element modifier { db.modifier.attlist, db._text }
9767 db.interfacename.role.attribute = attribute role { text }
9768 db.interfacename.attlist =
9769 db.interfacename.role.attribute?
9770 & db.common.attributes
9771 & db.common.linking.attributes
9774 ## The name of an interface
9775 element interfacename { db.interfacename.attlist, db._text }
9778 db.exceptionname.role.attribute = attribute role { text }
9779 db.exceptionname.attlist =
9780 db.exceptionname.role.attribute?
9781 & db.common.attributes
9782 & db.common.linking.attributes
9785 ## The name of an exception
9786 element exceptionname { db.exceptionname.attlist, db._text }
9789 db.fieldsynopsis.role.attribute = attribute role { text }
9790 db.fieldsynopsis.attlist =
9791 db.fieldsynopsis.role.attribute?
9792 & db.common.attributes
9793 & db.common.linking.attributes
9794 & db.language.attribute?
9797 ## The name of a field in a class definition
9798 element fieldsynopsis {
9799 db.fieldsynopsis.attlist,
9807 db.initializer.role.attribute = attribute role { text }
9808 db.initializer.attlist =
9809 db.initializer.role.attribute?
9810 & db.common.attributes
9811 & db.common.linking.attributes
9814 ## The initializer for a FieldSynopsis
9815 element initializer { db.initializer.attlist, db._text }
9818 db.constructorsynopsis.role.attribute = attribute role { text }
9819 db.constructorsynopsis.attlist =
9820 db.constructorsynopsis.role.attribute?
9821 & db.common.attributes
9822 & db.common.linking.attributes
9823 & db.language.attribute?
9824 db.constructorsynopsis =
9826 ## A syntax summary for a constructor
9827 element constructorsynopsis {
9828 db.constructorsynopsis.attlist,
9831 (db.methodparam+ | db.void?),
9836 db.destructorsynopsis.role.attribute = attribute role { text }
9837 db.destructorsynopsis.attlist =
9838 db.destructorsynopsis.role.attribute?
9839 & db.common.attributes
9840 & db.common.linking.attributes
9841 & db.language.attribute?
9842 db.destructorsynopsis =
9844 ## A syntax summary for a destructor
9845 element destructorsynopsis {
9846 db.destructorsynopsis.attlist,
9849 (db.methodparam+ | db.void?),
9854 db.methodsynopsis.role.attribute = attribute role { text }
9855 db.methodsynopsis.attlist =
9856 db.methodsynopsis.role.attribute?
9857 & db.common.attributes
9858 & db.common.linking.attributes
9859 & db.language.attribute?
9862 ## A syntax summary for a method
9863 element methodsynopsis {
9864 db.methodsynopsis.attlist,
9866 (db.type | db.void)?,
9868 (db.methodparam+ | db.void),
9874 db.methodname.role.attribute = attribute role { text }
9875 db.methodname.attlist =
9876 db.methodname.role.attribute?
9877 & db.common.attributes
9878 & db.common.linking.attributes
9881 ## The name of a method
9882 element methodname { db.methodname.attlist, db._text }
9885 db.methodparam.role.attribute = attribute role { text }
9886 db.methodparam.rep.attribute = db.rep.attribute
9887 db.methodparam.choice.attribute = db.choice.req.attribute
9888 db.methodparam.attlist =
9889 db.methodparam.role.attribute?
9890 & db.common.attributes
9891 & db.common.linking.attributes
9892 & db.methodparam.rep.attribute?
9893 & db.methodparam.choice.attribute?
9896 ## Parameters to a method
9897 element methodparam {
9898 db.methodparam.attlist,
9901 ((db.modifier*, db.parameter, db.initializer?) | db.funcparams),
9906 db.varname.role.attribute = attribute role { text }
9907 db.varname.attlist =
9908 db.varname.role.attribute?
9909 & db.common.attributes
9910 & db.common.linking.attributes
9913 ## The name of a variable
9914 element varname { db.varname.attlist, db._text }
9917 db.returnvalue.role.attribute = attribute role { text }
9918 db.returnvalue.attlist =
9919 db.returnvalue.role.attribute?
9920 & db.common.attributes
9921 & db.common.linking.attributes
9924 ## The value returned by a function
9925 element returnvalue { db.returnvalue.attlist, db._text }
9928 db.type.role.attribute = attribute role { text }
9930 db.type.role.attribute?
9931 & db.common.attributes
9932 & db.common.linking.attributes
9935 ## The classification of a value
9936 element type { db.type.attlist, db._text }
9939 db.classname.role.attribute = attribute role { text }
9940 db.classname.attlist =
9941 db.classname.role.attribute?
9942 & db.common.attributes
9943 & db.common.linking.attributes
9946 ## The name of a class, in the object-oriented programming sense
9947 element classname { db.classname.attlist, db._text }
9950 db.programlisting.role.attribute = attribute role { text }
9951 db.programlisting.width.attribute = db.width.characters.attribute
9952 db.programlisting.attlist =
9953 db.programlisting.role.attribute?
9954 & db.common.attributes
9955 & db.common.linking.attributes
9956 & db.verbatim.attributes
9957 & db.programlisting.width.attribute?
9960 ## A literal listing of all or part of a program
9961 element programlisting {
9962 db.programlisting.attlist, db.verbatim.contentmodel
9965 db.admonition.blocks =
9966 db.caution | db.important | db.note | db.tip | db.warning
9967 db.admonition.contentmodel = db._info.title.only, db.all.blocks+
9969 db.caution.role.attribute = attribute role { text }
9970 db.caution.attlist =
9971 db.caution.role.attribute?
9972 & db.common.attributes
9973 & db.common.linking.attributes
9976 ## A note of caution
9979 name = "Element exclusion"
9983 context = "db:caution"
9987 test = "not(.//db:caution)"
9988 "caution must not occur in the descendants of caution"
9997 name = "Element exclusion"
10001 context = "db:caution"
10005 test = "not(.//db:important)"
10006 "important must not occur in the descendants of caution"
10015 name = "Element exclusion"
10019 context = "db:caution"
10023 test = "not(.//db:note)"
10024 "note must not occur in the descendants of caution"
10033 name = "Element exclusion"
10037 context = "db:caution"
10041 test = "not(.//db:tip)"
10042 "tip must not occur in the descendants of caution"
10051 name = "Element exclusion"
10055 context = "db:caution"
10059 test = "not(.//db:warning)"
10060 "warning must not occur in the descendants of caution"
10069 element caution { db.caution.attlist, db.admonition.contentmodel }
10072 db.important.role.attribute = attribute role { text }
10073 db.important.attlist =
10074 db.important.role.attribute?
10075 & db.common.attributes
10076 & db.common.linking.attributes
10079 ## An admonition set off from the text
10082 name = "Element exclusion"
10086 context = "db:important"
10090 test = "not(.//db:caution)"
10091 "caution must not occur in the descendants of important"
10100 name = "Element exclusion"
10104 context = "db:important"
10108 test = "not(.//db:important)"
10109 "important must not occur in the descendants of important"
10118 name = "Element exclusion"
10122 context = "db:important"
10126 test = "not(.//db:note)"
10127 "note must not occur in the descendants of important"
10136 name = "Element exclusion"
10140 context = "db:important"
10144 test = "not(.//db:tip)"
10145 "tip must not occur in the descendants of important"
10154 name = "Element exclusion"
10158 context = "db:important"
10162 test = "not(.//db:warning)"
10163 "warning must not occur in the descendants of important"
10172 element important {
10173 db.important.attlist, db.admonition.contentmodel
10177 db.note.role.attribute = attribute role { text }
10179 db.note.role.attribute?
10180 & db.common.attributes
10181 & db.common.linking.attributes
10184 ## A message set off from the text
10187 name = "Element exclusion"
10191 context = "db:note"
10195 test = "not(.//db:caution)"
10196 "caution must not occur in the descendants of note"
10205 name = "Element exclusion"
10209 context = "db:note"
10213 test = "not(.//db:important)"
10214 "important must not occur in the descendants of note"
10223 name = "Element exclusion"
10227 context = "db:note"
10231 test = "not(.//db:note)"
10232 "note must not occur in the descendants of note"
10241 name = "Element exclusion"
10245 context = "db:note"
10249 test = "not(.//db:tip)"
10250 "tip must not occur in the descendants of note"
10259 name = "Element exclusion"
10263 context = "db:note"
10267 test = "not(.//db:warning)"
10268 "warning must not occur in the descendants of note"
10277 element note { db.note.attlist, db.admonition.contentmodel }
10280 db.tip.role.attribute = attribute role { text }
10282 db.tip.role.attribute?
10283 & db.common.attributes
10284 & db.common.linking.attributes
10287 ## A suggestion to the user, set off from the text
10290 name = "Element exclusion"
10298 test = "not(.//db:caution)"
10299 "caution must not occur in the descendants of tip"
10308 name = "Element exclusion"
10316 test = "not(.//db:important)"
10317 "important must not occur in the descendants of tip"
10326 name = "Element exclusion"
10334 test = "not(.//db:note)"
10335 "note must not occur in the descendants of tip"
10344 name = "Element exclusion"
10352 test = "not(.//db:tip)"
10353 "tip must not occur in the descendants of tip"
10362 name = "Element exclusion"
10370 test = "not(.//db:warning)"
10371 "warning must not occur in the descendants of tip"
10380 element tip { db.tip.attlist, db.admonition.contentmodel }
10383 db.warning.role.attribute = attribute role { text }
10384 db.warning.attlist =
10385 db.warning.role.attribute?
10386 & db.common.attributes
10387 & db.common.linking.attributes
10390 ## An admonition set off from the text
10393 name = "Element exclusion"
10397 context = "db:warning"
10401 test = "not(.//db:caution)"
10402 "caution must not occur in the descendants of warning"
10411 name = "Element exclusion"
10415 context = "db:warning"
10419 test = "not(.//db:important)"
10420 "important must not occur in the descendants of warning"
10429 name = "Element exclusion"
10433 context = "db:warning"
10437 test = "not(.//db:note)"
10438 "note must not occur in the descendants of warning"
10447 name = "Element exclusion"
10451 context = "db:warning"
10455 test = "not(.//db:tip)"
10456 "tip must not occur in the descendants of warning"
10465 name = "Element exclusion"
10469 context = "db:warning"
10473 test = "not(.//db:warning)"
10474 "warning must not occur in the descendants of warning"
10483 element warning { db.warning.attlist, db.admonition.contentmodel }
10486 db.errorcode | db.errortext | db.errorname | db.errortype
10488 db.errorcode.role.attribute = attribute role { text }
10489 db.errorcode.attlist =
10490 db.errorcode.role.attribute?
10491 & db.common.attributes
10492 & db.common.linking.attributes
10496 element errorcode { db.errorcode.attlist, db._text }
10499 db.errorname.role.attribute = attribute role { text }
10500 db.errorname.attlist =
10501 db.errorname.role.attribute?
10502 & db.common.attributes
10503 & db.common.linking.attributes
10507 element errorname { db.errorname.attlist, db._text }
10510 db.errortext.role.attribute = attribute role { text }
10511 db.errortext.attlist =
10512 db.errortext.role.attribute?
10513 & db.common.attributes
10514 & db.common.linking.attributes
10517 ## An error message.
10518 element errortext { db.errortext.attlist, db._text }
10521 db.errortype.role.attribute = attribute role { text }
10522 db.errortype.attlist =
10523 db.errortype.role.attribute?
10524 & db.common.attributes
10525 & db.common.linking.attributes
10528 ## The classification of an error message
10529 element errortype { db.errortype.attlist, db._text }
10531 db.systemitem.inlines = db._text | db.co
10533 db.systemitem.class.enumeration =
10535 ## A daemon or other system process (syslogd)
10538 ## A domain name (example.com)
10541 ## An ethernet address (00:05:4E:49:FD:8E)
10544 ## An event of some sort (SIGHUP)
10547 ## An event handler of some sort (hangup)
10550 ## A filesystem (ext3)
10553 ## A fully qualified domain name (my.example.com)
10556 ## A group name (wheel)
10559 ## An IP address (127.0.0.1)
10562 ## A library (libncurses)
10568 ## A netmask (255.255.255.192)
10571 ## A newsgroup (comp.text.xml)
10574 ## An operating system name (Hurd)
10577 ## A process (gnome-cups-icon)
10580 ## A protocol (ftp)
10586 ## A server (mail.example.com)
10592 ## A system name (hephaistos)
10595 ## A user name (ndw)
10597 db.systemitem.class.attribute =
10599 ## Identifies the nature of the system item
10600 attribute class { db.systemitem.class.enumeration }
10601 db.systemitem.role.attribute = attribute role { text }
10602 db.systemitem.attlist =
10603 db.systemitem.role.attribute?
10604 & db.common.attributes
10605 & db.common.linking.attributes
10606 & db.systemitem.class.attribute?
10609 ## A system-related item or term
10610 element systemitem { db.systemitem.attlist, db.systemitem.inlines* }
10613 db.option.role.attribute = attribute role { text }
10614 db.option.attlist =
10615 db.option.role.attribute?
10616 & db.common.attributes
10617 & db.common.linking.attributes
10620 ## An option for a software command
10621 element option { db.option.attlist, db._text }
10624 db.optional.role.attribute = attribute role { text }
10625 db.optional.attlist =
10626 db.optional.role.attribute?
10627 & db.common.attributes
10628 & db.common.linking.attributes
10631 ## Optional information
10632 element optional { db.optional.attlist, db._text }
10635 db.property.role.attribute = attribute role { text }
10636 db.property.attlist =
10637 db.property.role.attribute?
10638 & db.common.attributes
10639 & db.common.linking.attributes
10642 ## A unit of data associated with some part of a computer system
10643 element property { db.property.attlist, db._text }
10646 db.xi.include.attlist =
10648 xsd:anyURI { pattern = "[^#]+" }
10650 [ a:defaultValue = "xml" ] attribute parse { "xml" | "text" }?,
10651 attribute xpointer { text }?,
10652 attribute encoding { text }?,
10653 attribute accept { text }?,
10654 attribute accept-language { text }?
10658 element xi:include { db.xi.include.attlist, db.xi.fallback? }
10661 # The fallback element has no attributes
10664 ## An XInclude fallback
10665 element xi:fallback { db.all.blocks+ | db.all.inlines+ | db._any* }