1 | namespace db = "http://docbook.org/ns/docbook"
|
---|
2 | namespace mml = "http://www.w3.org/1998/Math/MathML"
|
---|
3 | namespace svg = "http://www.w3.org/2000/svg"
|
---|
4 | default namespace dbs = "http://docbook.org/ns/docbook-slides"
|
---|
5 |
|
---|
6 | # See http://docbook.org/ns/docbook-slides
|
---|
7 |
|
---|
8 | # This file is part of DocBook Slides V5.0
|
---|
9 | #
|
---|
10 | # Copyright 2012 Gabor Kovesdan
|
---|
11 | #
|
---|
12 | # Release: $Id$
|
---|
13 | #
|
---|
14 | # Permission to use, copy, modify and distribute the DocBook Slides
|
---|
15 | # schema and its accompanying documentation for any purpose and without
|
---|
16 | # fee is hereby granted in perpetuity, provided that the above copyright
|
---|
17 | # notice and this paragraph appear in all copies. The copyright
|
---|
18 | # holders make no representation about the suitability of the schema
|
---|
19 | # for any purpose. It is provided "as is" without expressed or implied
|
---|
20 | # warranty.
|
---|
21 | #
|
---|
22 | # If you modify the DocBook Slides schema in any way, label your schema
|
---|
23 | # as a variant of DocBook Slides. See the reference documentation
|
---|
24 | # (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook)
|
---|
25 | # for more information.
|
---|
26 | #
|
---|
27 | # Please direct all questions, bug reports, or suggestions for changes
|
---|
28 | # to the docbook@lists.oasis-open.org mailing list. For more
|
---|
29 | # information, see http://www.oasis-open.org/docbook/.
|
---|
30 | #
|
---|
31 | # ======================================================================
|
---|
32 |
|
---|
33 | include "../../../../docbook/relaxng/docbook/docbook/docbook.rnc" inherit = db {
|
---|
34 | start = dbs.slides
|
---|
35 |
|
---|
36 | # Avoid ID clashes
|
---|
37 | db._any.attribute = attribute * - (xml:id | linkend) { text }
|
---|
38 |
|
---|
39 | db.common.attributes =
|
---|
40 | db.xml.id.attribute?
|
---|
41 | & db.common.base.attributes
|
---|
42 | & db.annotations.attribute?
|
---|
43 | & dbs.style.attributes?
|
---|
44 |
|
---|
45 | # Any element and attribute from the SVG namespace
|
---|
46 | db._any.svg =
|
---|
47 | element svg:* { (dbs._any.attribute | text | db._any)* }
|
---|
48 |
|
---|
49 | # Any element and attribute from the MathML namespace
|
---|
50 | db._any.mml =
|
---|
51 | element mml:* { (dbs._any.attribute | text | db._any)* }
|
---|
52 | }
|
---|
53 |
|
---|
54 | # Any attribute from any namespace
|
---|
55 | dbs._any.attribute = attribute * { text }
|
---|
56 |
|
---|
57 | dbs.all.content = db.all.blocks? &
|
---|
58 | dbs.speakernotes &
|
---|
59 | dbs.handoutnotes &
|
---|
60 | db._any.svg? &
|
---|
61 | db._any.mml? &
|
---|
62 | dbs.block?
|
---|
63 |
|
---|
64 | dbs.block =
|
---|
65 | ## Indicates a formatting block that can have its own styling applied
|
---|
66 | element block { dbs.block.attlist,
|
---|
67 | dbs.all.content*
|
---|
68 | }
|
---|
69 |
|
---|
70 | dbs.block.role.attribute =
|
---|
71 | ## Role attribute for the block element
|
---|
72 | attribute role { text }
|
---|
73 |
|
---|
74 | dbs.block.status.attribute =
|
---|
75 | ## Status attribute for the block element
|
---|
76 | db.status.attribute
|
---|
77 |
|
---|
78 | dbs.block.attlist = dbs.block.role.attribute?
|
---|
79 | & db.common.attributes
|
---|
80 | & db.common.linking.attributes
|
---|
81 | & db.label.attribute?
|
---|
82 | & dbs.block.status.attribute?
|
---|
83 |
|
---|
84 | dbs.slides =
|
---|
85 | ## Root element of a slides document
|
---|
86 | element slides { dbs.slides.attlist,
|
---|
87 | db._info.title.req,
|
---|
88 | dbs.speakernotes?,
|
---|
89 | dbs.handoutnotes?,
|
---|
90 | (
|
---|
91 | dbs.foil? &
|
---|
92 | dbs.foilgroup?
|
---|
93 | )*
|
---|
94 | }
|
---|
95 |
|
---|
96 | dbs.slides.role.attribute =
|
---|
97 | ## Role attribute for the slides element
|
---|
98 | attribute role { text }
|
---|
99 |
|
---|
100 | dbs.slides.status.attribute =
|
---|
101 | ## Status attribute for the slides element
|
---|
102 | db.status.attribute
|
---|
103 |
|
---|
104 | dbs.slides.attlist = dbs.slides.role.attribute?
|
---|
105 | & db.common.attributes
|
---|
106 | & db.common.linking.attributes
|
---|
107 | & db.label.attribute?
|
---|
108 | & dbs.slides.status.attribute?
|
---|
109 |
|
---|
110 | dbs.foilgroup = element foilgroup {
|
---|
111 | dbs.foilgroup.attlist,
|
---|
112 | db._info.title.req,
|
---|
113 | dbs.all.content*,
|
---|
114 | dbs.foil+
|
---|
115 | }
|
---|
116 |
|
---|
117 | dbs.foilgroup.role.attribute =
|
---|
118 | ## Role attribute for the foilgroup element
|
---|
119 | attribute role { text }
|
---|
120 |
|
---|
121 | dbs.foilgroup.status.attribute =
|
---|
122 | ## Status attribute for the foilgroup element
|
---|
123 | db.status.attribute
|
---|
124 |
|
---|
125 | dbs.foilgroup.attlist = dbs.foilgroup.role.attribute?
|
---|
126 | & db.common.attributes
|
---|
127 | & db.common.linking.attributes
|
---|
128 | & db.label.attribute?
|
---|
129 | & dbs.slides.status.attribute?
|
---|
130 |
|
---|
131 | dbs.foil =
|
---|
132 | ## Indicates a foil that may have some info and content
|
---|
133 | element foil { dbs.foil.attlist,
|
---|
134 | db._info.title.req,
|
---|
135 | dbs.all.content*,
|
---|
136 | db.navigation.components*
|
---|
137 | }
|
---|
138 |
|
---|
139 | dbs.foil.role.attribute =
|
---|
140 | ## Role attribute for the foil element
|
---|
141 | attribute role { text }
|
---|
142 |
|
---|
143 | dbs.foil.status.attribute =
|
---|
144 | ## Status attribute for the foil element
|
---|
145 | db.status.attribute
|
---|
146 |
|
---|
147 | dbs.foil.attlist = dbs.foil.role.attribute?
|
---|
148 | & db.common.attributes
|
---|
149 | & db.common.linking.attributes
|
---|
150 | & db.label.attribute?
|
---|
151 | & dbs.foil.status.attribute?
|
---|
152 |
|
---|
153 | dbs.speakernotes =
|
---|
154 | ## Indicates notes for the speaker
|
---|
155 | element speakernotes { dbs.speakernotes.attlist,
|
---|
156 | db.all.blocks+
|
---|
157 | }
|
---|
158 |
|
---|
159 | dbs.speakernotes.role.attribute =
|
---|
160 | ## Role attribute for the speakernotes element
|
---|
161 | attribute role { text }
|
---|
162 |
|
---|
163 | dbs.speakernotes.attlist = dbs.speakernotes.role.attribute?
|
---|
164 | & db.common.attributes
|
---|
165 | & db.common.linking.attributes
|
---|
166 |
|
---|
167 | dbs.handoutnotes =
|
---|
168 | ## Indicates notes that are meant for printed copies
|
---|
169 | element handoutnotes { dbs.handoutnotes.attlist,
|
---|
170 | db.all.blocks+
|
---|
171 | }
|
---|
172 |
|
---|
173 | ## Role attribute for the handoutnotes element
|
---|
174 | dbs.handoutnotes.role.attribute =
|
---|
175 | ## Role attribute for the handoutnotes element
|
---|
176 | attribute role { text }
|
---|
177 |
|
---|
178 | dbs.handoutnotes.attlist = dbs.handoutnotes.role.attribute?
|
---|
179 | & db.common.attributes
|
---|
180 | & db.common.linking.attributes
|
---|
181 |
|
---|
182 | dbs.style.attributes = dbs.incremental.attribute?
|
---|
183 | & dbs.collapsible.attribute?
|
---|
184 | & dbs.style.attribute?
|
---|
185 |
|
---|
186 | dbs.incremental.attribute =
|
---|
187 | ## Attribute indicating an incremental part
|
---|
188 | attribute dbs:incremental {
|
---|
189 | ## disabled
|
---|
190 | "0" |
|
---|
191 | ## enabled
|
---|
192 | "1" }
|
---|
193 |
|
---|
194 | dbs.collapsible.attribute =
|
---|
195 | ## Attribute indicating a collapsible part
|
---|
196 | attribute dbs:collapsible {
|
---|
197 | ## disabled
|
---|
198 | "0" |
|
---|
199 | ## enabled
|
---|
200 | "1" |
|
---|
201 | ## enabled and expanded by default
|
---|
202 | "expanded" }
|
---|
203 |
|
---|
204 | dbs.style.attribute =
|
---|
205 | ## Attribute indicating a formatting style class
|
---|
206 | attribute dbs:style { text }
|
---|