<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
		version="1.0">
<xsl:output method='html'/>
<xsl:template match='/'>
	<html>
		<xsl:apply-templates mode="verzeichnis"/>
		<xsl:apply-templates mode="inhalt"/>
	</html>
</xsl:template>
<xsl:template match='abschnitt' mode='verzeichnis'>
	<xsl:param name='l' select="0"/>
	<xsl:param name='n'/>
	<xsl:variable name='n2' select="position()"/>
	<xsl:if test="$l = 0">
		<xsl:apply-templates select='ueberschrift' mode='verzeichnis'>
			<xsl:with-param name='l'>
				<xsl:value-of select="1 "/>
			</xsl:with-param>
		</xsl:apply-templates>
		<xsl:apply-templates select='abschnitt' mode='verzeichnis'>
			<xsl:with-param name='l'>
				<xsl:value-of select="1"/>
			</xsl:with-param>
		</xsl:apply-templates>
	</xsl:if>
	<xsl:if test="$l != 0">
		<xsl:variable name='n3' select="concat($n, concat('.', $n2))" />
		<xsl:apply-templates select='ueberschrift' mode='verzeichnis'>
			<xsl:with-param name='l'>
				<xsl:value-of select="$l"/>
			</xsl:with-param>
			<xsl:with-param name='n'>
				<xsl:value-of select="$n3" />
			</xsl:with-param>
		</xsl:apply-templates>
		<xsl:apply-templates select='abschnitt' mode='verzeichnis'>
			<xsl:with-param name='l'>
				<xsl:value-of select="$l +1 "/>
			</xsl:with-param>
			<xsl:with-param name='n'>
				<xsl:value-of select="$n3" />
			</xsl:with-param>
		</xsl:apply-templates>
	</xsl:if>
</xsl:template>
<xsl:template match='ueberschrift' mode='verzeichnis'>
	<xsl:param name='n' select="0"/>
	<xsl:param name='l' select="0"/>
	<xsl:if test="$l &lt; 4">
		<xsl:element name="{concat('h',$l)}">
			<xsl:value-of select="concat(substring($n, 2), ' ')" /> 
			<xsl:apply-templates />
		</xsl:element>
	</xsl:if>
</xsl:template>
<xsl:template match='abschnitt' mode='inhalt'>
	<xsl:param name='l' select="0"/>
	<xsl:param name='n'/>
	<xsl:variable name='n2' select="position()"/>
	<xsl:if test="$l = 0">
		<xsl:apply-templates select='ueberschrift' mode='inhalt'>
			<xsl:with-param name='l'>
				<xsl:value-of select="1 "/>
			</xsl:with-param>
		</xsl:apply-templates>
		<xsl:apply-templates select='abschnitt' mode='inhalt'>
			<xsl:with-param name='l'>
				<xsl:value-of select="1"/>
			</xsl:with-param>
		</xsl:apply-templates>
	</xsl:if>
	<xsl:if test="$l != 0">
		<xsl:variable name='n3' select="concat($n, concat('.', $n2))" />
		<xsl:apply-templates select='ueberschrift' mode='inhalt'>
			<xsl:with-param name='l'>
				<xsl:value-of select="$l"/>
			</xsl:with-param>
			<xsl:with-param name='n'>
				<xsl:value-of select="$n3" />
			</xsl:with-param>
		</xsl:apply-templates>
		<xsl:apply-templates select='abschnitt' mode='inhalt'>
			<xsl:with-param name='l'>
				<xsl:value-of select="$l +1 "/>
			</xsl:with-param>
			<xsl:with-param name='n'>
				<xsl:value-of select="$n3" />
			</xsl:with-param>
		</xsl:apply-templates>
	</xsl:if>
	<xsl:apply-templates select='*[name() != "abschnitt" and name() != "ueberschrift"]'/>
</xsl:template>
<xsl:template match='*'>
	<xsl:copy>
		<xsl:apply-templates />
	</xsl:copy>
</xsl:template>
<xsl:template match='wert'>
	<tr>
	<xsl:apply-templates />
	</tr>
</xsl:template>
<xsl:template match='abschnitt[wert]' mode='inhalt'>
	<table>
	<xsl:apply-templates />
	</table> 
</xsl:template>
<xsl:template match='code'>
	<td>
	<xsl:apply-templates />
	</td>
</xsl:template>
<xsl:template match='beschreibung'>
	<td>
	<xsl:apply-templates />
	</td>
</xsl:template>
<xsl:template match='ueberschrift' mode='inhalt'>
	<xsl:param name='n' select="0"/>
	<xsl:param name='l' select="0"/>
	<xsl:element name="{concat('h',$l)}">
		<xsl:value-of select="concat(substring($n, 2), ' ')" /> 
		<xsl:apply-templates />
	</xsl:element>
</xsl:template>
</xsl:stylesheet>

