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 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" # DocBook NG: The "Eaux-de-vie" 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: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 href { text } db.common.attributes = attribute 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 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.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 { text }? 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.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 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}" ~ " " ] ] element footnoteref { db.footnoteref.attlist, empty } } [ db:refname [ "xref" ] db:refpurpose [ ] ] div { db.xref.role.attribute = attribute role { text } db.xref.attlist = db.xref.role.attribute? & db.common.attributes & db.common.req.linking.attributes & attribute xrefstyle { text }? & attribute endterm { xsd:IDREF }? db.xref = element xref { db.xref.attlist, empty } } [ db:refname [ "link" ] db:refpurpose [ "A hypertext link" ] dbx:description [ "\x{a}" ~ " " db:para [ "The " db:tag [ "link" ] "\x{a}" ~ " element is a general purpose hypertext element. Usually, " db:tag [ "link" ] "\x{a}" ~ " surrounds the text that should be made “hot” (unlike " db:tag [ "xref" ] "\x{a}" ~ " which must generate the text) but the " db:tag [ class = "attribute" "endterm" ] "\x{a}" ~ " attribute can be used to copy text from another element." ] "\x{a}" ~ " " ] dbx:expectations [ "\x{a}" ~ " " db:para [ "\x{a}" ~ " " dbx:format [ class = "inline" ] "\x{a}" ~ " " ] "\x{a}" ~ " " db:para [ "If the " db:tag [ "link" ] "\x{a}" ~ " element has content, then that content is processed for output as the “hot” text. If the " db:tag [ "link" ] "\x{a}" ~ " element has content and an " db:tag [ class = "attribute" "endterm" ] "\x{a}" ~ " attribute, then the content is used and the " db:tag [ class = "attribute" "endterm" ] "\x{a}" ~ " is ignored. If the " db:tag [ "link" ] "\x{a}" ~ " element has an " db:tag [ class = "attribute" "endterm" ] "\x{a}" ~ " attribute and no content, then the content of the element pointed to by " db:tag [ class = "attribute" "endterm" ] "\x{a}" ~ "should be repeated at the location of the " db:tag [ "link" ] "\x{a}" ~ " and used as the “hot” text." ] "\x{a}" ~ " " ] ] div { db.link.role.attribute = attribute role { text } db.link.attlist = db.link.role.attribute? & db.common.attributes & db.common.req.linking.attributes db.link = element link { db.link.attlist, db.all.inlines* } } [ db:refname [ "anchor" ] db:refpurpose [ ] ] div { db.anchor.role.attribute = attribute role { text } db.anchor.attlist = db.anchor.role.attribute? & db.common.idreq.attributes db.anchor = element anchor { db.anchor.attlist, empty } } db.glossary.inlines = db.firstterm | db.glossterm db.baseform.attribute = attribute baseform { text }? [ db:refname [ "glosslist" ] db:refpurpose [ ] ] div { db.glosslist.role.attribute = attribute role { text } db.glosslist.attlist = db.glosslist.role.attribute? & db.common.attributes & db.common.linking.attributes db.glosslist.info = db._info.title.only db.glosslist = element glosslist { db.glosslist.attlist, db.glosslist.info?, db.all.blocks*, db.glossentry+ } } [ db:refname [ "glossentry" ] db:refpurpose [ ] ] div { db.glossentry.role.attribute = attribute role { text } db.glossentry.attlist = db.glossentry.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute sortas { text }? db.glossentry = element glossentry { db.glossentry.attlist, db.glossterm, db.acronym?, db.abbrev?, db.indexterm*, (db.glosssee | db.glossdef+) } } [ db:refname [ "glossdef" ] db:refpurpose [ ] ] div { db.glossdef.role.attribute = attribute role { text } db.glossdef.attlist = db.glossdef.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute subject { text }? db.glossdef = element glossdef { db.glossdef.attlist, db.all.blocks+, db.glossseealso* } } [ db:refname [ "glosssee" ] db:refpurpose [ ] ] div { db.glosssee.role.attribute = attribute role { text } db.glosssee.attlist = db.glosssee.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute otherterm { xsd:IDREF }? db.glosssee = [ s:rule [ context = "db:glosssee[@otherterm]" "\x{a}" ~ " " s:assert [ test = "local-name(//*[@id=current()/@otherterm]) = 'glossentry' and namespace-uri(//*[@id=current()/@otherterm]) = 'http://docbook.org/docbook-ng'" "@otherterm on glosssee must point to a glossentry." ] "\x{a}" ~ " " ] ] element glosssee { db.glosssee.attlist, db.all.inlines* } } [ db:refname [ "glossseealso" ] db:refpurpose [ ] ] div { db.glossseealso.role.attribute = attribute role { text } db.glossseealso.attlist = db.glossseealso.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute otherterm { xsd:IDREF }? db.glossseealso = [ s:rule [ context = "db:glossseealso[@otherterm]" "\x{a}" ~ " " s:assert [ test = "local-name(//*[@id=current()/@otherterm]) = 'glossentry' and namespace-uri(//*[@id=current()/@otherterm]) = 'http://docbook.org/docbook-ng'" "@otherterm on glossseealso must point to a glossentry." ] "\x{a}" ~ " " ] ] element glossseealso { db.glossseealso.attlist, db.all.inlines* } } [ db:refname [ "firstterm" ] db:refpurpose [ ] ] div { db.firstterm.role.attribute = attribute role { text } db.firstterm.attlist = db.firstterm.role.attribute? & db.common.attributes & db.common.linking.attributes & db.baseform.attribute db.firstterm = [ s:rule [ context = "db:firstterm[@linkend]" "\x{a}" ~ " " s:assert [ test = "local-name(//*[@id=current()/@linkend]) = 'glossentry' and namespace-uri(//*[@id=current()/@linkend]) = 'http://docbook.org/docbook-ng'" "@linkend on firstterm must point to a glossentry." ] "\x{a}" ~ " " ] ] element firstterm { db.firstterm.attlist, db.all.inlines* } } [ db:refname [ "glossterm" ] db:refpurpose [ ] ] div { db.glossterm.role.attribute = attribute role { text } db.glossterm.attlist = db.glossterm.role.attribute? & db.common.attributes & db.common.linking.attributes & db.baseform.attribute db.glossterm = [ s:rule [ context = "db:glossterm[@linkend]" "\x{a}" ~ " " s:assert [ test = "local-name(//*[@id=current()/@linkend]) = 'glossentry' and namespace-uri(//*[@id=current()/@linkend]) = 'http://docbook.org/docbook-ng'" "@linkend on glossterm must point to a glossentry." ] "\x{a}" ~ " " ] ] element glossterm { db.glossterm.attlist, db.all.inlines* } } [ db:refname [ "glossary" ] db:refpurpose [ ] ] div { db.glossary.status.attribute = db.status.attribute db.glossary.role.attribute = attribute role { text } db.glossary.attlist = db.glossary.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.glossary.status.attribute? db.glossary.info = db._info db.glossary = [ s:rule [ context = "/db:glossary" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element glossary { db.glossary.attlist, db.glossary.info, db.all.blocks*, (db.glossdiv+ | db.glossentry+), db.bibliography? } } [ db:refname [ "glossdiv" ] db:refpurpose [ ] ] div { db.glossdiv.status.attribute = db.status.attribute db.glossdiv.role.attribute = attribute role { text } db.glossdiv.attlist = db.glossdiv.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.glossdiv.status.attribute? db.glossdiv.info = db._info.title.req db.glossdiv = element glossdiv { db.glossdiv.attlist, db.glossdiv.info, db.all.blocks*, db.glossentry+ } } db.relation.attribute = attribute relation { text } [ db:refname [ "biblioentry" ] db:refpurpose [ ] ] div { db.biblioentry.role.attribute = attribute role { text } db.biblioentry.attlist = db.biblioentry.role.attribute? & db.common.attributes & db.common.linking.attributes db.biblioentry = element biblioentry { db.biblioentry.attlist, db.bibliographic.elements+ } } [ db:refname [ "bibliomixed" ] db:refpurpose [ ] ] div { db.bibliomixed.role.attribute = attribute role { text } db.bibliomixed.attlist = db.bibliomixed.role.attribute? & db.common.attributes & db.common.linking.attributes db.bibliomixed = element bibliomixed { db.bibliomixed.attlist, (text | db.bibliographic.elements)* } } [ db:refname [ "biblioset" ] db:refpurpose [ ] ] div { db.biblioset.relation.attrib = db.relation.attribute db.biblioset.role.attribute = attribute role { text } db.biblioset.attlist = db.biblioset.role.attribute? & db.common.attributes & db.common.linking.attributes & db.biblioset.relation.attrib? db.biblioset = element biblioset { db.biblioset.attlist, db.bibliographic.elements+ } } [ db:refname [ "bibliomset" ] db:refpurpose [ ] ] div { db.bibliomset.relation.attrib = db.relation.attribute db.bibliomset.role.attribute = attribute role { text } db.bibliomset.attlist = db.bibliomset.role.attribute? & db.common.attributes & db.common.linking.attributes & db.bibliomset.relation.attrib? db.bibliomset = element bibliomset { db.bibliomset.attlist, (db._text | db.bibliographic.elements)* } } [ db:refname [ "bibliomisc" ] db:refpurpose [ ] ] div { db.bibliomisc.role.attribute = attribute role { text } db.bibliomisc.attlist = db.bibliomisc.role.attribute? & db.common.attributes & db.common.linking.attributes db.bibliomisc = element bibliomisc { db.bibliomisc.attlist, db._text } } [ db:refname [ "bibliography" ] db:refpurpose [ ] ] div { db.bibliography.status.attrib = db.status.attribute db.bibliography.role.attribute = attribute role { text } db.bibliography.attlist = db.bibliography.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.bibliography.status.attrib? db.bibliography.info = db._info db.bibliography = [ s:rule [ context = "/db:bibliography" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element bibliography { db.bibliography.attlist, db.bibliography.info, db.all.blocks*, (db.bibliodiv+ | (db.biblioentry | db.bibliomixed)+) } } [ db:refname [ "bibliodiv" ] db:refpurpose [ ] ] div { db.bibliodiv.status.attrib = db.status.attribute db.bibliodiv.role.attribute = attribute role { text } db.bibliodiv.attlist = db.bibliodiv.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.bibliodiv.status.attrib? db.bibliodiv.info = db._info.title.req db.bibliodiv = element bibliodiv { db.bibliodiv.attlist, db.bibliodiv.info, db.all.blocks*, (db.biblioentry | db.bibliomixed)+ } } [ db:refname [ "bibliolist" ] db:refpurpose [ ] ] div { db.bibliolist.role.attribute = attribute role { text } db.bibliolist.attlist = db.bibliolist.role.attribute? & db.common.attributes & db.common.linking.attributes db.bibliolist.info = db._info.title.only db.bibliolist = element bibliolist { db.bibliolist.attlist, db.bibliolist.info?, db.all.blocks*, (db.biblioentry | db.bibliomixed)+ } } [ db:refname [ "biblioref" ] db:refpurpose [ ] ] div { db.biblioref.role.attribute = attribute role { text } db.biblioref.attlist = db.biblioref.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute xrefstyle { text }? & attribute endterm { xsd:IDREF }? & attribute units { xsd:token }? & attribute begin { xsd:token }? & attribute end { xsd:token }? db.biblioref = element biblioref { db.biblioref.attlist, empty } } db.significance.attribute = attribute significance { "normal" | "preferred" } db.zone.attribute = attribute zone { xsd:IDREFS } db.pagenum.attribute = attribute pagenum { text } db.scope.attribute = attribute scope { "all" | "global" | "local" } db.sortas.attribute = attribute sortas { text } [ db:refname [ "itermset" ] db:refpurpose [ ] ] div { db.itermset.role.attribute = attribute role { text } db.itermset.attlist = db.itermset.role.attribute? & db.common.attributes & db.common.linking.attributes db.itermset = element itermset { db.itermset.attlist, db.indexterm.singular+ } } db.indexterm.contentmodel = db.primary?, ((db.secondary, ((db.tertiary, (db.see | db.seealso+)?) | db.see | db.seealso+)?) | db.see | db.seealso+)? [ db:refname [ "indexterm" ] db:refpurpose [ ] ] div { db.indexterm.singular.role.attribute = attribute role { text } db.indexterm.singular.attlist = db.indexterm.singular.role.attribute? & db.common.attributes & db.common.linking.attributes & db.significance.attribute? & db.zone.attribute? & db.pagenum.attribute? & db.scope.attribute? & attribute class { "singular" }? db.indexterm.singular = element indexterm { db.indexterm.singular.attlist, db.indexterm.contentmodel } } [ db:refname [ "indexterm" ] db:refpurpose [ ] ] div { db.indexterm.startofrange.role.attribute = attribute role { text } db.indexterm.startofrange.attlist = db.indexterm.startofrange.role.attribute? & db.common.attributes & db.common.linking.attributes & db.significance.attribute? & db.zone.attribute? & db.pagenum.attribute? & db.scope.attribute? & attribute class { "startofrange" } db.indexterm.startofrange = element indexterm { db.indexterm.startofrange.attlist, db.indexterm.contentmodel } } [ db:refname [ "indexterm" ] db:refpurpose [ ] ] div { db.indexterm.endofrange.role.attribute = attribute role { text } db.indexterm.endofrange.attlist = db.indexterm.endofrange.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute class { "endofrange" } & attribute startref { xsd:IDREF } db.indexterm.endofrange = element indexterm { db.indexterm.endofrange.attlist, empty } } [ db:refname [ "indexterm" ] db:refpurpose [ ] ] div { db.indexterm = db.indexterm.singular | db.indexterm.startofrange | db.indexterm.endofrange } [ db:refname [ "primary" ] db:refpurpose [ ] ] div { db.primary.role.attribute = attribute role { text } db.primary.attlist = db.primary.role.attribute? & db.common.attributes & db.common.linking.attributes & db.sortas.attribute? db.primary = element primary { db.primary.attlist, db.all.inlines* } } [ db:refname [ "secondary" ] db:refpurpose [ ] ] div { db.secondary.role.attribute = attribute role { text } db.secondary.attlist = db.secondary.role.attribute? & db.common.attributes & db.common.linking.attributes & db.sortas.attribute? db.secondary = element secondary { db.secondary.attlist, db.all.inlines* } } [ db:refname [ "tertiary" ] db:refpurpose [ ] ] div { db.tertiary.role.attribute = attribute role { text } db.tertiary.attlist = db.tertiary.role.attribute? & db.common.attributes & db.common.linking.attributes & db.sortas.attribute? db.tertiary = element tertiary { db.tertiary.attlist, db.all.inlines* } } [ db:refname [ "see" ] db:refpurpose [ ] ] div { db.see.role.attribute = attribute role { text } db.see.attlist = db.see.role.attribute? & db.common.attributes & db.common.linking.attributes db.see = element see { db.see.attlist, db.all.inlines* } } [ db:refname [ "seealso" ] db:refpurpose [ ] ] div { db.seealso.role.attribute = attribute role { text } db.seealso.attlist = db.seealso.role.attribute? & db.common.attributes & db.common.linking.attributes db.seealso = element seealso { db.seealso.attlist, db.all.inlines* } } [ db:refname [ "index" ] db:refpurpose [ ] ] div { db.index.status.attribute = db.status.attribute db.index.role.attribute = attribute role { text } db.index.attlist = db.index.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.index.status.attribute? db.index.info = db._info db.index = [ s:rule [ context = "/db:index" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element index { db.index.attlist, db.index.info, db.all.blocks*, (db.indexdiv* | db.indexentry* | db.segmentedlist) } } [ db:refname [ "setindex" ] db:refpurpose [ ] ] div { db.setindex.status.attribute = db.status.attribute db.setindex.role.attribute = attribute role { text } db.setindex.attlist = db.setindex.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.setindex.status.attribute? db.setindex.info = db._info db.setindex = [ s:rule [ context = "/db:setindex" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element setindex { db.setindex.attlist, db.setindex.info, db.all.blocks*, (db.indexdiv* | db.indexentry*) } } [ db:refname [ "indexdiv" ] db:refpurpose [ ] ] div { db.indexdiv.status.attribute = db.status.attribute db.indexdiv.role.attribute = attribute role { text } db.indexdiv.attlist = db.indexdiv.role.attribute? & db.common.attributes & db.common.linking.attributes & db.label.attribute? & db.indexdiv.status.attribute? db.indexdiv.info = db._info.title.req db.indexdiv = element indexdiv { db.indexdiv.attlist, db.indexdiv.info, db.all.blocks*, (db.indexentry+ | db.segmentedlist) } } [ db:refname [ "indexentry" ] db:refpurpose [ ] ] div { db.indexentry.role.attribute = attribute role { text } db.indexentry.attlist = db.indexentry.role.attribute? & db.common.attributes & db.common.linking.attributes db.indexentry = element indexentry { db.indexentry.attlist, db.primaryie, (db.seeie | db.seealsoie)*, (db.secondaryie, (db.seeie | db.seealsoie | db.tertiaryie)*)* } } [ db:refname [ "primaryie" ] db:refpurpose [ ] ] div { db.primaryie.role.attribute = attribute role { text } db.primaryie.attlist = db.primaryie.role.attribute? & db.common.attributes & db.linkends.attribute? db.primaryie = element primaryie { db.primaryie.attlist, db.all.inlines* } } [ db:refname [ "secondaryie" ] db:refpurpose [ ] ] div { db.secondaryie.role.attribute = attribute role { text } db.secondaryie.attlist = db.secondaryie.role.attribute? & db.common.attributes & db.linkends.attribute? db.secondaryie = element secondaryie { db.secondaryie.attlist, db.all.inlines* } } [ db:refname [ "tertiaryie" ] db:refpurpose [ ] ] div { db.tertiaryie.role.attribute = attribute role { text } db.tertiaryie.attlist = db.tertiaryie.role.attribute? & db.common.attributes & db.linkends.attribute? db.tertiaryie = element tertiaryie { db.tertiaryie.attlist, db.all.inlines* } } [ db:refname [ "seeie" ] db:refpurpose [ ] ] div { db.seeie.role.attribute = attribute role { text } db.seeie.attlist = db.seeie.role.attribute? & db.common.attributes & db.linkend.attribute? db.seeie = element seeie { db.seeie.attlist, db.all.inlines* } } [ db:refname [ "seealsoie" ] db:refpurpose [ ] ] div { db.seealsoie.role.attribute = attribute role { text } db.seealsoie.attlist = db.seealsoie.role.attribute? & db.common.attributes & db.linkends.attribute? db.seealsoie = element seealsoie { db.seealsoie.attlist, db.all.inlines* } } [ db:refname [ "toc" ] db:refpurpose [ ] ] div { db.toc.role.attribute = attribute role { text } db.toc.attlist = db.toc.role.attribute? & db.common.attributes & db.common.linking.attributes db.toc.info = db._info.title.only db.toc = [ s:rule [ context = "/db:toc" "\x{a}" ~ " " s:assert [ test = "@version" "The root element must have a version attribute." ] "\x{a}" ~ " " ] ] element toc { db.toc.attlist, db.toc.info, db.all.blocks*, (db.tocdiv | db.tocentry)* } } [ db:refname [ "tocdiv" ] db:refpurpose [ ] ] div { db.tocdiv.role.attribute = attribute role { text } db.tocdiv.attlist = db.tocdiv.role.attribute? & db.common.attributes & attribute pagenum { text }? & db.linkend.attribute? db.tocdiv.info = db._info db.tocdiv = element tocdiv { db.tocdiv.attlist, db.tocdiv.info, db.all.blocks*, (db.tocdiv | db.tocentry)+ } } [ db:refname [ "tocentry" ] db:refpurpose [ ] ] div { db.tocentry.role.attribute = attribute role { text } db.tocentry.attlist = db.tocentry.role.attribute? & db.common.attributes & attribute pagenum { text }? & db.linkend.attribute? db.tocentry = element tocentry { db.tocentry.attlist, db.all.inlines* } } db.task.info = db._info.title.only [ db:refname [ "task" ] db:refpurpose [ ] ] div { db.task.role.attribute = attribute role { text } db.task.attlist = db.task.role.attribute? & db.common.attributes & db.common.linking.attributes db.task = element task { db.task.attlist, db.task.info, db.tasksummary?, db.taskprerequisites?, db.procedure, db.example*, db.taskrelated? } } [ db:refname [ "tasksummary" ] db:refpurpose [ ] ] div { db.tasksummary.role.attribute = attribute role { text } db.tasksummary.attlist = db.tasksummary.role.attribute? & db.common.attributes & db.common.linking.attributes db.tasksummary.info = db._info.title.only db.tasksummary = element tasksummary { db.tasksummary.attlist, db.tasksummary.info, db.all.blocks+ } } [ db:refname [ "taskprerequisites" ] db:refpurpose [ ] ] div { db.taskprerequisites.role.attribute = attribute role { text } db.taskprerequisites.attlist = db.taskprerequisites.role.attribute? & db.common.attributes & db.common.linking.attributes db.taskprerequisites.info = db._info.title.only db.taskprerequisites = element taskprerequisites { db.taskprerequisites.attlist, db.taskprerequisites.info, db.all.blocks+ } } [ db:refname [ "taskrelated" ] db:refpurpose [ ] ] div { db.taskrelated.role.attribute = attribute role { text } db.taskrelated.attlist = db.taskrelated.role.attribute? & db.common.attributes & db.common.linking.attributes db.taskrelated.info = db._info.title.only db.taskrelated = element taskrelated { db.taskrelated.attlist, db.taskrelated.info, db.all.blocks+ } } ctrl:other-attribute [ name = "area.units.attrib" enum-name = "area.units-enum.attribute" other-name = "area.units-other.attributes" ] db.area.units-enum.attribute = attribute units { "calspair" | "linecolumn" | "linecolumnpair" | "linerange" }? db.area.units-other.attributes = attribute units { "other" }?, attribute otherunits { xsd:NMTOKEN } db.area.units.attribute = db.area.units-enum.attribute | db.area.units-other.attributes [ db:refname [ "calloutlist" ] db:refpurpose [ "A list of " db:xmltag [ "callout" ] "\x{a}" ~ "s" ] ] div { db.calloutlist.role.attribute = attribute role { text } db.calloutlist.attlist = db.calloutlist.role.attribute? & db.common.attributes & db.common.linking.attributes db.calloutlist.info = db._info.title.only db.calloutlist = element calloutlist { db.calloutlist.attlist, db.calloutlist.info, db.all.blocks*, db.callout+ } } [ db:refname [ "callout" ] db:refpurpose [ ] ] div { db.callout.role.attribute = attribute role { text } db.callout.attlist = db.callout.role.attribute? & db.common.attributes & attribute arearefs { xsd:IDREFS } db.callout = element callout { db.callout.attlist, db.all.blocks+ } } [ db:refname [ "programlistingco" ] db:refpurpose [ ] ] div { db.programlistingco.role.attribute = attribute role { text } db.programlistingco.attlist = db.programlistingco.role.attribute? & db.common.attributes & db.common.linking.attributes db.programlistingco.info = db._info.title.forbidden db.programlistingco = element programlistingco { db.programlistingco.attlist, db.programlistingco.info, db.areaspec, db.programlisting, db.calloutlist* } } [ db:refname [ "areaspec" ] db:refpurpose [ ] ] div { db.areaspec.role.attribute = attribute role { text } db.areaspec.attlist = db.areaspec.role.attribute? & db.common.attributes & db.common.linking.attributes & db.area.units.attribute db.areaspec = element areaspec { db.areaspec.attlist, (db.area | db.areaset)+ } } [ db:refname [ "area" ] db:refpurpose [ ] ] div { db.area.role.attribute = attribute role { text } db.area.attlist = db.area.role.attribute? & db.common.idreq.attributes & db.area.units.attribute & attribute linkends { xsd:IDREFS }? & attribute label { text }? & attribute coords { text } db.area = element area { db.area.attlist, empty } } [ db:refname [ "areaset" ] db:refpurpose [ ] ] div { db.areaset.role.attribute = attribute role { text } db.areaset.attlist = db.areaset.role.attribute? & db.common.idreq.attributes & db.area.units.attribute & attribute label { text }? db.areaset = element areaset { db.areaset.attlist, db.area+ } } [ db:refname [ "screenco" ] db:refpurpose [ ] ] div { db.screenco.role.attribute = attribute role { text } db.screenco.attlist = db.screenco.role.attribute? & db.common.attributes & db.common.linking.attributes db.screenco.info = db._info.title.forbidden db.screenco = element screenco { db.screenco.attlist, db.screenco.info, db.areaspec, db.screen, db.calloutlist* } } [ db:refname [ "imageobjectco" ] db:refpurpose [ ] ] div { db.imageobjectco.role.attribute = attribute role { text } db.imageobjectco.attlist = db.imageobjectco.role.attribute? & db.common.attributes & db.common.linking.attributes db.imageobjectco.info = db._info.title.forbidden db.imageobjectco = element imageobjectco { db.imageobjectco.attlist, db.imageobjectco.info, db.areaspec, db.imageobject, db.calloutlist* } } [ db:refname [ "co" ] db:refpurpose [ ] ] div { db.co.role.attribute = attribute role { text } db.co.attlist = db.co.role.attribute? & db.common.idreq.attributes & attribute linkends { xsd:IDREFS }? & attribute label { text }? db.co = element co { db.co.attlist, empty } } [ db:refname [ "coref" ] db:refpurpose [ ] ] div { db.coref.role.attribute = attribute role { text } db.coref.attlist = db.coref.role.attribute? & db.common.attributes & db.linkend.attribute & attribute label { text }? db.coref = element coref { db.coref.attlist, empty } } [ db:refname [ "productionset" ] db:refpurpose [ ] ] div { db.productionset.role.attribute = attribute role { text } db.productionset.attlist = db.productionset.role.attribute? & db.common.attributes & db.common.linking.attributes db.productionset.info = db._info.title.only db.productionset = element productionset { db.productionset.attlist, db.productionset.info, (db.production | db.productionrecap)+ } } [ db:refname [ "production" ] db:refpurpose [ ] ] div { db.production.role.attribute = attribute role { text } db.production.attlist = db.production.role.attribute? & db.common.idreq.attributes & db.common.linking.attributes db.production = element production { db.production.attlist, db.lhs, db.rhs, db.constraint* } } [ db:refname [ "lhs" ] db:refpurpose [ ] ] div { db.lhs.role.attribute = attribute role { text } db.lhs.attlist = db.lhs.role.attribute? & db.common.attributes & db.common.linking.attributes db.lhs = element lhs { db.lhs.attlist, text } } [ db:refname [ "rhs" ] db:refpurpose [ ] ] div { db.rhs.role.attribute = attribute role { text } db.rhs.attlist = db.rhs.role.attribute? & db.common.attributes & db.common.linking.attributes db.rhs = element rhs { db.rhs.attlist, (text | db.nonterminal | db.lineannotation | db.sbr)* } } [ db:refname [ "nonterminal" ] db:refpurpose [ ] ] div { db.nonterminal.role.attribute = attribute role { text } db.nonterminal.attlist = db.nonterminal.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute def { text } db.nonterminal = element nonterminal { db.nonterminal.attlist, text } } [ db:refname [ "constraint" ] db:refpurpose [ ] ] div { db.constraint.role.attribute = attribute role { text } db.constraint.attlist = db.constraint.role.attribute? & db.common.attributes & db.common.req.linking.attributes db.constraint = element constraint { db.constraint.attlist, empty } } [ db:refname [ "productionrecap" ] db:refpurpose [ ] ] div { db.productionrecap.role.attribute = attribute role { text } db.productionrecap.attlist = db.productionrecap.role.attribute? & db.common.attributes & db.common.req.linking.attributes db.productionrecap = element productionrecap { db.productionrecap.attlist, empty } } [ db:refname [ "constraintdef" ] db:refpurpose [ ] ] div { db.constraintdef.role.attribute = attribute role { text } db.constraintdef.attlist = db.constraintdef.role.attribute? & db.common.attributes & db.common.linking.attributes db.constraintdef.info = db._info.title.only db.constraintdef = element constraintdef { db.constraintdef.attlist, db.constraintdef.info, db.all.blocks+ } } db.char.attribute = attribute char { text } db.charoff.attribute = attribute charoff { text } db.colsep.attribute = attribute colsep { text } db.rowsep.attribute = attribute rowsep { text } db.align.attribute = attribute align { "center" | "char" | "justify" | "left" | "right" } db.valign.attribute = attribute valign { "bottom" | "middle" | "top" } db.spanname.attribute = attribute spanname { text } db.colname.attribute = attribute colname { text } [ db:refname [ "tgroup" ] db:refpurpose [ ] ] div { db.tgroup.role.attribute = attribute role { text } db.tgroup.attlist = db.tgroup.role.attribute? & db.common.attributes & db.common.linking.attributes & db.char.attribute? & db.charoff.attribute? & attribute tgroupstyle { text }? & attribute cols { xsd:integer } & db.colsep.attribute? & db.rowsep.attribute? & db.align.attribute? db.tgroup = element tgroup { db.tgroup.attlist, db.colspec*, db.spanspec*, db.cals.thead?, db.cals.tfoot?, db.cals.tbody } } [ db:refname [ "colspec" ] db:refpurpose [ ] ] div { db.colspec.role.attribute = attribute role { text } db.colspec.attlist = db.colspec.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute colnum { xsd:integer }? & db.char.attribute? & db.colsep.attribute? & attribute colwidth { text }? & db.charoff.attribute? & db.colname.attribute? & db.rowsep.attribute? & db.align.attribute? db.colspec = element colspec { db.colspec.attlist, empty } } [ db:refname [ "spanspec" ] db:refpurpose [ ] ] div { db.spanspec.role.attribute = attribute role { text } db.spanspec.attlist = db.spanspec.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute namest { text } & attribute nameend { text } & db.spanname.attribute & db.char.attribute? & db.colsep.attribute? & db.charoff.attribute? & db.rowsep.attribute? & db.align.attribute? db.spanspec = element spanspec { db.spanspec.attlist, empty } } [ db:refname [ "thead" ] db:refpurpose [ ] ] div { db.cals.thead.role.attribute = attribute role { text } db.cals.thead.attlist = db.cals.thead.role.attribute? & db.common.attributes & db.common.linking.attributes & db.valign.attribute? db.cals.thead = element thead { db.cals.thead.attlist, db.colspec*, db.row+ } } [ db:refname [ "tfoot" ] db:refpurpose [ ] ] div { db.cals.tfoot.role.attribute = attribute role { text } db.cals.tfoot.attlist = db.cals.tfoot.role.attribute? & db.common.attributes & db.common.linking.attributes & db.valign.attribute? db.cals.tfoot = element tfoot { db.cals.tfoot.attlist, db.colspec*, db.row+ } } [ db:refname [ "tbody" ] db:refpurpose [ ] ] div { db.cals.tbody.role.attribute = attribute role { text } db.cals.tbody.attlist = db.cals.tbody.role.attribute? & db.common.attributes & db.common.linking.attributes & db.valign.attribute? db.cals.tbody = element tbody { db.cals.tbody.attlist, db.row+ } } [ db:refname [ "row" ] db:refpurpose [ ] ] div { db.row.role.attribute = attribute role { text } db.row.attlist = db.row.role.attribute? & db.common.attributes & db.common.linking.attributes & db.rowsep.attribute? & db.valign.attribute? db.row = element row { db.row.attlist, (db.entry | db.entrytbl)+ } } [ db:refname [ "entry" ] db:refpurpose [ ] ] div { db.entry.role.attribute = attribute role { text } db.entry.attlist = db.entry.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute nameend { text }? & db.valign.attribute? & db.char.attribute? & db.colsep.attribute? & db.charoff.attribute? & attribute morerows { xsd:integer }? & attribute spanname { text }? & attribute namest { text }? & db.colname.attribute? & db.rowsep.attribute? & attribute rotate { text }? & db.align.attribute? db.entry = element entry { db.entry.attlist, (db.all.inlines* | db.all.blocks*) } } [ db:refname [ "entrytbl" ] db:refpurpose [ ] ] div { db.entrytbl.role.attribute = attribute role { text } db.entrytbl.attlist = db.entrytbl.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute nameend { text }? & db.char.attribute? & db.charoff.attribute? & attribute spanname { text }? & attribute namest { text }? & attribute tgroupstyle { text }? & attribute cols { xsd:integer }? & db.colsep.attribute? & db.rowsep.attribute? & db.colname.attribute? & db.align.attribute? db.entrytbl = element entrytbl { db.entrytbl.attlist, db.colspec*, db.spanspec*, db.cals.entrytbl.thead?, db.cals.entrytbl.tbody } } [ db:refname [ "thead" ] db:refpurpose [ ] ] div { db.cals.entrytbl.thead.role.attribute = attribute role { text } db.cals.entrytbl.thead.attlist = db.cals.entrytbl.thead.role.attribute? & db.common.attributes & db.common.linking.attributes & db.valign.attribute? db.cals.entrytbl.thead = element thead { db.cals.entrytbl.thead.attlist, db.colspec*, db.entrytbl.row+ } } [ db:refname [ "tbody" ] db:refpurpose [ ] ] div { db.cals.entrytbl.tbody.role.attribute = attribute role { text } db.cals.entrytbl.tbody.attlist = db.cals.entrytbl.tbody.role.attribute? & db.common.attributes & db.common.linking.attributes & db.valign.attribute? db.cals.entrytbl.tbody = element tbody { db.cals.entrytbl.tbody.attlist, db.entrytbl.row+ } } [ db:refname [ "row" ] db:refpurpose [ ] ] div { db.entrytbl.row.role.attribute = attribute role { text } db.entrytbl.row.attlist = db.entrytbl.row.role.attribute? & db.common.attributes & db.common.linking.attributes & db.rowsep.attribute? & db.valign.attribute? db.entrytbl.row = element row { db.entrytbl.row.attlist, db.entry+ } } [ db:refname [ "table" ] db:refpurpose [ ] ctrl:exclude [ from = "db.cals.table" exclude = "db.cals.table" ] ctrl:exclude [ from = "db.cals.table" exclude = "db.cals.informaltable" ] ] div { db.cals.table.role.attribute = attribute role { text } db.cals.table.attlist = db.cals.table.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute tabstyle { text }? & attribute orient { "land" | "port" }? & db.colsep.attribute? & db.rowsep.attribute? & attribute frame { "all" | "bottom" | "none" | "sides" | "top" | "topbot" }? & attribute pgwide { "0" | "1" }? db.cals.table.info = db._info.title.onlyreq db.cals.table = [ s:rule [ context = "db:table" "\x{a}" ~ " " s:assert [ test = "not(.//db:table)" "table must not occur in the descendants of table" ] "\x{a}" ~ " " ] s:rule [ context = "db:table" "\x{a}" ~ " " s:assert [ test = "not(.//db:informaltable)" "informaltable must not occur in the descendants of table" ] "\x{a}" ~ " " ] ] element table { db.cals.table.attlist, db.cals.table.info, db.indexing.inlines*, db.textobject*, (db.mediaobject+ | db.tgroup+) } } [ db:refname [ "informaltable" ] db:refpurpose [ ] ] div { db.cals.informaltable.role.attribute = attribute role { text } db.cals.informaltable.attlist = db.cals.informaltable.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute tabstyle { text }? & attribute orient { "land" | "port" }? & db.colsep.attribute? & db.rowsep.attribute? & attribute frame { "all" | "bottom" | "none" | "sides" | "top" | "topbot" }? & attribute pgwide { "0" | "1" }? db.cals.informaltable.info = db._info.title.forbidden db.cals.informaltable = element informaltable { db.cals.informaltable.attlist, db.cals.informaltable.info, db.indexing.inlines*, db.textobject*, (db.mediaobject+ | db.tgroup+) } } db.html.coreattrs &= attribute class { text }?, attribute style { text }?, attribute title { text }? db.html.i18n &= attribute lang { text }?, attribute dir { "ltr" | "rtl" }? db.html.events &= attribute onclick { text }?, attribute ondblclick { text }?, attribute onmousedown { text }?, attribute onmouseup { text }?, attribute onmouseover { text }?, attribute onmousemove { text }?, attribute onmouseout { text }?, attribute onkeypress { text }?, attribute onkeydown { text }?, attribute onkeyup { text }? db.html.attrs &= db.html.coreattrs, db.html.i18n, db.html.events db.html.cellhalign &= attribute align { "left" | "center" | "right" | "justify" | "char" }?, attribute char { text }?, attribute charoff { text }? db.html.cellvalign &= attribute valign { "top" | "middle" | "bottom" | "baseline" }? db.html.table.model = db.html.caption, (db.html.col* | db.html.colgroup*), db.html.thead?, db.html.tfoot?, (db.html.tbody+ | db.html.tr+) db.html.informaltable.model = (db.html.col* | db.html.colgroup*), db.html.thead?, db.html.tfoot?, (db.html.tbody+ | db.html.tr+) [ db:refname [ "table" ] db:refpurpose [ ] ] div { db.html.table.attlist = db.html.attrs & attribute summary { text }? & attribute width { text }? & attribute border { text }? & attribute frame { "void" | "above" | "below" | "hsides" | "lhs" | "rhs" | "vsides" | "box" | "border" }? & attribute rules { "none" | "groups" | "rows" | "cols" | "all" }? & attribute cellspacing { text }? & attribute cellpadding { text }? db.html.table = [ s:rule [ context = "db:table" "\x{a}" ~ " " s:assert [ test = "not(.//db:table)" "table must not occur in the descendants of table" ] "\x{a}" ~ " " ] s:rule [ context = "db:table" "\x{a}" ~ " " s:assert [ test = "not(.//db:informaltable)" "informaltable must not occur in the descendants of table" ] "\x{a}" ~ " " ] ] element table { db.html.table.attlist, db.html.table.model } } [ db:refname [ "informaltable" ] db:refpurpose [ ] ] div { db.html.informaltable.attlist = db.html.attrs & attribute summary { text }? & attribute width { text }? & attribute border { text }? & attribute frame { "void" | "above" | "below" | "hsides" | "lhs" | "rhs" | "vsides" | "box" | "border" }? & attribute rules { "none" | "groups" | "rows" | "cols" | "all" }? & attribute cellspacing { text }? & attribute cellpadding { text }? db.html.informaltable = element informaltable { db.html.informaltable.attlist, db.html.informaltable.model } } [ db:refname [ "caption" ] db:refpurpose [ ] ] div { db.html.caption.attlist = db.html.attrs db.html.caption = element caption { db.html.caption.attlist, text } } [ db:refname [ "col" ] db:refpurpose [ ] ] div { db.html.col.attlist = db.html.attrs & attribute span { text }? & attribute width { text }? & db.html.cellhalign & db.html.cellvalign db.html.col = element col { db.html.col.attlist, empty } } [ db:refname [ "colgroup" ] db:refpurpose [ ] ] div { db.html.colgroup.attlist = db.html.attrs & attribute span { text }? & attribute width { text }? & db.html.cellhalign & db.html.cellvalign db.html.colgroup = element colgroup { db.html.colgroup.attlist, db.html.col* } } [ db:refname [ "thead" ] db:refpurpose [ ] ] div { db.html.thead.attlist = db.html.attrs & db.html.cellhalign & db.html.cellvalign db.html.thead = element thead { db.html.thead.attlist, db.html.tr+ } } [ db:refname [ "tfoot" ] db:refpurpose [ ] ] div { db.html.tfoot.attlist = db.html.attrs & db.html.cellhalign & db.html.cellvalign db.html.tfoot = element tfoot { db.html.tfoot.attlist, db.html.tr+ } } [ db:refname [ "tbody" ] db:refpurpose [ ] ] div { db.html.tbody.attlist = db.html.attrs & db.html.cellhalign & db.html.cellvalign db.html.tbody = element tbody { db.html.tbody.attlist, db.html.tr+ } } [ db:refname [ "tr" ] db:refpurpose [ ] ] div { db.html.tr.attlist = db.html.attrs & db.html.cellhalign & db.html.cellvalign db.html.tr = element tr { db.html.tr.attlist, (db.html.th | db.html.td)+ } } [ db:refname [ "th" ] db:refpurpose [ ] ] div { db.html.th.attlist = db.html.attrs & attribute abbr { text }? & attribute axis { text }? & attribute headers { text }? & attribute scope { text }? & attribute rowspan { text }? & attribute colspan { text }? & db.html.cellhalign & db.html.cellvalign db.html.th = element th { db.html.th.attlist, (db.all.inlines* | db.all.blocks*) } } [ db:refname [ "td" ] db:refpurpose [ ] ] div { db.html.td.attlist = db.html.attrs & attribute abbr { text }? & attribute axis { text }? & attribute headers { text }? & attribute scope { text }? & attribute rowspan { text }? & attribute colspan { text }? & db.html.cellhalign & db.html.cellvalign db.html.td = element td { db.html.td.attlist, (db.all.inlines* | db.all.blocks*) } } [ db:refname [ "msgset" ] db:refpurpose [ ] ] div { db.msgset.role.attribute = attribute role { text } db.msgset.attlist = db.msgset.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgset.info = db._info.title.only db.msgset = element msgset { db.msgset.attlist, db.msgset.info, (db.msgentry+ | db.simplemsgentry+) } } [ db:refname [ "msgentry" ] db:refpurpose [ ] ] div { db.msgentry.role.attribute = attribute role { text } db.msgentry.attlist = db.msgentry.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgentry = element msgentry { db.msgentry.attlist, db.msg+, db.msginfo?, db.msgexplan* } } [ db:refname [ "simplemsgentry" ] db:refpurpose [ ] ] div { db.simplemsgentry.role.attribute = attribute role { text } db.simplemsgentry.attlist = db.simplemsgentry.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute audience { text } & attribute origin { text } & attribute level { text } db.simplemsgentry = element simplemsgentry { db.simplemsgentry.attlist, db.msgtext, db.msgexplan+ } } [ db:refname [ "msg" ] db:refpurpose [ ] ] div { db.msg.role.attribute = attribute role { text } db.msg.attlist = db.msg.role.attribute? & db.common.attributes & db.common.linking.attributes db.msg.info = db._info.title.only db.msg = element msg { db.msg.attlist, db.msg.info, db.msgmain, (db.msgsub | db.msgrel)* } } [ db:refname [ "msgmain" ] db:refpurpose [ ] ] div { db.msgmain.role.attribute = attribute role { text } db.msgmain.attlist = db.msgmain.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgmain.info = db._info.title.only db.msgmain = element msgmain { db.msgmain.attlist, db.msgmain.info, db.msgtext } } [ db:refname [ "msgsub" ] db:refpurpose [ ] ] div { db.msgsub.role.attribute = attribute role { text } db.msgsub.attlist = db.msgsub.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgsub.info = db._info.title.only db.msgsub = element msgsub { db.msgsub.attlist, db.msgsub.info, db.msgtext } } [ db:refname [ "msgrel" ] db:refpurpose [ ] ] div { db.msgrel.role.attribute = attribute role { text } db.msgrel.attlist = db.msgrel.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgrel.info = db._info.title.only db.msgrel = element msgrel { db.msgrel.attlist, db.msgrel.info, db.msgtext } } [ db:refname [ "msgtext" ] db:refpurpose [ ] ] div { db.msgtext.role.attribute = attribute role { text } db.msgtext.attlist = db.msgtext.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgtext = element msgtext { db.msgtext.attlist, db.all.blocks+ } } [ db:refname [ "msginfo" ] db:refpurpose [ ] ] div { db.msginfo.role.attribute = attribute role { text } db.msginfo.attlist = db.msginfo.role.attribute? & db.common.attributes & db.common.linking.attributes db.msginfo = element msginfo { db.msginfo.attlist, (db.msglevel | db.msgorig | db.msgaud)* } } [ db:refname [ "msglevel" ] db:refpurpose [ ] ] div { db.msglevel.role.attribute = attribute role { text } db.msglevel.attlist = db.msglevel.role.attribute? & db.common.attributes & db.common.linking.attributes db.msglevel = element msglevel { db.msglevel.attlist, db._text } } [ db:refname [ "msgorig" ] db:refpurpose [ ] ] div { db.msgorig.role.attribute = attribute role { text } db.msgorig.attlist = db.msgorig.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgorig = element msgorig { db.msgorig.attlist, db._text } } [ db:refname [ "msgaud" ] db:refpurpose [ ] ] div { db.msgaud.role.attribute = attribute role { text } db.msgaud.attlist = db.msgaud.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgaud = element msgaud { db.msgaud.attlist, db._text } } [ db:refname [ "msgexplan" ] db:refpurpose [ ] ] div { db.msgexplan.role.attribute = attribute role { text } db.msgexplan.attlist = db.msgexplan.role.attribute? & db.common.attributes & db.common.linking.attributes db.msgexplan.info = db._info.title.only db.msgexplan = element msgexplan { db.msgexplan.attlist, db.msgexplan.info, db.all.blocks+ } } [ db:refname [ "qandaset" ] db:refpurpose [ ] ] div { db.qandaset.role.attribute = attribute role { text } db.qandaset.attlist = db.qandaset.role.attribute? & db.common.attributes & db.common.linking.attributes & attribute defaultlabel { "none" | "number" | "qanda" }? db.qandaset.info = db._info.title.only db.qandaset = element qandaset { db.qandaset.attlist, db.qandaset.info, db.all.blocks*, (db.qandadiv+ | db.qandaentry+) } } [ db:refname [ "qandadiv" ] db:refpurpose [ ] ] div { db.qandadiv.role.attribute = attribute role { text } db.qandadiv.attlist = db.qandadiv.role.attribute? & db.common.attributes & db.common.linking.attributes db.qandadiv.info = db._info.title.only db.qandadiv = element qandadiv { db.qandadiv.attlist, db.qandadiv.info, db.all.blocks*, (db.qandadiv+ | db.qandaentry+) } } [ db:refname [ "qandaentry" ] db:refpurpose [ ] ] div { db.qandaentry.role.attribute = attribute role { text } db.qandaentry.attlist = db.qandaentry.role.attribute? & db.common.attributes & db.common.linking.attributes db.qandaentry.info = db._info.title.forbidden db.qandaentry = element qandaentry { db.qandaentry.attlist, db.qandaentry.info, db.question, db.answer* } } [ db:refname [ "question" ] db:refpurpose [ ] ] div { db.question.role.attribute = attribute role { text } db.question.attlist = db.question.role.attribute? & db.common.attributes & db.common.linking.attributes db.question = element question { db.question.attlist, db.label?, db.all.blocks+ } } [ db:refname [ "answer" ] db:refpurpose [ ] ] div { db.answer.role.attribute = attribute role { text } db.answer.attlist = db.answer.role.attribute? & db.common.attributes & db.common.linking.attributes db.answer = element answer { db.answer.attlist, db.label?, db.all.blocks+ } } [ db:refname [ "label" ] db:refpurpose [ ] ] div { db.label.role.attribute = attribute role { text } db.label.attlist = db.label.role.attribute? & db.common.attributes & db.common.linking.attributes db.label = element label { db.label.attlist, db._text } } db._any.mml = element ns1:* { db._any.attribute*, (text | db._any)* } db._any.svg = element ns2:* { db._any.attribute*, (text | db._any)* } [ db:refname [ "html:form" ] db:refpurpose [ ] ] div { db.html.form.attlist = db.html.attrs & attribute action { text } & attribute method { "GET" | "POST" }? & attribute onsubmit { text }? & attribute onreset { text }? db.html.form = element html:form { db.html.form.attlist, (db.all.blocks | db.html.input | db.html.button | db.html.label | db.html.select | db.html.textarea)+ } } [ db:refname [ "html:input" ] db:refpurpose [ ] ] div { db.html.input.attlist = db.html.attrs & attribute type { "text" | "password" | "checkbox" | "radio" | "submit" | "reset" | "file" | "hidden" | "image" | "button" }? & attribute name { text }? & attribute value { text }? & attribute checked { "checked" }? & attribute disabled { "disabled" }? & attribute readonly { "readonly" }? & attribute size { text }? & attribute maxlength { text }? & attribute src { text }? & attribute alt { text }? & attribute usemap { text }? & attribute tabindex { text }? & attribute accesskey { text }? & attribute onfocus { text }? & attribute onblur { text }? & attribute onselect { text }? & attribute onchange { text }? db.html.input = element html:input { db.html.input.attlist, empty } } [ db:refname [ "html:button" ] db:refpurpose [ ] ] div { db.html.button.attlist = db.html.attrs & attribute name { text }? & attribute value { text }? & attribute type { "button" | "submit" | "reset" }? & attribute disabled { "disabled" }? & attribute tabindex { text }? & attribute accesskey { text }? & attribute onfocus { text }? & attribute onblur { text }? db.html.button = element html:button { db.html.button.attlist, db.all.inlines* } } [ db:refname [ "html:label" ] db:refpurpose [ ] ] div { db.html.label.attlist = db.html.attrs & attribute accesskey { text }? & attribute onfocus { text }? & attribute onblur { text }? db.html.label = element html:label { db.html.label.attlist, db.all.inlines* } } [ db:refname [ "html:select" ] db:refpurpose [ ] ] div { db.html.select.attlist = db.html.attrs & attribute name { text }? & attribute size { text }? & attribute multiple { "multiple" }? & attribute disabled { "disabled" }? & attribute tabindex { text }? & attribute onfocus { text }? & attribute onblur { text }? & attribute onchange { text }? db.html.select = element html:select { db.html.select.attlist, db.html.option+ } } [ db:refname [ "html:option" ] db:refpurpose [ ] ] div { db.html.option.attlist = db.html.attrs & attribute selected { "selected" }? & attribute disabled { "disabled" }? & attribute value { text }? db.html.option = element html:option { db.html.option.attlist, text } } [ db:refname [ "html:textarea" ] db:refpurpose [ ] ] div { db.html.textarea.attlist = db.html.attrs & attribute name { text }? & attribute rows { text } & attribute cols { text } & attribute disabled { "disabled" }? & attribute readonly { "readonly" }? & attribute tabindex { text }? & attribute accesskey { text }? & attribute onfocus { text }? & attribute onblur { text }? & attribute onselect { text }? & attribute onchange { text }? db.html.textarea = element html:textarea { db.html.textarea.attlist, text } }