<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="arbalo.xsl" type="text/xsl"?>
<html
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:a="http://sourceforge.net/projects/arbalo/"
>
	<head>
		<meta
			name="DC.Source"
			content="@(#) $DateTime: 2011/08/31 22:33:00 $ $Header: //depot/arcor/Arbalo/index.xml#2 $ $Change: 177 $" />
		<meta
			name="DC.Rights"
			content="© Jürgen Martin Regel, Hildesheim, 2007" />
		<a:default
			src="../de/index.xml" />
	</head>
	<body>
		<p>
			Although all modern browsers understand XSLT stylesheets
			<a:ref>
				<a
					href="http://www.w3.org/TR/xslt" />
				 W3C XSL Transformations (XSLT)
			</a:ref>
			, they are hardy ever used. This framework shall close the gap. Use it as a quarry to create your own XSLT stylesheets.
		</p>
		<h3>Motivation</h3>
		<ul>
			<li>
				<span>A good part of the navigation of a HTML page may be generated</span>
				 
				<em>statically</em>
				 from XHTML code. For this purpose XSLT is adequate. Everybody uses CSS stylesheets. Use XSLT stylesheets additionally which offer more possibilities to unify the style of your presentation.
			</li>
			<li>By relocating routine jobs from the server to the client, the server application is simplified and becomes dispensable in case of typical presentations.</li>
			<li>Disburden your javascript code from everything that can be done statically.</li>
			<li>HTML overcharged by navigation can neither be edited using a simple editor nor can information be extracted from it for the purpose of reuse (mash-up).</li>
		</ul>
		<h3>Features</h3>
		<ul>
			<li>
				The Arbalo framework supports
				<strong>presentations, essays and articles.</strong>
			</li>
			<li>
				It transforms source texts from
				<strong>XHTML</strong>
				to
				<strong>XHTML</strong>
				by the use of stylesheets in
				<strong>XSLT.</strong>
			</li>
			<li>
				It is supplemented by
				<strong>CSS</strong>
				style sheets.
			</li>
			<li>
				It
				<strong>enriches</strong>
				XHTML by automatically generated elements and attributes particularly for
				<strong>navigation.</strong>
			</li>
			<li>
				Thereby it
				<strong>simplifies</strong>
				the source text so that it is easier to read and can be edited using a simple editor, which should support XML. It can be transformed easier to other formats (e. g. to Wikipedia format).
			</li>
			<li>
				It supports
				<strong>directives</strong>
				 in the source document that control the framework (e. g.
				<strong>footnotes, inclusion</strong>
				<span>).</span>
			</li>
			<li>
				It frames the page by using HTML divisions
				<code>
					<![CDATA[<div>…</div>]]>
				</code>
				instead
				<code>
					<![CDATA[<frameset><frame>…]]>
				</code>
			</li>
			<li>
				<span>It supports some</span>
				<strong>microformats</strong>
				<a:ref>
					<a
						href="http://microformats.org/" />
					Microformats
				</a:ref>
				.
			</li>
			<li>It has a built-in reader for Atom feeds.</li>
			<li>
				<span>It renders the same source text either as a</span>
				<strong> presentation consisting of multiple pages</strong>
				or as an
				<strong>all-in-one document.</strong>
				.
			</li>
			<li>
				<span>It is applicable for authors having</span>
				<strong>different levels of XSLT skill</strong>
				. It may be used:
				<ul>
					<li>As it is, without need for programming XSLT.</li>
					<li>Using parameters: The XSLT style sheet is called with parameters, which in simple cases just switch properties on or off.</li>
					<li>Using inheritance: Parts of the given imported XSLT style sheet are overwritten by implementations of your own.</li>
					<li>It may inspire you to develop XSLT solutions of your own.</li>
				</ul>
			</li>
			<li>
				<span>Using the same source text, it allows</span>
				<ul>
					<li>
						<strong>Compilation:</strong>
						The XHTML sources
						<code>*.xml</code>
						are enriched by means of an XSLT processor like XALAN or SAXON and transformed to XHTML documents
						<code>*.html</code>
						the browser will render.
						<ul>
							<li>Good for debugging.</li>
							<li> Even deprecated browsers can render the result.</li>
						</ul>
					</li>
					<li>
						<strong>Interpretation:</strong>
						The XHTML source (*.xml) are transformed and rendered by the browser directly. (All modern browsers are able to do this.)
						<ul>
							<li> Every change is immediately effective without compilation.</li>
							<li> If the master document has been changed, the document files reflect the changes without the need for changing them, too.</li>
						</ul>
						<em> This manual is an example for interpretation.</em>
					</li>
				</ul>
			</li>
			<li> It is compatible with Javascipt and logic on the server.</li>
		</ul>
		<h3>Build your own XSLT stylesheet</h3>
		<h3>Examples</h3>
		<p>
			If this page is displayed as
			<a
				href="index.xml" />
			in the adress field of your browser, you are viewing an example of a presentation
			<em>interpreted</em>
			by the Arbalo framework. Click the right mouse button for seeing how much work it does for you!. If this page is displayed as
			<a
				href="index.html" />
			, however, you are viewing the
			<em>compiled</em>
			version. If you are looking into the source text you will find the generated sections, too.
		</p>
		<p>
			The reference application of this framework is available interpreted
			<a:ref>
				<span
					id="interpreted"
				>
					<a
						href="http://zocher-regel.gmxhome.de/ArbaloSchlacht/index.xml" />
					Reference application
					<cite>Battle at Arbalo</cite>
					, interpreted
				</span>
			</a:ref>
			as well as compiled
			<a:ref>
				<span
					id="compiled"
				>
					<a
						href="http://zocher-regel.gmxhome.de/ArbaloSchlacht/index.html" />
					Reference application
					<cite>Battle at Arbalo</cite>
					, compiled
				</span>
			</a:ref>
		</p>
		<p> Normally there is only one of both variants on the server, either the compiled or interpreted one.</p>
	</body>
</html>
