slides.xsd 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://docbook.org/ns/docbook-slides" xmlns:dbs="http://docbook.org/ns/docbook-slides" xmlns:db="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
  3. <xs:include schemaLocation="docbook.xsd"/>
  4. <xs:import namespace="http://docbook.org/ns/docbook" schemaLocation="db.xsd"/>
  5. <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
  6. <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
  7. <!-- See http://docbook.org/ns/docbook-slides -->
  8. <!--
  9. This file is part of DocBook Slides V5.0
  10. Copyright 2012 Gabor Kovesdan
  11. Release: $Id$
  12. Permission to use, copy, modify and distribute the DocBook Slides
  13. schema and its accompanying documentation for any purpose and without
  14. fee is hereby granted in perpetuity, provided that the above copyright
  15. notice and this paragraph appear in all copies. The copyright
  16. holders make no representation about the suitability of the schema
  17. for any purpose. It is provided "as is" without expressed or implied
  18. warranty.
  19. If you modify the DocBook Slides schema in any way, label your schema
  20. as a variant of DocBook Slides. See the reference documentation
  21. (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook)
  22. for more information.
  23. Please direct all questions, bug reports, or suggestions for changes
  24. to the docbook@lists.oasis-open.org mailing list. For more
  25. information, see http://www.oasis-open.org/docbook/.
  26. ======================================================================
  27. -->
  28. <!-- Avoid ID clashes -->
  29. <xs:attributeGroup name="db._any.attribute">
  30. <xs:anyAttribute processContents="skip"/>
  31. </xs:attributeGroup>
  32. <xs:attributeGroup name="db.common.attributes">
  33. <xs:attribute ref="xml:id"/>
  34. <xs:attributeGroup ref="db:db.common.base.attributes"/>
  35. <xs:attribute name="annotations"/>
  36. <xs:attributeGroup ref="dbs:dbs.style.attributes"/>
  37. </xs:attributeGroup>
  38. <!-- Any element and attribute from the SVG namespace -->
  39. <xs:group name="db._any.svg">
  40. <xs:sequence>
  41. <xs:any namespace="http://www.w3.org/2000/svg" processContents="skip"/>
  42. </xs:sequence>
  43. </xs:group>
  44. <!-- Any element and attribute from the MathML namespace -->
  45. <xs:group name="db._any.mml">
  46. <xs:sequence>
  47. <xs:any namespace="http://www.w3.org/1998/Math/MathML" processContents="skip"/>
  48. </xs:sequence>
  49. </xs:group>
  50. <!-- Any attribute from any namespace -->
  51. <xs:attributeGroup name="dbs._any.attribute">
  52. <xs:anyAttribute processContents="skip"/>
  53. </xs:attributeGroup>
  54. <xs:group name="dbs.all.content">
  55. <xs:sequence>
  56. <xs:choice minOccurs="0" maxOccurs="unbounded">
  57. <xs:group ref="db:db.all.blocks"/>
  58. <xs:element ref="dbs:speakernotes"/>
  59. <xs:element ref="dbs:handoutnotes"/>
  60. <xs:group ref="dbs:db._any.svg"/>
  61. <xs:group ref="dbs:db._any.mml"/>
  62. <xs:element ref="dbs:block"/>
  63. </xs:choice>
  64. </xs:sequence>
  65. </xs:group>
  66. <xs:element name="block">
  67. <xs:annotation>
  68. <xs:documentation>Indicates a formatting block that can have its own styling applied</xs:documentation>
  69. </xs:annotation>
  70. <xs:complexType>
  71. <xs:group minOccurs="0" maxOccurs="unbounded" ref="dbs:dbs.all.content"/>
  72. <xs:attributeGroup ref="dbs:dbs.block.attlist"/>
  73. </xs:complexType>
  74. </xs:element>
  75. <xs:attributeGroup name="dbs.block.role.attribute">
  76. <xs:attribute name="role" use="required">
  77. <xs:annotation>
  78. <xs:documentation>Role attribute for the block element</xs:documentation>
  79. </xs:annotation>
  80. </xs:attribute>
  81. </xs:attributeGroup>
  82. <xs:attributeGroup name="dbs.block.status.attribute">
  83. <xs:attributeGroup ref="db:db.status.attribute"/>
  84. </xs:attributeGroup>
  85. <xs:attributeGroup name="dbs.block.attlist">
  86. <xs:attribute name="role">
  87. <xs:annotation>
  88. <xs:documentation>Role attribute for the block element</xs:documentation>
  89. </xs:annotation>
  90. </xs:attribute>
  91. <xs:attributeGroup ref="dbs:db.common.attributes"/>
  92. <xs:attributeGroup ref="db:db.common.linking.attributes"/>
  93. <xs:attribute name="label"/>
  94. <xs:attribute name="status"/>
  95. </xs:attributeGroup>
  96. <xs:element name="slides">
  97. <xs:annotation>
  98. <xs:documentation>Root element of a slides document</xs:documentation>
  99. </xs:annotation>
  100. <xs:complexType>
  101. <xs:sequence>
  102. <xs:group ref="db:db._info.title.req"/>
  103. <xs:element minOccurs="0" ref="dbs:speakernotes"/>
  104. <xs:element minOccurs="0" ref="dbs:handoutnotes"/>
  105. <xs:choice minOccurs="0" maxOccurs="unbounded">
  106. <xs:element ref="dbs:foil"/>
  107. <xs:element ref="dbs:foilgroup"/>
  108. </xs:choice>
  109. </xs:sequence>
  110. <xs:attributeGroup ref="dbs:dbs.slides.attlist"/>
  111. </xs:complexType>
  112. </xs:element>
  113. <xs:attributeGroup name="dbs.slides.role.attribute">
  114. <xs:attribute name="role" use="required">
  115. <xs:annotation>
  116. <xs:documentation>Role attribute for the slides element</xs:documentation>
  117. </xs:annotation>
  118. </xs:attribute>
  119. </xs:attributeGroup>
  120. <xs:attributeGroup name="dbs.slides.status.attribute">
  121. <xs:attributeGroup ref="db:db.status.attribute"/>
  122. </xs:attributeGroup>
  123. <xs:attributeGroup name="dbs.slides.attlist">
  124. <xs:attribute name="role">
  125. <xs:annotation>
  126. <xs:documentation>Role attribute for the slides element</xs:documentation>
  127. </xs:annotation>
  128. </xs:attribute>
  129. <xs:attributeGroup ref="dbs:db.common.attributes"/>
  130. <xs:attributeGroup ref="db:db.common.linking.attributes"/>
  131. <xs:attribute name="label"/>
  132. <xs:attribute name="status"/>
  133. </xs:attributeGroup>
  134. <xs:element name="foilgroup">
  135. <xs:complexType>
  136. <xs:sequence>
  137. <xs:group ref="db:db._info.title.req"/>
  138. <xs:group minOccurs="0" maxOccurs="unbounded" ref="dbs:dbs.all.content"/>
  139. <xs:element maxOccurs="unbounded" ref="dbs:foil"/>
  140. </xs:sequence>
  141. <xs:attributeGroup ref="dbs:dbs.foilgroup.attlist"/>
  142. </xs:complexType>
  143. </xs:element>
  144. <xs:attributeGroup name="dbs.foilgroup.role.attribute">
  145. <xs:attribute name="role" use="required">
  146. <xs:annotation>
  147. <xs:documentation>Role attribute for the foilgroup element</xs:documentation>
  148. </xs:annotation>
  149. </xs:attribute>
  150. </xs:attributeGroup>
  151. <xs:attributeGroup name="dbs.foilgroup.status.attribute">
  152. <xs:attributeGroup ref="db:db.status.attribute"/>
  153. </xs:attributeGroup>
  154. <xs:attributeGroup name="dbs.foilgroup.attlist">
  155. <xs:attribute name="role">
  156. <xs:annotation>
  157. <xs:documentation>Role attribute for the foilgroup element</xs:documentation>
  158. </xs:annotation>
  159. </xs:attribute>
  160. <xs:attributeGroup ref="dbs:db.common.attributes"/>
  161. <xs:attributeGroup ref="db:db.common.linking.attributes"/>
  162. <xs:attribute name="label"/>
  163. <xs:attribute name="status"/>
  164. </xs:attributeGroup>
  165. <xs:element name="foil">
  166. <xs:annotation>
  167. <xs:documentation>Indicates a foil that may have some info and content</xs:documentation>
  168. </xs:annotation>
  169. <xs:complexType>
  170. <xs:sequence>
  171. <xs:group ref="db:db._info.title.req"/>
  172. <xs:group minOccurs="0" maxOccurs="unbounded" ref="dbs:dbs.all.content"/>
  173. <xs:group minOccurs="0" maxOccurs="unbounded" ref="db:db.navigation.components"/>
  174. </xs:sequence>
  175. <xs:attributeGroup ref="dbs:dbs.foil.attlist"/>
  176. </xs:complexType>
  177. </xs:element>
  178. <xs:attributeGroup name="dbs.foil.role.attribute">
  179. <xs:attribute name="role" use="required">
  180. <xs:annotation>
  181. <xs:documentation>Role attribute for the foil element</xs:documentation>
  182. </xs:annotation>
  183. </xs:attribute>
  184. </xs:attributeGroup>
  185. <xs:attributeGroup name="dbs.foil.status.attribute">
  186. <xs:attributeGroup ref="db:db.status.attribute"/>
  187. </xs:attributeGroup>
  188. <xs:attributeGroup name="dbs.foil.attlist">
  189. <xs:attribute name="role">
  190. <xs:annotation>
  191. <xs:documentation>Role attribute for the foil element</xs:documentation>
  192. </xs:annotation>
  193. </xs:attribute>
  194. <xs:attributeGroup ref="dbs:db.common.attributes"/>
  195. <xs:attributeGroup ref="db:db.common.linking.attributes"/>
  196. <xs:attribute name="label"/>
  197. <xs:attribute name="status"/>
  198. </xs:attributeGroup>
  199. <xs:element name="speakernotes">
  200. <xs:annotation>
  201. <xs:documentation>Indicates notes for the speaker</xs:documentation>
  202. </xs:annotation>
  203. <xs:complexType>
  204. <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
  205. <xs:attributeGroup ref="dbs:dbs.speakernotes.attlist"/>
  206. </xs:complexType>
  207. </xs:element>
  208. <xs:attributeGroup name="dbs.speakernotes.role.attribute">
  209. <xs:attribute name="role" use="required">
  210. <xs:annotation>
  211. <xs:documentation>Role attribute for the speakernotes element</xs:documentation>
  212. </xs:annotation>
  213. </xs:attribute>
  214. </xs:attributeGroup>
  215. <xs:attributeGroup name="dbs.speakernotes.attlist">
  216. <xs:attribute name="role">
  217. <xs:annotation>
  218. <xs:documentation>Role attribute for the speakernotes element</xs:documentation>
  219. </xs:annotation>
  220. </xs:attribute>
  221. <xs:attributeGroup ref="dbs:db.common.attributes"/>
  222. <xs:attributeGroup ref="db:db.common.linking.attributes"/>
  223. </xs:attributeGroup>
  224. <xs:element name="handoutnotes">
  225. <xs:annotation>
  226. <xs:documentation>Indicates notes that are meant for printed copies</xs:documentation>
  227. </xs:annotation>
  228. <xs:complexType>
  229. <xs:group maxOccurs="unbounded" ref="db:db.all.blocks"/>
  230. <xs:attributeGroup ref="dbs:dbs.handoutnotes.attlist"/>
  231. </xs:complexType>
  232. </xs:element>
  233. <xs:attributeGroup name="dbs.handoutnotes.role.attribute">
  234. <xs:annotation>
  235. <xs:documentation>Role attribute for the handoutnotes element</xs:documentation>
  236. </xs:annotation>
  237. <xs:attribute name="role" use="required">
  238. <xs:annotation>
  239. <xs:documentation>Role attribute for the handoutnotes element</xs:documentation>
  240. </xs:annotation>
  241. </xs:attribute>
  242. </xs:attributeGroup>
  243. <xs:attributeGroup name="dbs.handoutnotes.attlist">
  244. <xs:attribute name="role">
  245. <xs:annotation>
  246. <xs:documentation>Role attribute for the handoutnotes element</xs:documentation>
  247. </xs:annotation>
  248. </xs:attribute>
  249. <xs:attributeGroup ref="dbs:db.common.attributes"/>
  250. <xs:attributeGroup ref="db:db.common.linking.attributes"/>
  251. </xs:attributeGroup>
  252. <xs:attributeGroup name="dbs.style.attributes">
  253. <xs:attribute name="incremental" form="qualified">
  254. <xs:annotation>
  255. <xs:documentation>Attribute indicating an incremental part</xs:documentation>
  256. </xs:annotation>
  257. <xs:simpleType>
  258. <xs:restriction base="xs:token">
  259. <xs:enumeration value="0">
  260. <xs:annotation>
  261. <xs:documentation>disabled</xs:documentation>
  262. </xs:annotation>
  263. </xs:enumeration>
  264. <xs:enumeration value="1">
  265. <xs:annotation>
  266. <xs:documentation>enabled</xs:documentation>
  267. </xs:annotation>
  268. </xs:enumeration>
  269. </xs:restriction>
  270. </xs:simpleType>
  271. </xs:attribute>
  272. <xs:attribute name="collapsible" form="qualified">
  273. <xs:annotation>
  274. <xs:documentation>Attribute indicating a collapsible part</xs:documentation>
  275. </xs:annotation>
  276. <xs:simpleType>
  277. <xs:restriction base="xs:token">
  278. <xs:enumeration value="0">
  279. <xs:annotation>
  280. <xs:documentation>disabled</xs:documentation>
  281. </xs:annotation>
  282. </xs:enumeration>
  283. <xs:enumeration value="1">
  284. <xs:annotation>
  285. <xs:documentation>enabled</xs:documentation>
  286. </xs:annotation>
  287. </xs:enumeration>
  288. <xs:enumeration value="expanded">
  289. <xs:annotation>
  290. <xs:documentation>enabled and expanded by default</xs:documentation>
  291. </xs:annotation>
  292. </xs:enumeration>
  293. </xs:restriction>
  294. </xs:simpleType>
  295. </xs:attribute>
  296. <xs:attribute name="style" form="qualified">
  297. <xs:annotation>
  298. <xs:documentation>Attribute indicating a formatting style class</xs:documentation>
  299. </xs:annotation>
  300. </xs:attribute>
  301. </xs:attributeGroup>
  302. <xs:attributeGroup name="dbs.incremental.attribute">
  303. <xs:attribute name="incremental" use="required" form="qualified">
  304. <xs:annotation>
  305. <xs:documentation>Attribute indicating an incremental part</xs:documentation>
  306. </xs:annotation>
  307. <xs:simpleType>
  308. <xs:restriction base="xs:token">
  309. <xs:enumeration value="0">
  310. <xs:annotation>
  311. <xs:documentation>disabled</xs:documentation>
  312. </xs:annotation>
  313. </xs:enumeration>
  314. <xs:enumeration value="1">
  315. <xs:annotation>
  316. <xs:documentation>enabled</xs:documentation>
  317. </xs:annotation>
  318. </xs:enumeration>
  319. </xs:restriction>
  320. </xs:simpleType>
  321. </xs:attribute>
  322. </xs:attributeGroup>
  323. <xs:attributeGroup name="dbs.collapsible.attribute">
  324. <xs:attribute name="collapsible" use="required" form="qualified">
  325. <xs:annotation>
  326. <xs:documentation>Attribute indicating a collapsible part</xs:documentation>
  327. </xs:annotation>
  328. <xs:simpleType>
  329. <xs:restriction base="xs:token">
  330. <xs:enumeration value="0">
  331. <xs:annotation>
  332. <xs:documentation>disabled</xs:documentation>
  333. </xs:annotation>
  334. </xs:enumeration>
  335. <xs:enumeration value="1">
  336. <xs:annotation>
  337. <xs:documentation>enabled</xs:documentation>
  338. </xs:annotation>
  339. </xs:enumeration>
  340. <xs:enumeration value="expanded">
  341. <xs:annotation>
  342. <xs:documentation>enabled and expanded by default</xs:documentation>
  343. </xs:annotation>
  344. </xs:enumeration>
  345. </xs:restriction>
  346. </xs:simpleType>
  347. </xs:attribute>
  348. </xs:attributeGroup>
  349. <xs:attributeGroup name="dbs.style.attribute">
  350. <xs:attribute name="style" use="required" form="qualified">
  351. <xs:annotation>
  352. <xs:documentation>Attribute indicating a formatting style class</xs:documentation>
  353. </xs:annotation>
  354. </xs:attribute>
  355. </xs:attributeGroup>
  356. </xs:schema>