<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet	version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" 
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"  
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gaeb="http:&#47;&#47;www.gaeb.de&#47;GAEB_DA_XML&#47;DA89&#47;3.3"
xmlns:itcrafts="itcrafts"
exclude-result-prefixes="xs gaeb itcrafts">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	
	<!-- formatAmount funktion
		viele der nummern werden anhand des selben patterns formatiert
	-->
	<xsl:function name="itcrafts:formatAmount">
		<xsl:param name="number"/>
		<xsl:apply-templates select="$number" mode="format-amount"/>
	</xsl:function>
	<xsl:template match="*" mode="format-amount">
		<xsl:value-of select="format-number(., '0.######')"/>
	</xsl:template>
	
	
	<!-- default template
		falls ein element auf keine andere template zutrifft wird diese template es ohne namespaces kopieren
	-->
	<xsl:template match="*">
		<xsl:element name="{tokenize(name(), ':')[last()]}">
			<xsl:copy-of select="@*"/>
			<xsl:apply-templates/>
		</xsl:element>
	</xsl:template>
	
	<!-- date-102 template
		formatiert ein datum zu einem IssueDateTime element um
	-->
	<xsl:template match="*" mode="date-102">
		<udt:DateTimeString format="102">
			<xsl:value-of select="format-date(., '[Y0123][M01][D01]')"/>
		</udt:DateTimeString>
	</xsl:template>
	
	<!-- clean-text template
		entfernt leere zeilen von text
	-->
	<xsl:template match="*" mode="clean-text">
		<xsl:choose>
			<xsl:when test="count(*) > 0">
				<xsl:apply-templates select="*" mode="clean-text"/>
			</xsl:when>
			<xsl:when test="name() != 'span'">
				<xsl:value-of select="'&#10;'"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="."/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
</xsl:stylesheet>