<?xml version="1.0" encoding="utf-8"?>

<xslt:stylesheet 	version="1.0"
			xmlns:xslt="http://www.w3.org/1999/XSL/Transform"
			xmlns:doc="http://www.linkwerk.com/namespaces/2005-02-03/xsltdoc/output/"
			xmlns:xsltdoc="http://www.linkwerk.com/namespaces/2005-02-03/xsltdoc/"
			xmlns="...html"
                >

        <!-- =============================================== -->
        <!-- The Root node                                 = -->
        <!-- =============================================== -->
	<!--                                                 -->
        <!-- Documentation                                   -->
        <!--                                                 -->
	<xsltdoc:containerstart xsltdoc:type="div">
		<xsltdoc:attribute xsltdoc:name="class" xsltdoc:value="chapter"/>
                <xsltdoc:attribute xsltdoc:name="style" 
			xsltdoc:value="border: solid thin red; padding: 2em; background: #e8e8e8; margin-bottom: 1ex;"/>
	</xsltdoc:containerstart>

		<doc:h2 doc:style="text-align: center">The Template for the Root-Node</doc:h2>
        	<doc:p>This template generates the basic XHTML elements, i.e. html, head, title, body.
			It places the contents of the source XML within the XHTML-body
			by applying the appropriate templates. </doc:p>

        <!--                                                 -->
        <!-- Template                                        -->
        <!--                                                 -->
		<xslt:template match="/">
			<html><head><title>Hello World XSLT</title></head>
			<body>
				<xslt:apply-templates/>
			</body>
			</html>
	    	</xslt:template>

        <xsltdoc:containerend xsltdoc:type="div">
		<!-- Note: This is an empty element! -->
	</xsltdoc:containerend>


        <!-- =============================================== -->
        <!-- Template without inline documentation         = -->
        <!-- =============================================== -->
        <xsltdoc:containerstart xsltdoc:type="div">
                <xsltdoc:attribute xsltdoc:name="style" xsltdoc:value="display:none"/>
        </xsltdoc:containerstart>

        <xslt:template match="someElement" xsltdoc:id="someElement-template">
		...
        </xslt:template>
        <xsltdoc:containerend xsltdoc:type="div">
                <!-- Note: This is an empty element! -->
        </xsltdoc:containerend>





	<!-- =============================================== -->
	<!-- Out-of-line documentation starts here         = -->
        <!-- =============================================== -->

        <xsltdoc:containerstart xsltdoc:type="div">
                <xsltdoc:attribute xsltdoc:name="style"
                        xsltdoc:value="border: solid thin red; padding: 2em; background: #e8e8e8; margin-bottom: 1ex;"/>
        </xsltdoc:containerstart>

		<doc:div doc:class="templatedoc">
		  <doc:h2>Template for someElement</doc:h2>
		  <doc:p>The processing of elements of type <doc:kbd>someElement</doc:kbd>
			is very sopisticated. Let us first take a look at the 
			template code:</doc:p>
		  <xsltdoc:displaySource xsltdoc:idref="someElement-template"/>
		  <doc:p>As you can see the key for understanding this complex
			template is the XPath expression in the match attribute.</doc:p>
		  <doc:p>Much more documentation of this highly fascinating template
			goes here...</doc:p>
		</doc:div>		

        <xsltdoc:containerend xsltdoc:type="div">
                <!-- Note: This is an empty element! -->
        </xsltdoc:containerend>

</xslt:stylesheet>
