source: stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/doc/slides.xml@ 112db9d

7.5-systemd 7.6-systemd 7.7-systemd 7.8-systemd 7.9-systemd
Last change on this file since 112db9d was b1a51ac1, checked in by Krejzi <krejzi@…>, 11 years ago

Import new branch

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10389 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

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