namespace db = "http://docbook.org/ns/docbook"
default namespace = "http://docbook.org/ns/docbook"
+start |= db.refsect1 | db.refsect2 | db.refsect3
+
db.toplevel.refsection |= db.refsect1+
db.secondlevel.refsection |= db.refsect2+
# ======================================================================
+db.refsect1.sections = db.refsect2+
+
[
db:refname [ "refsect1" ]
db:refpurpose [ "A major subsection of a reference entry" ]
element refsect1 {
db.refsect1.attlist,
db.refsect1.info,
- ((db.all.blocks+, db.refsect2*)
- | db.refsect2+)
+ ((db.all.blocks+, db.refsect1.sections?)
+ | db.refsect1.sections)
}
}
# ======================================================================
+db.refsect2.sections = db.refsect3+
+
[
db:refname [ "refsect2" ]
db:refpurpose [ "A subsection of a " db:tag [ "refsect1" ] ]
element refsect2 {
db.refsect2.attlist,
db.refsect2.info,
- ((db.all.blocks+, db.refsect3*)
- | db.refsect3+)
+ ((db.all.blocks+, db.refsect2.sections?)
+ | db.refsect2.sections)
}
}
namespace db = "http://docbook.org/ns/docbook"
default namespace = "http://docbook.org/ns/docbook"
-db.toplevel.sections |= (db.sect1+, db.simplesect*) | db.simplesect+
+start |= db.sect1 | db.sect2 | db.sect3 | db.sect4 | db.sect5
-db.article.components |= (db.sect1+, db.simplesect*) | db.simplesect+
+db.toplevel.sections |= db.sect1+
# ======================================================================
-db.sect1.sections = (db.sect2+, db.simplesect*) | db.simplesect+
+db.sect1.sections = db.sect2+ | db.simplesect+
[
db:refname [ "sect1" ]
# ======================================================================
-db.sect2.sections = (db.sect3+, db.simplesect*) | db.simplesect+
+db.sect2.sections = db.sect3+ | db.simplesect+
[
db:refname [ "sect2" ]
# ======================================================================
-db.sect3.sections = (db.sect4+, db.simplesect*) | db.simplesect+
+db.sect3.sections = db.sect4+ | db.simplesect+
[
db:refname [ "sect3" ]
# ======================================================================
-db.sect4.sections = (db.sect5+, db.simplesect*) | db.simplesect+
+db.sect4.sections = db.sect5+ | db.simplesect+
[
db:refname [ "sect4" ]
db.components |= db.xi.include
db.toplevel.sections |=
- ((db.section|db.xi.include)+, (db.simplesect|db.xi.include)*)
- | (db.simplesect|db.xi.include)+
+ (db.section|db.xi.include)+ | (db.simplesect|db.xi.include)+
db.recursive.sections |=
- ((db.section|db.xi.include)+, (db.simplesect|db.xi.include)*)
- | (db.simplesect|db.xi.include)+
+ (db.section|db.xi.include)+ | (db.simplesect|db.xi.include)+
db.part.components |= db.xi.include
-db.article.components |=
- ((db.section|db.xi.include)+, (db.simplesect|db.xi.include)*)
- | (db.simplesect|db.xi.include)+
-
db.all.blocks |= db.xi.include
db.all.inlines |= db.xi.include
]
rng:define [
- name = "db.article.components"
+ name = "db.toplevel.refsection"
combine = "choice"
rng:oneOrMore [
rng:choice [
]
rng:define [
- name = "db.toplevel.refsection"
+ name = "db.secondlevel.refsection"
combine = "choice"
rng:oneOrMore [
rng:choice [
]
]
]
+]
+
+ctrl:conditional [
+ pattern="db.refsect1"
rng:define [
- name = "db.secondlevel.refsection"
+ name = "db.toplevel.sections"
combine = "choice"
rng:oneOrMore [
rng:choice [
- rng:ref [ name = "db.refentry" ]
+ rng:ref [ name = "db.refsect1" ]
rng:ref [ name = "db.xi.include" ]
]
]
]
-]
-ctrl:conditional [
- pattern="db.sect1"
+ rng:define [
+ name = "db.recursive.sections"
+ combine = "choice"
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.refsect1" ]
+ rng:ref [ name = "db.xi.include" ]
+ ]
+ ]
+ ]
rng:define [
- name = "db.toplevel.sections"
+ name = "db.toplevel.refsection"
combine = "choice"
- rng:choice [
- rng:group [
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.sect1" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- rng:zeroOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- ]
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.refsect1" ]
+ rng:ref [ name = "db.xi.include" ]
+ ]
]
]
rng:define [
- name = "db.article.components"
+ name = "db.secondlevel.refsection"
combine = "choice"
- rng:choice [
- rng:group [
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.sect1" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- rng:zeroOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- ]
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.refsect2" ]
+ rng:ref [ name = "db.xi.include" ]
+ ]
+ ]
+ ]
+]
+
+ctrl:conditional [
+ pattern="db.sect1"
+
+ rng:define [
+ name = "db.toplevel.sections"
+ combine = "choice"
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.sect1" ]
+ rng:ref [ name = "db.xi.include" ]
]
]
]
rng:define [
name = "db.sect1.sections"
combine = "choice"
- rng:choice [
- rng:group [
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.sect2" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- rng:zeroOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- ]
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.sect2" ]
+ rng:ref [ name = "db.xi.include" ]
]
]
]
rng:define [
name = "db.sect2.sections"
combine = "choice"
- rng:choice [
- rng:group [
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.sect3" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- rng:zeroOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- ]
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.sect3" ]
+ rng:ref [ name = "db.xi.include" ]
]
]
]
rng:define [
name = "db.sect3.sections"
combine = "choice"
- rng:choice [
- rng:group [
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.sect4" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- rng:zeroOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- ]
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.sect4" ]
+ rng:ref [ name = "db.xi.include" ]
]
]
]
rng:define [
name = "db.sect4.sections"
combine = "choice"
- rng:choice [
- rng:group [
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.sect5" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- rng:zeroOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
- ]
- ]
- rng:oneOrMore [
- rng:choice [
- rng:ref [ name = "db.simplesect" ]
- rng:ref [ name = "db.xi.include" ]
- ]
+ rng:oneOrMore [
+ rng:choice [
+ rng:ref [ name = "db.sect5" ]
+ rng:ref [ name = "db.xi.include" ]
]
]
]