1
0

slides.xml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371
  1. <?xml version='1.0'?>
  2. <dbs:slides xmlns="http://docbook.org/ns/docbook"
  3. xmlns:dbs="http://docbook.org/ns/docbook-slides"
  4. xmlns:xlink="http://www.w3.org/1999/xlink">
  5. <info>
  6. <title>The DocBook Slides Extension</title>
  7. <titleabbrev>DocBook Slides</titleabbrev>
  8. <author>
  9. <personname>
  10. <firstname>Gábor</firstname>
  11. <surname>Kövesdán</surname>
  12. </personname>
  13. <affiliation>
  14. <orgname>The DocBook Project</orgname>
  15. </affiliation>
  16. <email>gabor@kovesdan.org</email>
  17. </author>
  18. <pubdate>3 Aug 2012</pubdate>
  19. <releaseinfo role="version">5.0</releaseinfo>
  20. <copyright>
  21. <year>2012</year>
  22. <holder>Gábor Kövesdán</holder>
  23. </copyright>
  24. </info>
  25. <dbs:foil dbs:style="introduction">
  26. <info>
  27. <title>Introduction</title>
  28. </info>
  29. <para>DocBook Slides ...</para>
  30. <itemizedlist>
  31. <listitem>
  32. <para>is a multi-namespace schema extension
  33. to the original <link xlink:href="http://www.docbook.org/">DocBook</link>
  34. <xref linkend="docbook5"/> schema.</para>
  35. </listitem>
  36. <listitem>
  37. <para>was originally created by
  38. <personname><firstname>Norman</firstname><surname>Walsh</surname></personname>.</para>
  39. </listitem>
  40. <listitem>
  41. <para>and was later redesigned for DocBook 5.0 by
  42. <personname><firstname>Gábor</firstname><surname>Kövesdán</surname></personname>.</para>
  43. </listitem>
  44. </itemizedlist>
  45. <para>This document serves for two purposes:</para>
  46. <itemizedlist>
  47. <listitem>
  48. <para>To explain DocBook Slides.</para>
  49. </listitem>
  50. <listitem>
  51. <para>To serve itself as a test document to demonstrate how
  52. slides are marked up and how different output formats are
  53. rendered.</para>
  54. </listitem>
  55. </itemizedlist>
  56. </dbs:foil>
  57. <dbs:foil>
  58. <info>
  59. <title>Basic Concepts</title>
  60. </info>
  61. <itemizedlist>
  62. <listitem>
  63. <para>DocBook is an XML <xref linkend="w3c-xml"/> grammar to mark up
  64. papers and books and then process them with XML-related standards.
  65. It concentrates on structure and semantics, not layout.</para>
  66. </listitem>
  67. <listitem>
  68. <para>DocBook Slides is an extension for DocBook to create
  69. presentation slides.</para>
  70. </listitem>
  71. <listitem>
  72. <para>By nature, layout is part of a presentation but DocBook Slides
  73. still focuses on structure and semantics.</para>
  74. </listitem>
  75. <listitem>
  76. <para>DocBook Slides uses almost the entire DocBook grammar and
  77. provides only a minimal set of layout-controlling elements.
  78. This keeps is simple and easy to use.</para>
  79. </listitem>
  80. <listitem>
  81. <para>And still, you can copy-paste, use XInclude, etc.</para>
  82. </listitem>
  83. </itemizedlist>
  84. </dbs:foil>
  85. <dbs:foilgroup>
  86. <info>
  87. <title>Features of DocBook Slides</title>
  88. </info>
  89. <para>Let's see some features of DocBook
  90. Slides.</para>
  91. <dbs:foil>
  92. <info>
  93. <title>Using Namespaces</title>
  94. </info>
  95. <para>DocBook Slides uses a separate namespace for its elements.
  96. This has various advantages:</para>
  97. <itemizedlist>
  98. <listitem>
  99. <para>It isolates the extension elements and the original
  100. DocBook schema does not have to know anything about them.</para>
  101. </listitem>
  102. <listitem>
  103. <para>It also avoids name clashes and XML processors can easily
  104. distinguish between the two set of elements.</para>
  105. </listitem>
  106. <listitem>
  107. <para>This modular concept makes it easy to extend the official
  108. stylesheets with specific processing.</para></listitem>
  109. </itemizedlist>
  110. </dbs:foil>
  111. <dbs:foil>
  112. <info>
  113. <title>Easy to Learn</title>
  114. </info>
  115. <para>If you already know and use DocBook, DocBook Slides is for you:</para>
  116. <itemizedlist>
  117. <listitem>
  118. <para>You can use the usual inline and block elements when marking up
  119. your text, you only have to learn a few new markup elements.</para>
  120. </listitem>
  121. <listitem>
  122. <para>Also, you may include DocBook fragments with XInclude.
  123. Imagine an important table that is part of your scientific
  124. paper and you also want to show it on a conference.
  125. You do not have to copy-paste it but you can just have it in
  126. one single file that you later include in both documents.</para>
  127. </listitem>
  128. </itemizedlist>
  129. </dbs:foil>
  130. <dbs:foil>
  131. <info>
  132. <title>Development Status</title>
  133. </info>
  134. <itemizedlist>
  135. <listitem>
  136. <para>DocBook Slides - just like DocBook - is an open source product
  137. and it is under constant development and improvement.</para>
  138. </listitem>
  139. <listitem>
  140. <para>The curently supported output formats are
  141. plain XHTML, S5 XHTML <xref linkend="s5"/>,
  142. W3C HTML Slidy <xref linkend="slidy"/> and XSL FO <xref linkend="w3c-xslfo"/>.
  143. In the future, support for other important
  144. output formats (e.g. HTML5, EPUB) may be added.</para>
  145. </listitem>
  146. </itemizedlist>
  147. </dbs:foil>
  148. </dbs:foilgroup>
  149. <dbs:foilgroup xml:id="introductionary-examples">
  150. <info>
  151. <title>Tutorial Examples</title>
  152. </info>
  153. <para>Let's see some basic examples.</para>
  154. <dbs:foil>
  155. <info>
  156. <title>A Minimal Markup 1</title>
  157. </info>
  158. <informalexample>
  159. <programlisting>&lt;?xml version='1.0'?&gt;
  160. &lt;dbs:slides xmlns="http://docbook.org/ns/docbook"
  161. xmlns:dbs="http://docbook.org/ns/docbook-slides"&gt; <co xml:id="co.slides"/>
  162. &lt;title&gt;Presentation Title&lt;/title&gt; <co xml:id="co.slides.title"/>
  163. </programlisting>
  164. <calloutlist>
  165. <callout arearefs="co.slides">
  166. <para>The root element with proper namespace declarations.</para>
  167. </callout>
  168. <callout arearefs="co.slides.title">
  169. <para>It contains the title but can have more.</para>
  170. </callout>
  171. </calloutlist>
  172. </informalexample>
  173. </dbs:foil>
  174. <dbs:foil>
  175. <info>
  176. <title>A Minimal Markup 2</title>
  177. </info>
  178. <informalexample>
  179. <programlisting>
  180. &lt;dbs:foil&gt; <co xml:id="co.foil"/>
  181. &lt;title&gt;Foil Title&lt;/title&gt;
  182. &lt;para&gt;Foil content&lt;/para&gt; <co xml:id="co.foil.para"/>
  183. &lt;/dbs:foil&gt;
  184. &lt;/dbs:slides&gt;</programlisting>
  185. <calloutlist>
  186. <callout arearefs="co.foil">
  187. <para>At least one foil obligatory.</para>
  188. </callout>
  189. <callout arearefs="co.foil.para">
  190. <para>A foil can contain any block element from DocBook.</para>
  191. </callout>
  192. </calloutlist>
  193. </informalexample>
  194. </dbs:foil>
  195. <dbs:foil>
  196. <info>
  197. <title>The Whole Example</title>
  198. </info>
  199. <para>Let's see the whole markup together:</para>
  200. <informalexample>
  201. <programlisting>&lt;?xml version='1.0'?&gt;
  202. &lt;dbs:slides xmlns="http://docbook.org/ns/docbook"
  203. xmlns:dbs="http://docbook.org/ns/docbook-slides"&gt;
  204. &lt;title&gt;Presentation Title&lt;/title&gt;
  205. &lt;dbs:foil&gt;
  206. &lt;title&gt;Foil Title&lt;/title&gt;
  207. &lt;para&gt;Foil content&lt;/para&gt;
  208. &lt;/dbs:foil&gt;
  209. &lt;/dbs:slides&gt;</programlisting>
  210. </informalexample>
  211. </dbs:foil>
  212. <dbs:foil>
  213. <info>
  214. <title>Grouping Foils</title>
  215. </info>
  216. <para>We can form groups of logical sets of foils and also add some
  217. introductionary text for them. In the rendered forms, these groups
  218. can have a table of contents of the included slides. You can also
  219. see such groups in this presentation.</para>
  220. <informalexample>
  221. <programlisting><![CDATA[<dbs:foilgroup>
  222. <title>Group 1</title>
  223. <para>This is an introduction.</para>
  224. <dbs:foil>
  225. ...
  226. </dbs:foil>
  227. </dbs:foilgroup>]]></programlisting>
  228. </informalexample>
  229. </dbs:foil>
  230. </dbs:foilgroup>
  231. <dbs:foilgroup>
  232. <info>
  233. <title>Markup Examples</title>
  234. </info>
  235. <para>Let's see how to create the particular foils with
  236. DocBook Slides.</para>
  237. <dbs:foil>
  238. <info>
  239. <title>Info Content</title>
  240. </info>
  241. <para>You can wrap the title into the <tag>&lt;info&gt;</tag> element that
  242. comes from the DocBook schema. It also means you can
  243. add the usual authoring information here:</para>
  244. <informalexample>
  245. <programlisting><![CDATA[
  246. <info>
  247. <title>Group 1</title>
  248. <author>
  249. <personname>
  250. <firstname>John</firstname>
  251. <surname>Doe</surname>
  252. </personname>
  253. <affiliation>FooBar Inc.</affiliation>
  254. </author>
  255. <copyright><year>2012</year></copyright>
  256. </info>]]></programlisting>
  257. </informalexample>
  258. </dbs:foil>
  259. <dbs:foil>
  260. <info>
  261. <title>Block Content</title>
  262. </info>
  263. <itemizedlist>
  264. <listitem>
  265. <para>You have access to all of the block content elements in DocBook,
  266. e.g. you can create a simple paragraph with
  267. <code>&lt;para&gt;</code>, just like in DocBook.</para>
  268. </listitem>
  269. <listitem>
  270. <para>Or you can use lists, like <code>&lt;itemizedlist&gt;</code>.</para>
  271. </listitem>
  272. </itemizedlist>
  273. <programlisting>Or &lt;programlisting&gt; with some code or markup inside.</programlisting>
  274. </dbs:foil>
  275. <dbs:foil>
  276. <info>
  277. <title>Inline Content</title>
  278. </info>
  279. <itemizedlist>
  280. <listitem>
  281. <para>Just like block elements, you can also use inline DocBook
  282. elements to mark up your content on your foils.</para>
  283. </listitem>
  284. <listitem>
  285. <para>For example, you can <emphasis>emphasize</emphasis>
  286. something with <tag>&lt;emphasis&gt;</tag> or you
  287. can mark <literal>literal</literal> text as such with
  288. <tag>&lt;literal&gt;</tag>.</para>
  289. </listitem>
  290. <listitem>
  291. <para>By the way, the inline markup citation above is marked up
  292. with <tag>&lt;tag&gt;</tag>.</para>
  293. </listitem>
  294. <listitem>
  295. <para>Apart from these, feel free to use the rest of
  296. the markup elements.</para>
  297. </listitem>
  298. </itemizedlist>
  299. </dbs:foil>
  300. <dbs:foil>
  301. <info>
  302. <title>FAQ Listings</title>
  303. </info>
  304. <qandaset>
  305. <qandaentry>
  306. <question>
  307. <para>What else can I use to make my slides useful
  308. and practical?</para>
  309. </question>
  310. <answer>
  311. <para>You can include some questions and answers with
  312. <tag>&lt;qandaset&gt;</tag> and related elements to answer some
  313. frequently asked questions.</para>
  314. </answer>
  315. </qandaentry>
  316. </qandaset>
  317. </dbs:foil>
  318. <dbs:foil>
  319. <info>
  320. <title>References</title>
  321. </info>
  322. <itemizedlist>
  323. <listitem>
  324. <para>Sometimes you need to add some remarks and some
  325. references to your slide content.</para>
  326. </listitem>
  327. <listitem>
  328. <para>For small remarks, you can use the
  329. <code>&lt;footnote&gt;</code> element to insert a footnote
  330. that will appear on the same foil where it is inserted.</para>
  331. </listitem>
  332. <listitem>
  333. <para>Or for references to external content
  334. - books and websites - you can include one or more
  335. bibliography foils in the end.</para>
  336. </listitem>
  337. <listitem>
  338. <para>On these foils, instead of the usual bulleted points, use the
  339. <code>&lt;bibliography&gt;</code> element and you
  340. will get a nicely formatted reference list.</para>
  341. </listitem>
  342. <listitem>
  343. <para>Use <code>&lt;xref&gt;</code> in the content
  344. to generate a link to the reference entry.</para>
  345. </listitem>
  346. </itemizedlist>
  347. </dbs:foil>
  348. <dbs:foil dbs:incremental="1">
  349. <info>
  350. <title>Incremental Slides</title>
  351. </info>
  352. <itemizedlist>
  353. <listitem>
  354. <para>If you set the <code>dbs:incremental</code> attribute ...</para>
  355. </listitem>
  356. <listitem>
  357. <para>... to <literal>1</literal> on a foil, ...</para>
  358. </listitem>
  359. <listitem>
  360. <para>... then you will get incremental lists, ...</para>
  361. </listitem>
  362. <listitem>
  363. <para>... like this if they are supported in the output format. (XHTML-based)</para>
  364. </listitem>
  365. </itemizedlist>
  366. </dbs:foil>
  367. <dbs:foil dbs:collapsible="1">
  368. <info>
  369. <title>Collapsible Lists</title>
  370. </info>
  371. <para>You can see a collapsible list below (depending on the output
  372. format). Click on the node to expand it.</para>
  373. <orderedlist>
  374. <listitem>
  375. <orderedlist>
  376. <listitem>
  377. <para>If you set the <code>dbs:collapsible</code> attribute ...</para>
  378. </listitem>
  379. <listitem>
  380. <para>... to <literal>1</literal> on a foil, ...</para>
  381. </listitem>
  382. <listitem>
  383. <para>... then you will get collapsible lists, ...</para>
  384. </listitem>
  385. <listitem>
  386. <para>... like this if they are supported in the output format. (Slidy)</para>
  387. </listitem>
  388. </orderedlist>
  389. </listitem>
  390. </orderedlist>
  391. </dbs:foil>
  392. <dbs:foil>
  393. <info>
  394. <title>Building Blocks</title>
  395. </info>
  396. <itemizedlist>
  397. <listitem>
  398. <para>Slides are layout-oriented documents; formatting
  399. is a crucial part of them.</para>
  400. </listitem>
  401. <listitem>
  402. <para>DocBook aims to separate structure and layout but for
  403. Slides sometimes it is not entirely possible, yet the
  404. layout-related markup is tried to be kept minimal.</para>
  405. </listitem>
  406. <listitem>
  407. <para>You can use the <tag>&lt;dbs:block&gt;</tag> element
  408. that will be transformed to a container type in the
  409. generated document (e.g. <tag>&lt;div&gt;</tag> in HTML).</para>
  410. </listitem>
  411. <listitem>
  412. <para>You can also apply the <literal>dbs:style</literal> attribute
  413. to blocks and you can even embed them into each other.</para>
  414. </listitem>
  415. <listitem>
  416. <para>Use CSS or extend the XSLT stylesheets to control
  417. renering of your custom blocks.</para>
  418. </listitem>
  419. </itemizedlist>
  420. </dbs:foil>
  421. <dbs:foil>
  422. <info>
  423. <title>Block Example</title>
  424. </info>
  425. <dbs:block dbs:style="left">
  426. <para>This is the left block.</para>
  427. </dbs:block>
  428. <dbs:block dbs:style="right" dbs:incremental="1">
  429. <para>This is the right block. And it is marked incremental.</para>
  430. </dbs:block>
  431. </dbs:foil>
  432. </dbs:foilgroup>
  433. <dbs:foilgroup>
  434. <title>Images and Formulas</title>
  435. <dbs:foil>
  436. <info>
  437. <title>Incremental Images</title>
  438. </info>
  439. <para>This is only supported in XHTML-based output.</para>
  440. <dbs:block dbs:incremental="1" dbs:style="face_container">
  441. <mediaobject>
  442. <imageobject>
  443. <imagedata dbs:style="face_first" fileref="images/face1.gif"/>
  444. </imageobject>
  445. </mediaobject>
  446. <mediaobject>
  447. <imageobject>
  448. <imagedata dbs:style="face_other" fileref="images/face2.gif"/>
  449. </imageobject>
  450. </mediaobject>
  451. <mediaobject>
  452. <imageobject>
  453. <imagedata dbs:style="face_other" fileref="images/face3.gif"/>
  454. </imageobject>
  455. </mediaobject>
  456. <mediaobject>
  457. <imageobject>
  458. <imagedata dbs:style="face_other" fileref="images/face4.gif"/>
  459. </imageobject>
  460. </mediaobject>
  461. </dbs:block>
  462. </dbs:foil>
  463. <dbs:foil>
  464. <info>
  465. <title>Embedded SVG</title>
  466. </info>
  467. <para>You can embed SVG
  468. <footnote><para>See <uri xlink:href="http://www.w3.org/TR/SVG11/">http://www.w3.org/TR/SVG11/</uri>.</para></footnote>
  469. code, like this:</para>
  470. <programlisting><![CDATA[<svg xml:id="circle"
  471. xmlns="http://www.w3.org/2000/svg"
  472. version="1.1">
  473. <circle cx="100" cy="50" r="40" stroke="black"
  474. stroke-width="2" fill="yellow" />
  475. </svg>]]></programlisting>
  476. <svg xml:id="circle" xmlns="http://www.w3.org/2000/svg" version="1.1">
  477. <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="yellow" />
  478. </svg>
  479. </dbs:foil>
  480. <dbs:foil>
  481. <info>
  482. <title>Embedded MathML</title>
  483. </info>
  484. <para>You can embed MathML
  485. <footnote><para>See <uri xlink:href="http://www.w3.org/TR/MathML3/">http://www.w3.org/TR/MathML3/</uri>.</para></footnote>
  486. code, like this:</para>
  487. <programlisting><![CDATA[<math xml:id="identity-matrix-2dim"
  488. xmlns="http://www.w3.org/1998/Math/MathML">
  489. <matrix>
  490. <matrixrow><cn>1</cn><cn>0</cn></matrixrow>
  491. <matrixrow><cn>0</cn><cn>1</cn></matrixrow>
  492. </matrix>
  493. </math>]]></programlisting>
  494. <math xml:id="identity-matrix-2dim" xmlns="http://www.w3.org/1998/Math/MathML">
  495. <matrix>
  496. <matrixrow><cn>1</cn><cn>0</cn></matrixrow>
  497. <matrixrow><cn>0</cn><cn>1</cn></matrixrow>
  498. </matrix>
  499. </math>
  500. </dbs:foil>
  501. </dbs:foilgroup>
  502. <dbs:foilgroup>
  503. <info>
  504. <title>Presentation</title>
  505. </info>
  506. <dbs:foil>
  507. <info>
  508. <title>Available Formats</title>
  509. </info>
  510. <informaltable>
  511. <tgroup cols="2">
  512. <thead>
  513. <row><entry>Stylesheet</entry><entry>Description.</entry></row>
  514. </thead>
  515. <tbody>
  516. <row>
  517. <entry>xhtml/plain.xsl</entry>
  518. <entry>Single plain XHTML file.</entry>
  519. </row>
  520. <row>
  521. <entry>xhtml/slidy.xsl</entry>
  522. <entry>Single XHTL file in W3C HTML Slidy format.</entry>
  523. </row>
  524. <row>
  525. <entry>xhtml/s5.xsl</entry>
  526. <entry>Single XHTML file in S5 format.</entry>
  527. </row>
  528. <row>
  529. <entry>fo/plain.xsl</entry>
  530. <entry>XSL Formatting Objects for printed output.</entry>
  531. </row>
  532. </tbody>
  533. </tgroup>
  534. </informaltable>
  535. </dbs:foil>
  536. <dbs:foil>
  537. <info>
  538. <title>Plain XHTML</title>
  539. </info>
  540. <itemizedlist>
  541. <listitem>
  542. <para>It is a simple plain <acronym>XHTML</acronym> output with
  543. some classes given on the elements. These let you create your
  544. own CSS stylesheet for the rendering.</para>
  545. </listitem>
  546. <listitem>
  547. <para>It is actually quite similar to the
  548. <acronym>S<superscript>5</superscript></acronym> format with
  549. <acronym>S<superscript>5</superscript></acronym>-specific
  550. parts removed. The objective with this format was simplicity
  551. and <acronym>S<superscript>5</superscript></acronym>
  552. already achieves that quite well but in case you do not want
  553. to use that framework, you can create your own one.</para>
  554. </listitem>
  555. <listitem>
  556. <para>The stylesheet to choose for this format is
  557. <filename>xhtml/plain.xsl</filename>.</para>
  558. </listitem>
  559. </itemizedlist>
  560. </dbs:foil>
  561. <dbs:foil>
  562. <info>
  563. <title>W3C HTML Slidy</title>
  564. </info>
  565. <itemizedlist>
  566. <listitem>
  567. <para>W3C <uri xlink:href="http://www.w3.org/Talks/Tools/Slidy2/">HTML Slidy</uri>
  568. is an XHTML framework for presentations.</para>
  569. </listitem>
  570. <listitem>
  571. <para>It seems mature and well maintained.</para>
  572. </listitem>
  573. <listitem>
  574. <para>HTML Slidy handles well long content. Its formatting
  575. allows more text on a single foil and even if your text
  576. overflows, you can scroll inside the single foil. It also
  577. supports collapsible lists and a JavaScript clock so that you
  578. do not run out of time.</para>
  579. </listitem>
  580. <listitem>
  581. <para>For HTML Slidy, use
  582. <filename>xhtml/slidy.xsl</filename>.</para>
  583. </listitem>
  584. </itemizedlist>
  585. </dbs:foil>
  586. <dbs:foil>
  587. <info>
  588. <title>S5 Format</title>
  589. </info>
  590. <itemizedlist>
  591. <listitem>
  592. <para><acronym xlink:href="http://meyerweb.com/eric/tools/s5/">S<superscript>5</superscript></acronym>
  593. stands for <emphasis>Simple Standards-Based Slide Show System</emphasis>.</para>
  594. </listitem>
  595. <listitem>
  596. <para>It is yet another XHTML-based framework for slideshows, like
  597. HTML Slidy.</para>
  598. </listitem>
  599. <listitem>
  600. <para>Its JavaScript code behaves somewhat differently and it is less
  601. mature.</para>
  602. </listitem>
  603. <listitem>
  604. <para>It supports incremental lists but in general, it is not so
  605. feature-rich as HTML Slidy.</para>
  606. </listitem>
  607. <listitem>
  608. <para>To create your <acronym>S<superscript>5</superscript></acronym>
  609. presentation, pick the
  610. <filename>xhtml/s5.xsl</filename> stylesheet.</para>
  611. </listitem>
  612. </itemizedlist>
  613. </dbs:foil>
  614. <dbs:foil>
  615. <info>
  616. <title>XSL FO Format</title>
  617. </info>
  618. <itemizedlist>
  619. <listitem>
  620. <para>XSL FO is an XML vocabulary to describe how formatted
  621. output is presented.</para>
  622. </listitem>
  623. <listitem>
  624. <para>It is used here as an intermediate format between DocBook Slides
  625. and printable output.</para>
  626. </listitem>
  627. <listitem>
  628. <para>First, generate the XSL FO document.</para>
  629. </listitem>
  630. <listitem>
  631. <para>Then use your XSL FO processor to render your printable
  632. document in PDF, PostScript, etc. depending on the capabilities of
  633. the software you use.</para>
  634. </listitem>
  635. <listitem>
  636. <para>If you need a free processor, take a look at
  637. Apache FOP <xref linkend="fop"/>.</para>
  638. </listitem>
  639. </itemizedlist>
  640. </dbs:foil>
  641. <dbs:foil>
  642. <info>
  643. <title>XSLT Parameters</title>
  644. </info>
  645. <itemizedlist>
  646. <listitem>
  647. <para>The provided stylesheets offer XSLT <xref linkend="w3c-xslt"/> parameters
  648. to adjust some tunables of the output generation.</para>
  649. </listitem>
  650. <listitem>
  651. <para>The parameters are documented in the documentation
  652. that accompanies the DocBook XSL distribution.</para>
  653. </listitem>
  654. <listitem>
  655. <para>All the DocBook Slides stylesheets are extensions of the
  656. original DocBook stylesheets so adjusting their parameters may also
  657. affect your rendered slides.</para>
  658. </listitem>
  659. </itemizedlist>
  660. </dbs:foil>
  661. <dbs:foil>
  662. <info>
  663. <title>Customizations</title>
  664. </info>
  665. <para>Sometimes parameters are not enough and you need to modify
  666. the templates to achieve your goal. Customizations are easy
  667. to create with XSLT.</para>
  668. <orderedlist>
  669. <listitem>
  670. <para>Just pick up a stylesheet that you want to customize.</para>
  671. </listitem>
  672. <listitem>
  673. <para>Create a new, empty stylesheet that imports the original
  674. one.</para>
  675. </listitem>
  676. <listitem>
  677. <para>Override the original templates that do not work
  678. in the way you desire.</para>
  679. </listitem>
  680. <listitem>
  681. <para>Of course, this requires some knowledge in XSLT and
  682. you will need to read the code to see what to override.</para>
  683. </listitem>
  684. </orderedlist>
  685. </dbs:foil>
  686. </dbs:foilgroup>
  687. <dbs:foilgroup>
  688. <info>
  689. <title>Authoring with DocBook Slides 5.0</title>
  690. </info>
  691. <dbs:foil>
  692. <info>
  693. <title>Choosing a Validator</title>
  694. </info>
  695. <itemizedlist>
  696. <listitem>
  697. <para>Once you have some slides marked up in DocBook Slides,
  698. you probably want to make sure your markup is valid. Otherwise,
  699. it is not guaranteed that the output will be generated properly.
  700. For this, you need a validator.</para>
  701. </listitem>
  702. <listitem>
  703. <para>The DocBook Slides schema is described in the RELAX-NG grammar language.</para>
  704. </listitem>
  705. <listitem>
  706. <para>The recommended RELAX-NG validator is
  707. <application>jing</application> <xref linkend="jing"/>.</para>
  708. </listitem>
  709. <listitem>
  710. <para>Alternatively, you can use <application>Emacs/nXML</application>
  711. with the supplied <filename>locatingrules.xml</filename> file.</para>
  712. </listitem>
  713. </itemizedlist>
  714. <warning>
  715. <para>The RELAX-NG validation in the xmllint program from libxml2 is known to have
  716. bugs and does not work correctly with DocBook Slides.</para>
  717. </warning>
  718. </dbs:foil>
  719. <dbs:foil>
  720. <info>
  721. <title>Validating Slides</title>
  722. </info>
  723. <itemizedlist>
  724. <listitem>
  725. <para>With <command>jing</command>, run:
  726. <userinput>jing ~/docbook-slides/slides.rng foo.xml</userinput>.</para>
  727. </listitem>
  728. <listitem>
  729. <para>For <application>Emacs/nXML</application>, you can put the following into
  730. your <filename>emacs.conf</filename>:</para>
  731. <programlisting>
  732. (setq rng-schema-locating-files
  733. (append
  734. '("~/docbook-slides/locatingrules.xml")))</programlisting>
  735. <para>Or you can do <userinput>M-x customize-variable rng-schema-locating-files</userinput>
  736. and then add the absolute path to the file.</para>
  737. </listitem>
  738. </itemizedlist>
  739. </dbs:foil>
  740. <dbs:foil>
  741. <info>
  742. <title>Transforming DocBook Slides Documents</title>
  743. </info>
  744. <itemizedlist>
  745. <listitem>
  746. <para>You need an XSLT processor to transform the documents.
  747. For example, you can use either <command>xsltproc</command> from
  748. <application>libxslt</application> <xref linkend="libxslt"/>, <application>Xalan</application>
  749. or <application>Saxon</application>.</para>
  750. </listitem>
  751. <listitem>
  752. <para>It is recommended to use <command>xsltproc</command>, since
  753. it is significantly faster than the other two and the DocBook Slides
  754. stylesheets were also tested with it.</para>
  755. </listitem>
  756. <listitem>
  757. <para>Pick the proper stylesheet for your chosen output format.
  758. For example, it is <filename>xhtml/slidy.xsl</filename> for
  759. HTML Slidy.</para>
  760. </listitem>
  761. <listitem>
  762. <para>Type: <userinput>xsltproc xsl/slides/xhtml/slidy.xsl foo.xml &gt; foo.html</userinput></para>
  763. </listitem>
  764. </itemizedlist>
  765. </dbs:foil>
  766. <dbs:foil>
  767. <info>
  768. <title>Rendering Printable Output</title>
  769. </info>
  770. <itemizedlist>
  771. <listitem>
  772. <para>First create the XSL FO document with XSLT:
  773. <userinput>xsltproc xsl/slides/fo/plain.xsl foo.xml &gt; foo.fo</userinput></para>
  774. </listitem>
  775. <listitem>
  776. <para>Then use your XSL FO processor to render the final document.</para>
  777. </listitem>
  778. <listitem>
  779. <para>For example, to render a PDF with Apache FOP, type:
  780. <userinput>fop foo.fo foo.pdf</userinput></para>
  781. </listitem>
  782. </itemizedlist>
  783. </dbs:foil>
  784. </dbs:foilgroup>
  785. <dbs:foilgroup>
  786. <info>
  787. <title>DocBook Slides Limitations</title>
  788. </info>
  789. <dbs:foil>
  790. <info>
  791. <title>Foil Content</title>
  792. </info>
  793. <para>Creating slides is quite different from creating
  794. papers and books.</para>
  795. <itemizedlist>
  796. <listitem>
  797. <para>Presentational slide are layout-oriented by nature as opposed to DocBook, which is
  798. structure-oriented. The content of the foil must fit but there
  799. is no easy way to detect this so this should be checked
  800. and controlled manually.</para>
  801. </listitem>
  802. <listitem>
  803. <para>Formatting of slide content is not necessarily consistent but part
  804. of the design of each foil and illustration used in
  805. the presentation, while an important principle of
  806. DocBook is separating content and styling. To achieve
  807. something very unique, you will probably need heavy
  808. customization.</para>
  809. </listitem>
  810. </itemizedlist>
  811. </dbs:foil>
  812. <dbs:foil>
  813. <info>
  814. <title>Animations and Sound Effects</title>
  815. </info>
  816. <para>DocBook was invented for mostly printed or web
  817. content, while slides are rarely presented in a
  818. printed form.</para>
  819. <itemizedlist>
  820. <listitem>
  821. <para>Slides are usually shown on computer screen or
  822. projector and may heavily use animated or audio content
  823. to support the presentations.</para>
  824. </listitem>
  825. <listitem>
  826. <para>Most of the possible output formats are usually
  827. used in printed form or on the web. The first lacks
  828. the possibility of animated and audio content and the
  829. second one lacks good open standards for doing so.</para>
  830. </listitem>
  831. <listitem>
  832. <para>Maybe a future HTML5 or OpenDocument support
  833. can bring in some new features but for now, you cannot
  834. really use animations and sound.</para>
  835. </listitem>
  836. </itemizedlist>
  837. </dbs:foil>
  838. </dbs:foilgroup>
  839. <dbs:foilgroup>
  840. <info>
  841. <title>Frequently Asked Questions</title>
  842. </info>
  843. <dbs:foil>
  844. <info>
  845. <title>Compatibility</title>
  846. </info>
  847. <qandaset>
  848. <qandaentry>
  849. <question>
  850. <para>Is DocBook Slides 5.0 stylesheets compatible with
  851. older versions of DocBook Slides or vice versa?</para>
  852. </question>
  853. <answer>
  854. <para>Not at all, since it is heavily redesigned. But
  855. you can find an XSLT transformation in the
  856. <filename class="directory">tools/</filename>
  857. directory, which can convert your slides to the new
  858. schema.</para>
  859. </answer>
  860. </qandaentry>
  861. </qandaset>
  862. </dbs:foil>
  863. <dbs:foil>
  864. <info>
  865. <title>Contribution</title>
  866. </info>
  867. <qandaset>
  868. <qandaentry>
  869. <question>
  870. <para>Can I contribute to the schema or to the stylesheets?</para>
  871. </question>
  872. <answer>
  873. <para>Of course, any contribution that can be useful for
  874. other users and fits the concept of DocBook Slides
  875. is more than welcome.</para>
  876. </answer>
  877. </qandaentry>
  878. <qandaentry>
  879. <question>
  880. <para>What to do with my contribution?</para>
  881. </question>
  882. <answer>
  883. <para>Please first ask review on
  884. the <link xlink:href="mailto:docbook-apps@lists.oasis-open.org">docbook-apps
  885. mailing list</link> and users and other developers will tell you
  886. what to improve and how to submit your work for inclusion.</para>
  887. </answer>
  888. </qandaentry>
  889. </qandaset>
  890. </dbs:foil>
  891. <dbs:foil>
  892. <info>
  893. <title>Help</title>
  894. </info>
  895. <qandaset>
  896. <qandaentry>
  897. <question>
  898. <para>How can I get help in using the schema and the
  899. accompanying stylesheets?</para>
  900. </question>
  901. <answer>
  902. <para>There is a
  903. <link xlink:href="mailto:docbook-apps@lists.oasis-open.org">docbook-apps
  904. mailing list</link> for general questions on DocBook and related
  905. technologies. There are numerous users and developers subscribed to
  906. this list, so probably you can get help there.</para>
  907. </answer>
  908. </qandaentry>
  909. </qandaset>
  910. </dbs:foil>
  911. </dbs:foilgroup>
  912. <dbs:foilgroup>
  913. <info>
  914. <title>Mini-Reference</title>
  915. </info>
  916. <para>Here you have the short and informal description of the DocBook
  917. Slides elements. It is not meant to be a full and formalized
  918. referenced but rather a cheatsheet to look at.</para>
  919. <dbs:foil>
  920. <info>
  921. <title>dbs:slides</title>
  922. </info>
  923. <itemizedlist>
  924. <listitem>
  925. <para><emphasis>May contain:</emphasis> db:title, db:titleabbrev,
  926. db:subtitle, db:info, dbs:foilgroup, dbs:foil</para>
  927. </listitem>
  928. <listitem>
  929. <para><emphasis>Usage:</emphasis> It is the root element that encloses the authoring
  930. info and the particular foils that may be grouped to foil
  931. groups.</para>
  932. </listitem>
  933. </itemizedlist>
  934. </dbs:foil>
  935. <dbs:foil>
  936. <info>
  937. <title>dbs:foilgroup</title>
  938. </info>
  939. <itemizedlist>
  940. <listitem>
  941. <para><emphasis>May contain:</emphasis> db:title, db:titleabbev,
  942. db:subtitle, db:info, [block content], dbs:foil, dbs:speakernotes,
  943. dbs:handoutnotes</para>
  944. </listitem>
  945. <listitem>
  946. <para><emphasis>Usage:</emphasis> It groups together various foils. It can have its own info
  947. section and an optional introductionary text. Depending on your XSLT
  948. parameters, it may generate a table of contents of enclosed foils.
  949. Its usage is not obligatory but may be very useful for grouping together
  950. logically related foils. It may have some speaker notes and handout notes, as well.</para>
  951. </listitem>
  952. </itemizedlist>
  953. </dbs:foil>
  954. <dbs:foil>
  955. <info>
  956. <title>dbs:foil</title>
  957. </info>
  958. <itemizedlist>
  959. <listitem>
  960. <para><emphasis>May contain:</emphasis> db:title, db:titleabbev,
  961. db:subtitle, db:info, [block content], dbs:speakernotes,
  962. dbs:handoutnotes</para>
  963. </listitem>
  964. <listitem>
  965. <para><emphasis>Usage:</emphasis> It marks up a single foil. Use
  966. DocBook block elements to mark up your content. It may have some speaker
  967. notes and handout notes, as well.</para>
  968. </listitem>
  969. </itemizedlist>
  970. </dbs:foil>
  971. <dbs:foil>
  972. <info>
  973. <title>dbs:block</title>
  974. </info>
  975. <itemizedlist>
  976. <listitem>
  977. <para><emphasis>May contain:</emphasis> [block content]</para>
  978. </listitem>
  979. <listitem>
  980. <para><emphasis>Usage:</emphasis> It divides the content into layout units
  981. that can later processed in a specific way.</para>
  982. </listitem>
  983. </itemizedlist>
  984. </dbs:foil>
  985. <dbs:foil>
  986. <info>
  987. <title>dbs:speakernotes</title>
  988. </info>
  989. <itemizedlist>
  990. <listitem>
  991. <para><emphasis>May contain:</emphasis> [block content]</para>
  992. </listitem>
  993. <listitem>
  994. <para><emphasis>Usage:</emphasis> Notes that are not meant to be presented to
  995. the audience but to the speaker.</para>
  996. </listitem>
  997. </itemizedlist>
  998. </dbs:foil>
  999. <dbs:foil>
  1000. <info>
  1001. <title>dbs:handoutnotes</title>
  1002. </info>
  1003. <itemizedlist>
  1004. <listitem>
  1005. <para><emphasis>May contain:</emphasis> [block content]</para>
  1006. </listitem>
  1007. <listitem>
  1008. <para><emphasis>Usage:</emphasis> Notes that are not to accompany
  1009. printed slides.</para>
  1010. </listitem>
  1011. </itemizedlist>
  1012. </dbs:foil>
  1013. <dbs:foil>
  1014. <info>
  1015. <title>Attribute dbs:incremental</title>
  1016. </info>
  1017. <itemizedlist>
  1018. <listitem>
  1019. <para><emphasis>Usage:</emphasis> Makes the content incremental.
  1020. Allowed on any element and inherited to child elements
  1021. but not applicable everywhere and its effect depends on the output
  1022. format.</para>
  1023. </listitem>
  1024. </itemizedlist>
  1025. </dbs:foil>
  1026. <dbs:foil>
  1027. <info>
  1028. <title>Attribute dbs:collapsible</title>
  1029. </info>
  1030. <itemizedlist>
  1031. <listitem>
  1032. <para><emphasis>Usage:</emphasis> Makes the content collapsible.
  1033. Allowed on any element and inherited to child elements
  1034. but not applicable everywhere and its effect depends on the output
  1035. format.</para>
  1036. </listitem>
  1037. </itemizedlist>
  1038. </dbs:foil>
  1039. <dbs:foil>
  1040. <info>
  1041. <title>Attribute dbs:style</title>
  1042. </info>
  1043. <itemizedlist>
  1044. <listitem>
  1045. <para><emphasis>Usage:</emphasis> Classifies the given element
  1046. to a specific formatting class. Typically applicable to foils,
  1047. foilgroups and mediaobject. Allowed anywhere but not processed
  1048. everywhere. In HTML it naturally maps to the <literal>class</literal>
  1049. attribute.</para>
  1050. </listitem>
  1051. </itemizedlist>
  1052. </dbs:foil>
  1053. </dbs:foilgroup>
  1054. <dbs:foil>
  1055. <info>
  1056. <title>Related Standards</title>
  1057. </info>
  1058. <bibliography>
  1059. <title>Related Standards</title>
  1060. <biblioentry xml:id="w3c-xml">
  1061. <title>Extensible Markup Language (XML)</title>
  1062. <org>
  1063. <orgname>W3C</orgname>
  1064. </org>
  1065. <bibliosource class="uri" xlink:href="http://www.w3.org/TR/REC-xml/">http://www.w3.org/TR/REC-xml/</bibliosource>
  1066. </biblioentry>
  1067. <biblioentry xml:id="docbook5">
  1068. <title>The DocBook Schema Version 5.0</title>
  1069. <org>
  1070. <orgname>OASIS</orgname>
  1071. </org>
  1072. <bibliosource class="uri" xlink:href="http://docs.oasis-open.org/docbook/specs/docbook-5.0-spec-os.html">http://docs.oasis-open.org/docbook/specs/docbook-5.0-spec-os.html</bibliosource>
  1073. </biblioentry>
  1074. <biblioentry xml:id="w3c-xslt">
  1075. <title>XSL Transformations (XSLT) Version 1.0</title>
  1076. <org>
  1077. <orgname>W3C</orgname>
  1078. </org>
  1079. <bibliosource class="uri" xlink:href="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</bibliosource>
  1080. </biblioentry>
  1081. <biblioentry xml:id="w3c-xslfo">
  1082. <title>Extensible Stylesheet Language (XSL) Version 1.1</title>
  1083. <org>
  1084. <orgname>W3C</orgname>
  1085. </org>
  1086. <bibliosource class="uri" xlink:href="http://www.w3.org/TR/xsl/">http://www.w3.org/TR/xsl/</bibliosource>
  1087. </biblioentry>
  1088. </bibliography>
  1089. </dbs:foil>
  1090. <dbs:foil>
  1091. <info>
  1092. <title>Supported HTML Presentation Frameworks</title>
  1093. </info>
  1094. <bibliography>
  1095. <title>Supported HTML Presentation Frameworks</title>
  1096. <biblioentry xml:id="s5">
  1097. <title>S<superscript>5</superscript></title>
  1098. <subtitle>A Simple Standards-Based Slide Show System</subtitle>
  1099. <bibliosource class="uri" xlink:href="http://meyerweb.com/eric/tools/s5/">http://meyerweb.com/eric/tools/s5/</bibliosource>
  1100. </biblioentry>
  1101. <biblioentry xml:id="slidy">
  1102. <title>HTML Slidy</title>
  1103. <subtitle>Slide Shows in HTML and XHTML</subtitle>
  1104. <bibliosource class="uri" xlink:href="www.w3.org/Talks/Tools/Slidy2/">www.w3.org/Talks/Tools/Slidy2/</bibliosource>
  1105. </biblioentry>
  1106. </bibliography>
  1107. </dbs:foil>
  1108. <dbs:foil>
  1109. <info>
  1110. <title>Recommended Tools</title>
  1111. </info>
  1112. <bibliography>
  1113. <title>Recommended Tools</title>
  1114. <biblioentry xml:id="jing">
  1115. <title>Jing RELAX-NG validator</title>
  1116. <bibliosource class="uri" xlink:href="http://www.thaiopensource.com/relaxng/jing.html">http://www.thaiopensource.com/relaxng/jing.html</bibliosource>
  1117. </biblioentry>
  1118. <biblioentry xml:id="libxslt">
  1119. <title>libxslt</title>
  1120. <subtitle>The XSLT C library for GNOME</subtitle>
  1121. <bibliosource class="uri" xlink:href="http://xmlsoft.org/xslt/">http://xmlsoft.org/xslt/</bibliosource>
  1122. </biblioentry>
  1123. <biblioentry xml:id="fop">
  1124. <title>Apache FOP</title>
  1125. <bibliosource class="uri" xlink:href="http://xmlgraphics.apache.org/fop/">http://xmlgraphics.apache.org/fop/</bibliosource>
  1126. </biblioentry>
  1127. </bibliography>
  1128. </dbs:foil>
  1129. </dbs:slides>