namespace ctrl = "http://nwalsh.com/xmlns/schema-control/" default namespace db = "http://docbook.org/docbook-ng" namespace dbx = "http://sourceforge.net/projects/docbook/defguide/schema/extra-markup" namespace dtd = "http://relaxng.org/ns/compatibility/annotations/1.0" namespace html = "http://www.w3.org/1999/xhtml" namespace ns1 = "http://www.w3.org/1998/Math/MathML" namespace ns2 = "http://www.w3.org/2000/svg" namespace s = "http://www.ascc.net/xml/schematron" namespace xlink = "http://www.w3.org/1999/xlink" # DocBook NG: The "Gin" Release # See http://docbook.org/docbook-ng/ start = (db.set | db.book | db.divisions | db.components | db.navigation.components | db.section | db.para) | db.refentry | db.setindex [ db:refname [ "extendedlink" ] db:refpurpose [ ] ] div { db.extendedlink.role.attribute = attribute role { text } db.extendedlink.attlist = db.extendedlink.role.attribute? & db.common.attributes & [ dtd:defaultValue = "extended" ] attribute xlink:type { "extended" }? & attribute xlink:role { xsd:anyURI }? & attribute xlink:title { text }? db.extendedlink = element extendedlink { db.extendedlink.attlist, (db.locator | db.arc)+ } } [ db:refname [ "locator" ] db:refpurpose [ ] ] div { db.locator.role.attribute = attribute role { text } db.locator.attlist = db.locator.role.attribute? & db.common.attributes & [ dtd:defaultValue = "locator" ] attribute xlink:type { "locator" }? & attribute xlink:href { text } & attribute xlink:role { xsd:anyURI }? & attribute xlink:title { text }? & attribute xlink:label { xsd:NMTOKEN }? db.locator = element locator { db.locator.attlist, empty } } [ db:refname [ "arc" ] db:refpurpose [ ] ] div { db.arc.role.attribute = attribute role { text } db.arc.attlist = db.arc.role.attribute? & db.common.attributes & [ dtd:defaultValue = "arc" ] attribute xlink:type { "arc" }? & attribute xlink:arcrole { xsd:anyURI }? & attribute xlink:title { text }? & attribute xlink:show { "new" | "replace" | "embed" | "other" }? & attribute xlink:actuate { "onLoad" | "onRequest" | "other" | "none" }? & attribute xlink:from { xsd:NMTOKEN }? & attribute xlink:to { xsd:NMTOKEN }? db.arc = element arc { db.arc.attlist, empty } } [ db:refpurpose [ "Identifies the editorial or publication status of the element on which it occurs" ] dbx:description [ "\x{a}" ~ " " db:para [ "Publication status might be used to control formatting (for example, printing a “draft” watermark on drafts) or processing (perhaps a document with a status of “final” should not include any components that are not final)." ] "\x{a}" ~ " " ] ] db.status.attribute = attribute status { text } [ db:refpurpose [ "Specifies an identifying string for presentation purposes" ] dbx:description [ "\x{a}" ~ " " db:para [ "Generally, an explicit Label attribute is used only if the processing system is incapable of generating the label automatically. Under such circumstances, the third " db:tag [ "book" ] "\x{a}" ~ " in a " db:tag [ "set" ] "\x{a}" ~ " might be labeled “Volume III”, for example." ] "\x{a}" ~ " " db:para [ "If present, the " db:tag [ class = "attribute" "label" ] "\x{a}" ~ " is normative; it will used even if the processing system is capable of automatic labelling." ] "\x{a}" ~ " " ] ] db.label.attribute = attribute label { text } db.toplevel.optional.sections = (db.section* | db.simplesect*) | db.sect1* | db.refentry* db.toplevel.required.sections = (db.section+ | db.simplesect+) | db.sect1+ | db.refentry+ db.toplevel.blocks.or.sections = (db.all.blocks+, db.toplevel.optional.sections) | db.toplevel.required.sections db.recursive.optional.sections = (db.section* | db.simplesect*) | db.refentry* db.recursive.required.sections = (db.section+ | db.simplesect+) | db.refentry+ db.recursive.blocks.or.sections = (db.all.blocks+, db.recursive.optional.sections) | db.recursive.required.sections db.optional.refentry = notAllowed | db.refentry* db.required.refentry = notAllowed | db.refentry+ db.divisions = db.part | db.reference db.components = db.dedication | db.preface | db.chapter | db.appendix | db.article | db.colophon db.navigation.components = notAllowed | db.glossary | db.bibliography | db.index | db.toc db.component.contentmodel = db.navigation.components*, db.toplevel.blocks.or.sections, db.navigation.components* db.setindex.components = notAllowed | db.setindex db.toc.components = notAllowed | db.toc [ db:refname [ "set" ] db:refpurpose [ ] ] div { db.set.status.attribute = db.status.attribute db.set.role.attribute = attribute role { text } db.set.attlist = db.set.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.set.status.attribute? db.set.info = db._info.title.req db.set = [ s:rule [ context = "/db:set" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element set { db.set.attlist, db.set.info, db.toc.components?, (db.set | db.book)+, db.setindex.components? } } [ db:refname [ "book" ] db:refpurpose [ ] ] div { db.book.status.attribute = db.status.attribute db.book.role.attribute = attribute role { text } db.book.attlist = db.book.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.book.status.attribute? db.book.info = db._info.title.req db.book = [ s:rule [ context = "/db:book" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element book { db.book.attlist, db.book.info, (db.navigation.components | db.components | db.divisions)+ } } [ db:refname [ "dedication" ] db:refpurpose [ ] ] div { db.dedication.status.attribute = db.status.attribute db.dedication.role.attribute = attribute role { text } db.dedication.attlist = db.dedication.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.dedication.status.attribute? db.dedication.info = db._info db.dedication = [ s:rule [ context = "/db:dedication" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element dedication { db.dedication.attlist, db.dedication.info, db.all.blocks+ } } [ db:refname [ "colophon" ] db:refpurpose [ ] ] div { db.colophon.status.attribute = db.status.attribute db.colophon.role.attribute = attribute role { text } db.colophon.attlist = db.colophon.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.colophon.status.attribute? db.colophon.info = db._info db.colophon = [ s:rule [ context = "/db:colophon" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element colophon { db.colophon.attlist, db.colophon.info, db.all.blocks+ } } [ db:refname [ "appendix" ] db:refpurpose [ ] ] div { db.appendix.status.attribute = db.status.attribute db.appendix.role.attribute = attribute role { text } db.appendix.attlist = db.appendix.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.appendix.status.attribute? db.appendix.info = db._info.title.req db.appendix = [ s:rule [ context = "/db:appendix" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element appendix { db.appendix.attlist, db.appendix.info, db.component.contentmodel } } [ db:refname [ "chapter" ] db:refpurpose [ ] ] div { db.chapter.status.attribute = db.status.attribute db.chapter.role.attribute = attribute role { text } db.chapter.attlist = db.chapter.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.chapter.status.attribute? db.chapter.info = db._info.title.req db.chapter = [ s:rule [ context = "/db:chapter" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element chapter { db.chapter.attlist, db.chapter.info, db.component.contentmodel } } db.part.components = (db.navigation.components | db.components) | (db.refentry | db.reference) [ db:refname [ "part" ] db:refpurpose [ ] ] div { db.part.status.attribute = db.status.attribute db.part.role.attribute = attribute role { text } db.part.attlist = db.part.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.part.status.attribute? db.part.info = db._info.title.req db.part = [ s:rule [ context = "/db:part" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element part { db.part.attlist, db.part.info, db.partintro?, db.part.components+ } } [ db:refname [ "preface" ] db:refpurpose [ ] ] div { db.preface.status.attribute = db.status.attribute db.preface.role.attribute = attribute role { text } db.preface.attlist = db.preface.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.preface.status.attribute? db.preface.info = db._info db.preface = [ s:rule [ context = "/db:preface" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element preface { db.preface.attlist, db.preface.info, db.component.contentmodel } } [ db:refname [ "partintro" ] db:refpurpose [ ] ] div { db.partintro.status.attribute = db.status.attribute db.partintro.role.attribute = attribute role { text } db.partintro.attlist = db.partintro.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.partintro.status.attribute? db.partintro.info = db._info db.partintro = element partintro { db.partintro.attlist, db.partintro.info, db.toplevel.blocks.or.sections } } [ db:refname [ "section" ] db:refpurpose [ ] ] div { db.section.status.attribute = db.status.attribute db.section.role.attribute = attribute role { text } db.section.attlist = db.section.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.section.status.attribute? db.section.info = db._info.title.req db.section = [ s:rule [ context = "/db:section" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element section { db.section.attlist, db.section.info, db.recursive.blocks.or.sections } } [ db:refname [ "simplesect" ] db:refpurpose [ ] ] div { db.simplesect.status.attribute = db.status.attribute db.simplesect.role.attribute = attribute role { text } db.simplesect.attlist = db.simplesect.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.simplesect.status.attribute? db.simplesect.info = db._info.title.req db.simplesect = element simplesect { db.simplesect.attlist, db.simplesect.info, db.all.blocks+ } } [ db:refname [ "ackno" ] db:refpurpose [ ] ] div { db.ackno.role.attribute = attribute role { text } db.ackno.attlist = db.ackno.role.attribute? & db.common.attributes & db.common.linking.attributes db.ackno = element ackno { db.ackno.attlist, db.para.blocks+ } } db.article.optional.components = (db.section* | db.simplesect*) | db.refentry* db.article.required.components = (db.section+ | db.simplesect+) | db.refentry+ [ db:refname [ "article" ] db:refpurpose [ "An article" ] dbx:description [ "\x{a}" ~ " " db:para [ "The " db:tag [ "article" ] "\x{a}" ~ " element is a general-purpose container for articles. The content model is both quite complex and rather loose in order to accommodate the wide range of possible " db:tag [ "article" ] "\x{a}" ~ " structures. Although changes to the " db:tag [ "article" ] "\x{a}" ~ " element have been discussed on several occasions, no better model has been presented." ] "\x{a}" ~ " " db:para [ "An " db:tag [ "article" ] "\x{a}" ~ " is composed of a header and a body. The body may include a table of contents and multiple lists of tables, figures, and so on, before the main text of the article and may include a number of common end-matter components at the end." ] "\x{a}" ~ " " ] dbx:expectations [ "\x{a}" ~ " " db:para [ "\x{a}" ~ " " dbx:format [ class = "block" ] "\x{a}" ~ "Formatted as a displayed block. Frequently causes a forced page break in print media. May be numbered separately and presented in the table of contents." ] "\x{a}" ~ " " ] ] div { db.article.status.attribute = db.status.attribute [ db:refpurpose [ "Class identifies the type of article." ] ] db.article.class.attribute = attribute class { "faq" | "journalarticle" | "productsheet" | "specification" | "techreport" | "whitepaper" } db.article.role.attribute = attribute role { text } db.article.attlist = db.article.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.article.status.attribute? & db.article.class.attribute? db.article.info = db._info.title.req db.article = [ s:rule [ context = "/db:article" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element article { db.article.attlist, db.article.info, db.navigation.components*, ((db.all.blocks+, db.article.optional.components) | db.article.required.components), (db.appendix | db.navigation.components | db.ackno)* } } [ db:refname [ "sect1" ] db:refpurpose [ ] ] div { db.sect1.status.attribute = db.status.attribute db.sect1.role.attribute = attribute role { text } db.sect1.attlist = db.sect1.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.sect1.status.attribute? db.sect1.info = db._info.title.req db.sect1 = element sect1 { db.sect1.attlist, db.sect1.info, ((db.all.blocks+, (db.optional.refentry | (db.sect2*, db.simplesect*))) | db.required.refentry | (db.sect2+, db.simplesect*) | db.simplesect+) } } [ db:refname [ "sect2" ] db:refpurpose [ ] ] div { db.sect2.status.attribute = db.status.attribute db.sect2.role.attribute = attribute role { text } db.sect2.attlist = db.sect2.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.sect2.status.attribute? db.sect2.info = db._info.title.req db.sect2 = element sect2 { db.sect2.attlist, db.sect2.info, ((db.all.blocks+, (db.optional.refentry | (db.sect3*, db.simplesect*))) | db.required.refentry | (db.sect3+, db.simplesect*) | db.simplesect+) } } [ db:refname [ "sect3" ] db:refpurpose [ ] ] div { db.sect3.status.attribute = db.status.attribute db.sect3.role.attribute = attribute role { text } db.sect3.attlist = db.sect3.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.sect3.status.attribute? db.sect3.info = db._info.title.req db.sect3 = element sect3 { db.sect3.attlist, db.sect3.info, ((db.all.blocks+, (db.optional.refentry | (db.sect4*, db.simplesect*))) | db.required.refentry | (db.sect4+, db.simplesect*) | db.simplesect+) } } [ db:refname [ "sect4" ] db:refpurpose [ ] ] div { db.sect4.status.attribute = db.status.attribute db.sect4.role.attribute = attribute role { text } db.sect4.attlist = db.sect4.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.sect4.status.attribute? db.sect4.info = db._info.title.req db.sect4 = element sect4 { db.sect4.attlist, db.sect4.info, ((db.all.blocks+, (db.optional.refentry | (db.sect5*, db.simplesect*))) | db.required.refentry | (db.sect5+, db.simplesect*) | db.simplesect+) } } [ db:refname [ "sect5" ] db:refpurpose [ ] ] div { db.sect5.status.attribute = db.status.attribute db.sect5.role.attribute = attribute role { text } db.sect5.attlist = db.sect5.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.sect5.status.attribute? db.sect5.info = db._info.title.req db.sect5 = element sect5 { db.sect5.attlist, db.sect5.info, ((db.all.blocks+, (db.optional.refentry | db.simplesect*)) | db.required.refentry | db.simplesect+) } } db.refsect1 = notAllowed | element refsect1 { db.refsect1.attlist, db.refsect1.info, ((db.all.blocks+, db.refsect2*) | db.refsect2+) } db.refsect2 = notAllowed | element refsect2 { db.refsect2.attlist, db.refsect2.info, ((db.all.blocks+, db.refsect3*) | db.refsect3+) } [ db:refname [ "reference" ] db:refpurpose [ ] ] div { db.reference.role.attribute = attribute role { text } db.reference.attlist = db.reference.role.attribute? & db.common.attributes & db.common.linking.attributes & db.status.attribute? & db.label.attribute? db.reference.info = db._info.title.req db.reference = [ s:rule [ context = "/db:reference" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element reference { db.reference.attlist, db.reference.info, db.partintro?, db.refentry+ } } [ db:refname [ "refentry" ] db:refpurpose [ ] ] div { db.refentry.role.attribute = attribute role { text } db.refentry.attlist = db.refentry.role.attribute? & db.common.attributes & db.common.linking.attributes & db.status.attribute? & db.label.attribute? db.refentry.info = db._info.title.forbidden db.refentry = [ s:rule [ context = "/db:refentry" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element refentry { db.refentry.attlist, db.indexterm*, db.refentry.info, db.refmeta?, db.refnamediv+, db.refsynopsisdiv?, (db.refsection+ | db.refsect1+) } } [ db:refname [ "refmeta" ] db:refpurpose [ ] ] div { db.refmeta.role.attribute = attribute role { text } db.refmeta.attlist = db.refmeta.role.attribute? & db.common.attributes & db.common.linking.attributes db.refmeta = element refmeta { db.refmeta.attlist, db.indexterm*, db.refentrytitle, db.manvolnum?, db.refmiscinfo*, db.indexterm* } } [ db:refname [ "db.refmiscinfo" ] db:refpurpose [ ] ] div { db.refmiscinfo.role.attribute = attribute role { text } db.refmiscinfo.attlist = db.refmiscinfo.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute class { text }? db.refmiscinfo = element refmiscinfo { db.refmiscinfo.attlist, db._text } } [ db:refname [ "refnamediv" ] db:refpurpose [ ] ] div { db.refnamediv.role.attribute = attribute role { text } db.refnamediv.attlist = db.refnamediv.role.attribute? & db.common.attributes & db.common.linking.attributes db.refnamediv = element refnamediv { db.refnamediv.attlist, db.refdescriptor?, db.refname+, db.refpurpose, db.refclass* } } [ db:refname [ "refdescriptor" ] db:refpurpose [ ] ] div { db.refdescriptor.role.attribute = attribute role { text } db.refdescriptor.attlist = db.refdescriptor.role.attribute? & db.common.attributes & db.common.linking.attributes db.refdescriptor = element refdescriptor { db.refdescriptor.attlist, db.all.inlines* } } [ db:refname [ "refname" ] db:refpurpose [ ] ] div { db.refname.role.attribute = attribute role { text } db.refname.attlist = db.refname.role.attribute? & db.common.attributes & db.common.linking.attributes db.refname = element refname { db.refname.attlist, db.all.inlines* } } [ db:refname [ "refpurpose" ] db:refpurpose [ ] ] div { db.refpurpose.role.attribute = attribute role { text } db.refpurpose.attlist = db.refpurpose.role.attribute? & db.common.attributes & db.common.linking.attributes db.refpurpose = element refpurpose { db.refpurpose.attlist, db.all.inlines* } } [ db:refname [ "refclass" ] db:refpurpose [ ] ] div { db.refclass.role.attribute = attribute role { text } db.refclass.attlist = db.refclass.role.attribute? & db.common.attributes & db.common.linking.attributes db.refclass = element refclass { db.refclass.attlist, (text | db.application)* } } [ db:refname [ "refsynopsisdiv" ] db:refpurpose [ ] ] div { db.refsynopsisdiv.role.attribute = attribute role { text } db.refsynopsisdiv.attlist = db.refsynopsisdiv.role.attribute? & db.common.attributes & db.common.linking.attributes db.refsynopsisdiv.info = db._info db.refsynopsisdiv = element refsynopsisdiv { db.refsynopsisdiv.attlist, db.refsynopsisdiv.info, ((db.all.blocks+, (db.refsection* | db.refsect2*)) | (db.refsection+ | db.refsect2+)) } } [ db:refname [ "refsection" ] db:refpurpose [ ] ] div { db.refsection.role.attribute = attribute role { text } db.refsection.attlist = db.refsection.role.attribute? & db.common.attributes & db.common.linking.attributes & db.status.attribute? & db.label.attribute? db.refsection.info = db._info.title.req db.refsection = element refsection { db.refsection.attlist, db.refsection.info, ((db.all.blocks+, db.refsection*) | db.refsection+) } } [ db:refname [ "refsect1" ] db:refpurpose [ ] ] div { db.refsect1.status.attribute = db.status.attribute db.refsect1.role.attribute = attribute role { text } db.refsect1.attlist = db.refsect1.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.refsect1.status.attribute? db.refsect1.info = db._info.title.req } [ db:refname [ "refsect2" ] db:refpurpose [ ] ] div { db.refsect2.status.attribute = db.status.attribute db.refsect2.role.attribute = attribute role { text } db.refsect2.attlist = db.refsect2.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.refsect2.status.attribute? db.refsect2.info = db._info.title.req } [ db:refname [ "refsect3" ] db:refpurpose [ ] ] div { db.refsect3.status.attribute = db.status.attribute db.refsect3.role.attribute = attribute role { text } db.refsect3.attlist = db.refsect3.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.refsect3.status.attribute? db.refsect3.info = db._info.title.req db.refsect3 = element refsect3 { db.refsect3.attlist, db.refsect3.info, db.all.blocks+ } } db._any = element * - db:* { db._any.attribute*, (text, db._any)* } db._any.attribute = attribute * { text } db.effectivity.attributes = attribute arch { text }?, attribute condition { text }?, attribute conformance { text }?, attribute os { text }?, attribute revision { text }?, attribute security { text }?, attribute userlevel { text }?, attribute vendor { text }? db.linkend.attribute = attribute linkend { xsd:IDREF } db.linkends.attribute = attribute linkends { xsd:IDREFS } db.href.attribute = attribute xlink:href { text } & [ dtd:defaultValue = "simple" ] attribute xlink:type { "simple" }? & attribute xlink:role { xsd:anyURI }? & attribute xlink:arcrole { xsd:anyURI }? & attribute xlink:title { text }? & attribute xlink:show { "new" | "replace" | "embed" | "other" }? & attribute xlink:actuate { "onLoad" | "onRequest" | "other" | "none" }? db.common.attributes = attribute xml:id { xsd:ID }?, attribute version { text }?, attribute xml:lang { text }?, attribute xml:base { text }?, attribute remap { text }?, attribute xreflabel { text }?, attribute revisionflag { "changed" | "added" | "deleted" | "off" }?, db.effectivity.attributes db.common.idreq.attributes = attribute xml:id { xsd:ID }, attribute version { text }?, attribute xml:lang { text }?, attribute xml:base { text }?, attribute remap { text }?, attribute xreflabel { text }?, attribute revisionflag { "changed" | "added" | "deleted" | "off" }?, db.effectivity.attributes db.common.linking.attributes = (db.linkend.attribute | db.href.attribute)? db.common.req.linking.attributes = db.linkend.attribute | db.href.attribute db.common.data.attributes = attribute format { text }?, (attribute fileref { text } | attribute entityref { xsd:ENTITY }) db.verbatim.attributes = attribute continuation { "continues" | "restarts" }?, attribute linenumbering { "numbered" | "unnumbered" }?, attribute startinglinenumber { xsd:integer }?, attribute language { text }? db.spacing.attribute = attribute spacing { "compact" | "normal" } db.float.attribute = attribute float { text } db.pgwide.attribute = attribute pgwide { "0" | "1" } db.language.attribute = attribute language { text }? db.performance.attribute = attribute performance { "optional" | "required" } db.floatstyle.attribute = attribute floatstyle { text } ctrl:other-attribute [ name = "db.biblio.class.attribute" enum-name = "db.biblio.class-enum.attribute" other-name = "db.biblio.class-other.attributes" ] db.biblio.class-enum.attribute = attribute class { "doi" | "isbn" | "issn" | "libraryofcongress" | "pubnumber" | "uri" }? db.biblio.class-other.attributes = attribute class { "other" }?, attribute otherclass { xsd:NMTOKEN } db.biblio.class.attribute = db.biblio.class-enum.attribute | db.biblio.class-other.attributes db.ubiq.inlines = (db.inlinemediaobject | db.anchor | db.remark) | db.indexterm db._text = (text | db.ubiq.inlines | db._phrase | db.replaceable)* db._phrase = element phrase { db.phrase.attlist, db._text } db._title = db.title? & db.titleabbrev? & db.subtitle? db._title.req = db.title & db.titleabbrev? & db.subtitle? db._title.only = db.title? & db.titleabbrev? db._title.onlyreq = db.title & db.titleabbrev? db._info = (db._title.req?, db.titleforbidden.info?) | db.info? db._info.title.req = (db._title.req, db.titleforbidden.info?) | db.titlereq.info db._info.title.only = (db._title.only, db.titleforbidden.info?) | db.titleonly.info db._info.title.onlyreq = (db._title.onlyreq, db.titleforbidden.info?) | db.titleonlyreq.info db._info.title.forbidden = db.titleforbidden.info? db.all.inlines = text | db.ubiq.inlines | db.general.inlines | db.domain.inlines | db.extension.inlines db.general.inlines = (db.publishing.inlines | db.product.inlines | db.bibliography.inlines | db.graphic.inlines | db.indexing.inlines | db.link.inlines) | db.glossary.inlines db.domain.inlines = db.technical.inlines | db.error.inlines | db.os.inlines | db.programming.inlines | db.markup.inlines | db.math.inlines | db.gui.inlines | db.keyboard.inlines db.technical.inlines = (db.replaceable | db.systemitem | db.option | db.optional | db.package | db.property) | db.nonterminal db.error.inlines = db.errorcode | db.errortext | db.errorname | db.errortype db.oo.inlines = db.ooclass | db.ooexception | db.oointerface db.programming.inlines = db.function | db.parameter | db.varname | db.returnvalue | db.type | db.classname | db.exceptionname | db.interfacename | db.methodname | db.modifier | db.initializer | db.oo.inlines db.product.inlines = db.productnumber | db.productname | db.database | db.application | db.hardware | db.trademark db.os.inlines = db.prompt | db.envar | db.filename | db.command | db.computeroutput | db.userinput db.markup.inlines = db.tag | db.markup | db.token | db.symbol | db.literal | db.code | db.constant | db.email db.bibliography.inlines = db.citation | db.citerefentry | db.citetitle | db.citebiblioid | db.author | db.personname | db.orgname | db.editor db.publishing.inlines = (db.abbrev | db.acronym | db.emphasis | db.footnote | db.footnoteref | db.foreignphrase | db.phrase | db.quote | db.subscript | db.superscript | db.wordasword) | db.coref db.math.inlines = db.inlineequation db.graphic.inlines = db.inlinemediaobject db.indexing.inlines = notAllowed | db.indexterm db.gui.inlines = db.guiicon | db.guibutton | db.guimenuitem | db.guimenu | db.guisubmenu | db.guilabel | db.menuchoice | db.mousebutton db.keyboard.inlines = db.keycombo | db.keycap | db.keycode | db.keysym | db.shortcut | db.accel db.link.inlines = (db.xref | db.link | db.uri | db.anchor) | db.biblioref db.extension.inlines = notAllowed | (db.html.input | db.html.button | db.html.label | db.html.select | db.html.textarea) db.nopara.blocks = (db.list.blocks | db.admonition.blocks | db.formal.blocks | db.informal.blocks | db.publishing.blocks | db.graphic.blocks | db.technical.blocks | db.verbatim.blocks | db.synopsis.blocks | db.bridgehead | db.remark | db.revhistory | db.highlights) | db.indexterm db.para.blocks = db.anchor | db.para | db.formalpara | db.simpara db.all.blocks = db.nopara.blocks | db.para.blocks | db.extension.blocks db.formal.blocks = db.equation | db.example | db.figure | db.table db.informal.blocks = db.informalequation | db.informalexample | db.informalfigure | db.informaltable db.publishing.blocks = db.sidebar | db.blockquote | db.address | db.epigraph db.graphic.blocks = db.mediaobject | db.screenshot db.technical.blocks = db.procedure | db.task | (db.productionset | db.constraintdef) | db.msgset db.admonition.blocks = db.caution | db.important | db.note | db.tip | db.warning db.list.blocks = (db.itemizedlist | db.orderedlist | db.procedure | db.simplelist | db.variablelist | db.segmentedlist) | db.glosslist | db.bibliolist | db.calloutlist | db.qandaset db.verbatim.blocks = (db.programlisting | db.screen | db.literallayout | db.synopsis) | (db.programlistingco | db.screenco) db.synopsis.blocks = db.cmdsynopsis | db.funcsynopsis | db.classsynopsis | db.methodsynopsis | db.constructorsynopsis | db.destructorsynopsis | db.fieldsynopsis db.extension.blocks = notAllowed | db.html.form db.info.elements = (db.abstract | db.address | db.artpagenums | db.author | db.authorgroup | db.authorinitials | db.bibliocoverage | db.biblioid | db.bibliosource | db.collab | db.confgroup | db.copyright | db.date | db.edition | db.editor | db.issuenum | db.keywordset | db.legalnotice | db.orgname | db.othercredit | db.pagenums | db.printhistory | db.productname | db.productnumber | db.pubdate | db.publisher | db.publishername | db.releaseinfo | db.revhistory | db.seriesvolnums | db.subjectset | db.volumenum) | db.extendedlink | (db.bibliomisc | db.bibliomset | db.bibliorelation | db.biblioset) | db.itermset db.bibliographic.elements = db.info.elements | db.abbrev | db.citetitle | db.personname | db.subtitle | db.title | db.titleabbrev [ db:refname [ "title" ] db:refpurpose [ ] ] div { db.title.role.attribute = attribute role { text } db.title.attlist = db.title.role.attribute? & db.common.attributes & db.common.linking.attributes db.title = element title { db.title.attlist, db.all.inlines* } } [ db:refname [ "titleabbrev" ] db:refpurpose [ ] ] div { db.titleabbrev.role.attribute = attribute role { text } db.titleabbrev.attlist = db.titleabbrev.role.attribute? & db.common.attributes & db.common.linking.attributes db.titleabbrev = element titleabbrev { db.titleabbrev.attlist, db.all.inlines* } } [ db:refname [ "subtitle" ] db:refpurpose [ ] ] div { db.subtitle.role.attribute = attribute role { text } db.subtitle.attlist = db.subtitle.role.attribute? & db.common.attributes & db.common.linking.attributes db.subtitle = element subtitle { db.subtitle.attlist, db.all.inlines* } } [ db:refname [ "info" ] db:refpurpose [ ] ] div { db.info.role.attribute = attribute role { text } db.info.attlist = db.info.role.attribute? & db.common.attributes db.info = element info { db.info.attlist, db._title, db.info.elements* } } [ db:refname [ "info" ] db:refpurpose [ ] ] div { db.titlereq.info.role.attribute = attribute role { text } db.titlereq.info.attlist = db.titlereq.info.role.attribute? & db.common.attributes db.titlereq.info = element info { db.titlereq.info.attlist, db._title.req, db.info.elements* } } [ db:refname [ "info" ] db:refpurpose [ ] ] div { db.titleonly.info.role.attribute = attribute role { text } db.titleonly.info.attlist = db.titleonly.info.role.attribute? & db.common.attributes db.titleonly.info = element info { db.titleonly.info.attlist, db._title.only, db.info.elements* } } [ db:refname [ "info" ] db:refpurpose [ ] ] div { db.titleonlyreq.info.role.attribute = attribute role { text } db.titleonlyreq.info.attlist = db.titleonlyreq.info.role.attribute? & db.common.attributes db.titleonlyreq.info = element info { db.titleonlyreq.info.attlist, db._title.onlyreq, db.info.elements* } } [ db:refname [ "info" ] db:refpurpose [ ] ] div { db.titleforbidden.info.role.attribute = attribute role { text } db.titleforbidden.info.attlist = db.titleforbidden.info.role.attribute? & db.common.attributes db.titleforbidden.info = element info { db.titleforbidden.info.attlist, db.info.elements* } } [ db:refname [ "subjectset" ] db:refpurpose [ ] ] div { db.subjectset.role.attribute = attribute role { text } db.subjectset.attlist = db.subjectset.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute scheme { xsd:NMTOKEN }? db.subjectset = element subjectset { db.subjectset.attlist, db.subject+ } } [ db:refname [ "subject" ] db:refpurpose [ ] ] div { db.subject.role.attribute = attribute role { text } db.subject.attlist = db.subject.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute weight { text }? db.subject = element subject { db.subject.attlist, db.subjectterm+ } } [ db:refname [ "subjectterm" ] db:refpurpose [ ] ] div { db.subjectterm.role.attribute = attribute role { text } db.subjectterm.attlist = db.subjectterm.role.attribute? & db.common.attributes & db.common.linking.attributes db.subjectterm = element subjectterm { db.subjectterm.attlist, text } } [ db:refname [ "keywordset" ] db:refpurpose [ ] ] div { db.keywordset.role.attribute = attribute role { text } db.keywordset.attlist = db.keywordset.role.attribute? & db.common.attributes & db.common.linking.attributes db.keywordset = element keywordset { db.keywordset.attlist, db.keyword+ } } [ db:refname [ "keyword" ] db:refpurpose [ ] ] div { db.keyword.role.attribute = attribute role { text } db.keyword.attlist = db.keyword.role.attribute? & db.common.attributes & db.common.linking.attributes db.keyword = element keyword { db.keyword.attlist, text } } db.table.choice = notAllowed | db.cals.table | db.html.table db.informaltable.choice = notAllowed | db.cals.informaltable | db.html.informaltable db.table = db.table.choice db.informaltable = db.informaltable.choice [ db:refname [ "procedure" ] db:refpurpose [ ] ] div { db.procedure.role.attribute = attribute role { text } db.procedure.attlist = db.procedure.role.attribute? & db.common.attributes & db.common.linking.attributes db.procedure.info = db._info.title.only db.procedure = element procedure { db.procedure.attlist, db.procedure.info, db.all.blocks*, db.step+ } } [ db:refname [ "step" ] db:refpurpose [ ] ] div { db.step.role.attribute = attribute role { text } db.step.attlist = db.step.role.attribute? & db.common.attributes & db.common.linking.attributes & db.performance.attribute? db.step.info = db._info.title.only db.step = element step { db.step.attlist, db.step.info, db.all.blocks*, (db.substeps | db.stepalternatives)?, db.all.blocks* } } [ db:refname [ "stepalternatives" ] db:refpurpose [ ] ] div { db.stepalternatives.role.attribute = attribute role { text } db.stepalternatives.attlist = db.stepalternatives.role.attribute? & db.common.attributes & db.common.linking.attributes & db.performance.attribute? db.stepalternatives.info = db._info.title.forbidden db.stepalternatives = element stepalternatives { db.stepalternatives.attlist, db.stepalternatives.info, db.step+ } } [ db:refname [ "substeps" ] db:refpurpose [ ] ] div { db.substeps.role.attribute = attribute role { text } db.substeps.attlist = db.substeps.role.attribute? & db.common.attributes & db.common.linking.attributes & db.performance.attribute? db.substeps = element substeps { db.substeps.attlist, db.step+ } } [ db:refname [ "sidebar" ] db:refpurpose [ ] ctrl:exclude [ from = "db.sidebar" exclude = "db.sidebar" ] ] div { db.sidebar.role.attribute = attribute role { text } db.sidebar.attlist = db.sidebar.role.attribute? & db.common.attributes & db.common.linking.attributes db.sidebar.info = db._info.title.only db.sidebar = [ s:rule [ context = "db:sidebar" "\x{a}" ~ " " s:assert [ test = "not(.//db:sidebar)" "sidebar must not occur in the descendants of sidebar" ] "\x{a}" ~ " " ] ] element sidebar { db.sidebar.attlist, db.sidebar.info, db.all.blocks+ } } [ db:refname [ "abstract" ] db:refpurpose [ ] ] div { db.abstract.role.attribute = attribute role { text } db.abstract.attlist = db.abstract.role.attribute? & db.common.attributes & db.common.linking.attributes db.abstract.info = db._info.title.only db.abstract = element abstract { db.abstract.attlist, db.abstract.info, db.para.blocks+ } } [ db:refname [ "personblurb" ] db:refpurpose [ ] ] div { db.personblurb.role.attribute = attribute role { text } db.personblurb.attlist = db.personblurb.role.attribute? & db.common.attributes & db.common.linking.attributes db.personblurb.info = db._info.title.only db.personblurb = element personblurb { db.personblurb.attlist, db.personblurb.info, db.para.blocks+ } } [ db:refname [ "blockquote" ] db:refpurpose [ ] ] div { db.blockquote.role.attribute = attribute role { text } db.blockquote.attlist = db.blockquote.role.attribute? & db.common.attributes & db.common.linking.attributes db.blockquote.info = db._info.title.only db.blockquote = element blockquote { db.blockquote.attlist, db.blockquote.info, db.attribution?, db.all.blocks+ } } [ db:refname [ "attribution" ] db:refpurpose [ ] ] div { db.attribution.role.attribute = attribute role { text } db.attribution.attlist = db.attribution.role.attribute? & db.common.attributes & db.common.linking.attributes db.attribution = element attribution { db.attribution.attlist, (db._text | db.personname)+ } } [ db:refname [ "bridgehead" ] db:refpurpose [ ] ] div { db.bridgehead.role.attribute = attribute role { text } db.bridgehead.attlist = db.bridgehead.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute renderas { "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5" }? db.bridgehead = element bridgehead { db.bridgehead.attlist, db.all.inlines* } } [ db:refname [ "remark" ] db:refpurpose [ ] ] div { db.remark.role.attribute = attribute role { text } db.remark.attlist = db.remark.role.attribute? & db.common.attributes & db.common.linking.attributes db.remark = element remark { db.remark.attlist, db._text } } [ db:refname [ "epigraph" ] db:refpurpose [ ] ] div { db.epigraph.role.attribute = attribute role { text } db.epigraph.attlist = db.epigraph.role.attribute? & db.common.attributes & db.common.linking.attributes db.epigraph.info = db._info.title.forbidden db.epigraph = element epigraph { db.epigraph.attlist, db.epigraph.info, db.attribution?, (db.para.blocks | db.literallayout)+ } } [ db:refname [ "footnote" ] db:refpurpose [ ] ctrl:exclude [ from = "db.footnote" exclude = "db.footnote" ] ] div { db.footnote.role.attribute = attribute role { text } db.footnote.attlist = db.footnote.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute label { text }? db.footnote = [ s:rule [ context = "db:footnote" "\x{a}" ~ " " s:assert [ test = "not(.//db:footnote)" "footnote must not occur in the descendants of footnote" ] "\x{a}" ~ " " ] ] element footnote { db.footnote.attlist, db.all.blocks+ } } [ db:refname [ "highlights" ] db:refpurpose [ ] ] div { db.highlights.role.attribute = attribute role { text } db.highlights.attlist = db.highlights.role.attribute? & db.common.attributes & db.common.linking.attributes db.highlights = element highlights { db.highlights.attlist, (db.list.blocks | db.admonition.blocks | db.para.blocks | db.indexing.inlines)+ } } [ db:refname [ "formalpara" ] db:refpurpose [ ] ] div { db.formalpara.role.attribute = attribute role { text } db.formalpara.attlist = db.formalpara.role.attribute? & db.common.attributes & db.common.linking.attributes db.formalpara.info = db._info.title.onlyreq db.formalpara = element formalpara { db.formalpara.attlist, db.formalpara.info, db.indexing.inlines*, db.para } } [ db:refname [ "para" ] db:refpurpose [ ] ] div { db.para.role.attribute = attribute role { text } db.para.attlist = db.para.role.attribute? & db.common.attributes & db.common.linking.attributes db.para.info = db._info.title.forbidden db.para = [ s:rule [ context = "/db:para" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element para { db.para.attlist, db.para.info, (db.all.inlines | db.nopara.blocks)* } } [ db:refname [ "simpara" ] db:refpurpose [ ] ] div { db.simpara.role.attribute = attribute role { text } db.simpara.attlist = db.simpara.role.attribute? & db.common.attributes & db.common.linking.attributes db.simpara.info = db._info.title.forbidden db.simpara = element simpara { db.simpara.attlist, db.simpara.info, db.all.inlines* } } ctrl:exclude [ from = "db.admonition.blocks" exclude = "db.admonition.blocks" ] db.admonition.contentmodel = db._info.title.only, db.all.blocks+ [ db:refname [ "caution" ] db:refpurpose [ ] ] div { db.caution.role.attribute = attribute role { text } db.caution.attlist = db.caution.role.attribute? & db.common.attributes & db.common.linking.attributes db.caution = [ s:rule [ context = "db:caution" "\x{a}" ~ " " s:assert [ test = "not(.//db:caution)" "caution must not occur in the descendants of caution" ] "\x{a}" ~ " " ] s:rule [ context = "db:caution" "\x{a}" ~ " " s:assert [ test = "not(.//db:important)" "important must not occur in the descendants of caution" ] "\x{a}" ~ " " ] s:rule [ context = "db:caution" "\x{a}" ~ " " s:assert [ test = "not(.//db:note)" "note must not occur in the descendants of caution" ] "\x{a}" ~ " " ] s:rule [ context = "db:caution" "\x{a}" ~ " " s:assert [ test = "not(.//db:tip)" "tip must not occur in the descendants of caution" ] "\x{a}" ~ " " ] s:rule [ context = "db:caution" "\x{a}" ~ " " s:assert [ test = "not(.//db:warning)" "warning must not occur in the descendants of caution" ] "\x{a}" ~ " " ] ] element caution { db.caution.attlist, db.admonition.contentmodel } } [ db:refname [ "important" ] db:refpurpose [ ] ] div { db.important.role.attribute = attribute role { text } db.important.attlist = db.important.role.attribute? & db.common.attributes & db.common.linking.attributes db.important = [ s:rule [ context = "db:important" "\x{a}" ~ " " s:assert [ test = "not(.//db:caution)" "caution must not occur in the descendants of important" ] "\x{a}" ~ " " ] s:rule [ context = "db:important" "\x{a}" ~ " " s:assert [ test = "not(.//db:important)" "important must not occur in the descendants of important" ] "\x{a}" ~ " " ] s:rule [ context = "db:important" "\x{a}" ~ " " s:assert [ test = "not(.//db:note)" "note must not occur in the descendants of important" ] "\x{a}" ~ " " ] s:rule [ context = "db:important" "\x{a}" ~ " " s:assert [ test = "not(.//db:tip)" "tip must not occur in the descendants of important" ] "\x{a}" ~ " " ] s:rule [ context = "db:important" "\x{a}" ~ " " s:assert [ test = "not(.//db:warning)" "warning must not occur in the descendants of important" ] "\x{a}" ~ " " ] ] element important { db.important.attlist, db.admonition.contentmodel } } [ db:refname [ "note" ] db:refpurpose [ ] ] div { db.note.role.attribute = attribute role { text } db.note.attlist = db.note.role.attribute? & db.common.attributes & db.common.linking.attributes db.note = [ s:rule [ context = "db:note" "\x{a}" ~ " " s:assert [ test = "not(.//db:caution)" "caution must not occur in the descendants of note" ] "\x{a}" ~ " " ] s:rule [ context = "db:note" "\x{a}" ~ " " s:assert [ test = "not(.//db:important)" "important must not occur in the descendants of note" ] "\x{a}" ~ " " ] s:rule [ context = "db:note" "\x{a}" ~ " " s:assert [ test = "not(.//db:note)" "note must not occur in the descendants of note" ] "\x{a}" ~ " " ] s:rule [ context = "db:note" "\x{a}" ~ " " s:assert [ test = "not(.//db:tip)" "tip must not occur in the descendants of note" ] "\x{a}" ~ " " ] s:rule [ context = "db:note" "\x{a}" ~ " " s:assert [ test = "not(.//db:warning)" "warning must not occur in the descendants of note" ] "\x{a}" ~ " " ] ] element note { db.note.attlist, db.admonition.contentmodel } } [ db:refname [ "tip" ] db:refpurpose [ ] ] div { db.tip.role.attribute = attribute role { text } db.tip.attlist = db.tip.role.attribute? & db.common.attributes & db.common.linking.attributes db.tip = [ s:rule [ context = "db:tip" "\x{a}" ~ " " s:assert [ test = "not(.//db:caution)" "caution must not occur in the descendants of tip" ] "\x{a}" ~ " " ] s:rule [ context = "db:tip" "\x{a}" ~ " " s:assert [ test = "not(.//db:important)" "important must not occur in the descendants of tip" ] "\x{a}" ~ " " ] s:rule [ context = "db:tip" "\x{a}" ~ " " s:assert [ test = "not(.//db:note)" "note must not occur in the descendants of tip" ] "\x{a}" ~ " " ] s:rule [ context = "db:tip" "\x{a}" ~ " " s:assert [ test = "not(.//db:tip)" "tip must not occur in the descendants of tip" ] "\x{a}" ~ " " ] s:rule [ context = "db:tip" "\x{a}" ~ " " s:assert [ test = "not(.//db:warning)" "warning must not occur in the descendants of tip" ] "\x{a}" ~ " " ] ] element tip { db.tip.attlist, db.admonition.contentmodel } } [ db:refname [ "warning" ] db:refpurpose [ ] ] div { db.warning.role.attribute = attribute role { text } db.warning.attlist = db.warning.role.attribute? & db.common.attributes & db.common.linking.attributes db.warning = [ s:rule [ context = "db:warning" "\x{a}" ~ " " s:assert [ test = "not(.//db:caution)" "caution must not occur in the descendants of warning" ] "\x{a}" ~ " " ] s:rule [ context = "db:warning" "\x{a}" ~ " " s:assert [ test = "not(.//db:important)" "important must not occur in the descendants of warning" ] "\x{a}" ~ " " ] s:rule [ context = "db:warning" "\x{a}" ~ " " s:assert [ test = "not(.//db:note)" "note must not occur in the descendants of warning" ] "\x{a}" ~ " " ] s:rule [ context = "db:warning" "\x{a}" ~ " " s:assert [ test = "not(.//db:tip)" "tip must not occur in the descendants of warning" ] "\x{a}" ~ " " ] s:rule [ context = "db:warning" "\x{a}" ~ " " s:assert [ test = "not(.//db:warning)" "warning must not occur in the descendants of warning" ] "\x{a}" ~ " " ] ] element warning { db.warning.attlist, db.admonition.contentmodel } } [ db:refname [ "itemizedlist" ] db:refpurpose [ ] ] div { db.itemizedlist.role.attribute = attribute role { text } db.itemizedlist.attlist = db.itemizedlist.role.attribute? & db.common.attributes & db.common.linking.attributes & db.spacing.attribute? & attribute mark { text }? db.itemizedlist.info = db._info.title.only db.itemizedlist = element itemizedlist { db.itemizedlist.attlist, db.itemizedlist.info, db.all.blocks*, db.listitem+ } } [ db:refname [ "orderedlist" ] db:refpurpose [ ] ] div { db.orderedlist.role.attribute = attribute role { text } db.orderedlist.attlist = db.orderedlist.role.attribute? & db.common.attributes & db.common.linking.attributes & db.spacing.attribute? & attribute continuation { "continues" | "restarts" }? & attribute inheritnum { "ignore" | "inherit" }? & attribute numeration { "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman" }? db.orderedlist.info = db._info.title.only db.orderedlist = element orderedlist { db.orderedlist.attlist, db.orderedlist.info, db.all.blocks*, db.listitem+ } } [ db:refname [ "listitem" ] db:refpurpose [ ] ] div { db.listitem.role.attribute = attribute role { text } db.listitem.attlist = db.listitem.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute override { text }? db.listitem = element listitem { db.listitem.attlist, db.all.blocks+ } } [ db:refname [ "segmentedlist" ] db:refpurpose [ ] ] div { db.segmentedlist.role.attribute = attribute role { text } db.segmentedlist.attlist = db.segmentedlist.role.attribute? & db.common.attributes & db.common.linking.attributes db.segmentedlist.info = db._info.title.only db.segmentedlist = element segmentedlist { db.segmentedlist.attlist, db.segmentedlist.info, db.segtitle+, db.seglistitem+ } } [ db:refname [ "segtitle" ] db:refpurpose [ ] ] div { db.segtitle.role.attribute = attribute role { text } db.segtitle.attlist = db.segtitle.role.attribute? & db.common.attributes & db.common.linking.attributes db.segtitle = element segtitle { db.segtitle.attlist, db.all.inlines* } } [ db:refname [ "seglistitem" ] db:refpurpose [ ] ] div { db.seglistitem.role.attribute = attribute role { text } db.seglistitem.attlist = db.seglistitem.role.attribute? & db.common.attributes & db.common.linking.attributes db.seglistitem = [ s:rule [ context = "db:seglistitem" "\x{a}" ~ " " s:assert [ test = "count(db:seg) = count(../db:segtitle)" "The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist" ] "\x{a}" ~ " " ] ] element seglistitem { db.seglistitem.attlist, db.seg+ } } [ db:refname [ "seg" ] db:refpurpose [ ] ] div { db.seg.role.attribute = attribute role { text } db.seg.attlist = db.seg.role.attribute? & db.common.attributes & db.common.linking.attributes db.seg = element seg { db.seg.attlist, db.all.inlines* } } [ db:refname [ "simplelist" ] db:refpurpose [ ] ] div { db.simplelist.role.attribute = attribute role { text } db.simplelist.attlist = db.simplelist.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute type { "horiz" | "vert" | "inline" }? & attribute columns { xsd:integer }? db.simplelist = element simplelist { db.simplelist.attlist, db.member+ } } [ db:refname [ "member" ] db:refpurpose [ ] ] div { db.member.role.attribute = attribute role { text } db.member.attlist = db.member.role.attribute? & db.common.attributes & db.common.linking.attributes db.member = element member { db.member.attlist, db.all.inlines* } } [ db:refname [ "variablelist" ] db:refpurpose [ ] ] div { db.variablelist.role.attribute = attribute role { text } db.variablelist.attlist = db.variablelist.role.attribute? & db.common.attributes & db.common.linking.attributes & db.spacing.attribute? & attribute termlength { text }? db.variablelist.info = db._info.title.only db.variablelist = element variablelist { db.variablelist.attlist, db.variablelist.info, db.all.blocks*, db.varlistentry+ } } [ db:refname [ "varlistentry" ] db:refpurpose [ ] ] div { db.varlistentry.role.attribute = attribute role { text } db.varlistentry.attlist = db.varlistentry.role.attribute? & db.common.attributes & db.common.linking.attributes db.varlistentry = element varlistentry { db.varlistentry.attlist, db.term+, db.listitem } } [ db:refname [ "term" ] db:refpurpose [ ] ] div { db.term.role.attribute = attribute role { text } db.term.attlist = db.term.role.attribute? & db.common.attributes & db.common.linking.attributes db.term = element term { db.term.attlist, db.all.inlines* } } [ db:refname [ "example" ] db:refpurpose [ ] ] div { db.example.role.attribute = attribute role { text } db.example.attlist = db.example.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute label { text }? & db.floatstyle.attribute? & db.float.attribute? & attribute width { text }? db.example.info = db._info.title.onlyreq db.example = element example { db.example.attlist, db.example.info, db.all.blocks+ } } [ db:refname [ "informalexample" ] db:refpurpose [ ] ] div { db.informalexample.role.attribute = attribute role { text } db.informalexample.attlist = db.informalexample.role.attribute? & db.common.attributes & db.common.linking.attributes & db.floatstyle.attribute? & attribute width { text }? db.informalexample.info = db._info.title.forbidden db.informalexample = element informalexample { db.informalexample.attlist, db.informalexample.info, db.all.blocks+ } } db.verbatim.inlines = (db.all.inlines | db.lineannotation) | db.co db.verbatim.contentmodel = db._info.title.forbidden, (db.textobject | db.verbatim.inlines*) [ db:refname [ "programlisting" ] db:refpurpose [ ] ] div { db.programlisting.role.attribute = attribute role { text } db.programlisting.attlist = db.programlisting.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes & attribute width { text }? db.programlisting = element programlisting { db.programlisting.attlist, db.verbatim.contentmodel } } [ db:refname [ "literallayout" ] db:refpurpose [ ] ] div { db.literallayout.role.attribute = attribute role { text } db.literallayout.attlist = db.literallayout.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes & attribute class { "monospaced" | "normal" }? db.literallayout = element literallayout { db.literallayout.attlist, db.verbatim.contentmodel } } [ db:refname [ "screen" ] db:refpurpose [ ] ] div { db.screen.role.attribute = attribute role { text } db.screen.attlist = db.screen.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes & attribute width { text }? db.screen = element screen { db.screen.attlist, db.verbatim.contentmodel } } [ db:refname [ "screenshot" ] db:refpurpose [ ] ] div { db.screenshot.role.attribute = attribute role { text } db.screenshot.attlist = db.screenshot.role.attribute? & db.common.attributes & db.common.linking.attributes db.screenshot.info = db._info db.screenshot = element screenshot { db.screenshot.attlist, db.screenshot.info, db.mediaobject } } [ db:refname [ "figure" ] db:refpurpose [ ] ] div { db.figure.role.attribute = attribute role { text } db.figure.attlist = db.figure.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute label { text }? & db.pgwide.attribute? & db.floatstyle.attribute? & db.float.attribute? db.figure.info = db._info.title.onlyreq db.figure = element figure { db.figure.attlist, db.figure.info, db.all.blocks+ } } [ db:refname [ "informalfigure" ] db:refpurpose [ ] ] div { db.informalfigure.role.attribute = attribute role { text } db.informalfigure.attlist = db.informalfigure.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute label { text }? & db.pgwide.attribute? & db.floatstyle.attribute? & db.float.attribute? db.informalfigure.info = db._info.title.forbidden db.informalfigure = element informalfigure { db.informalfigure.attlist, db.informalfigure.info, db.all.blocks+ } } db.mediaobject.content = (db.videoobject | db.audioobject | db.imageobject | db.textobject) | db.imageobjectco [ db:refname [ "mediaobject" ] db:refpurpose [ ] ] div { db.mediaobject.role.attribute = attribute role { text } db.mediaobject.attlist = db.mediaobject.role.attribute? & db.common.attributes & db.common.linking.attributes db.mediaobject.info = db._info.title.forbidden db.mediaobject = element mediaobject { db.mediaobject.attlist, db.mediaobject.info, db.mediaobject.content+ } } [ db:refname [ "inlinemediaobject" ] db:refpurpose [ ] ] div { db.inlinemediaobject.role.attribute = attribute role { text } db.inlinemediaobject.attlist = db.inlinemediaobject.role.attribute? & db.common.attributes & db.common.linking.attributes db.inlinemediaobject.info = db._info.title.forbidden db.inlinemediaobject = element inlinemediaobject { db.inlinemediaobject.attlist, db.inlinemediaobject.info, db.mediaobject.content+ } } [ db:refname [ "videoobject" ] db:refpurpose [ ] ] div { db.videoobject.role.attribute = attribute role { text } db.videoobject.attlist = db.videoobject.role.attribute? & db.common.attributes & db.common.linking.attributes db.videoobject.info = db._info.title.forbidden db.videoobject = element videoobject { db.videoobject.attlist, db.videoobject.info, db.videodata } } [ db:refname [ "audioobject" ] db:refpurpose [ ] ] div { db.audioobject.role.attribute = attribute role { text } db.audioobject.attlist = db.audioobject.role.attribute? & db.common.attributes & db.common.linking.attributes db.audioobject.info = db._info.title.forbidden db.audioobject = element audioobject { db.audioobject.attlist, db.audioobject.info, db.audiodata } } db.imageobject.content = db.imagedata | db._any.svg [ db:refname [ "imageobject" ] db:refpurpose [ ] ] div { db.imageobject.role.attribute = attribute role { text } db.imageobject.attlist = db.imageobject.role.attribute? & db.common.attributes & db.common.linking.attributes db.imageobject.info = db._info.title.forbidden db.imageobject = element imageobject { db.imageobject.attlist, db.imageobject.info, db.imageobject.content } } [ db:refname [ "textobject" ] db:refpurpose [ ] ] div { db.textobject.role.attribute = attribute role { text } db.textobject.attlist = db.textobject.role.attribute? & db.common.attributes & db.common.linking.attributes db.textobject.info = db._info.title.forbidden db.textobject = element textobject { db.textobject.attlist, db.textobject.info, (db.phrase | db.textdata | db.all.blocks+) } } [ db:refname [ "videodata" ] db:refpurpose [ ] ] div { db.videodata.role.attribute = attribute role { text } db.videodata.attlist = db.videodata.role.attribute? & db.common.attributes & db.common.data.attributes & attribute align { "center" | "char" | "justify" | "left" | "right" }? & attribute valign { "bottom" | "middle" | "top" }? & attribute width { text }? & attribute contentwidth { text }? & attribute scalefit { "0" | "1" }? & attribute scale { text }? & attribute depth { text }? & attribute contentdepth { text }? db.videodata.info = db._info.title.forbidden db.videodata = element videodata { db.videodata.attlist, db.videodata.info } } [ db:refname [ "audiodata" ] db:refpurpose [ ] ] div { db.audiodata.role.attribute = attribute role { text } db.audiodata.attlist = db.audiodata.role.attribute? & db.common.attributes & db.common.data.attributes db.audiodata.info = db._info.title.forbidden db.audiodata = element audiodata { db.audiodata.attlist, db.audiodata.info } } [ db:refname [ "imagedata" ] db:refpurpose [ ] ] div { db.imagedata.role.attribute = attribute role { text } db.imagedata.attlist = db.imagedata.role.attribute? & db.common.attributes & db.common.data.attributes & attribute align { "center" | "char" | "justify" | "left" | "right" }? & attribute valign { "bottom" | "middle" | "top" }? & attribute width { text }? & attribute contentwidth { text }? & attribute scalefit { "0" | "1" }? & attribute scale { text }? & attribute depth { text }? & attribute contentdepth { text }? db.imagedata.info = db._info.title.forbidden db.imagedata = element imagedata { db.imagedata.attlist, db.imagedata.info } } [ db:refname [ "textdata" ] db:refpurpose [ ] ] div { db.textdata.role.attribute = attribute role { text } db.textdata.attlist = db.textdata.role.attribute? & db.common.attributes & db.common.data.attributes & attribute encoding { text }? db.textdata.info = db._info.title.forbidden db.textdata = element textdata { db.textdata.attlist, db.textdata.info } } db.equation.content = db.mediaobject | db._any.mml [ db:refname [ "equation" ] db:refpurpose [ ] ] div { db.equation.role.attribute = attribute role { text } db.equation.attlist = db.equation.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute label { text }? & db.pgwide.attribute? & db.floatstyle.attribute? & db.float.attribute? db.equation.info = db._info.title.onlyreq db.equation = element equation { db.equation.attlist, db.equation.info, db.equation.content+ } } [ db:refname [ "informalequation" ] db:refpurpose [ ] ] div { db.informalequation.role.attribute = attribute role { text } db.informalequation.attlist = db.informalequation.role.attribute? & db.common.attributes & db.common.linking.attributes db.informalequation.info = db._info.title.forbidden db.informalequation = element informalequation { db.informalequation.attlist, db.informalequation.info, db.equation.content+ } } [ db:refname [ "inlineequation" ] db:refpurpose [ ] ] div { db.inlineequation.role.attribute = attribute role { text } db.inlineequation.attlist = db.inlineequation.role.attribute? & db.common.attributes & db.common.linking.attributes db.inlineequation = element inlineequation { db.inlineequation.attlist, db.equation.content+ } } [ db:refname [ "synopsis" ] db:refpurpose [ ] ] div { db.synopsis.role.attribute = attribute role { text } db.synopsis.attlist = db.synopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes & attribute label { text }? db.synopsis = element synopsis { db.synopsis.attlist, db.verbatim.contentmodel } } [ db:refname [ "cmdsynopsis" ] db:refpurpose [ ] ] div { db.cmdsynopsis.role.attribute = attribute role { text } db.cmdsynopsis.attlist = db.cmdsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute sepchar { text }? & attribute cmdlength { text }? & attribute label { text }? db.cmdsynopsis.info = db._info.title.forbidden db.cmdsynopsis = element cmdsynopsis { db.cmdsynopsis.attlist, db.cmdsynopsis.info, (db.command | db.arg | db.group | db.sbr)+, db.synopfragment* } } rep.attribute = attribute rep { "norepeat" | "repeat" } choice.attribute = attribute choice { "opt" | "plain" | "req" } [ db:refname [ "arg" ] db:refpurpose [ ] ] div { db.arg.role.attribute = attribute role { text } db.arg.attlist = db.arg.role.attribute? & db.common.attributes & db.common.linking.attributes & rep.attribute? & choice.attribute? db.arg = element arg { db.arg.attlist, (db._text | db.arg | db.group | db.option | db.synopfragmentref | db.sbr)* } } [ db:refname [ "group" ] db:refpurpose [ ] ] div { db.group.role.attribute = attribute role { text } db.group.attlist = db.group.role.attribute? & db.common.attributes & db.common.linking.attributes & rep.attribute? & choice.attribute? db.group = element group { db.group.attlist, (db.arg | db.group | db.option | db.synopfragmentref | db.replaceable | db.sbr)+ } } [ db:refname [ "sbr" ] db:refpurpose [ ] ] div { db.sbr.role.attribute = attribute role { text } db.sbr.attlist = db.sbr.role.attribute? & db.common.attributes db.sbr = element sbr { db.sbr.attlist, empty } } [ db:refname [ "synopfragment" ] db:refpurpose [ ] ] div { db.synopfragment.role.attribute = attribute role { text } db.synopfragment.attlist = db.synopfragment.role.attribute? & db.common.attributes & db.common.linking.attributes db.synopfragment = element synopfragment { db.synopfragment.attlist, (db.arg | db.group)+ } } [ db:refname [ "synopfragmentref" ] db:refpurpose [ ] ] div { db.synopfragmentref.role.attribute = attribute role { text } db.synopfragmentref.attlist = db.synopfragmentref.role.attribute? & db.common.attributes & db.linkend.attribute db.synopfragmentref = [ s:rule [ context = "db:synopfragmentref" "\x{a}" ~ " " s:assert [ test = "local-name(//*[@id=current()/@linkend]) = 'synopfragment' and namespace-uri(//*[@id=current()/@linkend]) = 'http://docbook.org/docbook-ng'" "@linkend on synopfragmentref must point to a synopfragment." ] "\x{a}" ~ " " ] ] element synopfragmentref { db.synopfragmentref.attlist, text } } [ db:refname [ "funcsynopsis" ] db:refpurpose [ ] ] div { db.funcsynopsis.role.attribute = attribute role { text } db.funcsynopsis.attlist = db.funcsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.language.attribute db.funcsynopsis.info = db._info.title.forbidden db.funcsynopsis = element funcsynopsis { db.funcsynopsis.attlist, db.funcsynopsis.info, (db.funcsynopsisinfo | db.funcprototype)+ } } [ db:refname [ "funcsynopsisinfo" ] db:refpurpose [ ] ] div { db.funcsynopsisinfo.role.attribute = attribute role { text } db.funcsynopsisinfo.attlist = db.funcsynopsisinfo.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes db.funcsynopsisinfo = element funcsynopsisinfo { db.funcsynopsisinfo.attlist, db.verbatim.contentmodel } } [ db:refname [ "funcprototype" ] db:refpurpose [ ] ] div { db.funcprototype.role.attribute = attribute role { text } db.funcprototype.attlist = db.funcprototype.role.attribute? & db.common.attributes & db.common.linking.attributes db.funcprototype = element funcprototype { db.funcprototype.attlist, db.modifier*, db.funcdef, (db.void | db.varargs | (db.paramdef+, db.varargs?)), db.modifier* } } [ db:refname [ "funcdef" ] db:refpurpose [ ] ] div { db.funcdef.role.attribute = attribute role { text } db.funcdef.attlist = db.funcdef.role.attribute? & db.common.attributes & db.common.linking.attributes db.funcdef = element funcdef { db.funcdef.attlist, (db._text | db.type | db.function)* } } [ db:refname [ "void" ] db:refpurpose [ ] ] div { db.void.role.attribute = attribute role { text } db.void.attlist = db.void.role.attribute? & db.common.attributes & db.common.linking.attributes db.void = element void { db.void.attlist, empty } } [ db:refname [ "varargs" ] db:refpurpose [ ] ] div { db.varargs.role.attribute = attribute role { text } db.varargs.attlist = db.varargs.role.attribute? & db.common.attributes & db.common.linking.attributes db.varargs = element varargs { db.varargs.attlist, empty } } [ db:refname [ "paramdef" ] db:refpurpose [ ] ] div { db.paramdef.role.attribute = attribute role { text } db.paramdef.attlist = db.paramdef.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute choice { "opt" | "req" }? db.paramdef = element paramdef { db.paramdef.attlist, (db._text | db.type | db.parameter | db.funcparams)* } } [ db:refname [ "funcparams" ] db:refpurpose [ ] ] div { db.funcparams.role.attribute = attribute role { text } db.funcparams.attlist = db.funcparams.role.attribute? & db.common.attributes & db.common.linking.attributes db.funcparams = element funcparams { db.funcparams.attlist, db.all.inlines* } } [ db:refname [ "classsynopsis" ] db:refpurpose [ ] ] div { db.classsynopsis.role.attribute = attribute role { text } db.classsynopsis.attlist = db.classsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.language.attribute & attribute class { "class" | "interface" }? db.classsynopsis = element classsynopsis { db.classsynopsis.attlist, db.oo.inlines+, (db.classsynopsisinfo | db.methodsynopsis | db.constructorsynopsis | db.destructorsynopsis | db.fieldsynopsis)* } } [ db:refname [ "classsynopsisinfo" ] db:refpurpose [ ] ] div { db.classsynopsisinfo.role.attribute = attribute role { text } db.classsynopsisinfo.attlist = db.classsynopsisinfo.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes db.classsynopsisinfo = element classsynopsisinfo { db.classsynopsisinfo.attlist, db.verbatim.contentmodel } } [ db:refname [ "ooclass" ] db:refpurpose [ ] ] div { db.ooclass.role.attribute = attribute role { text } db.ooclass.attlist = db.ooclass.role.attribute? & db.common.attributes & db.common.linking.attributes db.ooclass = element ooclass { db.ooclass.attlist, (db.package | db.modifier)*, db.classname } } [ db:refname [ "oointerface" ] db:refpurpose [ ] ] div { db.oointerface.role.attribute = attribute role { text } db.oointerface.attlist = db.oointerface.role.attribute? & db.common.attributes & db.common.linking.attributes db.oointerface = element oointerface { db.oointerface.attlist, (db.package | db.modifier)*, db.interfacename } } [ db:refname [ "ooexception" ] db:refpurpose [ ] ] div { db.ooexception.role.attribute = attribute role { text } db.ooexception.attlist = db.ooexception.role.attribute? & db.common.attributes & db.common.linking.attributes db.ooexception = element ooexception { db.ooexception.attlist, (db.package | db.modifier)*, db.exceptionname } } [ db:refname [ "modifier" ] db:refpurpose [ ] ] div { db.modifier.role.attribute = attribute role { text } db.modifier.attlist = db.modifier.role.attribute? & db.common.attributes & db.common.linking.attributes db.modifier = element modifier { db.modifier.attlist, db._text } } [ db:refname [ "interfacename" ] db:refpurpose [ ] ] div { db.interfacename.role.attribute = attribute role { text } db.interfacename.attlist = db.interfacename.role.attribute? & db.common.attributes & db.common.linking.attributes db.interfacename = element interfacename { db.interfacename.attlist, db._text } } [ db:refname [ "exceptionname" ] db:refpurpose [ ] ] div { db.exceptionname.role.attribute = attribute role { text } db.exceptionname.attlist = db.exceptionname.role.attribute? & db.common.attributes & db.common.linking.attributes db.exceptionname = element exceptionname { db.exceptionname.attlist, db._text } } [ db:refname [ "fieldsynopsis" ] db:refpurpose [ ] ] div { db.fieldsynopsis.role.attribute = attribute role { text } db.fieldsynopsis.attlist = db.fieldsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.language.attribute db.fieldsynopsis = element fieldsynopsis { db.fieldsynopsis.attlist, db.modifier*, db.type?, db.varname, db.initializer? } } [ db:refname [ "initializer" ] db:refpurpose [ ] ] div { db.initializer.role.attribute = attribute role { text } db.initializer.attlist = db.initializer.role.attribute? & db.common.attributes & db.common.linking.attributes db.initializer = element initializer { db.initializer.attlist, db._text } } [ db:refname [ "constructorsynopsis" ] db:refpurpose [ ] ] div { db.constructorsynopsis.role.attribute = attribute role { text } db.constructorsynopsis.attlist = db.constructorsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.language.attribute db.constructorsynopsis = element constructorsynopsis { db.constructorsynopsis.attlist, db.modifier*, db.methodname?, (db.methodparam+ | db.void?), db.exceptionname* } } [ db:refname [ "destructorsynopsis" ] db:refpurpose [ ] ] div { db.destructorsynopsis.role.attribute = attribute role { text } db.destructorsynopsis.attlist = db.destructorsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.language.attribute db.destructorsynopsis = element destructorsynopsis { db.destructorsynopsis.attlist, db.modifier*, db.methodname?, (db.methodparam+ | db.void?), db.exceptionname* } } [ db:refname [ "methodsynopsis" ] db:refpurpose [ ] ] div { db.methodsynopsis.role.attribute = attribute role { text } db.methodsynopsis.attlist = db.methodsynopsis.role.attribute? & db.common.attributes & db.common.linking.attributes & db.language.attribute db.methodsynopsis = element methodsynopsis { db.methodsynopsis.attlist, db.modifier*, (db.type | db.void)?, db.methodname, (db.methodparam+ | db.void), db.exceptionname*, db.modifier* } } [ db:refname [ "methodname" ] db:refpurpose [ ] ] div { db.methodname.role.attribute = attribute role { text } db.methodname.attlist = db.methodname.role.attribute? & db.common.attributes & db.common.linking.attributes db.methodname = element methodname { db.methodname.attlist, db._text } } [ db:refname [ "methodparam" ] db:refpurpose [ ] ] div { db.methodparam.role.attribute = attribute role { text } db.methodparam.attlist = db.methodparam.role.attribute? & db.common.attributes & db.common.linking.attributes & rep.attribute? & choice.attribute? db.methodparam = element methodparam { db.methodparam.attlist, db.modifier*, db.type?, ((db.parameter, db.initializer?) | db.funcparams), db.modifier* } } [ db:refname [ "address" ] db:refpurpose [ ] ] div { db.address.role.attribute = attribute role { text } db.address.attlist = db.address.role.attribute? & db.common.attributes & db.common.linking.attributes & db.verbatim.attributes db.address = element address { db.address.attlist, (db._text | db.personname | db.pob | db.street | db.city | db.state | db.postcode | db.country | db.phone | db.fax | db.email | db.otheraddr)* } } [ db:refname [ "street" ] db:refpurpose [ ] ] div { db.street.role.attribute = attribute role { text } db.street.attlist = db.street.role.attribute? & db.common.attributes & db.common.linking.attributes db.street = element street { db.street.attlist, db._text } } [ db:refname [ "pob" ] db:refpurpose [ ] ] div { db.pob.role.attribute = attribute role { text } db.pob.attlist = db.pob.role.attribute? & db.common.attributes & db.common.linking.attributes db.pob = element pob { db.pob.attlist, db._text } } [ db:refname [ "postcode" ] db:refpurpose [ ] ] div { db.postcode.role.attribute = attribute role { text } db.postcode.attlist = db.postcode.role.attribute? & db.common.attributes & db.common.linking.attributes db.postcode = element postcode { db.postcode.attlist, db._text } } [ db:refname [ "city" ] db:refpurpose [ ] ] div { db.city.role.attribute = attribute role { text } db.city.attlist = db.city.role.attribute? & db.common.attributes & db.common.linking.attributes db.city = element city { db.city.attlist, db._text } } [ db:refname [ "state" ] db:refpurpose [ ] ] div { db.state.role.attribute = attribute role { text } db.state.attlist = db.state.role.attribute? & db.common.attributes & db.common.linking.attributes db.state = element state { db.state.attlist, db._text } } [ db:refname [ "country" ] db:refpurpose [ ] ] div { db.country.role.attribute = attribute role { text } db.country.attlist = db.country.role.attribute? & db.common.attributes & db.common.linking.attributes db.country = element country { db.country.attlist, db._text } } [ db:refname [ "phone" ] db:refpurpose [ ] ] div { db.phone.role.attribute = attribute role { text } db.phone.attlist = db.phone.role.attribute? & db.common.attributes & db.common.linking.attributes db.phone = element phone { db.phone.attlist, db._text } } [ db:refname [ "fax" ] db:refpurpose [ ] ] div { db.fax.role.attribute = attribute role { text } db.fax.attlist = db.fax.role.attribute? & db.common.attributes & db.common.linking.attributes db.fax = element fax { db.fax.attlist, db._text } } [ db:refname [ "otheraddr" ] db:refpurpose [ ] ] div { db.otheraddr.role.attribute = attribute role { text } db.otheraddr.attlist = db.otheraddr.role.attribute? & db.common.attributes & db.common.linking.attributes db.otheraddr = element otheraddr { db.otheraddr.attlist, db._text } } [ db:refname [ "affiliation" ] db:refpurpose [ ] ] div { db.affiliation.role.attribute = attribute role { text } db.affiliation.attlist = db.affiliation.role.attribute? & db.common.attributes & db.common.linking.attributes db.affiliation = element affiliation { db.affiliation.attlist, db.shortaffil?, db.jobtitle*, db.orgname?, db.orgdiv*, db.address* } } [ db:refname [ "shortaffil" ] db:refpurpose [ ] ] div { db.shortaffil.role.attribute = attribute role { text } db.shortaffil.attlist = db.shortaffil.role.attribute? & db.common.attributes & db.common.linking.attributes db.shortaffil = element shortaffil { db.shortaffil.attlist, db._text } } [ db:refname [ "jobtitle" ] db:refpurpose [ ] ] div { db.jobtitle.role.attribute = attribute role { text } db.jobtitle.attlist = db.jobtitle.role.attribute? & db.common.attributes & db.common.linking.attributes db.jobtitle = element jobtitle { db.jobtitle.attlist, db._text } } [ db:refname [ "orgname" ] db:refpurpose [ ] ctrl:other-attribute [ name = "db.orgname.class.attrib" enum-name = "db.orgname.class-enum.attribute" other-name = "db.orgname.class-other.attributes" ] ] div { db.orgname.class-enum.attribute = attribute class { "consortium" | "corporation" | "informal" | "nonprofit" }? db.orgname.class-other.attributes = attribute class { "other" }?, attribute otherclass { text } db.orgname.class.attribute = db.orgname.class-enum.attribute | db.orgname.class-other.attributes db.orgname.role.attribute = attribute role { text } db.orgname.attlist = db.orgname.role.attribute? & db.common.attributes & db.common.linking.attributes & db.orgname.class.attribute db.orgname = element orgname { db.orgname.attlist, db._text } } [ db:refname [ "orgdiv" ] db:refpurpose [ ] ] div { db.orgdiv.role.attribute = attribute role { text } db.orgdiv.attlist = db.orgdiv.role.attribute? & db.common.attributes & db.common.linking.attributes db.orgdiv = element orgdiv { db.orgdiv.attlist, db.all.inlines* } } [ db:refname [ "artpagenums" ] db:refpurpose [ ] ] div { db.artpagenums.role.attribute = attribute role { text } db.artpagenums.attlist = db.artpagenums.role.attribute? & db.common.attributes & db.common.linking.attributes db.artpagenums = element artpagenums { db.artpagenums.attlist, db._text } } [ db:refname [ "personname" ] db:refpurpose [ ] ] div { db.personname.role.attribute = attribute role { text } db.personname.attlist = db.personname.role.attribute? & db.common.attributes & db.common.linking.attributes db.personname = element personname { db.personname.attlist, (db._text | (db.honorific | db.firstname | db.surname | db.lineage | db.othername)+) } } db.person.author.contentmodel = db.personname, (db.personblurb | db.affiliation | db.email | db.address | db.contrib)* db.org.author.contentmodel = db.orgname, (db.orgdiv | db.affiliation | db.email | db.address | db.contrib)* db.credit.contentmodel = db.person.author.contentmodel | db.org.author.contentmodel [ db:refname [ "author" ] db:refpurpose [ ] ] div { db.author.role.attribute = attribute role { text } db.author.attlist = db.author.role.attribute? & db.common.attributes & db.common.linking.attributes db.author = element author { db.author.attlist, db.credit.contentmodel } } [ db:refname [ "authorgroup" ] db:refpurpose [ ] ] div { db.authorgroup.role.attribute = attribute role { text } db.authorgroup.attlist = db.authorgroup.role.attribute? & db.common.attributes & db.common.linking.attributes db.authorgroup = element authorgroup { db.authorgroup.attlist, (db.author | db.editor | db.othercredit)+ } } [ db:refname [ "collab" ] db:refpurpose [ ] ] div { db.collab.role.attribute = attribute role { text } db.collab.attlist = db.collab.role.attribute? & db.common.attributes & db.common.linking.attributes db.collab = element collab { db.collab.attlist, (db.personname | db.orgname)+, db.affiliation* } } [ db:refname [ "authorinitials" ] db:refpurpose [ ] ] div { db.authorinitials.role.attribute = attribute role { text } db.authorinitials.attlist = db.authorinitials.role.attribute? & db.common.attributes & db.common.linking.attributes db.authorinitials = element authorinitials { db.authorinitials.attlist, db._text } } [ db:refname [ "confgroup" ] db:refpurpose [ ] ] div { db.confgroup.role.attribute = attribute role { text } db.confgroup.attlist = db.confgroup.role.attribute? & db.common.attributes & db.common.linking.attributes db.confgroup = element confgroup { db.confgroup.attlist, (db.confdates | db.conftitle | db.confnum | db.confsponsor | db.address)* } } [ db:refname [ "confdates" ] db:refpurpose [ ] ] div { db.confdates.role.attribute = attribute role { text } db.confdates.attlist = db.confdates.role.attribute? & db.common.attributes & db.common.linking.attributes db.confdates = element confdates { db.confdates.attlist, db._text } } [ db:refname [ "conftitle" ] db:refpurpose [ ] ] div { db.conftitle.role.attribute = attribute role { text } db.conftitle.attlist = db.conftitle.role.attribute? & db.common.attributes & db.common.linking.attributes db.conftitle = element conftitle { db.conftitle.attlist, db._text } } [ db:refname [ "confnum" ] db:refpurpose [ ] ] div { db.confnum.role.attribute = attribute role { text } db.confnum.attlist = db.confnum.role.attribute? & db.common.attributes & db.common.linking.attributes db.confnum = element confnum { db.confnum.attlist, db._text } } [ db:refname [ "confsponsor" ] db:refpurpose [ ] ] div { db.confsponsor.role.attribute = attribute role { text } db.confsponsor.attlist = db.confsponsor.role.attribute? & db.common.attributes & db.common.linking.attributes db.confsponsor = element confsponsor { db.confsponsor.attlist, db._text } } [ db:refname [ "contractnum" ] db:refpurpose [ ] ] div { db.contractnum.role.attribute = attribute role { text } db.contractnum.attlist = db.contractnum.role.attribute? & db.common.attributes & db.common.linking.attributes db.contractnum = element contractnum { db.contractnum.attlist, db._text } } [ db:refname [ "contractsponsor" ] db:refpurpose [ ] ] div { db.contractsponsor.role.attribute = attribute role { text } db.contractsponsor.attlist = db.contractsponsor.role.attribute? & db.common.attributes & db.common.linking.attributes db.contractsponsor = element contractsponsor { db.contractsponsor.attlist, db._text } } [ db:refname [ "copyright" ] db:refpurpose [ ] ] div { db.copyright.role.attribute = attribute role { text } db.copyright.attlist = db.copyright.role.attribute? & db.common.attributes & db.common.linking.attributes db.copyright = element copyright { db.copyright.attlist, db.year+, db.holder* } } [ db:refname [ "year" ] db:refpurpose [ ] ] div { db.year.role.attribute = attribute role { text } db.year.attlist = db.year.role.attribute? & db.common.attributes & db.common.linking.attributes db.year = element year { db.year.attlist, db._text } } [ db:refname [ "holder" ] db:refpurpose [ ] ] div { db.holder.role.attribute = attribute role { text } db.holder.attlist = db.holder.role.attribute? & db.common.attributes & db.common.linking.attributes db.holder = element holder { db.holder.attlist, db._text } } db.date.contentmodel = xsd:date | xsd:dateTime | xsd:gYearMonth | xsd:gYear [ db:refname [ "date" ] db:refpurpose [ ] ] div { db.date.role.attribute = attribute role { text } db.date.attlist = db.date.role.attribute? & db.common.attributes & db.common.linking.attributes db.date = element date { db.date.attlist, db.date.contentmodel } } [ db:refname [ "edition" ] db:refpurpose [ ] ] div { db.edition.role.attribute = attribute role { text } db.edition.attlist = db.edition.role.attribute? & db.common.attributes & db.common.linking.attributes db.edition = element edition { db.edition.attlist, db._text } } [ db:refname [ "editor" ] db:refpurpose [ ] ] div { db.editor.role.attribute = attribute role { text } db.editor.attlist = db.editor.role.attribute? & db.common.attributes & db.common.linking.attributes db.editor = element editor { db.editor.attlist, db.credit.contentmodel } } [ db:refname [ "biblioid" ] db:refpurpose [ ] ] div { db.biblioid.role.attribute = attribute role { text } db.biblioid.attlist = db.biblioid.role.attribute? & db.common.attributes & db.common.linking.attributes & db.biblio.class.attribute db.biblioid = element biblioid { db.biblioid.attlist, db._text } } [ db:refname [ "citebiblioid" ] db:refpurpose [ ] ] div { db.citebiblioid.role.attribute = attribute role { text } db.citebiblioid.attlist = db.citebiblioid.role.attribute? & db.common.attributes & db.common.linking.attributes & db.biblio.class.attribute db.citebiblioid = element citebiblioid { db.citebiblioid.attlist, db._text } } [ db:refname [ "bibliosource" ] db:refpurpose [ ] ] div { db.bibliosource.role.attribute = attribute role { text } db.bibliosource.attlist = db.bibliosource.role.attribute? & db.common.attributes & db.common.linking.attributes & db.biblio.class.attribute db.bibliosource = element bibliosource { db.bibliosource.attlist, db._text } } [ db:refname [ "bibliorelation" ] db:refpurpose [ ] ctrl:other-attribute [ name = "db.bibliorelation.type.attrib" enum-name = "db.bibliorelation.type-enum.attribute" other-name = "db.bibliorelation.type-other.attributes" ] ] div { db.bibliorelation.type-enum.attribute = attribute type { "hasformat" | "haspart" | "hasversion" | "isformatof" | "ispartof" | "isreferencedby" | "isreplacedby" | "isrequiredby" | "isversionof" | "othertype" | "references" | "replaces" | "requires" }? db.bibliorelation.type-other.attributes = attribute type { "othertype" }?, attribute othertype { xsd:NMTOKEN } db.bibliorelation.type.attribute = db.bibliorelation.type-enum.attribute | db.bibliorelation.type-other.attributes db.bibliorelation.role.attribute = attribute role { text } db.bibliorelation.attlist = db.bibliorelation.role.attribute? & db.common.attributes & db.common.linking.attributes & db.biblio.class.attribute & db.bibliorelation.type.attribute db.bibliorelation = element bibliorelation { db.bibliorelation.attlist, db._text } } [ db:refname [ "bibliocoverage" ] db:refpurpose [ ] ctrl:other-attribute [ name = "db.bibliocoverage.spatial.attrib" enum-name = "db.bibliocoverage.spatial-enum.attribute" other-name = "db.bibliocoverage.spatial-other.attributes" ] ] div { db.bibliocoverage.spatial-enum.attribute = attribute spatial { "dcmipoint" | "iso3166" | "dcmibox" | "tgn" }? db.bibliocoverage.spatial-other.attributes = attribute spatial { "otherspatial" }?, attribute otherspatial { xsd:NMTOKEN } db.bibliocoverage.spatial.attribute = db.bibliocoverage.spatial-enum.attribute | db.bibliocoverage.spatial-other.attributes ctrl:other-attribute [ name = "db.bibliocoverage.temporal.attrib" enum-name = "db.bibliocoverage.temporal-enum.attribute" other-name = "db.bibliocoverage.temporal-other.attributes" ] db.bibliocoverage.temporal-enum.attribute = attribute temporal { "dcmiperiod" | "w3c-dtf" }? db.bibliocoverage.temporal-other.attributes = attribute temporal { "othertemporal" }?, attribute othertemporal { xsd:NMTOKEN } db.bibliocoverage.temporal.attribute = db.bibliocoverage.temporal-enum.attribute | db.bibliocoverage.temporal-other.attributes db.bibliocoverage.coverage.attrib = db.bibliocoverage.spatial.attribute & db.bibliocoverage.temporal.attribute db.bibliocoverage.role.attribute = attribute role { text } db.bibliocoverage.attlist = db.bibliocoverage.role.attribute? & db.common.attributes & db.common.linking.attributes & db.bibliocoverage.coverage.attrib db.bibliocoverage = element bibliocoverage { db.bibliocoverage.attlist, db._text } } [ db:refname [ "legalnotice" ] db:refpurpose [ ] ] div { db.legalnotice.role.attribute = attribute role { text } db.legalnotice.attlist = db.legalnotice.role.attribute? & db.common.attributes & db.common.linking.attributes db.legalnotice.info = db._info.title.only db.legalnotice = element legalnotice { db.legalnotice.attlist, db.legalnotice.info, db.all.blocks+ } } [ db:refname [ "othercredit" ] db:refpurpose [ ] ] div { db.othercredit.class.attribute = attribute class { "copyeditor" | "graphicdesigner" | "other" | "productioneditor" | "technicaleditor" | "translator" }? db.othercredit.role.attribute = attribute role { text } db.othercredit.attlist = db.othercredit.role.attribute? & db.common.attributes & db.common.linking.attributes & db.othercredit.class.attribute db.othercredit = element othercredit { db.othercredit.attlist, db.credit.contentmodel } } [ db:refname [ "pagenums" ] db:refpurpose [ ] ] div { db.pagenums.role.attribute = attribute role { text } db.pagenums.attlist = db.pagenums.role.attribute? & db.common.attributes & db.common.linking.attributes db.pagenums = element pagenums { db.pagenums.attlist, db._text } } [ db:refname [ "contrib" ] db:refpurpose [ ] ] div { db.contrib.role.attribute = attribute role { text } db.contrib.attlist = db.contrib.role.attribute? & db.common.attributes & db.common.linking.attributes db.contrib = element contrib { db.contrib.attlist, db._text } } [ db:refname [ "honorific" ] db:refpurpose [ ] ] div { db.honorific.role.attribute = attribute role { text } db.honorific.attlist = db.honorific.role.attribute? & db.common.attributes & db.common.linking.attributes db.honorific = element honorific { db.honorific.attlist, db._text } } [ db:refname [ "firstname" ] db:refpurpose [ ] ] div { db.firstname.role.attribute = attribute role { text } db.firstname.attlist = db.firstname.role.attribute? & db.common.attributes & db.common.linking.attributes db.firstname = element firstname { db.firstname.attlist, db._text } } [ db:refname [ "surname" ] db:refpurpose [ ] ] div { db.surname.role.attribute = attribute role { text } db.surname.attlist = db.surname.role.attribute? & db.common.attributes & db.common.linking.attributes db.surname = element surname { db.surname.attlist, db._text } } [ db:refname [ "lineage" ] db:refpurpose [ ] ] div { db.lineage.role.attribute = attribute role { text } db.lineage.attlist = db.lineage.role.attribute? & db.common.attributes & db.common.linking.attributes db.lineage = element lineage { db.lineage.attlist, db._text } } [ db:refname [ "othername" ] db:refpurpose [ ] ] div { db.othername.role.attribute = attribute role { text } db.othername.attlist = db.othername.role.attribute? & db.common.attributes & db.common.linking.attributes db.othername = element othername { db.othername.attlist, db._text } } [ db:refname [ "printhistory" ] db:refpurpose [ ] ] div { db.printhistory.role.attribute = attribute role { text } db.printhistory.attlist = db.printhistory.role.attribute? & db.common.attributes & db.common.linking.attributes db.printhistory = element printhistory { db.printhistory.attlist, db.para.blocks+ } } [ db:refname [ "productname" ] db:refpurpose [ ] ] div { db.productname.role.attribute = attribute role { text } db.productname.attlist = db.productname.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute class { "copyright" | "registered" | "service" | "trade" }? db.productname = element productname { db.productname.attlist, db._text } } [ db:refname [ "productnumber" ] db:refpurpose [ ] ] div { db.productnumber.role.attribute = attribute role { text } db.productnumber.attlist = db.productnumber.role.attribute? & db.common.attributes & db.common.linking.attributes db.productnumber = element productnumber { db.productnumber.attlist, db._text } } [ db:refname [ "pubdate" ] db:refpurpose [ ] ] div { db.pubdate.role.attribute = attribute role { text } db.pubdate.attlist = db.pubdate.role.attribute? & db.common.attributes & db.common.linking.attributes db.pubdate = element pubdate { db.pubdate.attlist, db.date.contentmodel } } [ db:refname [ "publisher" ] db:refpurpose [ ] ] div { db.publisher.role.attribute = attribute role { text } db.publisher.attlist = db.publisher.role.attribute? & db.common.attributes & db.common.linking.attributes db.publisher = element publisher { db.publisher.attlist, db.publishername, db.address* } } [ db:refname [ "publishername" ] db:refpurpose [ ] ] div { db.publishername.role.attribute = attribute role { text } db.publishername.attlist = db.publishername.role.attribute? & db.common.attributes & db.common.linking.attributes db.publishername = element publishername { db.publishername.attlist, db._text } } [ db:refname [ "releaseinfo" ] db:refpurpose [ ] ] div { db.releaseinfo.role.attribute = attribute role { text } db.releaseinfo.attlist = db.releaseinfo.role.attribute? & db.common.attributes & db.common.linking.attributes db.releaseinfo = element releaseinfo { db.releaseinfo.attlist, db._text } } [ db:refname [ "revhistory" ] db:refpurpose [ ] ] div { db.revhistory.role.attribute = attribute role { text } db.revhistory.attlist = db.revhistory.role.attribute? & db.common.attributes & db.common.linking.attributes db.revhistory.info = db._info.title.only db.revhistory = element revhistory { db.revhistory.attlist, db.revhistory.info, db.revision+ } } [ db:refname [ "revision" ] db:refpurpose [ ] ] div { db.revision.role.attribute = attribute role { text } db.revision.attlist = db.revision.role.attribute? & db.common.attributes & db.common.linking.attributes db.revision = element revision { db.revision.attlist, db.revnumber, db.date, (db.authorinitials | db.author)*, (db.revremark | db.revdescription)? } } [ db:refname [ "revnumber" ] db:refpurpose [ ] ] div { db.revnumber.role.attribute = attribute role { text } db.revnumber.attlist = db.revnumber.role.attribute? & db.common.attributes & db.common.linking.attributes db.revnumber = element revnumber { db.revnumber.attlist, db._text } } [ db:refname [ "revremark" ] db:refpurpose [ ] ] div { db.revremark.role.attribute = attribute role { text } db.revremark.attlist = db.revremark.role.attribute? & db.common.attributes & db.common.linking.attributes db.revremark = element revremark { db.revremark.attlist, db._text } } [ db:refname [ "revdescription" ] db:refpurpose [ ] ] div { db.revdescription.role.attribute = attribute role { text } db.revdescription.attlist = db.revdescription.role.attribute? & db.common.attributes & db.common.linking.attributes db.revdescription = element revdescription { db.revdescription.attlist, db.all.blocks* } } [ db:refname [ "seriesvolnums" ] db:refpurpose [ ] ] div { db.seriesvolnums.role.attribute = attribute role { text } db.seriesvolnums.attlist = db.seriesvolnums.role.attribute? & db.common.attributes & db.common.linking.attributes db.seriesvolnums = element seriesvolnums { db.seriesvolnums.attlist, db._text } } [ db:refname [ "volumenum" ] db:refpurpose [ ] ] div { db.volumenum.role.attribute = attribute role { text } db.volumenum.attlist = db.volumenum.role.attribute? & db.common.attributes & db.common.linking.attributes db.volumenum = element volumenum { db.volumenum.attlist, db._text } } [ db:refname [ "issuenum" ] db:refpurpose [ ] ] div { db.issuenum.role.attribute = attribute role { text } db.issuenum.attlist = db.issuenum.role.attribute? & db.common.attributes & db.common.linking.attributes db.issuenum = element issuenum { db.issuenum.attlist, db._text } } [ db:refname [ ] db:refpurpose [ ] ] div { db.accel.role.attribute = attribute role { text } db.accel.attlist = db.accel.role.attribute? & db.common.attributes & db.common.linking.attributes db.accel = element accel { db.accel.attlist, db._text } } [ db:refname [ "application" ] db:refpurpose [ ] ] div { application.class.attribute = attribute class { "hardware" | "software" } db.application.role.attribute = attribute role { text } db.application.attlist = db.application.role.attribute? & db.common.attributes & db.common.linking.attributes & application.class.attribute? db.application = element application { db.application.attlist, db._text } } [ db:refname [ "package" ] db:refpurpose [ ] ] div { db.package.role.attribute = attribute role { text } db.package.attlist = db.package.role.attribute? & db.common.attributes & db.common.linking.attributes db.package = element package { db.package.attlist, db._text } } [ db:refname [ "classname" ] db:refpurpose [ ] ] div { db.classname.role.attribute = attribute role { text } db.classname.attlist = db.classname.role.attribute? & db.common.attributes & db.common.linking.attributes db.classname = element classname { db.classname.attlist, db._text } } [ db:refname [ "command" ] db:refpurpose [ ] ] div { db.command.role.attribute = attribute role { text } db.command.attlist = db.command.role.attribute? & db.common.attributes & db.common.linking.attributes db.command = element command { db.command.attlist, db.all.inlines* } } db.computeroutput.inlines = db.all.inlines | db.co | db.co [ db:refname [ "computeroutput" ] db:refpurpose [ ] ] div { db.computeroutput.role.attribute = attribute role { text } db.computeroutput.attlist = db.computeroutput.role.attribute? & db.common.attributes & db.common.linking.attributes db.computeroutput = element computeroutput { db.computeroutput.attlist, db.computeroutput.inlines* } } [ db:refname [ "database" ] db:refpurpose [ ] ] div { db.database.class.attribute = attribute class { "altkey" | "constraint" | "datatype" | "field" | "foreignkey" | "group" | "index" | "key1" | "key2" | "name" | "primarykey" | "procedure" | "record" | "rule" | "secondarykey" | "table" | "user" | "view" } db.database.role.attribute = attribute role { text } db.database.attlist = db.database.role.attribute? & db.common.attributes & db.common.linking.attributes & db.database.class.attribute? db.database = element database { db.database.attlist, db._text } } [ db:refname [ "email" ] db:refpurpose [ ] ] div { db.email.role.attribute = attribute role { text } db.email.attlist = db.email.role.attribute? & db.common.attributes & db.common.linking.attributes db.email = element email { db.email.attlist, db._text } } [ db:refname [ "envar" ] db:refpurpose [ ] ] div { db.envar.role.attribute = attribute role { text } db.envar.attlist = db.envar.role.attribute? & db.common.attributes & db.common.linking.attributes db.envar = element envar { db.envar.attlist, db._text } } [ db:refname [ "errorcode" ] db:refpurpose [ ] ] div { db.errorcode.role.attribute = attribute role { text } db.errorcode.attlist = db.errorcode.role.attribute? & db.common.attributes & db.common.linking.attributes db.errorcode = element errorcode { db.errorcode.attlist, db._text } } [ db:refname [ "errorname" ] db:refpurpose [ ] ] div { db.errorname.role.attribute = attribute role { text } db.errorname.attlist = db.errorname.role.attribute? & db.common.attributes & db.common.linking.attributes db.errorname = element errorname { db.errorname.attlist, db._text } } [ db:refname [ "errortext" ] db:refpurpose [ ] ] div { db.errortext.role.attribute = attribute role { text } db.errortext.attlist = db.errortext.role.attribute? & db.common.attributes & db.common.linking.attributes db.errortext = element errortext { db.errortext.attlist, db._text } } [ db:refname [ "errortype" ] db:refpurpose [ ] ] div { db.errortype.role.attribute = attribute role { text } db.errortype.attlist = db.errortype.role.attribute? & db.common.attributes & db.common.linking.attributes db.errortype = element errortype { db.errortype.attlist, db._text } } [ db:refname [ "filename" ] db:refpurpose [ ] ] div { db.filename.path.attribute = attribute path { text } db.filename.class.attribute = attribute class { "devicefile" | "directory" | "extension" | "headerfile" | "libraryfile" | "partition" | "symlink" } db.filename.role.attribute = attribute role { text } db.filename.attlist = db.filename.role.attribute? & db.common.attributes & db.common.linking.attributes & db.filename.path.attribute? & db.filename.class.attribute? db.filename = element filename { db.filename.attlist, db._text } } [ db:refname [ "function" ] db:refpurpose [ ] ] div { db.function.role.attribute = attribute role { text } db.function.attlist = db.function.role.attribute? & db.common.attributes & db.common.linking.attributes db.function = element function { db.function.attlist, db._text } } [ db:refname [ "guibutton" ] db:refpurpose [ ] ] div { db.guibutton.role.attribute = attribute role { text } db.guibutton.attlist = db.guibutton.role.attribute? & db.common.attributes & db.common.linking.attributes db.guibutton = element guibutton { db.guibutton.attlist, (db._text | db.accel | db.superscript | db.subscript)* } } [ db:refname [ "guiicon" ] db:refpurpose [ ] ] div { db.guiicon.role.attribute = attribute role { text } db.guiicon.attlist = db.guiicon.role.attribute? & db.common.attributes & db.common.linking.attributes db.guiicon = element guiicon { db.guiicon.attlist, (db._text | db.accel | db.superscript | db.subscript)* } } [ db:refname [ "guilabel" ] db:refpurpose [ ] ] div { db.guilabel.role.attribute = attribute role { text } db.guilabel.attlist = db.guilabel.role.attribute? & db.common.attributes & db.common.linking.attributes db.guilabel = element guilabel { db.guilabel.attlist, (db._text | db.accel | db.superscript | db.subscript)* } } [ db:refname [ "guimenu" ] db:refpurpose [ ] ] div { db.guimenu.role.attribute = attribute role { text } db.guimenu.attlist = db.guimenu.role.attribute? & db.common.attributes & db.common.linking.attributes db.guimenu = element guimenu { db.guimenu.attlist, (db._text | db.accel | db.superscript | db.subscript)* } } [ db:refname [ "guimenuitem" ] db:refpurpose [ ] ] div { db.guimenuitem.role.attribute = attribute role { text } db.guimenuitem.attlist = db.guimenuitem.role.attribute? & db.common.attributes & db.common.linking.attributes db.guimenuitem = element guimenuitem { db.guimenuitem.attlist, (db._text | db.accel | db.superscript | db.subscript)* } } [ db:refname [ "guisubmenu" ] db:refpurpose [ ] ] div { db.guisubmenu.role.attribute = attribute role { text } db.guisubmenu.attlist = db.guisubmenu.role.attribute? & db.common.attributes & db.common.linking.attributes db.guisubmenu = element guisubmenu { db.guisubmenu.attlist, (db._text | db.accel | db.superscript | db.subscript)* } } [ db:refname [ "hardware" ] db:refpurpose [ ] ] div { db.hardware.role.attribute = attribute role { text } db.hardware.attlist = db.hardware.role.attribute? & db.common.attributes & db.common.linking.attributes db.hardware = element hardware { db.hardware.attlist, db._text } } [ db:refname [ "keycap" ] db:refpurpose [ ] ctrl:other-attribute [ name = "db.keycap.function.attrib" enum-name = "db.keycap.function-enum.attribute" other-name = "db.keycap.function-other.attributes" ] ] div { db.keycap.function-enum.attribute = attribute function { "alt" | "backspace" | "command" | "control" | "delete" | "down" | "end" | "enter" | "escape" | "home" | "insert" | "left" | "meta" | "option" | "pagedown" | "pageup" | "right" | "shift" | "space" | "tab" | "up" }? db.keycap.function-other.attributes = attribute function { "other" }?, attribute otherfunction { text } db.keycap.function.attrib = db.keycap.function-enum.attribute | db.keycap.function-other.attributes db.keycap.role.attribute = attribute role { text } db.keycap.attlist = db.keycap.role.attribute? & db.common.attributes & db.common.linking.attributes & db.keycap.function.attrib db.keycap = element keycap { db.keycap.attlist, db._text } } [ db:refname [ "keycode" ] db:refpurpose [ ] ] div { db.keycode.role.attribute = attribute role { text } db.keycode.attlist = db.keycode.role.attribute? & db.common.attributes & db.common.linking.attributes db.keycode = element keycode { db.keycode.attlist, db._text } } [ db:refname [ "keycombo" ] db:refpurpose [ ] ctrl:other-attribute [ name = "db.keycombo.action.attrib" enum-name = "db.keycombo.action-enum.attribute" other-name = "db.keycombo.action-other.attributes" ] ] div { db.keycombo.action-enum.attribute = attribute action { "click" | "double-click" | "press" | "seq" | "simul" }? db.keycombo.action-other.attributes = attribute action { "other" }?, attribute otheraction { text } db.keycombo.action.attrib = db.keycombo.action-enum.attribute | db.keycombo.action-other.attributes db.keycombo.role.attribute = attribute role { text } db.keycombo.attlist = db.keycombo.role.attribute? & db.common.attributes & db.common.linking.attributes & db.keycombo.action.attrib db.keycombo = element keycombo { db.keycombo.attlist, (db.keycap | db.keycombo | db.keysym | db.mousebutton)+ } } [ db:refname [ "keysym" ] db:refpurpose [ ] ] div { db.keysym.role.attribute = attribute role { text } db.keysym.attlist = db.keysym.role.attribute? & db.common.attributes & db.common.linking.attributes db.keysym = element keysym { db.keysym.attlist, db._text } } [ db:refname [ "lineannotation" ] db:refpurpose [ ] ] div { db.lineannotation.role.attribute = attribute role { text } db.lineannotation.attlist = db.lineannotation.role.attribute? & db.common.attributes & db.common.linking.attributes db.lineannotation = element lineannotation { db.lineannotation.attlist, db.all.inlines* } } [ db:refname [ "literal" ] db:refpurpose [ ] ] div { db.literal.role.attribute = attribute role { text } db.literal.attlist = db.literal.role.attribute? & db.common.attributes & db.common.linking.attributes db.literal = element literal { db.literal.attlist, db.all.inlines* } } [ db:refname [ "code" ] db:refpurpose [ ] ] div { code.language.attribute = attribute language { text } db.code.role.attribute = attribute role { text } db.code.attlist = db.code.role.attribute? & db.common.attributes & db.common.linking.attributes & code.language.attribute? db.code = element code { db.code.attlist, db.all.inlines* } } [ db:refname [ "constant" ] db:refpurpose [ ] ] div { constant.class.attribute = attribute class { "limit" } db.constant.role.attribute = attribute role { text } db.constant.attlist = db.constant.role.attribute? & db.common.attributes & db.common.linking.attributes & constant.class.attribute? db.constant = element constant { db.constant.attlist, db._text } } [ db:refname [ "varname" ] db:refpurpose [ ] ] div { db.varname.role.attribute = attribute role { text } db.varname.attlist = db.varname.role.attribute? & db.common.attributes & db.common.linking.attributes db.varname = element varname { db.varname.attlist, db._text } } [ db:refname [ "markup" ] db:refpurpose [ ] ] div { db.markup.role.attribute = attribute role { text } db.markup.attlist = db.markup.role.attribute? & db.common.attributes & db.common.linking.attributes db.markup = element markup { db.markup.attlist, db._text } } [ db:refname [ "menuchoice" ] db:refpurpose [ ] ] div { db.menuchoice.role.attribute = attribute role { text } db.menuchoice.attlist = db.menuchoice.role.attribute? & db.common.attributes & db.common.linking.attributes db.menuchoice = element menuchoice { db.menuchoice.attlist, db.shortcut?, (db.guibutton | db.guiicon | db.guilabel | db.guimenu | db.guimenuitem | db.guisubmenu)+ } } [ db:refname [ "shortcut" ] db:refpurpose [ ] ] div { db.shortcut.action.attrib = db.keycombo.action.attrib db.shortcut.role.attribute = attribute role { text } db.shortcut.attlist = db.shortcut.role.attribute? & db.common.attributes & db.common.linking.attributes & db.shortcut.action.attrib db.shortcut = element shortcut { db.shortcut.attlist, (db.keycap | db.keycombo | db.keysym | db.mousebutton)+ } } [ db:refname [ "mousebutton" ] db:refpurpose [ ] ] div { db.mousebutton.role.attribute = attribute role { text } db.mousebutton.attlist = db.mousebutton.role.attribute? & db.common.attributes & db.common.linking.attributes db.mousebutton = element mousebutton { db.mousebutton.attlist, db._text } } [ db:refname [ "option" ] db:refpurpose [ ] ] div { db.option.role.attribute = attribute role { text } db.option.attlist = db.option.role.attribute? & db.common.attributes & db.common.linking.attributes db.option = element option { db.option.attlist, db._text } } [ db:refname [ "optional" ] db:refpurpose [ ] ] div { db.optional.role.attribute = attribute role { text } db.optional.attlist = db.optional.role.attribute? & db.common.attributes & db.common.linking.attributes db.optional = element optional { db.optional.attlist, db.all.inlines* } } [ db:refname [ "property" ] db:refpurpose [ ] ] div { db.property.role.attribute = attribute role { text } db.property.attlist = db.property.role.attribute? & db.common.attributes & db.common.linking.attributes db.property = element property { db.property.attlist, db.all.inlines* } } [ db:refname [ "parameter" ] db:refpurpose [ ] ] div { parameter.class.attribute = attribute class { "command" | "function" | "option" } db.parameter.role.attribute = attribute role { text } db.parameter.attlist = db.parameter.role.attribute? & db.common.attributes & db.common.linking.attributes & parameter.class.attribute? db.parameter = element parameter { db.parameter.attlist, db._text } } db.prompt.inlines = db._text | db.co [ db:refname [ "prompt" ] db:refpurpose [ ] ] div { db.prompt.role.attribute = attribute role { text } db.prompt.attlist = db.prompt.role.attribute? & db.common.attributes & db.common.linking.attributes db.prompt = element prompt { db.prompt.attlist, db.prompt.inlines* } } db.replaceable.inlines = db._text | db.co [ db:refname [ "replaceable" ] db:refpurpose [ ] ] div { db.replaceable.class.attribute = attribute class { "command" | "function" | "option" | "parameter" } db.replaceable.role.attribute = attribute role { text } db.replaceable.attlist = db.replaceable.role.attribute? & db.common.attributes & db.common.linking.attributes & db.replaceable.class.attribute? db.replaceable = element replaceable { db.replaceable.attlist, db.replaceable.inlines* } } [ db:refname [ "returnvalue" ] db:refpurpose [ ] ] div { db.returnvalue.role.attribute = attribute role { text } db.returnvalue.attlist = db.returnvalue.role.attribute? & db.common.attributes & db.common.linking.attributes db.returnvalue = element returnvalue { db.returnvalue.attlist, db._text } } [ db:refname [ "tag" ] db:refpurpose [ ] ] div { db.tag.class.attribute = attribute class { "attribute" | "attvalue" | "element" | "emptytag" | "endtag" | "genentity" | "numcharref" | "paramentity" | "pi" | "sgmlcomment" | "starttag" | "xmlpi" } db.tag.role.attribute = attribute role { text } db.tag.attlist = db.tag.role.attribute? & db.common.attributes & db.common.linking.attributes & db.tag.class.attribute? & attribute namespace { text }? db.tag = element tag { db.tag.attlist, db._text } } [ db:refname [ "symbol" ] db:refpurpose [ ] ] div { db.symbol.class.attribute = attribute class { "limit" }? db.symbol.role.attribute = attribute role { text } db.symbol.attlist = db.symbol.role.attribute? & db.common.attributes & db.common.linking.attributes & db.symbol.class.attribute db.symbol = element symbol { db.symbol.attlist, db._text } } db.systemitem.inlines = db._text | db.co [ db:refname [ "systemitem" ] db:refpurpose [ ] ] div { db.systemitem.class.attribute = attribute class { "daemon" | "domainname" | "etheraddress" | "event" | "eventhandler" | "filesystem" | "fqdomainname" | "groupname" | "ipaddress" | "library" | "macro" | "netmask" | "newsgroup" | "osname" | "process" | "resource" | "server" | "service" | "systemname" | "username" } db.systemitem.role.attribute = attribute role { text } db.systemitem.attlist = db.systemitem.role.attribute? & db.common.attributes & db.common.linking.attributes & db.systemitem.class.attribute? db.systemitem = element systemitem { db.systemitem.attlist, db.systemitem.inlines* } } [ db:refname [ "uri" ] db:refpurpose [ ] ] div { db.uri.type.attribute = attribute type { text }? db.uri.role.attribute = attribute role { text } db.uri.attlist = db.uri.role.attribute? & db.common.attributes & db.common.linking.attributes & db.uri.type.attribute db.uri = element uri { db.uri.attlist, db._text } } [ db:refname [ "token" ] db:refpurpose [ ] ] div { db.token.role.attribute = attribute role { text } db.token.attlist = db.token.role.attribute? & db.common.attributes & db.common.linking.attributes db.token = element token { db.token.attlist, db._text } } [ db:refname [ "type" ] db:refpurpose [ ] ] div { db.type.role.attribute = attribute role { text } db.type.attlist = db.type.role.attribute? & db.common.attributes & db.common.linking.attributes db.type = element type { db.type.attlist, db._text } } db.userinput.inlines = db.all.inlines | db.co [ db:refname [ "userinput" ] db:refpurpose [ ] ] div { db.userinput.role.attribute = attribute role { text } db.userinput.attlist = db.userinput.role.attribute? & db.common.attributes & db.common.linking.attributes db.userinput = element userinput { db.userinput.attlist, db.userinput.inlines* } } [ db:refname [ "abbrev" ] db:refpurpose [ ] ] div { db.abbrev.role.attribute = attribute role { text } db.abbrev.attlist = db.abbrev.role.attribute? & db.common.attributes & db.common.linking.attributes db.abbrev = element abbrev { db.abbrev.attlist, (db._text | db.superscript | db.subscript | db.trademark)* } } [ db:refname [ "acronym" ] db:refpurpose [ ] ] div { db.acronym.role.attribute = attribute role { text } db.acronym.attlist = db.acronym.role.attribute? & db.common.attributes & db.common.linking.attributes db.acronym = element acronym { db.acronym.attlist, (db._text | db.superscript | db.subscript | db.trademark)* } } [ db:refname [ "citation" ] db:refpurpose [ ] ] div { db.citation.role.attribute = attribute role { text } db.citation.attlist = db.citation.role.attribute? & db.common.attributes & db.common.linking.attributes db.citation = element citation { db.citation.attlist, db.all.inlines* } } [ db:refname [ "citerefentry" ] db:refpurpose [ ] ] div { db.citerefentry.role.attribute = attribute role { text } db.citerefentry.attlist = db.citerefentry.role.attribute? & db.common.attributes & db.common.linking.attributes db.citerefentry = element citerefentry { db.citerefentry.attlist, db.refentrytitle, db.manvolnum? } } [ db:refname [ "refentrytitle" ] db:refpurpose [ ] ] div { db.refentrytitle.role.attribute = attribute role { text } db.refentrytitle.attlist = db.refentrytitle.role.attribute? & db.common.attributes & db.common.linking.attributes db.refentrytitle = element refentrytitle { db.refentrytitle.attlist, db.all.inlines* } } [ db:refname [ "manvolnum" ] db:refpurpose [ ] ] div { db.manvolnum.role.attribute = attribute role { text } db.manvolnum.attlist = db.manvolnum.role.attribute? & db.common.attributes & db.common.linking.attributes db.manvolnum = element manvolnum { db.manvolnum.attlist, db._text } } [ db:refname [ "citetitle" ] db:refpurpose [ ] ] div { db.citetitle.pubwork.attribute = attribute pubwork { "article" | "bbs" | "book" | "cdrom" | "chapter" | "dvd" | "emailmessage" | "gopher" | "journal" | "manuscript" | "newsposting" | "part" | "refentry" | "section" | "series" | "set" | "webpage" | "wiki" } db.citetitle.role.attribute = attribute role { text } db.citetitle.attlist = db.citetitle.role.attribute? & db.common.attributes & db.common.linking.attributes & db.citetitle.pubwork.attribute? db.citetitle = element citetitle { db.citetitle.attlist, db.all.inlines* } } [ db:refname [ "emphasis" ] db:refpurpose [ ] ] div { db.emphasis.role.attribute = attribute role { text } db.emphasis.attlist = db.emphasis.role.attribute? & db.common.attributes & db.common.linking.attributes db.emphasis = element emphasis { db.emphasis.attlist, db.all.inlines* } } [ db:refname [ "foreignphrase" ] db:refpurpose [ ] ] div { db.foreignphrase.role.attribute = attribute role { text } db.foreignphrase.attlist = db.foreignphrase.role.attribute? & db.common.attributes & db.common.linking.attributes db.foreignphrase = element foreignphrase { db.foreignphrase.attlist, (text | db.general.inlines)* } } [ db:refname [ "phrase" ] db:refpurpose [ ] ] div { db.phrase.role.attribute = attribute role { text } db.phrase.attlist = db.phrase.role.attribute? & db.common.attributes & db.common.linking.attributes db.phrase = element phrase { db.phrase.attlist, db.all.inlines* } } [ db:refname [ "quote" ] db:refpurpose [ ] ] div { db.quote.role.attribute = attribute role { text } db.quote.attlist = db.quote.role.attribute? & db.common.attributes & db.common.linking.attributes db.quote = element quote { db.quote.attlist, db.all.inlines* } } [ db:refname [ "subscript" ] db:refpurpose [ ] ] div { db.subscript.role.attribute = attribute role { text } db.subscript.attlist = db.subscript.role.attribute? & db.common.attributes & db.common.linking.attributes db.subscript = element subscript { db.subscript.attlist, db._text } } [ db:refname [ "superscript" ] db:refpurpose [ ] ] div { db.superscript.role.attribute = attribute role { text } db.superscript.attlist = db.superscript.role.attribute? & db.common.attributes & db.common.linking.attributes db.superscript = element superscript { db.superscript.attlist, db._text } } [ db:refname [ "trademark" ] db:refpurpose [ ] ] div { db.trademark.class.attribute = attribute class { "copyright" | "registered" | "service" | "trade" } db.trademark.role.attribute = attribute role { text } db.trademark.attlist = db.trademark.role.attribute? & db.common.attributes & db.common.linking.attributes & db.trademark.class.attribute? db.trademark = element trademark { db.trademark.attlist, db._text } } [ db:refname [ "wordasword" ] db:refpurpose [ ] ] div { db.wordasword.role.attribute = attribute role { text } db.wordasword.attlist = db.wordasword.role.attribute? & db.common.attributes & db.common.linking.attributes db.wordasword = element wordasword { db.wordasword.attlist, db._text } } [ db:refname [ "footnoteref" ] db:refpurpose [ ] ] div { db.footnoteref.role.attribute = attribute role { text } db.footnoteref.attlist = db.footnoteref.role.attribute? & db.common.attributes & db.linkend.attribute & attribute label { text }? db.footnoteref = [ s:rule [ context = "db:footnoteref" "\x{a}" ~ " " s:assert [ test = "local-name(//*[@id=current()/@linkend]) = 'footnote' and namespace-uri(//*[@id=current()/@linkend]) = 'http://docbook.org/docbook-ng'" "@linkend on footnoteref must point to a footnote." ] "\x{a}" ~ " " ] ]