+++ /dev/null
-# This file is part of DocBook NG: The "Gin" Release.
-
-# This schema is a "work-in-progress". It validates a DocBook-like grammar that
-# may, in some incarnation, form the basis for DocBook V.next. Or it may not.
-# At the moment, it's just an exploration by Norm. It has utterly no normative
-# value at all.
-#
-# Author: Norman Walsh, <ndw@nwalsh.com>
-# Source: Derived from DocBook XML V4.3
-# Release: $Id$
-#
-# ======================================================================
-
-# What is this file for!?
-
-namespace ctrl = "http://nwalsh.com/xmlns/schema-control/"
-namespace rng = "http://relaxng.org/ns/structure/1.0"
-namespace s = "http://www.ascc.net/xml/schematron"
-namespace db = "http://docbook.org/docbook-ng"
-default namespace = "http://docbook.org/docbook-ng"
-
-start = db.set
- | db.book
- | db.divisions
- | db.components
- | db.navigation.components
- | db.section
- | db.para
-
-include "hier.rnc"
-include "refentry.rnc"
-include "pool.rnc" {
- db.table = element table {
- db.common.attributes,
- attribute rowsep { text }?,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "left" | "right" }?,
- attribute pgwide { text }?,
- attribute orient { "land" | "port" }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- attribute label { text }?,
- attribute width { text }?,
- attribute frame { "above" | "all" | "below" | "border"
- | "bottom" | "box" | "hsides" | "lhs" | "none" | "rhs"
- | "sides" | "top" | "topbot" | "void" | "vsides" }?,
- attribute rules { "all" | "cols" | "groups" | "none" | "rows" }?,
- attribute summary { text }?,
- attribute bgcolor { text }?,
- attribute tabstyle { text }?,
- attribute cellspacing { text }?,
- attribute colsep { text }?,
- attribute shortentry { text }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute border { text }?,
- attribute cellpadding { text }?,
- attribute tocentry { text }?,
- ((db.table.info, db.indexterm*, db.textobject*,
- (db.mediaobject+|db.tgroup+))
- |(db.caption, (db.col*|db.colgroup*),
- db.thead?, db.tfoot?, (db.tbody+|db.tr+)))
- }
-}
-
- db.table.info = db._info.title.onlyreq
-
- db.caption = element caption {
- db.common.attributes,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute align { "bottom" | "left" | "right" | "top" }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.all.inlines* | db.all.blocks*)
- }
-
- db.tgroup = element tgroup {
- db.common.attributes,
- attribute rowsep { text }?,
- attribute ondblclick { text }?,
- attribute cols { text },
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute tgroupstyle { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- attribute charoff { text }?,
- attribute colsep { text }?,
- attribute onmouseout { text }?,
- attribute style { text }?,
- attribute onmousemove { text }?,
- attribute char { text }?,
- (db.colspec*, db.spanspec*, db.thead?, db.tfoot?, db.tbody)
- }
-
- db.thead = element thead {
- db.common.attributes,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute valign { "bottom" | "middle" | "top" }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.tr+|(db.colspec*, db.row+))
- }
-
- db.tfoot = element tfoot {
- db.common.attributes,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute valign { "bottom" | "middle" | "top" }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.tr+|(db.colspec*, db.row+))
- }
-
- db.tbody = element tbody {
- db.common.attributes,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute valign { "bottom" | "middle" | "top" }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.tr+|db.row+)
- }
-
- db.col = element col {
- attribute width { text }?,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute id { xsd:ID }?,
- attribute charoff { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute valign { "baseline" | "bottom" | "middle" | "top" }?,
- attribute style { text }?,
- attribute onmousemove { text }?,
- attribute onmouseout { text }?,
- attribute xml:lang { text }?,
- attribute char { text }?,
- attribute onmousedown { text }?,
- attribute onkeypress { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- attribute span { text }?, # default = 1
- empty
- }
-
- db.colspec = element colspec {
- attribute rowsep { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute colwidth { text }?,
- attribute colname { text }?,
- attribute colnum { text }?,
- attribute char { text }?,
- attribute colsep { text }?,
- attribute charoff { text }?,
- empty
- }
-
- db.colgroup = element colgroup {
- attribute width { text }?,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute id { xsd:ID }?,
- attribute charoff { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute valign { "baseline" | "bottom" | "middle" | "top" }?,
- attribute style { text }?,
- attribute onmousemove { text }?,
- attribute onmouseout { text }?,
- attribute xml:lang { text }?,
- attribute char { text }?,
- attribute onmousedown { text }?,
- attribute onkeypress { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- attribute span { text }?, # default = 1
- (db.col+)
- }
-
- db.spanspec = element spanspec {
- attribute rowsep { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute spanname { text },
- attribute namest { text },
- attribute char { text }?,
- attribute nameend { text },
- attribute colsep { text }?,
- attribute charoff { text }?,
- empty
- }
-
- db.tr = element tr {
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute bgcolor { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute id { xsd:ID }?,
- attribute charoff { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute valign { "baseline" | "bottom" | "middle" | "top" }?,
- attribute style { text }?,
- attribute onmousemove { text }?,
- attribute onmouseout { text }?,
- attribute xml:lang { text }?,
- attribute onmousedown { text }?,
- attribute onkeypress { text }?,
- attribute char { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.th|db.td)+
- }
-
- db.th = element th {
- attribute width { text }?,
- attribute headers { xsd:IDREFS }?,
- attribute nowrap { "nowrap" }?,
- attribute ondblclick { text }?,
- attribute axis { text }?,
- attribute abbr { text }?,
- attribute onkeydown { text }?,
- attribute bgcolor { text }?,
- attribute colspan { text }?,
- attribute rowspan { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute id { xsd:ID }?,
- attribute charoff { text }?,
- attribute scope { "col" | "colgroup" | "row" | "rowgroup" }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute valign { "baseline" | "bottom" | "middle" | "top" }?,
- attribute style { text }?,
- attribute onmousemove { text }?,
- attribute onmouseout { text }?,
- attribute height { text }?,
- attribute xml:lang { text }?,
- attribute char { text }?,
- attribute onmousedown { text }?,
- attribute onkeypress { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.all.inlines* | db.all.blocks*)
- }
-
- db.td = element td {
- attribute width { text }?,
- attribute headers { xsd:IDREFS }?,
- attribute nowrap { "nowrap" }?,
- attribute ondblclick { text }?,
- attribute axis { text }?,
- attribute abbr { text }?,
- attribute onkeydown { text }?,
- attribute bgcolor { text }?,
- attribute colspan { text }?,
- attribute rowspan { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute id { xsd:ID }?,
- attribute charoff { text }?,
- attribute scope { "col" | "colgroup" | "row" | "rowgroup" }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute valign { "baseline" | "bottom" | "middle" | "top" }?,
- attribute style { text }?,
- attribute onmousemove { text }?,
- attribute onmouseout { text }?,
- attribute height { text }?,
- attribute xml:lang { text }?,
- attribute char { text }?,
- attribute onmousedown { text }?,
- attribute onkeypress { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.all.inlines* | db.all.blocks*)
- }
-
- db.row = element row {
- db.common.attributes,
- attribute rowsep { text }?,
- attribute ondblclick { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute valign { "bottom" | "middle" | "top" }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- (db.entry|db.entrytbl)+
- }
-
- db.entry = element entry {
- db.common.attributes,
- attribute rowsep { text }?,
- attribute spanname { text }?,
- attribute ondblclick { text }?,
- attribute colname { text }?,
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute valign { "bottom" | "middle" | "top" }?,
- attribute rotate { text }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute nameend { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- attribute colsep { text }?,
- attribute charoff { text }?,
- attribute namest { text }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute char { text }?,
- attribute morerows { text }?,
- (db.all.inlines* | db.all.blocks*)
- }
-
- db.entrytbl = element entrytbl {
- attribute rowsep { text }?,
- attribute spanname { text }?,
- attribute ondblclick { text }?,
- attribute colname { text }?,
- attribute cols { text },
- attribute onkeydown { text }?,
- attribute onkeyup { text }?,
- attribute onmouseup { text }?,
- attribute onmouseover { text }?,
- attribute align { "center" | "char" | "justify" | "left" | "right" }?,
- attribute onkeypress { text }?,
- attribute onmousedown { text }?,
- attribute tgroupstyle { text }?,
- attribute nameend { text }?,
- attribute onclick { text }?,
- attribute title { text }?,
- attribute class { text }?,
- attribute colsep { text }?,
- attribute charoff { text }?,
- attribute namest { text }?,
- attribute onmouseout { text }?,
- attribute onmousemove { text }?,
- attribute style { text }?,
- attribute xml:lang { text }?,
- attribute char { text }?,
- (db.colspec*, db.spanspec*, db.thead?, db.tbody)
- }
-
-include "glossary.rnc"
-include "bibliography.rnc"
-include "index.rnc"
-include "toc.rnc"
-include "tasks.rnc"
-include "callouts.rnc"
-include "ebnf.rnc"
-#include "calstbl.rnc"
-#include "htmltbl.rnc"
-include "msgset.rnc"
-include "qandaset.rnc"
-include "mathml.rnc"
-include "svg.rnc"
-#include "htmlform.rnc"