--- /dev/null
+# This file is part of DocBook NG: The "Bourbon" Release.
+
+# This schema is a reinterpretation of "Simplified DocBook" in the NG framework.
+#
+# Author: Norman Walsh, <ndw@nwalsh.com>
+# Source: Derived from DocBook XML V4.3
+# Release: $Id$
+#
+# ======================================================================
+
+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.article
+
+include "hier.rnc" {
+ sections.optional = db.section*
+ sections.required = db.section+
+
+ article.components.optional = db.section*
+ article.components.required = db.section+
+
+ db.ackno = notAllowed
+}
+
+include "bibliography.rnc" {
+ db.article =
+ element article {
+ article.attlist,
+ article.info,
+ ((blocks+, article.components.optional) | article.components.required),
+ (db.appendix | navigation.components | db.ackno)*
+ }
+
+ db.bibliography =
+ element bibliography {
+ bibliography.attlist,
+ bibliography.info,
+ blocks*,
+ (db.bibliodiv+ | db.bibliomixed+)
+ }
+
+ db.bibliodiv =
+ element bibliodiv {
+ bibliodiv.attlist,
+ bibliodiv.info,
+ blocks*,
+ db.bibliomixed+
+ }
+}
+
+include "calstbl.rnc"
+include "htmltbl.rnc"
+
+include "pool.rnc" {
+ common.attributes =
+ id.attribute?,
+ xml.lang.attribute?,
+ xml.base.attribute?,
+ revisionflag.attribute?,
+ version.attribute?
+
+ common.attributes.idreq =
+ id.attribute,
+ xml.lang.attribute?,
+ xml.base.attribute?,
+ revisionflag.attribute?,
+ version.attribute?
+
+ info.elements =
+ db.abstract
+ | db.author
+ | db.authorgroup
+ | db.copyright
+ | db.date
+ | db.edition
+ | db.editor
+ | db.issuenum
+ | db.keywordset
+ | db.legalnotice
+ | db.othercredit
+ | db.pubdate
+ | db.publishername
+ | db.releaseinfo
+ | db.revhistory
+ | db.subjectset
+ | db.volumenum
+
+ bibliographic.elements =
+ info.elements
+ | db.abbrev
+ | db.affiliation
+ | db.citetitle
+ | db.orgname
+ | db.personblurb
+ | db.personname
+ | db.subtitle
+ | db.title
+ | db.titleabbrev
+
+ list.blocks = db.itemizedlist|db.orderedlist|db.variablelist
+ admonition.blocks = db.note
+ verbatim.blocks = db.literallayout|db.programlisting
+ para.blocks = db.para
+ publishing.blocks = db.blockquote|db.sidebar
+ graphic.blocks = db.mediaobject
+ informal.blocks = db.informaltable
+ formal.blocks = db.example|db.figure|db.table
+ technical.blocks = empty
+ synopsis.blocks = empty
+
+ blocks.nopara =
+ list.blocks
+ | admonition.blocks
+ | formal.blocks
+ | informal.blocks
+ | publishing.blocks
+ | graphic.blocks
+ | technical.blocks
+ | verbatim.blocks
+ | synopsis.blocks
+ | db.revhistory
+
+ ubiq.inlines = db.inlinemediaobject
+
+ publishing.inlines =
+ db.abbrev
+ | db.acronym
+ | db.emphasis
+ | db.footnote
+ | db.footnoteref
+ | db.phrase
+ | db.quote
+
+ os.inlines =
+ db.filename
+ | db.command
+ | db.computeroutput
+ | db.userinput
+
+ programming.inlines = empty
+ product.inlines = db.trademark
+
+ bibliography.inlines =
+ db.citetitle
+ | db.author
+ | db.personname
+ | db.orgname
+ | db.editor
+
+ markup.inlines = db.literal|db.email
+
+ technical.inlines = db.replaceable | db.option | db.systemitem
+ error.inlines = empty
+ oo.inlines = empty
+
+ link.inlines = db.xref
+
+ gui.inlines = empty
+ keyboard.inlines = empty
+ math.inlines = empty
+
+ # ======================================================================
+
+ person.author = db.personname
+ credit.contentmodel = person.author
+
+ db.abbrev =
+ element abbrev {
+ abbrev.attlist,
+ (docbook.text | db.trademark)*
+ }
+
+ db.acronym =
+ element acronym {
+ acronym.attlist,
+ (docbook.text | db.trademark)*
+ }
+
+ db.affiliation =
+ element affiliation {
+ affiliation.attlist,
+ db.jobtitle*,
+ db.orgname?
+ }
+
+ db.para =
+ element para {
+ para.attlist,
+ para.info,
+ inlines*
+ }
+}
--- /dev/null
+# This file is part of Slides NG
+
+# This schema is a reinterpretation of "Slides" in the NG framework.
+#
+# Author: Norman Walsh, <ndw@nwalsh.com>
+# Source: Derived from Slides V3.3.0
+# Release: $Id$
+#
+# ======================================================================
+
+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"
+
+include "sdocbook.rnc" {
+ start = db.slides
+
+ blocks |= db.speakernotes | db.screen
+}
+
+[
+ db:refname [ "slides" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.slides.attributes = empty
+
+ slides.role.attribute = attribute role { text }
+
+ slides.attlist =
+ slides.role.attribute?
+ & common.attributes
+ & common.linking.attributes
+ & local.slides.attributes
+
+ slides.info = docbook.info.titlereq
+
+ db.slides =
+ element slides {
+ slides.attlist,
+ slides.info,
+ db.speakernotes?,
+ db.foil*,
+ db.foilgroup*
+ }
+}
+
+[
+ db:refname [ "foilgroup" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.foilgroup.attributes = empty
+
+ foilgroup.role.attribute = attribute role { text }
+
+ foilgroup.attlist =
+ foilgroup.role.attribute?
+ & common.attributes
+ & common.linking.attributes
+ & local.foilgroup.attributes
+
+ foilgroup.info = docbook.info.titlereq
+
+ db.foilgroup =
+ element foilgroup {
+ foilgroup.attlist,
+ foilgroup.info,
+ blocks*,
+ db.foil+
+ }
+}
+
+[
+ db:refname [ "foil" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.foil.attributes = empty
+
+ foil.role.attribute = attribute role { text }
+
+ foil.attlist =
+ foil.role.attribute?
+ & common.attributes
+ & common.linking.attributes
+ & local.foil.attributes
+
+ foil.info = docbook.info.titlereq
+
+ db.foil =
+ element foil {
+ foil.attlist,
+ foil.info,
+ blocks*
+ }
+}
+
+[
+ db:refname [ "speakernotes" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.speakernotes.attributes = empty
+
+ speakernotes.role.attribute = attribute role { text }
+
+ speakernotes.attlist =
+ speakernotes.role.attribute?
+ & common.attributes
+ & common.linking.attributes
+ & local.speakernotes.attributes
+
+ speakernotes.info = docbook.info.titlereq
+
+ db.speakernotes =
+ element speakernotes {
+ speakernotes.attlist,
+ speakernotes.info,
+ blocks*
+ }
+}
--- /dev/null
+# This file is part of Website NG
+
+# This schema is a reinterpretation of "Website" in the NG framework.
+#
+# Author: Norman Walsh, <ndw@nwalsh.com>
+# Source: Derived from Website V2.5.0
+# Release: $Id$
+#
+# ======================================================================
+
+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"
+namespace ws = "http://docbook.org/docbook-ng/website"
+default namespace = "http://docbook.org/docbook-ng"
+
+rddl = notAllowed
+
+include "qandaset.rnc"
+include "htmlform.rnc"
+include "ws-rddl.rnc"
+
+include "sdocbook.rnc" {
+ start = ws.webpage
+
+ inlines |= db.tag
+
+ list.blocks |= db.simplelist
+
+ blocks |= ws.webtoc | ws.rss
+
+ link.inlines |= db.olink
+}
+
+# ======================================================================
+
+[
+ db:refname [ "olink" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.olink.attributes = empty
+
+ olink.role.attribute = attribute role { text }
+
+ olink.attlist =
+ olink.role.attribute?
+ & common.attributes
+ & local.olink.attributes
+ & attribute linkmode { xsd:IDREF }?
+ & attribute localinfo { text }?
+ & attribute type { text }?
+ & attribute targetdoc { text }?
+ & attribute targetptr { text }?
+ & attribute xrefstyle { text }?
+
+ db.olink =
+ element olink {
+ olink.attlist,
+ inlines*
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:webpage" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.webpage.attributes = empty
+
+ webpage.role.attribute = attribute role { text }
+
+ webpage.attlist =
+ webpage.role.attribute?
+ & common.attributes.idreq
+ & common.linking.attributes
+ & local.webpage.attributes
+ & attribute navto { "yes" | "no" }?
+
+ ws.webpage =
+ element ws:webpage {
+ webpage.attlist,
+ ws.config*,
+ ws.head,
+ component.contentmodel,
+ db.appendix*,
+ db.bibliography*
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:head" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ local.head.attributes = empty
+
+ head.role.attribute = attribute role { text }
+
+ head.attlist =
+ head.role.attribute?
+ & common.attributes
+ & common.linking.attributes
+ & local.head.attributes
+
+ ws.head =
+ element ws:head {
+ head.attlist,
+ db.title,
+ db.titleabbrev?,
+ db.subtitle?,
+ ws.summary?,
+ ws.base?,
+ ws.keywords?,
+ (db.copyright
+ | db.author
+ | db.edition
+ | ws.meta
+ | ws.headlink
+ | ws.script
+ | ws.style
+ | db.abstract
+ | db.revhistory
+ | rddl)*
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:meta" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ meta.attlist =
+ attribute http-equiv { text }?
+ & attribute name { text }?
+ & attribute content { text }
+
+ ws.meta =
+ element ws:meta {
+ meta.attlist,
+ empty
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:headlink" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ headlink.attlist =
+ attribute href { text }?
+ & attribute media { text }?
+ & attribute name { text }?
+ & attribute rel { text }?
+ & attribute rev { text }?
+ & attribute src { text }?
+ & attribute title { text }?
+ & attribute type { text }?
+
+ ws.headlink =
+ element ws:headlink {
+ headlink.attlist,
+ empty
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:script" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ script.attlist =
+ attribute src { text }?
+ & attribute language { text }?
+ & attribute type { text }?
+
+ ws.script =
+ element ws:script {
+ script.attlist,
+ text
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:style" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ style.attlist =
+ attribute src { text }?
+ & attribute type { text }?
+
+ ws.style =
+ element ws:style {
+ style.attlist,
+ text
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:config" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ config.attlist =
+ common.attributes
+ & attribute param { text }
+ & attribute value { text }
+ & attribute altval { text }?
+
+ ws.config =
+ element ws:config {
+ config.attlist,
+ empty
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:summary" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ summary.attlist =
+ common.attributes
+
+ ws.summary =
+ element ws:summary {
+ summary.attlist,
+ inlines*
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:base" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ base.attlist =
+ attribute href { text }
+ & attribute target { text }?
+
+ ws.base =
+ element ws:base {
+ base.attlist,
+ empty
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:keywords" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ keywords.attlist =
+ common.attributes
+
+ ws.keywords =
+ element ws:keywords {
+ keywords.attlist,
+ text
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:webtoc" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ webtoc.attlist =
+ common.attributes
+
+ ws.webtoc =
+ element ws:webtoc {
+ webtoc.attlist,
+ empty
+ }
+}
+
+# ======================================================================
+
+[
+ db:refname [ "ws:rss" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ rss.attlist =
+ common.attributes
+ & attribute feed { text }
+
+ ws.rss =
+ element ws:rss {
+ rss.attlist,
+ empty
+ }
+}
--- /dev/null
+# This file is part of Website NG
+
+# This schema is a reinterpretation of "Website" in the NG framework.
+#
+# Author: Norman Walsh, <ndw@nwalsh.com>
+# Source: Derived from Website V2.5.0
+# Release: $Id$
+#
+# ======================================================================
+
+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"
+namespace ws = "http://docbook.org/docbook-ng/website"
+namespace rddl = "http://www.rddl.org/"
+namespace xlink = "http://www.w3.org/1999/xlink"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+default namespace = "http://docbook.org/docbook-ng"
+
+rddl |= rddl.resource
+inlines |= rddl
+
+# ======================================================================
+
+[
+ db:refname [ "rddl:resource" ]
+ db:refpurpose [ "" ]
+]
+div {
+
+ rddl.resource =
+ element rddl:resource {
+ id.attribute?,
+ xml.lang.attribute?,
+ xml.base.attribute?,
+
+ [ a:defaultValue = "simple" ]
+ attribute xlink:type { "simple" }?,
+
+ attribute xlink:arcrole { text }?,
+
+ [ a:defaultValue = "http://www.rddl.org/#resource" ]
+ attribute xlink:role { "http://www.rddl.org/#resource" }?,
+
+ attribute xlink:href { text }?,
+ attribute xlink:title { text }?,
+
+ [ a:defaultValue = "none" ]
+ attribute xlink:embed { "none" }?,
+
+ [ a:defaultValue = "none" ]
+ attribute xlink:actuate { "none" }?,
+
+ inlines*
+ }
+}