<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: xslidy.xml 237 2007-02-08 08:17:13Z dret $ -->
<!-- XSLidy documentation (written in XSLidy), please visit http://dret.net/projects/xslidy/ for more information. -->
<?xml-stylesheet type="text/xsl" href="xslidy.xsl"?>
<?xslidy counter-separator=": " ?>
<?xslidy counter-format="full" ?>
<?xslidy extension-file="html" ?>
<?xslidy extension-link="" ?>
<?xslidy img-path="img" ?>
<?xslidy link-author="http://dret.net/netdret/" ?>
<?xslidy link-contents=".." ?>
<?xslidy link-glossary="http://dret.net/glossary/" ?>
<?xslidy link-home=".." ?>
<?xslidy listing-class="listing" ?>
<?xslidy listing-path="." ?>
<?xslidy outline-class="slanty" ?>
<?xslidy outline-title="Outline" ?>
<?xslidy outlink-mark="a" ?>
<?xslidy outlink-style="class(outlink)" ?>
<?xslidy part-slide-count="all" ?>
<?xslidy part-slide-text=" (*)" ?>
<?xslidy slidy-prefix="slidy/" ?>
<?xslidy style-uri="slidy/w3c-blue.css" ?>
<?xslidy xslidy-prefix="." ?>
<xslidy version="0.5" xmlns="http://dret.net/xmlns/xslidy/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://dret.net/xmlns/xslidy/1 xslidy.xsd" xml:lang="en">
	<title short="XSLidy">XSLidy — Slidy Slideshow Generator</title>
	<author short="E. Wilde"><a href="http://dret.net/netdret/">Erik Wilde</a></author>
	<affiliation short="iSchool/UCB"><a href="http://www.sims.berkeley.edu/" title="School of Information">iSchool</a>, <a href="http://www.berkeley.edu/" title="UC Berkeley">UCB</a></affiliation>
	<date short="08/2006">August 2006</date>
	<copyright>2006 Erik Wilde</copyright>
	<layout src="layout.xml">
		<class id="slanty">
			<img src="slidy/w3c-logo-slanted.jpg" alt="slanted W3C logo"/>
		</class>
	</layout>
	<index name="index.html">
		<category element="elem" class="elem"/>
		<category element="param" class="code"/>
		<category element="css" class="css"/>
		<category element="pi" class="pi"/>
		<category element="attr" class="code"/>
		<category element="key" class="key"/>
	</index>
	<toc id="html-toc" name="toc.html">
		<table cellpadding="5">
			<for-each-presentation>
				<tr>
					<th align="right" valign="top"><presentation-link prefix="latest/"><title/></presentation-link><br/><slides>(* Slides)</slides></th>
					<td align="left" valign="top"><toc/></td>
				</tr>
			</for-each-presentation>
		</table>
	</toc>
	<style type="text/css">
pre { white-space: pre-wrap ; white-space: -moz-pre-wrap ; white-space: -pre-wrap ; white-space: -o-pre-wrap; word-wrap: break-word ; }
.code , .css, .elem, .pi { font-family: monospace ; }
.outlink:before { content : "↗ " ; }
.elem:before { content : "\3c" ; }
.elem:after { content : "\3e" ; }
.pi:before { content : "\3c?" ; }
.pi:after { content : "?\3e" ; }
.key:before { content : open-quote ; }
.key:after { content : close-quote ; }
	</style>
	<presentation id="intro" cover="slidycover">
		<title short="Introduction">XSLidy Introduction</title>
		<toc id="html-toc">This is an introductory presentation shortly describing why XSLidy has been created and how it works. If you are not interested in details, this might be a good place to start reading.</toc>
		<part id="motivation">
			<title>Motivation</title>
			<slide>
				<title>What's the Problem?</title>
				<list>
					<li>Popular use case are lectures and courses</li>
					<li>Layouts should be applied to a set of presentations</li>
					<li>Presentations should be interlinked (presentations as hypertexts)</li>
					<li>Structuring (possibly nested) is necessary for better presentations</li>
					<li>Additional features may be necessary to better support authors</li>
				</list>
				<p>Complex presentations require a lot of effort to create and maintain them anyway, so why not go all the way? <em>Content Management</em> has become popular for HTML quite a while ago (and for very good reasons!), why not apply the same principles to presentation material?</p>
			</slide>
			<slide id="motivation">
				<title>Motivation</title>
				<ul>
					<li>Presentation programs often are based on a <q>sales pitch</q> perspective</li>
					<ul>
						<li>it is important to have fancy layouts and animations</li>
						<li>it is important to be able to quickly put together a presentation</li>
						<li>it is not important to be able to manage complex presentations</li>
						<li>it is not important to support presentations as evolving content</li>
					</ul>
					<li>Current solutions for creating presentations are not satisfying</li>
					<list>
						<li>they are purely based on a presentation perspective</li>
						<li>tools for a content perspective are hard to find</li>
					</list>
				</ul>
			</slide>
			<slide id="powerpoint-problems">
				<title>Why not PowerPoint? Or OpenOffice?</title>
				<list>
					<li>PowerPoint is well supported in the Windows world</li>
					<li>OpenOffice for non-Office and/or non-Windows environments</li>
					<list>
						<li>PowerPoint ↔ OpenOffice can have surprising results</li>
						<li>for non-trivial presentations, PowerPoint is a lock-in product</li>
					</list>
					<li>PowerPoint produces inaccessible presentations</li>
					<list>
						<li>they can be presented only with proprietary software</li>
						<li>they cannot be searched or reused</li>
						<li>publishing as PDF is possible but not a good solution</li>
					</list>
					<li>Managing sets of presentations is not supported</li>
					<list>
						<li>a very frequent use case for lectures and courses</li>
						<li>layout changes have to re-applied to multiple presentations</li>
						<li>keeping presentation sets consistent over time is hard work</li>
					</list>
				</list>
			</slide>
			<slide id="slidy-problems">
				<title>Why not Slidy? Or S<sup>5</sup>?</title>
				<list>
					<li>Web-based presentation tools are a big step in the right direction</li>
					<list>
						<li>they provide directly publishable and accessible information</li>
					</list>
					<li><a href="http://www.w3.org/Talks/Tools/Slidy/">Slidy</a> and <a href="http://www.meyerweb.com/eric/tools/s5/">S<sup>5</sup></a> are the two most popular packages</li>
					<list>
						<li>developed independently</li>
						<li>both using standards-compliant CSS and JavaScript for presentation features</li>
						<li>they work well with most modern browsers</li>
					</list>
					<li>Managing sets of presentations is not supported</li>
					<list>
						<li>a very frequent use case for lectures and courses</li>
						<li>layout changes have to be re-applied to multiple presentations</li>
						<li>keeping presentation sets consistent over time is hard work</li>
					</list>
				</list>
			</slide>
			<slide id="xslidy-solution">
				<title>XSLidy to the Rescue!</title>
				<list>
					<li>Creating HTML by hand often is not a good idea</li>
						<list>
							<li>Content Management Systems (CMS) provide better publishing support</li>
							<li>XSLidy can be regarded as CMS for Slidy as the target format</li>
							<li>Slidy code is never edited, it is always generated</li>
						</list>
					<li>XSLidy adds XSLT's power to Slidy's elegance</li>
					<list>
						<li>presentations are more than just a bunch of slides (they have structure)</li>
						<li>based on this structure, it is possible to create better presentations</li>
						<li>XSLidy automates what would be manual labor in Slidy</li>
					</list>
					<li>XSLidy is not a part of Slidy, it is a separate layer</li>
					<list>
						<li>generated files are regular Slidy files and can be used without XSLidy</li>
						<li>XSLidy content is a mixture of XSLidy elements and HTML content</li>
					</list>
				</list>
			</slide>
			<slide id="xslidy-solution">
				<title>XSLidy Requirements</title>
				<list>
					<li>XSLidy should:</li>
					<list>
						<li>support people frequently dealing with large and complex presentations</li>
						<li>produce <q>good</q> Slidy code leveraging available Slidy features</li>
						<li>avoid redundancies across the whole presentation set whenever possible</li>
						<li>enable cross-presentation linking</li>
						<li>use a reasonably simple schema so that it is not a lock-in solution</li>
					</list>
					<li>XSLidy does not have to:</li>
					<list>
						<li>provide support for advanced layout beyond Slidy's capabilities</li>
						<li>provide built-in mechanisms for producing results on paged media</li>
					</list>
				</list>
			</slide>
		</part>
		<part>
			<title>XSLidy Overview</title>
			<slide>
				<title>The Big Picture</title>
				<list>
					<li>A Slidy layout is required as a starting point</li>
					<list>
						<li>the default W3C Slidy layout or any other Slidy layout is usable</li>
						<li>maybe extended by a layout for <link href="outline-control">outline slides</link></li>
					</list>
					<li>Creating content can be done using any XML editor</li>
					<list>
						<li>most content will be XHTML, structured by (i.e., contained in) <link href="xslidy-elements"/></li>
					</list>
					<li>The complete presentation is one XML document</li>
					<list>
						<li>XML editors with good outline features make editing much easier</li>
						<li>having everything in one document makes it easy to generate a consistent set of presentations</li>
					</list>
					<li>After any change to the XSLidy document, everything must be regenerated</li>
					<list>
						<li>required to keep <link href="links">cross-presentation links</link> up-to-date</li>
						<li>not expensive in terms of time and space (existing files will be replaced)</li>
					</list>
				</list>
			</slide>
			<slide>
				<title>Creating XSLidy Content</title>
				<list>
					<li>Knowledge of HTML is required (most content is HTML)</li>
					<list>
						<li>most content will use a very small set of HTML element</li>
						<li>some HTML constructs can be replaced with special <link href="xhtml-helpers">XSLidy elements</link></li>
					</list>
					<li>Knowledge of XHTML is a plus</li>
					<list>
						<li>XSLidy only accepts XML, so HTML must be entered as XHTML</li>
						<li>moving from HTML to XHTML is easy (some minor syntax issues)</li>
					</list>
					<li>Knowledge of Slidy is a plus</li>
					<list>
						<li>XSLidy generates Slidy content from the XSLidy source</li>
						<li>if only existing presentation styles are being used, Slidy can be left alone</li>
						<li>creating new presentation styles requires advanced Slidy wizardry</li>
					</list>
				</list>
			</slide>
			<slide>
				<title>How XSLidy Content Looks</title>
				<list>
					<li>XSLidy does hide Slidy from the user</li>
					<li>XSLidy does not hide XHTML from the user</li>
					<li>Content is a mixture of XSLidy content and XHTML</li>
					<list>
						<li>XSLidy content is processed and mapped to Slidy-specific XHTML</li>
						<li>XHTML content is copied through (more or less) unaltered</li>
					</list>
					<li>In theory, XSLidy and XHTML are different namespaces</li>
					<list>
						<li>XSLidy documents should use the XSLidy and the XHTML namespace</li>
						<li>most people do not like dealing with namespaces very much</li>
						<li>unknown XSLidy elements are assumed to be (and thus mapped to) XHTML elements</li>
					</list>
				</list>
			</slide>
				<slide id="xslidy-example">
				<title>XSLidy Example</title>
				<pre><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<?xslidy part-slide-count="all" ?>
