]> granicus.if.org Git - docbook-dsssl/commitdiff
Full DocBook with Slides
authorNorman Walsh <ndw@nwalsh.com>
Thu, 23 Jan 2003 22:43:56 +0000 (22:43 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Thu, 23 Jan 2003 22:43:56 +0000 (22:43 +0000)
slides/schema/relaxng/slides-full.rng [new file with mode: 0644]

diff --git a/slides/schema/relaxng/slides-full.rng b/slides/schema/relaxng/slides-full.rng
new file mode 100644 (file)
index 0000000..91563ce
--- /dev/null
@@ -0,0 +1,198 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+         xmlns:rng="http://relaxng.org/ns/structure/1.0"
+         xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+         xmlns:s="http://www.ascc.net/xml/schematron"
+         xmlns:doc="http://nwalsh.com/xmlns/documentation"
+         xmlns:db="http://nwalsh.com/xmlns/docbook-grammar-structure"
+         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+<rng:div doc:docbook="yes" xmlns="">
+<partinfo>
+<releaseinfo
+   role="cvs">$Id$</releaseinfo>
+<title>Slides</title>
+<productname>Slides</productname>
+<productnumber>2.4.0</productnumber>
+<releaseinfo role="filename">slides</releaseinfo>
+<copyright>
+<year>1999</year>
+<year>2000</year>
+<year>2001</year>
+<year>2002</year>
+<year>2003</year>
+<holder>Norman Walsh</holder>
+</copyright>
+</partinfo>
+
+<partintro>
+<para>This is the driver file for V3.1.0 of the Website document type.
+Please use the following formal public identifier to identify it:</para>
+
+<screen>"-//Norman Walsh//DTD Slides V3.1.0//EN"</screen>
+
+<para>For example, if
+you are using the Slides DTD directly, use the FPI in the DOCTYPE
+declaration:</para>
+
+<programlisting><![CDATA[<!DOCTYPE slides PUBLIC "-//Norman Walsh//DTD Slides V3.1.0//EN"
+               "http://docbook.sourceforge.net/release/slides/3.1.0/schema/dtd/slides.dtd"
+               [...]>]]></programlisting>
+
+<para>Or, if you have a higher-level driver file that customizes Slides,
+use the FPI in the parameter entity declaration:</para>
+
+<programlisting><![CDATA[<!ENTITY % SlidesDTD PUBLIC "-//Norman Walsh//DTD Slides V3.1.0//EN"
+           "http://docbook.sourceforge.net/release/slides/3.1.0/schema/dtd/slides.dtd">
+%SlidesDTD;]]></programlisting>
+
+<para>Please direct all questions and comments about this DTD to
+Norman Walsh, <email>ndw@nwalsh.com</email>.</para>
+</partintro>
+</rng:div>
+
+<include href="../../../schema/relaxng/docbook.rng"/>
+
+<define name="local.divcomponent.mix" combine="choice">
+  <choice>
+    <ref name="speakernotes"/>
+  </choice>
+</define>
+
+<define name="local.component.mix" combine="choice">
+  <choice>
+    <ref name="speakernotes"/>
+  </choice>
+</define>
+
+<define name="slides">
+  <element name="slides">
+    <ref name="slidesinfo"/>
+    <optional>
+      <ref name="speakernotes"/>
+    </optional>
+    <zeroOrMore>
+      <ref name="foil"/>
+    </zeroOrMore>
+    <zeroOrMore>
+      <ref name="foilgroup"/>
+    </zeroOrMore>
+    <ref name="label.attrib"/>
+    <ref name="status.attrib"/>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+  </element>
+</define>
+
+<define name="slidesinfo">
+  <element name="slidesinfo">
+    <oneOrMore>
+      <choice>
+        <ref name="mediaobject"/>
+        <ref name="legalnotice"/>
+        <ref name="subjectset"/>
+        <ref name="keywordset"/>
+        <ref name="bibliocomponent.mix"/>
+      </choice>
+    </oneOrMore>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+  </element>
+</define>
+
+<define name="foilgroup">
+  <element name="foilgroup">
+    <optional>
+      <ref name="foilgroupinfo"/>
+    </optional>
+    <ref name="title"/>
+    <optional>
+      <ref name="subtitle"/>
+    </optional>
+    <optional>
+      <ref name="titleabbrev"/>
+    </optional>
+    <zeroOrMore>
+      <ref name="divcomponent.mix"/>
+    </zeroOrMore>
+    <oneOrMore>
+      <ref name="foil"/>
+    </oneOrMore>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+    <ref name="label.attrib"/>
+    <ref name="status.attrib"/>
+  </element>
+</define>
+
+<define name="foilgroupinfo">
+  <element name="foilgroupinfo">
+    <oneOrMore>
+      <choice>
+        <ref name="mediaobject"/>
+        <ref name="legalnotice"/>
+        <ref name="subjectset"/>
+        <ref name="keywordset"/>
+        <ref name="bibliocomponent.mix"/>
+      </choice>
+    </oneOrMore>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+  </element>
+</define>
+
+<define name="foil">
+  <element name="foil">
+    <optional>
+      <ref name="foilinfo"/>
+    </optional>
+    <ref name="title"/>
+    <optional>
+      <ref name="subtitle"/>
+    </optional>
+    <optional>
+      <ref name="titleabbrev"/>
+    </optional>
+    <oneOrMore>
+      <ref name="divcomponent.mix"/>
+    </oneOrMore>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+    <ref name="label.attrib"/>
+    <ref name="status.attrib"/>
+  </element>
+</define>
+
+<define name="foilinfo">
+  <element name="foilinfo">
+    <oneOrMore>
+      <choice>
+        <ref name="mediaobject"/>
+        <ref name="legalnotice"/>
+        <ref name="subjectset"/>
+        <ref name="keywordset"/>
+        <ref name="bibliocomponent.mix"/>
+      </choice>
+    </oneOrMore>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+  </element>
+</define>
+
+<define name="speakernotes">
+  <element name="speakernotes">
+    <zeroOrMore>
+      <ref name="divcomponent.mix"/>
+    </zeroOrMore>
+    <ref name="common.attrib"/>
+    <ref name="role.attrib"/>
+  </element>
+</define>
+
+<start combine="choice">
+  <choice>
+    <ref name="slides"/>
+  </choice>
+</start>
+
+</grammar>