<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" indent="yes"/>
	<xsl:strip-space elements="*"/>
	<xsl:template match="/">
		<geplättet>
			<xsl:for-each select="descendant::*">
				<xsl:variable name="plattname">
					<xsl:call-template name="sequencer">
						<xsl:with-param name="node" select="."/>
						<xsl:with-param name="name" select="local-name()"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:element name="{$plattname}"/>
			</xsl:for-each>
		</geplättet>
	</xsl:template>
	<xsl:template name="sequencer">
		<xsl:param name="node"/>
		<xsl:param name="name"/>
		<xsl:choose>
			<xsl:when test="count($node/ancestor::*) >= 1">
				<xsl:call-template name="sequencer">
					<xsl:with-param name="node" select="$node/.."/>
					<xsl:with-param name="name" select="concat(local-name($node/..),'-',$name)"/>
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$name"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
</xsl:stylesheet>