<?xslidy part-slide-text=" (*)" ?>
<?xslidy slidy-prefix="slidy/" ?>
<?xslidy style-uri="slidy/w3c-blue.css" ?>
<?xslidy xslidy-prefix="." ?>
<xslidy xmlns="http://dret.net/xmlns/xslidy/1" xml:lang="en">
 <title short="XSLidy">XSLidy — Slidy Slideshow Generator</title>
 <author><a href="http://dret.net/netdret/">Erik Wilde</a></author>
 <layout src="layout.xml"/>
 <toc id="html-toc" name="toc.html">
  <table><for-each-presentation>
   <tr><th><presentation-link><title/></presentation-link><br/><slides>(* Slides)</slides></th></th></tr>   
  </for-each-presentation></table> 
 </toc>
 <style type="text/css">
  pre { white-space: pre-wrap ; word-wrap: break-word }
 </style>
 <presentation id="intro" cover="slidycover">
  <title short="Introduction">XSLidy Introduction</title>
  <toc id="html-toc">This is an introductory presentation …</toc>
   <part id="motivation">
    <title>Motivation</title>
     <slide>
      <title>What's the Problem?</title>
      <list>
       <li>Popular use case are lectures and courses</li>]]></pre>
				</slide>
				<slide>
				<title>Processing XSLidy Content</title>
				<list>
					<li>XSLidy is an XSLT 2.0 program (a.k.a. stylesheet)</li>
					<li>The input is an XML document according to the XSLidy XML Schema</li>
					<list>
						<li>which may refer to other XSLidy files or styles (<link href="styles">XSLidy</link> or Slidy)</li>
					</list>
					<li>The output is a set of Slidy XHTML presentations</li>
					<list>
						<li>and an optional presentation navigator (an HTML snippet)</li>
					</list>
					<li>XSLidy is designed for reusable content and accessible presentations</li>
					<list>
						<li>XML as source means easy to generate and process</li>
						<li>Slidy XHTML as output means accessible and portable presentations</li>
					</list>
					<li>Detailed information available at: <link href="setup"/>
					</li>
				</list>
			</slide>
		</part>
		<slide>
			<title>Conclusions</title>
			<list>
				<li>XSLidy is probably not interesting for you if you …</li>
				<list>
					<li>… want to use a graphical user interface</li>
					<li>… have small and not heavily structured presentations</li>
				</list>
				<li>XSLidy is probably interesting for you if you …</li>
				<list>
					<li>… can live with manually creating XML</li>
					<li>… are capable of running a Java program</li>
					<li>… routinely deal with large and complex presentations</li>
				</list>
				<li>If you think XSLidy is good, but not good enough …</li>
				<list>
					<li>… then you can easily write your own <link href="extensions"/></li>
				</list>
				<li>Available at <code><a href="http://dret.net/projects/xslidy/">http://dret.net/projects/xslidy/</a></code>
				</li>
			</list>
		</slide>
	</presentation>
	<presentation id="manual" cover="slidycover">
		<title short="Manual">XSLidy User's Manual</title>
		<toc id="html-toc">The XSLidy User's Manual describes everything there is to know about XSLidy. It may not be as complete as it should be, but there always is the XSLidy documentation XML which uses all features and can be used as a template for your own experiments with XSLidy.</toc>
		<slide>
			<title>Preface</title>
			<p>This user's manual is an attempt to make the work invested in XSLidy accessible to more than just the people involved in the planning and programming of XSLidy. So if you find any errors, omissions, or other good candidates for improvements, your feedback is very welcome. As usual, the most valuable feedback is constructive criticism, stating what you found that could be improved, and how to would suggest to improve it. Please note that XSLidy is a by-product of trying to use non-proprietary ways of managing presentations and the resulting frustration, and not a professional product.</p>
			<p>Thanks to Philippe Cattin for all the discussions (mostly while running), ideas, and test drives of my code!</p>
		</slide>
		<part id="setup">
			<title short="Setup">Setting up and Using XSLidy</title>
			<slide>
				<title>Getting and Running XSLidy</title>
				<list>
					<li>XSLidy is implemented in XSLT 2.0 as a single XSLT stylesheet</li>
					<list>
						<li>get the <link href="download">XSLidy XSLT program</link></li>
					</list>
					<li>There also is an XML Schema defining XSLidy's elements</li>
					<list>
						<li>get the <link href="download">XSLidy XML Schema</link></li>
						<li>the schema will not find all errors, but at least some of them</li>
					</list>
					<li>You can also get everything in a <link href="download">single ZIP file</link></li>
					<list>
						<li>the ZIP contains the XSLT and the XML Schema</li>
						<li>as well as the complete contents <a href="./">of the XSLidy Web page</a></li>
					</list>
					<li>For running XSLidy, you need an <a href="http://www.w3.org/TR/xslt20/">XSLT 2.0</a> processor</li>
					<list>
						<li>XSLT 2.0 is still under development (but almost finished)</li>
						<li><a href="http://saxon.sourceforge.net/">Saxon</a> is a freely available implementation</li>
						<li>for running Saxon, a <a href="http://java.sun.com/javase/downloads/index.jsp">Java runtime environment</a> is required (1.5 or higher recommended)</li>
					</list>
				</list>
			</slide>
			<slide>
				<title>Input</title>
				<list>
					<li>The input is an XML document according to the XSLidy XML Schema</li>
					<list>
						<li>this is the <a href="xslidy.xml">XSLidy XML</a> which created this presentation</li>
						<li>basically, XSLidy files are a mix of XSLidy markup and XHTML markup</li>
					</list>
					<li>The <a href="xslidy.xsd">XSLidy XML Schema</a> can be used to validate the input</li>
					<list>
						<li>an XML Schema processor is required to perform this validation</li>
						<li>validation will find some, but not all errors (strange things may still occur)</li>
					</list>
				</list>
			</slide>
			<slide>
				<title>Output</title>
				<list>
					<li>The output is a set of Slidy XHTML presentations</li>
					<list>
						<li>and an optional <link href="toc">presentation navigator</link> (an HTML snippet)</li>
					</list>
					<li>The generated Slidy presentations need an environment to work properly</li>
					<list>
						<li>a Slidy installation containing the <a href="slidy/slidy.css">Slidy CSS</a> and <a href="slidy/slidy.js">JavaScript</a></li>
						<li>layout definitions to control how individual slides are displayed</li>
					</list>
				</list>
			</slide>
		</part>
		<part id="xslidy-parameters">
			<title short="parameters">XSLidy Parameters</title>
			<slide>
				<title>XSLidy Parameters</title>
				<list>
					<li>The XSLidy XSLT can be controlled with parameters</li>
					<list>
						<li>how parameters are passed to the XSLT processor depends on the processor</li>
						<li>XSLT 2.0 does not define <a href="http://www.w3.org/TR/xslt20/#dt-stylesheet-parameter">how stylesheet parameters are being passed</a></li>
					</list>
					<li>Parameters can be used to control various aspects of XSLidy</li>
					<li>The following command line shows how Saxon accepts parameters</li>
				</list>
				<pre>java -jar saxon8.jar xslidy.xml xslidy.xsl presentation=intro,manual</pre>
			</slide>
			<slide>
				<title>Selecting Presentations</title>
				<ul>
					<li>The <param>presentation</param> parameter specifies which presentations to generate</li>
					<ul>
						<li>XSLidy structures every document into <link href="xslidy-structures">one or more presentations</link></li>
					</ul>
					<li>By default, XSLidy generates all presentations</li>
					<ul>
						<li>the default value of the presentation parameter is <q><code>*</code></q></li>
					</ul>
					<li>If required, only a subset of all presentations can be generated</li>
					<ul>
						<li>comma-separated list of <link href="presentation">presentation <attr>id</attr>s</link> such as <q><code>intro,manual</code></q></li>
					</ul>
					<li>Caution: Changes in one presentation may affect other presentations!</li>
					<ul>
						<li>if a presentation changes, links into it may have to be re-generated</li>
						<li>be careful when re-generating only a subset of all presentations</li>
					</ul>
				</ul>
				<pre>java -jar saxon8.jar xslidy.xml xslidy.xsl presentation=intro,manual</pre>
			</slide>
			<slide id="presentation-param">
				<title>XSLidy Processing Messages</title>
				<ul>
					<li>The <param>messages</param> parameter controls processing messages</li>
					<ul>
						<li><q><code>error</code></q> is the default and suppresses warning messages</li>
						<li><q><code>warning</code></q> selects that warnings should be printed, too</li>
					</ul>
				</ul>
				<pre>java -jar saxon8.jar xslidy.xml xslidy.xsl messages=warning</pre>
			</slide>
			<slide id="notes-param">
				<title>Processing Slide Notes</title>
				<ul>
					<li>The <param>notes</param> parameter controls <link href="note"/></li>
					<ul>
						<li><q><code>include</code></q> is the default and includes all <link href="note"/></li>
						<li><q><code>remove</code></q> removes <link href="note"/> from generated Slidy files</li>
					</ul>
					<li><link href="note"/> by default are included in generated Slidy files</li>
					<ul>
						<li>they can always be revealed by using <key>n</key></li>
						<li>confidential or personal notes therefore should be removed when generating Slidy files</li>
					</ul>
				</ul>
				<pre>java -jar saxon8.jar xslidy.xml xslidy.xsl notes=remove</pre>
			</slide>
		</part>
		<part id="xslidy-elements">
			<title short="Elements">XSLidy Elements</title>
			<slide>
				<title>How XSLidy Elements Work</title>
				<ul>
					<li>XSLidy picks up XSLidy elements during processing</li>
					<ul>
						<li>they are transformed to XHTML elements</li>
						<li>the output of XSLidy does not contain any XSLidy elements</li>
					</ul>
					<li>XSLidy elements can broadly be classified into two categories</li>
					<ol>
						<li>elements which are representing special XSLidy structures</li>
						<li>elements which serve as shortcuts to more cumbersome XHTML code</li>
					</ol>
				</ul>
			</slide>
			<slide id="element-overview">
				<title>Element Overview</title>
				<table border="1" cellpadding="20">
					<tr>
						<th align="right" valign="middle"><link href="presentation-structures"/></th>
						<td><elem>xslidy</elem>, <elem>presentation</elem>, <elem>part</elem>, <elem>slide</elem>, <elem>note</elem></td>
					</tr>
					<tr>
						<th align="right" valign="middle"><link href="title-information"/></th>
						<td><elem>title</elem>, <elem>author</elem>, <elem>affiliation</elem>, <elem>date</elem>, <elem>copyright</elem>, <elem>location</elem>, <elem>occasion</elem></td>
					</tr>
					<tr>
						<th align="right" valign="middle"><link href="toc"/></th>
						<td><elem>toc</elem>, <elem>slides</elem>, <elem>for-each-presentation</elem>, <elem>presentation-link</elem></td>
					</tr>
					<tr>
						<th align="right" valign="middle"><link href="index"/></th>
						<td><elem>index</elem>, <elem>category</elem></td>
					</tr>
					<tr>
						<th align="right" valign="middle"><link href="xhtml-helpers"/></th>
						<td><elem>list</elem> (<elem>ul</elem>/<elem>ol</elem>), <elem>image</elem></td>
					</tr>
					<tr>
						<th align="right" valign="middle"><link href="manual-misc"/></th>
						<td><elem>listing</elem>, <elem>counter</elem>, <elem>link</elem>, <elem>layout</elem></td>
					</tr>
				</table>
			</slide>
			<slide id="xml-lang">
				<title short="Languages">Specifying the Content Language</title>
				<ul>
					<li>…</li>
					<ul>
						<li><elem>xslidy</elem>, <elem>presentation</elem>, <elem>part</elem>, and <elem>slide</elem> may carry <attr>xml:lang</attr> information</li>
					</ul>
				</ul>
			</slide>
			<part id="presentation-structures">
				<title short="Structures">Presentation Structures</title>
				<slide id="xslidy-structures">
					<title>Presentations, Parts,  and Slides</title>
					<list>
						<li>Each XSLidy document contains one or more <link href="presentation"/></li>
						<list>
							<li>usually a lecture or one block of a course</li>
						</list>
						<li>Each presentation contains a sequence of <link href="part"/> and/or <link href="slide"/></li>
						<list>
							<li>parts are optional, but are useful to structure the presentation</li>
							<li><link href="outlines"/> are generated for all parts</li>
						</list>
						<li>Each slide is processed and yields one Slidy slide</li>
						<li><link href="presentation"/> and <link href="part"/> carry <link href="title-information"/></li>
						<li><link href="toc">Tables of Contents</link> can be created listing all presentations</li>
						<list>
							<li>these are created as individual files and can be included or further processed</li>
						</list>
					</list>
				</slide>
				<slide id="presentation">
					<title>Presentations</title>
					<ul>
						<li>Each presentation will become an individual Slidy XHTML document</li>
						<ul>
							<li>presentations may be <link href="links">interlinked with other presentations</link></li>
						</ul>
						<li>Presentations will be written to XHTML files</li>
						<ul>
							<li>the file extension will be set as defined by <link href="file-extensions"><pi>extension-file</pi></link></li>
							<li>if a <attr>name</attr> attribute is set, it will be used as the file name</li>
							<li>if an <attr>id</attr> attribute is set (but no <attr>name</attr> attribute), it will be used as the file name</li>
							<li>if neither a <attr>name</attr> nor an <attr>id</attr> attribute is set, a file name will be generated</li>
						</ul>
						<li>An <attr>id</attr> attribute can be used for <link href="links"/></li>
						<li>A presentation cover slide is generated if there is a <attr>cover</attr> attribute</li>
						<ul>
							<li>there must be a <link href="styles">presentation style</link> with this name</li>
							<li>this means either a <elem>layout</elem> element or a CSS class</li>
						</ul>
						<li>Each presentation is described by <link href="title-information"/></li>
						<li>The contents of a presentation are <link href="part"/> and/or <link href="slide"/></li>
					</ul>
				</slide>
				<slide id="external-presentation">
					<title>External Presentations</title>
					<ul>
						<li>Some presentations may be delivered without the help of XSLidy</li>
						<ul>
							<li>these presentations should also be part of the <link href="toc">Table of Contents</link></li>
							<li>for these presentations, the <link href="title-information"/> can be included in XSLidy</li>
						</ul>
						<li><attr>external</attr> specifies the URI of the presentation material</li>
						<ul>
							<li>it must be specified on the <elem>presentation</elem> element</li>
							<li><attr>external</attr> <elem>presentation</elem>s may not contain content (i.e., <link href="part"/> and/or <link href="slide"/>)</li>
							<li>the <attr>external</attr> URI will be used as the (unprefixed!) <elem>presentation-link</elem> in the <link href="toc">Table of Contents</link></li>
						</ul>
						<li>It is possible to <link href="links">link to external presentations</link></li>
						<ul>
							<li>the <elem>link</elem> will point to the <attr>external</attr> attribute's URI</li>
						</ul>
					</ul>
				</slide>
				<slide id="part">
					<title>Parts</title>
					<list>
						<li>A part groups related <link href="slide"/> and/or parts</li>
						<li>Parts can be nested as deeply as required</li>
						<list>
							<li>However, only two levels are supported when generating <link href="outlines"/></li>
						</list>
						<li>An <attr>id</attr> attribute can be used for <link href="links"/></li>
						<li>Each part can be described by <link href="title-information"/></li>
					</list>
				</slide>
				<slide id="outlines">
					<title>Outline Slides</title>
					<list>
						<li>…</li>
						<li><link href="outline-control"/></li>
						<list>
							<li>…</li>
						</list>
					</list>
				</slide>
				<slide id="slide">
					<title>Slides</title>
					<list>
						<li>Slides are parts of <link href="part"/> or <link href="presentation"/></li>
						<li>Each slide is processed and yields one Slidy slide</li>
						<list>
							<li><link href="slide"/> look very much like Slidy slides</li>
							<li>but they have an explicit <link href="title"><elem>title</elem></link></li>
							<li>they may contain special XSLidy elements</li>
						</list>
					</list>
				</slide>
				<slide id="note">
					<title short="Notes">Slide Notes</title>
					<list>
						<li>Slides may contain notes which are not intended for presentation</li>
						<list>
							<li><elem>note</elem> is used to mark up slide notes (they are formatted as a block)</li>
							<li>notes contain additional information about a slide's content</li>
							<li>they are particularly useful when <link href="printing"/></li>
						</list>
						<li>Notes can be revealed and hidden by pressing the <key>n</key> key</li>
						<list>
							<li>usually, they are not revealed during presentations</li>
							<li>when printing, <key>a</key> and <key>n</key> show all slides and reveal their notes</li>
							<li>for printing without notes, just do <key>a</key> without <key>n</key></li>
						</list>
						<li>Notes can be removed when <link href="notes-param"/></li>
						<list>
							<li>public notes can be made public (and used for printing)</li>
							<li>private notes should be removed from the Slidy files</li>
							<li>the <link href="notes-param"><param>notes</param> parameter</link> controls how to handle notes</li>
						</list>
					</list>
					<note>
						<ul>
							<li>This is a note demonstrating the note element</li>
							<li><elem>note</elem> formatting can be changed if required</li>
							<ul>
								<li>the default is defined in <a href="xslidy.css"><code>xslidy.css</code></a></li>
								<li>it can be overridden by layout-specific stylesheets</li>
							</ul>
						</ul>
					</note>
				</slide>
				<slide id="css-script">
					<title>Additional Styles or Scripts</title>
					<list>
						<li>It may be necessary to use additional styles and/or scripts</li>
						<list>
							<li>first check whether they should not be part of the layout</li>
						</list>
						<li>XSLidy supports styles/scripts for all or single presentations</li>
						<li><elem>style</elem> and <elem>script</elem> can be used as in XHTML</li>
						<list>
							<li><elem>style</elem> may even have a <attr>src</attr> attribute (then the element is mapped to XHTML's <elem>link</elem>)</li>
						</list>
						<li>Both elements may appear within <elem>xslidy</elem> or <elem>presentation</elem> elements</li>
						<list>
							<li>each generated Slidy presentation contains the <elem>xslidy</elem> and the <elem>presentation</elem> styles/scripts</li>
						</list>
					</list>
				</slide>
			</part>
			<part id="title-information">
				<title short="Titles">Title Information</title>
				<slide id="title">
					<title>Title Information Elements</title>
				<table border="1">
					<tr>
						<th><elem>title</elem></th>
						<td>The title, e.g. <q><title/></q></td>
					</tr>
					<tr>
						<th><elem>author</elem></th>
						<td>The author, e.g. <q><author/></q></td>
					</tr>
					<tr>
						<th><elem>affiliation</elem></th>
						<td>The author's affiliation, e.g. <q><affiliation/></q></td>
					</tr>
					<tr>
						<th><elem>date</elem></th>
						<td>The date of the presentation, e.g. <q><date/></q></td>
					</tr>
					<tr>
						<th><elem>copyright</elem></th>
						<td>The copyright notice of the presentation, e.g. <q><copyright/></q> (if none is given, the default is the <elem>date</elem> followed by the <elem>author</elem>)</td>
					</tr>
					<tr>
						<th><elem>location</elem></th>
						<td>The location where the presentation is being held, e.g. a city or institution</td>
					</tr>
					<tr>
						<th><elem>occasion</elem></th>
						<td>The occasion of the presentation, e.g. a conference, course or lecture</td>
					</tr>
				</table>
				</slide>
				<slide id="using-title">
					<title>Using Title Information on Slides</title>
					<list>
						<li>Cover slides (and maybe others) may want to reference title information</li>
						<li>An empty element on a slide produces the most recent definition</li>
						<list>
							<li><code>&lt;title/></code> : <title/></li>
							<li><code>&lt;author/></code> : <author/></li>
							<li><code>&lt;affiliation/></code> : <affiliation/></li>
							<li><code>&lt;date/></code> : <date/></li>
							<li><code>&lt;occasion/></code> : <occasion/></li>
						</list>
						<li>If there is not title information, the result is an empty string</li>
					</list>
<pre><![CDATA[<li><code>&lt;title/></code> : <title/></li>
<li><code>&lt;author/></code> : <author/></li>
<li><code>&lt;affiliation/></code> : <affiliation/></li>
<li><code>&lt;date/></code> : <date/></li>
<li><code>&lt;occasion/></code> : <occasion/></li>]]></pre>
				</slide>
				<slide id="title-levels">
					<title>Getting Title Information from Specific Levels</title>
					<list>
						<li>Title information from different levels may be interesting</li>
						<list>
							<li>e.g., displaying the XSLidy and the presentation title on a cover slide</li>
						</list>
						<li>Using <attr>level</attr> it is possible get specific levels</li>
						<list>
							<li><code>&lt;title level="xslidy"/></code> : <q><title level="xslidy"/></q></li>
							<li><code>&lt;title level="presentation"/></code> : <q><title level="presentation"/></q> (default for cover slides and the <link href="toc">ToC</link>)</li>
							<li><code>&lt;title level="part"/></code> : <q><title level="part"/></q></li>
							<li><code>&lt;title level="slide"/></code> : <q><title/></q> (default for non-cover slides)</li>
							<li>if there is no such information, the fallback is the next higher definition</li>
						</list>
					</list>
<pre><![CDATA[<li><code>&lt;title level="xslidy"/></code> : <q><title level="xslidy"/></q></li>
<li><code>&lt;title level="presentation"/></code> : <q><title level="presentation"/></q> (default for cover slides and the <link href="toc">ToC</link>)</li>
<li><code>&lt;title level="part"/></code> : <q><title level="part"/></q></li>
<li><code>&lt;title level="slide"/></code> : <q><title/></q> (default for non-cover slides)</li>]]></pre>
				</slide>
				<slide id="title-forms">
					<title>Getting Different Forms of Title Information</title>
					<list>
						<li>Title information may use mixed content and short forms</li>
						<li>Depending on the context, different forms of title information may be required</li>
						<li>Using <attr>form</attr> it is possible to get specific forms of title information</li>
						<list>
							<li><code>&lt;affiliation form="full"/></code> : <affiliation/> (default)</li>
							<li><code>&lt;affiliation form="text"/></code> : <affiliation form="text"/> (only the textual content)</li>
							<li><code>&lt;affiliation form="short"/></code> : <affiliation form="short"/> (the short value)</li>
						</list>
					</list>
<pre><![CDATA[<li><code>&lt;affiliation form="full"/></code> : <affiliation/> (default)</li>
<li><code>&lt;affiliation form="text"/></code> : <affiliation form="text"/> (only the textual content)</li>
<li><code>&lt;affiliation form="short"/></code> : <affiliation form="short"/> (the short value)</li>]]></pre>
				</slide>
			</part>
			<part id="toc">
				<title short="ToC">Generating Tables of Contents</title>
				<slide>
					<title>Generating ToC Files</title>
					<ul>
						<li>XSLidy documents usually contain more than one presentation</li>
						<li>Providing an ToC over all presentations can be automated</li>
						<li>The exact format of the ToC is hard to predict</li>
						<ul>
							<li>it may be a complete Web page</li>
							<li>it may be an HTML snippet to be included on some Web page</li>
							<li>it may be XML which is intended for further processing</li>
							<li>or it maybe that all of the above are required!</li>
						</ul>
						<li>Each <elem>toc</elem> contains a template for a ToC</li>
						<ul>
							<li><attr>id</attr> identifies the ToC format for <link href="toc-specific"/></li>
							<li><attr>name</attr> specifies the name of the generated ToC file</li>
						</ul>
					</ul>
				</slide>
				<slide id="toc-format">
					<title>Specifying the ToC Format</title>
					<ul>
						<li>The <elem>toc</elem> template may contain any markup</li>
						<ul>
							<li>elements in the XSLidy namespace will be transformed to XHTML elements</li>
						</ul>
						<li><elem>for-each-presentation</elem> contains markup which is repeated for each presentation</li>
						<li>within <elem>for-each-presentation</elem>, the following elements are recognized</li>
						<ul>
							<li>all <link href="title"/> can be used as usual (generating presentation-level content)</li>
							<li><elem>slides</elem> is expanded to the number of slides in the presentation (replacing an asterisk in its content with the actual number)</li>
							<li><elem>presentation-link</elem> is used to generate <link href="toc-links"/></li>
							<li><elem>slides</elem> and <elem>presentation-link</elem> are ignored for empty or external presentations</li>
						</ul>
					</ul>
				<a class="" href="..">
					<pre><![CDATA[<toc id="html-toc" name="toc.html">
 <table>
  <for-each-presentation>
   <tr>
    <th><presentation-link><title/></presentation-link><br/><slides>(* Slides)</slides></th>
    <td><toc/></td>
   </tr>   
  </for-each-presentation>
 </table> 
</toc>]]></pre>
				</a>
				</slide>
				<slide id="toc-links">
					<title>ToC-Links to Presentations</title>
					<ul>
						<li><elem>presentation-link</elem></li>
						<li><attr>element</attr></li>
						<li><attr>attribute</attr></li>
						<li><attr>prefix</attr></li>
					</ul>
				</slide>
				<slide id="toc-specific">
					<title>Adding Presentation-Specific Information</title>
					<ul>
						<li><elem>toc</elem> can also be used inside <elem>presentation</elem></li>
						<ul>
							<li><attr>id</attr> then specifies the <elem>toc</elem> where these contents should be included</li>
						</ul>
					</ul>
				<pre><![CDATA[… example from xml-fall06.xml …]]></pre>
				</slide>
				<slide id="conditional-toc">
					<title>Conditional ToC Information</title>
					<ul>
						<li>It may be necessary to generate ToC markup selectively</li>
						<ul>
							<li>some <link href="toc-specific">presentation-specific information</link> may only occur for some presentations</li>
							<li>it may be necessary to only generate markup when this information is present</li>
						</ul>
						<li><elem>if-toc</elem> tests whether a certain <elem>toc</elem> is present</li>
						<ul>
							<li><attr>id</attr> specifies to which <elem>toc</elem> the test applies</li>
							<li><elem>if-toc</elem>'s content is only generated if the toc is present</li>
							<li><elem>if-toc</elem> makes most sense inside <elem>for-each-presentation</elem></li>
							<li>most likely, a <elem>toc</elem> will appear as part of <elem>if-toc</elem>'s content</li>
						</ul>
						<li>The following code tests for <code>&lt;toc id="abstract"/></code></li>
					</ul>
				<pre><![CDATA[<if-toc id="abstract">
 <sylvia:description><toc id="abstract"/></sylvia:description>
</if-toc>]]></pre>
				</slide>
			</part>
			<part id="index">
				<title short="Index">Generating Indexes</title>
				<slide>
					<title>Information about keywords in presentations</title>
					<ul>
						<li><elem>index</elem></li>
						<li><elem>category</elem></li>
					</ul>
				</slide>
			</part>
			<part id="xhtml-helpers">
				<title>XHTML Helpers</title>
				<slide>
					<title>HTML is Great, but…</title>
					<list>
						<li>Not all XHTML elements are easy to use</li>
						<li>XSLidy can provide shortcuts</li>
						<list>
							<li>these can be used if they seem to be useful</li>
							<li>they can be ignored and the XHTML can be entered directly</li>
							<li>new ones can be implemented in <link href="extensions"/></li>
						</list>
					</list>
				</slide>
				<slide id="lists">
					<title>Making Lists</title>
					<list>
						<li>HTML lists are a sequence of one or more <elem>li</elem> elements</li>
						<list>
							<li>nested lists must appear within <elem>li</elem> elements</li>
						</list>
					</list>
				</slide>
				<slide id="img-prefix">
					<title>Organizing Images</title>
					<list>
						<li><pi>img-prefix</pi> processing instruction</li>
					</list>
				</slide>
				<slide id="listings">
					<title>Including Text Files</title>
					<list>
						<li>HTML supports <em>transclusion</em> only for images</li>
						<li>Using <elem>listing</elem>, you can transclude content from text files</li>
						<list>
							<li>by default, a link to the included file will be generated</li>
						</list>
						<li><attr>line</attr></li>
						<list>
							<li>…</li>
						</list>
						<li><attr>href</attr></li>
						<list>
							<li>if <attr>href</attr> is set to the empty string, no link will be generated</li>
							<li>if <attr>href</attr> is set to anything else, a link to this URI will be generated</li>
						</list>
						<li><attr>tab</attr></li>
						<list>
							<li><code>replace</code></li>
							<li><code>retain</code></li>
						</list>
						<li><attr>title</attr></li>
						<list>
							<li>…</li>
						</list>
					</list>
				</slide>
			</part>
			<part id="manual-misc">
				<title>Miscellaneous</title>
				<slide id="links">
					<title>Linking within XSLidy</title>
					<ul>
						<li><elem>link</elem></li>
						<li><attr>class</attr> <attr>style</attr></li>
						<li><link href="outlink-mark"/></li>
						<li><link href="outlink-style"/></li>
					</ul>
				</slide>
				<slide id="href-everywhere">
					<title><attr>href</attr> Everywhere</title>
					<ul>
						<li>XSLidy supports <attr>href</attr> on all elements</li>
						<ul>
							<li>this means every element can be turned into a link</li>
							<li>the same approach is featured in <a href="http://www.w3.org/TR/xhtml2/mod-hyperAttributes.html#adef_hyperAttributes_href">XHTML 2.0</a></li>
						</ul>
						<li>If an element carries an <attr>href</attr> attribute, it is a hyperlink</li>
						<ul>
							<li>XSLidy will wrap such an element in an <elem>a</elem> element</li>
							<li>if there is a <attr>title</attr> attribute, it will also be moved to the <elem>a</elem> element</li>
							<li>the original element becomes a child of the generated <elem>a</elem> element</li>
						</ul>
						<li>A more compact solution for frequently used link anchors</li>
						<ul>
							<li><elem>img</elem> frequently also acts as a link</li>
							<li>using <elem>img src="…" href="…"/</elem> is easier to type and understand</li>
						</ul>
						<li>Generated links can be styled depending on their content</li>
						<ul>
							<li>they will be assigned a class which has the name of their child element</li>
							<li>for example, <elem>a href="…" class="img"</elem> is generated for <elem>img</elem> links</li>
							<li><css>a.img { … }</css> CSS code can then use this class for specialized styling</li>
						</ul>
					</ul>
				</slide>
				<slide id="resource-links">
					<title>Presentation Links</title>
					<ul>
						<li>HTML supports <a href="http://www.w3.org/TR/html4/struct/links.html#edef-LINK">document relationships</a> (part of the document head)</li>
						<ul>
							<li>a very useful feature for better navigable sites (standardized site navigation)</li>
							<li>poorly supported by today's browsers (only Opera provides native support)</li>
							<li>Firefox's <a href="https://addons.mozilla.org/firefox/1324/">cmSiteNavigation extension</a> provides support in Firefox</li>
						</ul>
						<li>XSLidy automatically inserts links between presentations</li>
						<ul>
							<li><code>next</code> and <code>prev</code> to navigate through presentations</li>
							<li><code>start</code> and <code>last</code> to navigate to the first and last presentation</li>
							<li>for all these links, the presentation titles are added as link descriptions</li>
						</ul>
						<li>Additional links can be configured and are then added to all presentations</li>
						<ul>
							<li><pi>link-author</pi> is a link to a resource about the author</li>
							<li><pi>link-contents</pi> is a link to the table of contents</li>
							<li><pi>link-glossary</pi> is a link to a glossary</li>
							<li><pi>link-home</pi> is a link to the home page</li>
						</ul>
					</ul>
				</slide>
				<slide id="counters">
					<title>Counters</title>
					<list>
						<li>Using a <elem>counter</elem>, you can count anything you like</li>
						<list>
							<li>a counter has a <attr>name</attr> for grouping items being counted: <code>&lt;counter name="tables" …</code></li>
							<li>a counter has an <attr>id</attr> for identifying one of these items: <code>&lt;counter name="tables" id="elements" …</code></li>
						</list>
						<li>The title of the counted thing should be the <elem>counter</elem>'s content</li>
						<list>
							<li>this makes it possible to use titles for lists and links</li>
							<li>the title as content outputs counter and title, separated by <pi>counter-separator</pi>: <q><counter name="example" id="counterexample">Example</counter></q></li>
							<li>the <attr>title</attr> attribute only outputs the number: <q><counter name="example" id="anothercounterexample" title="Another Example"/></q> (the <attr>title</attr> attribute is set as tool tip, though)</li>
						</list>
						<li>Counters are reset at the beginning of each presentation</li>
						<list>
							<li>the number format is defined by <pi>counter-format</pi> (<code>full</code> or <code>short</code>)</li>
							<li><code>full</code> yields <q><counter name="example" ref="counterexample" form="full"/></q>, <code>short</code> yields <q><counter name="example" ref="counterexample" form="short"/></q></li>
							<li>this global setting may be overwritten by using the <attr>form</attr> attribute on the <elem>counter</elem></li>
						</list>
						<li>References to the counter use a <attr>ref</attr> attribute</li>
						<list>
							<li><code>&lt;counter name="tables" ref="elements" …</code> generates the table's number</li>
							<li>the number is a link to the referenced item, its title is set as tool tip</li>
						</list>
					</list>
				</slide>
				<slide id="styles">
					<title>Presentation Styles</title>
					<ul>
						<li><elem>layout</elem></li>
						<li>CSS</li>
					</ul>
				</slide>
			</part>
		</part>
		<part>
			<title short="Processing Instructions">XSLidy Processing Instructions</title>
			<slide>
				<title>How XSLidy Processing Instructions Work</title>
			</slide>
			<slide id="file-extensions">
				<title>File and Link Extensions</title>
				<list>
					<li>XSLidy generates files and within these links to generated files</li>
					<list>
						<li>generated files are Slidy XHTML presentations</li>
						<li><link href="links">links</link> may point to other slides or presentations</li>
					</list>
					<li><pi>extension-file</pi> controls the file name extension of the generated files</li>
					<list>
						<li>the default of <q><code>html</code></q> is useful in most cases</li>
						<li>the separator dot does not have to be included</li>
					</list>
					<li>
						<pi>extension-link</pi> controls the file name extension of the links</li>
					<list>
						<li>the default of <q><code>html</code></q> is useful for file-based testing</li>
						<li>the separator dot does not have to be included</li>
						<li>for publication on <a href="http://www.w3.org/Provider/Style/URI#remove" title="Cool URIs don't change">decent Web Servers</a> use the empty string</li>
					</list>
				</list>
			</slide>
			<slide>
				<title>Slidy Files</title>
				<list>
					<li>XSLidy is designed to produce Slidy presentations</li>
					<li><pi>slidy-prefix</pi></li>
				</list>
			</slide>
			<slide>
				<title>XSLidy Files</title>
				<list>
					<li>XSLidy presentations require additional resources</li>
					<li><pi>xslidy-prefix</pi></li>
				</list>
			</slide>
			<slide id="outlink-mark">
				<title><pi>outlink-mark</pi></title>
				<list>
					<li>Outlinks are links leaving the current presentation (i.e., the current Slidy XHTML page)</li>
					<li>This may happen in two cases:</li>
					<list type="ol">
						<li>normal HTML links (<code>&lt;a></code>) within XSLidy files</li>
						<li><link href="links">cross-presentation links</link> generated by XSLidy</li>
					</list>
					<li><pi>outlink-mark</pi> controls whether outlinks should be marked</li>
					<list>
						<li><code>no</code>: no outlink marking</li>
						<li><code>link</code>: only mark outlinks made by <link href="links"/></li>
						<li><code>a</code>: only mark HTML outlinks (made with <elem>a</elem>)</li>
						<li><code>all</code>: mark all outlinks</li>
					</list>
				</list>
			</slide>
			<slide id="outlink-style">
				<title><pi>outlink-style</pi></title>
				<list>
					<li><pi>outlink-style</pi> controls how outlinks should be marked</li>
					<list>
						<li>the style only applies to outlinks selected by <pi>outlink-mark</pi></li>
					</list>
					<li><pi>outlink-style</pi> can use a text style of the form <q><code>→ *</code></q> (the default)</li>
					<list>
						<li>a text style is only applied if there are text nodes inside the link</li>
						<li>the <q><code>*</code></q> is replaced with the link's content</li>
						<li>the text before and after the <q><code>*</code></q> is inserted before and after this content</li>
					</list>
					<li><pi>outlink-style</pi> can use a class style of the form <q><code>class(outlink)</code></q></li>
					<list>
						<li>a class style is only applied if the link does not have a <attr>class</attr> attribute</li>
						<li>the contents are set as the link's <attr>class</attr> attribute</li>
						<li>there should be CSS code defining the formatting for the specified class</li>
					</list>
				</list>
			</slide>
			<slide id="outline-control">
				<title short="Outlines">Controlling Outline Slides</title>
				<list>
					<li>Outline slides are automatically created for each part</li>
					<list>
						<li>down to the second level, other parts are ignored in the outline</li>
						<li>but they may still be useful as containers and structuring aid</li>
						<li><code>&lt;part outline="no"></code> suppresses outline slides (default is <code>"yes"</code>)</li>
					</list>
					<li>The <pi>outline-title</pi> is used as the title of these slides</li>
					<list>
						<li>each outline slide will have this title (<q>Presentation Outline</q> by default)</li>
					</list>
					<li>The <pi>outline-class</pi> is set as the Slidy layout class for each outline slide</li>
					<list>
						<li>it is easy to create a custom layout for outline slides</li>
						<li>each outline slide is marked as being of class <pi>outline</pi> by default</li>
					</list>
					<li>The <pi>outline-current</pi> CSS class is used for formatting the current part</li>
					<list>
						<li>XSLidy layouts should define this class (as shown in the <link href="xslidy-example"/>)</li>
					</list>
				</list>
			</slide>
			<slide id="part-count-control">
				<title>Counting Slides on Outline Slides</title>
				<list>
					<li>Outline slides may contain the slide count for each listed part</li>
					<list>
						<li>counting can be controlled on a per-level basis</li>
						<li><pi>part-slide-count</pi> is set to <q>1</q> per default (only include counts in topmost parts)</li>
						<li>setting <pi>part-slide-count</pi> to <q>all</q> enables counting for all parts</li>
					</list>
					<li>The generated text can be controlled by using <pi>part-slide-text</pi></li>
					<list>
						<li>the default <q> (* Slides)</q> generates texts like <q><title level="part"/> (14 Slides)</q></li>
						<li>the text can be set to anything, the <q>*</q> will be replaced by the actual number</li>
					</list>
				</list>
			</slide>
			<slide>
				<title>
					<code>style-uri</code>
				</title>
			</slide>
		</part>
		<part id="printing">
			<title>Printing XSLidy Presentations</title>
			<slide id="printing-slidy">
				<title>Printing in Slidy</title>
			</slide>
			<slide id="printing-xslidy">
				<title>Improvements in XSLidy</title>
			</slide>
		</part>
	</presentation>
	<presentation id="download" cover="slidycover">
		<title short="Download">XSLidy Download and Releases</title>
		<toc id="html-toc">This is the download and release information which is also written in XSLidy. Here you can get an overview of XSLidy releases and download the latest version.</toc>
			<slide id="latest">
				<title>Latest XSLidy Release</title>
				<list>
					<li>Always available from <a href="http://dret.net/projects/xslidy/latest">http://dret.net/projects/xslidy/latest</a></li>
					<li>Current release: <link href="v0.5"/></li>
				</list>
			</slide>
		<slide id="feedback">
			<title>Your Feedback is Welcome!</title>
			<list>
				<li>Send bug reports to <code><a href="mailto:xslidy-bug@dret.net">xslidy-bug@dret.net</a></code></li>
				<li>Send feature requests to <code><a href="mailto:xslidy-feature@dret.net">xslidy-feature@dret.net</a></code></li>
				<li>If you like XSLidy, please tell others!</li>
			</list>
		</slide>
		<part id="releases" outline="no">
			<title>Releases</title>
			<slide id="v0.5">
				<title>XSLidy 0.5: First <q>Official</q> XSLidy Release</title>
				<list>
					<li>Available from <a href="http://dret.net/projects/xslidy/0.5">http://dret.net/projects/xslidy/0.5</a></li>
					<li>You are currently reading <a href="http://dret.net/projects/xslidy/0.5/xslidy.xml">the documentation</a></li>
					<li>The core files for using XSLidy are the following files:</li>
					<list>
						<li><code><a href="http://dret.net/projects/xslidy/0.5/xslidy.xsl">xslidy.xsl</a></code> : the XSLT stylesheet implementing XSLidy</li>
						<li><code><a href="http://dret.net/projects/xslidy/0.5/xslidy.xsd">xslidy.xsd</a></code> : the XML Schema defining XSLidy</li>
					</list>
					<li>All files can be obtained as <code><a href="http://dret.net/projects/xslidy/0.5/xslidy.zip">xslidy.zip</a></code></li>
					<list>
						<li>the ZIP contains all sources, the generated files, and a complete version of Slidy</li>
						<li>you might want to get <a href="http://www.w3.org/Talks/Tools/Slidy/slidy.zip">the latest version of Slidy</a></li>
					</list>
				</list>
			</slide>
		</part>
		<part>
			<title>XSLidy Future Plans</title>
			<slide>
				<title>Possible Features</title>
				<list>
					<li>XSLidy is designed to be easily extensible</li>
					<list>
						<li>XSLT makes it easy to add new elements and their processing</li>
						<li>XSLidy supports features which are of general interest</li>
						<li>more specific functionality can be supported by <link href="extensions"/>
						</li>
					</list>
					<li>Features can be anything that can be implemented in XSLT</li>
					<list>
						<li>inclusion of external presentations/parts/slides (maybe just use <a href="http://www.w3.org/TR/xinclude/">XInclude</a>?)</li>
						<li>support of basic layouts such as two-column layouts</li>
					</list>
					<li><link href="feedback">Suggestions are welcome!</link></li>
				</list>
			</slide>
			<slide>
				<title short="README">XSLidy README</title>
				<listing src="README.txt"/>
			</slide>
		</part>
	</presentation>
	<presentation id="extensions" cover="slidycover">
		<title short="Extensions">XSLidy Extensions</title>
		<toc id="html-toc">XSLidy is designed to be extensible so that others can easily contribute and integrate their own tools for creating presentations. In this document, the extension mechanism is described, and links to known extensions are provided.</toc>
		<slide>
			<title>Motivation</title>
			<list>
				<li>XSLidy provides basic support for generating presentation sets</li>
				<li>XSLidy does not provide support for creating specific content</li>
			</list>
		</slide>
		<slide>
			<title>Writing Extensions</title>
			<list>
				<li>XSLT provides a built-in mechanism for reusing code</li>
			</list>
		</slide>
		<slide>
			<title>Moving Layouts from Slidy to XSLidy</title>
			<list>
				<li>Since XSLidy generated Slidy presentations, everything should work</li>
				<li>Some additional settings may yield better results</li>
				<list>
					<li>provide a layout <pi>outline-class</pi> for <link href="outline-control">outline slides</link></li>
					<li>handle the <code>outline-current</code> CSS class for <link href="outline-control">outline slides</link></li>
				</list>
			</list>
		</slide>
		<part>
			<title>Videos</title>
			<slide>
				<title>Videos and HTML</title>
			</slide>
		</part>
		<part>
			<title>LaTeX Formulas</title>
			<slide>
				<title>Formulas and HTML</title>
				<ul>
					<li><a href="http://dret.net/projects/xslidy/formulatex/">FormuLaTeX</a></li>
				</ul>
			</slide>
		</part>
	</presentation>
	<presentation id="tests" cover="slidycover">
		<toc id="html-toc">This is a very boring set of test slides. It has been created to test new Slidy layouts, and contains various combinations of HTML elements, so that new layout can be more easily tested.</toc>
		<title short="Tests">Slidy Test Slides</title>
		<part>
			<title>Nested Lists</title>
			<slide>
				<title>ul/ul/*l</title>
				<ul>
					<li>ul item level 1</li>
					<ul>
						<li>ul item level 2</li>
						<ul>
							<li>ul item level 3</li>
						</ul>
					</ul>
					<li>ul item level 1</li>
					<ul>
						<li>ul item level 2</li>
						<ol>
							<li>ol item level 3</li>
						</ol>
					</ul>
				</ul>
			</slide>
			<slide>
				<title>ul/ol/*l</title>
				<ul>
					<li>ul item level 1</li>
					<ol>
						<li>ol item level 2</li>
						<ul>
							<li>ul item level 3</li>
						</ul>
					</ol>
					<li>ul item level 1</li>
					<ol>
						<li>ol item level 2</li>
						<ol>
							<li>ol item level 3</li>
						</ol>
					</ol>
				</ul>
			</slide>
			<slide>
				<title>ol/ul/*l</title>
				<ol>
					<li>ol item level 1</li>
					<ul>
						<li>ul item level 2</li>
						<ul>
							<li>ul item level 3</li>
						</ul>
					</ul>
					<li>ol item level 1</li>
					<ul>
						<li>ul item level 2</li>
						<ol>
							<li>ol item level 3</li>
						</ol>
					</ul>
				</ol>
			</slide>
			<slide>
				<title>ol/ol/*l</title>
				<ol>
					<li>ol item level 1</li>
					<ol>
						<li>ol item level 2</li>
						<ul>
							<li>ul item level 3</li>
						</ul>
					</ol>
					<li>ol item level 1</li>
					<ol>
						<li>ol item level 2</li>
						<ol>
							<li>ol item level 3</li>
						</ol>
					</ol>
				</ol>
			</slide>
		</part>
	</presentation>
</xslidy>
